查看原文
其他

元胞自动机: 生命游戏,炼蛊,城市设计和AI

C君 建筑手帐C 2021-07-06

生命就像元胞自动机


生命如游戏,迭代以往之时,峰回路转之时,变化无常之时。

对于生命游戏(Conway's Game of Life)和元胞自动机(cellular automaton)来说,他们的规则似乎就与生命有着微妙的联系。

 

奋起之时,八方来贺,借风之力深感合作有益。

璀璨之处,险象环生,登顶之时须防四方楚歌。

萧条之时,潜龙勿用,覆巢之下难免少有完卵。

没落之时,雪中送炭,峰回路转方见柳暗花明。

 

而如果用程序语言来讲,一一对应则为:

存活原则:周边细胞为N个时,该细胞继续存活

过度拥挤原则:周边细胞多于N个,该细胞死亡

孤独原则:周边细胞少于N个时。该细胞死亡

繁殖原则:周边细胞为N个时,该细胞由死亡转变为活细胞



仔细看看这个规则,对于一个单独细胞来说,简直就是扫雷嘛。在决定自我存活与否的时候,会使用类似扫雷的机制,检测周边细胞的存货个数,而这个过程也将因此来决定自身的存活。


不过,说起来也真是现实,细胞们自己的存活大权全交与周围决定,而且因为随机性还仿佛一切皆听天命。这个简单的规则也说明生命是多么残酷。


不过,在历史的浪潮里,元胞自动机总会生成惊人的成果,简单的单体遵循同一个梦想(规则),不同地组合,而逐渐筑起历史的金字塔。所以在历史的漩涡里,小人物不可怕,但是一大堆小人物共同协作,在相同的规则下相互联系,最后的成果就可怕了。



而作为上帝视角的我们,宇宙本身是失序并具有混乱性的(熵),但是如果我们制定一定的基础规则,那么它们自身的运作以及相互的关系(制约,排挤和混乱度- cohesion, separation and chaos)将会产生一定预料又不可预料的有趣的结果。所以,很多人认为元胞自动机不仅仅是一个多适用的模型,也是一种生命炼蛊的游戏过程。


1. 起源

元胞自动机,一个古老的计算机模型

和上一篇介绍swarm theory里的一样,元胞自动机(以后简称CA)也是一种离散系统无论时间还是空间),简单的规则可以自下而上地生成出庞大的精态系统和丰富的空间形式。这些细胞将在一个统一的网格下,做有限的离散运动,而局部的规则变化又能引发整体的同步更新。这样一个看似随机性的结构,又能贴切基本的规则(rule),是很多问题简化的模型。因此元胞自动机在许多的领域上都有丰富的应用。



与生命系统和城市生长相似,元胞自动机因为其均匀状态、周期性、局部混乱性、不可逆性可以较为广泛应用在这些系统的模拟上。


举个例子,比如城市发展,假设人们有足够能力搬家,那么喜欢甜粽子的没法和咸粽子用户作邻居,于是他们会不停移居向甜粽子居民的聚集地,反之亦然。久而久之,这个城市就会形成新的光谱



而对于部分可咸可甜的居民或者口味转变的居民来说,他们就是这个系统中的混乱因子,他们可能会停留在原住址或者迁移至对方阵营,因此,最后自然生成的城市结构,也会成为局部聚集而结构丰富的城市空间。



所以,对于甜粽党来说,它的规则是:“呀,周边好多咸粽党,我选择死亡!”“周边甜咸比例尚可,移民太麻烦,就保持原样。”“哇,突然那么多人转变口味变成甜党了,我复活啦”

所以,元胞自动机作为一个动态模型,可以模拟生物群落(生态学),人类行为(社会学),计算机图形(计算机科学)甚至磁场电场,所涉甚广。


2. 炼蛊

用元胞自动机炼蛊,你值得拥有

为什么觉得元胞自动机像炼蛊呢,看看,蛊字的虫鸟体简直就是和元胞自动机的图形很像嘛。


况且,其实元胞自动机还经常被戏称“煮汤”(soup),其随机性在某种程度上甚至也吸引了许多高玩。就像Minecraft风靡一时一样,通过简单的单元体构成大世界一直以来都是很多人的心头热。元胞自动机也是这样的,但和Minecraft有所不同的是,元胞自动机更加具备随机性。就像炼蛊一样,把毒虫放进去,最后孰死孰生还是个谜呢。

 

在元胞自动机里,不同的规则和环境都会生成不同的图样,对于许多爱好者来说,就是一场炼蛊大戏嘛。


好事者还把这些图样根据其图形特征取了许多的有趣名字,有代表性的比如滑翔机(可以无限增长)、凤凰(每一代,它的每一个活着的细胞都会死去,但整个图样并不会死)、闪烁者(所有的细胞横竖相连成一个整体所构成的振荡子)、锯齿(人口没有上限但并不趋向于无穷大的图样)、宇宙飞船等等。


元胞自动机的滑翔机

元胞自动机的锯齿


实际上,这种拓扑的过程由于规则的巧妙设置,可以产生不同的图样,也是令程序猿们开心的事情。许多的艺术家也经常参与到这样的“炼蛊”过程中,享受计算机图形的魅力。在上帝视角制定规则,然后让这个宇宙进行自我演变,最后看形成什么样的物种,也是许多创世神们爱干的事情。



 

另外笔者还发现一个很有趣的网站,记录了大量的炼蛊结果,喜欢的朋友可以试着练练。另外,大面积炼蛊更有可能得到高级素材,说不定炼出橙装也是可以滴。


http://wwwhomes.uni-bielefeld.de/achim/freq_top_life.html



3. 建筑设计的应用

元胞自动机,建筑的堆砌者,时代的奠基人 

在建筑方面,CA也是运用广泛。只要确定了不同的基本型和拼合规则后,建筑搭建就可以自组织了。而这些规则里所蕴含的“消减”“繁殖”等等概念正是建筑可以由小到大,逐渐拼合的过程。小小的UNITS设计完毕,组合规律RULE确定完毕,那么设计部分就可以交给计算机来进行计算。


http://papers.cumincad.org/data/works/att/caadria2017_101.pdf

而这也是AI可以代替的部分。AI通过信息挖掘、机器学习等步骤将建筑格式转换,重新进行拼接,可以有效地组织很多新格式和满足要求的排列方式。(所谓的计算机总平面强排,基本原理也是通过计算机进行组合方式的学习从而演算出更大规模的排列方式)



http://papers.cumincad.org/data/works/att/caadria2017_101.pdf

比如将建筑形式(Housing Types)和场地信息、社交消减等元素输入进建筑,在加上日照信息,就可以很有效地进行符合日照计算的建筑形态。可以最大限度地争取日照,又能非常有趣的随机组合。对于人来说很大的工作量,通过程序语言和计算机辅助可以很快地实现。



http://papers.cumincad.org/data/works/att/caadria2017_101.pdf


这也是大数据可以和建筑接轨的地方,通过统计人类的需求,未来的AI可以很有效地将大数据结合进建筑设计里,并有效地解决很多客观条件。比如这个设计里,日照问题和社交关系被计算机快速的解决了。一切重复计算的东西,一切可以通过经验学习的东西,都会是未来AI可以针对的领域。


而CA这个看似简单的模型,却寓意着AI可以逐渐进入建筑界的重要阶梯。它将本来需要建筑师等人脑进行复杂思考的东西,按多个进程,简化成能够利用数据快速解决的方面。建筑师在设计这类高层的时候,往往会通过自身的经验、人行为的考量、体块关系、美学元素以及结构构造。而这种东西,对于拥有大量信息流的AI来说,是不存在的。那么以后建筑师的工作也将不再做繁琐的案例分析,相应地会有专门为AI输送组合算法和新的单元体的工作者,通过局部的创新带动大创新。



实际上,高层建筑的施工过程,很大程度上也是建筑体量堆砌的过程。从CA的思路来开,建筑更像是从微小的单元,逐渐累积成的综合体。而单元体之间的相互关系,往往是建筑师们关心的焦点之一。而CA在某种程度上既可以实现单元体的有效组合,又可以保证他们不尽相同,通过算法的随机性保持结果的多样性



可见元胞自动机是存在非常强大的几何潜力的,通过细胞的分化和扩张,可以很有效地产生全新的几何形态。每一层有不同的分化方式,下面一层又能影响上面的扩张,最终形成各式各样的几何堆积体。


 那么回到问题的关键。实际上计算机虽然能代替很多人为的计算,但建筑师也可以插手体量设计、拼接关系的实验和其算法的编译。Bartlett学院的RC4,曾今做过许多这样拼接关系的实验。通过数量、支撑、体量大小、



Bartlett. RC4

不同的体量搭接和拼接物的设计,都能影响建筑物的整体形态。能够非常有效地进行空间结合。这种单元体-组合方式的设计手法,可以自下而上地进行建筑设计。另外在隔壁AA SCHOOL,也有可以自动进行拼装的组合机器,甚至可以自己完成拼装。


AA SCHOOL OF ARCHITECTURE


那么在未来科技AI主导的住房,说不定可以为居民进行量身定做住房,通过不同的组合,将住宅体量进行重新组合设计,可以高效地提高了建筑可变性和适应性。同时,具有智能的单元体也可以互相识别,进行自我搭建,省去了大量的人力。(颤抖吧,搬砖的同志们。


4. 城市设计

元胞自动机:城市设计我也要插一脚

和建筑设计类似,CA做城市设计也是可以通过类似的算法方式进行组合。不同的组合,可以在城市的发展中,相互影响,从而在时间转换、空间转换的时候让城市自发的进行转变。可以建立城市生成模型,并很大程度地预测城市发展的未来。


https://remap.wordpress.com/page/2/


在城市的发展过程中,很多参数都可以被运算进规则RULE里。土地使用、高度、城市人口、交通、发展水平等等,在影响因素众多的城市模型中,用传统的手法往往很难实现。而进行一定的城市模型的建立,可以更加有效地解决城市发展问题。比如下图当初的发生点主要选取了两个城市,而最后得到的结果是一个互相交融的城市共合体。颜色表示土地使用LAND USE。



体会了建筑的体量以及他们的组合方式,建筑是一种城市,城市也可以是一种建筑。城市形态和人们的使用,都可以进行规律性运算,这也是AI可以涉足的地方。通过总结城市形态,了解城市组合方式,结合大数据分析土地使用和交通,可以更好地提供城市基础建设的模拟。这也可以弥补元胞自动机的许多缺点,更加完善城市模型的建立。


  http://www.biothing.org/?author=1


城市形态虽然很多都是自发的,但他们已然遵循了许多规律。探索事物本质是西方很多建筑师的方向。在美国的大城市死与生中,均匀布置的城市,大面积人为的方格规划常常为人诟病。相反,很多自发组织形成的城市结构已经吸引了很多建筑师的目光。他们的搭建方式和空间组合,如果能够以城市编码的视角去体会,可以得到更多的本质结合关系。


https://ead20102011md.wordpress.com/2010/12/04/global-masterplan-massing/


组合方式的魅力,正如协同的1+1>2的思路,使得单元体之间利益最大化。就像细胞生长一样,如何取得最大营养又避免死亡,既符合丛林规则,又可以实现功能最大化利用,所以探索事物之间的关联,这个本属于计算机的思路,也可以很好的适用于城市发展。


           http://www.biothing.org/?author=1


而这样的功能分布,或许能够更加贴切人类的生活与聚集本能。CA在现在看来有许多不足的地方,但它的思想依旧为后面建筑师设计城市模型提供了有效的参考。


从单元体出发,自下而上地解决城市问题,比本来生硬的宏观控制在很多方面更加合理。普通的规划师没办法一一调研人们需求,但计算机通过大数据的对接,可以解决人类之间的比邻关系、空间使用喜好、交通连接需求,土地功能要求及其远近关系。这些都能被AI快速地进行运算,并应用到城市设计预测中去。


而空间往往可以影响人类的心情和生活方式。那么AI也可以通过控制城市和建筑空间控制人类发展的走向呢?细思恐极呢。人的生命如一场游戏,而看不见的手操作着游戏的发条,渐渐将未来编写完毕。不过庆幸的是,这个游戏规则里还有随机性,在既定规则里当一个混乱因子也是这世界更加丰富多彩的程序根本咯。


参考文献:

http://www.biothing.org/?author=1

https://ead20102011md.wordpress.com/2010/12/04/global-masterplan-massing/

https://remap.wordpress.com/page/2/

http://papers.cumincad.org/data/works/att/caadria2017_101.pdf






    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存