यदि असीम प्रसंस्करण शक्ति दी जाती है, तो क्या कोई एल्गोरिथ्म है जो पूरी तरह से शतरंज खेलता है?


29

क्या ऐसा कोई एल्गोरिथ्म मौजूद है, जहां अगर असीम प्रसंस्करण शक्ति दी जाए, तो एक कंप्यूटर पूरी तरह से शतरंज खेल सकता है ताकि वह कभी न खोए?

यदि हां, तो मुझे इसके लिए छद्म कोड कहां मिल सकता है?


8
परफेक्ट शतरंज से आपका क्या मतलब है?
हर्ब वोल्फ

5
@ हेरबॉल्फ़ी मुझे लगता है कि उसका मतलब है कि यह कभी भी ऐसा कदम नहीं उठाती है जो इसके प्रतिद्वंद्वी को इसे खोने के लिए मजबूर करने की अनुमति देता है और अगर इस्तीफा देता है, और केवल अगर, हर संभव कदम अपने प्रतिद्वंद्वी को इसे खोने के लिए मजबूर करने की अनुमति देता है।
डेविड श्वार्ट्ज

5
@DavidSchwartz - "सही शतरंज", निश्चित रूप से, परिभाषित नहीं किया जा सकता है। न ही "अनंत प्रसंस्करण शक्ति" कर सकते हैं। क्या इसका मतलब है "0 समय में सभी निर्देश अनुक्रम निष्पादित करता है"? "क्या अनंत संख्या में प्रोसेसर उपलब्ध हैं"? एफडब्ल्यूआईडब्ल्यू - "परफेक्ट शतरंज" की मेरी परिभाषा "गेम को कभी नहीं खोना" है।
बॉब जार्विस -

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

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

जवाबों:


62

क्या एक एल्गोरिथ्म मौजूद है? हाँ। जर्मेलो के प्रमेय के अनुसार , शतरंज के लिए एक परिमित निर्धारक सूचना-दो-खिलाड़ी खेल के लिए तीन संभावनाएं हैं: या तो पहले खिलाड़ी के पास जीतने की रणनीति है, या दूसरे खिलाड़ी के पास जीतने की रणनीति है, या तो खिलाड़ी एक आकर्षित कर सकता है। हम नहीं जानते (अभी तक) यह शतरंज के लिए है। (चेकर्स, दूसरी ओर, हल किया गया है : या तो खिलाड़ी एक ड्रॉ को मजबूर कर सकता है।)

वैचारिक रूप से, एल्गोरिथ्म काफी सरल है: एक पूर्ण गेम ट्री का निर्माण करें , लीफ नोड्स (गेम-एंडिंग पोज़िशन्स) का विश्लेषण करें, और या तो शुरुआती प्रारंभिक चाल को बनाएं, इस्तीफा दें या ड्रॉ की पेशकश करें।

समस्या विवरण में निहित है: लगभग 10 43 संभावित स्थान हैं, और यहां तक ​​कि बड़ी संख्या में चालें (अधिकांश पदों को एक से अधिक तरीकों से पहुँचा जा सकता है)। इसका लाभ उठाने के लिए आपको वास्तव में अपने असीम रूप से शक्तिशाली कंप्यूटर की आवश्यकता है, क्योंकि इस एल्गोरिथ्म का लाभ उठाने वाला कंप्यूटर या तो ज्ञात ब्रह्मांड में फिट नहीं हो सकता है, या ब्रह्मांड समाप्त होने के कुछ समय बाद तक गणना समाप्त नहीं करेगा।


13
@Wildcard नहीं, यह कुछ भी ग्रहण नहीं करता है: इसमें सिर्फ शतरंज के सभी कब्जे वाले कानूनी खेल शामिल हैं और यह उन सभी को चुनेगा जहां खिलाड़ी हाथ में नहीं खोता है।
gented

11
@gented, मैं एल्गोरिथ्म के "इस्तीफा" कदम का उल्लेख कर रहा था। यह बिल्कुल जरूरी कदम नहीं है।
वाइल्डकार्ड

38
तीन-पुनरावृत्ति नियम खोज स्थान को बांधता है, इसलिए कंप्यूटर को असीम रूप से शक्तिशाली होने की जरूरत नहीं है , केवल खगोलीय शक्तिशाली है।
होआ लॉन्ग टैम

9
संदर्भ के लिए, अवलोकन योग्य ब्रह्मांड ( 10 ^ 80 के आदेश पर) में परमाणुओं की संख्या के लिए संभावित गेम ( 10 ^ 120 ) की एक निचली सीमा की तुलना करें । सबसे सरल एल्गोरिदम को उन सभी गेमों को ढूंढना होगा और अपने डेटा को स्टोर करना होगा। परमाणु के प्रति एक खेल को संग्रहीत करने में 10 ^ 40 बार लगेंगे जितने परमाणु हम ब्रह्मांड में अनुमान लगाते हैं।
इंजीनियर टोस्ट

6
जब तक आप "असीम रूप से शक्तिशाली कंप्यूटर" का संदर्भ नहीं लेते तब तक यह उत्तर बहुत अच्छा है। यह आपका मतलब नहीं है, और यह वाक्यांश न तो प्रश्न में है और न ही चर्चा में है।
डॉन हैच

25

Https://en.wikipedia.org/wiki/Endgame_tablebase देखें ।

अनंत कंप्यूटर शक्ति के साथ, कोई भी शुरुआती स्थिति के लिए ऐसी तालिका बना सकता है और शतरंज को हल कर सकता है

व्यवहार में, केवल सात "पुरुष" (पंजे और टुकड़े, राजाओं की गिनती) तक की स्थिति को वर्तमान सुपर कंप्यूटर का उपयोग करके हल किया गया है, इसलिए हम शतरंज को हल करने से बहुत दूर हैं। समस्या की जटिलता टुकड़ों की संख्या के साथ तेजी से बढ़ जाती है।


9
एक साइड नोट के रूप में, यदि आपने वास्तव में ऐसी तालिका का उत्पादन किया है, तो इससे कोई फर्क नहीं पड़ता कि आपने सूचना को किस स्थान पर संग्रहीत किया है, इसका वजन लगभग 10 ^ 43 गुना होगा जितना कि अवलोकन योग्य ब्रह्मांड; विचार कर रहे हैं ~ 10 ^ 123 संभव शतरंज पदों और केवल ~ 10 ^ अवलोकन योग्य ब्रह्मांड में 80 baryons।
शफलेपेंट

6
@ शफ़लपैंट्स ने कहा कि मैं इसे बैरन का उपयोग करके स्टोर कर रहा था?
माइकल

3
@Christoph और सूचना के संरक्षण को मानते हुए, और मान लिया कि आपके पास एक डिटेक्टर और आपका सुपर कंप्यूटर अनंत प्रसंस्करण शक्ति के साथ है, तो आप धीरे-धीरे कुछ कर सकते हैं जैसे कि googolplex वर्षों ने टेबलबेस को हॉकिंग विकिरण के रूप में पढ़ा।
शफ़लपेंट

3
@ शफ़लपैंट ध्यान दें कि एक वास्तविक जीतने की रणनीति के लिए पूर्ण टेबलबेस की तुलना में बहुत कम जगह की आवश्यकता हो सकती है। उदाहरण के लिए, निम की एक विजेता रणनीति है जिसका वर्णन करना सरल है, सभी संभावित राज्यों की एक विशाल तालिका बनाने की आवश्यकता नहीं है।
फेडरिको पोलोनी

1
जैसा कि कहा गया है यह समाधान व्यवहार्य नहीं है। ऐसी तालिका का द्रव्यमान एक ब्लैक होल का निर्माण करेगा और इससे डेटा को घुसपैठ करना असंभव होगा।
एमोरी

19

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


यह सच नहीं है। उन्होंने कहा कि आपके पास अनंत प्रसंस्करण शक्ति है, लेकिन अनंत अंतरिक्ष के बारे में कुछ नहीं कहा।
ubadub

@ubadub: हमें अनंत स्थान की आवश्यकता नहीं होगी। एक गेम की लंबाई 50-चाल नियम के कारण सीमित है, और एक स्थिति से सभी संभव चाल को सॉर्ट करने के लिए एक नियम बनाया जा सकता है। जैसा कि वे छांटे जा सकते हैं, उन्हें पूर्णांक के रूप में संग्रहीत किया जा सकता है। यह पूरे पेड़ को चलने के लिए आवश्यक सभी मेमोरी है। और अगर आपके पास अनंत समय है, तो आप जितनी बार चाहें पेड़ को चला सकते हैं, इसलिए आपको हर संभव शतरंज गेम को स्टोर करने की आवश्यकता नहीं है।
विस्ज़

खेल की लंबाई सीमित है, लेकिन यह बहुत बड़ी है; जैसा कि किसी और ने कहा, यदि आपने ऐसे सभी खेलों को संग्रहीत करने के लिए एक तालिका का निर्माण किया, "कोई फर्क नहीं पड़ता कि आपने सूचना को किस पर संग्रहीत किया है, तो यह लगभग 10 ^ 43 गुना अधिक अवलोकन योग्य ब्रह्मांड का वजन होगा; इस पर विचार ~ 10 ^ 123 संभव है; शतरंज की स्थिति और केवल ~ 10 ^ अवलोकनीय ब्रह्मांड में 80 बैरन
ubadub

2
@ubadub: यह सच है, लेकिन मैं "ऐसे सभी खेलों को संग्रहीत करने के लिए एक तालिका" के बारे में बात नहीं कर रहा था। कई पेड़ से संबंधित एल्गोरिदम हैं जो पूरे पेड़ के सभी नोड्स को स्मृति में रखने की ज़रूरत नहीं है।
vsz

@ vsz अच्छा बिंदु
ubadub

13

प्रश्न को सीधे संबोधित करने के लिए: हाँ एक ऐसा एल्गोरिथ्म है। इसे मिनिमैक्स कहा जाता है। (एंडगेम टेबलबेस इस एल्गोरिदम (पीछे की ओर!) का उपयोग करके उत्पन्न होते हैं, लेकिन सादे पुराने सरल मिनिमैक्स एल्गोरिदम को आपकी आवश्यकता है)। यह एल्गोरिथ्म पूरी तरह से किसी भी दो खिलाड़ी शून्य योग खेल खेल सकता है। यहाँ pseudocode खोजें:

https://en.wikipedia.org/wiki/Minimax

ध्यान दें कि इस एल्गोरिथ्म के वेरिएंट का उपयोग आधुनिक कंप्यूटर शतरंज कार्यक्रमों द्वारा किया जाता है।


4

न केवल सही शतरंज खेलने के लिए एक एल्गोरिथ्म है, यह एक छोटा प्रोग्राम लिखना संभव है (जो अनंत संसाधन दिए गए हैं) किसी भी निर्धारक पूर्ण-ज्ञान परिमित अवधि दो-खिलाड़ी गेम को पूरी तरह से खेलते हैं

खेल इंजन को उस खेल के नियमों को जानने की भी आवश्यकता नहीं है जो वह खेल रहा है। सभी की जरूरत है कि एक "खेल राज्य" का एक अपारदर्शी प्रतिनिधित्व है और कार्य (क) किसी भी खेल राज्य को दिया जाता है, कानूनी रूप से अगले खेल राज्यों की सूची प्रदान करते हैं और (ख) एक खेल राज्य दिया जाता है, तय करें कि क्या यह खिलाड़ी के लिए एक जीत है , खिलाड़ी 2 के लिए एक जीत, एक ड्रॉ, या यह एक अंतिम स्थिति नहीं है।

उन कार्यों को देखते हुए एक सरल पुनरावर्ती एल्गोरिथ्म खेल को "हल" करता है।

इस तथ्य को पिछले उत्तरों में शतरंजप्रोग्रामर (मिनिमैक्स) और Acccumulation (जो अजगर में कार्यक्रम का एक संस्करण प्रदान करता है) द्वारा प्रस्तुत किया गया है।

मैंने 20 साल पहले ऐसा कार्यक्रम लिखा था। मैंने नॉट्स-एंड-क्रॉस (टिक-टैक-टो अगर आप अमेरिकी हैं) खेलकर इसका परीक्षण किया। यकीन है कि यह एक आदर्श खेल खेला।

बेशक यह किसी भी गंभीर गेम के लिए किसी भी कल्पनीय कंप्यूटर पर जल्दी से गिर जाएगा। क्योंकि यह पुनरावर्ती है यह पूरी तरह से स्टैक पर पूरे गेम ट्री का निर्माण कर रहा है, इसलिए आपको अन्य जवाबों में संदर्भित शतरंज के 10 ^ 123 राज्यों का विश्लेषण करने से पहले कहीं भी मिलने पर "स्टैक ओवरफ्लो" (बहुत अधिक इरादा) मिलेगा। लेकिन यह जानना मजेदार है कि सिद्धांत रूप में यह छोटा कार्यक्रम काम करेगा।

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


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

मान्य अंक। मैं अपने उत्तर को संपादित करूंगा।
गारेथ

3

मैं सादगी के लिए ड्रॉ या चालों के अनंत दृश्यों की संभावनाओं की उपेक्षा करूंगा। एक बार एल्गोरिथ्म को समझने के बाद, उन मामलों में इसे बढ़ाना विशेष रूप से मुश्किल नहीं है।

सबसे पहले, कुछ परिभाषाएँ:

  1. कोई भी चाल जो उस खिलाड़ी के लिए गेम जीतती है जो उस चाल को जीतती है।

  2. कोई भी चाल जो उस खिलाड़ी के लिए खेल खो देती है जो उस चाल को खो देती है।

  3. कोई भी चाल जो कम से कम एक जीत की चाल के साथ दूसरे खिलाड़ी को छोड़ देती है वह भी हारने वाला कदम है। (चूंकि प्रतिद्वंद्वी उस कदम को उठा सकता है और नुकसान उठाने के लिए मजबूर कर सकता है।)

  4. कोई भी चाल जो केवल हारने की चाल के साथ दूसरे खिलाड़ी को छोड़ देती है, वह भी एक चाल है। (कोई फर्क नहीं पड़ता कि आपका प्रतिद्वंद्वी क्या कदम उठाता है, आप जीतेंगे।)

  5. एक सही रणनीति का अर्थ है हमेशा जीतने वाली चालें बनाना अगर कोई रह जाता है और इस्तीफा दे देता है जब किसी के पास केवल चालें शेष रह जाती हैं।

अब, यह एक सही रणनीति लिखने के लिए तुच्छ है। बस सभी संभव चाल अनुक्रम विस्फोट और जीतने / खोने चाल की पहचान। गतिरोध को नजरअंदाज करते हुए, यह अंततः हर कदम को या तो एक जीतने की चाल या हारने की चाल के रूप में पहचानेगा।

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

गतिरोध की संभावना को शामिल करने के लिए रणनीति को समायोजित करना मुश्किल नहीं है।

अपडेट : बस अगर यह स्पष्ट नहीं है कि यह कैसे हर कदम को अधिक जीतने या हारने के कदम के रूप में पहचानता है, तो विचार करें:

  1. हर कदम जिसके परिणामस्वरूप जीत होती है वह एक जीतने वाली चाल है।
  2. हर कदम जिसके परिणामस्वरूप नुकसान होता है वह एक हारा हुआ कदम है।
  3. हर चाल जिसके परिणामस्वरूप प्रतिद्वंद्वी केवल जीतने या हारने वाले कदम होता है, वह जीत या हार कदम होता है।
  4. nसबसे लंबे समय तक संभव शतरंज खेल में चाल की संख्या को बुलाओ । (हम अब के लिए बिना अनुक्रम वाले दृश्यों को अनदेखा कर रहे हैं, हालांकि उनमें से यह मुश्किल नहीं है।)
  5. nपूर्व चाल के साथ कोई चाल नहीं है जिस पर हमें विचार करने की आवश्यकता है।
  6. n-1पूर्व चालों के साथ हर चाल या तो एक जीतने वाली चाल है या हारने वाली चाल है क्योंकि nचालें सबसे लंबे खेल को समाप्त करती हैं।
  7. इस प्रकार गहराई पर हर कदम n-2केवल जीतने वाली चालों या हारने वाली चालों के द्वारा होता है और इस प्रकार स्वयं एक चाल चाल या हारने वाली चाल है।
  8. और इसलिए पहले कदम पर वापस।

1
जीतने और हारने की आपकी परिभाषाएँ पर्याप्त व्यापक नहीं हैं। उदाहरण के लिए, पहला कदम, न तो गेम (# 1) जीतता है, और न ही प्रतिद्वंद्वी को केवल चाल (# 4) से हारता है, इसलिए यह "जीतने वाली चाल" नहीं है। न तो यह गेम (# 2) खोता है, और न ही प्रतिद्वंद्वी को किसी भी विजयी चाल (# 3) के साथ छोड़ता है, इसलिए यह "एक आसान कदम" नहीं है। आपकी रणनीति के लिए आवश्यक है कि प्रत्येक चाल को "जीतने वाली चाल" या "हारने वाली चाल" के रूप में परिभाषित किया जाए, जो कि बस ऐसा नहीं है जैसा आपने इसे परिभाषित किया है।
परमाणु वैंग

2
@ न्यूक्लियरंग यह हर कदम को या तो जीतने वाली चाल या हार की चाल के रूप में परिभाषित करता है। आपको क्या लगता है तीसरा विकल्प क्या है? सभी संभावित शतरंज के खेल के पेड़ की कल्पना करें (और याद रखें, हम अभी के लिए संबंधों या अनंत दृश्यों को छोड़कर)। हर श्रृंखला या तो जीत या हार में समाप्त होती है। यह पेड़ के माध्यम से समाप्त हो जाता है और अंततः हर कदम को या तो एक जीतने की चाल या हार की चाल के रूप में पहचानता है।
डेविड श्वार्ट्ज

13
@ न्यूक्लियरवंग या तो पहला कदम है , एक खिलाड़ी के लिए एक जीत की चाल है, या फिर शतरंज (टिक-टैक-टो की तरह) सही खेल के साथ एक खींचा हुआ खेल है। हम नहीं जानते हैं कि क्योंकि इस एल्गोरिथम को पूरा करने के लिए किसी के पास कंप्यूटिंग शक्ति नहीं है, और किसी को भी अधिक प्रत्यक्ष प्रमाण नहीं मिला है।
19-30

8
शतरंज में कोई यादृच्छिकता और कोई छिपी जानकारी नहीं है, जो "शायद" के लिए कोई जगह नहीं छोड़ती है। हर स्थिति को जीता जाता है, खो दिया जाता है, या खींचा जाता है (भले ही हम उन्हें इस तरह की पहचान करने में कामयाब नहीं हुए हों )। और यह स्पष्टीकरण सादगी के लिए "तैयार" विकल्प को छोड़ रहा है, लेकिन यह ज्यादातर मात्रा में 1 है) एक स्थिति खींची गई है अगर यह नियमों के अनुसार खींचा जाता है, और 2) एक स्थिति खींची जाती है अगर इसमें कोई जीत नहीं होती है, लेकिन इसमें है कम से कम एक चाल जो प्रतिद्वंद्वी को बिना किसी विजयी चाल के साथ छोड़ देती है।
hobbs

2
@DavidSchwartz: जब तक कोई हारने की स्थिति में नहीं होता, तब तक हर वह कदम जो सही नहीं है, बुरा है। एक खोने की स्थिति में, आम तौर पर कोई भी "पूर्ण" चाल नहीं होती है [एक मजबूर-चाल की स्थिति को छोड़कर] क्योंकि किसी भी कानूनी कदम में कुछ जीतने की संभावना हो सकती है या कुछ बोधगम्य (संभवतः अत्यधिक वंचित) परिस्थितियों में कदम होगा। हालांकि, इस्तीफा देने से असंदिग्ध सबसे खराब "चाल" प्रतीत होगी। मान लीजिए कि खेल को डी 4 के साथ व्हाइट के लिए एक जीत के रूप में हल किया गया है। क्या आप एक शतरंज कार्यक्रम खेलना चाहते हैं, जिसके 1. d4साथ प्रतिक्रिया हुई ...resigns?
सुपरकाट

2

मान लीजिए आप तीन कार्य होते हैं: win_state, get_player, और next_states। इनपुट win_stateएक गेम स्टेट है, और आउटपुट -1 है अगर व्हाइट चेकमेट में है, 0 अगर यह ड्रॉ है, तो 1 अगर चेकमेट में काला है, और Noneअन्यथा। इनपुट के लिए get_playerएक खेल राज्य है, और आउटपुट -1 है अगर यह काले रंग की बारी है और 1 अगर यह सफेद है। इनपुट के लिए next_statesसंभव अगले गेम राज्यों की सूची है जो एक कानूनी कदम के परिणामस्वरूप हो सकता है। फिर निम्नलिखित फ़ंक्शन, जब एक खेल राज्य और एक खिलाड़ी दिया जाता है, तो आपको यह बताना चाहिए कि उस खिलाड़ी को जीतने के लिए किस खेल में आगे बढ़ना है।

def best_state(game_state,player)
  def best_result(game_state):
     if win_state(game_state):
        return(win_state)
     else:
         player = get_player(game_state)
         return max([best_result(move)*player for move in next_states(game_state)])*player
  cur_best_move = next_states(games_state)[0]
  cur_best_outcome = -1
  for state in next_states(game_state):
     if best_result(state)*player > cur_best_outcome:
           cur_best_outcome = best_result(state)*player
           cur_best_move = state
return(best_move)

0

लुक-अप टेबल का उपयोग करें

हाँ। यह आसान है। आपको अनंत प्रसंस्करण शक्ति की भी आवश्यकता नहीं है। आप सभी की जरूरत है एक लुक-अप तालिका है जिसमें प्रत्येक संभावित बोर्ड स्थिति के लिए, उस स्थिति में खेलने के लिए सबसे अच्छा कदम है। यहाँ छद्म कोड है:

def play-move(my-color, board-position):
    return table-of-best-moves[my-color, board-position]

कैच

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

इसके अलावा, शतरंज के हमारे वर्तमान ज्ञान को देखते हुए, यह सुनिश्चित करने का कोई तरीका नहीं है कि सही खेल गारंटी देता है कि आप हारेंगे नहीं। उदाहरण के लिए, यदि सही नाटक व्हाइट के लिए जीत की गारंटी देता है, तो ब्लैक पूरी तरह से ब्लैक प्ले करने पर भी हार जाएगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.