سودوكو حلال في ج

A Sudoku Solver في C هو برنامج Linux يستند إلى وحدة التحكم، مكتوبة باللغة C، التي تحل الألغاز Su Doku باستخدام منطق استنتاجي.
التحميل الان

سودوكو حلال في ج الترتيب والملخص

الإعلانات

  • Rating:
  • رخصة:
  • GPL
  • السعر:
  • FREE
  • اسم الناشر:
  • Bill DuPree
  • موقع ويب الناشر:
  • http://www.techfinesse.com/sshutout/sshutout.html

سودوكو حلال في ج العلامات


سودوكو حلال في ج وصف

Sudoku Solver في C هو برنامج Linux مقصورة على وحدة التحكم، مكتوبة بلغة C، التي تحل الألغاز سو الدوكو باستخدام منطق استنتاجي. Sudoku Solver في C هو برنامج Linux مقصورة على وحدة التحكم، مكتوبة بلغة C، التي تحل الألغاز سو الدوكو باستخدام منطق استنتاجي. سوف يلجأ فقط إلى المحاكمة والخطأ والنهج التراجع عند استنفاد التحركات الاستنتاجية الخاصة بها. يجب أن تكون أنواع مختلفة من مجموعة 9x9 القياسية باستخدام الأحرف (ASCII) من 1 إلى 9 لرموز الألغاز. يجب تقديم الألغاز كصوت 81 حرفا والتي، عند قراءة اليسار إلى ملء شبكة Sudoku 9x9 من اليسار إلى اليمين والأعلى إلى أسفل. في مواصفات الألغاز، تمثل الشخصيات 1 - 9 Givens اللغز أو القرائن. تمثل أي شخصية أخرى غير فارغة خلية غير محفيمة. خوارزمية حل الألغاز هي النمو في المنزل. لم أستعير أي من التقنيات المعتادة من الأدب، على سبيل المثال Donald Knuth's "الروابط الرقص". بدلا من ذلك، أدانت بلدي من الصفر كتحدي شخصي. على هذا النحو، لا يمكن إلقاء اللوم على أدائها فقط على لك حقا. لا يزال، أشعر أنه سريع جدا. على صندوق MHz 333 MHz Pentium II Linux، فإنه يحل الألغاز المتوسطة النموذجية في حوالي 800 ميكرويون أو حوالي 1200 من الألغاز في الثانية، وإعطاء أو اتخاذها. على Athlon XP 3000، يحل حوالي 6600 ألغاز لكل ثانية. (يعتمد وقت الحل على درجة الصعوبة، لذلك YMMV.) وصف الخوارزمية: خوارزمية الألغاز تفترض في البداية كل خلية غير مستمرة يمكن أن تتحمل كل قيمة ممكنة. ثم يستخدم وضع Givens لتحسين الخيارات المتاحة لكل خلية. أدعو هذه المرحلة المرحلة إلى المرحلة الأولى، ثم اكتمال العلامات، ثم تبحث الخوارزمية عن خلايا Singleton مع قيم، نظرا للقيود التي تفرضها الصفوف أو العمود أو منطقة 3X3، قد تتحمل فقط قيمة واحدة محتملة. بمجرد تعيين هذه الخلايا القيم، تعود الخوارزمية إلى مرحلة العلامات لتطبيق هذه التغييرات على حلول المرشح المتبقية. علامات الترميز / Singleton البديل حتى لا تحدث المزيد من التغييرات، أو يتم حل اللغز. أدعو حلقة التخلص من العلامات / Singleton حلو Simver Simver لأنه في نسبة مئوية كبيرة من الحالات التي يحلها اللغز. إذا لم ينتج الجزء Simple Solver من الخوارزمية حلا، فإن القواعد الاستنتاجية الأكثر تقدما يتم تطبيقها. لقد نفذت قاعدتين إضافيتين كجزء من حلال اللغز الاستنتاجي. الأول هو القضاء الفرعي حيث يتم فحص أي صف / عمود / منطقة لعدد X من الخلايا مع رقم X من حلول المرشح المطابقة. إذا تم العثور على مثل هذه المجموعات الفرعية (أو TUPLES) في الصف أو العمود أو المنطقة، فيمكن القضاء على قيم المرشحين من المجموعة الفرعية من جميع الخلايا الفرعية غير المنفصلة داخل الصف أو العمود أو المنطقة على التوالي. تفحص الحكم الاستنتاجي التالي لكل منهما المنطقة تبحث عن قيم المرشح التي تقوم بمحاذاة أنفسهم حصريا على طول صف واحد أو عمود واحد، أي ناقل. إذا تم العثور على هذه القيم المرشحة، فقد يتم القضاء عليها من الخلايا خارج المنطقة التي تعد جزءا من الصف أو العمود المحاذاة. ملاحظة أن كل من القواعد الاستنتاجية المتقدمة تدعو جميع القواعد المصدرة، بالترتيب، إذا كانت هذه القاعدة المتقدمة لديها تنفذ تغيير في لغز Markup.finally، إذا لم يتم العثور على أي حل بعد تطبيق جميع القواعد الاستنتاجية بشكل متكرر، فسوف نبدأ في التجربة والخطأ باستخدام العودية للتراجع. يتم إنشاء نسخة عمل من ألغازنا، واستخدام هذه النسخة يتم اختيار الخلية الأولى مع أصغر عدد من الحلول المرشحة. يتم تعيين إحدى قيم الحلول على هذه الخلية، وتسمى خوارزمية Solver باستخدام نسخة العمل هذه كنقطة بداية لها. في النهاية، يتم الوصول إلى أي حل، أو مأزق. إذا وصلنا إلى مأزق، يتم محاولة الاسترخاء العريضة والحلول التجريبي التالي. إذا تم العثور على حل (في أي وقت)، فسيتم إضافة قيم الحل إلى قائمة. مرة أخرى، طالما أننا ندرس كل الإمكانيات، فإن الإصابة بالتردد حتى تتم محاولة التجربة التالية. بهذه الطريقة أننا نعدد الألغاز مع حلول متعددة. ملاحظة أنه من الممكن بالتأكيد إضافة قائمة القواعد الاستنتاجية التطبيقية. التقنيات المعروفة باسم "X-Wing" و "سمك أبو سيف" تعطل. من ناحية أخرى، ستظل إضافة هذه القواعد الإضافية، في جميع الاحتمالات، إبطاء الحلال إلى أسفل عن طريق إضافة إلى العبء الحسابي أثناء إنتاج نتائج قليلة للغاية. لقد رأيت قانون تناقص العوائد حتى في بعض القواعد الحالية، على سبيل المثال بالتخلص بين المجموعات الفرعية، ألقي نظرة فرعية فقط على اثنين وثلاث ثلاث من مجموعات فرعية ذات قيمة نظرا لأخذها أبعد من الأداء المتدهوت. ما الجديد في هذا الإصدار: تم إعادة تعيين قواعد الترميز والتقييم للحصول على الدقة والكفاءة. تم تعبئتها محرك Solver كوحدة كائن قابلة لإعادة الاستخدام. تم تحسين نظام تسجيل اللغز، وتم إصلاح الخلل الذي تسبب في التشعب المبكر.


سودوكو حلال في ج برامج ذات صلة

blobtrixd.

blobtrixd هو خادم مستقل للعبة BlobTrix، وهو متغير لاعبين من Tetris. ...

136

تحميل

Yasss.

yasss هو برنامج سطر الأوامر C ++ يحل منح Sudokus. ...

158

تحميل