书名:代码本色:用编程模拟自然系统
作者:Daniel Shiffman
译者:周晗彬
ISBN:978-7-115-36947-5
《代码本色》是一本神书,它用编程模拟了自然系统。枯燥的编程变得有意思起来。:-)

一、《代码本色》的故事
1、第一部分:无生命的物体
想象以下场景:草地上有一个足球,球员一脚将它踢到空中。足球在重力的作用下迅速下降,而空气阻力又让它能在空中飘移一段时间,直到落在高高跃起的运动员的头上。在这个过程中,足球是无生命的物体,它对自己的运动没有自主权,只能等待外界环境在它身上施加外力。
- 故事的第一部分会进一步研究向量(第1章),而向量正是物体运动的基石。
- 一切的外力(第2章)都是向量。根据牛顿运动定理,外力等于质量乘以
加速度(F = ma)。外力能让物体加速,而对外力进行建模可以让我们根据各种运动定理模拟物体的运动状态。 - 被运动员施加作用力的足球还可能会发生旋转。物体的运动受加速度控制,旋转受角加速度(第3章)控制。
- 一旦解决了单个无生命物体的基本运动和力学问题,我们将把这些原理运用到成千上万的物体上,并用一个系统管理它们,这个系统称作粒子系统(第4章)。
在粒子系统中,我们将学习面向对象编程的某些高级特性,比如继承和多态。
2、第二部分:活物
如何对有生命的事物进行建模?
这不是一个简单的问题,但我们可以从对外界环境有感知能力的对象开始建模。活物有自己的意愿,可以感到饥饿或恐惧,这些情绪会影响它的运动。
- 通过自治智能体模拟技术(第6章),我们将生命注入之前无生命的物体,让它们能根据对外界环境的理解决定如何运动。
- 用细胞自动机(在某个网格区域内繁殖的细胞系统,第7章)建立模型
- 用分形(描述大自然的几何学,第8章)建立自然界的几何模型
3、第三部分:智能
把自身意愿和生存规则结合在一起,让模型进化,将生物的进化过程应用到计算系统中。
- 将生物的进化过程应用到计算系统中(第9章)
- 人工神经网络(第10章),使系统能够从自身错误中自我学习以适应环境
网友评论