AI-For-Beginners/translations/he/lessons/6-Other/21-GeneticAlgorithms
localizeflow[bot] c0566b76f0 chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:14:00 +00:00
..
Diophantine.ipynb 🌐 Update translations via Co-op Translator 2025-08-28 22:12:36 +00:00
Genetic.ipynb 🌐 Update translations via Co-op Translator 2025-08-28 22:12:36 +00:00
README.md chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:14:00 +00:00

README.md

אלגוריתמים גנטיים

שאלון לפני ההרצאה

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

אלגוריתמים גנטיים מבוססים על הרעיונות הבאים:

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

אם ברצונך ליישם אלגוריתם גנטי, תצטרך את הדברים הבאים:

  • למצוא שיטה לקידוד פתרונות הבעיה באמצעות גנים g∈Γ
  • על קבוצת הגנים Γ יש להגדיר פונקציית התאמה fit: Γ→R. ערכים קטנים יותר של הפונקציה מתאימים לפתרונות טובים יותר.
  • להגדיר מנגנון שחלוף לשילוב שני גנים יחד כדי לקבל פתרון חדש ותקף crossover: Γ2→Γ.
  • להגדיר מנגנון מוטציה mutate: Γ→Γ.

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

היישום הספציפי של אלגוריתם גנטי יכול להשתנות ממקרה למקרה, אך המבנה הכללי הוא כדלקמן:

  1. לבחור אוכלוסייה התחלתית G⊂Γ
  2. לבחור באופן אקראי אחת מהפעולות שתבוצע בשלב זה: שחלוף או מוטציה
  3. שחלוף:
    • לבחור באופן אקראי שני גנים g1, g2 ∈ G
    • לחשב שחלוף g=crossover(g1,g2)
    • אם fit(g)<fit(g1) או fit(g)<fit(g2) - להחליף את הגן המתאים באוכלוסייה ב-g.
  4. מוטציה - לבחור גן אקראי g∈G ולהחליפו ב-mutate(g)
  5. לחזור לשלב 2, עד שנקבל ערך קטן מספיק של fit, או עד שנגיע למגבלת מספר השלבים.

משימות טיפוסיות

משימות שנפתרות בדרך כלל באמצעות אלגוריתמים גנטיים כוללות:

  1. אופטימיזציה של לוחות זמנים
  2. אריזה אופטימלית
  3. חיתוך אופטימלי
  4. האצת חיפוש ממצה

✍️ תרגילים: אלגוריתמים גנטיים

המשך ללמוד במחברות הבאות:

עבור למחברת זו כדי לראות שני דוגמאות לשימוש באלגוריתמים גנטיים:

  1. חלוקה הוגנת של אוצר
  2. בעיית 8 המלכות

סיכום

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

🚀 אתגר

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

שאלון אחרי ההרצאה

סקירה ולימוד עצמי

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

מטלה: משוואה דיופנטית

המטרה שלך היא לפתור את מה שנקרא משוואה דיופנטית - משוואה עם שורשים שלמים. לדוגמה, שקול את המשוואה a+2b+3c+4d=30. עליך למצוא את השורשים השלמים שמקיימים את המשוואה.

מטלה זו בהשראת הפוסט הזה.

רמזים:

  1. ניתן לשקול שורשים בטווח [0;30]
  2. כגן, שקול להשתמש ברשימת ערכי השורשים

השתמש ב-Diophantine.ipynb כנקודת התחלה.