סוכנים ונמלים a(ge)nts אלגוריתמים מבוזרים לחקירת הרשת...

Post on 21-Dec-2015

233 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

סוכנים ונמליםסוכנים ונמליםA(ge)ntsA(ge)nts

אלגוריתמים מבוזרים לחקירת הרשתאלגוריתמים מבוזרים לחקירת הרשתמאמרים:מאמרים:

A Distributed Ant Algorithm for Efficiently Patrolling a A Distributed Ant Algorithm for Efficiently Patrolling a NetworkNetwork

Vladimir Yanovski, Israel A. Wagner and Alfred M. Vladimir Yanovski, Israel A. Wagner and Alfred M. BrucksteinBruckstein

ANTSANTS: : AAgents, gents, NNetworks, etworks, TTrees and rees and SSubgraphsubgraphsIsrael A. Wagner, Michael Lindenbaum and Alfred M. Israel A. Wagner, Michael Lindenbaum and Alfred M.

Bruckstein Bruckstein

מציגים: עמוס שורמציגים: עמוס שור ומיכאל שליוומיכאל שליו

תוכן המצגתתוכן המצגת

::שני אלגוריתמים מבוזרים לחקירת הרשתשני אלגוריתמים מבוזרים לחקירת הרשת

EAW – Edge Ant WalkEAW – Edge Ant Walk

VAW – Vertex Ant WalkVAW – Vertex Ant Walk

Richard P. Feynman 1918-Richard P. Feynman 1918-19881988

העלה לראשונה את העלה לראשונה אתהאפשרות לשאוב מהטבע האפשרות לשאוב מהטבע רעיונות לביזוריות בתחום רעיונות לביזוריות בתחום

הרובוטיקההרובוטיקה למה מסלולי הנמלים למה מסלולי הנמלים

ישרים כל–כך?ישרים כל–כך? התשובה לשאלה ניתנה התשובה לשאלה ניתנה

ע"י ע"י 19931993בשנת בשנת

פרופ' אלפרד ברוקשטייןפרופ' אלפרד ברוקשטיין

קצת על נמליםקצת על נמלים

הנמלים לא כל כך חכמות אבל...הנמלים לא כל כך חכמות אבל...חיפוש אחר מזון מאוד יעילחיפוש אחר מזון מאוד יעיל הנמלים מתקשרות ביניהן באמצעות הנמלים מתקשרות ביניהן באמצעות

פרומונים ולמעשה בונות רשת מידע פרומונים ולמעשה בונות רשת מידע למציאת אוכללמציאת אוכל

את הרשת ניתן להקביל לגרף בו את הרשת ניתן להקביל לגרף בוהצמתים מציינים מפגש בין שתי הצמתים מציינים מפגש בין שתי נמלים והקשתות הן הפרומונים נמלים והקשתות הן הפרומונים

שנשארים על הקרקעשנשארים על הקרקע

בעיהבעיה

חברת שמירה נשכרה לאבטח את מוזיאון חברת שמירה נשכרה לאבטח את מוזיאון הלובר. בלובר הרבה אולמות המחוברים אחד הלובר. בלובר הרבה אולמות המחוברים אחד לשני במסדרונות. לחברה יש מספר רובוטים לשני במסדרונות. לחברה יש מספר רובוטים שיודעים לסייר במסדרונות ולתפוס את הגנב שיודעים לסייר במסדרונות ולתפוס את הגנב

..אם הם רואים אותו במסדרוןאם הם רואים אותו במסדרון

??מה הדרך הטובה ביותר לאבטח את הגלריהמה הדרך הטובה ביותר לאבטח את הגלריה

אסטרטגית סיוראסטרטגית סיור

לסייר בכל המסדרונות של המאוזיאוןלסייר בכל המסדרונות של המאוזיאון

מספר שווה של פעמים בתדירות זההמספר שווה של פעמים בתדירות זהה

((הנחה סמויההנחה סמויה))

פתרון למקרה של רובוט אחדפתרון למקרה של רובוט אחד

הפתרון – מעגל אוילרהפתרון – מעגל אוילר

בו עוברים בו עוברים G(V,E)G(V,E) מעגל אוילר – מעגל בגרף מעגל אוילר – מעגל בגרף על כל קשת פעם אחתעל כל קשת פעם אחת

מספר רובוטיםמספר רובוטים

מעגל אוילר לא מתאיםמעגל אוילר לא מתאים

פתרון: מעגל אוילר מורחבפתרון: מעגל אוילר מורחב

מעגל אוילר מורחב – מעגל בו עוברים על כל מעגל אוילר מורחב – מעגל בו עוברים על כלקשת מספר זהה של פעמיםקשת מספר זהה של פעמים

פתרונות קיימים לסריקהפתרונות קיימים לסריקה

DFSDFSתנאי עצירהתנאי עצירהמתאים לסוכן בודדמתאים לסוכן בודדלא חסין לשינויים ברשתלא חסין לשינויים ברשתתדירות ביקורים בקשתות איננה אחידהתדירות ביקורים בקשתות איננה אחידה

Random WalkRandom Walk חשוף לשונות גדולה בבחירת הקשתותחשוף לשונות גדולה בבחירת הקשתות

Edge Ant Walk 1Edge Ant Walk 1Initialization: Initialization:

t=0;t=0;for every edge e=u for every edge e=u →→ v in graph G v in graph G

set set σ(e) = 0σ(e) = 0Rule Edge-Ant-Walk 1Rule Edge-Ant-Walk 1(1) Find the edge e = u → v with a minimal value (1) Find the edge e = u → v with a minimal value of σ(e) of σ(e) among the edges emanating from u;among the edges emanating from u;

break ties randomly.break ties randomly.(2) σ(e) := t;(2) σ(e) := t;(3) t := t + 1;(3) t := t + 1;(4) u := v;(4) u := v;(5) Go to (1).(5) Go to (1).end Edge-Ant-Walk 1end Edge-Ant-Walk 1

Edge Ant Walk 1 (cont.)Edge Ant Walk 1 (cont.)

האלגוריתם תמיד יבחר בקשת חדשה כל עוד האלגוריתם תמיד יבחר בקשת חדשה כל עודקיימת קשת חדשהקיימת קשת חדשה

סדר המעבר על הקשתות נשאר זהה אחרי סדר המעבר על הקשתות נשאר זהה אחריסיום המעבר הראשון על כל הקשתותסיום המעבר הראשון על כל הקשתות

האלגוריתם מאפשר סיור מתמידהאלגוריתם מאפשר סיור מתמידהאלגוריתם מצריך כתיבה - בעיית ביטחוןהאלגוריתם מצריך כתיבה - בעיית ביטחון

Edge Ant Walk 2Edge Ant Walk 2

Initialization:Initialization:for every vertex ufor every vertex u

set next exit pointer in u to point to the first set next exit pointer in u to point to the first edge edge emanating from uemanating from u

Rule Edge-Ant-Walk 2Rule Edge-Ant-Walk 2(1) Let k be the location of the next exit pointer in u (1) Let k be the location of the next exit pointer in u

and and e = e = u → v be the corresponding edgeu → v be the corresponding edge

(2) Move next exit pointer in vertex u to the(2) Move next exit pointer in vertex u to the edge (k+1) mod degree (u)edge (k+1) mod degree (u)

(3) u:=v;(3) u:=v;(4) Go to (1).(4) Go to (1).End Edge-Ant-Walk 2 End Edge-Ant-Walk 2

A

GC

FD

E

A

GC

FD

E

A

GC

FD

E

A

GC

FD

E

A

GC

FD

E

A

GC

FD

E

A

GC

FD

E

A

GC

FD

E

A

GC

FD

E

A

GC

FD

E

A

GC

FD

E

A

GC

FD

E

A

GC

FD

E

A

GC

FD

E

A

GC

FD

E

A

GC

FD

E

A

GC

FD

E

EAWEAWסיור ברשת – סיור ברשת –

22סוכן בודד - מתכנס למעגל אוילר תוך סוכן בודד - מתכנס למעגל אוילר תוך|*|*E|*DE|*D צעדיםצעדים

22מספר סוכנים – לאחר מספר סוכנים – לאחר((1+11+1//kk|)|)E|DE|D צעדים צעדים מספר הביקורים בין שתי קשתות מתאזן עד מספר הביקורים בין שתי קשתות מתאזן עד

..22לפקטור לפקטור

יתרונות גישת הסוכניםיתרונות גישת הסוכנים

עמידות בפני נפילות ברשת וטעויות של עמידות בפני נפילות ברשת וטעויות שלהסוכניםהסוכנים

הורדת עומס על הצמתים הודות לדרישות הורדת עומס על הצמתים הודות לדרישותמינימליות של הסוכן: הן מבחינת כח חישוב והן מינימליות של הסוכן: הן מבחינת כח חישוב והן

מבחינת הזיכרון הדרוש לעבודתו בצומתמבחינת הזיכרון הדרוש לעבודתו בצומת אלגוריתמים לכיסוי רשת המבוססים על גישת אלגוריתמים לכיסוי רשת המבוססים על גישת

הסוכנים יכולים לשמש כבר היום באינטרנט, הסוכנים יכולים לשמש כבר היום באינטרנט, כאמצעי עזר לאלגוריתמי כריית נתונים וניהול כאמצעי עזר לאלגוריתמי כריית נתונים וניהול

הרשת הרשת

Vertex Ant WalkVertex Ant Walk

האלגוריתם האלגוריתםVAWVAW הוצע תחילה לחיפוש בגרף הוצע תחילה לחיפוש בגרף ונעזר בסוכן בודד ונעזר בסוכן בודד סטטי, קשיר ולא מכווןסטטי, קשיר ולא מכוון

ההולך על הקשתות, תוך שהוא משאיר ההולך על הקשתות, תוך שהוא משאיר , , PHEROMONEPHEROMONEבצמתים עקבות פרומון בצמתים עקבות פרומון

המשמשים אותו לניווט במהלך סריקת הגרף.המשמשים אותו לניווט במהלך סריקת הגרף. זמן כיסוי חסום ע"י זמן כיסוי חסום ע"יN*DN*D כאשר , כאשר ,

NNמספר הצמתים – מספר הצמתים –

DDקוטר הגרף – קוטר הגרף –

שימושים אפשריים לאלגוריתםשימושים אפשריים לאלגוריתם

ניתן לנצל את העובדה שאלגוריתם דואג לעבור ניתן לנצל את העובדה שאלגוריתם דואג לעבורבכל הצמתים )שרתים( ברשת לטובת מציאה בכל הצמתים )שרתים( ברשת לטובת מציאה

ומיגור הוירוס הנמצא ברשתומיגור הוירוס הנמצא ברשת חיפוש באינטרנט כאשר חייבים לעבור בכל חיפוש באינטרנט כאשר חייבים לעבור בכל

הצמתים על מנת לוודא אמינות המידעהצמתים על מנת לוודא אמינות המידע

Vertex Ant WalkVertex Ant Walk

בחינת הביצועים של אלגוריתם בחינת הביצועים של אלגוריתםVAWVAW לחיפוש בגרף לחיפוש בגרף הראו תוצאות הבאות:הראו תוצאות הבאות:דינמי דינמי

במקרה ותת-גרף פורס במקרה ותת-גרף פורסSS נשאר יציב במהלך תהליך נשאר יציב במהלך תהליך ,, N*D(S)N*D(S)הכיסוי, אזי זמן כיסוי חסום ע"יהכיסוי, אזי זמן כיסוי חסום ע"י

– מספר הצמתים – מספר הצמתים NNכאשר כאשר D(S)D(S)קוטר תת-גרף פורס – קוטר תת-גרף פורס –

במקרה וכל קשת נעלמת עם הסתברות במקרה וכל קשת נעלמת עם הסתברותpp אזי זמן , אזי זמן ,כיסוי ממוצע חסום על ידי כיסוי ממוצע חסום על ידי

N*DN*D**f(p,max(vertex_degree)f(p,max(vertex_degree) כמו כן במקרה והגרף הוא עץ סטטי אזי זמן הכיסוי כמו כן במקרה והגרף הוא עץ סטטי אזי זמן הכיסוי

..NN**22חסום על ידי חסום על ידי

Vertex Ant WalkVertex Ant Walk

Rule Vertex-Ant-Walk Rule Vertex-Ant-Walk

(u vertex; ((u vertex; (σ(.), σ(.), (.)) for u’s neighborhood)(.)) for u’s neighborhood)

(1) v:= u’s neighbor with minimal(1) v:= u’s neighbor with minimal

lexicographic value of (σ(.),lexicographic value of (σ(.),(.));(.));

(in case of tie make a random (in case of tie make a random decision)decision)

(2)(2) σ(u) := σ(v) + 1;σ(u) := σ(v) + 1;

(3)(3) (u) := t;(u) := t;

(4)(4) t:= t + 1 ; t:= t + 1 ;

(5) go to v.(5) go to v.

End End Vertex-Ant-Walk Vertex-Ant-Walk

B

C

D

A

E

G I

F

H

(A,1,1)

(D,0,0)

(B,0,0) (F,0,0)

(C,0,0)

(E,0,0)

(H,0,0)

(G,0,0)

(I,0,0)

B

C

D

A

E

G I

F

H

(A,1,1)

(D,0,0)

(B,1,2) (F,0,0)

(C,0,0)

(E,0,0)

(H,0,0)

(G,0,0)

(I,0,0)

B

C

D

A

E

G I

F

H

(A,1,1)

(D,0,0)

(B,1,2) (F,0,0)

(C,1,3)

(E,0,0)

(H,0,0)

(G,0,0)

(I,0,0)

B

C

D

A

E

G I

F

H

(A,1,1)

(D,0,0)

(B,1,2) (F,0,0)

(C,1,3)

(E,1,4)

(H,0,0)

(G,0,0)

(I,0,0)

B

C

D

A

E

G I

F

H

(A,1,1)

(D,0,0)

(B,1,2) (F,0,0)

(C,1,3)

(E,1,4)

(H,1,5)

(G,0,0)

(I,0,0)

B

C

D

A

E

G I

F

H

(A,1,1)

(D,0,0)

(B,1,2) (F,0,0)

(C,1,3)

(E,1,4)

(H,1,5)

(G,0,0)

(I,1,6)

B

C

D

A

E

G I

F

H

(A,1,1)

(D,0,0)

(B,1,2) (F,1,7)

(C,1,3)

(E,1,4)

(H,1,5)

(G,0,0)

(I,1,6)

B

C

D

A

E

G I

F

H

(A,1,1)

(D,0,0)

(B,1,2) (F,1,7)

(C,1,3)

(E,1,4)

(H,1,5)

(G,2,8)

(I,1,6)

B

C

D

A

E

G I

F

H

(A,1,1)

(D,0,0)

(B,1,2) (F,1,7)

(C,1,3)

(E,1,9)

(H,1,5)

(G,2,8)

(I,1,6)

B

C

D

A

E

G I

F

H

(A,1,1)

(D,2,10)

(B,1,2) (F,1,7)

(C,1,3)

(E,1,9)

(H,1,5)

(G,2,8)

(I,1,6)

מקרה קצהמקרה קצה

סיכוםסיכום

הצגנו שני אלגוריתמים מבוזרים לחקירת רשתהצגנו שני אלגוריתמים מבוזרים לחקירת רשת

EAW VAWEAW VAW

,במסגרת העבודה נשווה בין שני האלגוריתמים,במסגרת העבודה נשווה בין שני האלגוריתמיםכאשר הפרמטרים להשוואה יהיו:כאשר הפרמטרים להשוואה יהיו:

חסם עליון לסיור בגרף חסם עליון לסיור בגרף בחינת שימושים אפשריים לשני האלגוריתמים וכו'בחינת שימושים אפשריים לשני האלגוריתמים וכו'

top related