מבחן 2010 שאלה 6

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

odedlei
הודעות: 32
הצטרף: 14:56 29/10/2009

מבחן 2010 שאלה 6

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

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

שאלתי היא האם ניתן לכתוב גם RankSelection ו reproduce.
אנמק: השיטה nextGeneration קוראת ל reproduce, ולכן אם נשנה במחלקה ranSelection את שיטת reproduce באופן כזה שתבחר את האינדיבידואל הטוב ביותר מהדור הנוכחי (individual[0]) וכל אינידבידואל חדש יינוק תכונות ממנו, אז יהיה זה אותו דבר.
מצפה להתייחסות, תודה.

khitron
הודעות: 65
הצטרף: 11:05 22/10/2009

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

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

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

etaiso
הודעות: 29
הצטרף: 19:46 05/11/2009

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

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

אני גם עשיתי ככה ..

odedlei
הודעות: 32
הצטרף: 14:56 29/10/2009

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

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

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

khitron
הודעות: 65
הצטרף: 11:05 22/10/2009

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

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

דווקא כן.
אבל זה תלוי איך אתה מבין את "רגילה"
מבחינתי זה לקרוא ל-reproduce

odedlei
הודעות: 32
הצטרף: 14:56 29/10/2009

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

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

תצטט איפה דרשו את זה .

TA_nimrod
הודעות: 196
הצטרף: 00:07 17/11/2008

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

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

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

והציטוט הוא הדרישה של השאלה !!

shaivak
הודעות: 23
הצטרף: 19:54 27/12/2009

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

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

אבל אם נוסיף משתנה בוליאני ל rankselection שאומר מתי השיטה reproduce נקראת בפעם הראשונה בכל דור ובפעם הראשונה תחזיר את
הכי טוב ובשאר הפעמים תפעל כרגיל אז זה כן יעבוד, מה הבעיה עם זה?

TA_nimrod
הודעות: 196
הצטרף: 00:07 17/11/2008

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

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

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

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

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

shaivak
הודעות: 23
הצטרף: 19:54 27/12/2009

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

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

TA_nimrod
הודעות: 196
הצטרף: 00:07 17/11/2008

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

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

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

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

shaivak
הודעות: 23
הצטרף: 19:54 27/12/2009

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

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

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

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

TA_Yoni
הודעות: 236
הצטרף: 13:44 18/10/2009

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

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

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

TA_nimrod
הודעות: 196
הצטרף: 00:07 17/11/2008

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

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

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

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

שלח תגובה

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