程序員們都是不被世人所理解的真正天才嗎?-請大家看這個數獨的解法


相關事件來自這個新聞:江蘇69歲農民3天破解“世界最難數獨”_新華時政_新華網

事情大體上是這樣的:

“芬蘭數學家因卡拉,花費3個月時間設計出了世界上迄今難度最大的數獨游戲,而且它只有一個答案。因卡拉說只有思考能力最快、頭腦最聰明的人才能破解這個游戲。”這是英國《每日郵報》2012年6月30日的一篇報道。這個號稱“世界最難數獨”的“超級游戲”,卻被揚州一位69歲的農民花三天時間解了出來。而這個具有初中文化的老漢,數獨游戲啟蒙正是源於揚子晚報。

 

上面就是題目,簡單說下,所謂數獨,就是如上圖,橫向豎向都用1到9填充.然后就是九宮,就是你注意到黑線分成的九個矩陣,也是1到9,下面是這位天才老頭用了三天給出的結果.

從答案可以看出,天才老頭把原題目給改了,然后花了3天算出一個答案,然后自然被封神了,也就是你看的新聞,可見,這就是廣大人民眼中的天才.

作為孤獨的程序員們,因為計算機與經和大腦密不可分,所以無論是做事還是其它,最終的結果都是人機合體的.所以他們往往能給出世人無法理解的答案和東西.比如:

通過自已的聰明,借助程序去完成.這當然也是本文的大體意思,如果用最粗造的算法,相信很一個會寫程序的人都可以寫出來,計算結果的時間看CPU能力,以現在的CPU,應該都可以很快給出結果.

有興趣的可以嘗試下,人加機器,多久能給出答案!

這里把結果貼一下:

8 1 2 7 5 3 6 4 9
9 4 3 6 8 2 1 7 5
6 7 5 4 9 1 2 8 3
1 5 4 2 3 7 8 9 6
3 6 9 8 4 5 7 2 1
2 8 7 1 6 9 5 3 4
5 2 1 9 7 4 3 6 8
4 3 8 5 2 6 9 1 7
7 9 6 3 1 8 4 5 2

當然,如果以為程序員們僅僅只能做到這一步,那就大錯特錯了.

下面還有更多的解:

1.Google搜答案,程序員很善於這個,有問題,找Google.

2.使用Google Goggles,這是個圖形搜索,只要把圖片拍下來一搜,結果都出來了.

3.使用數獨計算器軟件,當然也可以自已寫一個,那么不僅僅是上面這個數堵,理論上所有數獨的答案都有了.當然也可以輕松去做一個題.

當然,如果以為程序員們僅僅只能做到這一步,那就大錯特錯了.

終盤數量

數獨中的數字排列千變萬化,那么究竟有多少種終盤的數字組合呢?
6,670,903,752,021,072,936,960(約有6.67×10的21次方)種組合,2005年由Bertram Felgenhauer和Frazer Jarvis計算出該數字,並將計算方法發布在他們網站上,如果將等價終盤(如旋轉、翻轉、行行對換,數字對換等變形)不計算,則有5,472,730,538個組合。數獨終盤的組合數量都如此驚人,那么數獨題目數量就更加不計其數了,因為每個數獨終盤又可以制作出無數道合格的數獨題目。
 
當然,如果以為程序員們僅僅只能做到這一步,那就大錯特錯了.

標准數獨

目前(截止2011年)發現的最少提示數9×9 標准數獨為17個提示, 關於是否有16提示數的合格題目,網絡上也爭論很久,有發現16提示數雙解的,但是仍未發現唯一解。
在2006年Gary McGuire撰寫了程式,試圖通過暴力法來證明16提示數的數獨是否存在,方法很簡單,既然Bertram Felgenhauer和Frazer Jarvis已經計算出不等價的終盤總數為5,472,730,538個,那么將每個終盤是16提示的情況都跑一遍,如果沒有找到16提示的數獨,那么就可以證明最少提示數為17個。
但因為是暴力方法,對於一台單核的電腦來說需要跑30萬年才能跑出結果。
經過很多人及團隊努力,最后 Gary McGuire的團隊在2009年設計了新的算法,利用Deadly Pattern的思路,花費710萬小時CPU時間后,於2012年1月1日提出了9×9標准數獨不存在16提示唯一解的證明,繼而說明最少需要17個提示數。並將他們的論文以及源代碼更新在2006年的頁面上。
 
由此可見,程序員們借助聰明的腦袋,加上計算機的強大計算機能力,可以完成的事情,已經遠遠超越普通老白姓,尤其是對電腦理解不是很深的群體的理解范圍,所以程序員們不容易被世人所理解也很正常.
你只要稍微借助計算機,就可以完成一般人無法想象的事情.給出他們難於置信的答案,而這種能力已經無法用普通的,不借助計算機所無法理解和承受的范圍.
再回顧一下:

芬蘭數學家因卡拉,花費3個月時間設計出了世界上迄今難度最大的數獨游戲(難度大的依據是什么?)
江蘇69歲農民3天破解“世界最難數獨”(改了題目)

那么作為一個程序員的你,你可以在這方面,你怎么去出題和去破解呢?你要花多少時間呢?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM