Nash Equilibrium in Ad Hoc Networks

Slides:



Advertisements
Similar presentations
Completeness and Expressiveness. תזכורת למערכת ההוכחה של לוגיקה מסדר ראשון : אקסיומות 1. ) ) (( 2. )) ) (( )) ( ) ((( 3. ))) F( F( ( 4. ) v) ( ) v ((
Advertisements

מבוא למדעי המחשב לתעשייה וניהול
1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
תרגילי חזרה. General Things to Remember Be careful to identify if we’re talking about gains or costs (because the search cost is always negative) Check.
חיפוש בינה מלאכותית אבי רוזנפלד. סוכנים פותרי בעיות Reflex agents לא יכולים לתכנן קדימה כדי לחפש, יש צורך לייצר מודל לחפש בו !
חיפוש בינה מלאכותית אבי רוזנפלד. סוגי חיפוש כלליים UNINFORMED SEARCH -- חיפושים לא מיודעים במרחי מצבים – BFS – DFS INFORMED SEARCH – חיפושים מיודעים –
Present Progressive Present Progressive הווה עכשווי / ממושך.
©Silberschatz, Korth and Sudarshan4.1Database System Concepts סכימה לדוגמא.
(Paradigm=Example) Artist unknown A group of scientists placed 5 monkeys in a cage and in the middle, a ladder with bananas on the top. קבוצת מדענים.
לבופר המיקמק הכי יפה וחתיך ! הכנתי משהו בשבילך כדי שתיסלח לי ! קדימה !
מתמטיקה בדידה תרגול 3.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
מה החומר למבחן ? כל החומר שנלמד בהרצאות ובתרגולים. לגבי backtracking: לא תידרשו לממש אלגוריתם, אך כן להבין או להשלים מימוש נתון. אחת משאלות המבחן מבוססת.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
1 חישוב ואופטימיזציה של שאילתות חלק 2 Query Evaluation and Optimization Part 2.
ערכים עצמיים בשיטות נומריות. משוואה אופינית X מציין וקטור עצמי מציינת ערך עצמי תואם לוקטור.
CS Introduction to AI Tutorial 6 AB Questions Tutorial 6 AB Questions.
טיב פני שטח (טפ"ש) טיב פני שטח- רמת החלקות של המשטח.
Ray 7 דוגמא אלגוריתם 1.קבל דוגמאות 2. פלט f a עבור הדוגמה a המינימלית החיובית ?
Data Structures, CS, TAU, Perfect Hashing 1 Perfect Hashing בעיה : נתונה קבוצה S של n מפתחות מתחום U השוואה ל - Hash : * טבלה קבועה (Hash רגיל - דינאמי.
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
משטר דינמי – © Dima Elenbogen :14. הגדרת cd ו -pd cd - הזמן שעובר בין הרגע שראשון אותות הכניסה יוצא מתחום לוגי עד אשר אות המוצא יוצא מתחום.
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א מודל הלמידה מדוגמאות Learning.
עקרון ההכלה וההדחה.
Markov Decision Processes (MDP) תומר באום Based on ch. 14 in “Probabilistic Robotics” By Thrun et al. ב"הב"ה.
Particle Filter תומר באום ב"ה. מוטיבציה אנו רוצים להעריך מצב של מערכת (מיקום,מהירות טמפרטורה וכו') בעזרת מדידות שנעשות בזמנים שונים. ( כמו טווח לנקודות.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
Safari On-line books. מה זה ספארי ספארי זו ספריה וירטואלית בנושא מחשבים היא כוללת יותר מ כותרים כל הספרים הם בטקסט מלא ניתן לחפש ספר בנושא מסוים.
Points on a perimeter (Convex Hull) קורס – מבוא לעבוד מקבילי מבצעים – אריאל פנדלר יאיר ברעם.
1 Formal Specifications for Complex Systems (236368) Tutorial #3 Z introduction and notation (contd.); Birthday book example (Chapter 1 in the book)
Text to speech In Mobile Phones איתי לוי. הקדמה שימוש בהודעות טקסט על המכשירים הסלולארים היא דרך תקשורת מאוד פופולארית בימינו אשר משתמשים בה למטרות רבות,
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
- אמיר רובינשטיין מיונים - Sorting משפט : חסם תחתון על מיון ( המבוסס על השוואות בלבד ) של n מפתחות הינו Ω(nlogn) במקרה הגרוע ובממוצע. ניתן לפעמים.
Structure. מה לומדים היום ? דרך לבנות מבנה נתונים בסיסי – Structure מייצר " טיפוס " חדש מתאים כאשר רוצים לאגד כמה משתנים יחד דוגמאות : עובד : שם, טלפון,
Presentation by Gil Perry Supervised by Amos Fiat 1.
Kashrut is a mitzvah in the Torah and has been passed on through generations. Kashrut is a chok. this means that we don’t know why we do it but we.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
Costs and Filters Dr. Avi Rosenfeld Department of Industrial Engineering Jerusalem College of Technology
Population genetics גנים באוכלוסיות a population is a localized group of individuals belonging to the same species.
Data Structures Hanoch Levi and Uri Zwick March 2011 Lecture 3 Dynamic Sets / Dictionaries Binary Search Trees.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site:
. Sequence Alignment Tutorial #3 © Ydo Wexler & Dan Geiger.
קשר לוגי : סיבה ותוצאה. במשפט – דוגמות קלות בגלל הגשם החלטנו לא לנסוע לטיול לחיפה. הרצון שלי להצליח הניע אותי להשקיע בלימודים. ציפורים נודדות בין יבשות.
Human Wayfinding in Information Networks
Ad Hoc Network Lifetime Optimization
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
Programming Arrays.
Tirgul 12 Trees 1.
DOGMA: A Disk-Oriented Graph Matching Algorithm for RDF Databases
ריקי דרורי דירקטורית שיווק איזורית, גוגל אירופה ומזה"ת
Formal Specifications for Complex Systems (236368) Tutorial #1
מבוא למדעי המחשב סיבוכיות.
ניתוח זמן ריצה (על קצה המזלג)
תקשורת ומחשוב תרגול 1 IP, Classes and Masks.
תירגול 14: מבני נתונים דינאמיים
חיפוש לוקלי Local Search.
פרוקטוז, C6H12O6 , חד-סוכר מיוחד
ממשקים - interfaces איך לאפשר "הורשה מרובה".
משימת חקר מכוון ללמידה משמעותית
בעיות נוספות ב-NPC.
Marina Kogan Sadetsky –
ניתוח זמן ריצה (על קצה המזלג)
בחירת חומר גלם כתב: עמרי שרון.
תוכנה 1 תרגול 13 – סיכום.
A* and AO* Search Algorithm
Presentation transcript:

Nash Equilibrium in Ad Hoc Networks שלום! אני ויטלי. השותף שלי הוא ארסני. את הפרויקט שלנו- עשינו בהנחייתו של ד"ר מיכאל סגל. נושא הפרוייקט- Nash Equilibrium in Ad Hoc Networks Designed by: Aharonov Arseniy, Pisarev Vitaliy Supervised by: Dr. Segal Michael

Theoretical Framework Algorithm Results Future Work Outline Ad Hoc The Problem Theoretical Framework Algorithm Results Future Work אני לא אסביר שוב את טיבן של רשתות אד הוק. אני אציג את הבעיה ואת המסגרת התיאורטית. ארסני ידבר על האלגוריתם והתוצאות. ראשית, אני הולך לדבר בהרחבה על הבעיה שמעסיקה אותנו. אחר כך אני אדון במסגרת התיאורטית שהשתמשנו כדי להגדיר את הבעיה היטב ולבסוף כמה מילים על הרקע התיאורטי של האלגוריתם שכתבנו. ארסני ימחיש את האלגוריתם ויציג רק קמצוץ מהתוצאות שקיבלו.

No fixed wire-line backbone No access points Ad Hoc No fixed wire-line backbone No access points Only wireless hosts in plane Each host is a “router” Each host is a relay Applications Widespread emergence (not only military) אני אפנה את תשמת לבכם ל bullet האחרון. בדרך כלל נהוג לדבר על רשתות אד הוק שמיוצגות ע"י ישות אחת, כמו צבא או ממשלה. אנחנו מדברים על מקרה כבד וכללי יותר.

Theoretical Framework Algorithm Results Future Work Progress Ad Hoc The Problem Theoretical Framework Algorithm Results Future Work הבעיה.

General assumption doesn’t work What’s the Catch? General assumption doesn’t work Different controlling entities No centralized control No cooperation Topology Control Strongly connected network Efficient communication ביישומים אזרחיים, הטרמינלים ברשת מיוצגים ע"י ישויות שונות. כל ישות פועלת רק לטובתה. ולא לטובת הרשת כולה. אין שום יחידת בקרה שיכולה לכפות עליה מדיניות מסוימת. בגלל זה ההנחה שכל הטרמינלים משתפים פעולה אחד עם השני לא עובדת. הבעיה מתבטאת בכל שכבות הרשת. אנחנו מתייחסים לתופעה ב Topology Control בשכבת ה- DLC. זאת השכבה שבה הטרמינלים קובעים את רדיוסי השידור שלהם. מה שאנחנו מחפשים- זה ליצור רשת קשירה חזק עם תקשורת יעילה. במצב זה אנחנו נאלצים להתיר הנחה סמויה- ההנחה כי בבניית הרשת ולאחר מכן, הטרמינלים השונים משתפים פעולה אחד עם השני. ברשתות אזרחיות בעיית המפתח היא חוסר שיתוף פעולה. במילים אחרות- אנוכיות. האנוכיות מתבטאת בכל שכבות התקשורת. אנחנו מתמקדים בתופעה הזאת בשכבת ה- DLC (שכבה 2), השכבה שבה כל טרמינל בוחר את רדיוס השידור שלו ליצרית הרשת. כל קודקוד רוצה למזער את הרדיוס שלו, והוא בחיי לא יגדיל אותו כדי לעזור לקודקוד אחר. אנחנו בעצם נמצאים בתחום Topology Control, ששם מחליטים איזה רדיוס צריך להיות לכל אחד כדי שלרשת תהיה תכונה מסויימת. מטרת הפרויקט שלנו היא לבנות רשת קשירה חזק על המטרה הזו, והבעיה שעולה ממנה אני הולך לדבר. Assumption in current solutions: nodes cooperate in routing and packet forwarding in military and government networks and this is not valid in internet-like networks

What’s the Catch? (Cont.) If a node “thinks” it can reduce its radius – it will act on it How can a Node be sure that he is the only one “that smart”? rB=2 A possibility to deviate! Instability B בואו נסתכל על תסריט כזה: שלוש טרמינלים A,B ו –C. המעגלים הכתומים זה איזורי השידור שלהם. המספרים- המרחקים הפיסיים ביניהם והחיצים- ערוצי התקשורת. מנקודת מבט של C, הוא יכול להקטין את הרדיוס שלו ועדיין להגיע ל- B דרך A. לא הגבלת הכלליות- A יכול להקטין את הרדיוס שלו משיקולים סימטריים. >בלגן< עם הם עושים זאת ביחד, התחנה היחידה שנשארת קשירה חזק היא תחנה B. מסקנות... שלט: אם לקודקודים יש חופש לשנות את הרדיוסים שלהם, במקרה הטוב זה גורם לאי יציבות. מה זה אנוכיות- התבוננות של העולם מנקודת מבט של תועלת אישית בלבד. אז נסתכל על הרשת מנקודת מבט של כל קדקוד בנפרד: קודקוד A רואה שהוא לא צריך להחזיק רדיוס כזה גדול- הרשת תהיה קשירה חזק גם אם יהיה לו רדיוס 1. בלי הגבלת הכלליות- זה נכון גם לגבי קדקוד C. למה שאני יטחן אם מישהו אחר יעשה זאת במקומי?! הם שניהם מקטינים את הרדיוס ורשת קורסת כליל. 2 2 A C 1

No deviations – no problems What to do?... No deviations – no problems Nash Equilibrium B הפתרון: נציע לקודקודים טופולוגיה כזאת שהם לא יוכלו להקטין את הרדיוסים שלהם בלי שהם ינתקו את עצמם. בואו נסתכל על מקרה בו ההשמה ההתחלתית היא כזאת. >קליק<. C- אין לו כבר מה להקטין. ו A- כבר לא יכול לעבור דרך C ולכן נאלץ להישאר עם רדיוס 2. באופן כללי, נרצה למצוא השמת רדיוסים שבה אף קודקוד לא יכול להרוויח ע"י הקטנת הרדיוס שלו- ופעולה כזו תגרום לניתוקו מקודקודים כלשהם. השמה כזאת נקראת Nash Equilibrium. הבעיה נבעה מכך שהקודקודים היו אנוכיים- כל אחד חשב שהוא יכול לרכב על השני ואף אחד לא הביא בחשבון שהשני גם הולך לשנות את ההחלטה שלו. אם היו משתפים פעולה- היו יכולים להסכים שאחד מהם יטחן קצת בשביל השני. היות וזה בלתי אפשרי- אנחנו מעוניינים בהשמת רדיוסים התחלתית שבה לאף קודקוד לא יהיה מניע לשנות את בחירת הרדיוס שלו, אפילו אם יובטח לו מצב שבו הרדיוסים של כל הקודקודים האחרים מוקפאים, כלומר אין מצב שהוא ועוד מישהו אחר משנים תרדיוס- רק הוא. להשמת רדיוסים כזאת קוראים שיווי משקל נאש ולזה ותמיד נשאף להגיע אליו. הבעיה לא מסתיימת כאן! 2 A C 1

Equilibriums can have varying costs NP optimization problem What’s the Catch II? Equilibriums can have varying costs NP optimization problem Best heuristic provides 2*Optimum Our goal – a better result שיווי משקל נאש מבטיח יציבות ולא מבטיח תקשורת יעילה. מחיר של רשת מוגדר כסכום הרדיוסים של כל הטרמינלים. עבור כל פרישה יכולים להיות הרב מצבי שוו"מ, וכפי שכולכם כבר בטח ניחשתם- למצוא את הכי זול זו בעיה NP שלמה.. 5 3 2 4 5 2 =9 3 2 =7

Progress Ad Hoc The Problem Theoretical Framework Algorithm Results Future Work

Modeling the Problem Game Theory Genetic Algorithms Players - the terminals Strategies - choice of radii Goal - Strongly Connected Network בשביל להגדיר את הביעה שלנו היטב השתמשנו במושגים מתורת המשחקים. זאת עשינו כי מדובר בתחום שעושה ניתוח לבדיוק סוג המצב שתיארנו, כלומר אינטראקציות בין הרבה ישויות אנוכיות שלא משתפות פעולה. לא אפרט יותר מפאת חסר זמן. מה שיותר חשוב הוא הגישה שלנו לפתרון הבעיה: כמו שאמרתי, אנחנו עומדים לפני בעיית אופטימיזציה שאין לה פתרון דטרמיניסטי יעיל. במקרים כאלה ניתן להשתמש בתהליך הסתברותי לפתרון. אחד הכלים הכי חזקים התומכים בגישה של אופטימיזציה עם גורם הסתברותי הוא אלגוריתמים גנטיים. לאלגוריתמים אלה יש קונספט מאוד פשוט: נמצא הבה מאוד פתרונות לא אופטימלים- ובעזרתם כל הזמן ננסה לייצר משהו יותר טוב. בואו נראה איך זה עובד. Genetic Algorithms Evolution Random factor

Population of chromosomes - sub-optimal solutions Fitness function Mimic Evolution Population of chromosomes - sub-optimal solutions Fitness function Evolution cycles Mutation Reproduction via Crossover Natural Selection – the surviving of the strongest דבר ראשון- אנחנו מייצרים אוכלוסיה התחלתית של פתרונות שנקראים כרומוזומים. לאחר מכן אנחנו מפעילים עליהם את הפעולות גנטיות האלגוריתם הגנטי כולל שיטה להעריך פתרון, כלומר לתת לו ערך מספרי שיציין עד כמה הוא טוב או גרוע יותר מאחרים. מוטציה- כרומוזומים מסוימים,כלומר פתרונות מסוימים- עוברים שינוי אקראי בתכונות שלהם. לאחר מכן נבחרים זוגות מצוינים וכל זוג מחליף מקטעי תכונות שלמים, תוך יצירת זוג כרומוזומים צאצאים עם תכונות מעורבות של ההורים. זה הכול. תהליך הברירה הטבעית עובד באופן הבא: ברגע שהגדרנו היטב שיטה להעריך כל כרומוזום נקבע איזשהו Threshold לפיו מתבצעת החלטה האם הכרומוזום ישתתף בדור הבא או יסיים את קיומו בשלב הנכחי. התהליכים האלה מופעלים באופן מחזורי עד להתכנסות ( שארסני ידבר עליה) ובסוף הכרומוזום עם פונקצית הקשירות הכי טובה נלקח להיות הפלט של האלגוריתם. לפעמים יש צורך לזרז את תהליך ההתכנסות. אנחנו בחרנו בשיטה שלוקחת את אחד הכרומוזומים ומשפרת אותו באופן מלאכותי וע"י כך יוצרת פתרון הרבה יותר טוב מאחרים כבר בשלבים המוקדמים. כך אנחנו מבטיחים קיום של לפחות פריט חזק אחד.

Formal Problem Definition Input: N terminals in plain Goal: assign radii r={r1,…,rN} that satisfies Induced graph (G) is strongly connected r is a Nash Equilibrium The cost C(r)=iriα is minimized לפני שארסני יציג את האלגוריתם, אני אסכם ואגדיר את הבעיה ומטרתה באופן פורמלי ומפורש. הקלט שלנו הוא N נקודות במישור האוקלידי. המטרה: למצוא וקטור רדיוסים אשר יענה על האילוצים האלה: הגרף המושרה יהיה קשיר חזק. אף קודקוד לא יוכל לשנות את הרדיוס שלו, אפילו אם ידע מראש את הבחירות של כל הקדקודים האחרים- כלומר המערכת במצב שיווי משקל נאש. והדרישה שהביאה אותנו לכאן- המחיר הכולל של הרשת צריך להיות מינימלי.

Theoretical Framework Algorithm Results Future Work Progress Ad Hoc The Problem Theoretical Framework Algorithm Results Future Work ארסני ידבר עכשיו על האלגוריתם שכתבנו והמימוש שלו.

Representation of a Chromosome Our Algorithm Representation of a Chromosome Initial population contains N chromosomes Initial assignment r(0) ensures cliques Iterative stages (evolution cycles) C 2 A B C A כמו שוויטלי כבר הסביר – אנחנו ממשים אלגוריתם גנטי. כרומוזומים אצלנו בעצם מהווים השמות רדיוסים של הטרמינלים ברשת אד-חוק. רדיוס של קודקוד מאפיין את הקישוריות שלו/ באלגוריתם שלנו האוכלוסייה מתחילה בגודל N ככמות הקודקודים ברשת. בהתחלה כל הכרומוסומים זהים, כאשר לכל קודקוד יש את הרדיוס המכסימלי האפשרי. כלומר אני מקבלים קליקה. האלגוריתם כולו רץ בשלבים. כאשר כל שלב מהווה שלב אבולוציוני. ובכל שלב כזה מתבצעים התהליכים הגנטיים שוויטלי דיבר עליהם ואני אפרט אותם וממשום באלגוריתם שלנו. 1 1 3 2 1 3 B

The Algorithm - Mutation Randomly chosen candidates Random mutation הפעולה הראשונה היא מוטציה. רנדומאלית בוחרים כרומוזום למוטאציה הפילוג לפיו יבחרו המועמדים למוטאציה יכול לשמש כפרמטר של האלגוריתם כעט בחרנו בפילוג בינומי במועמד באופן אקראי נבחר קודקוד אשר בו תתבצע המוטציה שתגרום לקביעת רדיוס חדש עבור אותו הקודקוד זה אלול לשנות את קישוריות שלו לקודקודים האחרים ואף לנתק בגרף. 2 5 7 9 1 7 3 1 2 1 4 2 4 6 1 5 8

The Algorithm - Crossover Exchange one third of genetic information Population growth בניגוד למוטציה תהליך זה גורם לגידול האוכלוסייה. כלומר ההורים לא נמחקים. 2 5 7 9 1 7 3 1 2 1 1 4 2 6 3 5 2 2 1 5 5 8 1 1

Spotting Strongly Connected Components (SCCs) The Algorithm - Fixing Invalid chromosomes Spotting Strongly Connected Components (SCCs) SCC2 תהליכים שהסברתי לפני זה (מוטציה ו-crossover) יכולים לפגוע בתכונת ה-String Connectivity ולצור בעצם פתרונות לא ואלידיים. אנחנו מחפשים מרכיבים קשורים חזק. ואז בין כל שני מרכיבים אנחנו לוקחים קודקוד מכל אחד ומשלימים את הצלעות החסרות ביניהם על ידי הגדלת הרדיוס. ובזאת אנו מקבלים פתרון מתוקן תקף. כמובן שיש אלטרנטיבה – והיא פשוט מחיקה של הפתרונות כאלה. שימו לב אנחנו לא עושים שם בחירה אופטימאלית כאן כי במלה שני הכרומוזומים האלה לא מהווים פטרונות אופטימאליים אנחנו עושים את המינימום של המינים כדי לייצר פטרונות וואלידיים – אנחנו לא רוצים לייצר כאן פתרונות יקרים לתיקון הכרומוזומים SCC1 SCC3

The Algorithm - Acceleration Convergence catalyst A heuristic satisfying one or more of the constraints Strong connectivity (mandatory) Proximity to Nash Equilibrium Minimum cost אנחנו בעצם כבר תיארנו את כל הפעולות הגינטיות שאנחנו מבצעים בכל שלב אוולוציה אבל קיימת כאן איזו בעיה שאנו מנסים לפטור אלגוריתמים גינטיים מבוססים תהליכים אקראים אשר בסוף מביאים לפטרון אופטימאלי אבל הם איטיים. ואנחנו מעוניינים להכניס לתהליך זה איזה משהוא שיזרז את התהליך ההתכנסות לכן אנחנו משתמשים בתת-אלגוריתם שהוא בעצם זרז תפקיד הזרז באלגוריתם לייצר פיתרון עם ערך כשירות טוב ביחס לאחרים. בחירת הזרז מאוד חשובה וצריכה להיות נבונה כדי באמת להשיג את המטרה וגם לא להרוס את התוצאות של האלגוריתם לדוגמא יוריסטיקה מבוססת MST נותנת קוסט אופטימאלי – טוב בהתחלה אבל מפריע בסוף (מהווה פתרון ביניים לפתרון שלנו)

Chromosome evaluation (F – fitness function) Natural Selection Chromosome evaluation (F – fitness function) Threshold (thr)– average fitness If F>thr – chromosome is deleted The population size is kept in range [N,2N] ברירה טבעית, או- הישרדות החזקים. בכדי לבצע זאת אנחנו מבצעים הערכה של הפתרונות על ידי Fitness פונקציה שלנו. לאחר מכן אנחנו מחשבים ערך threshold שהוא בעצם ממוצע של ערכי ה-fitness ואחר כך כל הכרומוסומים שעוברים את ה-thr נמחקים. באותו הזמן אנחנו מנסים להחזיק את הגודל של האוכלוסייה בגבולות היגוניים. מצד אחד כדי למנוע "פיצוץ האוכלוסין" ומצד שני למנוע את הדילול של בריכת הגנים.

Max = A Evaluation C(r) _ 2*C(MST) Fitness function: F(r)=αA+(1-α) α – weighting coefficient A – approximation factor עכשיו נדבר איך אנחנו מבצעים הערכת הכרומוזום. ככה נראית פונקצית ההערכה. בעצם ניתן לראות שהפונקציה הזו היא שיכלול של שני גורמים כאשר alpha הוא מקדם השקלול – מספר בין 0 ל -1 והוא יכול לשמש כפרמטר שלהלגוריתם. הגורם הראשון הוא Approximation Factor שאני תכף אסביר אותו. והגורם השני הוא בעצם יחס בין משקל הכרומוזום ומשקל העץ הפורס המינימאלי. Approximation Factor: זה מזז אשר מראה עד כמה הכרומוזום הזה קרוב לNASH. כדי לחשב אותו אנחנו לוקחים קודקוד ומתחילים להקטין לו את הרדיוס עד לרגע כשהוא מעבד הקישוריות החזקה. ואז מחשבים את היחס בין הרדיוס התחלתי לבין הרדיוס הזה. אחר כך אנחנו מחזירים את הרדיוס ההתחלתי שלו ועושים את אותו התהליך עם קודקודים האחרים בסוף אנחנו בוחרים ביחס המרבי והוא מהווה את ה Approximation Factor. rcurrent rcritical r1 r2 r3 r4 Max = A

Output: the chromosome with the best fitness Stopping Conditions Static Maximal number of generations Dynamic History of deviations Convergence of deviation fluctuations Whichever comes first Output: the chromosome with the best fitness וכך רץ האלגוריתם שלנו עד לסיומו. כדי שהתהליך יסתיים אנחנו מגדירים את תנאי העצירה באופן הבא. תנאי האצירה מורכבים משני חלקים: הסטאטי והדינאמי. תנאי העצירה הסטטי בעצם מגדיר את כמות המרבית של שלבי האבולוציה כדי להבטיח את סיומו של האלגוריתם בחלק הדינאמי: בשביל כל דור אנחנו מחשבים את הסטייה של ערכיי פונקצית הכשירות (fitness function) אנחנו מנהלים רישום סטיות מספר קבוע של דורות אחורה ברגע שהתנודות של הסטייה נכנסים כולם לתחום מסוים אנחנו מסיימים את ריצת האלגוריתם.

C++ using Visual Studio v.6 LEDA package for graph manipulation Implementation C++ using Visual Studio v.6 LEDA package for graph manipulation Random Number Generation library for GNU Project LEDA – Library of Efficient Data Types and Algorithm

Progress Ad Hoc The Problem Theoretical Framework Algorithm Results Future Work

Results - Approximation Factor כאן אנו נציג לכם גרפים עבור כרומוזום הכי טוב בכל דור. בדוגמה זו הסתיים אחרי 19 דורות. ניתן ליראות התנהגות אופיינית של אלגוריתם גנטי, כלומר בהתחלה יש ערכים מאוד לא טובים. בשלב מסויים יש נפילה תלולה שבדרך כלל מביאה להתכנסות

Results – Best Fitness ניתן לראות התנהגות דומה גם עבור Fitness function.

Results – Visual Output

Progress Ad Hoc The Problem Theoretical Framework Algorithm Results Future Work

Future Work Distributed implementation Dynamic topology support

Thank You!