होमवर्क असाइनमेंट के हिस्से के रूप में, मुझे जावा में एक साधारण शतरंज गेम प्रोग्राम करना है। मैं रिकर्सन के साथ प्रयोग करने का अवसर लेने के बारे में सोच रहा था, और मैं सोच रहा था कि शतरंज में रिकर्सिव कोड के लिए कोई स्पष्ट उम्मीदवार है या नहीं?शतरंज प्रोग्रामिंग में रिकर्सन का अच्छा उपयोग?
उत्तर
मेरे लिए सबसे स्पष्ट उम्मीदवार सबसे अच्छा चाल के लिए खोज के लिए एक पुनरावर्ती अल्पमहिष्ठ नियमित किया जाएगा। यह खोज एल्गोरिदम के पीछे बहुत सारे सिद्धांतों में भी शामिल हो जाता है और इसे लागू करने के लिए बहुत अच्छा होगा।
उदाहरण:
http://www.devshed.com/c/a/Practices/Solving-Problems-with-Recursion/6/
मैं भी लगता है, वहाँ पुनरावर्ती minmax करने के लिए कोई विकल्प है –
इसके अलावा उपयोगी इस लिंक अल्फा बीटा समझा है (यदि विचार एक KI विकसित करना है) http://www.fierz.ch/strategy1.htm –
वाह, यह है एक महान लेख। ऐसा लगता है कि यह एक तरीका है जिसका प्रयोग अलग-अलग चरणों में अलग-अलग किया जाएगा। हो सकता है कि साथी के लिए एक संस्करण होगा, और किसी अन्य लक्ष्य के लिए एक संस्करण (उदाहरण के लिए, एक टुकड़ा कैप्चर करें), प्रत्येक गहराई से प्रत्येक। हमम ... मज़ा। – JDelage
नहीं शतरंज, लेकिन शतरंज Figueres के साथ एक क्लासिक पहेली: http://en.wikipedia.org/wiki/Eight_queens_puzzle
आप सोच रहे हैं के बारे में backtracking
गहराई-पहले खोज प्रत्यावर्तन के लिए एक प्रमुख उम्मीदवार हैं। इसलिए यदि आप होमवर्क असाइनमेंट के लिए एआई प्रोग्रामिंग कर रहे हैं, तो एआई के लुकहेड एल्गोरिदम को सर्वश्रेष्ठ कदम उठाने का प्रयास करने के लिए एक अच्छा उम्मीदवार होगा।
हालांकि सावधान रहें - आप स्मृति से जल्दी से बाहर निकल सकते हैं। आप शायद एआई देख सकते हैं कि गहरी चाल की संख्या सीमित करना चाहते हैं।
हां वहाँ है। यदि आपके पास कुछ फ़ंक्शन है जो खिलाड़ी सफेद के लिए कुछ स्थिति के "बल" का मूल्यांकन करता है। आप एक टुकड़े को स्थानांतरित कर सकते हैं और इसे एक चाल के मूल्य का मूल्यांकन करने के लिए रिकर्सली कॉल कर सकते हैं और सबसे अच्छा कदम चुन सकते हैं।
आप काले खिलाड़ी के लिए एक ही समारोह फोन करना चाहिए, अश्वेतों और गोरों के लिए भूमिकाओं का आदान प्रदान, इस प्रकार एक प्रतिद्वंद्वी के "खतरे" का मूल्यांकन।
फिर सफेद, आदि के लिए
बस इतना याद रखें कि आप प्रत्यावर्तन के स्तर में बहुत गहरा नहीं जाना चाहिए या इसे हमेशा के लिए ले जाएगा।
धन्यवाद। मुझे बस प्रत्येक चाल के मूल्य के लिए एक अच्छा तर्क खोजने की जरूरत है। – JDelage
, जैसा कि आप कई संयोजन है जो एक ही बोर्ड के लिए नेतृत्व है, तो आप आप एक प्रत्यावर्तन नहीं मिलती है तो सिर्फ एक जगह आप जहां तक ले क्रम गणना
दोहरा से बचने के लिए ले जाता है कैश करने के लिए याद रखना चाहिए गया, बस उस कॉल को तोड़ दो। इसे backtracking
- 1. शतरंज प्रोग्रामिंग (कोई एआई) - मान्यता
- 2. शतरंज
- 3. "आवश्यक" प्रभावशाली भाषाओं में रिकर्सन का उपयोग
- 4. जावा में रिकर्सन का उपयोग कर फैक्टोरियल
- 5. एसक्यूएल सर्वर में रिकर्सन अच्छा है?
- 6. जावास्क्रिप्ट में शतरंज खेल
- 7. एक शतरंज एआई
- 8. रिकर्सन का उपयोग कर न्यूनतम सरणी ढूंढना?
- 9. सार्वजनिक स्थैतिक क्षेत्र का उपयोग, अच्छा प्रोग्रामिंग अभ्यास/तेज़?
- 10. शतरंज स्थान सत्यापन पुस्तकालय
- 11. सूचियों का उपयोग करके रिकर्सन - हास्केल
- 12. कार्यात्मक प्रोग्रामिंग अनिवार्य प्रोग्रामिंग का सबसेट है?
- 13. किसी को भी अच्छा पता है .Net शतरंज इंजन
- 14. रिकर्सन
- 15. अच्छा प्रोग्रामिंग प्रथाओं
- 16. रिकर्सन
- 17. रिकर्सन
- 18. तैयार बयान में रिकर्सन
- 19. नि: शुल्क जावास्क्रिप्ट शतरंज
- 20. रिकर्सन
- 21. रिकर्सन
- 22. प्रोग्रामिंग भाषाओं में 'उपयोग' या 'उपयोग' का उपयोग
- 23. प्रोग्रामिंग में स्थिरांक का उपयोग क्यों करें?
- 24. प्रोग्रामिंग भाषा में अच्छा होने का क्या अर्थ है?
- 25. मुझे क्लोजर में शतरंज बिटबोर्ड का प्रतिनिधित्व कैसे करना चाहिए?
- 26. रिकर्सन
- 27. जावा में रिकर्सन को समझना
- 28. प्रोग्रामिंग भाषा का उपयोग करें
- 29. कार्यात्मक प्रोग्रामिंग क्यों अच्छा है?
- 30. क्लोजर में, रिकर्सन
पेड़ के साथ कुछ भी करने के लिए जाना जाता है। –
मेरे पहले जावा कार्यक्रमों में से एक (1 99 8 में) एक शतरंज खेल कार्यक्रम था, जिसमें लाप्लास नीचे उल्लिखित एक रिकर्सिव मिनीमैक्स एल्गोरिदम का उपयोग कर रहा था। जावा और रिकर्सन सीखने के लिए यह निश्चित रूप से एक दिलचस्प परियोजना है। – Jesper
www.m-w.com का कहना है कि पुनर्संरचना वैध अंग्रेजी शब्द नहीं है। संपादित शीर्षक –