480 likes | 692 Views
סוכנים ונמלים A(ge)nts. אלגוריתמים מבוזרים לחקירת הרשת מאמרים: A Distributed Ant Algorithm for Efficiently Patrolling a Network Vladimir Yanovski, Israel A. Wagner and Alfred M. Bruckstein ANTS : A gents, N etworks, T rees and S ubgraphs
E N D
סוכנים ונמליםA(ge)nts אלגוריתמים מבוזרים לחקירת הרשת מאמרים: A Distributed Ant Algorithm for Efficiently Patrolling a Network Vladimir Yanovski, Israel A. Wagner and Alfred M. Bruckstein ANTS: Agents, Networks, Trees and Subgraphs Israel A. Wagner, Michael Lindenbaum and Alfred M. Bruckstein ומיכאל שליומציגים: עמוס שור
תוכן המצגת שני אלגוריתמים מבוזרים לחקירת הרשת: EAW – Edge Ant Walk VAW – Vertex Ant Walk
Richard P. Feynman 1918-1988 • העלה לראשונה את האפשרות לשאוב מהטבע רעיונות לביזוריות בתחום הרובוטיקה • למה מסלולי הנמלים ישרים כל–כך? • התשובה לשאלה ניתנה בשנת 1993 ע"י פרופ' אלפרד ברוקשטיין
קצת על נמלים הנמלים לא כל כך חכמות אבל... • חיפוש אחר מזון מאוד יעיל • הנמלים מתקשרות ביניהן באמצעות פרומונים ולמעשה בונות רשת מידע למציאת אוכל • את הרשת ניתן להקביל לגרף בו הצמתים מציינים מפגש בין שתי נמלים והקשתות הן הפרומונים שנשארים על הקרקע
בעיה חברת שמירה נשכרה לאבטח את מוזיאון הלובר. בלובר הרבה אולמות המחוברים אחד לשני במסדרונות. לחברה יש מספר רובוטים שיודעים לסייר במסדרונות ולתפוס את הגנב אם הם רואים אותו במסדרון. מה הדרך הטובה ביותר לאבטח את הגלריה?
אסטרטגית סיור לסייר בכל המסדרונות של המאוזיאון מספר שווה של פעמים בתדירות זהה (הנחה סמויה)
פתרון למקרה של רובוט אחד • הפתרון – מעגל אוילר מעגל אוילר – מעגל בגרף G(V,E) בו עוברים על כל קשת פעם אחת
מספר רובוטים • מעגל אוילר לא מתאים • פתרון: מעגל אוילר מורחב • מעגל אוילר מורחב – מעגל בו עוברים על כל קשת מספר זהה של פעמים
פתרונות קיימים לסריקה DFS • תנאי עצירה • מתאים לסוכן בודד • לא חסין לשינויים ברשת • תדירות ביקורים בקשתות איננה אחידה Random Walk • חשוף לשונות גדולה בבחירת הקשתות
Edge Ant Walk 1 Initialization: t=0; for every edge e=u → v in graph G set σ(e) = 0 Rule Edge-Ant-Walk 1 (1) Find the edge e = u → v with a minimal value of σ(e) among the edges emanating from u; break ties randomly. (2) σ(e) := t; (3) t := t + 1; (4) u := v; (5) Go to (1). end Edge-Ant-Walk 1
Edge Ant Walk 1 (cont.) • האלגוריתם תמיד יבחר בקשת חדשה כל עוד קיימת קשת חדשה • סדר המעבר על הקשתות נשאר זהה אחרי סיום המעבר הראשון על כל הקשתות • האלגוריתם מאפשר סיור מתמיד • האלגוריתם מצריך כתיבה - בעיית ביטחון
Edge Ant Walk 2 Initialization: for every vertex u set next exit pointer in u to point to the first edge emanating from u Rule Edge-Ant-Walk 2 (1) Let k be the location of the next exit pointer in u and e = u → v be the corresponding edge (2) Move next exit pointer in vertex u to the edge (k+1) mod degree (u) (3) u:=v; (4) Go to (1). End Edge-Ant-Walk 2
A C G D F E
A C G D F E
A C G D F E
A C G D F E
A C G D F E
A C G D F E
A A C C G G D D F F E E
A A C C G G D D F F E E
A C G D F E
A C G D F E
A C G D F E
A C G D F E
A C G D F E
A C G D F E
A C G D F E
EAW – סיור ברשת • סוכן בודד - מתכנס למעגל אוילר תוך 2*|E|*D צעדים • מספר סוכנים – לאחר 2(1+1/k)|E|D צעדים מספר הביקורים בין שתי קשתות מתאזן עד לפקטור 2.
יתרונות גישת הסוכנים • עמידות בפני נפילות ברשת וטעויות של הסוכנים • הורדת עומס על הצמתים הודות לדרישות מינימליות של הסוכן: הן מבחינת כח חישוב והן מבחינת הזיכרון הדרוש לעבודתו בצומת • אלגוריתמים לכיסוי רשת המבוססים על גישת הסוכנים יכולים לשמש כבר היום באינטרנט, כאמצעי עזר לאלגוריתמי כריית נתונים וניהול הרשת
Vertex Ant Walk • האלגוריתם VAW הוצע תחילה לחיפוש בגרף סטטי, קשיר ולא מכוון ונעזר בסוכן בודד ההולך על הקשתות, תוך שהוא משאיר בצמתים עקבות פרומון PHEROMONE, המשמשים אותו לניווט במהלך סריקת הגרף. • זמן כיסוי חסום ע"י N*D, כאשר N – מספר הצמתים D – קוטר הגרף
שימושים אפשריים לאלגוריתם • ניתן לנצל את העובדה שאלגוריתם דואג לעבור בכל הצמתים (שרתים) ברשת לטובת מציאה ומיגור הוירוס הנמצא ברשת • חיפוש באינטרנט כאשר חייבים לעבור בכל הצמתים על מנת לוודא אמינות המידע
Vertex Ant Walk • בחינת הביצועים של אלגוריתם VAW לחיפוש בגרף דינמי הראו תוצאות הבאות: • במקרה ותת-גרף פורס S נשאר יציב במהלך תהליך הכיסוי, אזי זמן כיסוי חסום ע"יN*D(S) , כאשר N – מספר הצמתים D(S) – קוטר תת-גרף פורס • במקרה וכל קשת נעלמת עם הסתברות p, אזי זמן כיסוי ממוצע חסום על ידי N*D*f(p,max(vertex_degree) • כמו כן במקרה והגרף הוא עץ סטטי אזי זמן הכיסוי חסום על ידי 2*N.
Vertex Ant Walk Rule Vertex-Ant-Walk (u vertex; (σ(.), (.)) for u’s neighborhood) (1) v:= u’s neighbor with minimal lexicographic value of (σ(.),(.)); (in case of tie make a random decision) (2) σ(u) := σ(v) + 1; (3) (u) := t; (4) t:= t + 1 ; (5) go to v. End Vertex-Ant-Walk
(B,0,0) (F,0,0) B F (C,0,0) (G,0,0) A C G I (E,0,0) E (I,0,0) (A,1,1) H D (H,0,0) (D,0,0)
(B,1,2) (F,0,0) B F (C,0,0) (G,0,0) A C G I (E,0,0) E (I,0,0) (A,1,1) H D (H,0,0) (D,0,0)
(B,1,2) (F,0,0) B F (C,1,3) (G,0,0) A C G I (E,0,0) E (I,0,0) (A,1,1) H D (H,0,0) (D,0,0)
(B,1,2) (F,0,0) B F (C,1,3) (G,0,0) A C G I (E,1,4) E (I,0,0) (A,1,1) H D (H,0,0) (D,0,0)
(B,1,2) (F,0,0) B F (C,1,3) (G,0,0) A C G I (E,1,4) E (I,0,0) (A,1,1) H D (H,1,5) (D,0,0)
(B,1,2) (F,0,0) B F (C,1,3) (G,0,0) A C G I (E,1,4) E (I,1,6) (A,1,1) H D (H,1,5) (D,0,0)
(B,1,2) (F,1,7) B F (C,1,3) (G,0,0) A C G I (E,1,4) E (I,1,6) (A,1,1) H D (H,1,5) (D,0,0)
(B,1,2) (F,1,7) B F (C,1,3) (G,2,8) A C G I (E,1,4) E (I,1,6) (A,1,1) H D (H,1,5) (D,0,0)
(B,1,2) (F,1,7) B F (C,1,3) (G,2,8) A C G I (E,1,9) E (I,1,6) (A,1,1) H D (H,1,5) (D,0,0)
(B,1,2) (F,1,7) B F (C,1,3) (G,2,8) A C G I (E,1,9) E (I,1,6) (A,1,1) H D (H,1,5) (D,2,10)
סיכום • הצגנו שני אלגוריתמים מבוזרים לחקירת רשת EAW VAW • במסגרת העבודה נשווה בין שני האלגוריתמים, כאשר הפרמטרים להשוואה יהיו: חסם עליון לסיור בגרף בחינת שימושים אפשריים לשני האלגוריתמים וכו'