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

Post on 01-Jan-2016

51 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

מבוא

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

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

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

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

top related