שלום, שמי כריסטיאן רודר,
ואני הייתי אחד המקימים של OK קופידון.
כרגע זה אחד מאתרי ההכרויות הגדולים ביותר בארצות הברית.
כמו כמעט כולם באתר,
הייתי בוגר מתמטיקה, וכמו שאתם יכולים לצפות,
אנחנו ידועים בגישה האנליטית
שיש לנו לאהבה.
אנחנו קוראים לה אלגוריתם ההתאמה שלנו.
בעיקרון אלגוריתם ההתאמה של OK קופידון
עוזר לנו להחליט אם שני אנשים צריכים לצאת לפגישה.
בנינו את כל העסק סביב זה.
עכשיו אלגוריתם זו מילה מפוארת,
ואנשים אוהבים להגיד אותה כאילו זה דבר גדול כזה,
אבל, למעשה, אלגוריתם הוא דרך,
שיטתית של שלב אחר שלב לפתור בעיה.
זה לא חייב להיות מפואר בכלל.
כאן, בשיעור הזה, אני עומד להסביר
איך הגענו לאלגוריתם היחודי שלנו
כך שתראו איך זה נעשה.
עכשיו, למה אלגוריתמים בכלל חשובים?
למה השיעור הזה בכלל קיים?
ובכן, שימו לב לביטוי אחד חשוב למעלה שהשתמשתי בו:
יש דרך של שלב אחר שלב לפתור את הבעיה,
וכמו שאתם בוודאי יודעים,
מחשבים מצטיינים בתהליכים של שלב אחר שלב.
מחשב בלי אלגוריתם
הוא בעיקרון משקולת נייר יקרה.
ומאחר ומחשבים הם דבר כה נפוץ בחיים היום יומיים,
אלגוריתמים הם בכל מקום.
המתמטיקה מאחורי אלגוריתם ההתאמה של OK קופידון
היא פשוטה להפליא.
זה פשוט קצת חיבור,
כפל,
ומעט שורשים מרובעים.
החלק הקשה בלתכנן את זה, עם זאת,
היה להבין איך לקחת משהו מסתורי,
משיכה אנושית,
ולפרק את זה לחלקים שמחשב יכול לעבוד איתם.
ובכן, הדבר הראשון שהיינו צריכים כדי לשדך אנשים היה מידע,
משהו לאלגוריתם לעבוד עליו.
הדרך הטובה ביותר כדי להשיג מידע מאנשים במהירות
הוא פשוט לבקש אותו.
אז, החלטנו שOK קופידון ישאל אנשים שאלות,
דברים כמו, "אתה רוצה ילדים יום אחד?"
ו "באיזו תכיפות אתה מצחצח את השיניים?",
"אתה אוהב סרטים מפחידים?"
ודברים גדולים כמו "אתה מאמין באלוהים?"
עכשיו, הרבה מהשאלות טובות
להתאמת תחומי עניין,
זה כששני האנשים עונים אותו הדבר.
לדוגמה, שני אנשים שאוהבים סרטים מפחידים
הם כנראה התאמה טובה יותר
מאדם אחד שאוהב
ואדם שני שלא.
אבל מה עם שאלות כמו,
"אתה אוהב להיות במרכז העניינים?"
אם שני האנשים ביחסים אומרים כן לזה,
אז הם יהיו בבעיה גדולה.
הבנו את זה די בהתחלה,
ואז החלטנו שאנחנו צריכים
יותר מידע מכל שאלה.
היינו צריכים לבקש מאנשים לפרט לא רק את התשובה שלהם,
אלא את התשובה שהם רצו מהאדם השני.
זה עבד ממש טוב,
אבל היינו צריכים עוד מימד.
כמה מהשאלות מספרות לכם על האדם יותר מאחרות.
לדוגמה, שאלה על פוליטיקה, משהו כמו,
"מה גרוע יותר: שריפת ספרים או שריפת דגלים?"
אולי תגלה יותר על מישהו מהטעם שלהם בסרטים.
וזה לא הגיוני לשקלל את כל הדברים במשקל זהה,
אז אנחנו צריכים להוסיף עוד נקודת מידע אחרונה.
לכל דבר שOK קופידון שואל אתכם,
יש לכם אפשרות להגיד לנו
את התפקיד שזה משחק בחייכם,
וזה נע מלא רלוונטי להכרחי.
אז עכשיו, לכל שאלה,
יש לנו שלושה דברים לאלגוריתם שלנו:
ראשית, את התשובה שלכם;
שנית, איך הייתם רוצים שמישהו אחר,
ההתאמה הפוטנציאלית שלכם,
יענה;
ושלישית, כמה השאלה בכלל חשובה לכם.
עם כל המידע הזה,
OK קופידון יכול להבין כמה שני אנשים יכולים להתאים.
האלגוריתם מעבד את המספרים ונותן לנו תוצאה.
כדוגמה מעשית,
בואו נראה איך נתאים אתכם לאדם אחר,
בואו נקרא לו, "ב".
התאמת האחוזים שלכם עם ב מבוססת על
שאלות ששניכם עניתם.
בואו נקרא לסט הזה של שאלות משותפות, "ס".
כדוגמה ממש פשוטה, נשתמש בסט קטן "ס"
עם רק שתי שאלות משותפות
ונחשב התאמה לפי זה.
הנה שתי שאלות הדוגמה שלנו.
הראשונה, נגיד, היא," כמה מבולגן אתה?"
והתשובות האפשריות הן
מאוד מבולגן,
ממוצע,
ומאוד מסודר.
ובואו נגיד שעניתם "מאוד מסודר,"
והייתם רוצים מישהו אחר שענה "מאוד מסודרים,"
והשאלה היא מאוד חשובה לכם.
בעיקרון אתם משוגעים לסדר.
אתם מסודרים,
אתם רוצים מישהו אחר שיהיה מסודר,
וזהו זה.
ובואו נגיד ש"ב" הוא מעט שונה.
הוא ענה מאוד מסודר על עצמו,
אבל ממוצע בסדר לו
כתשובה של מישהו אחר,
והשאלה רק מעט חשובה לו.
בואו נביט בשאלה השניה,
היא זאת מהדוגמה הקודמת שלנו:
"האם אתם אוהבים להיות מרכז העניינים?"
התשובות הן רק כן ולא.
עכשיו אתם עניתם "לא,"
ורציתם שגם השני יענה "לא,"
והשאלה היא רק מעט חשובה לכם.
עכשיו "ב", ענה "כן,"
והוא רוצה שהאחר יענה "לא,"
מפני שהוא רוצה את אור הזרקורים עליו,
והשאלה היא מעט חשובה לו.
אז, בואו ננסה לחשב את כל זה.
השלב הראשון שלנו הוא,
מאחר ואנחנו משתמשים במחשבים כדי לעשות את זה,
אנחנו צריכים לשייך ערכים מספריים
לרעיונות כמו "מעט חשוב" ומאוד חשוב"
מפני שמחשבים צריכים הכל במספרים.
אנחנו ב OK קופידון החלטנו על המדד הבא:
לא רלוונטי שווה 0,
קצת חשוב זה 1,
די חשוב שווה 10,
מאוד חשוב זה 50,
והכרחי לחלוטין זה 250.
אחרי זה, האלגוריתם עושה שני חישובים פשוטים.
הראשון הוא כמה התשובות של "ב" מספקות אתכם,
שזה אומר, כמה נקודות אפשריות "ב" קיבל במדד שלכם?
ובכן, אמרתם שהתשובה של "ב"
לשאלה הראשונה על סדר
היא מאוד חשובה לכם.
היא שווה 50 נקודות ו"ב" קלע אליה.
השאלה השניה שווה רק 1
מפני שאמרתם שזה רק קצת חשוב לכם,
ו"ב" לא קלע לזה.
אז התשובות של "ב" היו 50 מתוך 51 נקודות אפשריות.
זה סיפוק של 98%.
זה די טוב.
והשאלה השניה שהאלגורתם בודק
זה כמה אתם מספקים את "ב".
ובכן, "ב" נתן נקודה אחת לתשובה שלכם
לשאלת הסדר
ו 10 על התשובה שלכם לשניה.
מאלה, 11, זה 1 ועוד 10,
אתם הרווחתם 10,
אתם סיפקתם אחד את השני בשאלה השניה.
אז התשובה שלכם היתה 10 מתוך 11
שזה שווה ל 91% סיפוק ל "ב".
זה לא רע.
השלב האחרון הוא לקחת את שתי התאמות האחוז האלו
ולקבל מספר אחד לשניכם.
כדי לעשות את זה, האלגוריתם מכפיל את התוצאות שלכם,
אז הוא לוקח את השורש ה"n",
כש "n" הוא מספר השאלות.
מפני ש"ס", שזה מספר השאלות,
בדוגמה הזו, הוא רק 2,
יש לנו אחוז התאמה ששווה
לשורש ריבועי של 98% כפול 91%.
זה שווה 94%.
ה94% האלה הם אחוז ההתאמה שלכם ל"ב".
זה ביטוי מתמטי
של כמה מאושרים אתם תהיו אחד עם השני
בהתבסס על מה שאנחנו יודעים.
עכשיו, למה האלגוריתם מכפיל ולא
ממצע את שתי התוצאות יחד
ומחשב שורש ריבועי?
בכללי, הנוסחה נקראת הממוצע הגאומטרי,
שזו דרך מעולה לשלב ערכים
שיש להם טווח רחב
ומייצגים תכונות שונות מאוד.
במילים אחרות, זה מושלם להתאמה רומנטית.
יש לכם טווח רחב
ויש לכם המון נקודות מידע,
כמו שאמרתי, על סרטים,
על פוליטיקה,
על דת,
על הכל.
באופן אינטואיטיבי זה הגיוני.
שני אנשים שמספקים אחד את השני 50%
צריכים להיות התאמה טובה יותר
מאלה שמספקים אחד את השני 0 ו 100,
מפני שחיבה צריכה להיות הדדית.
אחרי הוספת תיקון קטן למרווח טעות,
במקרה שיש לנו מספר קטן של שאלות,
כמו שאנחנו עושים בדוגמה הזו,
אנחנו מוכנים לצאת לדרך.
כל פעם שOK קופידון מתאים שני אנשים,
הוא עובר את השלבים שהראנו.
ראשית הוא אוסף מידע על התשובות שלכם,
אז הוא משווה את הבחירות שלכם וההעדפות שלכם
לאנשים האחרים בדרכים מתמטיות פשוטות.
היכולת לקחת תופעה מהעולם האמיתי
ולהפוך אותה למשהו שמיקרומעבד יכול להבין,
היא, אני חושב,
היכולת הכי חשובה שיכולה להיות למישהו היום.
כמו שאתם משתמשים במשפטים כדי לספר סיפור לאדם,
אתם משתמשים באלגוריתמים לספר סיפור למחשב.
אם תלמדו את השפה,
אתם יכולים לצאת ולספר את הסיפורים שלכם.
אני מקווה שזה יעזור לכם לעשות את זה.