रुबिक के घन को हल करने के लिए जावा में कोड के लिए अपेक्षाकृत आसान एल्गोरिदम क्या होगा। दक्षता भी महत्वपूर्ण है लेकिन एक माध्यमिक विचार है।रुबिक के घन के लिए एल्गोरिदम कोड कोड करना सबसे आसान है?
उत्तर
सरल गैर तुच्छ एल्गोरिथ्म मैंने पाया यह एक है है:
http://www.chessandpoker.com/rubiks-cube-solution.html
यह कोड करने के लिए बहुत मुश्किल नहीं लग रहा है। Yannick M.'s answer में उल्लिखित लिंक भी अच्छा दिखता है, लेकिन 'the cross' का समाधान ऐसा लगता है कि यह मेरे लिए थोड़ा और जटिल हो सकता है।
कई खुले स्रोत सॉल्वर कार्यान्वयन हैं जिन्हें आप देखना चाहते हैं। यहां एक Python implementation है। यह Java applet में एक सॉल्वर भी शामिल है, और स्रोत कोड उपलब्ध है। डाउनलोड करने योग्य स्रोत कोड के साथ भी Javascript solver भी है।
Anthony Gatlin's answer इस कार्य के लिए प्रोलॉग की अच्छी-अनुकूलता के बारे में एक उत्कृष्ट बिंदु बनाता है। अपने Prolog solver को लिखने के तरीके के बारे में एक विस्तृत लेख यहां दिया गया है। यह उपयोग की जाने वाली हेरिस्टिक विशेष रूप से दिलचस्प है।
जेएस सॉल्वर से लिंक टूटा हुआ प्रतीत होता है। –
जब तक आपको सही समाधान न मिल जाए तब तक यादृच्छिक संचालन करें। सबसे आसान एल्गोरिदम और कम से कम कुशल।
की जांच करना चाह सकते हैं: http://peter.stillhq.com/jasmine/rubikscubesolution.html
एक एल्गोरिथ्म के एक चित्रमय प्रतिनिधित्व एक 3x3x3 रूबिक क्यूब को हल करने के
मुझे लगता है कि आपका प्रश्न जावा से संबंधित है, लेकिन व्यावहारिक नोट पर, प्रोलॉग जैसी भाषाएं रूबिक के घन को हल करने जैसी बेहतर उपयुक्त समस्याएं हैं। मुझे लगता है कि यह शायद एक वर्ग के लिए है और आपके पास उपकरण की पसंद के रूप में कोई छूट नहीं हो सकती है।
आप इसे बीएफएस (ब्रेड-फर्स्ट-सर्च) करके कर सकते हैं। मुझे लगता है कि कार्यान्वयन इतना कठिन नहीं है (यह ग्राफ की श्रेणी के तहत सबसे सरल एल्गोरिदम में से एक है)। कतार नामक डेटा संरचना के साथ ऐसा करके, आप वास्तव में क्या काम करेंगे, एक बीएफएस पेड़ बनाने और इच्छा की स्थिति से दी गई स्थिति से तथाकथित सबसे छोटा रास्ता खोजने के लिए है। इस एल्गोरिदम की कमी यह है कि यह पर्याप्त कुशल नहीं है (बिना किसी संशोधन के, 2x2x2 क्यूबिक को हल करने के लिए भी आवश्यक समय ~ 5 मिनट है)। लेकिन आप गति को बढ़ावा देने के लिए हमेशा कुछ चालें पा सकते हैं।
ईमानदार होने के लिए, यह एमआईटी से "Introduction of Algorithm" नामक पाठ्यक्रम के होमवर्क में से एक है। होमवर्क का लिंक यहां दिया गया है: http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/assignments/MIT6_006F11_ps6.pdf। उनके पास कुछ पुस्तकालय हैं जो आपको कल्पना करने में मदद करते हैं और अनावश्यक प्रयास से बचने में आपकी सहायता करते हैं।
- 1. कोड में रुबिक के घन का प्रतिनिधित्व कैसे करेंगे?
- 2. फॉर्च्यून के एल्गोरिदम के लिए छद्म कोड
- 3. कुछ ग्राफ परिचालनों के लिए सबसे आसान एल्गोरिदम के सुझाव
- 4. पी/कोड कोड उत्पन्न करने का सबसे आसान तरीका?
- 5. क्या हस्ताक्षर मान्यता के लिए कोई कोड या एल्गोरिदम है?
- 6. Emacs के लिए सबसे अच्छी कोड टेम्पलेट सुविधा क्या है?
- 7. अभियंता .net obfuscated कोड रिवर्स करना कितना आसान है?
- 8. जेनेटिक एल्गोरिदम कोड
- 9. जावा कोड को डीकंपाइल करना इतना आसान क्यों है?
- 10. आसान आईएल कोड निरीक्षण के लिए एक उपकरण
- 11. एक पायथन वेब सर्वर पर गणितीय उपयोगकर्ता कोड निष्पादित करना, सबसे आसान सुरक्षित तरीका क्या है?
- 12. सरल (कोड के लिए) सुरक्षित हैश फंक्शन
- 13. सी में Xiaolin वू लाइन एल्गोरिदम के लिए स्रोत कोड?
- 14. सी ++ कोड आरेख के लिए कोड
- 15. सबसे छोटा कोड नेट
- 16. सबसे सुरुचिपूर्ण कोड प्रेषक
- 17. कोड
- 18. क्या के लिए मुद्रण कोड
- 19. सी # के लिए सबसे उपयोगी (कस्टम) कोड स्निपेट क्या हैं?
- 20. लाइब्रेरी कोड बनाने के लिए सबसे अच्छा तरीका
- 21. क्या कोड लिखने के लिए कोड लिखना संभव है?
- 22. सबसे सुरक्षित अजगर कोड
- 23. एल्गोरिदम के आधार पर "कूपन कोड" का एक सेट बनाएं; कोड
- 24. एंड्रॉइड पर मार्कर रिकग्निशन (रुबिक के क्यूब्स को पहचानना)
- 25. एप्लिकेशन के दौरान सबसे अनुकूलित कोड उत्पन्न करने के लिए .NET JIT कंपाइलर को मजबूर करना
- 26. शहर के नाम से ज़िप कोड प्राप्त करने का सबसे आसान तरीका
- 27. रखरखाव के लिए जावास्क्रिप्ट कोड को आसान बनाने के लिए कैसे करें
- 28. वर्चुअलएन्व के साथ पाइथन कोड वितरित करना?
- 29. "प्रगति में नौकरी" के लिए सबसे उपयुक्त HTTP स्थिति कोड
- 30. सबसे संशोधित कोड को खोजने और मापने के लिए उपकरण?
प्रश्न खराब तरीके से phrased है और सवाल "सही" वोट दिया गया है, वास्तव में, सही जवाब नहीं है। इससे पता चलता है कि "कोड के लिए सबसे आसान एल्गोरिदम" आप जो चाहते हैं वह नहीं हो सकता है --- प्रोग्राम कभी खत्म नहीं हो सकता है। और यह दिखाता है कि आपको दक्षता से चिंतित होने की आवश्यकता क्यों है। – vy32
मुझे लूट लिया गया * क्रिज़ *: पी – Rushyo
आप बस इतना ही कह सकते हैं, 'कोड के लिए सबसे आसान एल्गोरिदम क्या है जो हमारे जीवनकाल में परिणाम देता है' :-) –