אלגוריתמים אבולוציוניים
מבוא
תחום האלגוריתמים האבולוציוניים שואב את •השראתו מהאבולוציה בטבע.
פותרים בעיקר בעיות חיפוש ואופטימיזציה.•
מאפשרים לפתור בעיות שלא ניתן לפתור •בשיטות מסורתיות.
2
דוגמא פשוטה: בעיית הגנב
פריטים N המכילה Aנתונה קבוצה •
vi, וערך wi יש משקל aiלכל פריט • ק"ג.Wהגנב יכול לסחוב בשק לכל היותר •
הבעיה היא לבחור תת קבוצה של פריטים •BA:כך ש
:Wמשקל הפריטים בשק קטן מ-–)ערך הפריטים בשק מקסימאלי:– )
i
ia B
p B v
( )i
ia B
w B w W
3
1 2, ,..., Na a a
קידוד המופע
ק"ג100 :משקל מקסימאלי•
a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
14 26 19 45 5 25 34 18 30 12
20 24 18 70 14 23 50 17 41 21
משקל
ערך
4
קידוד פתרון אפשרי
•B = {a1, a2, a5}, w(B) = 45 , p(B) = 58 5
a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
1 1 0 0 1 0 0 0 0 0
a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
14 26 19 45 5 25 34 18 30 12
20 24 18 70 14 23 50 17 41 21
A =
B =
אלגוריתם נאיבי
נעבור על כל הפתרונות האפשריים (ברקורסיה). •מבין כל הפתרונות המקיימים את אילוץ
המשקל, נחזיר פתרון בעל ערך מקסימאלי.כמה פתרונות אפשריים ישנם?•
2N
עד כה לא ידוע על אלגוריתם המוצא פתרון •אופטימאלי בזמן שהוא משמעותית טוב יותר מ-
O(2N)!
אבולוציה
הרעיון הבסיסי: המתאים שורד•
יצורים בעלי מאפיינים גנטיים "טובים" יעבירו •את הגנים שלהם לדור הבא בעוד שהחלשים
ייעלמו.
דור אחר דור יצורים ישתנו ויתאימו את עצמם •לסביבתם המשתנה.
7
)1809-1882צארלס רוברט דרווין (
חוקר טבע אנגלי, נודע כאספן וכגיאולוג.•
הגה את תיאוריית הברירה הטבעית בשנת •1838.
שנה לפרסום 150 שנה להיוולדו, 200השנה: •ספרו "על מוצא המינים".
8
עיקרי התיאוריה של דרווין
כל אורגניזם מעמיד יותר צאצאים מאשר •מסוגלים לשרוד בסביבה.
האורגניזמים נבדלים זה מזה, והבדלים אלו •עוברים בתורשה לצאצאים.
להבדלים המורשים הללו יש השפעה על יכולתם •של הצאצאים לשרוד ולהתרבות.
הצאצאים המותאמים יותר לסביבה, הם אלו •שיעמידו עוד צאצאים.
9
הקשר בין אלגוריתם לאבולוציה
אלגוריתם גנטי הוא "חיקוי" של תהליך •אבולוציוני:
האלגוריתם מנהל "אוכלוסיה" המכילה פתרונות –אפשריים לבעיה שברצוננו לפתור.
הפרטים באוכלוסיה (הפתרונות) נבחנים על מנת –לקבוע עד כמה כל אחד מהם טוב.
הפתרונות הטובים יותר זוכים להעמיד צאצאים.–חזרה על פעולה זו למשך מספר "דורות" עד –
שהבעיה (אולי) נפתרת.
10
הקשר בין אלגוריתם לאבולוציה
:אלגוריתם גנטיהעולם האמיתי:בעיית אופטימיזציה. סביבה •קידוד של פתרון לבעיה. גנום •אוסף של פתרונות אפשריים (גנומים).אוכלוסיה•עד כמה הפתרון "טוב". התאמה•.איטרציה אחת של האלגוריתםדור•
אלגוריתם גנטי דוגם בצורה "חכמה" את מרחב הפתרונות האפשריים, במטרה למצוא פתרון טוב ככל הניתן.
11
כיצד מיצגים "גנום" (פתרון באוכלוסיה)?
אפשרות מקובלת להצגת פיתרון אפשרי היא ע"י •מחרוזת בינארית (מערך של אפסים ואחדים).
לדוגמא: בבעיית הגנב, המערך יקבע אילו • אי 0 מציין לקיחת חפץ ו-1חפצים לקחת, כאשר
לקיחה.
0 1 1 0 1 0 1 00000 1111
אוכלוסיה ופתרונות אפשריים
על מנת שאלגוריתם הגנטי יעבוד הוא צריך אוסף של •פתרונות אפשריים.
לאוסף זה נקרא אוכלוסיה.•
שימו לב כי האוכלוסייה לאו דווקא כוללת• הפתרונות האפשריים, ועם זאת יתכןכלאת
כי אותו הפתרון מופיע יותר מפעם אחת!
0 1 1 0 1 0 1 00000 1111
13
אופרטורים שהאלגוריתם מפעיל
)Reproduction (שכפול •
)Crossover(שחלוף •
)Mutation( מוטציה •
14
שכפול
בחירה בהסתברות גבוהה של פתרונות טובים •יותר שיהוו "הורים" לדור הבא.
שכפול: פונקצית מדד תאימות
•Fitness Function בוחנת פתרון ומחזירה ערך :המציין עד כמה הפתרון טוב.
16
9.72 17.1 13.4 24.1
שכפול: שרידות
בחירה של פתרונות הטובים יותר על פני •פתרונות טובים פחות על סמך פונקצית ה-
fitness .
לדוגמא: בחירה לפי טורניר•
17
0 1 1 0 00 111
0 0 1 1 00 101
בחירת אקראית של שני אינדיבידואלים
Fitness = 9.72
Fitness = 17.1
האינדיוידואל המתאים מבין השניים נבחר
)Crossover(שחלוף
מתבצע על שני פרטים ע"י Crossoverה- •הגרלת מיקום כלשהו במחרוזת הבינארית והחלפת הקטעים מהמקום הזה והלאה בין
שני הפרטים.דוגמא:•
Offspring 1: 10110101011Offspring 2: 11101011101
Parent 1: 10110101011
Parent 2: 11101011101
18
Mutationבטבע מוטציה היא שינוי אקראי של כרומוזום.•
מוטציה באלגוריתם גנטי הינה היפוך של ביט •מסוים במחרוזת של פתרון כלשהו מתוך
האוכלוסיה.
המטרה היא למנוע הווצרות של פתרונות •כמעט זהים שלא ניתן לפתח אותם עוד.
דוגמא:•
10110101011 10111101011
19
אלגוריתם אבולוציוני - תרשים
20
אוכלוסיה ישנה
בחירת פריט לשחלוף
Pcross שחלוף בהסתברות
בחירת פריט לשחלוף
Pmut מוטציה בהסתברות
אוכלוסיה חדשה
חישוב תאימות
אלגוריתם אבולוציוני כללי
GGnn
55
44
12
31
95
32
87
12
0
65
53
2
91
73
+
GGn+1n+1
=
crossover
mutation
fitness
21
תנאי עצירה של האלגוריתם
נעצור לאחר מספר צעדים מוגדר מראש.
או
נעצור כאשר נמצא פתרון מתאים (לא בהכרח אופטימלי).
22
תנאי עצירה של האלגוריתם
כל איטרציה של האלגוריתם נקראת דור.•
איטרציות.50-200בדרך כלל מבצעים בין •
בסוף יימצאו באוכלוסייה פתרון אחד או יותר •בעלי מדד תאימות גבוהה.
23
חזרה לבעיית הגנב- פונקצית התאימות
a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
14 26 19 45 5 25 34 18 30 12
20 24 18 70 14 23 50 17 41 21
משקל
ערך
1 2 5( ) 45 100
( ) ( ) ( ) 298 58 240
w B w w w
Fitness B p A p B
24
( ) ( ), ( ) ,( )
( ), .
p A p B w B WFitness B
p A otherwise
בעיית הגנב- פונקצית התאימות
הערכת פונקצית התאימות לכל אחד •מהאינדיבידואלים.
25
Encoded Solution Weight Value Fitness
1100100000 45 58 298-58=240
11111111010 198 260 298
0100000000 26 24 298-24=274
0101100011 118 170 298
בעיית הגנב – שיחלוף ומוטציה
26
בעיית הגנב – דוגמת הרצה
• Population size: 100 individuals
• Crossover: Single pt., Pcross = 0.8
• Mutation: Bit flip, Pmut = 0.2
• Selection: tournament, groups of 2
• Termination condition: after 100 generations
27
בעיית הגנב – דוגמת הרצה
28
מסקנות
אלגוריתם אבולוציוני אינו דטרמיניסטי, שתי •ריצות יכולות להניב תוצאות שונות.
הפתרון המוחזר (האינדיבידואל הטוב ביותר) •אינו בהכרח האופטימאלי.
פונקצית התאימות מתכנסת לאורך זמן.•
29
THE END
30