لماذا IDA $ ^ * $ أسرع من $ ^ * $؟لماذا زيارة IDA $ ^ * $ المزيد من العقد من $ ^ * $؟

cs.stackexchange https://cs.stackexchange.com/questions/118121

سؤال

اعتدت IDA $ ^ * $ على النحو الأمثل اللغز 8-puzzle وأصدقائي يستخدمون $ ^ * $ لذلك (مع نفس مانهاتن المسافة السريعة).

قمت بحساب متوسط وقت التشغيل وعدد العقد من خوارزمية لمدة 20 أمثلة وخلعات صديقي.كان متوسط الوقت لخوارزمي أسرع بكثير من خوارزمية صديقي، لكن متوسط عدد العقدات التي تمت زيارتي أكثر من صديقي.

أعرف IDA $ ^ * $ يزور كل عقدة أكثر من مرة ولكن لماذا هو أسرع من $ ^ * $ ؟

هل كانت مفيدة؟

المحلول

منذ أن قمت بالفعل بتنفيذ IDA $ ^ * $ بالتأكيد تفهم لماذا يوسع المزيد من العقد من $ ^ * $ ، أي، يبدأ من حالة البداية مع اجتياز عميق جديد أولا في كل تكرار. لاحظ أولا أنه، فإن العدد الإجمالي من العقد التي زارها IDA $ ^ * $ ، بينما بالضرورة أكبر من $ ^ * $ ليس أكبر بكثير. والسبب هو أن عدد العقد في كل عمق يتقدم وفقا لسلسلة هندسية مع عامل $ B $ ، عامل المتفرعة. نتيجة لذلك، عدد العقد في العمق $ d $ ، $ b $ ، هو الكثير أكبر من مجموع جميع العقد الموسعة في التكرارات السابقة، أي، $ b ^ d> \ sum_ {i= 0} ^ {d-1} b ^ i $ . من هذا الاختلاف، اتضح أن IDA $ ^ * $ يتطلب $ \ frac {b-1} $ التوسعات الإضافية التي هي مثالية مقتشرة مثل الحد الأقصى لكسر $ B $ هو 1. الختام، للحصول على الخوارزمية أي خوارزمية الزيارة جميع العقد عند العمق $ D $ أكثر صعوبة بكثير من زيارة جميع العقد في الأعماق السابقة.

في حال كنت ترغب في الخوض في هذه المشكلة، أوصي بشدة بقراءة الورق الأصلي: Korf، Richard E. العمق - التعميق التراثي الأول: بحث مثالي للمختصر للأشجار. الذكاء الاصطناعي (27)، 97-109، 1985. انظر في نظرية خاصة 4.2:

العمق الأول تعميق تكريسي مثالي مقارب تفتيش شجرة القوة الغاشمة فيما يتعلق بالوقت والمساحة والطول حل.

بالطبع، يسلم الحلول الأمثل بحيث يتم قبولها وبالتالي مثالية مقارنة. إنه يمارس فقط اجتيازات العمق الأولى، وبالتالي، فمن غير المثلق من حيث الفضاء (تتطلب تطبيقا جيدا $ O (d) $ ).

كما في الوقت الحالي، أوضحت بالفعل السبب النظري الرئيسي ولكن اسمحوا لي أن أعرف تسليط الضوء على ثلاثة أسباب رئيسية لماذا هو سريع جدا في الممارسة:

  1. أولا وقبل كل شيء، لجميع الأغراض تقريبا، يسيطر وقت التشغيل الإجمالي لأي خوارزمية من خلال الوقت الذي يستغرقه توسيع العقد (العمليات الأخرى بسيطة وذرية). إنه بالفعل عند توسيع العقد التي يمكن أن تكون IDA $ ^ * $ بسرعة غير عادية لأن:

    1.1. iDA $ ^ * $ يتم تنفيذه بشكل متكرر بحيث يكون كل ما تحتاجه هو اتخاذ الدولة نظرا كحجة وتوليد طفل في كل مرة (لحالتك المحددة الخاصة بك يعني ببساطة تبديل الفراغ مع بلاطة مجاورة، وهذا عبارة واحدة فقط!). ومع ذلك، للحصول على $ ^ * $ تتطلب عملية التوسع: أولا، ظهرت حالة من قائمة الانتظار، ثم توليد جميع أطفالها (أي، تحريك البلاط الفارغ في الكل الاتجاهات الممكنة).

    1.2. في حين أن العملية السابقة تجعل بعض الاختلاف، فإن الوحدة المهمة حقا هو أن $ ^ * $ يتطلب فرز العقد في فتح. حتى لو كنت تفعل هذا مع 1 دلو (الذي سيأخذ $ O (1) $ )، لاحظ أن IDA $ لا يتطلب ^ * $ فرز العقد على الإطلاق، بحيث بينما $ ^ * $ يستغرق وقتا خطيا في عدد العقد الموسعة، IDA $ ^ * $ يأخذ أي شيء على الإطلاق.

  2. ثالثا، أحد مساهمات خوارزميات البحث الأفضل أولا (مثل $ ^ * $ ) هي أنهم يتجنبون إعادة توسيع العقد من قبل باستخدام قائمة مغلقة (والتي عادة ما يتم تنفيذها عادة باسم مجموعة !!). IDA $ ^ * $ ليس لديه مكررة الكشف عن الآليات الآليات، وبالتالي، مرة أخرى، $ ^ * $ يؤدي عملية إضافية لا يتم تنفيذها على الإطلاق بواسطة IDA $ ^ * $ . إذا كنت ترغب في معرفة المزيد حول اكتشاف مكررة في IDA $ ^ * $ See: Reinefeld، A؛ Marsland، T. تعزيز البحث التكرار التعميق. معاملات IEEE حول تحليل النمط والذكاء آلة (16) 7، 701-710، 1994.

  3. النقطة الأخيرة ذات صلة حقا. في حالة وجود لغز البلاط المنزلق، لا توجد العديد من التجاوزات في الواقع، وأقصر دورة تتكون من 12 خطوة، بحيث لا يكون عدد التوسعات هو كبير. وضع كل هذه معا، IDA $ ^ * $ هي آلة قاتلة لجميع أحجام لغز البلاط المنزلق.

    ومع ذلك، على الرغم من جميع مزاياها، فقد لا يكون من الاهتمام العملي في هذه التطبيقات التي لها عدد كبير من التجاوزات. كانت هناك محاولات مختلفة للتغلب على هذه الصعوبة

مع نجاح محدود، انظر على سبيل المثال:

داو، ص أليكس؛Korf، Richard E. تجنب مكررة في البحث الأول - البحث أولا مع التطبيقات إلى TreeWidth.المؤتمر الدولي المشترك الدولي حول الذكاء الاصطناعي، 480-485، 2009.

نأمل أن يساعد هذا،

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى cs.stackexchange
scroll top