এআই খেলা শুরু করার আগে, এক হাজার পাঁচশত হাজার শব্দের সমুদ্রে তার চাল খুঁজে বের করতে হয়, এবং তারপরই খোঁজ বন্ধ করতে হয়।
কোনো ব্যক্তিকে WordChess-এর র্যাক এবং "একটি ভালো শব্দ খেলুন" নির্দেশনা দিলে, সে নিজেই বুঝতে না পেরে সমস্যাটি সরল করে ফেলে। কম্পিউটারের এমন কোনো স্বাভাবিক বুদ্ধিমত্তা নেই। একটি 25×25 বোর্ডে, পুরো একশত টাইলের পুলের অ্যাক্সেস ধরে রেখে, এটি প্রায় যেকোনো 148,941 শব্দকোষের শব্দ চেষ্টা করতে পারে, এবং প্রতিটি শব্দকে হাজার হাজার বৈধ স্থানাঙ্ক ও দিকে বসানো যায়। আরও খারাপ বিষয় হলো, একটি বসানো শুধুমাত্র তখনই বৈধ হয় যদি প্রতিটি নতুন অক্ষর, যা এটি পরিচয় করায়, বোর্ডে ইতিমধ্যে থাকা অক্ষরগুলোর সাথে ছেদ করে একটি বাস্তব শব্দ সম্পূর্ণ করে। শব্দগুলোকে বসানোর সংখ্যা এবং সেই ছেদের শর্ত দিয়ে গুণ করলে আপনি এমন একটি অনুসন্ধানের স্থান পাবেন যা কোনো খেলোয়াড়, সিলিকন বা অন্য কোনো, সম্পূর্ণভাবে তালিকাভুক্ত বা র্যাংক করতে পারে না।
এটিই কারণ যে গুরুত্বপূর্ণ শব্দ-গেম ইঞ্জিনগুলো, Quackle, যার মধ্যে ওপেন-সোর্স রেফারেন্স ইমপ্লিমেন্টেশন রয়েছে, কখনোই শব্দকোষকে ব্রুট-ফোর্স করে না।4 স্টিভেন গর্ডনের ১৯৯৪ সালের GADDAG গঠন, এবং DAWG এর আগে, একটি প্রোগ্রাম বোর্ডে ইতিমধ্যে থাকা টাইলগুলি থেকে শব্দগুলোকে বাইরের দিকে বাড়তে দেবে এবং এগিয়ে যেতে যেতে ক্রসিংগুলো যাচাই করবে, যাতে অবৈধ শাখাগুলো স্কোর করে ফেলে দেওয়ার আগেই তাড়াতাড়ি বাদ পড়ে যায়।1 কাজটি হলো "প্রতিটি শব্দের তালিকা তৈরি করা" নয়। এটি হলো "শুধুমাত্র সেই মুভগুলো তৈরি করা যা সম্ভবত বৈধ হতে পারে, এবং তা দ্রুত করা।"
একটি সরল জেনারেটরও গভীরভাবে মূল্যায়ন করা সম্ভব নয়, তার চেয়ে বেশি ক্যান্ডিডেট মুভ ফেরত দেয়, তাই দ্বিতীয় সমস্যা হলো সময়। কখনও তৈরি করা সবচেয়ে শক্তিশালী স্ক্র্যাবল প্রোগ্রাম, ব্রায়ান শেপার্ডের Maven, ঠিক এই সমস্যার সম্মুখীন হয়েছিল এবং দুটি ধাপে এর উত্তর দিয়েছিল: একটি দ্রুত হিউরিস্টিক কাঁচা খেলাগুলোকে মানের ক্রুড় ক্রমে সাজিয়ে দেয়, এবং শুধুমাত্র সবচেয়ে প্রতিশ্রুতিশীল কিছু ক্যান্ডিডেটের একটি সংক্ষিপ্ত তালিকা গেমটি বহুবার সামনের দিকে সিমুলেট করে দেখে মূল্যায়ন করা হয়, কোন ক্যান্ডিডেট আসলে সেরা পারফরম্যান্স দেখায়।2 শেপার্ড এই ধারণার নামটি অন্য গেমগুলো থেকে ধার করেছিলেন, যা backgammon কে rollout বলে এবং গোকে playoutবলে, তিনি তাকে simulation.
WordChess একই আদর্শে কাজ করে, তবে একটি কঠোরতর শর্তের অধীনে: প্রতিটি চালের জন্য নির্দিষ্ট অনুসন্ধান-সময়ের বাজেট। বাজেট শেষ হলে, AI যতক্ষণে যে শব্দটি সেরা বলে খুঁজে পেয়েছে, সেটিই গ্রহণ করে। এটি এমন কোনো আপস নয় যা প্রকৌশলীরা অনুশোচনা করেন; এটিই পুরো নকশা। যে খেলোয়াড় চিরকাল ভাবতে থাকে, সে আরও ভালো প্রতিপক্ষ নয়, শুধুমাত্র ধীরগতির। ঘড়ি মেশিনকে মানুষের স্বাভাবিকভাবে যা করে, তা করতে বাধ্য করে—অর্থাৎ, প্রমাণিত সেরা চালের বদলে স্পষ্টভাবে ভালো একটি চাল গ্রহণ করা।
শব্দকোষ প্রতিপক্ষের মন নয়। ঘড়িই তা।
একটি গেমের AI-কে সহজ করার অলস উপায় হলো এটিকে এলোমেলোভাবে বোকা করা, অর্থাৎ এমন একটি চাল ভুলে যাওয়া যা সে স্পষ্টভাবে দেখেছিল। খেলোয়াড়রা এটি লক্ষ্য করে, এবং তারা এর প্রতি ক্ষোভ বোধ করে। নকশাকার Sid Meier কে প্রায়ই উদ্ধৃত করা হয়, কারণ তিনি Civilization এর সেই বৈশিষ্ট্যগুলো বাদ দিয়েছিলেন যা কম্পিউটারকে খেলোয়াড়দের চেয়ে বেশি দক্ষভাবে আলোচনা-বিতর্ক করতে দিত, কারণ প্রভাবটি, যেমন AI-প্রতিপক্ষ নকশার একটি বিবরণী উল্লেখ করে, "গেমারদের এমন একটি অনুভূতি দেবে যে তারা জিততে পারছে না কারণ কম্পিউটার চিটিং করছে।"3 অসৎ হিসেবে উপলব্ধি হওয়া কঠিনতা গেমকে বিষাক্ত করে তোলে, তাই গতিশীল কঠিনতা সমন্বয়ের গবেষণা সাহিত্য AI-এর যা ক্ষমতা আছে তা সমন্বয়ের বিষয়ে চিন্তা করে, না যা দেখতে দেওয়া হয় তার বিষয়ে নয়।5
WordChess তার চারটি স্তর এমন অক্ষ বরাবর সমন্বয় করে যা একটি মানুষ চেনবে, কখনোই AI-কে গোপন তথ্য সরবরাহ করে নয়। প্রতিটি স্তর কতক্ষণ অনুসন্ধান করতে পারে, বিরল শব্দকোষের কত গভীরে তার শব্দভাণ্ডার পৌঁছায়, এবং কোন শব্দ-দৈর্ঘ্যের পটি (band) সে পছন্দ করে, এই বিষয়ে ভিন্ন। একটি সহজ প্রতিপক্ষ যুক্তিসংগত দুর্বল শব্দ খেলে, বাস্তবিক, যৌক্তিক, ছোট, কচকচা নয়। A গ্র্যান্ডমাস্টার সম্পূর্ণ অজানা শব্দভাণ্ডার এবং সেটি খনন করার সময় রাখে। খেলোয়াড় হেরে যায় এমন কিছুতে যা ভালো শব্দভাণ্ডার এবং তীক্ষ্ণ পড়া হিসেবে দেখায়, কারণ এটি ঠিকই তা।
| স্তর | শব্দভাণ্ডারের পৌঁছানো | অনুসন্ধান বাজেট | শব্দের দৈর্ঘ্যের ঝোঁক |
|---|---|---|---|
| সহজ | শুধুমাত্র সাধারণ | সর্বনিম্ন | ছোট |
| স্বাভাবিক | সাধারণ + মাঝারি | ছোট | মিশ্র |
| কঠিন | প্রশস্ত | লং | লংগার |
| গ্র্যান্ডমাস্টার | ফুল রেয়ার | লংগেস্ট | আনবাউন্ডেড |
একটি ক্যালকুলেটর প্রতিবার একই উত্তর দেয়; কিন্তু একজন প্রতিপক্ষ আপনাকে অবাক করে দেয়। WordChess-এ নির্বাচন প্রক্রিয়ায় একটি সচেতনভাবে র্যান্ডমাইজড, অ্যান্টি-কপিক্যাট ধাপ যোগ করা হয়েছে, যাতে প্রায় সমান গতির চালগুলো সবসময় একইভাবে সমাধান না হয় এবং AI আপনার শেষ চালের সরাসরি প্রতিফলন না করে। স্তরভিত্তিক শব্দভাণ্ডারের সীমাগুলির সাথে মিলে, এর ফলে বৈচিত্র্য সৃষ্টি হয়, এমন একটি অনুভূতি যে বোর্ডের বিপরীত দিকে কেউ বসে সিদ্ধান্ত নিচ্ছেন, যার মধ্যে কিছু আপনিও নিতে পারতেন।
এটিই এর নিঃশব্দ কলাকুশলতা। বিশ্বনীয় প্রতিপক্ষের জন্য শক্তির পাশাপাশি সীমাবদ্ধতাও প্রয়োজন: কেবল ভালো একটি শব্দ খেলার প্রস্তুতি, পয়েন্ট টেবিলে রেখে দেওয়া, এবং এমনভাবে হারানো যা অর্জিত মনে হয়। মেশিনের সবচেয়ে কঠিন প্রকৌশলগত সমস্যা ছিল গুঁড়ির স্তূপে খোঁজা। এর সবচেয়ে সূক্ষ্ম সমস্যা ছিল শিখতে যে কখন খোঁজা বন্ধ করতে হবে, কী জানতে হবে, এবং কতটা আটকে রাখতে হবে।