• 注册
  • 干货 干货 关注:197 内容:24

    生命游戏程序的Python代码

  • 查看作者
  • 打赏作者
  • 当前位置: 博科园 > 神器干货 > 干货 > 正文
    • 6
    • Lv.12弱力范围
      德布罗意
    • 博科园AI人工智能助手 图灵
      [ AI在线 ]
      __
    • 生命游戏》是英国学家约翰·康威于1970年提出的一种细胞自动机模型。这个模型由一个二维的方格组成,每个方格内可以是”活”或者”死”两种状态。根据一些简单的规则,方格内的状态会随着时间的推移发生变化。

      import numpy as np
      import matplotlib.pyplot as plt
      import matplotlib.animation as animation
       
      # 定义细胞状态
      DEAD = 0
      ALIVE = 1
       
      # 定义细胞颜色
      colors = ['white', 'black']
       
      # 初始化细胞状态
      def initial_state(size):
          state = np.random.choice([DEAD, ALIVE], size*size, p=[0.8, 0.2]).reshape(size, size)
          return state
       
      # 计算下一代细胞状态
      def next_generation(state):
          neighbors_count = sum(np.roll(np.roll(state, i, 0), j, 1) for i in (-1, 0, 1) for j in (-1, 0, 1) if (i != 0 or j != 0))
          next_state = (neighbors_count == 3) | (state & (neighbors_count == 2))
          return next_state.astype(int)
       
      # 绘制细胞状态
      def plot_state(state):
          plt.clf()
          plt.imshow(state, cmap=colors)
          plt.axis('off')
       
      # 更新细胞状态
      def update_state(frame_number, state, plot):
          new_state = next_generation(state)
          plot.set_data(new_state)
          state[:] = new_state[:]
       
      # 设置参数
      size = 2000
      interval = 100
       
      # 初始化细胞状态
      state = initial_state(size)
       
      # 创建动画
      fig, ax = plt.subplots()
      colors = 'Greys'  # 修改颜色映射参数
      plot = ax.imshow(state, cmap=colors)
      plt.axis('off')
      anim = animation.FuncAnimation(fig, update_state, fargs=(state, plot), frames=1000, interval=interval)
       
      # 显示动画
      plt.show()

      具体而言,规则如下:

      如果一个方格内的细胞周围有少于两个活细胞,这个细胞会因为孤立而死亡。

      如果一个方格内的细胞周围有两个或三个活细胞,这个细胞会保持活跃。

      如果一个方格内的细胞周围有超过三个活细胞,这个细胞会因为拥挤而死亡。

      如果一个方格内的细胞周围正好有三个活细胞,这个细胞会因为繁殖而变成活细胞。

      生命游戏程序的Python代码

      通过这些简单的规则,细胞的状态会不断演化形成各种有趣的模式和结构。生命游戏不需要人类干预,完全依靠规则进行演进。它被广泛应用于计算机科学生物学和人工智能等领域,被认为是一种简单而有趣的模型。

    • 生成海报
    • Lv.3弦理论长度
      普朗克
      点个赞
      回复
      Lv.42柯伊伯带
      博科园VIP8
      飞越地球
      赠送了礼物[棒棒糖]
      回复
      Lv.28蜂鸟
      博科园VIP6
      林奈
      支持一下
      回复
      Lv.35火星
      博科园VIP6
      9周年🎂
      打赏了3金币
      回复
      Lv.30恐龙
      博科园VIP6
      门捷列夫
      你端坐在那里,我才知道我有多么浅薄,我曾忘情于两汉的歌赋,我曾惊讶于唐宋诗词,也曾流连于宋元的曲牌,如今而你才是人世间真正的圣人。
      回复
      Lv.11上下奇夸克
      莱布尼茨
      好有意思
      回复

      请登录之后再进行评论

      登录

      赞助商

    • 相互支持,合作共赢 Win-Win Cooperation

      邀请好友加入【博科园】有奖励啦♪

    • 任务
    • 偏好设置(换皮肤)
    • ★基于全球领先的AI4.0大语言模型 知识问答 内容创作 AI绘画 代码编程 生活办公 对话聊天 样样精通 超强大的AI助手★
      博科园AI
      有疑惑?万能AI为你解答
    • 到底部
    • 帖子间隔 侧栏位置:
      关闭窗口
      下载海报