群体智能算法及体系结构设计
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
rdrs+rt
PCPC+4
SUB
00000001
rs
rt
rd
rdrs-rt
PCPC+4
MUL
00000100
rs
rt
rd
rdrs*rt
PCPC+4
DIV
00000101
rs
rt
rd
rdrs/rt
PCPC+4
MAX
00001000
rs
rt
rd
rdMax(rs,rt) PCPC+4
MIN
00001001
rs
rt
rd
rdMin(rs,rt)
PCPC+4
MOVE
01000000
00000000
rt
rd
rdrt
PCPC+4
CMP
10000000
rs
rt
rd
rdrs<rt
PCPC+4
EOF
[15..08] [07..00]
11111111111111111111111111111111
Operator
PC0
寄存器分配
需要分配的寄存器分为三类,
用来表示用作CPU多核的信号传递工作的寄存
器,存储于16-127
用来表示每一个核工作时的临时寄存器128及
以上
用来存储部分所需常数,存储于0-15号寄存
器。
汇编器
汇编器根据指令格式将汇编代码翻译成
CPU可以接受的二进制代码
指令的末尾无需写跳回程序的第一条语句
继续执行,而是利用硬件进行PC寄存器的
前进与恢复
单个CPU结构
多CPU组织方式
采用了立方体的组织方式
所有CPU间通信是分布式的,不存在一个
中心来控制,这样在规模增大的情况下依
然可以很有效。
硬件描述语言实现与可视化仿真
具体演示
总结及展望
一些改进
实际应用
文档链接
Google Code:
http://code.google.com/p/mips-si/
致谢
感谢梁阿磊老师的指导
感谢软件学院嵌入式实验室
感谢上海交通大学ACM班提供讨论平台