用"大脑"控制贪吃蛇:把游戏状态编码成神经刺激,让脉冲神经网络决策下一步方向。蛇是它的身体,果蝇脑是它的脑。
fly_brain_controller.py 中,需本机 pip install flybrain 运行(静态页无法承载)。
Sentient Being(有感知的生命)是一个教学/演示项目:把经典贪吃蛇改装成"被一个大脑驾驶"的智能体。 游戏每一帧的状态(四周是否危险、食物在哪个方向)被编码成 8 维刺激,注入一个脉冲神经网络; 网络演化若干毫秒后,从 4 个"运动神经元组"的放电读出方向(上/右/下/左)。
下方的两条"先天反射"让占位脑能玩:① 朝食物方向放电 → 驱动对应运动神经元;② 危险方向施加强抑制,压掉撞墙/撞身的输出。
brain_interface.py):一个 8→24→4 的小型冻结 LIF 网络 + 手工反射。轻量、可跑在浏览器里。fly_brain_controller.py):用 flybrain 包加载 真实果蝇连接组作为冻结脉冲储备池(reservoir),状态注入感觉神经元组,读取 descending-neuron 群体放电,再用一层线性读出(ridge)映射到方向。这是货真价实的果蝇脑在做信息处理,只有最薄的输入输出适配器是我们写的。实测(本机 M3):真脑热身后每次决策约 18ms(≈56 决策/秒),峰值约占 6/8 核 CPU,内存约 258MB。轻松实时。
# 克隆后 pip install -r requirements.txt # 会装 flybrain(首次会自动下载 ~258MB 连接组) python main.py --headless --brain fly --readout readout.npz # 真脑跑分 python main.py --brain fly --readout readout.npz # 有显示器时看 GUI python main.py --headless # 简化占位脑对照 python run_capture.py # 导出简化脑演示 GIF python capture_fly.py # 导出真脑演示 GIF
蛇头 蛇身 食物 网格
项目开源地址见仓库主页(本页随仓库发布于 GitHub Pages)。