सुडोकू पहेली को संग्रहीत करने के लिए आवश्यक बिट्स की न्यूनतम संख्या क्या है?


28

नोट: यह मानक 9x9 सुडोकू पहेली के बारे में है। समाधान को केवल हल की गई, कानूनी पहेलियों का समर्थन करना है । तो एक समाधान के लिए खाली कोशिकाओं का समर्थन करने की जरूरत नहीं है और एक हल सुडोकू पहेली के गुणों पर भरोसा कर सकते हैं।

मैं यह सोच रहा था, लेकिन मैं एक जवाब के बारे में नहीं सोच सकता था कि मैं इसके साथ संतुष्ट था। एक भोली समाधान प्रत्येक कोशिका (81 कोशिकाओं) के लिए एक बाइट का उपयोग करेगा, कुल 648 बिट्स। एक अधिक परिष्कृत समाधान पूरे सुडोकू पहेली को आधार -9 संख्या (एक अंक प्रति सेल) में और बिट्स की आवश्यकता होगी।log2(981))=257

लेकिन यह अभी भी सुधार किया जा सकता है, उदाहरण के लिए, यदि आप एक 3x3 सबग्रिड में 9 संख्याओं में से 8 जानते हैं तो आप 9 वें को तुच्छ रूप से घटा सकते हैं। आप इन विचारों को उस बिंदु तक जारी रख सकते हैं, जहां यह प्रश्न उबलता है कि अद्वितीय हल किए गए सुडोकु की मात्रा क्या है? अब आप एक विशाल लुकअप टेबल का उपयोग कर सकते हैं जो प्रत्येक बाइनरी नंबर को सुडोकू पहेली में मैप करता है, लेकिन यह एक उपयोगी समाधान नहीं होगा।

तो, मेरा सवाल:

लुकअप टेबल का उपयोग किए बिना, सुडोकू पहेली को संग्रहीत करने के लिए न्यूनतम बिट्स की क्या आवश्यकता है और किस एल्गोरिथ्म के साथ?


3
वहाँ एक 3x3, पंक्ति, या स्तंभ में 9 वें नंबर को छोड़ने और रिक्त स्थानों के साथ न्यूनतम सुडोकू को संग्रहीत करने के बीच वास्तव में गुणात्मक अंतर है जो कि अद्वितीय समाधान है? "खाली कोशिकाओं का समर्थन करने की आवश्यकता नहीं है" यदि आवश्यक हो तो इष्टतम समाधान के लिए एक लाल हेरिंग का एक सा है।
वुल्फ

19
क्योंकि वहाँ 6.67 × 10 ^ 21 हल किए गए सुडोकू ("QSCGZ" 2003; फेलगेनहेयर और जार्विस 2005) और log_2 (6.67 × 10 ^ 21) = 72.4…, एक निचली सीमा 73 बिट्स है (भले ही आप विशाल टेबल लुकअप का उपयोग करते हों) । यदि आपको समरूपता के संदर्भ में अनिवार्य रूप से समान समाधानों को भेद नहीं करना है, तो यह निचली सीमा लागू नहीं होती है।
त्सुयोशी इतो

9
यह प्रश्न एक अच्छी प्रोग्रामिंग प्रतियोगिता के लिए करेगा।
पीटर शोर

1
अनिवार्य रूप से समान समाधानों के लिए अनुरूप निचली सीमा 33 बिट्स है।
चार्ल्स

3
आपको तालिका देखने की आवश्यकता क्यों है? आप केवल वांछित संख्या तक पहुंचने तक सुडोकू समाधानों को एक-एक करके गणना कर सकते हैं।
झिरुई वांग

जवाबों:


19

शाफ़्ट फ्रीक के उत्तर के समान लाइनों के साथ, यदि आप निम्न मैट्रिक्स में गैर-तारांकित कोशिकाओं को भरते हैं, तो एक समय में एक 3x3 बॉक्स, हमेशा एक बॉक्स भरने के लिए अगला बॉक्स चुनने वाला होता है जो एक बॉक्स के साथ पंक्तियों या स्तंभों को साझा करता है। पहले से ही भरा हुआ है, आपको प्रति चरण विकल्पों की संख्या के लिए निम्न जैसा एक पैटर्न मिलता है (शीर्ष मध्य बॉक्स में पहले भरना, शीर्ष दाएं बॉक्स आगे आदि)।

पहले के बाद प्रत्येक 3x3 बॉक्स में, एक बार जब आप एक पंक्ति या बॉक्स के कॉलम में भर जाते हैं, तो शेष छह अंकों में से तीन एक पंक्ति में स्थानीय हो जाते हैं। पहले उनके स्थान चुनें, और फिर शेष तीन कक्षों में भरें। (इसलिए आपको जो पहले से पता है, उसके आधार पर किन सेल को भरना है, इसका वास्तविक क्रम अलग-अलग हो सकता है, लेकिन जो मैंने दिखाया है, उसके लिए विकल्पों की संख्या कभी अधिक नहीं है।)

इन कोशिकाओं में भर जाने के बाद तारे सभी निर्धारित हो जाते हैं।

* * * ९ * * ६ ५ ४
* * * ६ ५ ४ ३ ३ २
* * * ३ २ १ १ ३ २ १

६ ५ ४ * * * ६ ३ ३
3 3 2 * * * 5 3 2
3 2 1 * * * 4 2 1

६ ३ ३ ६ ५ ४ * * *
5 3 2 3 3 2 * * *
4 2 1 3 2 1 * * *

अगर मैंने सही गणना की है, तो यह 87 बिट्स देता है। पीटर शोर द्वारा की गई टिप्पणी के अनुसार, पिछले 3x3 ब्लॉक में होने वाली कुछ अतिरिक्त बचतें हैं: प्रत्येक मूल्य चार कोशिकाओं में से एक के लिए स्थानीय है, और प्रत्येक पंक्ति में केवल चार संभावित मानों के साथ कम से कम एक सेल शामिल है, इसलिए निश्चित रूप से इसमें कारक हैं ब्लॉक को 4 नहीं 6 से शुरू करना चाहिए, लेकिन मैं शोर के उत्तर में शेष कारकों को नहीं समझता।


4
जब आप छठे 3x3 बॉक्स में भरते हैं, तो आप विकल्पों की संख्या कम कर सकते हैं। यह बॉक्स कुल 83 बिट्स के लिए 4,3,2 / 3,2,1 / 2,1,1 हो जाता है, अगर मैंने इसकी सही गणना की।
पीटर शोर

@ पेटर - nope। दाईं ओर की 3 संख्याएं ऊपर की संख्याओं के समान हो सकती हैं। आप नहीं जानते कि वे सभी अलग हैं। सबसे अधिक सुनिश्चित अद्वितीय संख्याएं 3 हैं इसलिए पहला बॉक्स छह वस्तुओं में से एक है। (यह एक स्थान एक उदाहरण है। यह दूसरों के लिए भी सच है।)
होगन

@ डेविड - मेरी टिप्पणी से पीटर को लगता है कि मुझे नहीं लगता कि आपके नंबर गलत हैं। आपके पास दूसरे बॉक्स में 6 5 4 4 3 2 3 2 1मेरा मानना ​​है कि यह 6 5 4 6 5 4 3 2 1सबसे खराब स्थिति के लिए होना चाहिए ।
होगन

होगन, नहीं, मेरे उत्तर के भाग को "एक बार बॉक्स की एक पंक्ति या स्तंभ में भर लेने के बाद, आप हमेशा एक ही पंक्ति या कॉलम को चुन सकते हैं जिसमें एक हो जिसमें अधिकतम चार संभावित मान हों ”
डेविड एपस्टीन

@ डेविड - लेट्स को 3 x 3s 1,1 1,2 1,3 लेबल करें जो बाएं से दाएं ऊपर से नीचे जा रहा है। चलो वर्गों ए को सक्षम करें - मैं बाएं से दाएं ऊपर से नीचे जा रहा हूं। 1,3 में स्थान डी को 3 नंबर में पता है कि यह 3 में है (ए, बी, सी) और यह 1,2 (डी, ई, एफ) में 3 संख्या जानता है, लेकिन यह नहीं जानता है कि 6 नंबर अलग हैं। वे बॉक्स 3,1 और 2,1 से समान 3 नंबर हो सकते हैं और इस प्रकार MAX 6 विकल्प हैं।
होगन

13

@ पीटर के जवाब के साथ यहां जाना प्रत्येक कोशिका के लिए सबसे खराब स्थिति की सूची है, जैसा कि आप इसे शीर्ष बाईं ओर से शुरू कर रहे हैं

9   8   7       6   5   4       3   2   1
6   5   4       6   5   4       3   2   1
3   2   1       3   2   1       3   2   1

6   6   3       6   5   4       3   2   1
5   5   2       5   5   3       3   2   1
4   4   1       4   2   1       3   2   1

3   3   3       3   3   3       1   1   1
2   2   2       2   2   2       1   1   1
1   1   1       1   1   1       1   1   1

यह 4,24559E + 29 स्थिति या 99 बिट्स के लिए बनाता है

संपादित करें: यह भूल गए कि अंतिम वर्ग पूरी तरह से अन्य लोगों द्वारा निर्धारित किया गया है


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

@peter, लेकिन आपको एन और डिकोडिंग में संकीर्णता जोड़ने की आवश्यकता है और मुझे एहसास हुआ कि अगर आपको एक चुनना है और ऑर्डर को ठीक नहीं करना है (सबसे आसान तरीका है, लेकिन वास्तव में इष्टतम नहीं है), तो आपको इसे एन्कोडिंग में भी जोड़ना होगा
शाफ़्ट फ़्रीक

नहीं, यदि आप en- और डिकोडिंग प्रक्रिया में सर्वश्रेष्ठ सेल का पता लगाने के लिए एक ही एल्गोरिदम का उपयोग करते हैं, तो यह एक ही सेल देगा (क्योंकि यह एक ही डेटा पर काम कर रहा है), इसलिए en- और डिकोडिंग प्रक्रियाएँ सिंक्रनाइज़ हो जाएंगी, और आपको एन्कोडिंग में ऑर्डर नहीं जोड़ना है। यह विचार LZW डेटा कम्प्रेशन एल्गोरिथ्म को भी काम करता है।
पीटर शोर

मुझे लगता है कि एक वैध सुडोकू पहेली को स्टोर करने के लिए आवश्यक न्यूनतम बिट्स एक कम्प्यूटेबल फ़ंक्शन (कोलमोगोरोव) नहीं है। हालांकि पीटर / शाफ़्ट द्वारा 103 बिट एक अच्छा बाध्य लगता है।
मार्जियो डी बियासी

2
@Vor: तकनीकी रूप से ट्यूरिंग मशीन जो इनपुट के रूप में सुडोकू पहेली दिए जाने पर बिट्स की सही संख्या को आउटपुट करती है क्योंकि इनपुट सेट परिमित है, इसलिए "इस पहेली का वर्णन करने के लिए कितने बिट्स की आवश्यकता है" "तुच्छ" अनिवार्य है। मैं कह रहा हूं कि हम वास्तव में ऐसी ट्यूरिंग मशीन को स्पष्ट रूप से पा सकते हैं (सिद्धांत रूप में, गणना बहुत लंबा रास्ता तय करेगी), क्योंकि यह एक ओमेगा संख्या के परिमित उपसर्ग की तुलना में कठिन नहीं हो सकता है।
एरॉन स्टर्लिंग

5

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

वर्गों का क्रम ठीक करें। मान लीजिए कि पहले वर्ग पर संख्या । रखो एन 1 Sudokus जिनकी पहली वर्ग से भी कम है की संख्या होने के लिए डी 1 । चलो अब d 2 दूसरे वर्ग की संख्या है। रखो एन 2 Sudokus जिनकी पहली वर्ग है की संख्या होने के लिए डी 1 और जिसका दूसरा वर्ग से भी कम है 2 । और इसी तरह। एन्कोडेड नंबर N = i N i हैd1N1d1d2N2d1d2N=iNi

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

संपादित करें: सुडोकू के गणित पर विकिपीडिया पृष्ठ चित्र को स्पष्ट करने में हमारी मदद करता है। एड रसेल द्वारा संकलित तालिका भी सहायक है ।

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

  1. कॉन्फ़िगरेशन को सामान्य करें ताकि इसकी शीर्ष पंक्ति 123456789 हो।
  2. पता करें कि यह किस 44 विभिन्न विन्यासों से संबंधित है। विकिपीडिया लेख उस के लिए एक एल्गोरिथ्म देता है। तालिका प्रत्येक कॉन्फ़िगरेशन के लिए समतुल्य वर्गों की संख्या, साथ ही पूर्णताओं की संख्या को सूचीबद्ध करती है।
  3. इसके समतुल्य वर्ग के अंदर शीर्ष तीन पंक्तियों के विन्यास की क्रमिक संख्या निर्धारित करें। यह दो तरीकों से किया जा सकता है: या तो सभी समतुल्यता वर्ग की सूची का उपयोग करना (सभी समतुल्यता वर्गों में कुल मिलाकर 36288 हैं), या उन सभी को शीघ्रता से निकालने का एक तरीका खोजकर।
  4. अपने पहले कॉलम द्वारा पंक्तियों को 4-6 और 7-9 छाँटकर शेष पंक्तियों को सामान्य करें, और फिर कुछ मनमाने तरीके से पंक्तियों के इन दो ब्लॉकों को छाँटें। यह 72 के कारक द्वारा पूर्णता की संख्या को कम करता है।
  5. एक ही प्रथम स्तंभ वाले सभी पूर्णताओं को संकलित करें। प्रत्येक समतुल्यता वर्ग के लिए उनमें से लगभग , ताकि बहुत लंबा न हो। कुछ ट्रेडऑफ़ यहाँ भी संभव हैं।220
  6. आइए समतुल्यता वर्ग हो, j समतुल्यता वर्ग के भीतर शीर्ष तीन पंक्तियों के विन्यास की क्रमिक संख्या हो , k पूर्णता की क्रमिक संख्या हो। दो सरणियाँ C i , D i (जो कि एड रसेल की मेज से गणना की जा सकती हैं) ऐसी हैं कि C i + j D i + k सोडोडो की क्रमिक संख्या 9 तक है ! 72 समानताएं माना जाता है। उससे आप वास्तविक क्रमिक संख्या की गणना कर सकते हैं।ijkCi,DiCi+jDi+k9!72

यह प्रक्रिया प्रतिवर्ती है, और क्रमिक संख्या से सुडोकू उत्पन्न करेगी। ध्यान दें कि सुडोकू की गणना कुछ मिनटों (2006 में, विकिपीडिया लेख के वार्ता पृष्ठ देखें) या उससे कम हो गई है, इसलिए मुझे उम्मीद है कि आधुनिक कंप्यूटर पर यह दृष्टिकोण बहुत व्यावहारिक होगा और कुछ सेकंड या उससे कम समय लेगा।


2
क्या कुशलता से सुडोकू के लिए समाधानों की गणना करना संभव है? यह # P- पूर्ण है यदि आप आकार को सामान्य करते हैं और आप मनमाने स्थानों पर रिक्त स्थान की अनुमति देते हैं।
त्सुयोशी इतो

2
जैसा कि मैंने अपने उत्तर में कहा था, अंकगणित एन्कोडिंग इस परिदृश्य के लिए निकट-इष्टतम संपीड़न प्राप्त करेगा।
पीटर शोर

1
आप सही हो सकते हैं, लेकिन आपका दावा है कि सुडोकू ग्रिड की संख्या (6.67 × 10 ^ 21) आधुनिक कंप्यूटर पर गणना करना आसान है। गणना करना वास्तव में संभव है, लेकिन क्या यह आसान है?
त्सुयोशी इतो

2
गणना करने के तरीके का वर्णन करने वाले एक पेपर से मुझे वह आभास मिला। आप प्रीप्रोसेसिंग में कुछ "भारी" डेटा की गणना भी कर सकते हैं और इसे यथोचित आकार की तालिका में संग्रहीत कर सकते हैं - गति का लाभ नाटकीय हो सकता है। जहाँ तक मुझे याद है, उन्हें कुछ ही घंटे लगे थे, और कुछ साल पहले। अब मान लीजिए कि आप एक तालिका का उपयोग 1000 गुना तेज करने के लिए करते हैं। क्या अधिक है, प्रत्येक चरण में संख्या में तेजी से कमी आती है, इसलिए अधिकांश कार्य संभवतः पहले चरण में केंद्रित होते हैं।
युवल फिल्मस

1
@tsuyoshi मेरा मानना ​​है कि BDDs का कुछ संस्करण / विस्तार है जो गणना को अपेक्षाकृत सरल बनाता है - मुझे इसके लिए थोड़ी सी खुदाई करने की आवश्यकता होगी, लेकिन मुझे पता है कि उनका उपयोग कुछ काफी जटिल दहनशील समस्याओं के लिए किया गया है।
स्टीवन स्टैडनिक

4

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

प्रत्येक खाली सेल में कितने नंबर रखे जा सकते हैं, यह निर्धारित करने के लिए एक निश्चित एल्गोरिदम का उपयोग करें। लेक्सोग्राफिक रूप से पहली सेल का पता लगाएं, जिसमें विभिन्न संख्याओं में से सबसे छोटी संख्या को रखा जा सकता है, और जो इन नंबरों में से एक को एनकोड करती है (इसलिए यदि कोई सेल में केवल 3, 7 या 9 हो सकते हैं, तो 3 0 से एन्कोड किया जाता है) "," 1 "द्वारा 7 और" 2 "द्वारा 9)। अंकगणित कोडिंग का उपयोग करके परिणामी अनुक्रम को एन्कोड करें (जो संभव संख्याओं की संख्या को ध्यान में रखता है जो एक सेल में हो सकते हैं)।

मुझे नहीं पता कि परिणामी बाइनरी अनुक्रम कितने समय तक रहेगा, लेकिन मुझे संदेह है कि यह बहुत कम है, खासकर अगर आपके एल्गोरिथ्म को गिनने के लिए कि कितने नंबरों को सेल में रखा जा सकता है, तो यह काफी परिष्कृत है।

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


3

किसी भी टिप्पणी और आलोचनाओं का स्वागत करते हैं

संकुचित संवेदन से एक दृष्टिकोण बिट्स से 171.72 बिट्स की सीमा प्रदान करता है :69.96171.72

1.) स्टोरिंग का तात्पर्य है समाधान (सूचना को सैद्धांतिक रूप से संग्रहीत करना)।

t(α)α2t(α)αt(3) =2.444443

Pα4t(α)α2

Mβ×α4β2t(α)α22t(α)α2{0,±1}β=kt(α)α2k

V=MPβ|α2|M{0,±1}

Vβlogα2=2kt(α)α2logα

α=3टी(α) =32कश्मीरटी(α)α2लॉगα=69.96कश्मीर85.86कश्मीरकश्मीर=2139.92171.72मैंटीरों

एमपी

)कश्मीर2टी(α)-1

बी)टी(α)टी(α)कश्मीरटी(α)α4सीटी(α)α2α4-(3α2-1)सीटी(α)α2-3टी(α)

टी(α)α2

सी)कश्मीर

डी) वीवीहे((वीमीटरएक्स))=हे(|α2|)2βलॉगα2=2कश्मीरटी(α)α2लॉगα

2कश्मीर2)बी)सी)डी)8973


1

यह पूरा-सुडोकू कॉम्पैक्ट एन्कोडिंग के कार्यान्वयन की रिपोर्ट करना है (ज़ुरुई वांग 9/14/11 द्वारा सुझाव के समान)।

इनपुट शीर्ष पंक्ति और दूसरी पंक्ति के पहले 3 अंक हैं। ये कम होकर 1-9 हो गए हैं! और 1-120 और <= 4.4x10 ^ 7 से संयुक्त। इनका उपयोग जिवन के रूप में किया जाता है ताकि मिलान अनुक्रम में 30 अंको के सभी आंशिक सूकोकोस को गिन सकें। फिर पूरे 81 अंकों तक की अंतिम गणना उसी तरह की जाती है। इन 3 अनुक्रमों को अधिकतम 26 बिट्स के 32-बिट पूर्णांक के रूप में संग्रहीत किया जाता है, इसलिए आगे संपीड़ित किया जा सकता है। पूरी प्रक्रिया में लगभग 3 मिनट लगते हैं, जिसमें सबसे अधिक समय 30 अंकों का होता है। डिकोडिंग समान है - सिदोकस के बजाय मिलान वाले को छोड़कर।

जल्द ही आ रहा है - संशोधन में 30 अंकों की गणना (2 32-बिट कोड) की गणना में 2 पंक्ति के पहले 3 अंक शामिल हैं, जार्विस गणना (Jscott, 3/1615) के साथ तुलना


1
FYI करें: यदि आपने दो खाते बनाए हैं और उन्हें मर्ज करना चाहते हैं, तो cstheory.stackexchange.com/help/merging-accounts
DW

0

मैं निम्नलिखित सरल विश्लेषण के साथ जाऊंगा:

प्रत्येक मान 4 बिट्स में संग्रहीत किया जा सकता है (1-9 से लेकर, ये तीन बिट्स 0-16 के लिए भी अनुमति देते हैं)

9×9=81

8×8

मुझे लगता है कि मैं इसे कम कर सकता हूं:

=लॉग2(v)(n-1)

कहा पे

v

n

संपादित करें: नव शैली: मुझे पता है कि लेटेक्स।


-2

प्रत्येक सुडोकू के लिए यह संख्या अलग है। सुडोकू के लिए नियमों में से एक यह है कि इसका ठीक एक समाधान है।

इसलिए यदि आप एक उदाहरण देखते हैं, तो यह न्यूनतम डेटा है जिसे आपको स्टोर करना चाहिए।

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

चूंकि ज्यादातर पहेलियाँ ज्यादातर खाली होती हैं, एक रन लंबाई एन्कोडिंग शायद अच्छे परिणाम देगा।


यह लालची दृष्टिकोण आवश्यक रूप से न्यूनतम प्राप्त नहीं करता है, शायद आपको सावधानीपूर्वक चयन करने की आवश्यकता है कि प्रत्येक चरण में कौन सा अंक निकालना है।
डिएगो डे एस्ट्राडा

यह सिर्फ एक उदाहरण है। "सुडोकू पहेली जनरेटर" के लिए Google अधिक परिष्कृत वाले प्राप्त करने के लिए।
एरोन दिगुल्ला

5
मैं वास्तव में यह नहीं देखता कि आप यह अपेक्षा क्यों करेंगे कि वे विशेष रूप से अच्छा प्रदर्शन करेंगे। यह सिर्फ एक जवाब के बजाय आंत महसूस होने लगता है।
जो फिजसिमंस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.