2010-01-08 8 views
12

मैं बस आपको ऐ एल्गोरिदम के बारे में बारे में गहराई से ज्ञान की जरूरत है, मुझे लगता है कि "artificial intelligence modern approach" किताब सबसे अच्छा स्रोत है एल्गोरिदम के नाम सीखना चाहता था .. धन्यवादवर्तमान में कंप्यूटर शतरंज के लिए सबसे अच्छा एल्गोरिदम ज्ञात है?

+0

अपने "एल्गोरिदमिक" मोड में आने से पहले, अधिकांश (लेकिन सभी नहीं) शतरंज कार्यक्रम, ह्यूरिस्टिक्स पर भरोसा करते हैं, अर्थात् शतरंज खोलने की एक विस्तृत पुस्तकालय। – mjv

उत्तर

3

Minimax

+2

यह एक शतरंज खेल एल्गोरिदम का * एक * हिस्सा होगा। हालांकि, minimax अपने आप में एक शतरंज एल्गोरिदम नहीं है। – Tarydon

1

Wikipedia एक शुरुआती बिंदु के रूप में एक सुरक्षित शर्त है। क्या तुमने वहां देखा?

Rybka एक प्रतियोगी प्रतीत होता है।

+0

मैं मानता हूं कि विकिपीडिया देखने के लिए एक अच्छी जगह है लेकिन Rybka बंद स्रोत है इसलिए शायद –

+0

@ डेव में बहुत मदद नहीं है: सच है, लेकिन यह * एल्गोरिदम * के नाम सीखना चाहते हैं * – Tarydon

+1

@Tarydon - Rybka _chess इंजन_ का नाम है। चूंकि यह बंद स्रोत नो-वन है (लेखक के अलावा) जानता है कि यह कौन से एल्गोरिदम का उपयोग करता है। –

20

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

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

+0

मिनिमैक्स के बराबर को negamax कहा जाता है। अंतर यह है कि पेड़ में गहराई के प्रत्येक परिवर्तन पर स्कोर को अस्वीकार कर दिया जाता है। इस तरह दोनों खिलाड़ी स्कोर को अधिकतम करने की कोशिश कर रहे हैं (जहां मिनीमैक्स में कोई इसे कम करने की कोशिश कर रहा है)। मुझे यकीन नहीं है कि यह अल्फा/बीटा विंडो में क्या करता है। क्या यह सिर्फ एक ही मूल्य बन गया है? – phkahler

+2

यह ध्यान दिया जाना चाहिए कि स्थिति मूल्यांकन समारोह शायद इसकी ताकत का निर्धारण करते समय शतरंज इंजन का एक सबसे महत्वपूर्ण पहलू है। असल में, शायद यह एकमात्र ऐसा क्षेत्र है जहां अधिकांश शतरंज इंजनों में नवीनता है अब विज्ञापन करता है। उदाहरण के लिए, Rybka स्थिति मूल्यांकन समारोह बहुत मजबूत खिलाड़ियों द्वारा 5 साल (यदि आईआरसी) में डिजाइन किया गया था। एक अर्थ में मूल्यांकन कार्य वह है जो शतरंज की स्थिति के बारे में कंप्यूटर अंतर्ज्ञान देता है, किसी भी शतरंज के खेल का मौलिक रूप से महत्वपूर्ण हिस्सा और गेम में रणनीति जैसे अन्य मुद्दों के लिए ऑर्थोगोनल देता है। – ldog

+0

@gmatt - केवल आंशिक रूप से सच है ... आक्रामक छंटनी Rybka इतना मजबूत बनाता है का हिस्सा है, और उसमें अनुसंधान बहुत पुराना नहीं है। विस्तारित व्यर्थता काटने, सीमित रेज़रिंग, और अनुकूली नल चाल छंटनी एक दशक पहले से कम कला की स्थिति थी – tbischel

0

उदाहरण के लिए कुछ मुक्त स्रोत शतरंज कोड देखें, उदाहरण के लिए चालाक या फल के बारे में बेहतर कैसे? यह Rybka की लगभग एक ही ताकत काफी खेलता है। लेकिन वहाँ कई नए algos हैं। वह दिन आएगा जब मानव शतरंज के खिलाड़ियों को यह कहना होगा कि मैं इस इंजन के विरुद्ध नहीं खेल रहा हूं, और यह आलेख काफी हद तक यह बताता है ->http://www.mychessblog.com/man-versus-machine-when-a-computer-will-become-world-chess-champion/

0

शतरंज प्रोग्रामिंग के भीतर उपयोग किए जाने वाले बहुत सारे एल्गोरिदम http://chessprogramming.wikispaces.com/ वेबसाइट पर वर्णित हैं । ऐसे कई ओपन सोर्स प्रोग्राम उपलब्ध हैं जो इन एल्गोरिदम को कार्यान्वित कर रहे हैं।

संबंधित मुद्दे