প্রকল্প সম্পর্কে

OptiChess হলো একটি পরীক্ষামূলক দাবা ইঞ্জিন এবং অ্যানালাইসিস টুল যা অ্যালগরিদমিক গবেষণার জন্য ডিজাইন করা হয়েছে। এটি GrogrosZero-এর ওপর ভিত্তি করে তৈরি, যা একটি হাইব্রিড সার্চ সিস্টেম। এই সিস্টেমটি UCT-স্টাইল নোড সিলেকশনের সাথে alpha-beta pruning, ইন্টিগ্রেটেড quiescence search এবং Win/Draw/Loss (WDL) স্ট্যাটিস্টিক্যাল ইভ্যালুয়েশনকে একত্রিত করে। এর প্রধান প্রযুক্তিগত বৈশিষ্ট্যগুলোর মধ্যে রয়েছে: - মেমরি ম্যানেজমেন্ট: একটি বাউন্ডেড, জিরো-অ্যালোকেশন সার্চ যা Node এবং Board অবজেক্টের জন্য প্রি-অ্যালোকেটেড পুল ব্যবহার করে, যাতে হট পাথে হিপ অ্যালোকেশন দূর করা যায়। - ইঞ্জিন আর্কিটেকচার: এতে একটি Zobrist-keyed ট্রান্সপজিশন টেবিল, ৩১টি ওয়েটেড টার্ম বিশিষ্ট একটি ইভ্যালুয়েটর এবং একটি ঐচ্ছিক পরীক্ষামূলক নিউরাল নেটওয়ার্ক ইভ্যালুয়েশন অন্তর্ভুক্ত রয়েছে। - অ্যানালাইসিস GUI: raylib দিয়ে তৈরি, যা ক্যান্ডিডেট মুভ অ্যারো, ইভ্যালুয়েশন গ্রাফ এবং গেম ট্রি ভেরিয়েশনসহ একটি ভিজ্যুয়াল বোর্ড প্রদান করে। - স্ক্রিন বাইন্ডিং: একটি উইন্ডোজ-নির্দিষ্ট ক্ষমতা যা ইঞ্জিনটিকে পিক্সেল কালার বিশ্লেষণের মাধ্যমে সরাসরি স্ক্রিন থেকে দাবার পজিশন পড়তে দেয়, যা ব্রাউজার-ভিত্তিক গেমের লাইভ অ্যানালাইসিস সম্ভব করে তোলে। - টেস্টিং স্যুট: একটি ইন্টারঅ্যাক্টিভ স্যুট যা Perft মুভ জেনারেশন ভ্যালিডেশন, রেফারেন্স পজিশনের বিপরীতে ইভ্যালুয়েশন একুরেসি এবং ট্যাকটিক্যাল পাজল সলভিং কভার করে। প্রকল্পটি C++20 এবং CMake ব্যবহার করে Windows x64-এর জন্য তৈরি করা হয়েছে। এটি কোনো UCI-কমপ্লায়েন্ট ইঞ্জিন নয় এবং এটি প্রতিযোগিতামূলক খেলার পরিবর্তে গবেষণার উদ্দেশ্যে তৈরি।