上篇文章(致癌离我们远吗?)我们了解癌症基本常识,下面我们讨论一下癌细胞产生原因。

医生常说抽烟致癌,不要抽烟,但实际生活中抽烟长寿的人不少,我的姨婆九十多岁了,每日抽烟喝酒,身体也不错。决定癌症的因素很多,例如遗传,饮食,起居时间,居住环境,化工污染等等。下图转自一份医学研究,说明没有任何食物百分之百致癌或抑制癌症。

什么人容易患癌症?当诸多不利因素累积,超过一定量后,患癌症概率大。我们假设一个数据挖掘的分类器cancer,分类器由六个因素组成,当六个因素得分总和超过3时为癌症,得分总和小于3时为非癌症。

1表示是,0表示否。 抽烟=1分,非均衡饮食=1分,喝酒=1分,睡眠不足7小时=1分,环境污染=1分,情绪抑郁=1分;反之亦然不抽烟=0分,不喝酒=0分,睡眠充足=0分,环境无污染=0分,情绪良好=0分。张三抽烟,非均衡饮食,抽烟,喝酒,睡眠不足,环境污染,情绪良好,总分为1+1+1+1+1+0=5分,总得分大于3,分类器判断张三患癌症概率高。李四不抽烟,不喝酒,睡眠充足,环境无污染,情绪不好,总分为0+0+0+0+0+1=1分,总得分小于3,分类器判断李四患癌症概率低(例子只是假设,方便大家理解分类器原理)。

根据分类器原理,我们用python来可视化细胞生死,模拟生命。从一个随机初始化的二维方形网格开始,网格中的每一个细胞状态可能是生或死,由其相邻8个细胞决定。在这个规则下可以使用卷积进行计算,我们需要scipy工具完成卷积计算。

Anaconda下展示,生成闪烁的动态细胞图,细胞生死会不停变化,直到停止。

做过蒙特卡洛试验的朋友会有感悟:决定一个系统走势是多因素构成,而非单一因素决定。

程序调用了python的pygame,numpy,scipy三个模块。Pygame用于写游戏;numpy用于矩阵运算;scipy是numpy的高级版本,用于更高级的自然科学应用,例如信号处理,傅里叶分析。

此函数用于 绘制十字架。

def draw_cross(pixar):

(posx,posy)=pygame.mouse.get_pos()

pixar[posx,:]=1

pixar[:,posy]=1

此函数用于随机初始化网格

def random_init(n):

return np.random.random_integers(0,1,(n,n))

所有代码最终汇集于文章末尾。

(放大可视化的细胞集合图,每一个细胞状态可能是生或死,由其相邻8个细胞决定)

经过计算机模拟生命,我们得到最终答案。癌症是由多因素共同决定的,而非单因素决定。当你的饮食,起居,办公环境,情绪,辐射,免疫力都很糟时,你要注意了,积极调整,更换环境,否则死神就可能来敲门了。

代码来自Ivan Idris物理博士的分享,经本人测试,可以完美运行,如果有问题可以发邮件给我231469242@qq.com

转载于:https://www.cnblogs.com/webRobot/p/7238490.html

模拟生命_吸烟致癌?相关推荐

  1. java人工智能开源项目_人工生命——一个用代码模拟生命进化的人工智能开源项目...

    开源项目作者 朱勇: 桂林电子工业学院机械本科,在全民学计算机大潮下,上了编程这条贼船,历经学习机.PC.286, 386, 486, 奔腾...,见证了个人计算机发展史.学过Basic.Delphi ...

  2. 让数组的左边全为奇数C语言,2015年全国计算机等级考试全真模拟考场_二级C语言试卷四.docx...

    2015年全国计算机等级考试全真模拟考场_二级C语言试卷四 全国计算机等级考试全真模拟试卷(4) 二级C (考试时间l20分钟,满分100分) 一.选择题(每小题1分,共40分) (1)算法是指( ) ...

  3. python元胞自动机模拟交通_结构专栏 | 解析DEFORM软件中的元胞自动机法

    点击上方蓝色字体,关注我们 导语 金属材料的性能取决于内部的微观组织结构,而好的材料性能和价格是产品最大的优势.随着现代物理冶金.热成形技术.热处理技术和计算机技术的兴起与发展,使预测和控制金属材料热 ...

  4. 【文末有福利】吸烟致癌,是基因的错吗?

    20 世纪50 年代和60 年代那场关于吸烟是否致癌的辩论在科学领域乃至政治领域引起广泛纷争.那个时代对吸烟致癌论持怀疑态度的学者,包括费舍尔和雅各布·耶鲁沙米,曾提出吸烟和癌症之间的明显联系可能是由 ...

  5. 吸烟致癌的迷思是如何破除的?

    20世纪50年代末60年代初,统计学家和医生就整个20世纪最引人注目的一个医学问题产生了意见冲突:吸烟会导致肺癌吗?在这场辩论过去了半个世纪之后的现在,我们认为答案是理所当然的.但在当时,这个问题完全 ...

  6. 计算机操作员考试模拟在线考试,计算机操作员高级问答集考试卷模拟考_试题...

    <计算机操作员高级问答集考试卷模拟考_试题>由会员分享,可在线阅读,更多相关<计算机操作员高级问答集考试卷模拟考_试题(4页珍藏版)>请在人人文库网上搜索. 1.姓名:____ ...

  7. 2020年上海市高等学校信息技术水平考试试卷_三级_数据科学技术及应用_模拟卷_四、操作题_答案

    2020年上海市高等学校信息技术水平考试试卷_三级_数据科学技术及应用_模拟卷_四.操作题_答案 (本试卷考试时间 150 分钟) 答案是自己做的,经验证,可成功运行. 内容仅供学习交流,不可转载. ...

  8. 2016年下半年信息系统项目管理师真题及答案_信息系统项目管理师历年真题及权威答案_信息系统项目管理师试题及模拟题_软考考试题库_希赛网...

    2016年下半年信息系统项目管理师真题及答案_信息系统项目管理师历年真题及权威答案_信息系统项目管理师试题及模拟题_软考考试题库_希赛网 2016年下半年信息系统项目管理师真题及答案_信息系统项目管理 ...

  9. 2020年上海市高等学校信息技术水平考试试卷_三级_数据科学技术及应用_模拟卷_三、程序填空题_答案

    2020年上海市高等学校信息技术水平考试试卷_三级_数据科学技术及应用_模拟卷_三.程序填空题_答案 (本试卷考试时间 150 分钟) 答案是自己做的,经验证,可成功运行. 内容仅供学习交流,不可转载 ...

  10. python如何实现模拟登录_超详细的Python实现新浪微博模拟登陆(小白都能懂)

    最近由于需要一直在研究微博的爬虫,第一步便是模拟登陆,从开始摸索到走通模拟登陆这条路其实还是挺艰难的,需要一定的经验,为了让朋友们以后少走点弯路,这里我把我的分析过程和代码都附上来. 首先,我们先用正 ...

最新文章

  1. JavaScript几个小技巧
  2. python的序列包括什么_一文读懂什么是序列 (sequence)
  3. hadoop集群环境搭建
  4. 每天一道LeetCode-----某个数在递增序列第一次和最后一次出现的位置
  5. opencv图像处理9-图像金字塔
  6. 菜鸟成长日记(五)之WMIC简单命令应用
  7. React JS 组件间沟通的一些方法
  8. 昆仑量子计算机只是云计算模拟吧,量子模拟赛题让大学生认识未来计算发展方向...
  9. linux命令找目录,linux中何种指令可以查看当前所处的目录位置?
  10. 从零实现SpringBoot简易读写分离,也不难嘛!
  11. Xpath string()提取多个子节点中的文本
  12. WITH (NOLOCK)提高查询效率
  13. 2010年一些零散的总结4
  14. 拓端tecdat|回归分析与相关分析的区别和联系
  15. 廖雪峰python学习笔记【20】web开发
  16. NVIDIA控制面板打不开
  17. SVG 研究之路 - 再談 defs
  18. Oracle脏读处理方式
  19. Unity3D教程:手游开发常用排序算法 -下
  20. 匿名函数 和 拉姆达表达式

热门文章

  1. 进程管理之工作管理详解(job control)
  2. mac 安装 cocoapods
  3. bottle框架学习(四)之模版进阶使用
  4. RHEL6.3下编译安装ffmpeg
  5. 水晶報表之Datetime TO shortDate
  6. Code::Blocks IDE - Open Source, Cross-platform Free C++ IDE
  7. Java 实现导出excel表 POI
  8. 两年经验,尽然斩获多家巨头offer,如:蚂蚁、头条、PingCAP~
  9. 日志收集神器 Logstash,闪亮登场~
  10. 将20M文件从30秒压缩到1秒,我是如何做到的?