27.6.2011

בינה מלאכותית הבסיס

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

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

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

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

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







כן אני יודע כמה מה זה ניראה -__-" . בכל אופן זו היא סביבת המחשק הראשונה שראיתי (חבר צייר) המשחק הוא פשוט - אסור לעלות על החלקים השחורים ואסור לצאת מחוץ למסגרת , כמובן שהתמונה שאתם רואים מומרת גם היא למטריצה , המוח ניטען למקום לבן על הלוח ומקבל כל פעם את 8 המשבצות שסביבו (גם בצורה של מטריצה) ואחרי פעולות של הכפלת מטריצות בין המוח לבין הקלט (8 המשבצות שסביב המיקום של המוח בלוח) וכו מתקבלת תוצאה ועל פי התוצאה הזו המוח זז ימינה שמואלה למעלה למטה אלכסון וכו' - במידה המוח ניכנס לעזור שחור או יצא מגבול או שהוא מת כי הוא יצא מהלוח או שהוא מעבד נקודה - אם הצעד הבאה שלו היה למשבצת לבנה הוא מקבל נקודה פלוס - וככה הלאה כמו שהסברתי למעלה - מחדירים מוטציות וכו' ושמעו כשאני בניתי את הקוד הזה ב MLS והרצה של לילה שלם יצא לי מוח שפשוט עושה את העבודה - כן עם טיפה באגים (כאילו מה זה באגים הוא היה ניכנס לאיזה פינה ולא היה יוצא ממנה - כל פעם הולך לנקודה לבנה וחוזר לנקודה הקודמת וככה האלה - בתחלס הוא מקבל את מקסימום הנקודות אבל זה לא מה שציפינו - הייתי יכול לפתור את זה עם הייתי מוסף מטריצת זיכרון אבל למי יש כוח היה לי דברים אחרים לעשות). בכל אופן זה עובד זה יפה והמטרה ברור! אדם!

טוב בכייף - מאיפה מתחילים?
טוב בשלב הזה אני קימעת באותו מצב כמוכם (רק שלי יש טיפה יותר ידע מעשי ואני באנגאובר XD מתן מזל טוב בחור D:) טוב אז נתחיל מהקל לקשה (פאק עד עכשיו כתבתי 4 פעמים -טוב-) - כלומר - ניבנה את העולם שבו האדם יתפקד (סביבת המשחק) מטעמים אישיים אני יקרא למקום הזה -גן עדן- או ג"ן בקיצור - טוב נתחיל לקראו מדבריכים? חח את זה אני כבר ישאיר לפוסט הבאה.

אין תגובות:

הוסף רשומת תגובה