為何有人說人類棋手幾乎不可能戰勝象棋軟件?
菜農不到6歲就開始下中國象棋,學過了很多古譜,還有楊官磷和胡榮華等特大的經典實戰對局棋譜。
故對如何讓外國人記憶中國象棋棋譜和計算機如何編碼非常感興趣。
在1981年就研究出了中國象棋數字編碼方案,
並在1983年用basic語言編寫了雙人下棋的棋盤並可以在電腦上兩人對局,還可以判行棋規則,違例就不允許走,並打出警告。
菜農的數字象棋編碼非常好記:
1.棋子名稱:
車1,馬2,相(象)3,士4,帥(將)5,兵(卒)7,炮8。
2.行棋規則:
(前)進6,(後)退9,平0。
棋子名就是棋子所在的縱線位置。
行棋規則更好記。
6的“小尖尖”指向“前”或“進”
9的“小尖尖”指向“後”或“退”
0無“小尖尖”,不能前進後退,肯定是橫著走,故為“平”也!!!
那時還沒有鼠標,故雙方用大小鍵盤(純數字鍵),每一步按棋規(棋譜)敲四個數字。
棋譜的每一步為四個數字,它可以拼接為兩個字節,並以BCD碼存儲。
數字的範圍從1102(車一平二)到9898(後炮退八),存儲為大端格式的0x1102到0x9898。
每個軟件可能都有自己認為的最佳的棋譜存儲格式及方案。
菜農編寫了可以把電腦當下棋工具後,第一個想法就是它不能與人下棋,只能人對人下棋,非常遺憾。
這就是菜農在1983年就開始編寫象棋軟件的想法,目前吃香的叫法就是“人工智能AI”。
當時的設計是開始搜索象棋特大們的精彩實戰對局和古譜,對比後選擇最佳招法,若找不到或不理想時,啟用“作戰模型”,它可以自主根據“最佳點”或稱為“急所”,選擇出一個至少不敗或不失先手的招法。
由於菜農是個人行為,故不可能完成如此巨大的軟件工程,但可以認為菜農也曾是“人工智能AI”的“先驅”……
菜農目前下棋就是利用了計算機編程的思維下棋,行棋運算速度奇快,讓很多棋友都感覺60歲的菜農反應速度太快了……
但是計算機的類似二叉樹的神經搜索網絡,是人類大腦無法達到的,雖然人的大腦可以創造出人工智能,但人類棋手是永遠不可能戰勝象棋軟件的。
下面幾張圖片是我當年的“手稿”……
人類棋手幾乎不可能戰勝象棋軟件的原因,我認為有以下三個方面:
人類有情而電腦無情
人有七情六慾,即使修養再好的人也會有情緒變化,心裡會產生波動,所以難免會犯錯。而象棋軟件不受情感困擾,它始終冷靜客觀地計算、分析著實時盤面,永遠不會累,基本上不會犯錯。
棋諺:走錯一步,滿盤皆輸。一個容易犯錯,一個從不犯錯,結果可想而知。在這一層面,象棋軟件完勝。
象棋軟件計算力強大
象棋歸根到底還是以計算為主的遊戲,人類的計算力和電腦的計算力相比,根本就不在一個檔次上。人類和象棋軟件對弈,就好比人徒步跟汽車比誰跑得快,比誰跑的遠,贏不了是理所當然的事。
人類計算慢而且不全面,而象棋軟件計算又快又周全,這一層面,又是軟件完勝。
象棋軟件是人類智慧的結晶
開發電腦軟件,需要一個優秀的團隊通力合作,不是一件容易的事。編程者不斷改進引擎算法,使現在的象棋軟件日趨科學化,幾乎變得無懈可擊;再加上他們請專業人員不斷製作、更新開局庫,把流行的、先進的佈局全部輸進了軟件裡,這樣象棋軟件的開中殘局都有了保證。
人類棋手畢竟都有自己的短板,和軟件下,就好像一個人和一個軍團在作戰,還有勝機嗎?在這一層面上,還是象棋軟件完勝。
人類發明象棋軟件的目的是為了輔助人類探索棋藝的奧妙,為人所用。當然也可以找一些棋力比較弱的軟件來練手,下面發一則先手勝象棋巫師(大師級)的對局。
象棋軟件集合了所有高手的棋譜,人類棋手每走一步,軟件都可以快速反應,以最佳招式佈局,跟它下就相當於以一敵百。另外,軟件與人類下棋的一個不同點是,電腦不會消耗腦力和體力,就算是人類頂尖高手,在與電腦下棋過程中由於消耗大量體力和腦力,難免會出現疲勞,一旦出現漏著,自然失敗。所以,像王天一,許銀川這樣的高手也不敢保證贏下軟件。
我曾經和象棋軟件下過,連贏三盤,
因為象棋的所有下法已經可以窮舉了。相比完美下法,你下錯任何一步就要輸。
別說象棋這樣的可窮舉的遊戲,就算是無法窮舉的圍棋人類也不是電腦的對手了。
2017年初阿爾法狗橫掃世界圍棋一流高手,從此封神!2019年初,阿爾法星際爭霸版出爐,以4:1的成績戰勝了世界頂級選手。
智力遊戲人類無法勝過人工智能,而它將註定改變整個人類的進程。
算法模型及算法數據量,邏輯判斷運算能力電腦和智能有絕對優勢
與其說打不贏電腦軟件,不如說打不贏數學家。