80 likes | 226 Views
אלגוריתם אבולוציוני ליצירת תמונה. מיני פרויקט בחישוב מונחה טבע מנחה: פרופ' משה זיפר מגישות: קרן בנדלק וליטל שי. מהו אלגוריתם אבולוציוני ?.
E N D
אלגוריתם אבולוציוני ליצירת תמונה מיני פרויקט בחישוב מונחה טבע מנחה: פרופ' משה זיפר מגישות: קרן בנדלק וליטל שי
מהו אלגוריתם אבולוציוני? • "השם אלגוריתמים גנטיים מתאר משפחה של אלגוריתמיםלמיטוב (אופטימיזציה), שבהם משלבים זה בזה פתרונות אפשריים לבעיה, ומפעילים הליכים של ברירה טבעיתכדי לבחור את המועמדים שיעברו לשלבים הבאים. רעיון תכנותיבסיסי זה מושפע מן היעילות של האבולוציהבפתרון בעיות אמיתיות. " (מתוך ויקיפדיה).
מבנה אלגוריתם אבולוציוני • אוכלוסייה התחלתית • Fitness • במשך מספר דורות: • Selection • Crossover ואז mutation • Fitness • בסוף נחזיר את הטוב מכל הדורות
מבנה אלגוריתם אבולוציוני - המשך • אוכלוסייה התחלתית:יצירת אוכלוסייה אקראית לחלוטין שהיא למעשה הקלט שלנו.
Fitness– פונקציה שמעריכה כמה יצור באוכלוסייה מתאים לתנאים שהסביבה מגדירה לו. מחלקים "ציונים" לכל יצור לפי תכונה נשמרת מסוימת.
במשך מספר דורות: • מבצעים את ה-selection, רוצים לבחור מי יהיו ההורים של הצאצאים בדור הבא. איך נבחר? מי שהיה טוב בדור הנוכחי, ניתן לו יותר סיכוי בדור הבא ולכן סביר להניח שלמי שהיה ציון גבוה יותר בדור הקודם. • עבור הבחירה שנוצרה מבצעים crossover and mutation . • Crossover הינו העמדת צאצאים לדור הבא בין כל זוג יצורים. • Mutation – עוברים על הצאצאים ובוחרים מישהו אקראית ומחליטים לעשות לו איזשהו שינוי קטן בדנ"א (מוטציה). חיקוי של מה שקורה בטבע. • מודדים לצאצאים שקיבלנו fitness וזה כבר בעצם הדור הבא. • בסוף נחזיר את הטוב מכל הדורות מכיוון שככל שמתקדמים בדור הציונים עולים (בגלל ש"משבחים" כל דור על ידי בחירת הצאצאים בעלי הציון הגבוה ביותר).
הגדרת הבעיה • קלט:תמונה המיוצגת על ידי מטריצה של פיקסלים. • פלט:תמונה מקורבת שנוצרת על ידי אלגוריתם אבולוציוני.
Mona Lisa approximated with 150 circles through hill climbing genetic algorithm: http://www.youtube.com/watch?v=rGt3iMAJVT8