22、人工智能中的进化计算与行为机器人技术

人工智能中的进化计算与行为机器人技术

1. 生命游戏的单代实验

生命游戏是一个非常有趣的概念,我们可以仅对其单代进行实验。有一个名为 main.py 的脚本可以实现这一功能,该脚本遵循先前指定的细胞邻居规则,且不允许细胞或基因发生突变。以下是这个脚本的代码:

from sense_hat import SenseHat
from gameoflife import GameOfLife
import time
WHITE = [ 0, 0, 0 ]
RED = [ 255, 0, 0 ]
def main():
    game = GameOfLife()
    sense = SenseHat()
    # cells = [(2, 4), (3, 5), (4, 3), (4, 4), (4, 5)]
    cells = [(2, 4), (2, 5), (1, 5), (1, 6), (3, 5)]
    game.set_cells(cells)
    while True:
        try:
            canvas = []
            for i in game.world:
                if not i:
                    canvas.append(WHITE)
                else:
                    canvas.append(RED)
            sense.set_pixels(canvas)
            game.run()
            if not game.everyone_alive():
                sense.clear()
                print("everyone died")
                break
            time.sleep(0.1)
        except:
            sense.clear()
            break
if __name__ == "__main__":
    main()

要运行这个脚本,只需在控制台输入以下命令:

python main.py

初始细胞配置由以下语句设定:

cells = [(2, 4), (2, 5), (1, 5), (1, 6), (3, 5)]

你可以尝试另一种配置,方法是取消前面 cells 数组的注释,然后注释掉当前的这个数组。

2. 生命游戏的不同初始模式

生命游戏有各种各样的初始模式,不同的模式会产生不同的结果。例如:
- 立即消失的模式 :有两种模式会立即消失(死亡)。
- 双稳态模式 :有一种模式会进入双稳态状态。
- 稳定状态模式 :还有一种模式会进入稳定状态。

此外,还有一些动态模式,如滑翔机和轻量级宇宙飞船。滑翔机会在网格中移动,并每四代重复一次其模式;轻量级宇宙飞船也会在网格中移动。

还有一些被称为Methuselahs的模式,这些模式需要经过许多代才能最终进化并变得可预测和周期性。例如,F - 五连骨牌模式在1101代后变得稳定,橡子模式在5206代后变得稳定和可预测。如果读者想尝试更多模式,可以访问Alan Hensel的网页: radicaleye.com/lifepage/picgloss/picgloss.html

3. 行为机器人技术概述

行为机器人技术(BBR)是一种控制机器人的方法,其起源于对动物和昆虫行为的研究。进行第二个演示需要以下零件:
| 描述 | 数量 | 备注 |
| — | — | — |
| Pi Cobbler | 1 | 40针版本,T或DIP外形均可 |
| 无焊面包板 | 1 | 300个插入点,带电源条 |
| 无焊面包板 | 1 | 300个插入点 |
| 跳线 | 1包 | - |
| 超声波传感器 | 2 | HC - SR04类型 |
| 4.9kΩ电阻 | 2 | 1/4瓦 |
| 10kΩ电阻 | 5 | 1/4瓦 |
| MCP3008 | 1 | 8通道ADC芯片 |

4. 包容架构的基础——人类大脑结构

BBR的底层正式结构是包容架构,其理论部分基于人类大脑的进化发展。人类大脑在宏观上可以分为三个层次:
- 最低层次 :最原始的部分,负责基本的生命维持活动,如呼吸、血压、核心体温等,由脑干来承载这些功能。
- 中间层次 :被称为爬虫脑或边缘系统,负责进食、睡眠、繁殖、战斗或逃跑等行为,由海马体、杏仁核、下丘脑和垂体腺组成。
- 最高层次 :新皮层,负责学习、思考等高级复杂活动,由额叶、颞叶、枕叶和顶叶组成。

这些不同的大脑层次通常相互独立运行,但也会产生冲突。例如,当你压力大时,高层次功能知道吃过多不健康食物不好,但低层次的爬虫脑仍然渴望食物。

5. 包容架构的定义与特点

要理解包容架构,首先要理解“包容(subsume)”这个词,它意味着将某物纳入更一般的类别,即将复杂行为分解为多个简单行为。在现实世界中,机器人依赖传感器根据感官输入做出反应或改变行为,这种反应行为也被称为刺激/反应行为。

传统的反应系统流程如下:

graph LR
    A[传感器] --> B[感知模块]
    B --> C[模型模块]
    C --> D[规划模块]
    D --> E[行动模块]
    E --> F[执行器]

这种串行架构速度慢且灵活性差。而包容架构的关键在于将复杂行为分解为简单行为,例如将一个复杂行为分解为两层:

graph LR
    A[传感器] --> B1[行为层1]
    A --> B2[行为层2]
    B1 --> C[仲裁器]
    B2 --> C
    C --> D[执行器]

通过将单个复杂行为转换为多个并行路径,系统可以变得更加响应灵敏,并且可以轻松添加更多层而不影响现有层。不过,包容架构没有提供如何将复杂行为分解为简单任务的指导,而且感知模块通常是最难定义和实现的部分。

6. 传统方法与行为机器人技术方法对比
传统方法

在传统方法中,模型模块存储机器人所在真实世界的完整准确模型,通常涉及某种几何坐标系来确定当前状态和预测未来状态。传感器数据必须校准准确,理想状态信息要么存储要么根据传感器数据集计算。与理想状态的偏差被视为错误,传递给规划模块以采取控制措施来最小化这些错误。这种方法通常需要大量计算机内存,响应速度慢,使机器人的响应能力较差。

行为机器人技术方法

在研究动物行为(动物行为学)时发现,幼海鸥对父母模型有反应,只需父母海鸥模型有锋利的喙和喙尖附近的彩色斑点,幼海鸥就会张开嘴等待喂食。这表明现实世界中的机器人也可以使用有限的现实世界表示或模型来完成所需任务。

这些有限的表示通常被称为局部环境的“快照”,行为被设计为对这些快照做出反应。移动机器人不需要维护几何坐标系和大量内存的现实世界模型,通过利用类似反射的直接响应,最小化模型、规划和行动模块的复杂性。

为了将环境快照与机器人行为相关联,需要创建由传感器数据组成的数据集,即传感器签名,然后使用解释例程将签名与特定行为关联起来。由于传感器数据签名较粗糙,可能会出现同时的刺激/反应配对情况,因此需要为简单行为分配优先级,默认或长期行为的优先级通常低于紧急或“战术”行为。

行为机器人技术还引入了长期进度指标,以避免机器人陷入“循环”情况,如在两个障碍物之间不断弹跳或被困在墙角。在分层包容模型中,低层次层可能有“避开障碍物”的目标,而高层次层可能有“四处漫游”的目标,高层次层可以包容低层次行为。

机器人的行为可以用多种图形或数学模型表示,如函数表示法、刺激/响应图、有限状态机(FSM)和模式。这里采用FSM模型,因为它能很好地表示行为交互,且不需要太多数学抽象。

总之,生命游戏为我们展示了进化计算的魅力,而行为机器人技术则为机器人控制提供了一种新的思路和方法,通过理解和应用这些技术,我们可以在人工智能领域取得更多的进展。

人工智能中的进化计算与行为机器人技术

7. 有限状态机(FSM)模型在行为机器人技术中的应用

有限状态机(FSM)是一种用于表示机器人行为的有效模型。它能够清晰地展示行为之间的交互关系,且不需要复杂的数学抽象。一个基本的FSM模型可以用以下方式表示:

graph LR
    A[状态1] -->|事件1| B[状态2]
    B -->|事件2| A

在行为机器人技术中,多个行为之间存在着复杂的相互关系,包括感官抑制和执行器抑制。以下是一个展示多个行为及其相互关系的示例:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;

    A([传感器]):::startend --> B(行为层1):::process
    A --> C(行为层2):::process
    B --> D(仲裁器):::process
    C --> D
    D --> E([执行器]):::startend
    B -->|抑制| C
    C -->|抑制| B

在这个示例中,行为层1和行为层2都接收来自传感器的输入,并且可以相互抑制。仲裁器负责处理来自各个行为层的信号,并选择合适的信号发送给执行器。

8. 行为机器人技术的行为优先级与长期进度指标

行为机器人技术中,为了避免同时出现多个刺激/反应配对的情况,需要为不同的行为分配优先级。默认或长期行为通常被分配较低的优先级,而紧急或“战术”行为则具有较高的优先级。例如,当机器人遇到障碍物时,“避开障碍物”这个紧急行为的优先级会高于“四处漫游”这个长期行为。

同时,为了避免机器人陷入“循环”情况,如在两个障碍物之间不断弹跳或被困在墙角,行为机器人技术引入了长期进度指标。这些指标可以帮助机器人生成一个战略轨迹,使其朝着一个大致的方向或路径移动。当机器人的前进受到阻碍时,会选择不同的行为来恢复到正常状态。

以下是一个简单的优先级分配和长期进度指标应用的列表说明:
- 优先级分配
- “避开障碍物”:高优先级,当检测到障碍物时立即触发。
- “跟随墙壁”:中优先级,在没有障碍物的情况下执行。
- “四处漫游”:低优先级,作为默认行为。
- 长期进度指标
- 记录机器人的移动距离和方向。
- 当机器人在一段时间内没有前进一定距离时,触发新的行为。

9. 行为机器人技术的实际应用与发展前景

行为机器人技术在实际应用中具有广泛的潜力。例如,在工业领域,机器人可以利用行为机器人技术实现自主导航和避障,提高生产效率和安全性。在服务领域,机器人可以根据环境变化做出灵活的反应,为用户提供更好的服务。

随着人工智能和机器人技术的不断发展,行为机器人技术也将不断完善和拓展。未来,我们可以期待看到更加智能、灵活的机器人,它们能够更好地适应复杂多变的环境,完成各种任务。

总结

本文主要介绍了进化计算中的生命游戏和行为机器人技术。生命游戏通过不同的初始模式展示了进化计算的魅力,从单代实验到各种复杂模式的演变,让我们看到了简单规则下的复杂现象。

行为机器人技术则为机器人控制提供了一种新的思路和方法。它基于包容架构,将复杂行为分解为简单行为,通过并行路径提高系统的响应能力。与传统方法相比,行为机器人技术更加注重利用有限的现实世界表示和类似反射的直接响应,使机器人能够更灵活地适应环境。

通过对行为优先级的分配和长期进度指标的引入,行为机器人技术能够避免一些常见的问题,如循环和反应迟钝。同时,有限状态机(FSM)模型为行为交互的表示提供了一种有效的方式。

在未来,生命游戏和行为机器人技术有望在更多领域得到应用和发展,为人工智能的进步做出更大的贡献。无论是在学术研究还是实际应用中,我们都可以进一步探索这些技术的潜力,推动人工智能的发展。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值