هذا المشروع عبارة عن عرض توضيحي لاستخدام شرائط مكتبة التخطيط الآلي للذكاء الاصطناعي في Node.js.
جربه عبر الإنترنت على https://stripsfiddle.meteorapp.com
npm install strips
إذا كنت جديدًا في التخطيط الآلي لـ STRIPS، فإليك برنامجًا تعليميًا رائعًا للبدء.
توضح الأمثلة التالية كيفية حل مشكلات التخطيط من خلال تحديد مجموعة الإجراءات المثالية لتحقيق الهدف. على سبيل المثال، يمكن حل تكديس الكتل وأبراج هانوي وحتى ستاركرافت بواسطة الذكاء الاصطناعي (انظر أدناه، إنه أمر رائع!).
تم تضمين عدة أمثلة من مجال Blocks World في هذا المشروع، حيث يستطيع الذكاء الاصطناعي التخطيط بنجاح لسلسلة من الخطوات لنقل الكتل وتكديسها على سلسلة من الجداول.
يعمل تخطيط الذكاء الاصطناعي عن طريق معالجة مجال بسيط باستخدام ورقة قواعد PEG.js وتشغيل النتيجة باستخدام مسألة STRIPS البسيطة.
يتم تحليل المجال وملفات PDDL التي بها مشكلة عبر PEG.js، مما يؤدي إلى إنتاج كائن JSON لمجال معين. تتم بعد ذلك معالجة JSON لتحديد الإجراءات القابلة للتطبيق ضمن حالة معينة من المشكلة. يتم بعد ذلك تطبيق الإجراءات على الحالة الحالية، مما يؤدي إلى إنتاج مجموعة جديدة من الحالات. يتم تكرار هذه العملية، حيث يتم تحديد الإجراءات القابلة للتطبيق للحالات الجديدة، وتطبيقها، وإنتاج المزيد من الحالات الجديدة. يمكن بعد ذلك اجتياز الشجرة الناتجة من الحالات والإجراءات المحتملة باستخدام خوارزمية A* لتحديد مجموعة مثالية من الخطوات لتحقيق حالة الهدف، كما هو محدد في المشكلة.
المجال | المشكلة نقل الكتل a وb من الجدول x إلى الجدول y. يُسمح بوجود كتل متعددة على الطاولة. الإجراء الوحيد المتاح هو "التحرك".
المجال | المشكلة تنقل الكتل a وb من الجدول x إلى المكدس ab في الجدول y. يُسمح بوجود كتل متعددة على الطاولة. تتضمن الإجراءات المتوفرة "نقل" و"تكديس" و"فك تكديس".
المجال | مشكلة فك الكتل ba من الجدول x إلى المكدس ab في الجدول y. يُسمح بوجود كتل متعددة على الطاولة. تتضمن الإجراءات المتوفرة "نقل" و"تكديس" و"فك تكديس".
المجال | المشكلة الممتعة! قم بفك الكتل ba من الجدول 1 إلى المكدس ab في الجدول 3. يُسمح فقط بكتلة أو مكدس واحد على الطاولة. يحتاج الذكاء الاصطناعي إلى التخطيط لنقل الكتلة مؤقتًا إلى الجدول 2، بينما يقوم بإعداد الترتيب الصحيح للتكديس في الجدول 3. تتضمن الإجراءات المتاحة "نقل" و"تكديس" و"فك تكديس".
يتم تكديس الكتل على الطاولة 1. الهدف هو تكديسها على الطاولة 2. يُسمح فقط بكتلة أو مكدس واحد لكل طاولة. وهنا الحلول.
*** Solution found in 6 steps!
1. unstack a b t1 t2
2. move b t1 t3
3. move a t2 t1
4. move b t3 t2
5. move a t1 t3
6. stack a t3 b t2
*** Solution found in 5 steps!
1. unstack a b t1 t2
2. move b t1 t3
3. move a t2 t1
4. move b t3 t2
5. stack a t1 b t2
*** Solution found in 5 steps!
1. unstack a b t1 t2
2. move a t2 t3
3. move b t1 t2
4. move a t3 t1
5. stack a t1 b t2
*** Solution found in 4 steps!
1. unstack a b t1 t2
2. move a t2 t3
3. move b t1 t2
4. stack a t3 b t2
*** Solution found in 4 steps!
1. unstack a b t1 t3
2. move b t1 t2
3. move a t3 t1
4. stack a t1 b t2
*** Solution found in 3 steps!
1. unstack a b t1 t3
2. move b t1 t2
3. stack a t3 b t2
إليكم حل الذكاء الاصطناعي لمشكلة شذوذ عالم سوسمان.
*** Solution found in 3 steps!
1. unstack2 c a x
2. stack2 b c x
3. stack3 a b c x
الآن، لبعض المرح. هنا مجال ستاركرافت. كانت المهمة هي بناء ثكنة. كنت أرغب في الأصل في بناء Battlecruiser، لكن ذلك استغرق وقتًا طويلاً (بدون بحث إرشادي!).
*** Solution found in 8 steps!
1. move scv sector-a mineral-field-b
2. collect-minerals scv mineral-field-b
3. move scv mineral-field-b sector-b
4. build-supply-depot scv sector-b
5. move scv sector-b mineral-field-a
6. collect-minerals scv mineral-field-a
7. move scv mineral-field-a sector-a
8. build-barracks scv sector-a sector-b
خطوة أخرى إلى الأمام، إليك الحل الذي يقدمه الذكاء الاصطناعي لتدريب أحد أفراد البحرية.
- Solution found in 11 steps!
1. move scv sector-a mineral-field-a
2. collect-minerals scv mineral-field-a
3. move scv mineral-field-a sector-b
4. build-supply-depot scv sector-b
5. move scv sector-b mineral-field-b
6. collect-minerals scv mineral-field-b
7. move scv mineral-field-b sector-a
8. build-barracks scv sector-a sector-b
9. move scv sector-a mineral-field-c
10. collect-minerals scv mineral-field-c
11. train-marine scv sector-a
معهد ماساتشوستس للتكنولوجيا
كوري بيكر http://www.primaryobjects.com/kory-becker