|
发表于 27-11-2008 01:09 PM
|
显示全部楼层
回复 19# geekman 的帖子
楼主是用什么语言编程?小弟以往写过一个C/C++的
algorithm 方面没记错是和楼上说的minimax之类的
如果要的话小弟去找一找然后share出来
另外,楼主的方式并不是真的教会电脑玩游戏,只是把自己的rule写进程式里,和hardcode没什么分别。个人比较有兴趣的是,如何以不把玩法写进去而让电脑学会,比如说牛肉网之类的
ps小弟不是这里的常客,要的话请pm我 |
|
|
|
|
|
|
|

楼主 |
发表于 28-11-2008 11:14 PM
|
显示全部楼层
我使用的是C/C++,最近正在自学C#。
把自己的rule写成规则,让电脑懂得根据游戏规则应对敌手的进攻,并为自己创造胜利条件,进而赢得游戏,这不是教会电脑玩游戏吗?那蚂蚁兄心目中的“教会电脑玩游戏”又是怎么样的呢?可否分享一下?
既然你提起牛肉网,我想你心中所指的是泛意的“教导电脑通过经验而学习如何应对面对的问题”进而延伸到“电脑在奇迹般的领悟出游戏的规则”进而自行学会玩游戏,呃,也就是通过神经网络(也就是所谓的牛肉网,Neural Net)模拟人工智慧并升华到“电脑产生独立意识,升华为新的机械生命体”的科幻题材。。。很可惜,目前的科技还没有达到这样的阶级。即使是和俄罗斯国际象棋大师拼个你死我活的深蓝,也是得靠hard coding来学会国际象棋的基本玩法,然后才通过强大的运算能力进行深层预测运算,加上神经网络的学习功能,才能获得跟象棋大师比拼的能力。如果只是给深蓝输入一个牛肉网软件,相信深蓝到现在还搞不懂国际象棋是什么咚咚,更别说和象棋大师作生死斗了。
不知我说的对不对?
[ 本帖最后由 geekman 于 28-11-2008 11:16 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 30-11-2008 09:48 PM
|
显示全部楼层
tic tac toe 用 neural network 可能还可以。。。
国际象棋就很难了吧。。 |
|
|
|
|
|
|
|
发表于 1-2-2009 12:22 PM
|
显示全部楼层
回复 1# geekman 的帖子
对于classic AI来说这是search 的问题:
推测 (assumptions):
大家要将游戏玩的最好.
最基本有minimax 算法:基本概念是2 players,一个要尽量增强自己的好处(max), 另一个(对手)要尽量减低对方的好处(min). 下一步是search space. 例如说tic-tac-toe刚开始有9个空位,所以1层 search tree的大小是9. 然后算法要打分, 例如说中心的要多点分, 旁边角落的少点,边沿的最少等等. 分数多少一般来说有规则, 例如说admissible heuristics..
还有是说search tree可以有许多层, 这样一来算法可以多考虑对手下几步棋子, 让它更厉害. 调整难度一般来说可以将search tree设浅些, 或加些随机值在tree里让你的heuristics没那么准.
这些都是些基本方法. minimax只适合于小游戏, 大游戏至少得用A* |
|
|
|
|
|
|
|
发表于 3-2-2009 12:24 AM
|
显示全部楼层
赢了人类大师级国际象棋的深蓝... ai 都是靠defined patterns... |
|
|
|
|
|
|
|
发表于 4-2-2009 11:03 AM
|
显示全部楼层
|
|
|
|
|
|
|

楼主 |
发表于 4-2-2009 12:32 PM
|
显示全部楼层
牛肉网=neural network,当初我在求学时,我的一个同学时常跟我提起这咚咚,当时我听到烦了,就干脆称之为牛肉网,果然让他大大的失去继续和我谈论这玩意儿的兴趣。。。 |
|
|
|
|
|
|
|
发表于 4-2-2009 07:48 PM
|
显示全部楼层
哦 。。。还有一个酱有趣的故事。LZ 继续 。。。
游戏AI的演算,也可算是很耗资源的吧我想 。。。 |
|
|
|
|
|
|
|

楼主 |
发表于 5-2-2009 10:59 AM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 5-2-2009 05:42 PM
|
显示全部楼层
原帖由 geekman 于 5-2-2009 10:59 AM 发表 
不敢再发表什么了,被各位高手教训后惊然发现我对游戏开发的认识是那么的幼稚,对什么 AI 啊之类的完全没有什么认识(虽然我一开始就说明了这不是 AI 教学帖),写了出来只会被人批评“这不是最强的!”,“这不是以 ...
不要在意人家说什么嘛 。。。有批评才有进步。很简单的道理。 |
|
|
|
|
|
|
|
发表于 5-2-2009 09:48 PM
|
显示全部楼层
同感觉得牛肉网这个名字很有趣
LZ 不要气馁。。我们来共同学习吧。。。
一个多月前刚写完了我的五子棋的游戏,虽然有点bug但是我觉得还是可以接受了。。
不过code有点乱
本来想贴上来这里可惜贴附件太麻烦了。。。 |
|
|
|
|
|
|
|
发表于 5-2-2009 10:08 PM
|
显示全部楼层
鸟哥怎么也来了?
回复 31# chingjun 的帖子
没关系啦, 直接贴上来。。。
一起研究研究 |
|
|
|
|
|
|
|

楼主 |
发表于 5-2-2009 10:11 PM
|
显示全部楼层
谢谢两位的鼓励
目前应该不会发表些什么主题,因为我正处在低潮期,一些游戏设计的project都搁置了,工作又繁忙(我的工作跟学校有关,现在学校开学了,就得忙着应付那方面的问题和要求),只好暂时修养身心吧。 |
|
|
|
|
|
|
|
发表于 5-2-2009 11:24 PM
|
显示全部楼层
原帖由 tensaix2j 于 5-2-2009 10:08 PM 发表 
鸟哥怎么也来了?
回复 31# chingjun 的帖子
没关系啦, 直接贴上来。。。
一起研究研究
code 找了一下应该是被我留在北京了要等月尾才能拿到了。。
这里只有executable
如果要的话可以PM我email我send过去给你。。。 |
|
|
|
|
|
|
|
发表于 6-2-2009 12:48 AM
|
显示全部楼层
原帖由 tensaix2j 于 5-2-2009 10:08 PM 发表 
鸟哥怎么也来了?
回复 31# chingjun 的帖子
没关系啦, 直接贴上来。。。
一起研究研究
唔 。。。不小心进来。不过这是个有趣的帖 。。。我会继续看下去!
我以前有一段短时期,也是写些小玩意儿玩玩 。。。那是用VB5/6写。不过一阵子过后我的电脑报销掉。所有数据完全没有了 。。。我改用linux只有就不再玩了。现在这些咚咚,我差不多忘得一干二尽了。
[ 本帖最后由 斷羽鳥 于 6-2-2009 12:57 AM 编辑 ] |
|
|
|
|
|
|
|
发表于 3-6-2009 07:26 PM
|
显示全部楼层
原帖由 tensaix2j 于 28-10-2008 10:29 PM 发表 
tic tac toe 有这么复杂meh
很久以前我想出一个蛮简单的 algorithm
电脑,每次会先 以下次序来check and 填
1. 格子 i(一到九) , 若填下i去可以直接至胜,就填i ,return,
若没 ,继续以下
2. 格子 i ( ...
还要有多步预算法:
人下 1
电脑下 5
人下 9
电脑下任何角头 (3 或 7) 就自杀
而电脑也会 random 用这招,或者先下中间来玩。
在 othello 黑白翻转棋里这个更是需要用到,
有时下角头未必会拿到更多子。。。 |
|
|
|
|
|
|
|
发表于 21-8-2014 03:39 PM
|
显示全部楼层
Good job! geekman. 大马需要你这种实务和无私分享的专才才会更进步! |
|
|
|
|
|
|
|

楼主 |
发表于 7-10-2014 08:58 PM
|
显示全部楼层
martinng 发表于 21-8-2014 03:39 PM 
Good job! geekman. 大马需要你这种实务和无私分享的专才才会更进步!
汗一下。。。最近很少在软件开发这块长草区出没了。。。
|
|
|
|
|
|
|
|
发表于 10-10-2014 11:45 AM
|
显示全部楼层
geekman 发表于 5-2-2009 10:11 PM 
谢谢两位的鼓励
目前应该不会发表些什么主题,因为我正处在低潮期,一些游戏设计的project ...
每次都觉得geekman很认真写帖子的,让人学习蛮多东西的。
|
评分
-
查看全部评分
|
|
|
|
|
|
|
发表于 11-10-2014 07:55 PM
|
显示全部楼层
geekman 发表于 7-10-2014 08:58 PM 
汗一下。。。最近很少在软件开发这块长草区出没了。。。
哈哈。真的很少见到你在cari“蒲”了 ~
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|