מבחן 2010 שאלה 6

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

מבחן 2010 שאלה 6

הודעהעל ידי odedlei » 15:29 28/01/2010

שלום.
התשובות שאתם פירסמתם הינן population, ו nextGeneration .

שאלתי היא האם ניתן לכתוב גם RankSelection ו reproduce.
אנמק: השיטה nextGeneration קוראת ל reproduce, ולכן אם נשנה במחלקה ranSelection את שיטת reproduce באופן כזה שתבחר את האינדיבידואל הטוב ביותר מהדור הנוכחי (individual[0]) וכל אינידבידואל חדש יינוק תכונות ממנו, אז יהיה זה אותו דבר.
מצפה להתייחסות, תודה.
odedlei
 
הודעות: 32
הצטרף: 14:56 29/10/2009

Re: מבחן 2010 שאלה 6

הודעהעל ידי khitron » 15:43 28/01/2010

זה לא יהיה אותו דבר.
דורשים ממך להעתיק את הטוב ביותר פעם אחת בלבד,
ושאר האוכלוסייה לעשות לפי השיטה "הרגילה".
ואתה רוצה לערב את הטוב ביותר בכולם.
khitron
 
הודעות: 65
הצטרף: 11:05 22/10/2009

Re: מבחן 2010 שאלה 6

הודעהעל ידי etaiso » 16:05 28/01/2010

אני גם עשיתי ככה ..
etaiso
 
הודעות: 29
הצטרף: 19:46 05/11/2009

Re: מבחן 2010 שאלה 6

הודעהעל ידי odedlei » 17:08 28/01/2010

לא דרשו מאיתנו לעשות את שאר האוכלוסייה בשיטה ה"רגילה" זה אתה המצאת עכשיו.
odedlei
 
הודעות: 32
הצטרף: 14:56 29/10/2009

Re: מבחן 2010 שאלה 6

הודעהעל ידי khitron » 17:10 28/01/2010

דווקא כן.
אבל זה תלוי איך אתה מבין את "רגילה"
מבחינתי זה לקרוא ל-reproduce
khitron
 
הודעות: 65
הצטרף: 11:05 22/10/2009

Re: מבחן 2010 שאלה 6

הודעהעל ידי odedlei » 17:40 28/01/2010

תצטט איפה דרשו את זה .
odedlei
 
הודעות: 32
הצטרף: 14:56 29/10/2009

Re: מבחן 2010 שאלה 6

הודעהעל ידי TA_nimrod » 21:47 28/01/2010

khitron צודק בהחלט, השינוי שodedilei מציע אינו נכון ולא ישמור
על כך שרק הפרט הראשון יעבור.

והציטוט הוא הדרישה של השאלה !!
TA_nimrod
 
הודעות: 196
הצטרף: 00:07 17/11/2008

Re: מבחן 2010 שאלה 6

הודעהעל ידי shaivak » 22:29 28/01/2010

אבל אם נוסיף משתנה בוליאני ל rankselection שאומר מתי השיטה reproduce נקראת בפעם הראשונה בכל דור ובפעם הראשונה תחזיר את
הכי טוב ובשאר הפעמים תפעל כרגיל אז זה כן יעבוד, מה הבעיה עם זה?
shaivak
 
הודעות: 23
הצטרף: 19:54 27/12/2009

Re: מבחן 2010 שאלה 6

הודעהעל ידי TA_nimrod » 00:14 29/01/2010

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

בגלל זה יש בדיוק תשובה אחת אפשרית והיא שחייבים לממש את זה ברמת האוכלוסיה ובשיטה של nextgeneration.

לגביי הפתרון של המשתנה הבוליאני, ומה קורה שעוברים לדור הבא, צריך איכשהו לאפס את המשתנה, איך בדיוק ? על ידי שינוי של שיטת העבודה
באוכלוסיה ? כבר זה פוגם בנכונות של השיטה.
צוות הקורס (מתרגל)
TA_nimrod
 
הודעות: 196
הצטרף: 00:07 17/11/2008

Re: מבחן 2010 שאלה 6

הודעהעל ידי shaivak » 03:11 29/01/2010

אין לך בעיה כי אתה יודע כמה אינדודואלים יש בכל דור, כלומר, אם יש 1000 אינדודואלים אז תאפס את המשתנה כל 1000 קריאות, זה ניתן למימוש
shaivak
 
הודעות: 23
הצטרף: 19:54 27/12/2009

Re: מבחן 2010 שאלה 6

הודעהעל ידי shaivak » 03:22 29/01/2010

בשאלה אף אחד לא דיבר על "הרעיון של האלטיזם" פשוט דיברו על מנגנון מסויים ואיך אפשר לממש אותו, וכרגע עוד לא השתכנעתי שאי אפשר לממש אותו ב שיטות שונות.
shaivak
 
הודעות: 23
הצטרף: 19:54 27/12/2009

Re: מבחן 2010 שאלה 6

הודעהעל ידי TA_nimrod » 11:17 29/01/2010

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

מצטער אבל זה פשוט לא נכון לשים את זה בכל מקום אחר.
צוות הקורס (מתרגל)
TA_nimrod
 
הודעות: 196
הצטרף: 00:07 17/11/2008

Re: מבחן 2010 שאלה 6

הודעהעל ידי shaivak » 13:44 29/01/2010

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

אני מקבל שהפיתרון שהצעתם יעיל ואלגנטי הרבה יותר מפיתרון זה, אבל איני מקבל את האמרה שפיתרון זה לא נכון, פיתרון לא נכון לא פועל והפיתרון
אחרי העידכון שהצעתי הפיתרון תומך באלטיזם ופועל, אם תרצה אפילו אכתוב את הפיתרון על תרגיל 5 שלי.
shaivak
 
הודעות: 23
הצטרף: 19:54 27/12/2009

Re: מבחן 2010 שאלה 6

הודעהעל ידי TA_Yoni » 18:33 29/01/2010

אם נניח לרגע בצד האם התכנון שלך הוא נכון או לא (הוא לא בדרך אגב מאותן סיבות שאתה ונמרוד ציינתם ופתרון ש"עובד" הוא לווא דווקא נכון).
הפתרון שאתה מציע הוא למעשה להוסיף מחלקה חדשה. המחלקה החדשה שאתה יוצר היא ElitismRankSelection אשר יורשת
מ RankSelection.  
בכל מקרה אני מציע לך בינתיים להמתין לתוצאות של המבחן.
המתרגל יוני
TA_Yoni
 
הודעות: 236
הצטרף: 13:44 18/10/2009

Re: מבחן 2010 שאלה 6

הודעהעל ידי TA_nimrod » 19:50 29/01/2010

shaivak כתב:נכון אז הפיתרון שלך יותר יעיל וחסכוני בקוד, אבל גם הפיתרון הזה פועל, אני מניח שאתה מתכוון שהיינו חייבים להעביר לסלקציה גם את גודל האוכלוסיה או אינדיקציה אחרת של מתי לאפס.
אבל בתרגיל 5 עבדנו עם אוכלוסיה שמונה 1000 אינדווידואלים והשאלה הייתה ספציפית על תרגיל 5, אני מצטט:
"עליכם לעדכן את הקוד שכתבתם בתרגיל 5 על מנת שיתמוך באלטיזם"
וגם אף אחד לא אמר שאסור להעביר לסלקציה את גודל האוכלוסיה.

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


בשורה התחתונה, נשאלתם האם חייבים לממש אליטיזם במחלקה חדשה או שאפשר במחלקה קיימת והתשובה שלך מתייחסת למחלקה חדשה כי היא מדברת על סלקציה מטיפוס שונה ! ולא הסלקציה שאתם מימשתם ולכן הפתרון אינו יעיל וגם אינו נכון.
אבל כמו שיוני אמר, בוא נחכה לתשובות
צוות הקורס (מתרגל)
TA_nimrod
 
הודעות: 196
הצטרף: 00:07 17/11/2008

הבא

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

מי מחובר

משתמשים הגולשים בפורום זה: אין משתמשים רשומים ואורח אחד