boolean array of values

מנהל: The Architect

נעול
golaniu
הודעות: 17
הצטרף: 21:55 04/12/2008

boolean array of values

שליחה על ידי golaniu » 11:52 13/02/2009

אני בדילמה איך לאתחל את מערך הבוליאנים שמייצג את הערכים במשימה 10 = SubsetSumIndividual.
האם כדאי לאפס את כולו ל-0 או אולי ל-1, או אולי אפילו חצי אפסים וחצי 1-ים?
או אולי רנדומלית לכל אינדיבידואל? שהרי חבל ל"בזבז" את האיטרציות הראשונות על ריצות מיותרות, מצד אחד, מצד שני, אני לא יכול להגיד שאני מבין את ההגיון ההתסברותי מאחורי התכנית ואולי בכלל זה לא משנה איך נאתחל את המעררך, בסופו של דבר נתאזן?
מה אומרים?

בל"ל
הודעות: 41
הצטרף: 21:11 21/11/2008

שליחה על ידי בל"ל » 12:19 13/02/2009

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

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

נעול

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