以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 算法理论与分析 』  (http://bbs.xml.org.cn/list.asp?boardid=60)
----  猜数字有什么比较好的算法?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=60&rootid=&id=16713)


--  作者:asimov
--  发布时间:4/6/2005 10:32:00 PM

--  猜数字有什么比较好的算法?
有没有比信息量更好的?
--  作者:asadafag
--  发布时间:4/29/2005 11:20:00 AM

--  
好是什么呢……?只要把“好”的标准直接拿来,比如最坏情况下步数、平均步数之类,肯定是对状态最“好”的评价标准……主要问题是计算量吧。如果枚举所有决策,信息量已经够难算了。
--  作者:yczni
--  发布时间:7/21/2005 12:19:00 PM

--  
我研究猜数字的解题程序已有一年多了,有了一点结果,在这里发表一下,希望有兴的朋友顶一下,先谢谢大家了.
  现在网上有两类猜数字,一类是手机答题,或是李勇经常用的游戏,就是一个人猜,李勇还说是大了还是小了.我对这类猜数字不敢兴趣,我研究的是另一类猜数字,是文曲星随机产生一个数由玩家猜,玩家猜一个数文曲星会说出几A几B,大家可以在网上搜到这个游戏的各种版本和具体的玩法.我的任务就是做一个程序让电脑来猜文曲星随产生的数.
  从0123456789十个数字选出四个做一个排列共有5040种方法,我的任务是无论对方想什么数我都能用尽可能少的步数把它猜出来.
  我第一步习惯猜0123,如果你想让我猜的话,你想的那个数千万别是0123,如果是的话我一步就猜出来了.好了不多说了,说结果吧,这可是一年多的心血呀,本来不想发出来,但是想了想还是发出来吧,放在自己的肚子里不会有人知道.
  
第一步猜出:1
第二步猜出:5
第三步猜出:56
第四步猜出:585
第五步猜出:2421
第六步猜出:1893
第七步猜出:79
平均步数只有5.2649步
六步之内可猜出98.43%
五步之内可猜出60.87%

本来五步猜出率可以到61.3%多,我为了让第七步猜出的数尽可能的少(也可以说让六步的猜出率尽可能的大),所以做了一定的取舍,这是鱼和熊掌的问题.


网上有些软件称自己6步可以猜数所有的数,或者说只要六步就可以帮你搞定,那都是骗人的.我已经证明了,6次是不可能把所有数都猜出来的(也就是说,文曲星以一种方式报出几A几B,你就不可能在六次之内知道文曲星在想什么).

其实这种贴我发了很多,这次的结果是我目前得到的最好结果.
我的努力还没有完成,还在进一步工作中,还在寻找着怎能更快猜出的最佳答案.

我的研究也以由最开始的老算法,走到了新算法,现在我是在做着证明性的研究.


--  作者:yczni
--  发布时间:7/21/2005 12:24:00 PM

--  
我的qq:149588829
加我请注明是研究猜数字
欢迎转发我的贴子,最好注明是yczni发的,不胜感激
--  作者:kevin_
--  发布时间:2/21/2006 5:58:00 PM

--  这里找到一个链接,已求出最优搜索树
台湾省的。最优到了平均5.2131 步
http://www.javaworld.com.tw/jute/post/view?bid=35&id=138372&sty=1&tpg=1&age=0
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms