大家好 在这篇文章中,我想描述一下我在计算机上创建“人造生活”的实验。
看起来像什么?
图片是可点击的使用自己的规则在计算机上创建虚拟环境,并释放第一个简单的生物。 我称它们为机器人。 僵尸可能死亡或存活并繁殖后代。 后代可能与祖先略有不同。
好了,
进化和
自然选择就成为工作了。
我只能看着世界的发展。
对于创作者来说,越是意料之外的事情,世界发展的选择就越多样化,那么实验就可以越成功。
机器人的行为由其中编写的代码控制。
它是负责机器人行为的基因组代码,在进化过程中会发生变化。
代码的内部结构是项目中最有趣的事情。
该代码应该是简单的,并且可以承受自身上方的各种修改(代码中任何元素的意外更改),而不会出现语法错误。稍后我们将返回代码,首先我将描述世界本身。
“机器人世界”的描述
世界是一个二维的正方形场。 水平将其封闭成一个圆圈,也就是说,如果漫游器超出左侧边缘,它将显示在右侧。 上下移动受墙的限制。 按照设想,世界是水库的一部分,越高,从太阳获得的能量就越多。 在下半部分,太阳的能量不再可用。 实际上,这已经足够了。 我开始尝试这样的世界。
然后,他在底部添加了“矿物质”,您可以获取能量。 机器人可以获取的越深,越“矿物质”。 此后,世界的下部也开始有人居住。
机器人可以沿八个方向移动并探测相邻的单元格。
机器人可以吃掉相邻单元中的其他机器人。
机器人积累能量,当它们积累一定数量时,它们的克隆就会从中萌芽。
克隆中将同父程序一样写入同一程序,但在一种情况下,程序中随机更改了四个字节中的一个字节。 这可能不会以任何方式影响克隆的行为,因为并非基因组程序中的所有命令都已执行,因此大多数基因组可能不会涉及。 它也可能导致机器人在这个世界上生存的能力下降或提高。 在第一种情况下,机器人会死亡或无法留下许多后代。 如果机器人的能力得到提高,则很可能留下更多的后代,这将取代不太成功的邻居。
机器人不会死于晚年。 如果一个机器人的能量储备低于零,被另一个机器人吃掉并且已经积累了最大的能量,则它可能会死掉,但它应该被后代萌芽,但是四面楚歌,不能这样做。 死亡后,如果未被食用,该机器人会变成有机物,然后开始下沉直至遇到障碍。 之后,有机物仍然处于边缘状态。 其他机器人可以吃有机食品。
在这里,我简要介绍了机器人的虚拟世界,足以了解更多内容。 实际上,世界本身并不那么重要,您可以尝试不同的世界。 编码基因的工作原理更加有趣。
代码基因组
- . — ( ). (
), , , . , , . 64 . ,
.
, ( ) . ,
. . 64 , 64 ( 0 63).

.
23.
«». , , , . . , , ,
. ,
«»,
. -.

, 1
63. ,
0,
«»,
1. 1 —
63. ,
.
63
«», . . , , 64.
, .
. , 8 , .
64 (0..63) . .

,
25 «».
25 (), . , . 0 63, 8. , 8 . 8 (0..7) — , . (64) 8. . ,
, , .
,
, . . , « », .
,
« ?» , , , , , . 1 1000, 0 63. , , 15. :
0, 15, 30, 45, 60 ...... 945.
. .

() 10.
№10. 33, « ?».
(+1), , .
14*15=210
210, +2.
23. .
10+23=33.
33 №33
, 210, +3.
8. .
10+8=18.
18 №18
,
«»,
« »,
«»,
« » . , , , .

() 7.
№7. 26, «».
(+1), , .
18 % 8 = 2
, , , +2.
0. .
7+0=7.
№7. , .
.
, +3.
3. .
7+3=10.
10 №10 , , .
, +4.
43. .
7+43=50. 50 №50
, +5. 24. . 7+24=31.
31 №31
, +6.
59. .
7+59=66.
66. , 64 2 №2
, , . . . , .
, - , . , , .
.
. , . :
«»,
«»,
«»,
« » . (
,
«»,
«»,
« ?» ) 15 , .
, .
, . , , , . ,
«» «» , . 25 . , , , ,
. , ,
«».
.
. ,
«» , .
.
, , , , .

.
«»,


. - .
.

( ) .
,
«» . , 4 8.

. , , .
. , .
. . , .

. , . , . ,
( , ).

, , , . .

. , . . (-) .
, 7- , , , . ,
RomanoBruno Java. . .
, , . .
,
« ». - .


21 . , .

347 , .

2000 , . , . , , , .
, , .
, , .
,
«».
«» , .
, , - . . .
- , .
, , ( ).
-, , , , . , , .
, , .
-, , .
, . 93 « ». . , - .
, .
Pixilangyadi.sk/d/rLamoeyt3NBRwLRomanoBruno Java
GitHub.