לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #4  
ישן 08-01-2008, 21:51
  angelg angelg אינו מחובר  
 
חבר מתאריך: 08.01.08
הודעות: 3
אני אסביר במה אני מתקשה
בתגובה להודעה מספר 1 שנכתבה על ידי angelg שמתחילה ב "עזרה בתרגיל, שפת C"

בתרגיל הנ"ל ( תרגיל מספר 1),

אתה מתבקש להכניס תשע ספרות

ואז אתה בוחר באפשרות הראשונה

ואז שוב בראשונה



הפונקציה הראשונה :
void mutation_217xxx (int& gene)



מבצעת ניחושים וכל ניחוש מקבל ציון של עד כמה הוא קרוב למספרים שכתבת בהתחלה

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

הפונקציה השניה :
int recombination_217xxx (int father, int mother).
מכל הניחושים לוקחים שני רצפים שרוצים מבצעים בנהם החלפה בכדי שיצא רצף הכי קרוב לרצף המקורי

החלפה הכוונה :

לוקחים איזה חלקם שרוצים משני הרצפים מחליפים בין המספרים ליצירת רצף אחד שיהיה הכי קרוב למה שכתבת בהתחלה

לדוגמה

987654321



123456789

החוקיות היא שאסור לשנות את המספרים ממקומם כלומם אפשר לקחת 1 מרצף ראשון ולשים במקום 9 אפשר לקחת 7 מרצף ראששון ולשים במקום שלוש

אפשר לקחת 654 מרצף ראשון ולשים

ב456.
האפשרות השניה (כלומר שאתה מקיש 2במסך השחור )היא לראות עד כמה שיפרת את הניחושים שלך ועד כמה הם התקרבו למספרים שאתה כתבת. הבעייה היא שאני לא מבין איך לבצע את התרגיל מה עליי לשנות בו?
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #5  
ישן 09-01-2008, 11:57
  sigsig sigsig אינו מחובר  
 
חבר מתאריך: 23.11.07
הודעות: 187
בתגובה להודעה מספר 4 שנכתבה על ידי angelg שמתחילה ב "אני אסביר במה אני מתקשה"

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

להבנתי, בתרגיל מס. 1 אתה צריך לעשות שני דברים:

1. לכתוב את פונקצית המוטציה שתרוץ על כל גן, למעט על הגן בעל התוצאה הטובה ביותר (מה שנקרא מודל הבחירה האליטיסטי).
2. לכתוב את פונקצית השחלוף (recombination) שמדמה רבייה מינית.

בשני המקרים, מבקשים ממך לכתוב משהו שיהיה מועיל ככל האפשר לתהליך האבולוציוני.
בוא נחשוב רגע מה המשמעות של 'מועיל לתהליך האבולוציוני'. הסיכוי שגן מסוים ישרוד תלוי באופן ישיר בתוצאה של פונקצית ההתאמה (fitness). לכן, כל מוטציה צריכה לנסות לשפר כמה שיותר את הערך שיוחזר כשפונק' ההתאמה תורץ על הגן.
איך נמקסם את הערך? לפי הקוד, fitness תחזיר 4 נקודות על כל ספרה שהיא בול פגיעה, ונקודה אחת לכל ספרה שהיא במרחק של 1 מהתוצאה הנכונה. כלומר, עבור כל מיקום i במספר, יש רצף של 3 ספרות בין 0 ל-9 שיתנו לך תוצאה שהיא בממוצע יותר טובה מכל רצף אחר של 3 ספרות. נסה לבדוק את ההסתברויות ולכתוב את הפונקציות בהתאם.
אני לא יודע מה המגבלות שלכם, אבל מהצצה בקוד נראה לי שבכל מקרה יש לך רק מידע לוקאלי - ז.א., אין לך 'זיכרון' של מה הגן המסויים שאתה בודק עכשיו עשה בדור הקודם. זה כמובן מגביל אותך בעד כמה יעיל אתה יכול להיות.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

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

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 12:09

הדף נוצר ב 0.03 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2026 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר