ডিপ ব্লু থেকে ইঞ্জিনগুলি কীভাবে উন্নত হয়েছিল?


17

১৯৯ 1997 সালে ডিপ ব্লু কাস্পারভকে পরাজিত করার পরে কম্পিউটার দাবা ইঞ্জিনগুলি আরও ভাল হয়েছে।

অ্যালগোরিদমগুলি আরও ভাল হয়ে উঠেছে, বা দ্রুততর হার্ডওয়ার ইত্যাদির জন্য দ্রুত একইভাবে অ্যালগোরিদমগুলি দ্রুত চলার কারণে কি উন্নতি হয়েছিল?

যদি পূর্বের হয় তবে এই অ্যালগোরিদমিক উন্নতিগুলি কি সর্বজনীন?

এবং যদি তাই হয়, উন্নতি কি ছিল? আমি তাদের সম্পর্কে কোথায় পড়তে পারি?


আমার বিনীত উত্তর: chess.stackexchange.com/questions/19575/is-deep-blue-outdated
HelloWorld

কীভাবে? নাটকীয়ভাবে।
এভারগালো

উত্তর:


8

সম্ভবত আপনি কম্পিউটার দাবাতে উত্সর্গীকৃত ফোরাম টকচেসটি একবার দেখে নিতে পারেন । আমি একটি সাম্প্রতিক থ্রেড পেয়েছি যা আপনার জন্য আকর্ষণীয় হতে পারে: 30 বছরের মধ্যে চারটি অন্তর 7-8 বছরের ব্যবধানে অগ্রগতি

(প্রাক্তন) শীর্ষ ইঞ্জিনগুলির মধ্যে বেশ কয়েকটি ম্যাচ একই হার্ডওয়ারে খেলা হয় । পরীক্ষাটি সুপারিশ করে যে সাম্প্রতিক বছরগুলিতে (2002-2017), লাভটি মূলত সফ্টওয়্যার উন্নতি দ্বারা করা হয়। পরীক্ষায়, স্টকফিশ (2017) রব্বোলিটো (২০০৯) এর বিপক্ষে একটি দুর্দান্ত 94/100 স্কোর করেছিল, অন্যদিকে রব্বোলিটো শেরদারকে (2002) 92-2100 দিয়ে পরাজিত করেছিল।

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

Stockfish ইঞ্জিন ওপেন সোর্স, তাই আলগোরিদিমিক উন্নতি সর্বজনীন করা হয়েছে। Https://chessprogramming.wikispaces.com এ প্রচুর ডকুমেন্টেশন পাওয়া যায়


এটি তার দৃ answers়তার জবাব দেয়। পরের বার প্রশ্নের উত্তর দেওয়ার চেষ্টা করুন।
ফ্রেড নাইট

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

3

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

https://chessprogramming.wikispaces.com/ একটি দুর্দান্ত উত্স তবে নেভিগেট করা শক্ত hard

দাবা ইঞ্জিনকে উন্নত করার জন্য 3 টি প্রধান কার্যকারিতা রয়েছে যা হ'ল মূল্যায়ন, চলন উত্পন্নকরণ এবং অনুসন্ধান ক্রিয়াকলাপ।

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

মুভ জেনারেশন, একটি পদক্ষেপ তৈরি এবং আনমাক করার পাশাপাশি প্রচুর স্মৃতি গ্রাস করে কারণ এটি বহুবার প্রিফর্ম করতে হয়েছে। সর্বাধিক সাধারণ প্রজন্মের ফাংশনগুলি হ'ল মেলবক্স, বিটবোর্ড, 0x88, 8x8, বর্ধিত বোর্ড (10x10, 10x12), এবং একটি পূর্বনির্ধারিত মুভ অ্যারে / টেবিল (* আমি একটি সূচীকরণ সরানো টেবিল ব্যবহার করি)। বর্তমান মতামতটি হ'ল বিটবোর্ডগুলি দ্রুততর এবং ম্যাজিক বিটবোর্ডগুলি ব্যবহার করে এটি 30% পর্যন্ত গতিবেগ করে। ডাঃ রবার্ট হায়াট, অধ্যাপক এবং ক্র্যাটিফাই দাবা ইঞ্জিনের স্রষ্টা, কোনও উল্লেখযোগ্য গতি বাড়েনি বলে দাবি করেছেন।

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

দ্রষ্টব্য: আমার সূচি সারণী। জিএনইউচেস এবং জেসেস্টার উভয়ই তাদের চলগুলি তৈরি করতে একটি সূচক অ্যারে ব্যবহার করে। তারা সম্ভাব্য পদক্ষেপের সাথে অ্যারে পূরণ করে ইঞ্জিনটি আরম্ভ করে। ছয়টি টুকরো নিন এবং প্রতিটি স্কোয়ার থেকে উপলব্ধ আইনী পদক্ষেপগুলি গণনা করুন। সুতরাং প্রতিটি টুকরা একটি [64] [8] অ্যারে ছিল। আমি এই ধারণাটি নিয়েছি এবং এটি দুটি সূচি এবং একটি টেবিলের সাথে সংকুচিত করেছি। সারণীতে একটি মান রয়েছে যা জানায় যে 16 টি চালগুলি সম্ভব কিনা, একটি সূচক মুভের অফসেট ধরে রাখে এবং অন্যটি মাস্কটি ধারণ করে।

অফসেট [] = {-8, -1, 1, 8, -9, -7, 7, 9, -17, -15, -10, -6, 6, 10, 15, 17};

মুখোশ [] = {1, 2, 4, 8, 16, 32, 64, 128, 256, ...};

তারপরে একটি স্লাইডিং মুভের প্রজন্ম মুভ টেবিলের বিপরীতে এটির মঞ্জুরিপ্রাপ্ত অফসেটগুলিতে এর মাস্কটির বৈধতা অনুসন্ধান করা তত সহজ।


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

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

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

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

1
Every time that a new eval concept in included into a chess engine, more code, and therefore more HD space is required.বোর্ড ইভাল ফাংশনগুলি সাধারণত সিপিইউ ক্যাশে ফিট করার জন্য ডিজাইন করা হয়। সিপিইউ ক্যাশে << র‌্যাম << এইচডি। এইচডি আকার কোনও পার্থক্য করে না।
ম্যাক্সবি

2

অ্যালগরিদমগুলি আরও ভাল হয়েছিল?

স্পষ্টতই, হ্যাঁ কিছুটা

বা দ্রুত হার্ডওয়্যার এবং সফ্টওয়্যারটির জন্য ধন্যবাদ একই অ্যালগরিদমগুলি দ্রুত চালিত হওয়ার কারণে কি উন্নতিগুলি হয়েছে?

গৌণ নিট: যদি অ্যালগরিদমগুলি আরও ভাল হয়ে যায় তবে এটি সফ্টওয়্যারটি আরও ভাল হচ্ছে তাই "বা" নেই।

মুরের আইন আমাদের জানায় যে প্রতি 18 মাসে প্রসেসরের গতি প্রায় দ্বিগুণ হবে। তার মানে এটি 20 বছরে প্রায় 13 বার দ্বিগুণ হয়েছে। এটি আধুনিক প্রসেসরগুলিকে 8,000 গুণ বেশি অঞ্চলের কোথাও তৈরি করে। সুতরাং, ইঞ্জিনের পারফরম্যান্সে খুব দূরে এবং সবচেয়ে বড় উন্নতি দ্রুত হার্ডওয়্যারটির কারণে to

যদি পূর্বের হয় তবে এই অ্যালগোরিদমিক উন্নতিগুলি কি সর্বজনীন?

এবং যদি তাই হয়, উন্নতি কি ছিল? আমি তাদের সম্পর্কে কোথায় পড়তে পারি?

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


2
That means it has doubled roughly 13 times in 20 years.আমি মনে করি আপনি মুর আইনকে ভুলভাবে ভঙ্গ করছেন। এটি প্রসেসরের গতি সম্পর্কে কিছুই বলে না। আসলে, এটি একটি সময়ের মধ্যে দ্বিগুণ হয়নি।
ম্যাক্সবি

hardware and softwareআমি অ্যালগরিদম (ASM বনাম সি ++) বাস্তবায়নের মতো সফ্টওয়্যারটি বোঝাতে চাইছিলাম তবে আমি দেখতে পাচ্ছি এটি কীভাবে বিভ্রান্তিকর। সংশোধন করা হয়েছে।
ম্যাক্সবি

1
তিনি মুর আইনটি সঠিক, তিনি "পরবর্তী দশকে" এই বাক্যটি অন্তর্ভুক্ত করা ছাড়া। এটি 1975 সালে হত, এবং তিনি সঠিক ছিলেন।
ফ্রেড নাইট

-1 কারণ উত্তরটি ভুল - একই হার্ডওয়্যারে, বর্তমান ইঞ্জিনগুলি এখনও পূর্ব-শীর্ষ ইঞ্জিনগুলি ক্রাশ করে।
মোহন 3

0

এটি সবই অ্যালগরিদম সম্পর্কে।

একজন মানব দাবা খেলোয়াড়কে গ্রহণ করা সেই সময় বিশ্বের অন্যতম শক্তিশালী কম্পিউটার নিয়েছিল। এই নিষ্ঠুর ফোর্স কম্পিউটিং পদ্ধতির কারণে ডিপ ব্লুটিকে ছয় থেকে আটটি এগিয়ে যেতে সাহায্য করতে পারে। একটি ঘনিষ্ঠ লড়াইয়ের প্রতিযোগিতায়, মেশিনটি শেষ পর্যন্ত ক্যাসপারভকে 3 1/2 গেম দ্বারা পরাজিত করে 2 1/2 এ পৌঁছেছে।

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


4
দাবাতে স্বাগতম! আপনি আপনার উত্তরের মূল অংশটি লিখেছেন যেন এটি একটি উদ্ধৃতি; আপনি একটি উত্স প্রদান করতে পারেন?
গ্লোরফাইন্ডেল

0

দাবি অস্বীকার: বিশেষজ্ঞ নন।

অ্যালগরিদমগুলি আরও ভাল হয়ে উঠেছে, এবং 1995 সালের চলমান আজকের সেরা ইঞ্জিনগুলি (মনে রাখবেন ডিপ ব্লু ১৯৯৯ ছিল) হার্ডওয়ার ক্যাসপারভকে হাতছাড়া করবে। আমি যেমন এটি বুঝতে পারি, অ্যালগরিদমের দুটি দিক রয়েছে:

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

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

মূল্যায়ন । এটি ইঞ্জিন কোডের অন্য prong। একটি নির্দিষ্ট অবস্থান দেওয়া, এটি সাদা, কালো বা সমানর জন্য ভাল? এটি সমস্ত ধরণের ক্রিয়াকলাপকে জড়িত করতে পারে, যেমন

  • যদি একপাশে অতিরিক্ত উপাদান / স্থান থাকে, তবে এটিকে বোনাস দেবে।
  • যদি সাদা একটি প্যাঁচ দ্বারা সমর্থিত একটি উন্নত নাইট থাকে, তবে সাদাকে একটি বোনাস দেবে।
  • যদি কৃষ্ণাঙ্গ রাজা অচল হয়ে পড়ে থাকে তবে সাদাকে একটি বোনাস দেবে।
  • যদি সাদা the তম র‌্যাঙ্কে ছাঁটাই করে থাকে, তবে সাদাকে সাদা বোনাস দিন।
  • যদি এটি একটি এন্ডেগেম হয় (এবং অবস্থানটি একটি এন্ডগেম কিনা তা নির্ধারণের জন্য অ্যালগরিদম রয়েছে) এবং উভয় পক্ষের বিপরীত রঙ বিশপ রয়েছে, এটির জন্য একটি জরিমানা আরোপ করুন (অর্থাত এটি 0.00 এর দিকে চাপ দিন) push

আজকের ইঞ্জিনগুলি ডিপ ব্লুয়ের চেয়ে অনেক ভাল অবস্থানের মূল্যায়ন করে।

আলগোরিদিমগুলি সর্বজনীন কিনা তা নিয়ে স্টকফিশ বর্তমানে বিশ্বের শক্তিশালী ইঞ্জিন এবং এটি উন্মুক্ত উত্স। আপনি কোডটি গিথুব থেকে নিজেই ডাউনলোড করতে পারেন ।

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