知道我的理论的人不多,但是这个问题完全可以当成一个小游戏,规则如下:


  • 有若干“神经元”,每个处在激活态或未激活态(一共2个状态)

  • 神经元有“能量”和“阈值”,为方便理解,先假设每个神经元都一样

  • 神经元间存在单向的联系,允许两个神经元间有多个联系(比如一正一反)

  • 这若干个神经元可以进行“演化”,每次演化,神经元同时行动,先把自己的能量平均分给联系到的神经元,然后如果接收到超过阈值的能量,就激活,否则不激活。

  • 如果两个神经元同时激活且有联系,则此联系加强,不再是平均分而是按权值分配(初始权值相等,平均分;每次加强一个固定的值)


  目的:设定权值和阈值、初始权值和增加权值还有连接(主要是连接),让这些神经元表现出一些有意义/有趣的行为。


QQ截图20180709154453.png

(这里能量是阈值的3倍)


  这和生命游戏很像,和hopfield网络也很像,但这可以作为一个独立的游戏来研究。而且你可以【试着添加自己的规则】,来使得网络(即这若干个神经元)完成更多功能而不失优雅。


以下是挑战内容:


1.模拟出巴甫洛夫的“铃声-食物”实验

2.让同一个网络能对多个反射作出反应

3.模拟斯金纳箱

4.模拟桑代克的猫(斯金纳箱的反面)

5.让网络可以由斯金纳箱变为桑代克的猫


  嗯……

  python写的示例程序如下:http://down.51cto.com/data/2449065,需要安装python和 库pygame,操作是鼠标点击节点改变状态,方向右键演化一次,delete清除值,home清除权值和值并时间归零,回车重新载入配置文件(不用重启)。可以自己试试修改配置文件来设计新的节点分布和连接(可读性应该还可以)

(2018-7-9于地球)