2008/12/10

27

遗传程序:蒙娜丽莎的演化

nonu , 05:15 pm / 5,047 pv / 分享到微博

遗传程序:蒙娜丽莎的演化
Roger Asling 写了一个神奇的程序,它可以从数码图像生成一段“DNA”字符串,然后根据这个 DNA 画出多边形模块(patten)。随着模块的不断增长变异,会发现生成的图像越来越像原始的图案。在拿世界名画《蒙娜丽莎》做实验时,Roger 同学在重复运算了 904,314 次以后生成了50个多边形,从它组成的图形里已经隐约能看到那个神秘的微笑美女了。Roger的连接里有超大图。(需代理)

# update——

43 说 :

不就是信号处理的卷积和解卷积么

ACG 说 :

转一段某地方对这个新闻的评论:

这应该不能算是进化论的遗传算法吧, 这是神创论算法......

神已经设计好了一个最终模型(最优解, 在这里就是蒙娜丽莎的原作), 然后往那个上面慢慢地修正 (而且算法里没有交配, 只有变异, 每次改变一下 DNA序列, 看来是单性繁殖的)。
遗传算法的目的是为了找到那个未知的最优解, 有一个类似自然选择的优胜劣汰的评估的函数来评估每次的得出来的解, 然后试图找到最优的解。

这个是既然已经知道最优解了, 每次把他的序列往解的方向修改一小点, 当然最后最收敛到最后的解了。 这个当然也可以说是遗传算法, 只不过它的评估函数就是他的解。 知道最优解了往解上靠, 和不知道解要求解, 我觉得还是挺不一样的。

Source

[ 上 ] [ 下 ]已有27条评论

  1. lansild @ 2008-12-10 17:17:54 #1

    职业沙发党

    oo (0) / xx (0)
  2. INNANCY @ 2008-12-10 17:19:11 #2

    看成DNA代码了。

    oo (0) / xx (0)
  3. lansild @ 2008-12-10 17:19:16 #3

    意思是不是……以后图片可以随手写在纸上

    oo (0) / xx (0)
  4. solocm @ 2008-12-10 17:19:16 #4

    真够快的!

    oo (0) / xx (0)
  5. niuyoo @ 2008-12-10 17:23:29 #5

    从数码图像生成一段“NDA”字符串…关键是这字符串有多长
    ……..如果是很少的 一段 如何 保持他的可逆性?

    oo (0) / xx (0)
  6. xorms @ 2008-12-10 17:34:11 #6

    “它可以从数码图像生成一段“NDA”字符串,然后根据这个 DNA 画出多边形模块(patten)”

    到底是NDA还是DNA?

    oo (0) / xx (0)
  7. nonu @ 2008-12-10 17:35:50 #7

    @xorms: 纠结,我中了一种叫错别字的病毒 = =

    oo (0) / xx (0)
  8. cdds @ 2008-12-10 17:37:42 #8

    @nonu: 我估计你是受传染了。

    oo (0) / xx (0)
  9. Jon @ 2008-12-10 17:56:01 #9

    快点成立“煎蛋错别字纠正专杀办事处”…

    oo (0) / xx (0)
  10. xorms @ 2008-12-10 17:59:41 #10

    @niuyoo: 他不要求可逆吧~ 我看这玩意只不过是为了看看能不能用最少量的多边形来“复制”原画而已。当然,也可以间接证明“一只猴子也可以打出一篇莎士比亚的文章”……

    oo (0) / xx (0)
  11. Baiyssy @ 2008-12-10 18:00:49 #11

    遗传算法理论上可以同一个方法解决所有问题,除了它自己的问题——需要的计算量太大了,以至于在可以预见的将来都是不现实的

    oo (0) / xx (0)
  12. conwood @ 2008-12-10 18:20:53 #12

    超大压缩比的有损压缩算法?

    oo (0) / xx (0)
  13. Xing @ 2008-12-10 19:40:06 #13

    呵呵,未来机器人的抽象思维

    oo (0) / xx (0)
  14. 43 @ 2008-12-10 21:09:22 #14

    不就是信号处理的卷积和解卷积么

    oo (0) / xx (0)
  15. 菜刀 @ 2008-12-10 22:00:31 #15

    达芬奇密码?

    oo (0) / xx (0)
  16. ganxi @ 2008-12-10 22:53:44 #16

    神奇的算法。。

    oo (0) / xx (0)
  17. 整野 @ 2008-12-10 23:00:52 #17

    我很想知道这程序的原理,有商业价值~

    oo (0) / xx (0)
  18. ThickRoad @ 2008-12-11 02:15:23 #18

    @整野: 说说看嘛。

    oo (0) / xx (0)
  19. lansild @ 2008-12-11 03:18:29 #19

    @conwood: 等到计算机发展到一秒能运算这玩意 904,314,000,000……次,jpg就被取代了

    oo (1) / xx (0)
  20. ACG @ 2008-12-11 09:10:16 #20

    转一段某地方对这个新闻的评论:

    这应该不能算是进化论的遗传算法吧, 这是神创论算法……

    神已经设计好了一个最终模型(最优解, 在这里就是蒙娜丽莎的原作), 然后往那个上面慢慢地修正 (而且算法里没有交配, 只有变异, 每次改变一下
    DNA序列, 看来是单性繁殖的)。
    遗传算法的目的是为了找到那个未知的最优解, 有一个类似自然选择的优胜劣汰的评估的函数来评估每次的得出来的解, 然后试图找到最优的解。

    这个是既然已经知道最优解了, 每次把他的序列往解的方向修改一小点, 当然最后最收敛到最后的解了。 这个当然也可以说是遗传算法, 只不过它的评估
    函数就是他的解。 知道最优解了往解上靠, 和不知道解要求解, 我觉得还是挺不一样的。

    Source

    oo (0) / xx (0)
  21. 早饭=果汁+煎蛋 @ 2008-12-11 09:47:33 #21

    顺便给大家出道题:在一张A4(8.3inch × 11.7inch)的纸上可以存储多少byte的信息?
    如果打印机是300dpi,黑白打印灰度阶数156.

    oo (0) / xx (0)
  22. jk @ 2008-12-11 09:53:57 #22

    @nonu 速度够快!

    oo (0) / xx (0)
  23. Klesh @ 2008-12-11 10:56:59 #23

    ACG正解,不是遗传算法。

    oo (0) / xx (0)
  24. btfy @ 2008-12-11 15:04:10 #24

    貌似可以用一个叫JGAP的JVAV包在eclipse里实现

    oo (0) / xx (0)
  25. Zx.MYS @ 2008-12-11 18:27:03 #25

    @ACG: 没听说过神创论算法这种东西,GOOGLE+BAIDU没得出什么结果。

    oo (0) / xx (0)
  26. Zx.MYS @ 2008-12-11 18:32:12 #26

    @ACG: 而且,哪里有说已知最优解?达芬奇是用50个多边形画出来的么?

    oo (0) / xx (0)
  27. just.魔王 @ 2008-12-13 17:42:22 #27

    - - 这个问题很严重啊··

    oo (0) / xx (0)

填写称呼和邮箱即可发布评论[ 上 ] [ 优 ] [ IMG ]