शतरंज इंजन प्रोग्रामिंग के लिए वैकल्पिक दृष्टिकोण


14

जहाँ तक मैं समझता हूँ, मोटे तौर पर बोलना, शतरंज के इंजन काम करते हैं:

  1. कुछ गहराई तक सभी संभावित भिन्नताओं (गेम ट्री) की गणना
  2. कुछ मानदंडों (सामग्री, टुकड़ा गतिविधि ...) के आधार पर अंतिम स्थिति का मूल्यांकन
  3. इस मूल्यांकन के आधार पर सर्वश्रेष्ठ चाल के लिए निर्णय लेते हैं

मैं पूरी तरह से समझता हूं कि एक कुशल इंजन के लिए कुछ लाइनों को चुभाने के तरीके हैं, गहराई को सीमित करना, आदि; लेकिन यह मेरा सवाल नहीं है।

सवाल यह है कि क्या कोई वैकल्पिक कार्यक्रम (जरूरी नहीं कि मजबूत हो, लेकिन यादृच्छिक या तो नहीं) शतरंज इंजन के लिए कोई वैकल्पिक प्रयास है, जो इस योजना का पालन नहीं करता है?


बोट्विननिक ने कंप्यूटर खोज को केवल सबसे अच्छा उम्मीदवार चाल होने के द्वारा रूट चाल में prune करने की कोशिश की। इस का एक सफल प्रयास नहीं किया गया है, और शतरंज इसके लिए बेहतर है।
फ्रेड नाइट

जवाबों:


13

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

हाल ही में, एक और प्रयास किया गया है कि इंजन को डीप लर्निंग के माध्यम से खुद को शतरंज सिखाने दिया जाए (संभवतः Google के गो एआई की सफलता से प्रोत्साहित किया गया )। मेरे द्वारा जुड़े लेख के अनुसार, वे काफी सफल रहे और आईएम की ताकत तक पहुंचने में कामयाब रहे।


1
मेरी समझ के अनुसार, अल्फा गो ठीक उसी तरह काम करता है जैसे कि ओपी द्वारा वर्णित और केवल (2.) से निकाला गया कार्य डीप लर्निंग के माध्यम से / पर आधारित है। दूसरे जवाब थोड़े सहमत हैं।
हरमन डोपेस

According to the article I linked to, they were quite successful and managed to reach IM strengthलेकिन अगर आप मूल पेपर पढ़ेंगे, तो आप देखेंगे कि लेख ने सफलता को अत्यधिक बढ़ा दिया है।
साल्वाडोर डाली

1
@ HermannDöppes नहीं, AlphaGo मोंटे-कार्लो ट्री सर्च पर आधारित है।
हेलोवर्ल्ड

3

@Glorfindel शतरंज के लिए गलत नहीं है, लेकिन शतरंज के लिए गहन शिक्षण दृष्टिकोण वास्तव में शतरंज प्रोग्रामिंग में पैरामीटर ट्यूनिंग के लिए एक फैंसी शब्द है।

डीप लर्निंग एक शतरंज इंजन को मूल्यांकन फ़ंक्शन सीखने की अनुमति देता है, जो आमतौर पर एक प्रोग्रामर द्वारा लिखित कुछ है। एक खेल के दौरान, यह एक सामान्य शतरंज इंजन की तरह काम करता है।

अन्य संभावनाएं:

  • GPU शतरंज प्रोग्रामिंग
  • मोंटे-कार्लो पेड़ खोज

अपने जवाब में से अधिकांश [Glorfindel के जवाब] (के तहत एक टिप्पणी होना चाहिए chess.stackexchange.com/a/16293/2789 । बात यह है कि वास्तव में सवाल को संबोधित सिर्फ सात शब्द है, जो लगभग पर्याप्त एक जवाब के लिए नहीं है के होते हैं। इसके अलावा , "GPU शतरंज प्रोग्रामिंग" जो कुछ भी एल्गोरिथ्म का आप अन्यथा उपयोग कर सकते हैं, उसे समानांतर बनाने का एक तरीका है, इसलिए मुझे नहीं लगता कि यह वास्तव में एक "दृष्टिकोण" है जिस अर्थ में प्रश्न की तलाश है, बल्कि, यह सिर्फ एक कार्यान्वयन विधि है।
डेविड रिचेर्बी

-2

निश्चित रूप से! यदि आप वास्तव में सिर्फ मतलब है .... "सिद्धांत रूप में, एक शतरंज इंजन कोड करने के लिए अन्य तरीके हैं?" ... फिर, हाँ !!

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

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