You are on page 1of 15

‫‪270‬‬

‫نظري‬

‫‪3‬‬ ‫‪Conflict Resolution‬‬


‫‪15/6/2020‬‬ ‫‪15‬‬

‫فهرس املحاضرة‬

‫‪Conflict resolution‬‬
‫‪strategies‬‬ ‫‪02‬‬ ‫مفهوم الـ ‪conflict resolution‬‬
‫‪01‬‬
‫تعرّفنا في المحاضرة السابقة على المنهجي تين المستخدمتين في المحاكمة واالستنتاج ( ‪Forward & backward‬‬
‫‪ ) chaining‬ولكن في بعض الحاالت عند مطابقة القواعد قد نالحظ وجود أكثر من قاعدة تحقق المطلوب ويمكن‬
‫تطبيقها‪ ،‬عندها أي من القواعد سنعتمدها في أثناء متابعة المحاكمة التي نقوم بها؟‬

‫لحل مثل هذا اإلشكال توصلنا إلى مجموعة من االستراتيجيات (‪ )Conflict resolution‬لمعرفة القاعدة التي يجب‬
‫اعتمادها أوالً‪.‬‬

‫مفهوم الـ ‪( conflict set‬مجموعة التضارب)‪:‬‬

‫وهي مجموعة من القواعد التي ستطبّق (قابلة للتطبيق) في كل مرحلة من مراحل النظام وهي تنقسم لنوعين‪:‬‬
‫‪ :Deterministic rule set‬في حال احتوت المجموعة على قاعدة واحدة مٌطابِقة على األكثر (أي عددها إما ‪ 0‬أو‪.)1‬‬
‫‪ : Non-deterministic rule‬في حال احتوت المجموعة على أكثر من قاعدة واحدة مُطابِقة‪.‬‬
‫عندها سيضطر الـ )‪ inference engine (interpreter‬إلى اختيار قاعدة واحدة لتطبيقها وذلك وفقاً إلحدى‬
‫استراتيجيات الـ‪.conflict resolution‬‬

‫بما أنه لدينا عدة استراتيجيات فكيف يختار النظام الخبير ما يناسبه بينها؟‬

‫يقوم النظام باختيار االستراتيجية المناسبة اعتماداً السرعة في الوصول إلى الحل فمن الممكن الوصول للحل بواسطة‬
‫أكثر من استراتيجية واحدة واالستراتيجية األنسب هي التي توصل للحل بشكل أسرع طبعاً باإلضافة إلى أن الحل يجب‬
‫أن يكون متناسباً مع متطلب النظام‪.‬‬

‫‪/ITE.RBCs‬‬
‫‪1‬‬
‫‪Conflict resolution‬‬

‫بعض االستراتيجيات المستخدمة في الـ ‪conflict resolution‬‬

‫‪- Textual order‬‬ ‫(بسيطة)‬ ‫(هجينة) ‪- MEA‬‬

‫(بسيطة) ‪- Refractoriness‬‬ ‫(بسيطة) ‪- Specificity‬‬

‫‪- Recency‬‬ ‫(بسيطة)‬ ‫(هجينة) ‪- LEX‬‬

‫‪- Breadth‬‬ ‫(بسيطة)‬ ‫(بسيطة) )‪- Priority (salience‬‬

‫ويمكن أن يتم تركيب االستراتيجيات مع بعضها وتطبيقها‪.‬‬

‫ليكن لدينا المثال (‪ )1‬كالتالي‪:‬‬

‫‪X‬‬ ‫‪Y‬‬
‫‪R1: IF A THEN E‬‬
‫‪R2: IF B & C & D THEN F‬‬ ‫‪X‬‬ ‫‪X‬‬
‫‪G‬‬ ‫‪H‬‬
‫‪R3: IF E & F THEN G‬‬
‫‪R4: IF G THEN X‬‬
‫‪X‬‬ ‫‪X‬‬
‫‪R5: IF F THEN H‬‬ ‫‪F‬‬
‫‪E‬‬
‫‪R6: IF H THEN Y‬‬
‫‪X‬‬
‫‪X‬‬
‫‪A‬‬ ‫‪B‬‬ ‫‪C‬‬ ‫‪D‬‬

‫‪Textual order‬‬

‫تفترض أن القواعد مرتبة عندها نختار القواعد بحسب الترتيب التي وردت به لدينا وبالتالي فإن الخبير يجب أن يعلم طريقة‬
‫ال في الـ ‪( KB‬أي‬
‫ال فأو ً‬
‫عمل الخوارزمية وبالتالي فعليه أن يحدد أولوية القواعد أي أهم القواعد يجب أن توضع بترتيب أو ً‬
‫بنفس الترتيب الذي يقوم الخبير بتطبيقها فيه ذهنياً) وفي كل مرحلة تعتمد الطريقة إما‪:‬‬
‫‪ ‬اعتبار الترتيب يبدأ منذ بداية القواعد (وهي الطريقة األكثر استخداماً)‪.‬‬
‫‪ ‬اعتبار القاعد ة التي تم تطبيقها سابقاً هي نقطة البداية في الترتيب للقواعد في المرحلة الحالية‪.‬‬
‫نالحظ في المثال السابق عند تطبيق االستراتيجية ‪ textual order‬أن ه يمكننا استخدام كل من (‪ )R1, R2‬وتبعًا‬
‫لالستراتيجية فإن القاعدة األولى هي التي ستطبق (‪ )R1‬وفي حال عدم استخدام الـ ‪ refractoriness‬سيتم استخدامها‬
‫ثانية وهكذا سندخل في حلقة‪.‬‬

‫‪/ITE.RBCs‬‬
‫‪2‬‬
‫‪Conflict resolution‬‬

‫‪Refractoriness‬‬

‫وهي قاعدة تمنع استخدام القاعدة مرة ثانية أي (يتم تطبيق القاعدة الواحدة مرة واحدة على األكثر)‪ ،‬وذلك لمنع الدخول‬
‫في الحلقة كما حصل أثناء تطبيق االستراتيجية السابقة (‪ )textual order‬على سبيل المثال‪.‬‬
‫واآلن نتابع الحل في المثال بافتراض أننا نستخدم الـ ‪ refractoriness‬مع الـ‪:textual order‬‬

‫)‪WM (Working Memory‬‬ ‫)‪CS (Conflict Set‬‬ ‫‪Rule‬‬


‫‪A,B,C,D‬‬ ‫‪R1,R2‬‬ ‫‪R1‬‬
‫‪A,B,C,D,E‬‬ ‫‪R1,R2‬‬ ‫‪R2‬‬
‫‪A,B,C,D,E,F‬‬ ‫‪R1,R2,R3,R5‬‬ ‫‪R3‬‬
‫‪A,B,C,D,E,F,G‬‬ ‫‪R1,R2,R3,R5,R4‬‬ ‫‪R4‬‬
‫‪A,B,C,D,E,F,G,X‬‬ ‫‪R1,R2,R3,R5,R4‬‬ ‫‪R5‬‬
‫‪A,B,C,D,E,F,G,X,H‬‬ ‫‪R1,R2,R3,R5,R4,R6‬‬ ‫‪R6‬‬
‫‪A,B,C,D,E,F,G,X,H,Y‬‬

‫‪X‬‬
‫في البداية احتوت الـ‪ CS‬على كل من القاعدتين ‪ R1,R2‬وبما أن االستراتيجية‬
‫المتبعة هي الـ‪ Textual order‬قمنا باختيار القاعدة األولى ونتابع بإضافة‬ ‫‪X‬‬ ‫‪X‬‬ ‫‪X‬‬
‫القواعد إلى الـ ‪ CS‬بعد تطبيق القاعدة الثانية نالحظ أننا أضفنا القاعدتين‬
‫‪ R3,R5‬وحسب االستراتيجية اخترنا القاعدة ‪ R3‬وبإضافة الحقيقة ‪ G‬بعد تطبيق‬
‫القاعدة ‪ R3‬أضيفت القاعدة ‪ R4‬للـ‪ CS‬وبوجود كل من ‪ R4,R5‬قمنا باختيار‬ ‫‪X‬‬ ‫‪X‬‬
‫‪ R4‬حسب استراتيجية الحل ونتابع بنفس الطريقة مع األخذ بعين االعتبار عدم‬
‫إعادة استخدام أي قاعدة تم اعتمادها سابقًا وذلك وفق استراتيجية الـ‬ ‫‪E‬‬ ‫‪F‬‬
‫‪.refractoriness‬‬ ‫‪X‬‬
‫‪X‬‬

‫‪A‬‬ ‫‪B‬‬ ‫‪C‬‬


‫‪Recency‬‬
‫تعتمد هذه االستراتيجية على اعتماد القاعدة التي تستخدم الحقائق التي أضيفت أخيراً في الـ‪ WM‬أي في العمق ( ‪Depth-‬‬
‫‪ ) first‬فإن كانت لدينا أكثر من قاعدة تستخدم الحقائق المضافة أخيراً يتم اعتماد القاعدة التي أضيفت الحقاً إلى الـ‬
‫‪ conflict set‬أي‪ :‬ليكن لدينا القاعدتين ‪ R1‬و ‪ R2‬حيث أضيفت حقائق القاعدة ‪ R1‬أوالً إلى الـ‪ WM‬تليها ‪:R2‬‬
‫‪(R1) if E1 then H‬‬
‫‪(R2) if E2 then H‬‬
‫عندما نواجه هذه الحالة فإننا نختار ‪ R2‬لتطبيقها قبل ‪.R1‬‬

‫‪/ITE.RBCs‬‬
‫‪3‬‬
‫‪Conflict resolution‬‬

‫وبالعودة للمثال السابق وتطبيق استراتيجية الـ ‪:recency‬‬


‫)‪WM (Working Memory‬‬ ‫)‪CS (Conflict Set‬‬ ‫‪Rule‬‬
‫‪A,B,C,D‬‬ ‫‪R1,R2‬‬ ‫‪R2‬‬
‫‪A,B,C,D,F‬‬ ‫‪R1,R2,R5‬‬ ‫‪R5‬‬
‫‪A,B,C,D,F,H‬‬ ‫‪R1,R2,R5,R6‬‬ ‫‪R6‬‬
‫‪A,B,C,D,F,H,Y‬‬ ‫‪R1,R2,R5,R6‬‬ ‫‪R1‬‬
‫‪A,B,C,D,F,H,Y,E‬‬ ‫‪R1,R2,R5,R6,R3‬‬ ‫‪R3‬‬
‫‪A,B,C,D,F,H,Y,E,G‬‬ ‫‪R1,R2,R5,R6,R3,R4‬‬ ‫‪R4‬‬
‫‪A,B,C,D,F,H,Y,E,G,X‬‬

‫‪X‬‬
‫‪X‬‬ ‫‪X‬‬ ‫‪X‬‬
‫نالحظ أننا أضفنا الحقائق ‪ A,B,C,D‬إلى الـ ‪ WM‬وبما أننا أضفنا ‪ B,C,D‬بعد ‪A‬‬
‫إلى الـ ‪ WM‬فإننا نستخدم القاعدة الخاصة بها أي القاعدة ‪ R2‬وبعد إضافة‬
‫الحقيقة ‪ F‬نعتبرها حقيقة أكثر حداثة في الـ ‪ WM‬من الحقيقة ‪ A‬وبالتالي‬
‫‪X‬‬ ‫‪X‬‬
‫نستخدم القاعدة الخاصة بها وهي ‪ R5‬والتي بدو رها أضافت الحقيقة ‪ H‬وهي‬
‫أيضاً أكثر حداثة من الـ ‪ A‬فنستخدم القاعدة ‪ R6‬ونتابع على هذا المنوال‪...‬‬
‫‪E‬‬ ‫‪F‬‬
‫وبتتبع الخطوات على الرسم (األرقام باللون األزرق) نالحظ كيف أن تطبيق هذه‬ ‫‪X‬‬
‫‪X‬‬
‫االستراتيجية أدى إلى السير على القواعد في العمق‪.‬‬ ‫‪X‬‬
‫‪A‬‬ ‫‪B‬‬ ‫‪C‬‬
‫‪Breadth Strategy‬‬

‫تقوم هذه االستراتيجية ب اعتماد الحقيقة التي أضيفت منذ زمن أبعد إلى ‪ WM‬على الحقائق األحدث‪ ،‬أي (‪breadth-‬‬
‫‪ .)first‬وبتطبيق هذه االستراتيجية على المثال السابق‪:‬‬
‫)‪WM (Working Memory‬‬ ‫)‪CS (Conflict Set‬‬ ‫‪Rule‬‬
‫‪A,B,C,D‬‬ ‫‪R1,R2‬‬ ‫‪R1‬‬
‫‪A,B,C,D,E‬‬ ‫‪R1,R2‬‬ ‫‪R2‬‬
‫‪A,B,C,D,E,F‬‬ ‫‪R1,R2,R3,R5‬‬ ‫‪R3‬‬
‫‪A,B,C,D,E,F,G‬‬ ‫‪R1,R2,R3,R5,R4‬‬ ‫‪R5‬‬
‫‪A,B,C,D,E,F,G,H‬‬ ‫‪R1,R2,R3,R5,R4,R6‬‬ ‫‪R4‬‬
‫‪A,B,C,D,E,F,G,H,X‬‬ ‫‪R1,R2,R3,R5,R4,R6‬‬ ‫‪R6‬‬
‫‪A,B,C,D,E,F,G,H,X,Y‬‬

‫‪/ITE.RBCs‬‬
‫‪4‬‬
‫‪Conflict resolution‬‬

‫في أثناء تطبيق هذه االستراتيجية على هذا المثال تم اعتماد الـ‬
‫‪ refractoriness‬أيضًا باإلضافة الستراتيجية ‪ textual order‬ويبدو ذلك في‬ ‫‪X‬‬
‫الخطوة الثالثة حيث احتوت الـ ‪ CS‬على القاعدتين ‪ R3,R5‬وكال القاعدتين‬
‫‪X‬‬ ‫‪X‬‬ ‫‪X‬‬
‫استخدمتا الحقائق ‪ E,F‬و ‪ F‬على التوالي وكالهما موجود في الـ ‪ WM‬ولذا تم‬
‫اعتماد القاعدة ‪ R3‬بحسب استراتيجية الـ ‪ textual order‬عندها أضيفت‬
‫الحقيقة ‪ G‬أضفنا القاعدة ‪ R4‬للـ ‪ CS‬نالحظ أن الحقائق التي تشكل القاعدة ‪R5‬‬
‫‪X‬‬ ‫‪X‬‬
‫(‪ )F‬هي أقدم من الـ(‪ )G‬في الـ ‪ WM‬لذلك قمنا بتطبيق القاعدة ‪ R5‬ونتابع بنفس‬
‫الطريقة‪.‬‬
‫‪E‬‬ ‫‪F‬‬
‫‪X‬‬
‫‪X‬‬
‫‪X‬‬
‫‪A‬‬ ‫‪B‬‬ ‫‪C‬‬
‫)‪Specificity (complexity‬‬

‫وفي هذه االستراتيجية يتم اعتماد القاعدة التي تحوي حقائق أكثر من األخرى (القواعد الخاصة "وجود أكثر من حقيقة أدى‬
‫لتخصيص القاعدة أكثر" قبل العامة وذلك أنها تستخدم حقائق أكثر) كمثال لتكن لدينا القاعدتان ‪ R1‬و ‪ R2‬حيث‪:‬‬
‫‪(R1) if E1 then H‬‬
‫‪(R2) if E1 and E2 then H‬‬
‫في هذه الحالة سيتم اختيار القاعدة ‪ R2‬وذلك حسب االستراتيجية )‪.Specificity (complexity‬‬
‫‪ more specific rules should be applied earlier because they use more data and so can be‬‬
‫‪used for special cases or exceptions to general rules.‬‬
‫مثال(‪:)2‬‬

‫نالحظ في المثال التالي‪:‬‬

‫)>‪R1: IF <tweety, isa, bird> THEN add(<tweety, can, fly‬‬


‫)>‪R2: IF <tweety, isa, bird> AND <tweety, isa, penguin> THEN add(tweety, cannot, fly‬‬

‫هنا نعلم بأن الطيور قادرة على الطيران إال ولدينا كمثال "البطريق" فهو طائر ولكنه غير قادر على الطيران وبالتالي لو لم‬
‫نستخدم هذه االستراتيجية (التخصيص) لتشكل لدينا حقيقة خاطئة لو اتبعنا القاعدة األولى أما باتجاهنا نحو التخصيص‬
‫واتباعنا القاعدة الثانية توضح لدينا أنه لو كان لدينا طائر و كان هذا الطائر بطريقاً فإنه لن يكون قادراً على الطيران‬
‫عندها‪.‬‬

‫‪/ITE.RBCs‬‬
‫‪5‬‬
‫‪Conflict resolution‬‬

‫وبالعودة للمثال ‪:1‬‬


‫)‪WM (Working Memory‬‬ ‫)‪CS (Conflict Set‬‬ ‫‪Rule‬‬
‫‪A,B,C,D‬‬ ‫‪R1,R2‬‬ ‫‪R2‬‬
‫‪A,B,C,D,F‬‬ ‫‪R1,R2,R5‬‬ ‫‪R1‬‬
‫‪A,B,C,D,F,E‬‬ ‫‪R1,R2,R5,R3‬‬ ‫‪R3‬‬
‫‪A,B,C,D,E,F,G‬‬ ‫‪R1,R2,R5,R3,R4‬‬ ‫‪R4‬‬
‫‪A,B,C,D,E,F,G,X‬‬ ‫‪R1,R2,R5,R3,R4‬‬ ‫‪R5‬‬
‫‪A,B,C,D,E,F,G,X,H‬‬ ‫‪R1,R2,R5,R3,R4,R6‬‬ ‫‪R6‬‬
‫‪A,B,C,D,E,F,G,X,H,Y‬‬

‫عند تطبيق استراتيجية ‪ specificity‬نختار القواعد األكثر خصوصية ونالحظ أن‬ ‫‪X‬‬
‫القاعدة ‪ R2‬أكثر خصوصية من ‪ R1‬فقمنا بتطبيقها نالحظ بعدها أنا سنضطر‬
‫الستخدام استراتيجية أخرى لتحديد أي من ‪ R1‬أو ‪ R5‬سنستخدم واستعملنا‬
‫‪ textual order‬واستخدمنا ‪ R1‬ثم حسب استراتيجية الـ‪ specificity‬استدمنا‬
‫‪ R3‬بد ًال من ‪ R5‬ثم استخدمنا الـ‪ textual order‬لنحدد أي من ‪ R4‬و ‪R5‬‬
‫واستخدمنا ‪ R4‬ونتابع بالخطوات ذاتها‪....‬‬
‫‪F‬‬

‫‪C‬‬
‫‪Simplicity‬‬

‫وهي االستراتيجية التي تعتمد على القواعد األعم (بعكس االستراتيجية السابقة ‪)specificity‬‬
‫وبالعودة للمثال ‪:1‬‬

‫)‪WM (Working Memory‬‬ ‫)‪CS (Conflict Set‬‬ ‫‪Rule‬‬


‫‪A,B,C,D‬‬ ‫‪R1,R2‬‬ ‫‪R1‬‬
‫‪A,B,C,D,E‬‬ ‫‪R1,R2‬‬ ‫‪R2‬‬
‫‪A,B,C,D,E,F‬‬ ‫‪R1,R2,R3,R5‬‬ ‫‪R5‬‬
‫‪A,B,C,D,E,F,H‬‬ ‫‪R1,R2,R3,R5,R6‬‬ ‫‪R6‬‬
‫‪A,B,C,D,E,F,H,Y‬‬ ‫‪R1,R2,R3,R5,R6‬‬ ‫‪R3‬‬
‫‪A,B,C,D,E,F,H,Y,G‬‬ ‫‪R1,R2,R3,R5,R6,R4‬‬ ‫‪R4‬‬
‫‪A,B,C,D,E,F,H,Y,G,X‬‬

‫‪/ITE.RBCs‬‬
‫‪6‬‬
‫‪Conflict resolution‬‬

‫‪R1: IF A THEN E‬‬


‫‪X‬‬ ‫‪Y‬‬
‫‪R2: IF B & C & D THEN F‬‬
‫‪R3: IF E & F THEN G‬‬ ‫‪X‬‬ ‫‪X‬‬ ‫‪X‬‬

‫‪R4: IF G THEN X‬‬ ‫‪G‬‬ ‫‪H‬‬


‫‪R5: IF F THEN H‬‬
‫‪X‬‬ ‫‪X‬‬
‫‪R6: IF H THEN Y‬‬
‫‪E‬‬ ‫‪F‬‬
‫نالحظ منذ البداية اخترنا القاعدة ‪ R1‬ألنها أعم من القاعدة ‪ R2‬ثم بمتابعة الحل‬
‫أيضاً فضلنا استخدام ‪ R5‬على ‪ R3‬ألنها أعم ونتابع بتطبيق القواعد بنفس‬ ‫‪X‬‬
‫‪X‬‬
‫الطريقة‪...‬‬ ‫‪X‬‬
‫‪A‬‬ ‫‪B‬‬ ‫‪C‬‬ ‫‪D‬‬
‫‪LEX‬‬

‫وهي مشتقة من ‪ LEXicographic‬وفي هذه االستراتيجية ترتيب الشروط ضمن القواعد ال يشكل فرقًا في استخدامها‬
‫أي ‪ :‬بفرض لدينا القاعدتان فسيتم التعامل معهما بنفس السوية‪:‬‬

‫‪IF E1 AND E2 THEN H ‬‬


‫‪ treated the same‬‬
‫‪IF E2 AND E1 THEN H ‬‬

‫والـ ‪ LEX‬عبارة دمج لعدة استراتيجيات معاً وبالترتيب التالي‪:‬‬

‫‪ Refraction -1‬إلزالة أي قاعدة تم تطبيقها من قبل (لمنع الحلقات)‪.‬‬


‫‪ -2‬ترتيب القواعد وفقاً لالستراتيجية ‪.recency‬‬
‫‪ -3‬إن امتلكت قاعدتان الـ‪ recency‬ذاته عندها يتم استخدام االستراتيجية ‪.specific‬‬
‫وبالعودة للمثال ‪ 1‬مع تغير في ترتيب القواعد بحيث تصبح‪:‬‬
‫‪X‬‬
‫‪X‬‬ ‫‪X‬‬ ‫‪X‬‬
‫‪R1: IF H THEN Y‬‬
‫‪R2: IF A THEN E‬‬
‫‪R3: IF B & C & D THEN F‬‬
‫‪X‬‬ ‫‪X‬‬
‫‪R4: IF E & F THEN G‬‬
‫‪E‬‬ ‫‪F‬‬ ‫‪R5: IF F THEN H‬‬
‫‪X‬‬
‫‪X‬‬ ‫‪R6: IF G THEN X‬‬
‫‪X‬‬
‫‪A‬‬ ‫‪B‬‬ ‫‪C‬‬

‫‪/ITE.RBCs‬‬
‫‪7‬‬
‫‪Conflict resolution‬‬

‫يكون الجدول كالتالي‪:‬‬

‫)‪WM (Working Memory‬‬ ‫)‪CS (Conflict Set‬‬ ‫‪Rule‬‬


‫‪A,B,C,D‬‬ ‫‪R2,R3‬‬ ‫‪R3‬‬
‫‪A,B,C,D,F‬‬ ‫‪R2,R3,R5‬‬ ‫‪R5‬‬
‫‪A,B,C,D,F,H‬‬ ‫‪R2,R3,R5,R1‬‬ ‫‪R1‬‬
‫‪A,B,C,D,F,H,Y‬‬ ‫‪R2,R3,R5,R1‬‬ ‫‪R2‬‬
‫‪A,B,C,D,F,H,Y,E‬‬ ‫‪R2,R3,R5,R1,R4‬‬ ‫‪R4‬‬
‫‪A,B,C,D,F,H,Y,E,G‬‬ ‫‪R2,R3,R5,R1,R4,R6‬‬ ‫‪R6‬‬
‫‪A,B,C,D,F,H,Y,E,G,X‬‬

‫نبدأ الحل بوضع القاعدتين ‪ R2,R3‬وحسب استراتيجية الـ ‪ recency‬نختار ‪( R3‬الحقائق األحدث في الـ‪ )WM‬ثم تضاف‬
‫القاعدة ‪ R5‬للـ‪ WM‬وحسب أيضًا إستراتيجي الـ‪ recency‬سنختار ‪ R5‬ونتابع بنفس األسلوب مع مراعاة الـ‪refraction‬‬
‫فإن وصلنا لحالة ‪ conflict‬أثناء تطبيق الـ‪ recency‬فحسب االستراتيجية "‪ "LEX‬فإننا نتعامل معه حسب ‪. specific‬‬

‫‪MEA‬‬

‫وهي تعني ‪ MEA: Means-Ends Analysis‬وتعتبر مشابهة لالستراتيجية ‪ LEX‬ولكن تختلف عنها في الخطوة الثانية‬
‫حيث هنا فإن الـ ‪ recency‬تأخذ الحقيقة األولى فقط التي في القاعدة بعين االعتبار وعلى ذلك نقارن بين القواعد على‬
‫أساس الحقائق األولى من كل قاعدة بحيث أن الحقيقة األحدث بالـ ‪ WM‬هي التي سننفذ قاعدتها‪ ،‬أي كمثال في حال لدينا‬
‫القاعدتين التاليتين‪:‬‬
‫‪IF E1 AND E2 THEN H is NOT treated the same as‬‬
‫‪IF E2 AND E1 THEN H‬‬
‫مثال للتوضيح‪:‬‬

‫إن كانت لدينا القاعدتان التاليتان‪:‬‬


‫‪R1: IF A AND H THEN Y‬‬
‫‪R 2 : IF F AND T THEN X‬‬
‫وكانت الحقائق في الـ ‪ WM‬بالترتيب التالي‪ A,F,T,H :‬بحسب استراتيجية الـ‪ LEX‬سيتم اعتماد الـ‪ R1‬بينما حسب‬
‫الـ‪ MEA‬يتم اعتماد ‪( R2‬إن الحقائق األولى في كل من القاعدتين ‪ R1, R2‬هن ‪ A,F‬على التوالي وبما أن ‪ F‬هي أحدث‬
‫من ‪ A‬في الـ ‪ WM‬فلذلك اخترنا ‪ R2‬للتنفيذ)‪.‬‬

‫‪/ITE.RBCs‬‬
‫‪8‬‬
‫‪Conflict resolution‬‬

‫وبالعودة للمثال وبقواعد االستراتيجية السابقة‪:‬‬


‫‪X‬‬
‫‪R1: IF H THEN Y‬‬
‫‪X‬‬ ‫‪X‬‬ ‫‪X‬‬
‫‪R2: IF A THEN E‬‬
‫‪R3: IF B & C & D THEN F‬‬
‫‪X‬‬ ‫‪X‬‬ ‫‪R4: IF E & F THEN G‬‬
‫‪R5: IF F THEN H‬‬
‫‪E‬‬ ‫‪F‬‬
‫‪X‬‬ ‫‪R6: IF G THEN X‬‬
‫‪X‬‬
‫‪X‬‬
‫‪A‬‬ ‫‪B‬‬ ‫‪C‬‬
‫)‪WM (Working Memory‬‬ ‫)‪CS (Conflict Set‬‬ ‫‪Rule‬‬
‫‪A,B,C,D‬‬ ‫‪R2,R3‬‬ ‫‪R3‬‬
‫‪A,B,C,D,F‬‬ ‫‪R2,R3,R5‬‬ ‫‪R5‬‬
‫‪A,B,C,D,F,H‬‬ ‫‪R2,R3,R5,R1‬‬ ‫‪R1‬‬
‫‪A,B,C,D,F,H,Y‬‬ ‫‪R2,R3,R5,R1‬‬ ‫‪R2‬‬
‫‪A,B,C,D,F,H,Y,E‬‬ ‫‪R2,R3,R5,R1,R4‬‬ ‫‪R4‬‬
‫‪A,B,C,D,F,H,Y,E,G‬‬ ‫‪R2,R3,R5,R1,R4,R6‬‬ ‫‪R6‬‬
‫‪A,B,C,D,F,H,Y,E,G,X‬‬
‫نالحظ أن خطوات الحل بقيت ذاتها كما هي ذلك أن االختالف بين الطريقتين يكمن فقط في أن الـ‪ recency‬أصبحت‬
‫تعتمد في خطواتها على أحدث أول حقيقة فقط‪.‬‬

‫)‪Priority (salience‬‬

‫لكل قاعدة في هذه االستراتيجية قيمة تحدد أولوية هذه القاعدة (باالعتماد على فكرة كم من الممكن أن تكون هذه‬
‫ال جيداً بالنسبة لغيرها من القواعد)‪ ،‬فائدة هذه االستراتيجية تكمن في إبراز أهمية كل قاعدة وتأخيرها الستخدام‬
‫القاعدة ح ً‬
‫القواعد التي ال تملك حالً جيدًا (غير مفيدة)‪ ،‬وهي ال تعطي ترتيب للقواعد وإنما فقط تمنحها بعض األهمية لتفضيل‬
‫قواعد على أخرى في ذات المجموعة‪ ،‬فكلما كانت قيمة الـ‪ salience‬موجبة أكثر تعتبر القاعدة ذات أهمية وكلما كانت‬
‫سالبة كانت ذات أهمية أقل وبالتالي يبدو عمل االستراتيجية كـ ‪ stack‬بحيث تكون القواعد ذات الـ ‪ salience‬األكبر في‬
‫أعلى الـ‪ stack‬وتتناقص القيمة نزوالً فلم نعد نعير وقت إضافتها أهمية (أقدم أو أحدث)‪.‬‬

‫في ‪ CLIPS‬إن لم تحدد قيمة ‪ salience‬للقاعدة فإنه افتراضياً تعتبر قيمتها ‪0‬‬

‫‪/ITE.RBCs‬‬
‫‪9‬‬
‫‪Conflict resolution‬‬

‫فلكتابة برنامج يوضح قدرة الطيور على الطيران (كما مر سابقاً) يتم إ عطاء القاعدة التي توضح أن طيور البطريق ال تطير‬
‫قيمة ‪ salience‬أعلى من غيرها من القواعد األكثر عموماً كما يلي‪:‬‬

‫‪(defrule‬‬
‫))‪(bird (type ?x‬‬
‫>=‬
‫) ))‪(assert (flying yes‬‬

‫‪(defrule‬‬
‫))‪(declare (salience 20‬‬
‫))‪(bird (type penguin‬‬
‫>=‬
‫) ))‪(assert (flying no‬‬

‫حيث نالحظ هنا أننا أسندنا ‪ salience‬بقيمة ‪ 20‬للقاعدة التي تدل على أن طيور البطريق ال تطير بينما القاعدة العامة‬
‫فهي ال تملك قيمة ‪ salience‬وبالتالي كأن قيمتها ‪ 0‬وبالتالي فإن القاعدة الثانية ستكون أولوية معالجتها قبل القاعدة‬
‫العامة‪.‬‬
‫مالحظة‪ :‬يوجد في الساليد ‪ KBS_3‬في الساليد رقم "‪ "19‬خطأ بسيط في ترتيب العمليات حيث أن ‪ R4‬يجب أن تنفذ‬
‫رابعاً ومن ثم يتم تنفيذ ‪.R5‬‬

‫إنّ أغلب المهام التي يقوم بها البشر يومياً تملك حيثيات معينة يجب على الشخص تعلمها واإللمام بها ليقوم بالمهمة‬
‫المطلوبة‪ ،‬فمثالً نالحظ أن البقال لديه طريقة أو كما نسميها قواعد في تجهيز المشتريات حيث نجده يضع المثلجات‬
‫في أكياس حافظة للحرارة كما يتجنب وضع اللحومات أو ما شابه مع أشياء من الممكن أن تضر بها كالمنظفات مثالً‬
‫(رائحتها تخرب طعم اللحم)‪.‬‬
‫مثل هذه القواعد يجب أن توضع في النظام الخبير ليستطيع القيام بالمهمة على أكل وجه‪.‬‬

‫لدى نظام ‪ Bagger‬مجموعة من القواعد تتمثل بما يلي‪:‬‬


‫‪ Big bottles of Pepsi go in the bottom, with not too many in any one bag.‬‬
‫يبدأ باألغراض الكبيرة ويضعها في األكياس بعد تقدير حجمها‪.‬‬
‫‪ ice cream is protected with freezer bags.‬‬
‫ثم األغراض المتوسطة مع مراعاة األغراض التي تحتاج للحفاظ على حرارتها (كالمثلجات)‪.‬‬
‫‪ little things are stuffed here and there when everything else is in place.‬‬
‫بقية األشياء الصغيرة توزع على األكياس المفتوحة‪.‬‬
‫نالحظ من القواعد السابقة وجود منهجية تفكير معينة‪ ،‬حيث يجب مراعاة ترتيب المراحل السابقة أثناء العمل‪.‬‬

‫‪/ITE.RBCs‬‬
‫‪10‬‬
‫‪Conflict resolution‬‬

‫يتضمن ‪ Bagger‬أربع خطوات ‪:‬‬


‫‪1. Check what the customer has selected, look to see if something is missing and‬‬
‫‪suggest addition.‬‬
‫تتمثل الخطوة األولى بالعروض التي يقدمها المتجر (مثالً اشترِ قطعتين واحصل على الثالثة مجاناً) حيث ينظر‬
‫إذا كانت المشتريات ناقصة بحسب العرض فيقوم باقتراح االضافات‪.‬‬

‫‪2. Put the large item in the bag, put big bottles first.‬‬
‫تتضمن الخطوة الثانية األغراض الكبيرة وكحالة خاصة ضمنها الزجاجات الكبيرة‪.‬‬
‫‪3. Put in the medium sized items, put frozen food in plastic bags.‬‬
‫األغراض متوسطة الحجم وكحالة خاصة ضمنها وضع الطعام المفرز ضمن حافظات بالستيكية‪.‬‬
‫‪4. Put in the small items wherever there is room.‬‬
‫وضع األغراض الصغيرة في األماكن المتبقية‪.‬‬
‫مما سبق نجد وجوب توافر بعض الخصائص للتعرف على نوع العنصر‪ ،‬هذه الخصائص تتعلق بالوزن والحجم والنوع(‬
‫يندرج تحت المفرزات أو اللحومات أو المنظفات مثالً)‪ ،‬هذه الخصائص أو السمات يجب توافرها مع العنصر لنستطيع‬
‫التعامل معه ضمن النظام‪.‬‬
‫مثال تطبيقي‬
‫لدينا العناصر التالية وخصائصها‪:‬‬

‫وسنحاول محاكاة الطريقة البشرية باستخدام نظام ‪ ،Bagger‬تتضمن الـ‪ Working Memory‬ما يلي‪:‬‬
‫𝑟𝑒𝑑𝑟𝑜 𝑘𝑐𝑒‪𝒔𝒕𝒆𝒑: 𝐶ℎ‬‬
‫> 𝑦𝑡𝑝𝑚𝑒 < ‪𝑩𝒂𝒈𝟏:‬‬
‫‪𝑼𝒏𝒑𝒂𝒄𝒌𝒆𝒅:‬‬
‫𝑖𝑠𝑝𝑒𝑝∎‬
‫𝑑𝑎𝑒𝑟𝐵∎‬
‫𝑝𝑜𝑙𝐺∎‬
‫)‪∎𝐺𝑟𝑎𝑛𝑜𝑙𝑎 (2‬‬
‫𝑚𝑎𝑒𝑟𝑐 𝑒𝑐𝐼∎‬
‫𝑠𝑝𝑖‪∎𝐶ℎ‬‬
‫حيث تحوي على الخطوة الحالية إضافة لوضع األكياس (فارغة ‪ ،‬ممتلئة) واألغراض غير المجهزة بعد‪.‬‬

‫‪/ITE.RBCs‬‬
‫‪11‬‬
‫‪Conflict resolution‬‬

‫‪ ‬الخطوة األولى‪ :‬هي الخطوة المتعلقة بالعروض وتحوي القواعد التالية‪:‬‬

‫‪𝐵1‬‬
‫𝑓𝑖‬ ‫𝑟𝑒𝑑𝑟𝑜 ‪𝑡ℎ𝑒 𝑠𝑡𝑒𝑝 𝑖𝑠 𝑐ℎ𝑒𝑐𝑘 −‬‬
‫𝑑𝑛𝑎‬ ‫𝑠𝑝𝑖‪𝑡ℎ𝑒𝑟𝑒 𝑖𝑠 𝑎 𝑏𝑎𝑔 𝑜𝑓 𝑐ℎ‬‬
‫𝑑𝑛𝑎‬ ‫𝑒𝑙𝑡𝑡𝑜𝑏 𝑘𝑛𝑖𝑟𝑑 ‪𝑡ℎ𝑒𝑟𝑒 𝑖𝑠 𝑛𝑜 𝑠𝑜𝑓𝑡 −‬‬
‫𝑛𝑒‪𝑡ℎ‬‬ ‫𝑟𝑒𝑑𝑟𝑜 𝑒‪𝑎𝑑𝑑 𝑜𝑛𝑒 𝑏𝑜𝑡𝑡𝑙𝑒 𝑜𝑓 𝑠𝑜𝑓𝑡 𝑑𝑟𝑖𝑛𝑘 𝑡𝑜 𝑡ℎ‬‬
‫إذا احتوت المشتريات على مجموعة ‪ chips‬ولم تحتوِ على عصير يقترح النظام عروض العصير الموجودة‪.‬‬

‫‪𝐵2‬‬
‫𝑓𝑖‬ ‫𝑟𝑒𝑑𝑟𝑜 ‪𝑡ℎ𝑒 𝑠𝑡𝑒𝑝 𝑖𝑠 𝑐ℎ𝑒𝑐𝑘 −‬‬
‫𝑛𝑒‪𝑡ℎ‬‬ ‫𝑝𝑒𝑡𝑠 𝑟𝑒𝑑𝑟𝑜 ‪𝑑𝑖𝑠𝑐𝑜𝑛𝑡𝑖𝑛𝑢𝑒 𝑡ℎ𝑒 𝑐ℎ𝑒𝑐𝑘 −‬‬
‫𝑑𝑛𝑎‬ ‫𝑝𝑒𝑡𝑠 𝑠𝑚𝑒𝑡𝑖 ‪𝑠𝑡𝑎𝑟𝑡 𝑡ℎ𝑒 𝑝𝑎𝑐𝑘 − 𝑙𝑎𝑟𝑔𝑒 −‬‬
‫وهي القاعدة العامة‪.‬‬

‫أي من القاعدتين السابقتين يجب اختيارها عند المرور بمرحلة الـ ‪)the step is check( check‬؟؟‬
‫ولكن ّ‬

‫هنا بالطبع سنحتاج إلى تعريف الستراتيجيات الـ ‪ conflict resolution‬التي نريد التعامل معها في هذا النظام‬

‫استراتيجيات الـ ‪:conflict resolution‬‬


‫نالحظ احتمال وجود تضارب بين القواعد أثناء التطبيق فمثالً كال القاعدتين أعاله تبدآن بنفس الشرط‬
‫(‪ ) if the step is check − order‬لذلك نحتاج الستراتيجيات لتحديد القاعدة الواجب تطبيقها ونورد فيما‬
‫يلي بعض من هذه االستراتيجيات‪:‬‬

‫‪ :Textual order‬تكلمنا عنها سابقاً‪ ،‬تتطلب هذه االستراتيجية وضع القواعد الخاصة قبل العامة من‬
‫قبل الخبير ليتم تنفيذها‪.‬‬

‫‪ :)more specific( Maximum specificity‬يتم هنا تطبيق القواعد األكثر تخصيصًا قبل‬
‫القواعد العامة ( تكون القاعدة عامة إذا كانت خالية من التخصيص‪ ،‬أو بعبارة أخرى أننا ضمن مرحلة‬
‫معينة وال يوجد أي ‪ action‬للقيام به أي ال يوجد حالة خاصة محققة فيتوجب علينا االنتقال للمرحلة‬
‫التالية‪ ،‬أي كالقاعدة ‪.)B2‬‬

‫‪ :Context limiting‬تتعلق بالمرحلة الحالية (‪( )Current step‬إذا كنا ضمن مرحلة معينة فطبق‬
‫القاعدة وإال فالقاعدة غير قابلة للتطبيق)‪ ،‬حيث نقوم بحد القاعدة عن طريق مرحلة معينة‪.‬‬

‫‪/ITE.RBCs‬‬
‫‪12‬‬
‫‪Conflict resolution‬‬

‫‪ ‬الخطوة الثانية‪ :‬هي الخطوة المتعلقة بالعناصر الكبيرة وتحوي القواعد التالية‪:‬‬

‫‪𝐵3‬‬
‫𝑓𝑖‬ ‫𝑠𝑚𝑒𝑡𝑖 ‪𝑡ℎ𝑒 𝑠𝑡𝑒𝑝 𝑖𝑠 𝑝𝑎𝑐𝑘 − 𝑙𝑎𝑟𝑔𝑒 −‬‬
‫𝑑𝑛𝑎‬ ‫𝑑𝑒𝑘𝑐𝑎𝑝 𝑒𝑏 𝑜𝑡 𝑚𝑒𝑡𝑖 𝑒𝑔𝑟𝑎𝑙 𝑎 𝑠𝑖 𝑒𝑟𝑒‪𝑡ℎ‬‬
‫𝑑𝑛𝑎‬ ‫𝑑𝑒𝑘𝑐𝑎𝑝 𝑒𝑏 𝑜𝑡 𝑒𝑙𝑡𝑡𝑜𝑏 𝑒𝑔𝑟𝑎𝑙 𝑎 𝑠𝑖 𝑒𝑟𝑒‪𝑡ℎ‬‬
‫𝑑𝑛𝑎‬ ‫𝑚𝑒𝑡𝑖 𝑒𝑔𝑟𝑎𝑙 ‪𝑡ℎ𝑒𝑟𝑒 𝑖𝑠 𝑎 𝑏𝑎𝑔 𝑤𝑖𝑡ℎ < 6‬‬
‫𝑛𝑒‪𝑡ℎ‬‬ ‫𝑔𝑎𝑏 𝑒‪𝑝𝑢𝑡 𝑡ℎ𝑒 𝑏𝑜𝑡𝑡𝑙𝑒 𝑖𝑛𝑡𝑜 𝑡ℎ‬‬

‫إذا كان هناك عناصر كبيرة وكانت هذه العناصر هي زجاجات وكان لها مكان في الكيس نضعها فيه‪ ،‬إذا تحققت فقد‬
‫شمل تحققها كامل الخطوة أي ال ننظر لقواعد أخرى ضمن نفس الخطوة وهذا ما تنص عليه استراتيجية ‪context-‬‬
‫‪.limiting‬‬

‫‪𝐵4‬‬
‫𝑓𝑖‬ ‫𝑠𝑚𝑒𝑡𝑖 ‪𝑡ℎ𝑒 𝑠𝑡𝑒𝑝 𝑖𝑠 𝑝𝑎𝑐𝑘 − 𝑙𝑎𝑟𝑔𝑒 −‬‬
‫𝑑𝑛𝑎‬ ‫𝑑𝑒𝑘𝑐𝑎𝑝 𝑒𝑏 𝑜𝑡 𝑚𝑒𝑡𝑖 𝑒𝑔𝑟𝑎𝑙 𝑎 𝑠𝑖 𝑒𝑟𝑒‪𝑡ℎ‬‬
‫𝑑𝑛𝑎‬ ‫𝑚𝑒𝑡𝑖 𝑒𝑔𝑟𝑎𝑙 ‪𝑡ℎ𝑒𝑟𝑒 𝑖𝑠 𝑎 𝑏𝑎𝑔 𝑤𝑖𝑡ℎ < 6‬‬
‫𝑛𝑒‪𝑡ℎ‬‬ ‫𝑔𝑎𝑏 𝑒‪𝑝𝑢𝑡 𝑡ℎ𝑒 𝑙𝑎𝑟𝑔𝑒 𝑖𝑡𝑒𝑚 𝑖𝑛𝑡𝑜 𝑡ℎ‬‬
‫تنص على أنه إذا كان هناك عناصر كبيرة وكان لها مكان في الكيس نضعها (نالحظ أنها أقل تخصيصا من سابقتها)‪.‬‬

‫إن وجود القاعدة الثالثة ‪ B3‬ضمن لنا الترتيب في وضع العبوات الكبيرة أو ًال‬

‫‪𝐵5‬‬
‫𝑓𝑖‬ ‫𝑠𝑚𝑒𝑡𝑖 ‪𝑡ℎ𝑒 𝑠𝑡𝑒𝑝 𝑖𝑠 𝑝𝑎𝑐𝑘 − 𝑙𝑎𝑟𝑔𝑒 −‬‬
‫𝑑𝑛𝑎‬ ‫𝑑𝑒𝑘𝑐𝑎𝑝 𝑒𝑏 𝑜𝑡 𝑚𝑒𝑡𝑖 𝑒𝑔𝑟𝑎𝑙 𝑎 𝑠𝑖 𝑒𝑟𝑒‪𝑡ℎ‬‬
‫𝑛𝑒‪𝑡ℎ‬‬ ‫𝑔𝑎𝑏 𝑤𝑒𝑛 𝑎 𝑡𝑒𝑔‬
‫إذا كان هناك عناصر كبيرة ولم يكن لها مكان نفتح كيس جديد‪.‬‬

‫‪𝐵6‬‬
‫𝑓𝑖‬ ‫𝑠𝑚𝑒𝑡𝑖 ‪𝑡ℎ𝑒 𝑠𝑡𝑒𝑝 𝑖𝑠 𝑏𝑎𝑔 − 𝑙𝑎𝑟𝑔𝑒 −‬‬
‫𝑛𝑒‪𝑡ℎ‬‬ ‫𝑝𝑒𝑡𝑠 𝑠𝑚𝑒𝑡𝑖 ‪𝑑𝑖𝑠𝑐𝑜𝑛𝑡𝑖𝑛𝑢𝑒 𝑡ℎ𝑒 𝑏𝑎𝑔 − 𝑙𝑎𝑟𝑔𝑒 −‬‬
‫𝑑𝑛𝑎‬ ‫𝑝𝑒𝑡𝑠 𝑠𝑚𝑒𝑡𝑖 ‪𝑠𝑡𝑎𝑟𝑡 𝑡ℎ𝑒 𝑏𝑎𝑔 − 𝑚𝑒𝑑𝑖𝑢𝑚 −‬‬
‫وهي القاعدة العامة التي ننتقل من خاللها إلى مرحلة جديدة‪.‬‬

‫تصبح الـ ‪ WM‬في هذه الحالة‪:‬‬

‫𝑠𝑚𝑒𝑡𝑖 ‪𝒔𝒕𝒆𝒑: 𝑝𝑎𝑐𝑘 − 𝑚𝑒𝑑𝑖𝑢𝑚 −‬‬


‫)‪𝑩𝒂𝒈𝟏: 𝑝𝑒𝑝𝑠𝑖 , 𝐺𝑟𝑎𝑛𝑜𝑙𝑎 (2‬‬

‫‪/ITE.RBCs‬‬
‫‪13‬‬
‫‪Conflict resolution‬‬

‫‪𝑼𝒏𝒑𝒂𝒄𝒌𝒆𝒅:‬‬
‫𝑑𝑎𝑒𝑟𝐵∎‬
‫𝑝𝑜𝑙𝐺∎‬
‫𝑚𝑎𝑒𝑟𝑐 𝑒𝑐𝐼∎‬
‫𝑠𝑝𝑖‪∎𝐶ℎ‬‬
‫‪ ‬الخطوة الثالثة‪ :‬هي الخطوة المتعلقة بالعناصر المتوسطة وتحوي القواعد التالية‪:‬‬

‫‪𝐵7‬‬
‫𝑓𝑖‬ ‫𝑠𝑚𝑒𝑡𝑖 ‪𝑡ℎ𝑒 𝑠𝑡𝑒𝑝 𝑖𝑠 𝑝𝑎𝑐𝑘 − 𝑚𝑒𝑑𝑖𝑢𝑚 −‬‬
‫𝑑𝑛𝑎‬ ‫𝑑𝑒𝑘𝑐𝑎𝑝 𝑒𝑏 𝑜𝑡 𝑚𝑒𝑡𝑖 𝑚𝑢𝑖𝑑𝑒𝑚 𝑎 𝑠𝑖 𝑒𝑟𝑒‪𝑡ℎ‬‬
‫𝑑𝑛𝑎‬ ‫𝑠𝑚𝑒𝑡𝑖 𝑚𝑢𝑖𝑑𝑒𝑚 ‪𝑡ℎ𝑒𝑟𝑒 𝑖𝑠 𝑎𝑛 𝑒𝑚𝑝𝑡𝑦 𝑏𝑎𝑔 𝑜𝑟 𝑎 𝑏𝑎𝑔 𝑤𝑖𝑡ℎ‬‬
‫𝑑𝑛𝑎‬ ‫𝑡𝑒𝑦 𝑙𝑙𝑢𝑓 𝑡𝑜𝑛 𝑠𝑖 𝑔𝑎𝑏 𝑒‪𝑡ℎ‬‬
‫𝑑𝑛𝑎‬ ‫𝑛𝑒𝑧𝑜𝑟𝑓 𝑠𝑖 𝑚𝑒𝑡𝑖 𝑚𝑢𝑖𝑑𝑒𝑚 𝑒‪𝑡ℎ‬‬
‫𝑑𝑛𝑎‬ ‫𝑔𝑎𝑏 𝑟𝑒𝑧𝑒𝑒𝑟𝑓 𝑎 𝑛𝑖 𝑡𝑜𝑛 𝑠𝑖 𝑚𝑒𝑡𝑖 𝑚𝑢𝑖𝑑𝑒𝑚 𝑒‪𝑡ℎ‬‬
‫𝑛𝑒‪𝑡ℎ‬‬ ‫𝑔𝑎𝑏 𝑟𝑒𝑧𝑒𝑒𝑟𝑓 𝑎 𝑛𝑖 𝑚𝑒𝑡𝑖 𝑚𝑢𝑖𝑑𝑒𝑚 𝑒‪𝑝𝑢𝑡 𝑡ℎ‬‬
‫وتأخذ بعين االعتبار العناصر المفرزة حيث تقوم بوضعها في حافظة خاصة إذا لم تكن موضوعة‪.‬‬

‫‪𝐵8‬‬
‫𝑓𝑖‬ ‫𝑠𝑚𝑒𝑡𝑖 ‪𝑡ℎ𝑒 𝑠𝑡𝑒𝑝 𝑖𝑠 𝑝𝑎𝑐𝑘 − 𝑚𝑒𝑑𝑖𝑢𝑚 −‬‬
‫𝑑𝑛𝑎‬ ‫𝑑𝑒𝑘𝑐𝑎𝑝 𝑒𝑏 𝑜𝑡 𝑚𝑒𝑡𝑖 𝑚𝑢𝑖𝑑𝑒𝑚 𝑎 𝑠𝑖 𝑒𝑟𝑒‪𝑡ℎ‬‬
‫𝑑𝑛𝑎‬ ‫𝑠𝑚𝑒𝑡𝑖 𝑚𝑢𝑖𝑑𝑒𝑚 ‪𝑡ℎ𝑒𝑟𝑒 𝑖𝑠 𝑎𝑛 𝑒𝑚𝑝𝑡𝑦 𝑏𝑎𝑔 𝑜𝑟 𝑎 𝑏𝑎𝑔 𝑤𝑖𝑡ℎ‬‬
‫𝑑𝑛𝑎‬ ‫𝑡𝑒𝑦 𝑙𝑙𝑢𝑓 𝑡𝑜𝑛 𝑠𝑖 𝑔𝑎𝑏 𝑒‪𝑡ℎ‬‬
‫𝑛𝑒‪𝑡ℎ‬‬ ‫𝑔𝑎𝑏 𝑒‪𝑝𝑢𝑡 𝑡ℎ𝑒 𝑚𝑒𝑑𝑖𝑢𝑚 𝑖𝑡𝑒𝑚 𝑖𝑛 𝑡ℎ‬‬
‫وهي أعم من القاعدة السابقة حيث نقوم بوضع العنصر في الكيس إذا كان هناك مكان‪.‬‬

‫‪𝐵9‬‬
‫𝑓𝑖‬ ‫𝑠𝑚𝑒𝑡𝑖 ‪𝑡ℎ𝑒 𝑠𝑡𝑒𝑝 𝑖𝑠 𝑝𝑎𝑐𝑘 − 𝑚𝑒𝑑𝑖𝑢𝑚 −‬‬
‫𝑑𝑛𝑎‬ ‫𝑑𝑒𝑘𝑐𝑎𝑝 𝑒𝑏 𝑜𝑡 𝑚𝑒𝑡𝑖 𝑚𝑢𝑖𝑑𝑒𝑚 𝑎 𝑠𝑖 𝑒𝑟𝑒‪𝑡ℎ‬‬
‫𝑛𝑒‪𝑡ℎ‬‬ ‫𝑔𝑎𝑏 𝑤𝑒𝑛 𝑎 𝑡𝑒𝑔‬
‫تأخذ بعين االعتبار وجود أغراض أخرى وعدم وجود مكان لها نقوم بفتح كيس جديد‪.‬‬
‫‪𝐵10‬‬
‫𝑓𝑖‬ ‫𝑠𝑚𝑒𝑡𝑖 ‪𝑡ℎ𝑒 𝑠𝑡𝑒𝑝 𝑖𝑠 𝑝𝑎𝑐𝑘 − 𝑚𝑒𝑑𝑖𝑢𝑚 −‬‬
‫𝑛𝑒‪𝑡ℎ‬‬ ‫𝑝𝑒𝑡𝑠 𝑠𝑚𝑒𝑡𝑖 ‪𝑑𝑖𝑠𝑐𝑜𝑛𝑡𝑖𝑛𝑢𝑒 𝑡ℎ𝑒 𝑝𝑎𝑐𝑘 − 𝑚𝑒𝑑𝑖𝑢𝑚 −‬‬
‫𝑑𝑛𝑎‬ ‫𝑝𝑒𝑡𝑠 𝑠𝑚𝑒𝑡𝑖 ‪𝑠𝑡𝑎𝑟𝑡 𝑡ℎ𝑒 𝑝𝑎𝑐𝑘 − 𝑠𝑚𝑎𝑙𝑙 −‬‬
‫وهي القاعدة العامة‪.‬‬

‫‪/ITE.RBCs‬‬
‫‪14‬‬
‫‪Conflict resolution‬‬

‫مالحظة‬
‫إن القاعدة التاسعة اليمكن أن تتنفذ قبل الثامنة وذلك بسبة سياسة التخصيص التي اعتمدناها كاستراتيجية من‬
‫استراتيجيات الـ ‪( conflict resolution‬طبعاً إال في حالة عدم تحقق القاعدة الثامنة)‬

‫𝑠𝑚𝑒𝑡𝑖 ‪𝒔𝒕𝒆𝒑: 𝑝𝑎𝑐𝑘 − 𝑠𝑚𝑎𝑙𝑙 −‬‬ ‫تصبح الـ‪ WM‬في هذه الحالة‪:‬‬
‫)‪𝑩𝒂𝒈𝟏: 𝑃𝑒𝑝𝑠𝑖 , 𝐺𝑟𝑎𝑛𝑜𝑙𝑎 (2‬‬
‫𝑠𝑝𝑖‪𝑩𝒂𝒈𝟐: 𝐵𝑟𝑒𝑎𝑑 , 𝐼𝑐𝑒 𝑐𝑟𝑒𝑎𝑚(𝑖𝑛 𝑓𝑟𝑒𝑒𝑧𝑒𝑟 𝑏𝑎𝑔) , 𝐶ℎ‬‬
‫𝑝𝑜𝑙𝐺∎ ‪𝑼𝒏𝒑𝒂𝒄𝒌𝒆𝒅:‬‬

‫‪ ‬الخطوة الثالثة‪ :‬هي الخطوة المتعلقة بالعناصر الصغيرة وتحوي القواعد التالية‪:‬‬
‫‪𝐵11‬‬
‫𝑓𝑖‬ ‫𝑠𝑚𝑒𝑡𝑖 ‪𝑡ℎ𝑒 𝑠𝑡𝑒𝑝 𝑖𝑠 𝑝𝑎𝑐𝑘 − 𝑠𝑚𝑎𝑙𝑙 −‬‬
‫𝑑𝑛𝑎‬ ‫𝑑𝑒𝑘𝑐𝑎𝑝 𝑒𝑏 𝑜𝑡 𝑚𝑒𝑡𝑖 𝑙𝑙𝑎𝑚𝑠 𝑎 𝑠𝑖 𝑒𝑟𝑒‪𝑡ℎ‬‬
‫𝑑𝑛𝑎‬ ‫𝑡𝑒𝑦 𝑙𝑙𝑢𝑓 𝑡𝑜𝑛 𝑠𝑖 𝑔𝑎𝑏 𝑒‪𝑡ℎ‬‬
‫𝑑𝑛𝑎‬ ‫𝑠𝑒𝑙𝑡𝑡𝑜𝑏 𝑛𝑖𝑎𝑡𝑛𝑜𝑐 𝑡𝑜𝑛 𝑠𝑒𝑜𝑑 𝑔𝑎𝑏 𝑒‪𝑡ℎ‬‬
‫𝑔𝑎𝑏 𝑒‪𝑡ℎ𝑒𝑛 𝑝𝑢𝑡 𝑡ℎ𝑒 𝑠𝑚𝑎𝑙𝑙 𝑖𝑡𝑒𝑚 𝑖𝑛 𝑡ℎ‬‬
‫تأخذ بعين االعتبار عدم تعارض وجود أماكن فارغة مع وجود زجاجات (أي عناصر صغيرة)‪ ،‬بحيث ال نضع األشياء الصغيرة‬
‫أو الخفيفة مع العناصر الثقيلة(حتى ال تتضرر)‪.‬‬
‫‪𝐵12‬‬
‫𝑓𝑖‬ ‫𝑠𝑚𝑒𝑡𝑖 ‪𝑡ℎ𝑒 𝑠𝑡𝑒𝑝 𝑖𝑠 𝑝𝑎𝑐𝑘 − 𝑠𝑚𝑎𝑙𝑙 −‬‬
‫𝑑𝑛𝑎‬ ‫𝑑𝑒𝑘𝑐𝑎𝑝 𝑒𝑏 𝑜𝑡 𝑚𝑒𝑡𝑖 𝑙𝑙𝑎𝑚𝑠 𝑎 𝑠𝑖 𝑒𝑟𝑒‪𝑡ℎ‬‬
‫𝑑𝑛𝑎‬ ‫𝑡𝑒𝑦 𝑙𝑙𝑢𝑓 𝑡𝑜𝑛 𝑠𝑖 𝑔𝑎𝑏 𝑒‪𝑡ℎ‬‬
‫𝑔𝑎𝑏 𝑒‪𝑡ℎ𝑒𝑛 𝑝𝑢𝑡 𝑡ℎ𝑒 𝑠𝑚𝑎𝑙𝑙 𝑖𝑡𝑒𝑚 𝑖𝑛 𝑡ℎ‬‬
‫أعم من سابقتها حيث نضع العناصر الخفيفة بمجرد تواجد مكان فارغ‪.‬‬
‫‪𝐵13‬‬
‫𝑓𝑖‬ ‫𝑠𝑚𝑒𝑡𝑖 ‪𝑡ℎ𝑒 𝑠𝑡𝑒𝑝 𝑖𝑠 𝑝𝑎𝑐𝑘 − 𝑠𝑚𝑎𝑙𝑙 −‬‬
‫𝑑𝑛𝑎‬ ‫𝑑𝑒𝑘𝑐𝑎𝑝 𝑒𝑏 𝑜𝑡 𝑚𝑒𝑡𝑖 𝑙𝑙𝑎𝑚𝑠 𝑎 𝑠𝑖 𝑒𝑟𝑒‪𝑡ℎ‬‬
‫𝑔𝑎𝑏 𝑤𝑒𝑛 𝑎 𝑡𝑒𝑔 𝑛𝑒‪𝑡ℎ‬‬
‫تأخذ بعين االعتبار وجود أغراض أخرى وعدم وجود مكان لها فنقوم بفتح كيس جديد‪.‬‬
‫‪𝐵14‬‬
‫𝑓𝑖‬ ‫𝑠𝑚𝑒𝑡𝑖 ‪𝑡ℎ𝑒 𝑠𝑡𝑒𝑝 𝑖𝑠 𝑝𝑎𝑐𝑘 − 𝑠𝑚𝑎𝑙𝑙 −‬‬
‫𝑝𝑒𝑡𝑠 𝑠𝑚𝑒𝑡𝑖 ‪𝑡ℎ𝑒𝑛 𝑑𝑖𝑠𝑐𝑜𝑛𝑡𝑖𝑛𝑢𝑒 𝑡ℎ𝑒 𝑝𝑎𝑐𝑘 − 𝑠𝑚𝑎𝑙𝑙 −‬‬
‫𝑑𝑛𝑎‬ ‫𝑝𝑜𝑡𝑠‬ ‫وهي الحالة العامة‪.‬‬
‫تصبح الـ ‪ WM‬في هذه الحالة‪:‬‬

‫𝑠𝑚𝑒𝑡𝑖 ‪𝒔𝒕𝒆𝒑: 𝑝𝑎𝑐𝑘 − 𝑠𝑚𝑎𝑙𝑙 −‬‬


‫)‪𝑩𝒂𝒈𝟏: 𝑃𝑒𝑝𝑠𝑖 , 𝐺𝑟𝑎𝑛𝑜𝑙𝑎 (2‬‬
‫𝑝𝑜𝑙𝐺 ‪𝑩𝒂𝒈𝟐: 𝐵𝑟𝑒𝑎𝑑 , 𝐼𝑐𝑒 𝑐𝑟𝑒𝑎𝑚(𝑖𝑛 𝑓𝑟𝑒𝑒𝑧𝑒𝑟 𝑏𝑎𝑔) , 𝐶ℎ𝑖𝑝𝑠,‬‬
‫‪𝑼𝒏𝒑𝒂𝒄𝒌𝒆𝒅:‬‬

‫‪/ITE.RBCs‬‬
‫‪15‬‬

You might also like