אז באירועי ההיכרות שאנחנו עושות, אנחנו מחלקות את המשתתפים (כ 40) לקבוצות של כ 8-10 משתתפים, ועושות כמה משחקים כאשר בין משחק למשחק הקבוצות מתערבבות והמטרה היא לחלק את הקבוצות כך שאנשים יכירו מקסימום אנשים חדשים.
צ'אט GPT וג'מיני הבינו את הבעיה, אבל הציגו פתרונות שגויים.
עם דף ועט הצלחתי ליצור חלוקה נחמדה שנראתה על פניו לא רעה.
אבל הבעיה המשיכה לסקרן אותי, אמרתי שאנסה לבנות איזשהו אלגוריתם פשוט על 12 אנשים שאחר כך ארחיב ל 40, ואז אראה אם אני יכולה בידע המאוד בסיסי שלי ב JS או פייתון לכתוב קוד שימצא לי את החלוקה המושלמת.
אבל ככל שקראתי על זה יותר הבנתי שמדובר בבעייה מורכבת מאוד - לפי ג'מיני יש 5775 אופציות לחלק 12 אנשים ל 3 קבוצות, ולטענתו אם יש לי 3-4 סבבי משחק שונים, זה מגיע לטריליונים. לא סופר סומכת עליו אבל אכן זה נשמע מורכב.
מה שכן, אני יכולה לכתוב קוד אופטימיזציה לבעיה ולהריץ אותו כמה אלפי פעמים ולראות מה התוצאה הכי טובה שאני מקבלת.
brainiacs יקרים, תגידו לי אם אני בכיוון (אין לי תואר מדעי או משהו כזה לצערי).
אז מה שרואים בציור זה 12 אנשים, מתחלקים ל 3 קבוצות, ב 3 סבבים. בכל חלוקה כזו נוצר אובייקט שמכיל אובייקטים, שכל אחד מהם סופר כמה פעמים אדם X פגש את כל האנשים האחרים.
כל פעם הקוד רץ ויוצר חלוקה רנדומלית, ואז נוצר "אובייקט האובייקטים". כשהאובייקט מסיים לרוץ ולספור את כל המפגשים, אני רוצה לסכום לאורך כל האובייקט את מס' הפעמים שהערך הוא 1 (=2 אנשים נפגשו רק פעם אחת). כלומר אם אדם X פגש את אדם Y אפס פעמים זה לא טוב לי, ואם הוא פגש אותו פעמיים ומעלה זה גם לא טוב לי. כל פעם שהקוד שלי מוצא מקסימום חדש, הוא שומר את החלוקה הנוכחית.
בסוף אני נשארת עם החלוקה הכי טובה שיצאה במס' ההרצות שלי, אף על פי שאין לדעת אם היא החלוקה הכי טובה האפשרית.
וכן אני לא פרפקציוניסטית, ואפשר גם סתם לחלק משתתפים רנדומלית וזהו, אבל האתגר הזה מעניין אותי 🤓, וכן החוויה משתפרת כמה שיוצא לכולם להכיר אנשים חדשים.
#דבריםשמרגשיםאותי
#אניבמקצועהלאנכון
#רגעאיןליבעצםמקצוע
אה ואם אתם רוצים להרשם ברשימת מתעניינים לאירוע שלנו במרכז, זה https://e959.short.gy/OwI2Pz