দাবা অবস্থানগুলি মূল্যায়নের সঠিক উপায় কী?


13

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

অন্য শর্তে, আপনার দাবা বোর্ডের একটি কনফিগারেশন দেওয়া হলে আপনি কীভাবে এটি নির্ধারণ করবেন যে এটি আপনার সুবিধার জন্য এবং কোন মাত্রার আত্মবিশ্বাসের সাথে?

উদাহরণ স্বরূপ:

  • আপনি যদি কেন্দ্রের মালিক হন তবে এটি বরং অনুকূল।
  • আপনার কাছে যদি আপনার প্রতিপক্ষের চেয়ে বেশি টুকরো থাকে তবে এটি বরং অনুকূল।
  • আপনি যদি আপনার রানীকে হারিয়ে ফেলে থাকেন তবে এটি অনুকূল নয়।
  • আপনার কাছে যদি মহোদয় থাকে যা প্রচারের কাছাকাছি হয় তবে এটি অনুকূল।
  • ...

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

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


আমি মনে করি এই প্রশ্নটি স্ট্যাকওভারফ্লোতে ভাল করবে। দাবা এআই সম্পর্কিত ইতিমধ্যে সেখানে প্রচুর প্রশ্ন রয়েছে
xaisoft

3
আমি এটি আগে এসওতে পোস্ট করার ভেবেছিলাম, তবে আমি প্রায় নিশ্চিত যে এটি নির্মাণমূলক বা সত্যিকারের প্রশ্ন না হিসাবে বন্ধ হয়ে যাবে। সম্ভবত কোডটিতে যদি আমার আরও জোর প্রয়োজন হয় তবে আমি মনে করি মূল্যায়ন ফাংশনের জন্য এটি দাবা সম্পর্কে জ্ঞান প্রয়োজন, কোড বা অ্যালগরিদম সম্পর্কে তেমন কিছু নয়।
চার্লস মেনগুয়ে

কত নির্ভুল। একমাত্র পুরোপুরি সঠিক উপায়টি হ'ল আপনি কি জেতা বা হেরে গেছেন বা টাই করতে পারেন।
এডওয়িনা অলিভার

উত্তর:


9

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

https://www.chessprogramming.org/Evaluation


5

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


5

আমার এই অনুভূতিটি থেকে আমি কিছুটা দেরি করেছি যে এই উত্তরে তবে - আমি ইঞ্জিন তৈরির প্রক্রিয়াতেও আছি। উত্স কোডটি পাইথনে রয়েছে (যা পড়তে মোটামুটি সহজ, আপনি এটি না জানলেও) এবং আপনি যদি এটি পড়তে চান তবে এখানে উপলব্ধ । বর্তমানে সক্রিয় 'হিউরিস্টিকস' এর তালিকা (পোস্টের সময়):

  • আরও উন্নত (বিপরীত দিকে কাছাকাছি) টুকরা আরও ভাল are
  • পদোন্নতি কাছাকাছি ভাল
  • কি ধাপে খেলাটি চলছে তার ভিত্তিতে কিংসগুলি আলাদাভাবে স্কোর করা হয় (উদ্বোধনী, মিডলগেম, এন্ডগেম)
  • যদি প্লেয়ারের উভয় বিশপ থাকে তবে এটি একটি বোনাস গ্রহণ করে
  • যদি প্লেয়ার কাস্ট করেন তবে একটি বোনাস পান
  • বিচ্ছিন্ন পাউন্ডগুলি (তাদের আশেপাশের কিছু না দিয়ে মশলা) ভাল নয়
  • দ্বিগুণ পাউন্ড (এর মধ্যে কোনও ফাঁক ছাড়াই একই ফাইলের দুটি পাউন্ড) ভাল নয়
  • সমস্ত 8 টি प्याদ থাকা কোনও ভাল জিনিসের জন্য প্রয়োজনীয় নয় এবং তাদেরকে শাস্তি দেওয়া হয় (তারা বোর্ডকে বিশৃঙ্খলা করে এবং পথে যায়)
  • এই দুর্দান্ত মূল্যায়ন ফাংশনটি দেখুন যা ব্যবহৃত হয় at
  • বিশপকে যেমন দণ্ডিত করা হয় একই রঙের স্কোয়ারে আরও प्याদযুক্ত বিশপ (ভিড়ের পরিস্থিতিতে তারা এতোটা ভাল নয়)
  • এখনও বাস্তবায়িত হয়নি, তবে পরিকল্পনা করা হয়েছে: নাইটরা আরও জনাকীর্ণ পরিস্থিতিতে বোনাস পান

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

  • বোর্ডে উপাদানের পরিমাণ (যে কোনও টুকরোটি মারা যাওয়ার সাথে সাথে এটি খেলাটিকে শুরুর দিকে চিহ্নিত করে না)
  • চাল সংখ্যা (6 টিরও কম পূর্ণ পদক্ষেপের উদ্বোধন হয়, যাই হোক না কেন)
  • রানীর গতিবিধি (যদি উভয় রাণী সরানো থাকে তবে খেলাটিকে মিডলগেম হিসাবে চিহ্নিত করুন)

এই উত্তরটি দীর্ঘ, দেরী এবং অফ-বিষয় হতে পারে, তবে আমি আশা করি এটি যাইহোক সহায়ক ছিল।


4

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

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

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


3

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

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

http://www.top-5000.nl/ZW_Rybka_F فرو.pdf http://danheisman.home.comcast.net/~danheisman/ আর্টিকেলস / মূল্যায়ন_মো_ম্যাটরি_মিলেন্স htm


0

এই লিঙ্কটি সেরা সূচনা পয়েন্ট IMHO। আমি এটি আমার নিজের দাবা প্রোগ্রামের জন্য আমার সূচনা পয়েন্ট হিসাবে ব্যবহার করছি এবং এটি বুঝতে সহজ এবং দরকারীও বলে খুঁজেছি।

https://chessprogramming.wikispaces.com/Simplified+evaluation+function


2
আপনি দয়া করে লিঙ্কের বিষয়বস্তু সংক্ষেপে প্রসারিত করতে পারেন?
পাবলো এস। ওকাল

উইকিস্পেস সাইটটি এখন বিচ্ছিন্ন। এটির নতুন বাড়ির একটি সংশোধন করা লিঙ্ক: চেস্পপ্রগ্রামিং.আর.
ক্রোমাটিক্স

0

সংক্ষেপে, দাবা ইঞ্জিনের পরামিতিগুলি সুর করার মানক পদ্ধতিটি হ'ল:

  1. পরামিতিগুলি সংজ্ঞায়িত করুন
  2. প্যারামিটারগুলিকে নামমাত্র (শুরু) মান দিন
  3. ইঞ্জিনটি কীভাবে সম্পাদন করে তা চালান Run
  4. এর কার্যকারিতা উন্নত করার জন্য প্যারামিটারের মানগুলিকে টিউন করুন

তারপরে আপনি সম্পাদনার জন্য আপনার লক্ষ্যে পৌঁছা পর্যন্ত 3 এবং 4 পদক্ষেপ পুনরাবৃত্তি করুন।

এটি করার জন্য সাধারণ পদ্ধতির একটি ল্যাবরেটরি স্থাপন করা যেখানে ইঞ্জিনগুলি ইঞ্জিন টুর্নামেন্টগুলিতে মুখোমুখি হয়। একাধিক গেম ব্যবহৃত হয় যাতে ইঞ্জিন উভয় রঙ খেলে। আগ্রহের প্রধান টুর্নামেন্টগুলি প্যারামিটার মান সেট বি এর সাথে একই ইঞ্জিনের বিপরীতে প্যারামিটার মান সেট এ এর ​​সাথে একটি ইঞ্জিন চালানো জড়িত involve

আপনি সম্ভবত অনুমান করতে পারেন, এই পদ্ধতির ফলাফলগুলি খুব বেশি নির্ভর করে:

  • পরামিতিগুলি বেছে নেওয়া হয়েছে
  • পরামিতিগুলি কীভাবে নির্দিষ্ট করা হয়
  • কীভাবে প্যারামিটারের মানগুলি পরীক্ষার সময় বিভিন্ন রকম হয়
  • ইঞ্জিনগুলি কীভাবে চালিত হয় (সীমাবদ্ধ প্লাই-গভীরতা, সীমিত সময়, সংবেদনশীলতা ইত্যাদি)

এই পদ্ধতির এছাড়াও অনেক সময় ব্যয় হয়।

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

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

ইঞ্জিনের প্যারামিটারগুলি কেবলমাত্র একটি জিএমকে নকল করতে পারে এমনগুলি খুঁজে পাওয়ার পরে প্রকৃত ইঞ্জিন টুর্নামেন্টের পর্ব শুরু হয়। এই পর্যায়ে, বিভিন্ন পরামিতি মান সেট আবার সরাসরি একে অপরের বিরুদ্ধে পিট করা হয় । জিনগত অ্যালগরিদম উন্নতি কৌশলগুলি ইঞ্জিনের ধারাবাহিকভাবে আরও ভাল প্রজন্ম তৈরি করতে প্রয়োগ করা হয়।

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

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

যদি মনে হয় এটি কার্যকর হতে পারে তবে আপনি এখানে গবেষণাটি আবিষ্কার করতে পারেন ।

* গবেষকরা যে পদ্ধতির ব্যবহারের একটি পর্যায় সম্পর্কে আদেশ করেছিলেন তা যথাযথ। তার ভূমিকা জন্য সরান দ্বারা বোঝাপড়া দাবা সরান জন নান তার থিম চিত্রিত করতে "... শক্তিশালী গ্র্যান্ড মধ্যে কঠিন লড়াইয়ে গেম ..."। তারপরে তিনি যোগ করেছেন:

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

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

অতএব, প্রাথমিক পরামিতিগুলি নির্ধারণের জন্য সম্ভবত আরও ভাল পন্থাটি হ'ল একটি উচ্চতর বিদ্যমান ইঞ্জিনের সাথে একটি নতুন ইঞ্জিনের সাথে মেলে ।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.