Boids

Boids היא תוכנת חיים מלאכותיים שפותחה בידי קרייג ריינולדס בשנת 1986, ומדמה את ההתנהגות הלהקתית של עופות ודגים. מאמרו על הנושא פורסם בשנת 1987 במהלך ועידה של אגודת המחשוב ACM. מקור השם boids בהגייה הניו-יורקית של המילה האנגלית Birds, ציפורים. בדומה לסימולציות חיים מלאכותיים אחרות, פעולתה של התוכנה מהווה דוגמה להתנהגות מופיעה (emergent behavior) - רוצה לומר, ההתנהגות המורכבת הנצפית נובעת מהאינטראקציה בין הסוכנים העצמאיים (במקרה זה, ה-Boids) הפועלים כל אחד לפי מספר כללים פשוטים, ולא מתכנון מרכזי. בסימולציה קיימים שלושה חוקים עבור כל Boid: הפרדה - המנע מלהתנגש בחברי להקה אחרים. היערכות - התאם את המהירות (הווקטורית) למהירות של חברי להקה שכנים. קוהזיה - נוע לעבר מרכז המסה של חברי להקה שכנים. ניתן להוסיף גם מרכיב אקראי מסוים לתנועה. כמו כן, ניתן להוסיף כללים מורכבים יותר, כמו הימנעות ממכשולים ותנועה לעבר אתר מסוים. המודל הבסיסי פותח והורחב מאז ריינולדס פרסם אותו. כך, לדוגמה, דלגדו-מאטה ושותפיו הרחיבו את המודל וכללו בו השפעה של פחד - נעשה שימוש ב"חוש ריח" כדי להעביר רגשות בין חברי הלהקה, באמצעות פורומונים שמודלו כחלקיקי גז. הרטמן ובנס הוסיפו כלל מקביל ל"היערכות", לו הם קראו קריאת תיגר על מנהיגות. כלל זה מבטא את הסיכוי של חבר להקה להיהפך ל"מנהיג" ולנסות לברוח מהלהקה. התנהגות הלהקה יכולה להיות כאוטית או מסודרת, כתלות במשקל שניתן לכללים השונים. התנהגויות לא צפויות, כמו פיזור של הלהקה כתוצאה מהתקלות במכשול, ואיחוד מחדש לאחר מכן, יכולות להחשב להתנהגויות מופיעות. התוכנה מהווה סימולציה להתנהגות להקתית הנפוצה מאוד בטבע ולתופעות של התנהגות נחילית (Swarm behaviour), כגון זרזירים העפים במהירות ובתיאום מושלם בלהקות ענק ומשנים את כיוון התעופה באופן תכוף וחד, או להקות דגים צפופות שמתפזרות במהירות כאשר מתקרב טורף וחוזרות ומתאחדות מיד לאחר היעלמות הסכנה. בעבר נטען שהתנהגויות אלו מעידות על היותן של הלהקות "אורגניזם-על" בעל אינטליגנציה קבוצתית, אך המודל מראה שניתן להסביר התנהגות כזו - לפחות במידה מסוימת - על בסיס מספר כללים פשוטים הנשמרים על ידי כל אחד מחברי הלהקה, גם ללא תיאום מכוון ביניהם וללא תכנון מרכזי. בסימולציית ה-Boids ובסימולציות מתקדמות יותר נעשה שימוש תכוף בגרפיקה ממוחשבת, כדי לשוות מראה ריאליסטי ללהקות ציפורים ודגים ועדרי בעלי-חיים שונים. כך, לדוגמה, נעשה בסימולציה שימוש במשחק Half-Life כדי לדמות את התנועה של יצור דמוי-ציפור. פיתוח הסימולציה על ידי ריינולדס היווה קפיצה משמעותית קדימה ביחס לטכניקות המסורתיות שנעשה בהן שימוש בגרפיקה ממוחשבת למטרות אלו. האנימציה הראשונה שנוצרה באמצעות המודל נקראה "(Stanley and Stella in) Breaking the Ice" ולאחר מכן נעשה בה שימוש בהפקת הסרט באטמן חוזר ליצירת להקות עטלפים ממוחשבות שעפו ברחובות גות'אם סיטי. למודל נמצאו שימושים נוספים, כגון המחשה של אינפורמציה ומשימות אופטימיזציה שונות. מדיה וקבצים בנושא Boids בוויקישיתוף עמוד ה-Boids של קרייג ריינולדס הסבר על האלגוריתם ופסאודוקוד יישום ג'אווה סימולציה תלת-ממדית באמצעות openGL יישום נוסף, הכולל כללים נוספים כמו הימנעות מסכנה מה קורה כשמנהיג להקת בעלי חיים הוא רובוט?, אתר "הידען" elgado-Mata C, Ibanez J, Bee S, et al. (2007). "[On the use of Virtual Animals with Artificial Fear in Virtual Environments http://www.springerlink.com/content/9270538165n11901/?MUD=MP]". New Generation Computing 25 (2): 145–169. doi:10.1007/s00354-007-0009-5. Hartman C, Benes B (2006). "[Autonomous boids http://onlinelibrary.wiley.com/doi/10.1002/cav.123/abstract;jsessionid=BE209218A25A5376DDBCA336C68C45AA.d03t04]". Computer Animation and Virtual Worlds 17 (3-4): 199–206. doi:10.1002/cav.123 Lebar Bajec, I. and F. H. Heppner (2009). "[Organized flight in birds http://lrss.fri.uni-lj.si/people/ilbajec/papers/ilb_ab09.pdf]". Animal Behaviour. Moere A V (2004). "[Time-Varying Data Visualization Using Information Flocking Boids http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=1382896]". Proceedings of the IEEE Symposium on Information Visualization. pp. 97-104. doi:10.1109/INFVIS.2004.65. Cui Z, Shi Z (2009). "[Boid particle swarm optimisation http://www.inderscience.com/offer.php?id=31778]". International Journal of Innovative Computing and Applications 2 (2): 77–85. doi:10.1504/IJICA.2009.031778.