אלגוריתמים אבולוציוניים

30
םםםםםםםםםם םםםםםםםםםםםם

Upload: kyle-frye

Post on 01-Jan-2016

51 views

Category:

Documents


0 download

DESCRIPTION

אלגוריתמים אבולוציוניים. מבוא. תחום האלגוריתמים האבולוציוניים שואב את השראתו מהאבולוציה בטבע. פותרים בעיקר בעיות חיפוש ואופטימיזציה. מאפשרים לפתור בעיות שלא ניתן לפתור בשיטות מסורתיות. דוגמא פשוטה: בעיית הגנב. נתונה קבוצה A המכילה N פריטים לכל פריט a i יש משקל w i , וערך v i - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: אלגוריתמים אבולוציוניים

אלגוריתמים אבולוציוניים

Page 2: אלגוריתמים אבולוציוניים

מבוא

תחום האלגוריתמים האבולוציוניים שואב את •השראתו מהאבולוציה בטבע.

פותרים בעיקר בעיות חיפוש ואופטימיזציה.•

מאפשרים לפתור בעיות שלא ניתן לפתור •בשיטות מסורתיות.

2

Page 3: אלגוריתמים אבולוציוניים

דוגמא פשוטה: בעיית הגנב

פריטים 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

Page 4: אלגוריתמים אבולוציוניים

קידוד המופע

ק"ג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

Page 5: אלגוריתמים אבולוציוניים

קידוד פתרון אפשרי

•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 =

Page 6: אלגוריתמים אבולוציוניים

אלגוריתם נאיבי

נעבור על כל הפתרונות האפשריים (ברקורסיה). •מבין כל הפתרונות המקיימים את אילוץ

המשקל, נחזיר פתרון בעל ערך מקסימאלי.כמה פתרונות אפשריים ישנם?•

2N

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

O(2N)!

Page 7: אלגוריתמים אבולוציוניים

אבולוציה

הרעיון הבסיסי: המתאים שורד•

יצורים בעלי מאפיינים גנטיים "טובים" יעבירו •את הגנים שלהם לדור הבא בעוד שהחלשים

ייעלמו.

דור אחר דור יצורים ישתנו ויתאימו את עצמם •לסביבתם המשתנה.

7

Page 8: אלגוריתמים אבולוציוניים

)1809-1882צארלס רוברט דרווין (

חוקר טבע אנגלי, נודע כאספן וכגיאולוג.•

הגה את תיאוריית הברירה הטבעית בשנת •1838.

שנה לפרסום 150 שנה להיוולדו, 200השנה: •ספרו "על מוצא המינים".

8

Page 9: אלגוריתמים אבולוציוניים

עיקרי התיאוריה של דרווין

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

האורגניזמים נבדלים זה מזה, והבדלים אלו •עוברים בתורשה לצאצאים.

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

הצאצאים המותאמים יותר לסביבה, הם אלו •שיעמידו עוד צאצאים.

9

Page 10: אלגוריתמים אבולוציוניים

הקשר בין אלגוריתם לאבולוציה

אלגוריתם גנטי הוא "חיקוי" של תהליך •אבולוציוני:

האלגוריתם מנהל "אוכלוסיה" המכילה פתרונות –אפשריים לבעיה שברצוננו לפתור.

הפרטים באוכלוסיה (הפתרונות) נבחנים על מנת –לקבוע עד כמה כל אחד מהם טוב.

הפתרונות הטובים יותר זוכים להעמיד צאצאים.–חזרה על פעולה זו למשך מספר "דורות" עד –

שהבעיה (אולי) נפתרת.

10

Page 11: אלגוריתמים אבולוציוניים

הקשר בין אלגוריתם לאבולוציה

:אלגוריתם גנטיהעולם האמיתי:בעיית אופטימיזציה. סביבה •קידוד של פתרון לבעיה. גנום •אוסף של פתרונות אפשריים (גנומים).אוכלוסיה•עד כמה הפתרון "טוב". התאמה•.איטרציה אחת של האלגוריתםדור•

אלגוריתם גנטי דוגם בצורה "חכמה" את מרחב הפתרונות האפשריים, במטרה למצוא פתרון טוב ככל הניתן.

11

Page 12: אלגוריתמים אבולוציוניים

כיצד מיצגים "גנום" (פתרון באוכלוסיה)?

אפשרות מקובלת להצגת פיתרון אפשרי היא ע"י •מחרוזת בינארית (מערך של אפסים ואחדים).

לדוגמא: בבעיית הגנב, המערך יקבע אילו • אי 0 מציין לקיחת חפץ ו-1חפצים לקחת, כאשר

לקיחה.

0 1 1 0 1 0 1 00000 1111

Page 13: אלגוריתמים אבולוציוניים

אוכלוסיה ופתרונות אפשריים

על מנת שאלגוריתם הגנטי יעבוד הוא צריך אוסף של •פתרונות אפשריים.

לאוסף זה נקרא אוכלוסיה.•

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

כי אותו הפתרון מופיע יותר מפעם אחת!

0 1 1 0 1 0 1 00000 1111

13

Page 14: אלגוריתמים אבולוציוניים

אופרטורים שהאלגוריתם מפעיל

)Reproduction (שכפול •

)Crossover(שחלוף •

)Mutation( מוטציה •

14

Page 15: אלגוריתמים אבולוציוניים

שכפול

בחירה בהסתברות גבוהה של פתרונות טובים •יותר שיהוו "הורים" לדור הבא.

Page 16: אלגוריתמים אבולוציוניים

שכפול: פונקצית מדד תאימות

•Fitness Function בוחנת פתרון ומחזירה ערך :המציין עד כמה הפתרון טוב.

16

9.72 17.1 13.4 24.1

Page 17: אלגוריתמים אבולוציוניים

שכפול: שרידות

בחירה של פתרונות הטובים יותר על פני •פתרונות טובים פחות על סמך פונקצית ה-

fitness .

לדוגמא: בחירה לפי טורניר•

17

0 1 1 0 00 111

0 0 1 1 00 101

בחירת אקראית של שני אינדיבידואלים

Fitness = 9.72

Fitness = 17.1

האינדיוידואל המתאים מבין השניים נבחר

Page 18: אלגוריתמים אבולוציוניים

)Crossover(שחלוף

מתבצע על שני פרטים ע"י Crossoverה- •הגרלת מיקום כלשהו במחרוזת הבינארית והחלפת הקטעים מהמקום הזה והלאה בין

שני הפרטים.דוגמא:•

Offspring 1: 10110101011Offspring 2: 11101011101

Parent 1: 10110101011

Parent 2: 11101011101

18

Page 19: אלגוריתמים אבולוציוניים

Mutationבטבע מוטציה היא שינוי אקראי של כרומוזום.•

מוטציה באלגוריתם גנטי הינה היפוך של ביט •מסוים במחרוזת של פתרון כלשהו מתוך

האוכלוסיה.

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

דוגמא:•

10110101011 10111101011

19

Page 20: אלגוריתמים אבולוציוניים

אלגוריתם אבולוציוני - תרשים

20

אוכלוסיה ישנה

בחירת פריט לשחלוף

Pcross שחלוף בהסתברות

בחירת פריט לשחלוף

Pmut מוטציה בהסתברות

אוכלוסיה חדשה

חישוב תאימות

Page 21: אלגוריתמים אבולוציוניים

אלגוריתם אבולוציוני כללי

GGnn

55

44

12

31

95

32

87

12

0

65

53

2

91

73

+

GGn+1n+1

=

crossover

mutation

fitness

21

Page 22: אלגוריתמים אבולוציוניים

תנאי עצירה של האלגוריתם

נעצור לאחר מספר צעדים מוגדר מראש.

או

נעצור כאשר נמצא פתרון מתאים (לא בהכרח אופטימלי).

22

Page 23: אלגוריתמים אבולוציוניים

תנאי עצירה של האלגוריתם

כל איטרציה של האלגוריתם נקראת דור.•

איטרציות.50-200בדרך כלל מבצעים בין •

בסוף יימצאו באוכלוסייה פתרון אחד או יותר •בעלי מדד תאימות גבוהה.

23

Page 24: אלגוריתמים אבולוציוניים

חזרה לבעיית הגנב- פונקצית התאימות

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

Page 25: אלגוריתמים אבולוציוניים

בעיית הגנב- פונקצית התאימות

הערכת פונקצית התאימות לכל אחד •מהאינדיבידואלים.

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

Page 26: אלגוריתמים אבולוציוניים

בעיית הגנב – שיחלוף ומוטציה

26

Page 27: אלגוריתמים אבולוציוניים

בעיית הגנב – דוגמת הרצה

• 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

Page 28: אלגוריתמים אבולוציוניים

בעיית הגנב – דוגמת הרצה

28

Page 29: אלגוריתמים אבולוציוניים

מסקנות

אלגוריתם אבולוציוני אינו דטרמיניסטי, שתי •ריצות יכולות להניב תוצאות שונות.

הפתרון המוחזר (האינדיבידואל הטוב ביותר) •אינו בהכרח האופטימאלי.

פונקצית התאימות מתכנסת לאורך זמן.•

29

Page 30: אלגוריתמים אבולוציוניים

THE END

30