আমি কীভাবে সুডোকু ধাঁধা তৈরি করতে পারি?


17

আমি সুডোকু ধাঁধা জেনারেটর তৈরি করার চেষ্টা করছি। এটি আমার প্রত্যাশার চেয়ে অনেক বেশি শক্ত এবং আমি এর মধ্যে যত বেশি getুকি, ততই কঠিন এটি!

আমার বর্তমান পদ্ধতির সমস্যাটি 2 টি ধাপে বিভক্ত করা:

  1. একটি সম্পূর্ণ (সমাধান করা) সুডোকু ধাঁধা তৈরি করুন।
  2. সংখ্যাগুলি সমাধানযোগ্য না হওয়া পর্যন্ত সরান এবং কেবলমাত্র 1 টি সমাধান রয়েছে।

পদক্ষেপ 1-এ, যেহেতু আমি একটি নিষ্ঠুর শক্তি পদ্ধতি ব্যবহার করছি, তাই আমি চালানোর সময় কিছু সমস্যার মুখোমুখি হচ্ছি। একটি সম্পূর্ণ সুডোকু ধাঁধা পূরণ করার সর্বোত্তম উপায় আছে?

পদক্ষেপ 2-এ, কোনও সমাধান হওয়া সুডোকু "বিস্মিত" করতে আমার কী ধরণের অ্যালগরিদম ব্যবহার করা উচিত?


এই প্রশ্নটির কিছু তথ্য রয়েছে যা আপনি কীভাবে ধাঁধা উত্পন্ন করতে পারেন তা নির্ধারণ করতে পারেন
ratchet freak

3
এই প্রশ্নও বিরক্তিকর উপর জিজ্ঞাসা করা হয়েছে (এবং সেখানে সবচেয়ে ভালো উত্তর আছে) puzzling.stackexchange.com/questions/142/...
congusbongus

উত্তর:


30

আইওএস অ্যাপ স্টোরটিতে আমার কাছে শীর্ষে সুদোকু গেম রয়েছে। আমি কীভাবে ধাঁধা তৈরি করেছি তা এখানে।

প্রথমে আমার কাছে একটি ধাঁধা জেনারেটর অ্যাপ্লিকেশন রয়েছে। তবে এটি গেমের কোডের অংশ নয়। এটি 'একটি একা স্ট্যান্ড অ্যাপ্লিকেশন যা আমি ধাঁধা তৈরি করতে ব্যবহার করি। এটি অত্যন্ত সংশোধন করা হয়েছে যাতে আমি বিভিন্ন ধরণের ধরণের प्रकार, অসুবিধা রেটিং, প্রদত্ত সংখ্যা ইত্যাদি তৈরি করতে সেট করতে পারি p ধাঁধা তৈরি করা এবং ধারাবাহিকভাবে অসুবিধার স্তর অর্জন করা উড়ে যাওয়ার পক্ষে কঠিন এবং কোনও খেলোয়াড় অপেক্ষা করতে চাইলে তার চেয়ে বেশি সময় লাগে। সুতরাং, আমি যাকে "বীজ ধাঁধা" বলি তা উত্পন্ন করি এবং এটিই গেমের কোড দ্বারা লোকেদের ধাঁধাটি তৈরি করে is

আমি এখানে কোনও জেনারেটর কোড করার জন্য উত্তর দিচ্ছি না। আপনি গুগল করতে পারেন এবং অনলাইনে প্রচুর ধাঁধা জেনারেটর কোড খুঁজে পেতে পারেন। সেখানে শুরু করুন। তবে একটি ভাল গেম তৈরি করতে আপনার একটি ভাল গেম তৈরি করা দরকার। আমার গেমটি উড়তে ধাঁধা তৈরি করে না।

আমার ধাঁধা জেনারেটর অ্যাপ্লিকেশনটি যেভাবে কাজ করে তা হ'ল এটি প্রতি মিনিটে হাজার হাজার ধাঁধা উত্পন্ন করে তবে এগুলি ভাল হয় না এবং তারা সকলেই একটি নির্দিষ্ট সমস্যা রেটিংয়ের সাথে মেলে না। জেনারেটর একটি ধাঁধা তৈরি করে, তারপরে সমাধান করে এবং একটি অসুবিধা নির্ধারণের বিষয়টি নির্ধারণ করে এবং ধাঁধাটি সমাধান করার জন্য প্রয়োজনীয় কৌশলগুলির উপর ভিত্তি করে ধাঁধাটি স্কোর করে এবং নির্ধারণ করে যে এটি সমাধান করার জন্য অনুমান করা প্রয়োজন কিনা (যা সাধারণত খারাপ)। এটি এমন কোনও ধাঁধা টস করে যা কোনও মানদণ্ডের সাথে মেলে না। একটি দ্রুত মেশিনে শক্ত কিন্তু অসম্ভব ধাঁধাগুলির জন্য, আমার সঠিক স্পেসিফিকেশনের সাথে মিলে যাওয়া 100 টি ধাঁধা তৈরি করতে এক ঘন্টা সময় নিতে পারে। এই কারণেই আমি অ্যাপটিতে এটি করি না। এই শক্ত স্পেসিফিকেশন সহ ফ্লাইজে ধাঁধা উত্পন্ন করা আমার অ্যাপ্লিকেশনটিতে থাকা ধাঁধাটির মানের জন্য কাজ করবে না।

ধাঁধাটি স্ট্রিং, 162 টি অক্ষর দীর্ঘ, সংখ্যা এবং ড্যাশ বা বিন্দুযুক্ত 81 টি অক্ষর যেখানে ফাঁকা স্থানগুলি চলেছে, তারপরে সমাধানের সাথে আরও একটি 81। তারপরে প্রতিটি পরিসংখ্যানের কলাম, যেমন একক, ডাবল ইত্যাদি etc.

সমস্ত প্রজন্মের সেশনগুলি থেকে আমার আউটপুটটি কলাম হিসাবে পরিসংখ্যানগুলির সাথে কমা সীমিত রেখাগুলি। আমি সম্ভবত 10,000 টি ধাঁধা নিয়ে যাব, এগুলিকে এক্সিল করার জন্য নিয়ে এসেছি এবং অসুবিধা অনুসারে এগুলিকে বাছাই করব। তারপরে তাদের গেম বোর্ডে দেখতে একটি অ্যাপ্লিকেশানে নিয়ে আসুন। আমি ভিজ্যুয়াল আবেদন এবং ধাঁধার কাছে দৃশ্যমান নিদর্শনগুলির জন্য তাদের দিকেও তাকাই। তারপর আমি তাদের কাছ থেকে বাছাই।

আমি তাদের বীজ ধাঁধা বলি এবং এখানে আমার অর্থ কি। সুডোকু গেমের সংখ্যাগুলি আসলে টোকেন। 1-9 নম্বর হওয়ার পরিবর্তে তারা রঙ বা চিহ্ন বা অক্ষর হতে পারে। সুতরাং আমার বীজ ধাঁধাটি সংখ্যা নয় তারা হ'ল অক্ষর। খেলতে সক্ষম ধাঁধা তৈরি করতে প্রতিটি বীজ ধাঁধাটি ফ্লাইতে পরিবর্তিত হয়:

  1. সংখ্যা / টোকেন এলোমেলো করুন। আমি যখন অক্ষরগুলিকে আই-এর পিছনে 1-9 নম্বরগুলিতে পরিণত করি তখন দেখার টেবিলটি এলোমেলো হয়ে যায়। অর্থ যে এটি সর্বদা 1 নয় isn't এটি একা প্রতিটি ধাঁধাতে প্রায় 300,000 বিভিন্নতা তৈরি করে।
  2. ধাঁধাটি 90, 180 বা 270 ডিগ্রি ঘোরান। এটি আরও 4 টি প্রকরণ যুক্ত করে।
  3. ধাঁধাটি অনুভূমিকভাবে, উল্লম্বভাবে বা উভয়ই ফ্লপ করুন। এটি আরও 4 টি প্রকরণ যুক্ত করে।

প্রতিটি বীজ ধাঁধা 5,806,080 বৈচিত্র তৈরি করতে পারে। আমি সত্যিকারের খেলোয়াড়দের সাথে মাঠে এটি পরীক্ষা করেছি। লোকেরা জানে না যে তারা মূলত একই ধাঁধা খেলছে। এটা আসলে অসম্ভব। কেবলমাত্র যদি তারা খেয়াল করে যে প্রদত্ত প্যাটার্নটি প্রতিবার একই রকম। তবে এমনকি 100 টি বিভিন্ন বীজের সাথেও কেউ খেয়াল করবে না। আমার গেমের এক মিলিয়ন ব্যবহারকারী নেই। আমি এটি সলভার অ্যাপ্লিকেশনগুলির সাথেও পরীক্ষা করেছি। কোনও সমাধানকারী অ্যাপ্লিকেশন কোনও ধাঁধাটি ঘোরানো বা ফ্লপ হয়ে যাওয়ার পরে একইভাবে সমাধান করবে না। এটি প্রযুক্তিগতভাবে একই ধাঁধা হলেও এমনকি কখনও কখনও এটি একটি পৃথক অসুবিধা রেটিং হিসাবে বিশ্লেষণ করবে।

তবে, বিগ ব্যাড সুডোকু বুকের ১০ টির মধ্যে ১০ টি এর বীজ ধাঁধা 5 টি স্তরের স্তরে এবং একাধিক ধাঁধা ধরণের ধরণ রয়েছে। এর অর্থ আমার গেমটিতে কোটি কোটি ধাঁধা রয়েছে। প্রতি 10,000 বীজ ধাঁধা সহ 58,060,800,000 টি বিভিন্ন ধাঁধা রয়েছে।

সুডোকু বুক সংস্করণে 4 (নির্ধারিত ২০১ 2016 আউট) আমি 58৮ বিলিয়নের মধ্যে একটি সঠিক ধাঁধা নির্দিষ্ট করতে এবং প্রতিটি খেলোয়াড়ের ডিভাইসে একই ধাঁধা পেতে সক্ষম হওয়ার উপায় খুঁজে পেয়েছি।


খুব দরকারী পোস্ট। আপনি যে উপায়ে উত্পন্ন বীজগুলি অন্য বীজ থেকে তৈরি করা যেতে পারে তার অর্থ, আপনার কাছে অভিন্ন বীজ রয়েছে কিনা তা কোনওভাবে পরীক্ষা করে দেখুন?
VLAS

হ্যাঁ. আমি এগুলি সমস্ত পাঠ্যসমাজে ফেলে রেখেছি এবং একটি বাছাই করি। তারপরে নকলগুলি সরান। আমি মনে করি না এটি কখনও সরানো হয়েছে। বীজ একেবারে অনন্য। দুটি ভিন্ন বীজ থেকে একই ধাঁধাটি তৈরি করা অসম্ভব। কোনও দিন আমি সঠিক প্রক্রিয়াটি দেখাব কিন্তু এখন নেই যখন আমি এখনও আমার পদ্ধতিগুলি বন্ধ করে দিচ্ছি। :)
ব্যাডওয়েসেল

আসলে আমার পুরো প্রক্রিয়াটি এখানে বেশ সুন্দর।
Badweasel

2
নম্বরগুলি কেবল টোকেন এবং অন্তর্ভুক্তির জন্য +1 হ'ল অক্ষরগুলিতে নির্ধারিত সংখ্যাগুলি পরিবর্তন করা।
এস। মিচেল

সত্যিই দরকারী উত্তর! যেহেতু আপনার কাছে 3 টি কলাম এবং 3 টি সারি রয়েছে, আপনার মধ্যবর্তী কলামটি বাম বা ডানদিকে এবং মধ্য সারিটি উপরের বা নীচে আরও 4 টি রূপগুলি উত্পন্ন করতে সক্ষম হওয়া উচিত। ধাঁধাটি উল্লম্বভাবে উল্টানো বা এটি অনুভূমিকভাবে ফ্লপ করার পরিবর্তে আপনি আরও 4 টি বৈকল্পের জন্য কেবল বাম এবং ডান কলামগুলি (এবং উপরে এবং নীচে সারি) বাণিজ্য করতে পারেন। সুতরাং আমি মনে করি আপনাকে অবশ্যই একটি বীজ থেকে ৪৩ মিলিয়ন পরিবর্তন আনতে হবে।
রজার_১১

4

পদক্ষেপে (1) একটি সম্পূর্ণ (সমাধান করা) সুডোকু ধাঁধা তৈরি করুন, যেহেতু আমি একটি নিষ্ঠুর শক্তি পদ্ধতি ব্যবহার করছি, তাই আমি রান চালানোর সময় কিছু সমস্যার মুখোমুখি হচ্ছি। একটি সম্পূর্ণ সুডোকু ধাঁধা পূরণ করার সর্বোত্তম উপায় আছে?

একটি সম্পূর্ণ সুডোকু ধাঁধা পূরণ করার একটি সহজ উপায় রয়েছে - গ্রুপ ফিলিং এবং বিজ্ঞপ্তি শিফট।

  1. নয়টি পৃথক সংখ্যার সাথে প্রথম সারিটি পূরণ করুন।
  2. দ্বিতীয় সারিটি পূরণ করুন যা তিন স্লটে প্রথম লাইনের একটি স্থানান্তর।
  3. তৃতীয় সারিটি পূরণ করুন যা দ্বিতীয় লাইনের তিনটি স্লটে একটি শিফট।
  4. চতুর্থ সারিটি পূরণ করুন যা এক স্লটে তৃতীয়টির স্থানান্তর।


line 1: 8 9 3  2 7 6  4 5 1
line 2: 2 7 6  4 5 1  8 9 3 (shift 3)
line 3: 4 5 1  8 9 3  2 7 6 (shift 3)

line 4: 5 1 8  9 3 2  7 6 4 (shift 1)
line 5: 9 3 2  7 6 4  5 1 8 (shift 3)
line 6: 7 6 4  5 1 8  9 3 2 (shift 3)

line 7: 6 4 5  1 8 9  3 2 7 (shift 1)
line 8: 1 8 9  3 2 7  6 4 5 (shift 3)
line 9: 3 2 7  6 4 5  1 8 9 (shift 3)

ব্যবহারকারীকে সুস্পষ্ট প্যাটার্নটি পর্যবেক্ষণ থেকে বিরত রাখতে, সারিগুলি এবং কলামগুলির ক্রমটি এলোমেলো করে দেওয়া ভাল ধারণা হতে পারে যাতে আর কোনও প্যাটার্ন না থাকে। যতক্ষণ না প্রতিটি সারি / কলামের সমস্ত 9 নম্বর একত্রে একটি পারমাণবিক ইউনিট হিসাবে চলে আসে, সুডোকু বোর্ড সর্বদা বৈধ থাকবে।

আপনি একটি সম্পূর্ণ ভরাট সুডোকু ধাঁধা পান। আরও তথ্যের জন্য, আপনি "সুডোকু তৈরি করুন" অনুসন্ধান করতে পারেন।


3

এটি আপনার পক্ষে সুডোকু সমাধানকারী রয়েছে এমনটি খুব কঠিন নয়।

সুডোকু সমাধানকারী একটি শক্ত / আকর্ষণীয় সমস্যা, তাই এটি অন্য কোনও প্রশ্নের জন্য সংরক্ষণ করা ভাল। অথবা আপনি শুধু পড়তে পারেন এই দেখ তুই কেমন করে যাবি।

  1. একটি সমাধান করা ধাঁধা তৈরি করতে, খালি বোর্ডে সলভারটি কেবল চালান। একমাত্র সতর্কতা হ'ল আপনার "অনুমানগুলি" এলোমেলো করা উচিত যা সমাধানকারী ব্যবহার করে, অন্যথায় আপনি প্রতিবার একই ধাঁধাটি দিয়ে শেষ করতে পারেন। এটি হ'ল, এক পর্যায়ে সমাধানকারী একটি কোষের জন্য একটি সংখ্যা চেষ্টা করবেন; এটি এই ক্রমে এটি চেষ্টা করতে পারে:1, 2, 3, 4, ... এবং কাজ করে এমন প্রথমটি বেছে নিন। আপনার সেই অর্ডারটি বদলানো দরকার যাতে এটি চেষ্টা করে, বলে 4, 7, 2, 9, ...,। এই প্রক্রিয়াটি আপনার সমাধানকারী হিসাবে দ্রুত হওয়া উচিত।
  2. সংখ্যাগুলি সরাতে, এই অ্যালগরিদমটি ব্যবহার করুন:
    • আপনি আগে অপসারণ করার চেষ্টা করেন নি এমন একটি এলোমেলো নম্বর চয়ন করুন
    • নম্বরটি সরান, যুক্ত হওয়া শর্তে আপনার সলভার চালান যে এটি এখানে সরানো নম্বরটি ব্যবহার করতে পারে না
    • সমাধানকারী যদি কোনও সমাধান খুঁজে পান তবে আপনি নম্বরটি সরাতে পারবেন না
    • পুনরাবৃত্তি করুন, যতক্ষণ না আপনি পর্যাপ্ত সংখ্যা মুছে না ফেলেছেন (বা আপনি আর মুছতে পারবেন না)

এটি একটি খুব সহজ (এবং নিষ্পাপ) পদ্ধতি, সুতরাং কোনও গ্যারান্টি নেই যে আপনি একটি নির্দিষ্ট অসুবিধায় ধাঁধা পেয়ে যাবেন - যে অনুপস্থিত সংখ্যার সংখ্যাটি বাদ দিয়ে - বা আপনি যদি চান এমন সংখ্যার পরিমাণও সরাতে পারেন তবে। আশা করি এটি যেভাবেই সহায়তা করবে।


নিশ্চিত করুন যে সলভার একই অবস্থা থেকে একাধিক সমাধান খুঁজে পাচ্ছে না। সাধারণত একমাত্র সমাধান হওয়া উচিত। এছাড়াও, সমস্যাটি নির্ধারণের জন্য সমাধানটি অনুসন্ধানের জন্য সমাধানকারীকে কোন যৌক্তিক পদক্ষেপ গ্রহণ করতে হবে তা পরীক্ষা করতে পারেন, যেমন এক্স-উইং কৌশলটি ব্যবহার করা দরকার ছিল নাকি ...?
অরিজিনাল

1
আপনার প্রথম পয়েন্টটি সম্পর্কে অরিজিনাল ডেমন, এটি তৃতীয় বিন্দুতে আচ্ছাদিত: যদি দ্বিতীয় সংখ্যাটিতে এই সংখ্যাটি সরিয়ে ফেলা হয় তবে ফিরে যান।
কংগ্রেসবঙ্গাস

0

আমি কেবল এটি উল্লেখ করতে এটি আকর্ষণীয় মনে করি ওয়েবপৃষ্ঠাটি , কারণ এটি আমাদের ভবিষ্যত বিকাশের জন্য আমাকে অনেক সহায়তা করেছিল helped একটি অনন্য সমাধান দিয়ে সুডোকু তৈরি করা কোনও সহজ কাজ থেকে অনেক দূরে। লিঙ্কটিতে আপনি খুঁজে পেতে পারেন যে কীভাবে লেখক (তিনি সত্যিই দুর্দান্ত কাজ করেছিলেন, এটি আমার কোনও নয়!), বিভিন্ন কৌশল পেয়েছিল। আপনার নিজের সুডোকু সলভার উত্পন্ন করার জন্য আপনার ধারণা থাকতে পারে।

এখন, বিষয়টি নিয়ে, ঠিক একইভাবে, একই ধরণের সুডোকাস উত্পন্ন করার একটি উপায়ও রয়েছে

  1. সারিগুলির ক্রমবিন্যাস।
  2. অন্যান্য সহজ সমাধানটি হ'ল মিনিমুন ১ digit সংখ্যার একটি পূরণ করা সুডোকু দিয়ে শুরু করা (এটি একটি অনন্য সমাধানের সন্ধানযোগ্য মিনিমুন), এবং নিম্নলিখিত ডিফেরেন্ট কৌশলগুলি পূরণ করুন (উদাহরণস্বরূপ পূর্ববর্তী লিঙ্কে কৌশলগুলি অসুবিধার উপর বিভক্ত, আপনি অনুরূপ কিছু করতে পারে), যতক্ষণ না আপনি অনন্য সমাধানটিতে পৌঁছান।
  3. একজন গণিতবিদের 16 টি সংখ্যার অনন্য সমাধান সুডোকু সন্ধানের চেষ্টা করার একটি তালিকা ছিল, যেখানে 17 ডিজিটের সুডোকাসের একটি বৃহত্ EEEEE তালিকা রয়েছে। আমি মনে রাখতে পারি না তাঁর কোনও প্রকারের অনুলিপি আছে কিনা, তবে আমি নিশ্চিত, আপনি যদি তাকে অন্য 17 টি প্রস্তাব দিতে পারেন তবে সুডোকু আপনাকে তার ডেটা ব্যবহার করতে দিলে খুশি হবে।

অ্যালগরিদমের সাথে চিয়ার্স এবং সৌভাগ্য: ডি


হুঁ, লিঙ্কটি সুডোকু সলভারের জন্য, জেনারেটরের নয়।
গ্রীনল্ডম্যান 14'15

@ গ্রীনল্ডম্যান হ্যাঁ, এটি একটি সলভার। আমি মনে করি এটি ব্যবহারকারীর জন্য আকর্ষণীয় যেহেতু তিনি বর্তমান পদ্ধতিটি একটি নম্বর সরিয়ে, এবং সমাধান করার জন্য। লিঙ্কটি সুদোকুর পার্টিশনের দ্রুত সমাধানের কৌশল দেয়
ডেভিড সানচেজ

0

আমার সমাধানকারী নিষ্ঠুর শক্তি ব্যবহার করছে এবং 20 মিলিসেকেন্ডের মধ্যে সমাধান খুঁজে পেতে পারে। উপরে বর্ণিত মোছার পদ্ধতিটি ব্যবহার করে, আমার জেনারেটর 200 মিলিসেকেন্ডের মধ্যে একটি ধাঁধা তৈরি করে।

এটি প্রায় 24-34 অঙ্ক বাকী রেখে একটি ধাঁধা উত্পন্ন করে এবং আমি এখনও জানি না যে তারা কীভাবে বিশ্বে 17 সংখ্যার ধাঁধা তৈরি করতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.