দাবা ইঞ্জিনগুলি চলনগুলির মধ্যে পূর্ববর্তী বিশ্লেষণ করা সমস্ত অবস্থানের সঞ্চয় করে


17

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

[সম্পাদনা করুন: আমি ধরে নিচ্ছি যে বিশ্লেষণগুলি ক্যাশে করা হচ্ছে না তার কারণ কম্পিউটারের কিছু মেমরি সীমাবদ্ধতা যা বিশ্লেষণটি পুনরায় আরম্ভ করার জন্য এটি দ্রুততর করে তোলে]

উত্তর:


20

প্রোগ্রামিং দাবা ইঞ্জিনগুলি খুব জটিল অঞ্চল, তাই ঠিক সামনে আমি আপনাকে দাবা প্রোগ্রামিং উইকির দিকে নির্দেশ করব , যার এই বিষয়ে প্রচুর দুর্দান্ত তথ্য রয়েছে।

পটভূমি

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

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

ম্যাথ ট্যানজেন্ট

ইঞ্জিনগুলি প্রতিটি পদক্ষেপ বিবেচনা করতে সাধারণত একই পরিমাণ সময় নেয় তার মূল কারণ হ'ল সিদ্ধান্ত গাছের আকার গভীরতার ( k) সাথে তাত্পর্যপূর্ণভাবে বৃদ্ধি পায় ।

প্রারম্ভিক অবস্থান বিবেচনা করুন। গাছের শীর্ষটি ( k=0) একটি নোড। হোয়াইটের জন্য বিশটি প্রথম সম্ভাবনা রয়েছে, সুতরাং বিশে নোড রয়েছে k=1। তারপরে, ব্ল্যাকের হোয়াইটের প্রতিটি বিকল্পের বিশটি উপলব্ধ চাল k=2আছে : সুতরাং , 20 * 20 = 400সম্ভাব্য অবস্থান রয়েছে! এবং খেলোয়াড়রা তাদের টুকরোগুলি বিকাশ করার সাথে সাথে এটি আরও খারাপ হয়!

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

Ply |    Positions   |  Total Tree Size
----------------------------------------
 0  | 1              | 1
 1  | 20             | 21
 2  | 400            | 421
 3  | 8000           | 8421
 4  | 160000         | 168421
 5  | 3200000        | 3368421
 6  | 64000000       | 67368421
 7  | 1280000000     | 1347368421
 8  | 25600000000    | 26947368421
 9  | 512000000000   | 538947368421
10  | 10240000000000 | 10778947368421

পূর্ববর্তী স্তরের চেয়ে প্রতিটি স্তরের তাত্পর্যপূর্ণ আকারে বড় হওয়ার ফলাফলটি হ'ল নীচের স্তরের দ্বারা পুরো গাছের আকার প্রাধান্য পায় । উপরের উদাহরণটি বিবেচনা করুন: কেবলমাত্র শেষ স্তরে দশ ট্রিলিয়ন নোড রয়েছে। গাছের পুরো অংশে কেবল পাঁচশো বিলিয়ন থাকে। দশম প্লাইতে পুরো গাছের প্রায় 95% নোড থাকে (এটি প্রতিটি স্তরে আসলে সত্য)। অনুশীলনে, এর অর্থ হ'ল অনুসন্ধানের সমস্ত সময় "শেষ" পদক্ষেপটি মূল্যায়নে ব্যয় করা হয়।

উত্তর

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

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


সরলীকরণ অস্বীকৃতি

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


1 আমি এখানে তাত্ত্বিক কার্যগুলিতে যেতে যাচ্ছি না, কারণ এটি তার নিজস্ব অবিশ্বাস্যরকম জটিল অঞ্চল, তবে প্রায়শই কিছু লাভ রয়েছে যা এখানে অবস্থানের ক্যাচিং স্কিমগুলির মাধ্যমে অর্জন করা যায়।

2 20 এর গড় শাখা প্রশাখার কারণটি সম্ভবত খুব কম


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

ধন্যবাদ! অনেক আগ্রহব্যাঞ্জক. দাবা ইঞ্জিনের উইকি আলোচনাকে আমি আকর্ষণীয় করেছিলাম।
ডোম

3

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

  1. কোনও অনুসন্ধানের গাছটিতে একটি অবস্থান সম্ভবত একাধিকবার মুখোমুখি হবে, যেহেতু সারণীর সাথে পরামর্শ করা যেতে পারে যেমন অবস্থানটি পর্যালোচনা করা হয়েছে এবং পুনরায় পর্যালোচনা করার কারণে কয়েক ডজন বার পরিবর্তে কেবল কয়েকবার (বিভিন্ন নির্দিষ্ট অনুসন্ধানের গভীরতার জন্য) মূল্যায়ন করা প্রয়োজন to

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


3

ইঞ্জিনের স্মৃতি স্পষ্ট করার উদাহরণ:

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

সম্পাদনা: মূল উত্তর (নীচে রাখা) ভুল, তবে এটি ইঞ্জিনের স্মৃতিশক্তির একটি দরকারী উদাহরণ সরবরাহ করে, যা শীর্ষে উদ্ধৃত হয়েছে।

যতদূর আমি জানি, তারা তা করে না, অর্থাৎ তারা প্রতিটি পদক্ষেপে প্রায় স্ক্র্যাচ থেকে গাছের সন্ধান শুরু করে।

তবে তাদের অবশ্যই কিছু প্রকারের ফাংশন থাকতে হবে যা প্রতিটি পদক্ষেপের মানগুলিকে বাস্তবায়িত করে এবং এই ফাংশনে অবশ্যই কিছু স্বল্পমেয়াদী মেমরি রয়েছে। কয়েকটি উদাহরণ হ'ল অবস্থানগুলি যেখানে গভীর তাত্ত্বিক অভিনবত্বগুলি সন্ধান করা হয়, বিশেষত: কারুয়ানা বনাম টপালভ এই বছর খেলাটি খেলেছে। যখন আপনি ইঞ্জিনকে কম বা কম স্বল্প সময়ের জন্য 12 সরানোর পরে অবস্থানটি বিশ্লেষণ করতে দেন (10-15 মিনিট বলুন) আপনি প্রস্তাবিত পদক্ষেপগুলি পরীক্ষা করতে পারেন এবং দেখতে পাবেন যে টিএন ( 13.Re2!) তাদের মধ্যে উপস্থিত না হয়েছে। মুভটি নিজেকে পরিচয় করিয়ে দিন, কোনও পদক্ষেপ ফিরে যান এবং ইঞ্জিনটি একই জায়গায় আরও কম সময়ে একই জায়গায় আবার বিশ্লেষণ করতে দিন। আশ্চর্যজনকভাবে, কিছু চিন্তাভাবনার পরে, ইঞ্জিন এখন টিএনকে সেরা চালগুলির মধ্যে বিবেচনা করে এবং এটি অনুমোদিত করে।

আমি দাবা সফ্টওয়্যার বিশেষজ্ঞ নই, তবে এটি ঘটে। এটি অন্তত আংশিকভাবে ব্যাখ্যা করা যেতে পারে যদি (যেমন বলা হয়) পজিশনের জন্য চলনগুলির মূল্যায়ন করে এমন ফাংশনটির কিছু স্মৃতি রয়েছে।


2
না। ইঞ্জিনগুলি স্ক্র্যাচ থেকে গাছের সন্ধান শুরু করে না। আমার উত্তর দেখুন।
হ্যালো ওয়ার্ল্ড

দুঃখিত তবে আমি খুঁজে পেয়েছি যে আপনার উত্তরটি কিছুটা বিভ্রান্তিকর
ব্লুট্রিন

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

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

এটি শেষ সম্পাদনাটি ব্লু ট্র্রিনের ছিল, যিনি ভাবেন যে এটি বিভ্রান্তিকর।
পাবলো এস। ওকাল

2

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

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

তা ছাড়াও প্রতিটি মূল্যায়নের সাথে এর গভীরতা সংযুক্ত থাকে। একটি পুনরাবৃত্তিমূলক-গভীরতর কাঠামোতে, আপনি প্রতিটি পুনরাবৃত্তির গভীরতা বাড়ানোর সাথে সাথে আপনাকে পূর্ববর্তী পুনরাবৃত্তিতে ইতিমধ্যে অনুসন্ধান করা অবস্থানগুলি অনুসন্ধান করতে হবে।

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

পজিশনগুলি সংরক্ষণ করার জন্য আমাদের কাছে অসীম স্মৃতি নেই। আমাদের একটি হ্যাশিং অ্যালগরিদম সংজ্ঞায়িত করতে হবে। জোব্রিস্ট হ্যাশিং অ্যালগরিদম আমাদের ছদ্ম-এলোমেলো বিতরণ দেয় তবে খুব শীঘ্রই বা আমাদের এখনও কিছু বিদ্যমান এন্ট্রি প্রতিস্থাপন করতে চাই।


0

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

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

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

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

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

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