- 生成式艺术和算法创作01-概述
- 生成式艺术和算法创作02-随机和噪声
- 生成式艺术和算法创作03-混沌和分形
- 生成式艺术和算法创作04-规则系统
- 生成式艺术和算法创作05-Tessellation
- 生成式艺术和算法创作06-形状语法
- 生成式艺术和算法创作07-向自然致敬的 L-system
- 生成式艺术和算法创作08-马尔可夫模型
- 生成式艺术和算法创作09-人工智能体
- 生成式艺术和算法创作10-响应式智能体和智能架构
- 生成式艺术和算法创作11-Boids, Flocks, Swarms
MAS
一个多智能体系统(Multi-agent system, MAS),是由在环境中交互的多个智能体组成的计算系统。
多智能体系统能解决分离的智能体以及单层系统难以解决的问题,可以由一些方法、函数、过程、搜索算法或强化学习来实现。
多智能体系统中的智能体,可以是软件、机器人,人类或人类团队。智能体可以分为从简单到复杂的类型:
- 被动智能体或无目标智能体(如简单模拟中的物体)
- 具有简单目标的智能体(如鸟群中的鸟)
- 认知主体(具有复杂的计算)
多智能体系统中的智能体具有几个重要特征:
- 自治:智能体至少部分独立、有自我意识
- 局部视角:没有智能体具有完整的全局视角,或者系统太复杂,智能体无法利用此类知识
- 权力下放:没有任何智能体被指定为控制中心(或系统被有效地简化为单一系统)
MAS 倾向于在没有干预的情况下,找到解决问题的最佳方案。这与物理现象高度相似,例如能量最小化,物理对象倾向于在物理受限的世界中达到可能的最低能量。例如:许多早上进入大都市的汽车将在晚上离开同一个大都市。该系统还倾向于防止故障传播,通过组件冗余实现自恢复和容错。
Multi-agent system 和 这个系列前面文章提到的Agent-based model 看似存在相当大的重叠,但是 MAS 并不等同于 ABM。ABM 的目标是寻找遵循简单规则的智能体集体行为的解释。ABM 常用于学术研究,而 MAS 常用于工程技术。
MAS 在现实世界中广泛应用于图形应用程序,例如计算机游戏、电影等。它们可以协调防御系统、运输、物流、图形和GIS。它也被广泛用于网络和移动技术,实现自动和动态负载平衡,高可扩展性和自我修复网络。
多智能体系统的架构可以分为三类:
自上而下的认知式
智能体设计:智能体架构,决策过程
关系设计:MAS 关系角色,约定和协议。集体目标拆分为个体目标,再细分为子目标,具体表达为意图(intentions),它通过行动的规划序列实现
自下而上的响应式
智能体设计:智能体的行为由行为规则引发的互动而产生
关系设计:系统行为产生于智能体和环境互动的结果
混合式
结合了认知式和响应式的结构
音乐中的多智能体架构
在层次结构的顶层,有两种类型的智能体(Cypher, Robert Rowe, 1992):
- 监听智能体:作为感知模块,接收输入数据并向玩家提供更高级别的信息,例如音乐系统中包括动态智能体,速度智能体,时长智能体,和声智能体等
- 玩家智能体:以不同方式产生输出
在顶层结构下的模块会包括:
- 感知模块:通常由音乐信息规则工具组成,从输入的音乐信息流中提取特征
- 学习和生成模块:处理感知模块传递的信息,负责作曲或即兴创作
- 解释模块
Porto actors with Eargram 是 Peter Beyls, Gilberto Bernardes, Marcelo Caetano 2015 的一个声音可视化作品。鼠标移动可以生成不同的声音,Actor model 则由智能体生成复杂的空间节奏,使声音产生实时变化。
{% vimeo 131455813 %}
1:34 Porto Actors with earGram on Vimeo
音乐智能体系统 OMax 可以实时学习音乐家风格的典型特征,并与他一起互动表演,赋予机器即兴创作的能力。它使用了 factor oracle 算法,它是一种跟马尔科夫链类似的模式匹配算法。
OMax 以几种不同的方式重新演绎了经历机器学习阶段的音乐材料,可以对材料智能重组和转换。
另外还有 Odessa,它是一个多层的复杂音乐智能体系统:
第一层:播放模块。默认情况下,智能体使用音高和速度以及节奏信息的帧间生成模块来生成乐曲并播放。
第二层:调适模块。 当检测到输入时它处于活动状态,分析音调和响度并将其传递给系统以自适应方式调制播放模块。
第三层:变化模块。 当智能体感到无聊时会触发,经过一段时间没有足够的变化后,开始忽略输入中的音高信息并引入休止符。
还有之前文章介绍过 的 Musebots。它是一个独立音乐智能体软件,不但能生成整体音乐结构,还能在结构中创作细节。不同的 Musebots 在每段 10 分钟的曲子中,都扮演了创作与表演的角色。
在 Musebots 中,一个 OrchestratorBot (配器机器人)会根据 ParamBot (参数机器人) 为曲子的特定时刻提供的参数,决定使用哪个 Musebot 作曲。另一个 Musebot 会根据 ParamBot 提供的参数复杂性来配上和声。最后会由一个指挥根据音乐时间整合全部的 Musebot。Musebot 拥有智能,能判断所处环境,传达自身的意图,协调各自状况来产生协同式机器作曲。
MAS 跟上一篇提到的 Swarm 算法结合起来,在音乐中又会碰撞出什么样的火花呢?
Swarm Music 是由 Tim Blackwell 创作的音乐程序,通过一系列音乐活动开发音乐即兴创作。它利用群体的自组织属性,将音乐事件组织成一个类似的群体,以产生旋律,和声和节奏模式。来自人类(或其他群体)的外部音乐事件,被捕获并定位在音乐参数空间中作为吸引子(attractors)。群体被吸引到这些吸引子,将空间模式转换为音乐。
http://igor.gold.ac.uk/~mas01tb/SwarmMusic/mp3s/SoloSwarm.mp3
http://igor.gold.ac.uk/~mas01tb/SwarmMusic/mp3s/FollowMe.mp3
Tim Blackwell 发现 Flocks 和组织音乐原则之间有很多相似之处。这在音乐事件的组织,以及非传统团体中音乐家的群体行为中很明显。他以此为基础,设计出能够与即兴创作者进行实时互动的人工系统。
通过提供简单的互动规则,决定智能体如何响应事件,这种自组织方式即使没有指挥或乐谱,即兴创作也可以连贯进行。
BeatBender, Aaron Levisohn, Philippe Pasquier, 2008
BeatBender 是一个计算机音乐项目,探索了一种使用 subsumption 体系结构生成节奏鼓点模式的新方法。系统包含 4 种行为规则:
- 邻近规则:如何响应邻近的智能体
- 定向规则:如何响应特定智能体的特定状态
- 集体规则:如何响应所有智能体的整体活动
- 时间规则:智能体状态的历史
BeatBender 不是用算法将符号显式编码到系统中,而是使用基于行为的模型从六个自治的智能体生成节奏。从艺术角度来看,定义智能体行为的规则提供了一种简单而原始的组合语言,允许作曲家表达简单而有意义的约束,这些约束指导了智能体乐手的行为。这些简单的规则生成了意想不到的行为互动,指导复杂的节奏输出。
Ref
- Multi-agent system - Wikiwand
- Interactive Music Systems (1993) – Robert Rowe
- WorkInstallations - Peter Beyls
- omax:home [OMax]
- Factor oracle - Wikiwand
- A Subsumption Agent for Collaborative Free Improvisation.pdf
- Musebots | Musical Metacreation
- Swarm Music
- BeatBender
00 的文集
- HackYourself
- Art & Code
- 产品设计思维训练营
- FabAcademy 创客炼成记
- Make Noise
- 历史大杂烩