群体智能算法及体系结构设计

Download Report

Transcript 群体智能算法及体系结构设计

群体智能算法及体系结构设计
Sornis
Sornis





F0803028
吴卓杰 5070309873
曹 正 5070309875
彭上夫 5070309876
陈泽佳 5070309878
群体智能

特点




鲁棒性
可扩充性
简单性
自组织性
粒子群算法

蚁群算法


信息遗留在环境里
粒子群优化算法(PSO)



信息通过简单的通信传播出去
无需整体的环境信息
不存在中心控制
粒子群算法



设想场景
一群鸟搜寻食物,在这个区域里只有一块
食物,所有鸟都不知道食物在哪里,那么
找到食物的最优策略是什么呢?
搜寻目前离食物最近的鸟的周围区域。
粒子群算法




每个优化问题的潜在解都是搜索空间中的
一只鸟,称之为“粒子”。
所有的粒子都有一个由被优化的函数决定
的适应值
每个粒子还有一个速度决定它们飞翔的方
向和每一步的位移
然后粒子们就追随当前的最优粒子在解空
间中搜索。
PSO算法流程
1.
2.
3.
4.
5.
6.
初始化一群微粒
评价每个微粒的适应度
它的适应值和它经历过的最好位置比较
更新全局所经历最好位置
变化微粒的速度和位置
未达到结束条件则回到(2)
体系结构设计与实现








算法模型抽象
指令集选择
寄存器分配
汇编器
单个CPU结构
多CPU组织方式
以硬件描述语言实现
可视化仿真
算法模型抽象

每只鸟行动:





更新速度
更新位置
闻气味:接收其他鸟传过来的信息
吼叫:把自身的信息传递给周围的鸟。
直到迭代到一定次数为止。
指令集选择

算法特点:





计算需要大量实数运算。
代码总体保持顺序执行,有少量条件跳转。
有立即数操作。
使用变量较少。
最大最小操作频繁。
指令集选择(con’t)

选择的体系结构的特点:





只有整数操作。
没有跳转语句。
将立即数存入寄存器。
增加寄存器个数。
增加取最大最小指令。
指令集选择(con’t)
Bit #
[31..24]
[23..16]
ADD
00000000
rs
rt
rd
rdrs+rt
PCPC+4
SUB
00000001
rs
rt
rd
rdrs-rt
PCPC+4
MUL
00000100
rs
rt
rd
rdrs*rt
PCPC+4
DIV
00000101
rs
rt
rd
rdrs/rt
PCPC+4
MAX
00001000
rs
rt
rd
rdMax(rs,rt) PCPC+4
MIN
00001001
rs
rt
rd
rdMin(rs,rt)
PCPC+4
MOVE
01000000
00000000
rt
rd
rdrt
PCPC+4
CMP
10000000
rs
rt
rd
rdrs<rt
PCPC+4
EOF
[15..08] [07..00]
11111111111111111111111111111111
Operator
PC0
寄存器分配

需要分配的寄存器分为三类,



用来表示用作CPU多核的信号传递工作的寄存
器,存储于16-127
用来表示每一个核工作时的临时寄存器128及
以上
用来存储部分所需常数,存储于0-15号寄存
器。
汇编器


汇编器根据指令格式将汇编代码翻译成
CPU可以接受的二进制代码
指令的末尾无需写跳回程序的第一条语句
继续执行,而是利用硬件进行PC寄存器的
前进与恢复
单个CPU结构
多CPU组织方式


采用了立方体的组织方式
所有CPU间通信是分布式的,不存在一个
中心来控制,这样在规模增大的情况下依
然可以很有效。
硬件描述语言实现与可视化仿真

具体演示
总结及展望


一些改进
实际应用
文档链接

Google Code:

http://code.google.com/p/mips-si/
致谢



感谢梁阿磊老师的指导
感谢软件学院嵌入式实验室
感谢上海交通大学ACM班提供讨论平台