שאלות הבהרה על עבודה 5

מנהלים: TA_nimrod, TA_Igor, TA_Adi, TA_nimrod, TA_Igor, TA_Adi

שלח תגובה
barshir
הודעות: 16
הצטרף: 22:56 04/11/2009

שאלות הבהרה על עבודה 5

שליחה על ידי barshir » 23:09 05/01/2010

1.שאלת הבנה לגבי task 10 במימוש השיטה reproduce:
מאחר ומערך pop ממויין לפי ה- fitness, החישוב של הסיכוי להבחר, עפ"י הנוסחא, תמיד יחזיר וצאות התואמות לסדר האיברים הנוכחי
במערך pop. כלומר, הסיכוי הגבוה ביותר להבחר הוא גם של האיבר במקום הראשון במערך pop ( בעל ה-fitness הטוב ביותר).
על כן, לא ברור מדוע נחוץ החישוב לבחירת האובייקט.
2. ב- task 8 כתוב:
public Individual mutate()
public Individual crossover(Individual other)
Make Individual implement the new interface.
Since Individual is an abstract class, and we do not
know how to perform variation on it, do not define
the methods of the interface. That way, their implementation
is delegated to the deriving classes.

על כן, האם מותר להגדירן כשיטות אבסטרקטיות במחלקה individual, שהרי מממשים אותן רק במחלקה היורשת.
3. מהם ה-java sources files שיש להגיש יחד עם שאר הקבצים?
4.האם הקבוע ideal fitness יכול להיות ברמת המחלקה או בתוך השיטה המתאימה?
5.האם fitness יכול להיות protected?

בר כהן
הודעות: 146
הצטרף: 18:24 22/10/2009

Re: שאלות הבהרה על עבודה 5

שליחה על ידי בר כהן » 02:56 06/01/2010

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

המערך ממוין על מנת שהבחירה מסוג זה תעבוד, זו בחירה יחסית שיוויונית, והיא מתאימה לכל אוכלוסיה שנבחר בלי קשר לאיזה פיטנס אנחנו מחפשים (גבוה/נמוך), או אם הפיזור של הפיטנס באוכלוסיה
קיצוני (לראשונים נגיד 1, ולאחרונים טריליון...), עדיין תשמור על מגוון. מקווה שהבהרתי את הכוונה..

2. כן, הן שיטות אבסטרקטיות ב-Individual.
3.

קוד: בחירת הכל

You should submit a ZIP file with Individual, Replicable, Variable, Selection, Population, Evolution,RankSelection,
 RegressionIndividual, and RegressionEvolution, Java source files.
4.לא סגור לגבי זה, אבל אני לא חושב שיש טעם להשתמש בקבוע ברמת השיטה... כי אז הוא פשוט יהיה משתנה מקומי רגיל.

5.לדעתי האישית, כן,אפשרי שיהיה private, אבל נראה לי יותר נוח protected :)

בהצלחה

Lecturer_Sipper
הודעות: 111
הצטרף: 17:41 05/11/2008

Re: שאלות הבהרה על עבודה 5

שליחה על ידי Lecturer_Sipper » 09:15 06/01/2010

barshir כתב:1.שאלת הבנה לגבי task 10 במימוש השיטה reproduce:
מאחר ומערך pop ממויין לפי ה- fitness, החישוב של הסיכוי להבחר, עפ"י הנוסחא, תמיד יחזיר וצאות התואמות לסדר האיברים הנוכחי
במערך pop. כלומר, הסיכוי הגבוה ביותר להבחר הוא גם של האיבר במקום הראשון במערך pop ( בעל ה-fitness הטוב ביותר).
על כן, לא ברור מדוע נחוץ החישוב לבחירת האובייקט.
2. ב- task 8 כתוב:
public Individual mutate()
public Individual crossover(Individual other)
Make Individual implement the new interface.
Since Individual is an abstract class, and we do not
know how to perform variation on it, do not define
the methods of the interface. That way, their implementation
is delegated to the deriving classes.

על כן, האם מותר להגדירן כשיטות אבסטרקטיות במחלקה individual, שהרי מממשים אותן רק במחלקה היורשת.
3. מהם ה-java sources files שיש להגיש יחד עם שאר הקבצים?
4.האם הקבוע ideal fitness יכול להיות ברמת המחלקה או בתוך השיטה המתאימה?
5.האם fitness יכול להיות protected?
1. ישנם שני שלבים: מיון ע"פ fitness, ולאחר מכן selection ע"פ מיקום.
בחירת אוביקט היא הסתברותית -- לממוקם ראשון סיכוי גבוה יותר, אך הוא לא בהכרח יבחר.
2. אין צורך להגדיר את mutate ו-crossover ב-Individual. מאחר ו-Individual מממשת את Variable, אך היא בעצמה אבסטרקטית, זה אומר שהיא אינה מחויבת לממש את mutate ו-crossover, היות ומחלקה יורשת (לא אבסטרקטית) תעשה זאת.
3. ראה הגדרה בתרגיל בסוף.
4. קבוע בד"כ יופיע ברמת כלליות הגבוהה ביותר המתאימה.
5. הכל יכול להיות -- תלוי במימוש.
פרופסור משה זיפר
מרכז הקורס "מבוא לתכנות למערכות מידע"
http://www.moshesipper.com


תמונה

שלח תגובה

חזור אל “- מבוא למדעי המחשב 2010”