AlphaZero বনাম Stockfish ম্যাচ প্রসঙ্গে, এই প্রশ্নের ইতিমধ্যে আবৃত করা হয়েছে এখানে দ্বারা SmallChess ।
আলফাজেরো একপাশে (যা তার খেলার পংক্তির সন্ধানে বিশেষায়িত মন্টি কার্লো 1 রুটিন নিয়োগ করে ), যা নির্মাণের মাধ্যমে অ- প্রতিরোধমূলক হিসাবে তৈরি করা হয়েছে, সাধারণ হিউরিস্টিক ভিত্তিক দাবা ইঞ্জিন যেমন স্টকফিশ এবং অন্যদের জন্য (যদিও অন্যান্য রয়েছে) এমসি-ভিত্তিক রুটিনযুক্ত ইঞ্জিনগুলিতে, এএফআইএইচআইপি রাইবকা এ জাতীয় বৈশিষ্ট্য ব্যবহার করতেন), এলোমেলোতার উত্স সাধারণত ইঞ্জিনের সিদ্ধান্ত নেওয়ার ক্ষেত্রে অ্যালগরিদমতভাবে ইচ্ছাকৃতভাবে এলোমেলোভাবে পরিচয় করানোর পরিবর্তে বাস্তবায়নের প্রযুক্তিগত দিকগুলির একটি পরিণতি মাত্র। বিমূর্তভাবে বলা যায়, এর একটি কারণ হ'ল ইঞ্জিনগুলি খাঁটি অনুক্রমিক পদ্ধতিতে চলছে না (একের পর এক কাজ সম্পাদন করছে)। পরিবর্তে, ইঞ্জিনগুলিকে আরও দক্ষ করে তোলার জন্য, তারা সম্ভাব্য পদক্ষেপের গাছের বিভিন্ন শাখায় সমান্তরাল অনুসন্ধান করে। তারা কি বলা হয় মাধ্যমে এটি করতে মাল্টি থ্রেডিং (অথবা -processing কিন্তু যে একটু ভিন্ন)। সুতরাং সিপিইউগুলির একাধিক থ্রেড একই সাথে হয়গাছটি অনুসন্ধান করার জন্য ক্রিয়াকলাপ চালাচ্ছে (এবং পরিদর্শন করা অবস্থাগুলির মূল্যায়ন ক্যাশে), সুতরাং প্রতিটি থ্রেডকে একটি সাবট্রি বরাদ্দ করা হয়েছে তা কল্পনা করুন। এই ধরণের বাস্তবায়নের সমস্যাটি হ'ল থ্রেডের সামগ্রিক সম্পাদনটি সমস্ত ধরণের অবস্থার (অপেক্ষার সময়, র্যামের অদলবদল, ...) উপর অত্যন্ত নির্ভরশীল হয়ে ওঠে, সুতরাং শেষ পর্যন্ত অন্য সমস্তকে অনুমতি না দিয়ে একটি মূল প্রকরণ বেছে নেওয়া যেতে পারে থ্রেডগুলি তাদের অনুসন্ধান শেষ করতে।
প্রকৃতপক্ষে এটি প্রায়ই ঘটে কারণ ইঞ্জিন একটি নির্দিষ্ট সময়ের অধীনে কোনও সিদ্ধান্ত নিতে প্রস্তুত হয়, তাই সময় ব্যবস্থাপনার আচরণটি পরিবর্তন করে। আপনি এই বক্তব্যটিও এই বলে ফিরিয়ে দিতে পারেন: অ্যালগরিদম জেনে এবং নির্ধারিত থ্রেডিং রুটিনগুলি বাস্তবায়ন কোনও সময়ের পরে প্রোগ্রামের অবস্থা নির্ভরযোগ্যভাবে পূর্বাভাস দেওয়ার পক্ষে যথেষ্ট নয়। অবশ্যই যদি সর্বদা সমস্ত থ্রেডগুলি তাদের অনুসন্ধান শেষ করতে দেয়, এবং সেই মৃত্যুদণ্ডের সময় কোনও সমঝোতার সমস্যা না ঘটে (উদাহরণস্বরূপ একটি থ্রেড একটি নির্দিষ্ট ক্যাশে যা অ্যাক্সেসযোগ্য নয় access প্রদত্ত সমস্ত কিছু একই 2 ।
1 : একসাথে যে অতিরিক্ত প্রশিক্ষণের মাধ্যমে (উদাহরণস্বরূপ স্ব-খেল) এর স্নায়ুবিক নেটওয়ার্ক বিবর্তিত হয় (পুনরায় সমন্বিত পরামিতি), অথবা আপনি যদি এটির মূল্যায়নের ক্রিয়ায় স্থির, স্থির সংজ্ঞা না রাখেন (হিউরিস্টিক ভিত্তিক ইঞ্জিনগুলির বিপরীতে) )।
2 : তবুও, আপনি যেমনটি বলেছিলেন, খোলার স্তরে, একটি খোলার বইয়ের সাথে, মাঝে মাঝে ইঞ্জিন দ্বারা ইচ্ছাকৃতভাবে এলোমেলো সিদ্ধান্ত নেওয়া হয় যে কোন প্রকরণটি বেছে নিতে হবে। একইভাবে, উদ্বোধনী পর্বের বাইরেও এমন মুহুর্তগুলি থাকতে পারে যেখানে একাধিক প্রকরণের সমান মূল্যায়ন (এভালের জন্য নির্বাচিত রেজোলিউশনের মধ্যে) কাছাকাছি থাকতে পারে, তারপরে ডিজাইনের ভিত্তিতে এটি এলোমেলোভাবে বেছে নেওয়া শেষ করতে পারে। পরিশেষে, ইঞ্জিন সেটিংসের স্তরে আপনাকেও সতর্কতা অবলম্বন করতে হবে, উদাহরণস্বরূপ প্রতিটি ইঞ্জিনের জন্য বেছে নেওয়া অনুসন্ধান এবং গভীরতার সময়গুলির গভীরতা (এবং তারা একে অপরের চিন্তাভাবনার সময় আরও গণনা করতে পারে কিনা)।