离散型Hopfield题目解法
【摘要】 离散型Hopfield题目解法 题目说明1.写出权值矩阵。2.对给出的初始状态异步更新。3.哪个是吸引子。4.计算对应吸引子的能量值。 解题步骤1.写出矩阵:w=np.array([[0,1,1,-1,1], [1,0,-1,-3,3], [1,-1,0,1,-1], [-1,-3,1,0,-3], [1,3,...
离散型Hopfield题目解法
题目说明
1.写出权值矩阵。
2.对给出的初始状态异步更新。
3.哪个是吸引子。
4.计算对应吸引子的能量值。
解题步骤
1.写出矩阵:
w=np.array([[0,1,1,-1,1],
[1,0,-1,-3,3],
[1,-1,0,1,-1],
[-1,-3,1,0,-3],
[1,3,-1,-3,0]])
2.对每个状态进行异步更新,下面是全部代码:
import numpy as np
def sgn(x):
if x>=0:
return 1
else:
return -1
result=0
w=np.array([[0,1,1,-1,1],
[1,0,-1,-3,3],
[1,-1,0,1,-1],
[-1,-3,1,0,-3],
[1,3,-1,-3,0]])
# x=np.array([-1,-1,1,1,1]).reshape(5,1)
# x=np.array([-1,-1,1,1,-1]).reshape(5,1)
# x=np.array([-1,-1,-1,1,-1]).reshape(5,1)
# x=np.array([-1,1,-1,1,-1]).reshape(5,1)
x=np.array([1,-1,1,1,-1]).reshape(5,1)
for i in range(5):
result=sgn(w[i].reshape(1, 5).dot(x)[0][0])
x[i][0]=result
# print(x)
print(x)
3.由上面的结果可以知道,x2是一个吸引子。
4.根据公式计算x2的能量:
#w权值矩阵
w=np.array([0,1,1,-1,1,
1,0,-1,-3,3,
1,-1,0,1,-1,
-1,-3,1,0,-3,
1,3,-1,-3,0]).reshape(5,5)
#x2的状态向量
xxy=np.array([-1,-1,1,1,-1]).reshape(1,5)
print(-1/2*xxy.dot(w).dot(xxy.T)[0][0])
最后得出,能量是-14。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)