প্রকাশিত: 2023-07-05

এআই কীভাবে স্যুডোকু সমাধান করে: ব্রুট ফোর্স থেকে কনস্ট্রেইন্ট সেটিফ্যাকশন পর্যন্ত

জটিল লজিক সমাধানের জন্য নিউরাল নেটওয়ার্কের উজ্জ্বল আলোর আঁশ।

গত কয়েক বছরে কৃত্রিম বুদ্ধিমত্তা লজিক পাজলগুলোকে কীভাবে হ্যান্ডেল করে তা সম্পূর্ণ রূপান্তরিত হয়েছে। দশকের পর দশক ধরে সুদোকু গ্রিড সমাধান করা মূলত মানব সহনশীলতা এবং অনুমানমূলক যুক্তির একটি পরীক্ষা হিসেবে বিবেচনা করা হতো। আজ আমরা এমন মেশিন দেখছি যা সেকেন্ডের ভগ্নাংশে জটিল গ্রিড সমাধান করতে পারে, এবং তাদের এই elegance (কাব্যিকতা/সৌন্দর্য) প্রায়শই মানব ক্ষমতাকে ছাড়িয়ে যায়। কিন্তু আসলে AI একটি ৯x৯ গ্রিডের বিষয়ে কীভাবে "চিন্তা" করে? এটি কি শুধুমাত্র লক্ষ লক্ষ যন্ত্র-পরীক্ষার মাধ্যমে হঠাৎ করে সমাধান খুঁজে পাচ্ছে, নাকি এর পেছনে আরও উন্নত কোনো লজিক কাজ করছে?

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

ব্রুট ফোর্স থেকে কনস্ট্রেইন্ট সেটিসফ্যাকশনে বিবর্তন

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

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

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

উন্নত অনুমানমূলক নিয়মাবলী

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

  • সম্ভাব্য মানের ম্যাপিং: অ্যালগরিদমটি প্রতিটি খালি কোষের জন্য একটি "ক্যান্ডিডেট তালিকা" বজায় রাখে। গ্রিডে নতুন সংখ্যা স্থাপন করার সাথে সাথে এই তালিকাগুলো সাথে সাথে ছাঁটাই করা হয়।
  • একক ক্যান্ডিডেট শনাক্তকরণ: যদি একটি কোষের ছাঁটাইয়ের পরে কেবল একটি সম্ভাব্য ক্যান্ডিডেট অবশিষ্ট থাকে, তবে সেই মানটি যৌক্তিকভাবে সেই স্থানে বসানো হয়।
  • পয়েন্টিং পেয়ার এবং বক্স/লাইন রিডাকশন: AI সারি, কলাম এবং বক্সগুলোর মধ্যে মিথস্ক্রিয়া পরিদর্শন করে। উদাহরণস্বরূপ, যদি ৫ সংখ্যাটি একটি নির্দিষ্ট সারির মধ্যে একটি মাত্র ৩x৩ বক্সে কেবল দুটি কোষে উপস্থিত হতে পারে, তবে এটি সেই বক্সের অন্য সকল কোষ থেকে সম্ভাবনা হিসেবে অপসারিত হয়।

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

যখন যুক্তি যথেষ্ট নয়: অনুমানের ভূমিকা

নিয়মাবলী কতই না উন্নত হোক না কেন, কিছু সুদোকু গ্রিড—বিশেষ করে "এক্সপার্ট" বা "মাস্টার" রেটেড those—মৌলিক যুক্তির শৃঙ্খলের সীমা অতিক্রম করে। এই পাজলগুলো প্রায়শই ফোর্সিং চেইন-এর মতো উন্নত অনুমানকরণ কৌশল বা বিরল ক্ষেত্রে স্পষ্ট যন্ত্র-পরীক্ষার প্রয়োজন হয়।

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

বুদ্ধিমান শাখায়নের কারণে এই প্রক্রিয়াটি অত্যন্ত দক্ষ। এটি একটি এলোমেলো কোষ বেছে নেওয়ার পরিবর্তে, পাজলে "ক্রিটিক্যাল নোড" খোঁজে—কোষ যাগুলো ভুলভাবে অনুমান করলে যৌক্তিক কাঠামোর দ্রুত ধস ঘটায়। এটি AI-কে সেকেন্ডের মধ্যে এমনকি পেশাদার পাজল তৈয়কারীদের দ্বারা ডিজাইন করা সবচেয়ে কঠিন গ্রিডগুলোও সমাধান করতে দেয়, কার্যকরভাবে নির্ধারণ করে যে একটি গ্রিডে একটি মাত্র সমাধান আছে কি না বা একাধিক সম্ভাবনা আছে।

স্ট্যান্ডার্ড সুদোকুর বাইরে জটিলতা

যদিও সুদোকুর সাধারণীকৃত সংস্করণটি NP-complete হিসেবে পরিচিত, অর্থাৎ এর জটিলতা গ্রিডের আকারের সাথে এক্সপোনেনশিয়ালভাবে বৃদ্ধি পায়, ফিক্সড ডাইমেনশনের কারণে স্ট্যান্ডার্ড ৯x৯ গ্রিডগুলো আধুনিক কম্পিউটারদের জন্য হ্যান্ডেলযোগ্য থেকে যায়। তবে AI লজিক অন্যান্য ভেরিয়েন্টগুলোর উপর সুন্দরভাবে স্কেল করা হয়। যখন পাজলের কাঠামো পরিবর্তিত হয়, তখন কনস্ট্রেইন্টগুলোও পরিবর্তিত হয় এবং অ্যালগরিদমগুলোকে গতিশীলভাবে খাপ খাইয়ে নিতে হয়।

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

পাজল ডিজাইনের জন্য এটি কেন গুরুত্বপূর্ণ

AI-এর সুদোকু সমাধান এবং তৈরি করার ক্ষমতার পাজল ডিজাইনের উপর গভীর প্রভাব পড়েছে। অতীতে, তৈয়কারারা একটি পাজলকে ইউনিক এবং সলভেবল নিশ্চিত করতে ইন্টואিশনের উপর নির্ভর করতেন। আজকাল, অ্যালগরিদমগুলো স্বয়ংক্রিয়ভাবে পাজল যাচাই করতে ব্যবহৃত হয়। একটি ভালো পাজল জেনারেটর কেবল এলোমেলোভাবে গ্রিড ভরাটে না; এটি একটি বৈধ সমাধান দিয়ে শুরু করে, সংখ্যাগুলো একে একে অপসারণ করে এবং প্রতিটি ধাপে ইউনিকনেস যাচাই করতে কন্সট্যান্টলি একটি সলভার চালু করে।

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

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

যুক্তি এবং AI-এর ভবিষ্যৎ

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

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

উপসংহার

কৃত্রিম বুদ্ধিমত্তা কেবল সুদোকু "সমাধান" করে না; এটি খেলার অন্তর্নিহিত গঠন বুঝতে পারে। দৃশ্যমান নিয়মগুলোকে গাণিতিক কনস্ট্রেইন্ট-এ অনুবাদ করে এবং জটিল অনুসন্ধান কৌশল ব্যবহার করে, AI একটি seemingly সাধারণ অবসরকে কম্পিউটেশনাল শক্তির প্রদর্শনে রূপান্তরিত করে। আপনি কনস্ট্রেইন্ট সেটিসফ্যাকশনে আগ্রহী একজন প্রোগ্রামার হোন বা আপনার দৈনন্দিন খেলার পিছনের যন্ত্রাংশ সম্পর্কে কৌতূহলী একজন পাজল উৎসাহী, এই অ্যালগরিদমগুলো বোঝা মানব যুক্তি এবং মেশিন দক্ষতার মধ্যে জটিল নৃত্য প্রকাশ করে।

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

Play Qoki on mobile

Prefer to play offline? Get the app.