সুডোকু সমাধানের কৌশল-৩

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

আজকের প্রথম কৌশলটি হলো উইং (Wing) কৌশল। এই কৌশলের আবার কয়েকটি ধরন রয়েছে। যেমন XY-Wing (মতান্তরে Y-Wing), XYZ-Wing, W-Wing প্রভৃতি। এ ক্ষেত্রে XY-Wing এর আলোচনা সীমাবদ্ধ থাকবে। বাকিগুলো পাঠকের নিজস্ব অনুসন্ধানের লক্ষ্যে রাখা হলো। কৌশলটি মূলত XY-Chain কৌশলের একটি অংশ। এখন এই কৌশলের নিয়মগুলো দেখে নেওয়া যাক একটু। প্রথমত, এই কৌশলের অংশ হিসেবে তিনটি নির্দিষ্ট সংখ্যা সম্ভাব্য ভুক্তি হিসেবে থাকে। দ্বিতীয়ত তিনটি ঘর নিয়ে কাজ করে এবং তিনটি ঘরের প্রতিটিতে দুটি করে সম্ভাব্য ভুক্তি থাকবে। এখন এ রকম অবস্থান থাকলে ঘরগুলোর সম্ভাব্য ভুক্তিগুলোর একটি সংখ্যাকে অন্য কোনো ঘরের সম্ভাব্য ভুক্তি থেকে বাদ দেওয়া যায়। এখন প্রথম সুডোকুটি দেখা যাক। A2, B3 ও J2 ঘরগুলোর প্রতিটিতেই দুটি করে সম্ভাব্য ভুক্তি রয়েছে এবং মোট তিনটি সম্ভাব্য ভুক্তি আছে। তার মধ্যে B3 ও J2 ঘরের যেকোনো একটিতে 4 হতে পারে (দুটি ঘরেই 4 ব্যতীত অন্য দুটি সম্ভাব্য ভুক্তি ধরে নিলে দেখা যাবে সুডোকুর নিয়মানুযায়ী তা মিলবে না)। ফলে G3 ও H3 ঘরের সম্ভাব্য ভুক্তি হিসেবে 4–কে বাদ দেওয়া যেতে পারে। কারণ J2 ঘরে 4 হলে ওই উপাঞ্চলে কোনো 4 হবে না, কিংবা B3 ঘরে 4 হলে ৩য় কলামে কোনো 4 বসবে না। এই সুডোকুতে আরও দুটি ক্ষেত্রে এই কৌশল ব্যবহার করা যেতে পারে। পাঠকের সাহায্যের জন্য একটি উদাহরণ হলো A2, G1 ও J2 ঘর।

এবার যে কৌশল নিয়ে আলোচনা করা হবে, সেটি হলো ফিশ (Fish) কৌশল। এই কৌশলের ধরনগুলো হলো, X-Wing (এক্স-উইং), Swordfish (সোয়ার্ডফিশ), Jellyfish (জেলিফিশ), Squirmbag (স্কোয়ার্মব্যাগ), Whale (হোয়েল), Leviathan (লেভিয়াথান) প্রভৃতি।

এখানে সংক্ষেপে X-Wing ব্যাখ্যা করা হবে। বাকিগুলো আগের মতোই পাঠকের অনুসন্ধানের জন্য রেখে দেওয়া হলো। দ্বিতীয় সুডোকুটি দেখার পূর্বে এই নিয়ম সম্পর্কে একটু জেনে নিই। প্রথমত, দুটি সারি অথবা দুটি কলাম বরাবর, দুটি করে, মোট চারটি ঘরে সম্ভাব্য উপাদান হিসেবে অন্য সংখ্যার সঙ্গে একটি নির্দিষ্ট সংখ্যা থাকতে হবে। তবে এ ক্ষেত্রে যে ব্যাপার প্রযোজ্য, তা হলো, এই চার ঘরকে একটি আয়তক্ষেত্রের চারটি কৌণিক অবস্থানে থাকতে হবে। অর্থাৎ আয়তক্ষেত্রের দুটি কর্ণ মিলে একটি X আকার গঠন করবে। এখন এ রকম চারটি ঘরে যদি কোনো একটি নির্দিষ্ট সংখ্যা সম্ভাব্য উপাদান হিসেবে থাকে, তবে ওই চারটি ঘরের সামঞ্জস্যপূর্ণ সারির (দুটি কলাম হলে) অথবা কলামের (দুটি সারি হলে) অন্য ঘরে ওই সংখ্যা হবে না। নিয়মটি ভালোভাবে বোঝার জন্য এবার সুডোকুটি দেখা যাক।

E5, E8, J5, J8 ঘরগুলো লক্ষ করি। ৫ নম্বর এবং ৮ নম্বর কলামে 2 সংখ্যাটি ওই দুটি করে ৪টি ঘরে হতে পারে (সবুজ ঘরে সাদা দ্বারা চিহ্নিত)। ৪টি ঘর একটি আয়তক্ষেত্রের কৌণিক অবস্থানে রয়েছে এবং কর্ণ দুটি মিলে X আকার গঠন করে। এ ক্ষেত্রে বলা যেতে পারে যে E এবং J সারিতে আর কোথাও 2 হবে না (হলুদ ঘরে লাল দ্বারা চিহ্নিত)। উল্লেখ্য যে এ ক্ষেত্রে কলামের বদলে কোনো নির্দিষ্ট সারি বরাবরও দুটি ঘরে সম্ভাব্য উপাদান থাকতে পারে। সে ক্ষেত্রে বিপরীত উপায়ে কাজ হবে। এ ক্ষেত্রে দুটি সারি বা কলাম নিয়ে কাজ হয় বলে ভিত্তিসেট (Base Set) হলো দুই। ভিত্তিসেট তিন হলে তা সোয়ার্ডফিশ হয় এবং এভাবে ক্রমানুসারে ওপরে উল্লেখিত কৌশলগুলো হয়।

পাঠকের অনুসন্ধানের জন্য এই পর্বে দুটি ওয়েবসাইটের নাম দেওয়া হচ্ছে। http://hodoku.sourceforge.net এবং www.sudokuwiki.org।