游戏开发论坛

 找回密码
 立即注册
搜索
楼主: fsfool

mir3 源代码研究

[复制链接]

45

主题

1163

帖子

1165

积分

金牌会员

Rank: 6Rank: 6

积分
1165
发表于 2008-4-20 08:45:00 | 显示全部楼层

Re:mir3 源代码研究

好杂好深好牛X

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2008-4-20 20:06:00 | 显示全部楼层

Re: 第66讲: 研究计算机系统要有一个宇宙学的高度

fsfool: 第66讲: 研究计算机系统要有一个宇宙学的高度

这里是早期在自然科学上发表的文章,希望能给您们一点启发.

           所有自然系统都是计算机
http:/...


与霍金齐名的罗杰·彭罗斯早在十几年前就在《皇帝新脑》中,
讨论了图灵机和算法的原理,并批判“基于算法的人工智能就像皇帝的新装”
彭罗斯还提到,不是所有问题都可以用算法计算。比如:

图灵机停机问题,(百度上有伪代码的证明)
无理数。(这种东西是“不可计算数”)
随机数。(真正的随机数是不可计算的)

所以,彭罗斯断言,计算机根本不可能拥有智能。


几年后,彭罗在《ペン?ロ?ズの量子?理?》(中国没有卖的)
一书中提出了一种“意识的量子论”,大意说,
意识,发生在神经元的微小管的中。


如果计算有限位数的圆周率,追求计算机是很有意义的;

如果是真正的智能,串行计算机系统,是极其慢的。
使用那么多晶体管,却不能并行执行任务,真是可笑。
说难听点,一块CPU还不如一个收音机的音频处理性能。
(如果CPU性能好的话,就不需要声卡,显卡,Shader这些东西了)


CPU == 植物人,但数学超强

模拟电路 == 智能,但数学超弱

4

主题

106

帖子

115

积分

注册会员

Rank: 2

积分
115
 楼主| 发表于 2008-4-24 01:06:00 | 显示全部楼层

公布战胜人类顶级围棋棋手的"砍树+Monte Carlo 算

砍树+Monte Carlo算法及其原理
提要:本文给编制战胜人类顶级围棋手的程序指出编程时使用的算法及其原理。
几十年来经典计算机博弈界的一个最大的误区是谈到搜索法时老是在讲博弈树.这导致围棋问题的建模错误,因此难以出现突破.
现在已经研究清楚,大多数棋类博弈的数据结构并不是树,而是更一般的图,具体地讲是一个森林.特别是对围棋,其数据结构也是图,但这个图有一些很特别的地方,使得我们可以简化我们的算法为一个多项式的复杂度.我称之为"同态分支概率密度置信",而结点的空间密度分布是极端不均匀的,现已经找到办法,就是在围棋博弈森林中如何使用Monte Carlo算法的变种使得在博弈过程中,博弈方由一棵博弈树跳向另一棵博弈树的过程中,保持一个最大机会不是跳向一棵清晰的,在多项式时间复杂度和空间复杂度内可最终解决的问题的简单树,而是始终保持跳向50%机会是指数增长的复杂树,这样,在博弈森林中的重复博弈过程中,新算法始终保持自己有50%以上的机会跳向复杂度最大的树,如是乎不论是程序还是人类,都无法保证有50%以上的机会使用逆推归纳法穷尽这颗树,从而必须跳向森林中的另外一棵树.这样,使用了我的"森林中的同态分支预测和概率密度置信前向跳跃搜索"算法的程序,不论是和人类还是别的程序博弈,将最少有50%获胜的概率.
因此我们可以认为围棋问题的任何实例再上述策略下得到正确解的概率为p,并且有1/2<p<1 ,所以用Monte Carlo算法解围棋问题时,算法将在理论上是p正确的,该算法的优势为p-1/2。但对同一个局面,该策略总能给出同样的答案,所以Monte Carlo算法应用于围棋是一个一致的算法,如果我们在每一次运行时都独立的选择随机数,就可以将得到不正确的棋步概率变得小于一个指定的任意正整数,因此,Monte Carlo算法的改进算法:"森林中的同态分支预测和概率密度置信前向跳跃搜索"算法就是围棋问题的最终解。这应该就是围棋程序的最终解决方案了。
首先,围棋的初始局面无疑是一个具有时间指数复杂度的问题,目前我们仅仅需要作的是,找到一种算法,能在图的深度优先生成森林里,用多项式的时间找到另外一棵具有时间指数复杂度的树,首先该方法将遍历森林中的全部树改为搜索森林中的具有充分复杂度的树的问题,这就砍去了森林中的绝大部分树,然后再将遍历围棋博弈扩展形的复杂树问题转变变为在深度优先生成森林里寻找一棵(仅仅是无数棵复杂树中的一棵)复杂树的问题,这就又砍掉了剩下的无数棵树,最后将砍树的算法使用Monte Carlo算法优化,这样就又再砍掉了大部分的树,经过这样的砍伐,围棋搜索森林已经变为一种稀疏森林,但在这个稀疏森林中,仍然存在无数棵可以使用多项式时间算清的简单树,程序的任务并不在于找出最大的得分的棋步,而是将局面尽可能的维持在一个算不清的最复杂状态,等待对手犯错误而跳到一棵能算清的简单树上。一旦对手犯了一次错误,这盘棋程序就胜定了。当然程序也可能犯错误而被对手抓住,但与上文所指出,这个概率是1/2,所以程序就与人类的顶尖高手平起平坐了,如果再考虑到机器的不知疲倦的特性,就可以肯定在多盘的重复决战中,程序将战胜人类的顶级高手!
当然本文的结论并不是解决了围棋问题,只是解决了程序使用何种算法可以战胜人类顶级高手的问题。
如上文所指出,围棋问题目前最好的答案是:不贴目黑胜或者和的目数在0-1/4的范围,这个结果应该是目前世界上研究的最好结果了,不知会否有人能给出更好的结果。

这里是一个研究电脑围棋的地方,可以去看看.
http://www.computergo.net

7

主题

87

帖子

124

积分

注册会员

Rank: 2

积分
124
发表于 2008-4-24 03:58:00 | 显示全部楼层

Re:mir3 源代码研究

基于本人是搞3D的,故较少留意2D的东西,今天才看到此贴,楼主果然剽悍。
从走过的这么长时间来看,其实游戏不分2D或者3D,只分精品与垃圾。
2D游戏即使再过10年,随着制作方法的改变,依然有着长足的生命力。
暗黑 英雄无敌3 传奇2 3都堪称完美之作,即使在图形表现力不如3D,但是游戏性不差多少。
哪天闲下来了,也搞搞2D游戏,技术含量还是很高的。
但是国内还是有很多青年才俊的,而且也很努力,这边不能抹杀。
我很看好中国的游戏业。
当初偶就是玩传奇2才踏上游戏制作之路的,让我对生命充满了激情。
所以,这贴得....顶.
另外Nebula3不错,推荐大家看看。

0

主题

34

帖子

34

积分

注册会员

Rank: 2

积分
34
发表于 2008-4-24 15:56:00 | 显示全部楼层

Re:mir3 源代码研究

4

主题

106

帖子

115

积分

注册会员

Rank: 2

积分
115
 楼主| 发表于 2008-4-29 10:22:00 | 显示全部楼层

Re: mir3 源代码研究

这是一个研究电脑围棋的网站,里面有很多关于Monte Carlo算法的帖子,可以看看
www.computergo.net

4

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2008-5-23 11:22:00 | 显示全部楼层

Re:mir3 源代码研究

网上流传的地图结构貌似是对得上
typedef struct   
{
BYTE bFlag;
BYTE bObj1Ani;
BYTE bObj2Ani;
BYTE bFileIdx;
WORD wObj1;
WORD wObj2;
BYTE bDoorIdx;
BYTE bDoorOffset;
WORD wLigntNEvent;
WORD wLigntNEvent1;
}MIRMAPBLOCK;

可是如何取地图数据??以下是D803.map的16进制数据
00000000000000000000000000000000000000000000FA00FA00000002150002150002150002170002160002170002180002140002170002140002150002150002150002140002170002160002160002170002160002150002160002140002150002140002140002170002160002160002140002160002140002150002180002
可以简单分析到地图大小是 250*250,但是色深,调色板,图像数据如何取?请高手不吝赐教。。。另外小弟是学JAVA的,勉强能看懂部分C++。。。请大虾们讲解一下。。。

1

主题

13

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2008-6-12 16:08:00 | 显示全部楼层

Re: mir3 源代码研究

为什么不删这个帖子呀,发帖的这位人格有问题的,他把咱们国内人当低等白痴看待,大家看看他说的那些都是什么呀,我靠,这样帖子都能存在,斑竹白当了

0

主题

1

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2008-6-26 16:52:00 | 显示全部楼层

Re:mir3 源代码研究

楼上的jkgear,看了你的留言我特地来注册的,怀疑你是不是20岁以下的小屁孩,还分不清真正的好坏。
从楼主这么长时间来的坚持,不仅带给大家技术上的探讨,字里行间也饱含对国内开发届与学术界的一片苦心,恨铁不成钢,这些现象的确都存在,而且不是少数。
什么时候你用实际行动和能力证明一下自己的水平,让大家服你,否则就闭上你的嘴。真正有营养的地方你不吸收,反倒把苦口的良药当成毒药,如果你真的是一名开发人员,那我倒真替你感到担忧了。
这里要对楼主说声:谢谢了! 不仅因为您带来的技术,而且因为您敢说真话,为大家指明了方向。一片苦心,心领了!

0

主题

2

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2008-6-28 11:57:00 | 显示全部楼层

Re:mir3 源代码研究

我不是搞游戏的,但却也对游戏有着非常的喜爱。
我不知道是谁垃圾了,谁攻击谁了。

我知道的是,fsfool毫不吝啬的在这个贴子里提供给了我很多有用的信息,知识,代码。
很多部分都 是自己苦心研究的结果。不管如何,这些对于我这样的业余的想好好研究研究游戏的人来说是非常宝贵的。我见过很多人,你问他一个问题,他说了很多,却没有一句话是实质的。让人似懂非懂。另有一些人,对批判相当在行,但我不想学习如何批判,我来这里只想好好学学游戏。相对来说我非常喜欢fsfool这样的为人。

看得出, fsfool说起我们(大陆)一直存在很多不好的现象时话说的很激动, 事实上,很多不好的事情其实我们确实都习以为常,以至不认为是不好的了。但它们却一直存在,一直在影响着我们的各个方面。无论如何。。,说的都是现实存在的,他对此有担忧虽然这并不影响他什么,这一点是事实。

忠言一般都非常逆耳,因为指出是不足,所以会很逆耳,但也因此 能接受的人才会前进。
对于真正想进步的人,想进步而又没有方向的人,这才是真正金子。你现在到哪里能找到人能给真正指点些建设性的东西去。

我刚才看了一下,这个贴子二年多了,就这一点,我得上来表明一下想法,向fsfool说声谢谢。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-25 08:34

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表