প্রকাশিত: 2024-01-03

গ্রাফ থিওরি কিভাবে সুডোকু সমাধানকে রূপান্তরিত করে

গভীর ইন্ডিগো পটভূমিতে উজ্জ্বল নিউরাল নোড ও জ্যামিতিক বিন্যাসের আঁকাছায়া।

সুডোকু নিয়ে চিন্তা করলে আপনার মনে সম্ভবত সংখ্যার গ্রিড, পেন্সিলের চিহ্ন এবং যুক্তির ঠিক বসে যাওয়ার সেই সন্তোষজনক অনুভূতি জাগে। কিন্তু এই seemingly সাধারণ সংখ্যা-স্থাপন খেলার আস্তরালে একটি জটিল গাণিতিক কাঠামো লুকিয়ে রয়েছে। এখানেই গ্রাফ থিওরি—যেটি হলো গণিতের এমন একটি শাখা যা অধ্যয়ন করে কীভাবে বস্তুগুলো সংযুক্ত থাকে—সক্রিয় হয়ে ওঠে। বেশিরভাগ খেলোয়াড় যে বাস্তবতা বা "এক্স-উইং" (X-Wings) বা "কালারিং"-এর মতো মুখস্থ কৌশলগুলোর উপর নির্ভর করেন, তার উল্টোদিকে প্রতিটি গ্রিডের নিহিত কাঠামোকে একটি গ্রাফ হিসেবে মডেল করা সম্ভব।

এই সংযোগটি বোঝা সুডোকুকে কেবল একটি বিলাসিতার খেলা থেকে নেটওয়ার্ক টপোলজি এবং কনস্ট্রেইন্ট স্যাটিসফ্যাকশন (সীমাবদ্ধতা পূরণ)-এর অধ্যয়নে পরিণত করে। গ্রাফ থিওরের চশমা পরে পাজলটি দেখলে আমরা বোঝতে পারি কীভাবে কিছু কৌশল কাজ করে, কঠিনতার হিসাব কীভাবে করা হয় এবং আধুনিক সংস্করণগুলো খেলার নিয়ম কীভাবে প্রসারিত করে। চলুন, ওই ৮১টি কোষের মধ্যে লুকিয়ে থাকা গাণিতিক সৌন্দর্যটি অনুসন্ধান করি।

গ্রাফ হিসেবে গ্রিড: নোড এবং এজ

গ্রাফ থিওরিতে, একটি গ্রাফে নোড (বা শীর্ষবিন্দু) থাকে যা এজ বা প্রান্তের মাধ্যমে সংযুক্ত। সুডোকুর প্রেক্ষাপটে, ৯x৯ গ্রিডের প্রতিটি কোষ একটি নোড। এই কোষগুলোর মধ্যে সম্পর্ক—পাজলের নিয়ম দ্বারা সংজ্ঞায়িত—হলো সেই এজগুলো।

নির্দিষ্টভাবে, স্ট্যান্ডার্ড সুডোকুকে এমনভাবে মডেল করা যায় যেখানে দুটি নোড সংযুক্ত থাকে যদি তারা একটি কনস্ট্রেইন্ট শেয়ার করে। যদি কোষ এ এবং কোষ বি একই সারি, কলাম বা ৩x৩ বক্সে থাকে, তবে তারা আমাদের গ্রাফে "আসন্ন" (adjacent)। তাদের একই মান রাখা যাবে না। এটি স্বাধীনতা হারানো একটি বিশাল জালের সৃষ্টি করে। পাজলটি মূলত আমাদের এই গ্রাফটি এমনভাবে রঙ করতে বলছে যাতে কোনো দুটি আসন্ন নোডের রং এক না হয় (যেখানে "রং" ১ থেকে ৯ পর্যন্ত সংখ্যা নির্দেশ করে)।

এই মডেলটি একটি গুরুত্বপূর্ণ অন্তর্দৃষ্টি ফাঁস করে: সুডোকো হলো গ্রাফ কালারিং নামক একটি বিস্তৃত গাণিতিক সমস্যার একটি নির্দিষ্ট ক্ষেত্র। এটি কনস্ট্রেইন্ট স্যাটিসফ্যাকশন প্রবলেম (CSP) বিভাগের অন্তর্গত। যখন আপনি একই সারিতে থাকা দুটি কোষে একটি "নেকেড পেয়ার" (naked pair) চিহ্নিত করেন, তখন আপনি মূলত পর্যবেক্ষণ করছেন যে কীভাবে একটি নোডের উপর কনস্ট্রেইন্টগুলো তৎক্ষণাৎ অন্য সংযুক্ত নোডের সম্ভাবনাগুলোকে সীমিত করে।

গ্রাফ কালারিং এবং ক্রোমেটিক নাম্বার

গ্রাফ কালারিংয়ের সবচেয়ে বিখ্যাত উপপাদ্য হলো ফোর কলার থিওরেম, যা বলে যে কোনো সমতলীয় মানচিত্র এমনভাবে চারটি রঙে রং করা যায় যাতে কোনো দুটি আসন্ন অঞ্চলের রং এক না হয়। সুডোকো একটি অনুরূপ নীতি প্রয়োগ করে তবে বৃহত্তর স্কেলে কাজ করে।

একটি স্ট্যান্ডার্ড ৯x৯ গ্রিডে, আমরা ৯-এর ক্রোমেটিক নাম্বার নিয়ে কাজ করছি। এর মানে হলো আমাদের আসন্নতার নিয়ম লঙ্ঘন না করে গ্রাফটিকে উপযুক্তভাবে রং করতে অন্তত নয়টি "রং" (অঙ্ক) প্রয়োজন। তবে, সুডোকুর কাঠামো স্বকীয় কারণ গ্রাফটি কেবল যে কোনো যদৃচ্ছিক গ্রাফ নয়; এটি অত্যন্ত কাঠামোগত। গ্রিডটি নির্দিষ্ট সাবগ্রাফস—সারি, কলাম এবং বক্স—এর আবির্ভাব ঘটায় যা "ক্লিক"-এর কাজ করে। একটি ক্লিক হলো একটি অনুদিশ্চিত গ্রাফের শীর্ষবিন্দুর একটি উপসেট যেখানে প্রতিটি দুটি ভিন্ন শীর্ষবিন্দু পরস্পর সংযুক্ত থাকে।

সুডোকোতে, প্রতিটি সারি ৯ আকারের একটি ক্লিক। প্রতিটি কলাম ৯ আকারের একটি ক্লিক। প্রতিটি বক্সও ৯ আকারের একটি ক্লিক। যেহেতু এই ক্লিকগুলো ওভারল্যাপ করে, তাই কৌশল ছাড়া পাজলটি সমাধান করা জটিল হয়ে পড়ে। যদি গ্রাফটি সম্পূর্ণভাবে এলোমেলো হতো, তবে এক্সাক্ট কভার সমস্যাটি NP-কমপ্লিক্ট এবং বড় গ্রিডের জন্য হাতে সমাধান করা ব্যবহারিকভাবে অসম্ভব হতো। গ্রিডের শক্ত কাঠামো মানুষের যুক্তি (এবং দক্ষ অ্যালগরিদম) কে অনুসন্ধানের জায়গাটি কার্যকরভাবে নেভিগেট করতে সাহায্য করে।

স্ট্যান্ডার্ড গ্রিড থেকে কিউলার সুডোকুতে

যখন আমরা সুডোকুর নিয়ম পরিবর্তন করি, তখন আমরা মূলত গ্রাফের কাঠামোই বদলে ফেলি। এটি কিউলার সুডোকু-এর মতো সংস্করণগুলোতে স্পষ্টভাবে দেখা যায়। এই সংস্করণে কোনো প্রাথমিক সংখ্যা দেওয়া থাকে না; বরং, ছাঁচে (কোষের গোষ্ঠী) একটি নির্দিষ্ট যোগফলের মধ্যে আসে।

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

বাইনারি লজিক এবং টাকুজু নেটওয়ার্ক

সবগুলি গ্রিড পাজলে ১-৯ পর্যন্ত সংখ্যা ব্যবহার করে না। কিছু সংখ্যা বাইনারি স্টেট—০ এবং ১-এর উপর নির্ভর করে। এটি গ্রাফের সমস্যাকে ৯-কালারিংয়ের বিষয় থেকে বুলিয়ান স্যাটিসফ্যাবিলিটি প্রবলেমে পরিণত করে। এর একটি প্রধান উদাহরণ হলো বাইনারি সুডোকো, যা টাকুজু নামেও পরিচিত।

বাইনারি সুডোকোতে, গ্রিড সাধারণত বড় হয় (যেমন ৬x৬, ৮x৮ অথবা ১০x১০), এবং নিয়ম অনুযায়ী সারি এবং কলামগুলোতে শূন্য এবং একের সমান সংখ্যক থাকতে হবে। এর পাশাপাশি, দুটির বেশি ধারাবাহিক কোষে একই মান থাকতে পারবে না। গ্রাফ থিওরি দৃষ্টিকোণ থেকে এটি স্ট্যান্ডার্ড সুডোকোর তুলনায় ডিগ্রী অফ ফ্রিডম (স্বাধীনতার মাত্রা) উল্লেখযোগ্যভাবে কমিয়ে দেয় কিন্তু গ্রিডের আকার বাড়িয়ে দেয়। "একটানা তিনটি এক নয়" এর নিয়মটি স্থানীয় কনস্ট্রেইন্ট এনে দেয় যা সংক্ষিপ্ত পরিসরের বলের মতো কাজ করে, একই রকম বড় ক্লাস্টার গঠিত হওয়া থেকে প্রতিরোধ করে।

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

অপারেটর লজিককে গ্রাফ ওয়েট হিসেবে দেখা

গণিত এবং পাজলের আরেকটি আকর্ষণীয় সংযোগ পাওয়া যায় ক্যালকুডোকোতে, যা কেন-কেন (KenKen)-এর সাথে وثيقভাবে সম্পর্কিত। এখানে ছাঁচগুলো শুধুমাত্র যোগফল নয়; সেগুলো বিয়োগ, গুণ এবং ভাগ নিয়েও কাজ করতে পারে। এটি গ্রাফ থিওরিতে কীভাবে মানচিত্রবদ্ধ হয়?

আমরা অপারেটরগুলিকে ছাঁচের নোডগুলোর মধ্যে প্রযোজ্য ফাংশনাল সম্পর্ক হিসেবে দেখতে পারি। কেবল এটি জানার পরিবর্তে যে নোড এ এবং নোড বি সংযুক্ত (আসন্ন), আমরা একটি নির্দিষ্ট গাণিতিক সম্পর্ক জানি: $A - B = 2$ অথবা $A \times B = 6$। এটি গ্রাফটিকে একটি কালারিংয়ের সমস্যার ওপর উপস্থাপিত সমীকরণের সিস্টেমে পরিণত করে।

ক্যালকুডোকো সমাধান করতে নোডগুলোর জন্য এমন একটি পূর্ণসংখ্যা লেবেলিং খুঁজে বের করতে হয় যা গ্লোবাল গ্রাফ কালারিংয়ের কনস্ট্রেইন্ট (সারি/কলামে কোনো দ্বৈত সংখ্যা নেই) এবং স্থানীয় ছাঁচের কনস্ট্রেইন্ট দুটিকেই মেনে চলে। এটি প্রদর্শন করে যে কীভাবে গ্রাফ সমস্যাকে বীজগাণিতিক ধর্ম অন্তর্ভুক্ত করার জন্য প্রসারিত করা যায়, যার ফলে তারা কেবলমাত্র সংযুক্তিকম্পতর্কের চেয়ে সমীকরণের সিস্টেমের বেশি মনে হয়।

গ্রাফ ঘনত্বের মাধ্যমে কঠিনতা নির্ধারণ

পাজল ডিজাইনের অন্যতম স্থায়ী প্রশ্ন হলো: "কী একটি সুডোকুকে কঠিন করে?" এটি কি কেবল দেওয়া সংখ্যার পরিসংখ্যানের ওপর নির্ভর করে? তা নাও হতে পারে। গ্রাফ থিওরি দৃষ্টিকোণ থেকে, কঠিনতা প্রায়শই নেটওয়ার্ক জুড়ে তথ্য ছড়ানোর জন্য প্রয়োজনীয় যৌক্তিক শৃঙ্খলের গভীরতার সাথে সম্পর্কিত।

যদি একটি পাজলে খুব কম সংখ্যক clue থাকে, তবে গ্রাফের অনেকগুলো অজানা নোড থাকে। কনস্ট্রেইন্টের "প্রপাগেশন" সমাধান জোর করে নিতে গ্রাফ জুড়ে দীর্ষ দূরত্ব ভ্রমণ করতে হয়। সহজ পাজলে, গ্রাফটি দেওয়া তথ্য দিয়ে ঘনীভূত থাকে; কনস্ট্রেইন্টগুলো স্থানীয়ভাবে মিথস্ক্রিয়া করে, যা সরল অনুমানের অনুমতি দেয়। আরও কঠিন পাজলে, আপনি প্রায়শই এমন শাখার সম্মুখীন হন যেখানে স্থানীয় যুক্তি ব্যর্থ হয় এবং আপনাকে পুরো গ্রাফ জুড়ে ছড়িয়ে থাকা টপোলজিকাল আবিষ্কারের জন্য খুঁজতে হয়—যেমন এক্সওয়াই-ইঙ্গ (XY-Wing) অথবা ফোর্সিং চেইন।

একটি ফোর্সিং চেইনকে গ্রাফ জুড়ে একটি পথ হিসেবে কল্পনা করা যেতে পারে। যদি ধরে নেওয়া হয় যে নোড এ ১, তবে সংযুক্ত কনস্ট্রেইন্টের দীর্ঘ একটি পথ বরাবর নোড Z ২ হতে বাধ্য, এবং অন্য কোনো কারণে নোড Z ২ হতে পারে না, তাহলে নোড এ ১ হতে পারবে না। এটি প্রমাণ করে যে একটি পাজলের "কঠিনতা" মূলত এর নিহিত নির্ভরশীলতার গ্রাফের জটিলতা।

সলভার অ্যালগরিদম এবং ব্যাকট্র্যাকিং

কম্পিউটার বিজ্ঞানীদের জন্য, সুডোকো সমাধান করা অ্যালগরিদম ডিজাইনের একটি ক্লাসিক প্রয়োগ। সবচেয়ে সরাসরি পদ্ধতি হলো ব্যাকট্র্যাকিং, যা গ্রাফের সমাধান গাছ জুড়ে গভীর-প্রথম অনুসন্ধানের মতো।

অ্যালগরিদম একটি খালি নোড (যার কোনো নির্দিষ্ট মান নেই) বেছে নেয় এবং একটি বৈধ রং (১-৯) দিয়ে এটি পূরণ করার চেষ্টা করে। তারপর এটি পরবর্তী অপেক্ষমাণ নোডে যায়। যদি এটি এমন একটি জায়গায় পৌঁছায় যেখানে কোনো বৈধ রং কনস্ট্রেইন্ট লঙ্ঘন না করে দেওয়া সম্ভব নয়, তবে এটি আগের নোডে "ব্যাকট্র্যাক" করে এবং অন্য একটি রং চেষ্টা করে। মানুষের জন্য এটি অদক্ষ হলেও, প্রসেসিং স্পিডের কারণে কম্পিউটারগুলো এটি ভালোভাবে নিয়ন্ত্রণ করে।

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

ভবিষ্যৎ: হাইপার-সুডোকো এবং স্ট্যান্ডার্ড নন-টপোলজি

গ্রাফ থিওরিয়ের নীতিগুলো পাজল ডিজাইনারদেরকে স্ট্যান্ডার্ড ৯x৯ বর্গক্ষেত্র টপোলজি থেকে মুক্তি পেতে দেয়। হাইপার-সুডোকোর মতো সংস্করণগুলি গ্রিডে চারটি অতিরিক্ত অঞ্চল (ওভারল্যাপ বক্স) যোগ করে। গ্রাফ পরিভাষায়, এটি বিদ্যমান কাঠামোতে চারটি নতুন ক্লিক সাইজ ৯ যোগ করে, যা কনস্ট্রেইন্টের ঘনত্ব বাড়িয়ে দেয় এবং নেটওয়ার্কের প্রতিসাম্যকে পরিবর্তন করে।

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

আকৃতি বা নিয়ম যা-ই হোক না কেন, মূল চ্যালেঞ্জটি রয়ে যায়: একটি সংযুক্ত নেটওয়ার্ক জুড়ে কনস্ট্রেইন্টগুলো পূরণ করা। আপনি যদি এই প্রাথমিক ধারণাগুলো আপনার নিজের গতির অনুশীলনের জন্য সহজ পাজল খুঁজছেন, প্রাথমিক গ্রিড দিয়ে শুরু করে অথবা জটিল গাণিতিক সংস্করণগুলো সামলাচ্ছেন, যুক্তি সবসময় গ্রাফের পথ অনুসরণ করে।

সংগ্রহ

সুডোকো কেবল সংখ্যার একটি গ্রিড নয়; এটি লজিক্যাল কনস্ট্রেইন্টের একটি জটিল জালের দৃশ্যমান রূপ। গ্রাফ থিওরের ভূমিকা—নোড হিসেবে কোষ, এজ হিসেবে কনস্ট্রেইন্ট এবং ক্লিক হিসেবে অঞ্চল—বুঝলে আপনি পাজলগুলো কেন তাদের ডিজাইনের ধরণে তৈরি করা হয় তার জন্য একটি গভীরার মূল্যায়ন পান। এই জ্ঞান আপনাকে কেবল একজন ভালো সমাধানকারীই বানাতে পারে না; এটি বিশ্বের সবচেয়ে জনপ্রিয় বিলাসিতাগুলোর মধ্যে একটির আস্তরে সুন্দর গাণিতিক সামঞ্জস্য প্রকাশ করে।

Play Qoki on mobile

Prefer to play offline? Get the app.