ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا...

53
اﻟﺒﺤﺚ ﻣﻌﻀﻼت اﻟﺒﺤﺚ ﺧﻮارزﻣﻴﺎت’’ اﻟﻌﻤﻴﺎء’’ د. أﺣﻤﺪ ﺳـــﻜﺎف2007 - 2008

Upload: others

Post on 07-Jan-2020

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

معضالت البحث ’’ العمياء’’خوارزميات البحث

ســـكاف أحمد . د

2007-2008

Page 2: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

إجابات عن أسئلة سابقة

صياغة المعضلة

states spaceفضاء الحاالت

initial stateالبدئية الحالة

successor’’الالحق’’تابع function

goal test الحلإختبار

pathالتكلفة cost

وصف

(3,3,1)

o_m,o_c,t_m,t_c,o_m_o_c:اإلجراء

(0,0,0)إما : المطلوب ماهو

number: آم السعر of crossings

+

(X,Y,Z): الحالة

527

صياغة المعضلة

states spaceفضاء الحاالت

initial stateالبدئية الحالة

successor’’الالحق’’تابع function

goal test الحلإختبار

pathالتكلفة cost

وصف

(L,C,H,B)

n, L, C, H:اإلجراء

(0,0,0,0): المطلوب ماهو

number: آم السعر of crossings

+

(X,Y,Z,E): الحالة و الملفوفC والخروف Lالفالح و الذئب : مسالة

واآلي لحوم Mالمبشرين : مسالة

o:onet:two

n; nothing

Cالبشر

Page 3: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

[L,C,H,B]

n

[L,C,H,0] [L,0,H,0]

L

[0,C,H,0]

C

[L,C,0,0]

H

[L,C,H,B]

n

[L,C,H,B][L,0,H,B]

n L

n L H

[L,0,H,0] [0,0,H,0] [L,0,0,0]n

L

[L,0,H,B]nL H

[L,0,0,0] [L,C,0,B] [0,C,0,0] [0,C,0,B] [0,0,0,0]

[L,C,0,B] [0,0,0,0]

Page 4: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

[3,3,1]O-m

[3,2,0]

O-ct-m

[3,1,0]

t-Co-m-o-c

[2,2,0]

Page 5: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا
Page 6: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

فضاء حاالت المعضلة • معايير تقييم طرائق البحث • طرائق البحث العمياء •

البحث بالعرض • البحث بالسعر الموحد • البحث بالعمق • البحث بالعمق المنتهي • البحث بالتعمق التكراري • البحث باالتجاهين •

مقارنة طرائق البحث العمياء •

•Breadth-first search •Uniform-cost search •Depth-first search •Depth-limited search •Iterative deepening search•Bidirectional search

المفردات

Page 7: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

معضلة البحث

تمثيل المعضلة بشجرة معضلة ما

:معايير تقييم طرائق البحث ) إذا آان يوجد حل (هل طريقة البحث المتبعة تضمن الوصول إلى حل : التمامية •)إذا آان يوجد اآثر من حل (هل طريقة البحث المتبعة تؤدي للوصول ألحسن حل : المثالية •آم عقدة يتوجب سبرها للوصول للحل : التعقيد الزمني • عدد العقد اإلجمالي التي يجب تذآرها للوصول للحل ماهو : التعقيد المكاني •

: بـ التعقيد الزماني و المكاني يتعلق • b = للعقد التالية لعقدة ما األعظمي العدد اإلجمالي = معامل التفرع لشجرة البحث • d = عمق ما في شجرة البحث حيث يوجد أحسن حل• m = لفضاء البحث في شجرة البحث األعظمي العمق

Page 8: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

1. Completeness: does it always find a solution if one exists?2. Optimality: does it always find a least- cost solution?3. Time complexity: number of nodes generated4. Space complexity: maximum number of nodes in memory

Time and space complexity are measured in terms of b: maximum branching factor of the search treed: depth of the least-cost solutionm : maximum depth of the state space

معايير تقييم طرائق البحث

Page 9: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

الخوارزمية العامة للبحث

ما يسمى –مستكشفة استكشاف فضاء حالة المعضلة وذلك بإيجاد الحاالت التالية للحاالت ال : الفكرة األساسية هي .الحاالت’’ توسيع’’

Function Tree_search(problem) return Solution or failureL_nodes = Make_Node(initial_state[problem])Loop do If L_nodes=empty then return failurenode=Remove_Front(L_node)If state[node]=solution then return solution[node]L_nodes=insert_all(Expand(node,operator[problem]),L_nodes)

L_nodes

12

شجرة بحث-1

Page 10: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

بحثغراف -2

Function graph_search(problem) return Solution or failureClosed_node=emptyL_nodes = Make_Node(initial_state[problem])Loop do If L_nodes=empty then return failurenode=Remove_Front(L_nodes)If state[node]=solution then return solution[node]If state[node] Closed_Node thenClosed_Node=Closed_Node+state[node]L_nodes=insert_all(Expand(node,operator[problem]),L_nodes)

Page 11: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

البدئية الحالة : مثال

A إستكشافبعد

S إستكشافبعد

Page 12: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

:إن عملية البحث ترتكز على العناصر التالية شجرة البحث • البحث عن عقدة • التوسع من أجل عقدة ما •

تحديد العقدة التالية الواجب استكشافها في آل مرحلة من عملية البحث : إستراتيجية البحث

العقدةو الحالة الحالة هى تمثيل لكينونة فيزيائية

: التالية ) الوسطاء (ممثلة بشجرة البحث، العقدة تملك الحقول ) معطيات (العقدة هى عنصر من هيكلية معلوماتية )هؤالء الوسطاء غير موجودين من أجل حالة (، عمق، آلفة طريق ) الحق(، ولد )سابق( حالة، أب •

children

المفهوم االساسي للبحث

node(state,action,cost).

node(state,parent,child,depth,price).

)الحق(العملية cost

Page 13: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

مثال node([8,2,0,3,4,7,5,1,6],start,0)

node([8,0,2,3,4,7,5,1,6],L,1)

node([8,4,2,3,0,7,5,1,6],D,2)

Page 14: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

: صف االنتظار :’’ صف االنتظار ’’تسمى إلدارة عقد شجرة البحث نعتمد بصورة رئيسية على هيكلية معطيات خاصة

. يضم عقد شجرة البحث •:صف االنتظار بالشكل التالي ) implementation( يبرمج •

يضيف عقدة إلى صف االنتظار INSERT(Noed, L_nodes) تابع •يستخرج العقدة التي تحتل المكان األول في Remove_front(L_nodes) تابع •

صف االنتظار تنظيم ترتيب العقد في صف االنتظار يحدد إستراتيجية البحث •

ع في العقد تتمايز طرائق البحث عن بعضها البعض بالترتيب الذي بموجبه يتم التوس

Page 15: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

مبدأ البحث عن حل : البحث في فضاء الحاالت تمثيل المعضلة بشكل ترميزي •)تحديد فضاء الحاالت (المرمزة إيجاد العالقة بين مختلف الحاالت • البحث عن الحل في هذا الفضاء •

I1 I2

R1

R2

12

3 4

5 6 7

تمثيل الحالة وماذا نضع في الحالة؟ هوالسؤال الرئيس :اوال الجواب على هذا السؤال يتعلق بالمعضلة المراد حلها ،

بشكل عام تعريف الحالة يجب ان يعكس الفرق بين وضعيين مختلفين )إدخال آل المواصفات المميزة للمعضلة ( للمعضلة

) نقطة االنطالق، الموقع الراهن، الجسور المستخدمة (حالة state_1(R1,I1,{2})

state_2(R1,I2,{2,1})

مثال: المعضلة أهمية صياغة

:بين الحاالت ) الالحق (السؤال الرئيس الثاني هو تحديد العالقة : ثانيا بتحديد آل الحاالت التي تتبع حالة ما : عالقة توسعية

state_1(R1,I1,{2}) state_2(R1,I2,{2,1})مواصفات ما لتحديد الالحق لحالة ما : عالقة تعريفية

(X,Y2,Z2) succeeds (X,Y1,Z1)باإلجابة عن السؤال الثاني نكون قد حددنا فضاء الحاالت

Page 16: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

({},X,X)هنا إذا انطلقنا من (ة الهدف البحث في فضاء الحاالت سيستكشف آل الفضاء بحثا عن حالة توافق الحال )(X,X,{1,2,3,4,5,6,7})فالحل يكون

Page 17: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

مثال تعليمي

4L 3Lنريد الحصول ، ليتر 4 أو 3 يمكن ان يحويا آمية فارغين وعائيين : وصف المعضلة

سكب وعاء ، ملئ وعاء ، إفراغ وعاء : بـ فقط من أجل ذلك يمكن ان اقوم ليتران على .في االخر

:صياغة المعضلة

؟ آيف أمثل الحالة

صياغة المعضلة

states spaceفضاء الحاالت

initial stateالبدئية الحالة

successor’’الالحق’’تابع function

goal test الحلإختبار

pathالتكلفة cost

وصف

(0,0)

empty, fill, pour:اإلجراء

(0,2)أو (2,0)إما : المطلوب ماهو

لكل إجراء 1: آم السعر

+

(X,Y)

Page 18: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

(0,0)

(4,0)

(4,3)

(1,3)

(0,3)

Fill Grand/Small FG FSPour PEmply Grand/small EG, ESEmpty and fill E-F or F-E

F-EG

F-ES

F-ES

P

(3,0)

FG

EG

(1,0)

EG

P

F-EG

E-FS

(0,1)

P

FG

(4,1)

F-EG

FS

ES

(2,3) P

ES

FS

P

FG

(2,0)E-FS

EG

(0,2)E-FG EGES

(3,3)F-ES

(4,2)

P

ES

EG

FG

FS

EG

FG

FS

فضاء الحاالت لمعضلة الوعائيين

Page 19: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

(0,0)

(4,0)

(4,3)

(1,3)

(0,3)

Fill Grand/Small FG FSPour PEmply Grand/small EG, ESEmpty and fill E-F or F-E

F-EG

F-ES

F-ES

P

(3,0)

FG

EG

(1,0)

EG

P

F-EG

E-FS

(0,1)

P

FG

(4,1)

F-EG

FS

ES

(2,3) P

ES

FS

P

FG

(2,0)E-FS

EG

(0,2)E-FG EGES

(3,3)F-ES

(4,2)

P

ES

EG

FG

FS

EG

FG

FS

حل سيئ: فضاء الحاالت للمعضلة الوعائيين

Page 20: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

(0,0)

(4,0)

(4,3)

(1,3)

(0,3)

Fill Grand/Small FG FSPour PEmply Grand/small EG, ESEmpty and fill E-F or F-E

F-EG

F-ES

F-ES

P

(3,0)

FG

EG

(1,0)

EG

P

F-EG

E-FS

(0,1)

P

FG

(4,1)

F-EG

FS

ES

(2,3) P

ES

FS

P

FG

(2,0)E-FS

EG

(0,2)E-FG EGES

(3,3)F-ES

(4,2)

P

ES

EG

FG

FS

EG

FG

FS

حل جيد : فضاء الحاالت للمعضلة الوعائيين

Page 21: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

state(node(State,_,_),State).action(node(_,Action,_),Action).cost(node(_,_,Cost),Cost).

initial_node(node([0,0],start,0)).

solution([2,_]).solution([_,2]).

صياغة المعضلة

states spaceفضاء الحاالت

initial stateالبدئية الحالة

successor’’الالحق’’تابع function

goal test الحلإختبار

pathالتكلفة cost

وصف

(0,0)

empty, fill, pourاإلجراء

(0,2)أو (2,0) المطلوب إما ماهو

لكل إجراء 1آم السعر

+

لبرولوغترجمة

Page 22: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

next(node([X,Y],_,Cost),node([0,Y],empty(grand),NewCost)):-X > 0,NewCost is Cost + 1.

next(node([X,Y],_,Cost),node([X,0],empty(small),NewCost)):-Y > 0,NewCost is Cost + 1.

next(node([X,Y],_,Cost),node([4,Y],fill(grand),NewCost)):-X < 4,NewCost is Cost + 1.

next(node([X,Y],_,Cost),node([X,3],fill(small),NewCost)):-Y < 3,NewCost is Cost + 1.

next(node([X,Y],_,Cost),node([X1,3],pour(grand,small),NewCost)):-Y < 3,

X >= 3 - Y,X1 is X - (3 - Y),NewCost is Cost + 1.

next(node([X,Y],_,Cost),node([0,Y1],pour(grand,small),NewCost)):-Y < 3,

X < 3 - Y,Y1 is X + Y,NewCost is Cost + 1.

next(node([X,Y],_,Cost),node([4,Y1],pour(small,grand),NewCost)):-X < 4,Y >= 4 - X,Y1 is Y - (4 - X),NewCost is Cost + 1.

next(node([X,Y],_,Cost),node([X1,0],pour(small,grand),NewCost)):-X < 4,

Y < 4 - X,X1 is X + Y,NewCost is Cost + 1.

(1,3)

P

EG

(1,0)

E-FS

(0,1)

P

FG

(4,1)

F-EG

FS

ES

(2,3) P

ES

FS

EG

EG

لتحديد فضاء الحاالت nextتعريف معلن

Page 23: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

search:-initial_node(Node),solve([[Node]],[],Sol),reverse(Sol,Solution),show(Solution).

solve([Path|_],_,Path):-node(Path,Node),state(Node,State),solution(State).

solve([Path|Open],Closed,Solution):-node(Path,Node),state(Node,State),\+ member(State,Closed),!,expand(Path,NewStates),insert_all(NewStates,Open,NewOpen),solve(NewOpen,[State|Closed],Solution).

solve([_|Open],Closed,Solution):-solve(Open,Closed,Solution).

expand(Path,NewPaths):- node(Path,Node), findall([NewNode|Path],next(Node,NewNode),NewPaths).

node([Node|_],Node).

العقدة الراهنة هي الحل

اإلستراتيجية

state(node(State,_,_),State).

العقدة الراهنة لم تتم زيارتها أبدا

)نتجاوز العقدة الراهنة لألنه تمت زيارتها سابقا

Page 24: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

ini_node solveSolve 1

sol

Solve 2

expand11

ini_node

12

ini_node

21

11

ini_node

13

ini_node …………..

22

11

ini_node

2X

12

ini_node

2(X+1)

12

ini_node…… ……

.

.

.

.

.

.

.

.

.

.

.

.

IN

out

آيفية ترتيب العقد في هذا الجدول يحدد

إستراتيجية البحث

Page 25: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

show([ ]):-nl.

show([Node|Rest]):-state(Node,S),action(Node,A),cost(Node,F),write(S),write(' '),write(A),write(' '),write(F),write(' '),nl,show(Rest).

Outputs print(term), write(term):البرولوغ مخارج

Page 26: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

و إستراتيجيات البحث الحدسي ’ ’ األعمى ’’إستراتيجيات البحث

ى N2 و N1: ال تستثمر المعلومات الموجودة في عقدة ما، مثال : اإلستراتيجيات العمياء دتان عل ثالن عق يم. عمق ما

ية تراتيجيات الحدس ا : اإلس د اتجاه ل تحدي ن أج ا م دة م ي عق ودة ف ات الموج ض المعلوم ستثمر بع تدد (N1 عقدة أآثر قربا من الحل من N2، مثال ) العقدة األآثر افتراضا انها تؤدي للحل (الستكشاف بالنظر لع

) . المربعات الموجودة في المكان الخطأ

حالة

حالة

هدف

Page 27: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

Uninformed search strategies اإلستراتيجيات العمياء

: البحث بالعرض •: البحث بالعمق •

العمق منتهي • التعمق المتكرر •

البحث بالكلفة الموحدة •باالتجاهين البحث •

ε<0= > )اإلجراء(تابع = آلفة المرحلة

1= آلفة المرحلة

Uninformed search strategies use only the information available in the problem definition

• Breadth-first search • Uniform-cost search • Depth-first search • Depth-limited search • Iterative deepening search• Bidirectional search

Page 28: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

: Breadth-first search خوارزمية البحث بالعرض)استكشاف العقدة األولى من اليسار الغير مستكشفة (الوصول للعقدة األقل عمقا : اإلستراتيجية

إدخال العناصر التالية في نهاية صف االنتظار : التحقيق • Expand shallowest unexpanded node • Implementation:

– fringe is a FIFO queue, i.e., new successors go at end

FIFO= (A)FIFO= (B,C)

FIFO= (C,D,E) FIFO= (D,E,F,G)

Page 29: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

insert_all(NewStates,Fringe,NewFringe):-append(Fringe,NewStates,NewFringe).

: Breadth-first search خوارزمية البحث بالعرض

function Breadth-First-Search (problem) returns a solution, or failureGeneral-Search (problem, Enqueue-At-End)

Function Tree_search(problem) return Solution or failureL_nodes = Make_Node(initial_state[problem])Loop do If L_nodes=empty then return failurenode=Remove_Front(L_node)If state[node]=solution then return solution[node]L_nodes=insert_all(Expand(node,operator[problem]),L_nodes)

خوارزمية البحث العامة

خوارزمية البحث بالعرض

برولوغالتطبيق في

Page 30: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

خواص طريقة البحث بالعرض

) منتهية bإذا آانت ( نعم >)إذا آان يوجد حل (هل طريقة البحث المتبعة تضمن الوصول إلى حل : التمامية •

إذا آانت ( نعم )إذا آان يوجد اآثر من حل (هل طريقة البحث المتبعة تؤدي للوصول ألحسن حل : المثالية •)التكلفة موحدة لكل مرحلة

O(bd) آم عقدة يتوجب سبرها للوصول للحل : التعقيد الزمني •

O(bd) هو عدد العقد اإلجمالي التي يجب تذآرها للوصول للحل ما: التعقيد المكاني • : بـ التعقيد الزماني و المكاني يتعلق

• b = للعقد التالية لعقدة ما األعظمي العدد اإلجمالي = معامل التفرع لشجرة البحث • d = العمق في شجرة البحث حيث يوجد أحسن حل• m = لفضاء البحث في شجرة البحث األعظمي العمق

)(...1 32 dd bObbbb =+++++

Page 31: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

عدد العقد الزمن مساحة الذاآرة

: بافتراض ان •b=10 عقدة في الثانية 1000000 سرعة المعالجة •بايت 100 مساحة الذاآرة المطلوبة لحفظ عقدة واحدة •

خواص طريقة البحث بالعرض

ماذا نستنتج من الجدول؟

Page 32: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

هى تعديل إلستراتيجية البحث بالعرض :خوارزمية البحث بالكلفة الموحدة )g(n)تقاس التكلفة بالتابع (للوصول للحل نتوسع بالعقدة التي تكلفتها أقل من العقد األخرى : اإلستراتيجية

)يوجد تكلفة سالبة ال(تكلفة مسلك ما يجب ان تكون متزايدة حتما

إدخال العناصر حسب التكلفة المتزايدة للمسلك : التحقيق

)())((: ngnsuccessorgn ≥∀

Page 33: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

استكشاف العقدة االقل تكلفة

مثال السائح في رومانيا

146 229Fagaras RV239220

Page 34: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

insert_all(NewStates,Fringe,NewFringe):-insert_h(NewStates,Fringe,NewFringe).

insert_h([ ],L,L).insert_h([X|Xs],ListIn,ListOut):- insert(X,ListIn,List2), insert_h(Xs,List2,ListOut).

insert(X,[ ],[X]).insert(X,[L|Ls],[X,L|Ls]):- node(X,N1), cost(N1,C1), node(L,N2), cost(N2,C2), C1 < C2,!.

insert(X,[L|Ls],[L|Rs]):- insert(X,Ls,Rs).

: Uniform-cost search بالكلفة الموحدةخوارزمية البحث

function uniform-cost-Search (problem) returns a solution, or failureGeneral-Search (problem, fringe = queue ordered by path cost )

Function Tree_search(problem) return Solution or failureL_nodes = Make_Node(initial_state[problem])Loop do If L_nodes=empty then return failurenode=Remove_Front(L_node)If state[node]=solution then return solution[node]L_nodes=insert_all(Expand(node,operator[problem]),L_nodes)

خوارزمية البحث العامة

خوارزمية البحث بالكلفة الموحدة

برولوغالتطبيق في

Page 35: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

Uniform-cost search خواص طريقة البحث بالكلفة الموحدة نعم >)إذا آان يوجد حل (هل طريقة البحث المتبعة تضمن الوصول إلى حل : التمامية • نعم )إذا آان يوجد اآثر من حل (هل طريقة البحث المتبعة تؤدي للوصول ألحسن حل : المثالية • الحل المثالي آلفة ≤ تكلفتها التي تابع fعدد العقد : آم عقدة يتوجب سبرها للوصول للحل : التعقيد الزمني •

O(bf) آلفة ≤ تكلفتها التي تابع fعدد العقد عدد العقد اإلجمالي التي يجب تذآرها للوصول للحل ماهو : التعقيد المكاني •

O(bf) الحل المثالي

: بـ التعقيد الزماني و المكاني يتعلق • b = للعقد التالية لعقدة ما األعظمي العدد اإلجمالي = معامل التفرع لشجرة البحث • d = العمق في شجرة البحث حيث يوجد أحسن حل• m = لفضاء البحث في شجرة البحث األعظمي العمق

Page 36: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

: Depth-first searchخوارزمية البحث بالعمق األعمق للوصول للحل نتوسع بالعقدة : اإلستراتيجية

إدخال العناصر التالية في أول صف االنتظار : التحقيق

Page 37: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا
Page 38: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا
Page 39: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا
Page 40: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

Depth-first searchخوارزمية البحث بالعمق

function Depth-first-search (problem) returns a solution, or failureGeneral-Search (problem, fringe = successors at front LIFO )

Function Tree_search(problem) return Solution or failureL_nodes = Make_Node(initial_state[problem])Loop do If L_nodes=empty then return failurenode=Remove_Front(L_node)If state[node]=solution then return solution[node]L_nodes=insert_all(Expand(node,operator[problem]),L_nodes)

خوارزمية البحث العامة

خوارزمية البحث بالكلفة الموحدة

برولوغالتطبيق في insert_all(NewStates,Fringe,NewFringe):-append(NewStates,Fringe,NewFringe).

Page 41: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

خواص طريقة البحث بالعمق في فضاء غير تفشل ( ال >) إذا آان يوجد حل (هل طريقة البحث المتبعة تضمن الوصول إلى حل : التمامية •

) بحلقات أومنتهي ال )إذا آان يوجد اآثر من حل (هل طريقة البحث المتبعة تؤدي للوصول ألحسن حل : المثالية • فهناك مشكلة d اآبر آثيرا من mإذا آانت ( O(bm) آم عقدة يتوجب سبرها للوصول للحل : التعقيد الزمني •

) زمن O(b*m) عدد العقد اإلجمالي التي يجب تذآرها للوصول للحل ماهو : التعقيد المكاني •

b=10,d=12,100 bite/nمن أجل : أي ليس هناك حاجة لمساحات ذاآرة آبيرة مثال : التعقيد المكاني خطي )1010( بايت لطريقة البحث بالعرض تيرا 111 لخوارزمية البحث بالعمق بينما يلزم آيلوبايت 12يلزم

: بـ التعقيد الزماني و المكاني يتعلق • b = للعقد التالية لعقدة ما األعظمي العدد اإلجمالي = معامل التفرع لشجرة البحث • d = العمق في شجرة البحث حيث يوجد أحسن حل• m = لفضاء البحث في شجرة البحث األعظمي العمق

Page 42: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

:خوارزمية البحث بالعمق المنتهي L ولكن لعمق محدد األعمق للوصول للحل نتوسع بالعقدة : اإلستراتيجية

. ليس لهم عقد الحقة Lالعقد ذات العمق : التحقيق

L=2

Page 43: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

search(Limit):-initial_node(Node),solve([Node],[],Limit,Sol),reverse(Sol,Solution),show(Solution).

solve(Path,_,_,Path):-node(Path,Node),

state(Node,State),solution(State).

solve(Path,Closed,Limit,Solution):-Limit > 0,node(Path,Node),

state(Node,State),\+ member(State,Closed),!,L2 is Limit - 1,next(Node,NewNode), solve([NewNode|Path],[State|Closed],L2,Solution).

برولوغالتطبيق في

Page 44: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

خواص طريقة البحث بالعمق المنتهي )L>=dإذا آان ( نعم >) إذا آان يوجد حل (هل طريقة البحث المتبعة تضمن الوصول إلى حل : التمامية •ال )إذا آان يوجد اآثر من حل (هل طريقة البحث المتبعة تؤدي للوصول ألحسن حل : المثالية • O(bL) آم عقدة يتوجب سبرها للوصول للحل : التعقيد الزمني •O(b*L) عدد العقد اإلجمالي التي يجب تذآرها للوصول للحل ماهو : التعقيد المكاني •

: إحتماالت هناك ثالث نجاح في الوصول للحل • إخفاق في الوصول للحل • حل في الفضاء المحدد اليوجد •

Page 45: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

:خوارزمية البحث بالتعمق التكراري هو تكرار خوارزمية البحث بالعمق المنتهي من أجل القيم المختلفة لـ = التعمق التكراري : اإلستراتيجية

L=0,1,2….

فهى تامة ومثالية آطريقة البحث : هذه اإلستراتيجية تجمع بين حسنات طريقتي البحث بالعرض و بالعمق . بالعرض و هى مقتصدة بالمكان آطريقة البحث بالعمق

إذا آان عمق الحل معروف األمثلتعتبر هذه اإلستراتيجية الخيار

: التحقيق

End

Page 46: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

L=0

L=1

L=2

Page 47: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

L=3

Page 48: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

search:-initial_node(Node),solve_iter([Node],[ ],0,Sol),reverse(Sol,Solution),show(Solution).

solve(Path,_,_,Path):-node(Path,Node),

state(Node,State),solution(State).

solve(Path,Closed,Limit,Solution):-Limit > 0,node(Path,Node),state(Node,State),\+ member(State,Closed),!,L2 is Limit - 1,next(Node,NewNode), solve([NewNode|Path],[State|Closed],L2,Solution).

برولوغالتطبيق في

solve_iter(Path,Closed,Limit,Solution):-solve(Path,Closed,Limit,Solution).

solve_iter(Path,Closed,Limit,Solution):-L2 is Limit + 1,solve_iter(Path,Closed,L2,Solution).

Page 49: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

خواص طريقة البحث بالتعمق التكراري آل المسالك ( نعم >)إذا آان يوجد حل (هل طريقة البحث المتبعة تضمن الوصول إلى حل : التمامية •

......) 3،2،1ستستكشف إذا آان السعر ( نعم )إذا آان يوجد اآثر من حل (هل طريقة البحث المتبعة تؤدي للوصول ألحسن حل : المثالية •

)1=الخطوة O(bd) آم عقدة يتوجب سبرها للوصول للحل : التعقيد الزمني •O(b*d) عدد العقد اإلجمالي التي يجب تذآرها للوصول للحل ماهو : التعقيد المكاني •

=++−+++ dbbddbbd ....)1()1( 20

• Number of nodes generated in a depth-limited search to depth d with branching factor b:

NDLS = b0 + b1 + b2 + … + bd-2 + bd-1 + bd

• Number of nodes generated in an iterative deepening search to depth d with branching factor b:

NIDS = (d+1)b0 + d b^1 + (d-1)b^2 + … + 3bd-2 +2bd-1 + 1bd

• For b = 10, d = 5, – NDLS = 1 + 10 + 100 + 1,000 + 10,000 + 100,000 = 111,111 – NIDS = 6 + 50 + 400 + 3,000 + 20,000 + 100,000 = 123,456

• Overhead = (123,456 - 111,111)/111,111 = 11%

:مثال مقارنة

Page 50: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

:خوارزمية البحث باالتجاهين اعتبارا البدئية وفي نفس الوقت البحث عن الحالة .البدئية البحث عن الهدف اعتبارا من الحالة : اإلستراتيجية

. للهدف البدئية عندما يلتقي المسلكان نكون قد وجدنا الحل الممثل بالمسلك من الحالة . من الهدف

الهدف محددة تماما، آما يجب ان تكون آل العمليات قابلة -لتطبيق هذه اإلستراتيجية يلزم ان تكون الحالة •. السابقة للعكس بحث تكون قادرة على إيجاد الحالة

. إتجاه نوع طريقة البحث لكل إختيارينبغي •

إذا آان عمق الحل معروف األمثلتعتبر هذه اإلستراتيجية الخيار

Page 51: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

: مثالبدئيةحالة هدف

نقطة التقاء

الحل

باإلتجاهين خواص طريقة البحث نعم >) إذا آان يوجد حل (هل طريقة البحث المتبعة تضمن الوصول إلى حل : التمامية •نعم )إذا آان يوجد اآثر من حل (هل طريقة البحث المتبعة تؤدي للوصول ألحسن حل : المثالية • O(bd/2)<< O(bd) آم عقدة يتوجب سبرها للوصول للحل : التعقيد الزمني • O(bd/2)<< O(bd) هو عدد العقد اإلجمالي التي يجب تذآرها للوصول للحل ما: التعقيد المكاني •

Page 52: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

Criterion Breadth-first

Uniform-cost

Depth-first

Depth-limited

Iterative deepening Bidirectional

Completeness: )منتهية bإذا (نعم نعم ال ) L>=dإذا ( نعم نعم نعم

Optimality: نعم نعم ال ال step)نعم cost=1) نعم

Time complexity O(bd) O(bf) O(bm) O(bL) O(bd) O(bd/2)

Space complexity O(bd) O(bf) O(b*m) O(b*L) O(b*d) O(bd/2)

جدول مقارنة إلستراتيجيات البحث العمياء

Page 53: ﺚﺤﺒﻟا تﻼﻀﻌﻣ ’’ءﺎﻴﻤﻌﻟا’’ ﺚﺤﺒﻟا ...ahmad.skaf.free.fr/files/search-2.pdfﺚﺤﺒﻟا ﺔﻠﻀﻌﻣ ةﺮﺠﺸﺑ ﺔﻠﻀﻌﻤﻟا

ية الحاالت المتكررة ، في حال عدم آشف الحاالت المتكررة فإن معضلة خط يتحاشيجب : ة ظحمالاسيةيمكن ان تتحول على معضلة

: من أجل ذلك يجب مقارنة وصف الحاالت • حفظ أثر الحاالت المستكشفة •لعقدة إذا آان الالحق لعقدة ما هو حالة قد سبق استكشافها فيجب حذف هذه ا •