提示:某天在网络上看到生命游戏,好奇点进去,然后发现,一个小小的规则能衍生出很多复杂的东西,一个小小的方块竟能表现的跟生命一样, 有一种道生万物的奇妙体验, 我们人类是不上也是某种规则下的产物呢?

盆友们,在 bilibili 搜索一下生命游戏吧!感受一下!!!


开始

一维元胞自动机是一条直线, 可用计算机模拟
每个细胞只有0和1两种状态, 也就是’死’和’生’, 这个细胞根据周围(左右)两个细胞的状态决定下一个迭代周期的状态

比如某个规则: 忽略自身状态

  • 某个细胞周围都是1, 那么下个周期他就死亡了, (太拥挤了)
  • 某个细胞周围都是0, 那么下个周期他就死亡了, (太孤独了)
  • 某个细胞左边是1右边是0, 那么下个周期他变为1 (生长)
  • 某个细胞右边是1左边是0, 那么下个周期他不变
    这些规则可以加上自身的状态(有可能这个细胞求生欲很强,很努力),
    那么一个细胞的状态(包括周围环境)可以有八种, 每种状态正好是二进制数


状态可以转成十进制的数字,每个状态下一个迭代要么是生要么是死
现在制定一些规则,规定每种状态下一个迭代是死亡还是存活,那么就有256种规则了, 2的八次方对吧, 制成表格就是下图所示

倒过来,每种规则也是一个二进制数,转成十进制数就是左边的ID,就是规则编号

  • 比如规则0是最极端的规则(比如火山喷发, 恐龙不就是这么灭绝的么),所有细胞无论周围环境怎么样, 下一周期都是死亡状态
  • 比如规则255是最好的规则, 所有细胞无论周围环境怎么样, 下一周期都是活着, 无限繁殖

再来看开始时说的规则
忽略自身状态

  • 某个细胞周围都是1, 那么下个周期他就死亡了, (太拥挤了)
    1 1 1 -> 0 __________7 -> 0
    1 0 1 -> 0 __________5 -> 0
  • 某个细胞周围都是0, 那么下个周期他就死亡了, (太孤独了)
    0 1 0 -> 0 __________2 -> 0
    0 0 0 -> 0 __________0 -> 0
  • 某个细胞左边是1右边是0, 那么下个周期他变为1 (生长)
    1 1 0 -> 1 __________6 -> 1
    1 0 0 -> 1 __________4 -> 1
  • 某个细胞右边是1左边是0, 那么下个周期他不变
    0 1 1 -> 1 __________3 -> 1
    0 0 1 -> 0 __________1 -> 0
    那么可以推断这个规则是88号规则, 88对应的二进制数为 01011000, 这个规则的细胞倾向于往右发展

这是某大学写的 二维元胞自动机
这是我写的一维元胞自动机实现
https://beijingtiger666.github.io/livegame/
截图喵一眼

思考:
二维元胞自动机共有多少种规则?

一维元胞自动机生命游戏相关推荐

  1. 【元胞自动机】元胞自动机生命游戏【含Matlab源码 655期】

    ⛄一.元胞自动机简介 1 元胞自动机发展历程 最初的元胞自动机是由冯 · 诺依曼在 1950 年代为模拟生物 细胞的自我复制而提出的. 但是并未受到学术界重视. 1970 年, 剑桥大学的约翰 · 何 ...

  2. MATLAB算法实战应用案例精讲-元胞自动机生命游戏(附Java、Python、C语言、C++和MATLAB代码实现)

    目录 前言 知识储备 元胞自动机的构成 元胞空间 元胞状态 邻域

  3. 2.CA一维元胞自动机(netlogo)

    一.简要叙述 主要分析了一下netlogo下一维元胞自动机的代码 实现了主要的几种重要的规则 rule30 rule254 rule90 和rule110 代表了元胞自动机的几个种类,混沌,秩序,复杂 ...

  4. 【元胞自动机】元胞自动机模拟交通事故道路通行量【含Matlab源码 356期】

    ⛄一.元胞自动机简介 1 元胞自动机发展历程 最初的元胞自动机是由冯 · 诺依曼在 1950 年代为模拟生物 细胞的自我复制而提出的. 但是并未受到学术界重视. 1970 年, 剑桥大学的约翰 · 何 ...

  5. 【元胞自动机】元胞自动机地铁火灾疏散模型【含Matlab源码 246期】

    ⛄一.元胞自动机简介 1 元胞自动机发展历程 最初的元胞自动机是由冯 · 诺依曼在 1950 年代为模拟生物 细胞的自我复制而提出的. 但是并未受到学术界重视. 1970 年, 剑桥大学的约翰 · 何 ...

  6. 【元胞自动机】基于matlab元胞自动机多车道信号交叉口仿真【含Matlab源码 818期】

    ⛄一.元胞自动机简介 1 元胞自动机发展历程 最初的元胞自动机是由冯 · 诺依曼在 1950 年代为模拟生物 细胞的自我复制而提出的. 但是并未受到学术界重视. 1970 年, 剑桥大学的约翰 · 何 ...

  7. 【元胞自动机】元胞自动机双边教室疏散【含Matlab源码 1208期】

    ⛄一.元胞自动机简介 1 元胞自动机发展历程 最初的元胞自动机是由冯 · 诺依曼在 1950 年代为模拟生物 细胞的自我复制而提出的. 但是并未受到学术界重视. 1970 年, 剑桥大学的约翰 · 何 ...

  8. 学习常用模型及算法:2.元胞自动机和交通模型

    元胞自动机在数模中的应用十分广泛. 元胞自动机原理 一维元胞自动机.给出任意一个状态,都能知道下一时刻的状态.规则已给出,总共有2^3 = 8种可能. 二维元胞自动机--生命游戏 元胞的状态是有限的- ...

  9. 【元胞自动机】保守策略元胞自动机三车道(不开放辅路,软件园影响)交通流模型matlab源码

    一.元胞自动机简介 1 元胞自动机发展历程 最初的元胞自动机是由冯 · 诺依曼在 1950 年代为模拟生物 细胞的自我复制而提出的. 但是并未受到学术界重视. 1970 年, 剑桥大学的约翰 · 何顿 ...

最新文章

  1. FBI警告公众小心USB充电器:可能是键盘记录仪KeySweeper
  2. ThreadLocal相关
  3. hadoop设置ssh免密码登录
  4. mysql添加新用户 开放外网访问
  5. 【Java】输出50-100范围内所有的素数
  6. My97DatePicker日历的平面显示,不是文本框点击事件后显示
  7. git 客户端_适用于Mac的10个最佳GUI Git客户端
  8. ASD: Average Surface Distance
  9. Java开发手册黄山版新增规约摘录
  10. 计算机的doc命令怎么学,如何进入dos系统 四种方法教学【图文教程】
  11. .NET Framework 4.7.2离线安装程序
  12. 捷信达酒店管理系统使用说明-前言
  13. echarts饼图自动动画_echarts饼图定时自动切换
  14. JavaScript中的扁平化数据转换为树形结构、树形结构扁平化数据
  15. 标准盒子模型与怪异盒子模型
  16. 火星坐标系转百度php,PHP版本实现火星,高德地图和百度地图坐标转换
  17. MybatisX的使用方法
  18. PC实现Win10/原生安卓双系统
  19. npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree
  20. H.265流媒体播放器EasyPlayer.js集成时页面报错出现“X”,该如何解决?

热门文章

  1. 白帽子黑帽子_6种白帽子seo技术可实现在线预期业务
  2. 01-weston 简介
  3. Federated Graph Neural Networks
  4. 6-11 使用函数输出水仙花数 (20 分)
  5. sql优化和索引常见的面试题(面试总结)
  6. java正则表达式初探——java.util.regex.Pattern类
  7. 解析器生成器 ANTLR的详细介绍
  8. 【JAVA 学习笔记】HashMap 探究
  9. 海康威视网络摄像头购买指南(焦距像素等参数)
  10. php的原子操作,原子操作 · 国外PHP框架Nette官网教程 · 看云