शतरंज कंप्यूटर कैसे काम करते हैं

Apr 01 2000
क्या आपने कभी सोचा है कि कैसे $30 का प्रोग्राम आपको शतरंज में लगातार हरा सकता है? कंप्यूटर शतरंज कार्यक्रम अपने गेम प्लान की गणना फ़ार्मुलों के आधार पर करते हैं - एल्गोरिदम जो यह निर्धारित करते हैं कि कोई स्थिति "अच्छी" है या "खराब", पूरे बोर्ड को ध्यान में रखते हुए।

यदि आपने कभी किसी व्यक्ति को शतरंज खेलना सीखते हुए देखा है, तो आप जानते हैं कि एक मानव शतरंज खिलाड़ी बहुत सीमित क्षमताओं के साथ शुरुआत करता है। एक बार जब कोई खिलाड़ी उन बुनियादी नियमों को समझ लेता है जो प्रत्येक टुकड़े को नियंत्रित करते हैं, तो वह शतरंज को "खेल" सकता है। हालांकि, नया खिलाड़ी बहुत अच्छा नहीं है। प्रत्येक प्रारंभिक हार एक आश्चर्य के रूप में आती है - "ओह, मैंने इसके बारे में नहीं सोचा था!" या "मैंने उसे आते हुए नहीं देखा!" सामान्य उद्गार हैं।

मानव मन इन अनुभवों को अवशोषित करता है, विभिन्न बोर्ड विन्यासों को संग्रहीत करता है, कुछ तरकीबों और चालों की खोज करता है, और आम तौर पर खेल की बारीकियों को एक बार में एक चाल से सोख लेता है। जैसे-जैसे कौशल का स्तर विकसित होता है, खिलाड़ी अक्सर सर्वश्रेष्ठ खिलाड़ियों द्वारा उपयोग किए जाने वाले खेल के पैटर्न की खोज करने के लिए किताबें पढ़ता है। प्रत्येक खेल के माध्यम से खिलाड़ी का मार्गदर्शन करने के लिए रणनीति और रणनीति विकसित होती है।

एक इंसान के लिए, इसलिए, शतरंज के खेल में उच्च-स्तरीय अमूर्त विचार शामिल हैं - बोर्ड की स्थिति, नियमों और दिशानिर्देशों, सचेत विचार और यहां तक ​​​​कि मनोविज्ञान को याद करने के लिए दृश्य पैटर्न।

कंप्यूटर ऐसा कुछ नहीं करते हैं।

शतरंज एक विशिष्ट मानवीय गतिविधि की तरह लगता है, जिसके लिए बुद्धि और विचार की आवश्यकता होती है, तो कंप्यूटर संभवतः इसे कैसे कर सकता है?

इस लेख में, हम इस प्रश्न पर एक नज़र डालेंगे। आप जो पाएंगे वह यह है कि कंप्यूटर वास्तव में लोगों की तरह शतरंज "खेल" नहीं देते हैं। एक कंप्यूटर जो शतरंज खेल रहा है वह "सोच" नहीं है। इसके बजाय, यह फ़ार्मुलों के एक सेट के माध्यम से गणना कर रहा है जो इसे अच्छी चाल चलने का कारण बनता है। जैसे-जैसे कंप्यूटर तेज और तेज होते गए हैं, इन परिकलित चालों की गुणवत्ता बेहतर और बेहतर होती गई है। कंप्यूटर शतरंज कैलकुलेटर अब ग्रह पर सबसे अच्छे शतरंज खिलाड़ी हैं, भले ही वे इसे पूरी तरह से आँख बंद करके करते हैं।

कंप्यूटर और शतरंज

कंप्यूटर शतरंज में वर्तमान अत्याधुनिक काफी जटिल है, लेकिन इसमें सभी में अंधा गणना शामिल है जो मूल रूप से बहुत सरल है।

मान लीजिए कि आप एक खेल की शुरुआत के लिए स्थापित एक शतरंज बोर्ड से शुरू करते हैं। प्रत्येक खिलाड़ी के पास 16 टुकड़े होते हैं। मान लीजिए कि सफेद शुरू होता है। व्हाइट में 20 संभावित चालें हैं :

  • श्वेत खिलाड़ी किसी भी मोहरे को एक या दो स्थिति में आगे बढ़ा सकता है।
  • श्वेत खिलाड़ी किसी भी शूरवीर को दो अलग-अलग तरीकों से स्थानांतरित कर सकता है।

श्वेत खिलाड़ी उन 20 चालों में से एक को चुनता है और उसे बनाता है।

काले खिलाड़ी के लिए, विकल्प समान हैं: 20 संभावित चालें। तो काला एक चाल चुनता है।

अब सफेद फिर से चल सकता है। यह अगला कदम उस पहली चाल पर निर्भर करता है जिसे सफेद बनाने के लिए चुना गया था, लेकिन लगभग 20 या तो चालें सफेद बोर्ड की वर्तमान स्थिति को देखते हुए बना सकती हैं, और फिर काले रंग में 20 या तो चालें चल सकती हैं, और इसी तरह।

कंप्यूटर शतरंज को इस तरह देखता है। यह "सभी संभव चालों" की दुनिया में इसके बारे में सोचता है, और यह उन सभी चालों के लिए एक बड़ा पेड़ बनाता है , जैसे:

इस पेड़ में सफेद रंग के लिए 20 संभावित चालें हैं। सफेद क्या करता है इसके आधार पर, काले रंग के लिए 20 * 20 = 400 संभावित चालें हैं। फिर सफेद के लिए 400*20=8,000 हैं। फिर काले के लिए ८,००० * २० = १६०,००० हैं, इत्यादि। यदि आप शतरंज की सभी संभावित चालों के लिए पूरे पेड़ को पूरी तरह से विकसित करना चाहते हैं, तो बोर्ड पदों की कुल संख्या लगभग 1,000,000,000,000,000,000,000,000 है,

000,000,000,000,000,000,000,000,000,000,000,000,000,000,

000,000,000,000,000,000,000,000,000,000,000,000,000,000,

०००,०००,०००,०००, या १० १२० , कुछ दें या लें। यह बहुत बड़ी संख्या है। उदाहरण के लिए, बिग बैंग के बाद से केवल 10 26 नैनोसेकंड हुए हैं । माना जाता है कि पूरे ब्रह्मांड में केवल 10 75 परमाणु हैं। जब आप मानते हैं कि आकाशगंगा आकाशगंगा में अरबों सूर्य हैं, और अरबों आकाशगंगाएं हैं, तो आप देख सकते हैं कि यह बहुत सारे परमाणु हैं। संभावित शतरंज चालों की संख्या से यह संख्या बौनी है। शतरंज एक बहुत ही जटिल खेल है!

कोई भी कंप्यूटर कभी भी पूरे पेड़ की गणना नहीं करेगा। एक शतरंज कंप्यूटर जो करने की कोशिश करता है वह भविष्य में बोर्ड-पोजीशन ट्री पांच या 10 या 20 चालें उत्पन्न करता है। यह मानते हुए कि किसी भी बोर्ड की स्थिति के लिए लगभग 20 संभावित चालें हैं, पांच-स्तरीय पेड़ में 3,200,000 बोर्ड की स्थिति होती है। 10-स्तर के पेड़ में लगभग 10,000,000,000,000 (10 ट्रिलियन) स्थान होते हैं। कंप्यूटर जिस पेड़ की गहराई की गणना कर सकता है, वह गेम खेलने वाले कंप्यूटर की गति से नियंत्रित होता है। सबसे तेज़ शतरंज कंप्यूटर प्रति सेकंड लाखों बोर्ड स्थिति उत्पन्न और मूल्यांकन कर सकते हैं।

एक बार जब यह पेड़ उत्पन्न करता है, तो कंप्यूटर को "बोर्ड की स्थिति का मूल्यांकन" करने की आवश्यकता होती है। यानी कंप्यूटर को बोर्ड पर लगे टुकड़ों को देखना होता है और यह तय करना होता है कि टुकड़ों की व्यवस्था "अच्छी" है या "खराब"। यह जिस तरह से करता है वह मूल्यांकन फ़ंक्शन का उपयोग करके होता है । सबसे सरल संभव कार्य केवल प्रत्येक पक्ष के टुकड़ों की संख्या की गणना कर सकता है। यदि कंप्यूटर सफेद खेल रहा है और एक निश्चित बोर्ड स्थिति में 11 सफेद टुकड़े और नौ काले टुकड़े हैं, तो सबसे सरल मूल्यांकन कार्य हो सकता है:

11 - 9 = 2

जाहिर है, शतरंज के लिए सूत्र है कि जिस तरह से भी आसान है, क्योंकि कुछ टुकड़े दूसरों की तुलना में अधिक महत्वपूर्ण हैं। तो सूत्र प्रत्येक प्रकार के टुकड़े पर भार लागू कर सकता है। जैसा कि प्रोग्रामर इसके बारे में सोचता है, वह बोर्ड की स्थिति, केंद्र का नियंत्रण, जांच करने के लिए राजा की भेद्यता, प्रतिद्वंद्वी की रानी की भेद्यता, और अन्य मापदंडों के टन जैसी चीजों को जोड़कर मूल्यांकन कार्य को अधिक से अधिक जटिल बना देता है। कोई फर्क नहीं पड़ता कि फ़ंक्शन कितना जटिल हो जाता है, हालांकि, इसे एक ही संख्या में संघनित किया जाता है जो उस बोर्ड की स्थिति की "अच्छाई" का प्रतिनिधित्व करता है।

तीन-स्तरीय वृक्ष आरेख

निम्नलिखित आरेख एक तीन-स्तरीय पेड़ दिखाता है जो तीन कदम आगे दिखता है और अंतिम बोर्ड पदों के मूल्य का मूल्यांकन किया है:

कंप्यूटर सफेद खिलाड़ी के रूप में खेल रहा है। ब्लैक प्लेयर हिल गया है और पेड़ के शीर्ष पर बोर्ड की स्थिति छोड़ दी है। इस पेड़ में, सफेद तीन संभावित चाल चल सकते हैं। उन तीन संभावित चालों में से प्रत्येक से, काला तीन संभावित चालें बना सकता है। उन नौ बोर्ड पदों में से प्रत्येक से, सफेद दो संभावित चाल चल सकते हैं। (वास्तविक जीवन में, किसी भी स्थिति से चालों की कुल संख्या २० या तो होती है, लेकिन इसे खींचना कठिन होगा।)

क्या करना है यह तय करने के लिए कंप्यूटर इस पेड़ को देखता है और नीचे से ऊपर की ओर काम करता है। इसकी गणना स्थापित की जाती है ताकि यह प्रत्येक संभावित स्थिति से सर्वश्रेष्ठ बोर्ड स्थिति ढूंढ सके जो काला ले जाएगा (यह अधिकतम लेता है):

एक स्तर ऊपर, यह मानता है कि काला सफेद के लिए सबसे खराब स्थिति का चयन करेगा (यह न्यूनतम लेता है):

अंत में, यह अधिकतम तीन शीर्ष संख्याओं को लेता है: 7. यही वह चाल है जो कंप्यूटर करेगा। एक बार जब ब्लैक अपनी चाल चल देता है, तो कंप्यूटर फिर से इस पूरी प्रक्रिया से गुजरता है, एक नया पेड़ बनाता है और बोर्ड की सभी स्थितियों का मूल्यांकन करके उसके अगले कदम का पता लगाता है।

इस दृष्टिकोण को मिनिमैक्स एल्गोरिथम कहा जाता है क्योंकि यह अधिकतम और न्यूनतम के बीच वैकल्पिक होता है क्योंकि यह पेड़ को ऊपर ले जाता है। अल्फ़ा बीटा प्रूनिंग नामक एक तकनीक को लागू करके , एल्गोरिथ्म लगभग दो बार तेजी से चल सकता है और इसके लिए बहुत कम मेमोरी की आवश्यकता होती है । जैसा कि आप देख सकते हैं, यह प्रक्रिया पूरी तरह से यांत्रिक है और इसमें कोई विचार शामिल नहीं है। यह केवल एक पाशविक बल गणना है जो एक निश्चित गहराई के पेड़ में सभी संभावित बोर्ड पदों पर मूल्यांकन कार्य लागू करता है।

मजे की बात यह है कि इस तरह की तकनीक बहुत अच्छी तरह से काम करती है। पर्याप्त तेज़ कंप्यूटर पर, एल्गोरिथम एक बहुत अच्छा गेम खेलने के लिए काफी आगे की ओर देख सकता है। यदि आप सीखने की तकनीकों को जोड़ते हैं जो पिछले खेलों के आधार पर मूल्यांकन कार्य को संशोधित करते हैं, तो मशीन समय के साथ सुधार भी कर सकती है।

हालाँकि, ध्यान रखने वाली महत्वपूर्ण बात यह है कि यह मानव विचार जैसा कुछ नहीं है। जब हम सीखते हैं कि मानव सोच कैसे काम करती है और एक कंप्यूटर बनाते हैं जो शतरंज खेलने के लिए उन तकनीकों का उपयोग करता है, तो हम वास्तव में किसी चीज़ पर होंगे ...

शतरंज कंप्यूटर और संबंधित विषयों के बारे में अधिक जानकारी के लिए, अगले पृष्ठ पर लिंक देखें।

बहुत अधिक जानकारी

संबंधित आलेख

  • वीडियो गेम सिस्टम कैसे काम करता है
  • एन्क्रिप्शन कैसे काम करता है
  • रूटिंग एल्गोरिदम कैसे काम करता है
  • "कंप्यूटर एल्गोरिथम" क्या है?
  • कंप्यूटर जैसी पूरी तरह से तार्किक मशीन एक यादृच्छिक संख्या कैसे उत्पन्न कर सकती है?

अधिक बढ़िया लिंक

  • कास्पारोव बनाम X3D फ़्रिट्ज़
  • कास्पारोव बनाम डीप ब्लू - अपने डीप ब्लू शतरंज कंप्यूटर के लिए आईबीएम की वेब साइट
  • कास्परोव बनाम द वर्ल्ड - इंटरनेट पर अभिनव शतरंज का खेल जहां दुनिया कास्परोव के खिलाफ अगले कदम पर वोट करती है (खेल 21 जून, 1999 को शुरू हुआ)
  • कंप्यूटर शतरंज संदर्भ
  • याहू! निर्देशिका: शतरंज
  • कंप्यूटर शतरंज प्रोग्रामिंग
  • Chessopolis.com
  • CNN.com: मशीन दूसरे 3D शतरंज खेल में Kasparov में सबसे ऊपर है - 14 नवंबर, 2003
  • WorldChess.com: मैन बनाम मशीन: गैरी कास्परोव बनाम X3D फ्रिट्ज