WEBVTT 00:00:17.602 --> 00:00:19.239 שלום, שמי כריסטיאן רודר, 00:00:19.239 --> 00:00:21.875 ואני הייתי אחד המקימים של OK קופידון. 00:00:21.875 --> 00:00:24.502 כרגע זה אחד מאתרי ההכרויות הגדולים ביותר בארצות הברית. 00:00:24.502 --> 00:00:25.749 כמו כמעט כולם באתר, 00:00:25.749 --> 00:00:27.296 הייתי בוגר מתמטיקה, וכמו שאתם יכולים לצפות, 00:00:27.296 --> 00:00:28.644 אנחנו ידועים בגישה האנליטית 00:00:28.644 --> 00:00:29.887 שיש לנו לאהבה. 00:00:29.887 --> 00:00:31.717 אנחנו קוראים לה אלגוריתם ההתאמה שלנו. 00:00:31.717 --> 00:00:33.428 בעיקרון אלגוריתם ההתאמה של OK קופידון 00:00:33.428 --> 00:00:36.481 עוזר לנו להחליט אם שני אנשים צריכים לצאת לפגישה. 00:00:36.481 --> 00:00:38.765 בנינו את כל העסק סביב זה. 00:00:38.765 --> 00:00:40.572 עכשיו אלגוריתם זו מילה מפוארת, 00:00:40.572 --> 00:00:43.047 ואנשים אוהבים להגיד אותה כאילו זה דבר גדול כזה, 00:00:43.047 --> 00:00:45.148 אבל, למעשה, אלגוריתם הוא דרך, 00:00:45.148 --> 00:00:47.817 שיטתית של שלב אחר שלב לפתור בעיה. 00:00:47.817 --> 00:00:49.949 זה לא חייב להיות מפואר בכלל. 00:00:49.949 --> 00:00:51.802 כאן, בשיעור הזה, אני עומד להסביר 00:00:51.802 --> 00:00:53.657 איך הגענו לאלגוריתם היחודי שלנו 00:00:53.657 --> 00:00:55.660 כך שתראו איך זה נעשה. 00:00:55.660 --> 00:00:57.576 עכשיו, למה אלגוריתמים בכלל חשובים? 00:00:57.576 --> 00:00:59.045 למה השיעור הזה בכלל קיים? 00:00:59.045 --> 00:01:02.457 ובכן, שימו לב לביטוי אחד חשוב למעלה שהשתמשתי בו: 00:01:02.457 --> 00:01:05.029 יש דרך של שלב אחר שלב לפתור את הבעיה, 00:01:05.029 --> 00:01:05.841 וכמו שאתם בוודאי יודעים, 00:01:05.841 --> 00:01:08.470 מחשבים מצטיינים בתהליכים של שלב אחר שלב. 00:01:08.470 --> 00:01:09.588 מחשב בלי אלגוריתם 00:01:09.588 --> 00:01:12.933 הוא בעיקרון משקולת נייר יקרה. 00:01:12.933 --> 00:01:15.430 ומאחר ומחשבים הם דבר כה נפוץ בחיים היום יומיים, 00:01:15.430 --> 00:01:17.223 אלגוריתמים הם בכל מקום. 00:01:18.515 --> 00:01:20.267 המתמטיקה מאחורי אלגוריתם ההתאמה של OK קופידון 00:01:20.267 --> 00:01:21.811 היא פשוטה להפליא. 00:01:21.811 --> 00:01:22.629 זה פשוט קצת חיבור, 00:01:22.629 --> 00:01:23.687 כפל, 00:01:23.687 --> 00:01:25.340 ומעט שורשים מרובעים. 00:01:25.340 --> 00:01:27.611 החלק הקשה בלתכנן את זה, עם זאת, 00:01:27.611 --> 00:01:30.235 היה להבין איך לקחת משהו מסתורי, 00:01:30.235 --> 00:01:31.212 משיכה אנושית, 00:01:31.212 --> 00:01:33.810 ולפרק את זה לחלקים שמחשב יכול לעבוד איתם. 00:01:33.810 --> 00:01:36.360 ובכן, הדבר הראשון שהיינו צריכים כדי לשדך אנשים היה מידע, 00:01:36.360 --> 00:01:38.382 משהו לאלגוריתם לעבוד עליו. 00:01:38.382 --> 00:01:40.412 הדרך הטובה ביותר כדי להשיג מידע מאנשים במהירות 00:01:40.412 --> 00:01:41.747 הוא פשוט לבקש אותו. 00:01:41.747 --> 00:01:44.166 אז, החלטנו שOK קופידון ישאל אנשים שאלות, 00:01:44.166 --> 00:01:46.834 דברים כמו, "אתה רוצה ילדים יום אחד?" 00:01:46.834 --> 00:01:48.754 ו "באיזו תכיפות אתה מצחצח את השיניים?", 00:01:48.754 --> 00:01:50.227 "אתה אוהב סרטים מפחידים?" 00:01:50.227 --> 00:01:53.514 ודברים גדולים כמו "אתה מאמין באלוהים?" 00:01:53.514 --> 00:01:55.308 עכשיו, הרבה מהשאלות טובות 00:01:55.308 --> 00:01:56.381 להתאמת תחומי עניין, 00:01:56.381 --> 00:01:59.052 זה כששני האנשים עונים אותו הדבר. 00:01:59.052 --> 00:02:01.471 לדוגמה, שני אנשים שאוהבים סרטים מפחידים 00:02:01.471 --> 00:02:02.684 הם כנראה התאמה טובה יותר 00:02:02.684 --> 00:02:03.843 מאדם אחד שאוהב 00:02:03.843 --> 00:02:05.115 ואדם שני שלא. 00:02:05.115 --> 00:02:06.480 אבל מה עם שאלות כמו, 00:02:06.480 --> 00:02:08.189 "אתה אוהב להיות במרכז העניינים?" 00:02:08.189 --> 00:02:10.729 אם שני האנשים ביחסים אומרים כן לזה, 00:02:10.729 --> 00:02:13.068 אז הם יהיו בבעיה גדולה. 00:02:13.068 --> 00:02:14.447 הבנו את זה די בהתחלה, 00:02:14.447 --> 00:02:15.614 ואז החלטנו שאנחנו צריכים 00:02:15.614 --> 00:02:17.581 יותר מידע מכל שאלה. 00:02:17.581 --> 00:02:20.332 היינו צריכים לבקש מאנשים לפרט לא רק את התשובה שלהם, 00:02:20.332 --> 00:02:23.038 אלא את התשובה שהם רצו מהאדם השני. 00:02:23.038 --> 00:02:24.207 זה עבד ממש טוב, 00:02:24.207 --> 00:02:26.291 אבל היינו צריכים עוד מימד. 00:02:26.291 --> 00:02:28.835 כמה מהשאלות מספרות לכם על האדם יותר מאחרות. 00:02:28.835 --> 00:02:31.795 לדוגמה, שאלה על פוליטיקה, משהו כמו, 00:02:31.795 --> 00:02:34.589 "מה גרוע יותר: שריפת ספרים או שריפת דגלים?" 00:02:34.589 --> 00:02:37.207 אולי תגלה יותר על מישהו מהטעם שלהם בסרטים. 00:02:37.207 --> 00:02:39.387 וזה לא הגיוני לשקלל את כל הדברים במשקל זהה, 00:02:39.387 --> 00:02:41.605 אז אנחנו צריכים להוסיף עוד נקודת מידע אחרונה. 00:02:41.605 --> 00:02:43.440 לכל דבר שOK קופידון שואל אתכם, 00:02:43.440 --> 00:02:44.642 יש לכם אפשרות להגיד לנו 00:02:44.642 --> 00:02:46.223 את התפקיד שזה משחק בחייכם, 00:02:46.223 --> 00:02:49.089 וזה נע מלא רלוונטי להכרחי. 00:02:49.089 --> 00:02:50.564 אז עכשיו, לכל שאלה, 00:02:50.564 --> 00:02:52.692 יש לנו שלושה דברים לאלגוריתם שלנו: 00:02:52.692 --> 00:02:54.068 ראשית, את התשובה שלכם; 00:02:54.068 --> 00:02:56.362 שנית, איך הייתם רוצים שמישהו אחר, 00:02:56.362 --> 00:02:57.196 ההתאמה הפוטנציאלית שלכם, 00:02:57.196 --> 00:02:58.781 יענה; 00:02:58.781 --> 00:03:02.327 ושלישית, כמה השאלה בכלל חשובה לכם. 00:03:02.327 --> 00:03:03.702 עם כל המידע הזה, 00:03:03.702 --> 00:03:07.128 OK קופידון יכול להבין כמה שני אנשים יכולים להתאים. 00:03:07.128 --> 00:03:09.458 האלגוריתם מעבד את המספרים ונותן לנו תוצאה. 00:03:09.458 --> 00:03:11.262 כדוגמה מעשית, 00:03:11.262 --> 00:03:13.712 בואו נראה איך נתאים אתכם לאדם אחר, 00:03:13.712 --> 00:03:15.581 בואו נקרא לו, "ב". 00:03:15.581 --> 00:03:17.479 התאמת האחוזים שלכם עם ב מבוססת על 00:03:17.479 --> 00:03:19.424 שאלות ששניכם עניתם. 00:03:19.424 --> 00:03:21.978 בואו נקרא לסט הזה של שאלות משותפות, "ס". 00:03:21.978 --> 00:03:24.932 כדוגמה ממש פשוטה, נשתמש בסט קטן "ס" 00:03:24.932 --> 00:03:26.434 עם רק שתי שאלות משותפות 00:03:26.434 --> 00:03:28.310 ונחשב התאמה לפי זה. 00:03:28.310 --> 00:03:30.144 הנה שתי שאלות הדוגמה שלנו. 00:03:30.144 --> 00:03:32.349 הראשונה, נגיד, היא," כמה מבולגן אתה?" 00:03:32.349 --> 00:03:34.669 והתשובות האפשריות הן 00:03:34.669 --> 00:03:35.618 מאוד מבולגן, 00:03:35.618 --> 00:03:36.398 ממוצע, 00:03:36.398 --> 00:03:38.172 ומאוד מסודר. 00:03:38.172 --> 00:03:39.755 ובואו נגיד שעניתם "מאוד מסודר," 00:03:39.755 --> 00:03:42.581 והייתם רוצים מישהו אחר שענה "מאוד מסודרים," 00:03:42.581 --> 00:03:45.202 והשאלה היא מאוד חשובה לכם. 00:03:45.202 --> 00:03:46.498 בעיקרון אתם משוגעים לסדר. 00:03:46.498 --> 00:03:47.212 אתם מסודרים, 00:03:47.212 --> 00:03:48.296 אתם רוצים מישהו אחר שיהיה מסודר, 00:03:48.296 --> 00:03:49.248 וזהו זה. 00:03:49.248 --> 00:03:51.015 ובואו נגיד ש"ב" הוא מעט שונה. 00:03:51.015 --> 00:03:53.539 הוא ענה מאוד מסודר על עצמו, 00:03:53.539 --> 00:03:55.171 אבל ממוצע בסדר לו 00:03:55.171 --> 00:03:56.740 כתשובה של מישהו אחר, 00:03:56.740 --> 00:03:58.748 והשאלה רק מעט חשובה לו. 00:03:58.748 --> 00:04:00.308 בואו נביט בשאלה השניה, 00:04:00.308 --> 00:04:01.896 היא זאת מהדוגמה הקודמת שלנו: 00:04:01.896 --> 00:04:03.653 "האם אתם אוהבים להיות מרכז העניינים?" 00:04:03.653 --> 00:04:05.231 התשובות הן רק כן ולא. 00:04:05.231 --> 00:04:06.407 עכשיו אתם עניתם "לא," 00:04:06.407 --> 00:04:08.235 ורציתם שגם השני יענה "לא," 00:04:08.235 --> 00:04:10.862 והשאלה היא רק מעט חשובה לכם. 00:04:10.862 --> 00:04:12.419 עכשיו "ב", ענה "כן," 00:04:12.419 --> 00:04:14.087 והוא רוצה שהאחר יענה "לא," 00:04:14.087 --> 00:04:16.332 מפני שהוא רוצה את אור הזרקורים עליו, 00:04:16.332 --> 00:04:19.335 והשאלה היא מעט חשובה לו. 00:04:19.335 --> 00:04:21.716 אז, בואו ננסה לחשב את כל זה. 00:04:21.716 --> 00:04:22.855 השלב הראשון שלנו הוא, 00:04:22.855 --> 00:04:24.376 מאחר ואנחנו משתמשים במחשבים כדי לעשות את זה, 00:04:24.376 --> 00:04:26.162 אנחנו צריכים לשייך ערכים מספריים 00:04:26.162 --> 00:04:29.041 לרעיונות כמו "מעט חשוב" ומאוד חשוב" 00:04:29.041 --> 00:04:31.335 מפני שמחשבים צריכים הכל במספרים. 00:04:31.335 --> 00:04:33.523 אנחנו ב OK קופידון החלטנו על המדד הבא: 00:04:33.523 --> 00:04:35.858 לא רלוונטי שווה 0, 00:04:35.858 --> 00:04:38.307 קצת חשוב זה 1, 00:04:38.307 --> 00:04:40.302 די חשוב שווה 10, 00:04:40.302 --> 00:04:42.426 מאוד חשוב זה 50, 00:04:42.426 --> 00:04:46.353 והכרחי לחלוטין זה 250. 00:04:46.353 --> 00:04:48.852 אחרי זה, האלגוריתם עושה שני חישובים פשוטים. 00:04:48.852 --> 00:04:51.941 הראשון הוא כמה התשובות של "ב" מספקות אתכם, 00:04:51.941 --> 00:04:55.568 שזה אומר, כמה נקודות אפשריות "ב" קיבל במדד שלכם? 00:04:55.568 --> 00:04:58.138 ובכן, אמרתם שהתשובה של "ב" 00:04:58.138 --> 00:04:59.947 לשאלה הראשונה על סדר 00:04:59.947 --> 00:05:01.448 היא מאוד חשובה לכם. 00:05:01.448 --> 00:05:04.041 היא שווה 50 נקודות ו"ב" קלע אליה. 00:05:04.041 --> 00:05:05.947 השאלה השניה שווה רק 1 00:05:05.947 --> 00:05:07.558 מפני שאמרתם שזה רק קצת חשוב לכם, 00:05:07.558 --> 00:05:09.036 ו"ב" לא קלע לזה. 00:05:09.036 --> 00:05:12.392 אז התשובות של "ב" היו 50 מתוך 51 נקודות אפשריות. 00:05:12.392 --> 00:05:14.023 זה סיפוק של 98%. 00:05:14.023 --> 00:05:15.220 זה די טוב. 00:05:15.220 --> 00:05:16.832 והשאלה השניה שהאלגורתם בודק 00:05:16.832 --> 00:05:18.918 זה כמה אתם מספקים את "ב". 00:05:18.918 --> 00:05:20.768 ובכן, "ב" נתן נקודה אחת לתשובה שלכם 00:05:20.768 --> 00:05:22.353 לשאלת הסדר 00:05:22.353 --> 00:05:24.745 ו 10 על התשובה שלכם לשניה. 00:05:24.745 --> 00:05:27.156 מאלה, 11, זה 1 ועוד 10, 00:05:27.156 --> 00:05:28.324 אתם הרווחתם 10, 00:05:28.324 --> 00:05:30.617 אתם סיפקתם אחד את השני בשאלה השניה. 00:05:30.617 --> 00:05:32.611 אז התשובה שלכם היתה 10 מתוך 11 00:05:32.611 --> 00:05:35.240 שזה שווה ל 91% סיפוק ל "ב". 00:05:35.240 --> 00:05:36.117 זה לא רע. 00:05:36.117 --> 00:05:38.286 השלב האחרון הוא לקחת את שתי התאמות האחוז האלו 00:05:38.286 --> 00:05:40.454 ולקבל מספר אחד לשניכם. 00:05:40.454 --> 00:05:42.747 כדי לעשות את זה, האלגוריתם מכפיל את התוצאות שלכם, 00:05:42.747 --> 00:05:44.500 אז הוא לוקח את השורש ה"n", 00:05:44.500 --> 00:05:46.792 כש "n" הוא מספר השאלות. 00:05:46.792 --> 00:05:49.401 מפני ש"ס", שזה מספר השאלות, 00:05:49.401 --> 00:05:51.507 בדוגמה הזו, הוא רק 2, 00:05:51.507 --> 00:05:54.093 יש לנו אחוז התאמה ששווה 00:05:54.093 --> 00:05:58.154 לשורש ריבועי של 98% כפול 91%. 00:05:58.154 --> 00:06:00.304 זה שווה 94%. 00:06:00.304 --> 00:06:03.194 ה94% האלה הם אחוז ההתאמה שלכם ל"ב". 00:06:03.194 --> 00:06:04.561 זה ביטוי מתמטי 00:06:04.561 --> 00:06:06.405 של כמה מאושרים אתם תהיו אחד עם השני 00:06:06.405 --> 00:06:07.749 בהתבסס על מה שאנחנו יודעים. 00:06:07.749 --> 00:06:10.131 עכשיו, למה האלגוריתם מכפיל ולא 00:06:10.131 --> 00:06:12.284 ממצע את שתי התוצאות יחד 00:06:12.284 --> 00:06:14.530 ומחשב שורש ריבועי? 00:06:14.530 --> 00:06:16.479 בכללי, הנוסחה נקראת הממוצע הגאומטרי, 00:06:16.479 --> 00:06:17.881 שזו דרך מעולה לשלב ערכים 00:06:17.881 --> 00:06:19.076 שיש להם טווח רחב 00:06:19.076 --> 00:06:20.861 ומייצגים תכונות שונות מאוד. 00:06:20.861 --> 00:06:23.164 במילים אחרות, זה מושלם להתאמה רומנטית. 00:06:23.164 --> 00:06:24.248 יש לכם טווח רחב 00:06:24.248 --> 00:06:26.206 ויש לכם המון נקודות מידע, 00:06:26.206 --> 00:06:27.156 כמו שאמרתי, על סרטים, 00:06:27.156 --> 00:06:28.006 על פוליטיקה, 00:06:28.006 --> 00:06:29.201 על דת, 00:06:29.201 --> 00:06:30.395 על הכל. 00:06:30.395 --> 00:06:32.256 באופן אינטואיטיבי זה הגיוני. 00:06:32.256 --> 00:06:34.918 שני אנשים שמספקים אחד את השני 50% 00:06:34.918 --> 00:06:36.052 צריכים להיות התאמה טובה יותר 00:06:36.052 --> 00:06:39.180 מאלה שמספקים אחד את השני 0 ו 100, 00:06:39.180 --> 00:06:40.847 מפני שחיבה צריכה להיות הדדית. 00:06:40.847 --> 00:06:43.147 אחרי הוספת תיקון קטן למרווח טעות, 00:06:43.147 --> 00:06:45.770 במקרה שיש לנו מספר קטן של שאלות, 00:06:45.770 --> 00:06:47.234 כמו שאנחנו עושים בדוגמה הזו, 00:06:47.234 --> 00:06:48.811 אנחנו מוכנים לצאת לדרך. 00:06:48.811 --> 00:06:50.191 כל פעם שOK קופידון מתאים שני אנשים, 00:06:50.191 --> 00:06:52.234 הוא עובר את השלבים שהראנו. 00:06:52.234 --> 00:06:54.484 ראשית הוא אוסף מידע על התשובות שלכם, 00:06:54.484 --> 00:06:56.619 אז הוא משווה את הבחירות שלכם וההעדפות שלכם 00:06:56.619 --> 00:06:59.740 לאנשים האחרים בדרכים מתמטיות פשוטות. 00:06:59.740 --> 00:07:02.453 היכולת לקחת תופעה מהעולם האמיתי 00:07:02.453 --> 00:07:05.167 ולהפוך אותה למשהו שמיקרומעבד יכול להבין, 00:07:05.167 --> 00:07:05.742 היא, אני חושב, 00:07:05.742 --> 00:07:08.565 היכולת הכי חשובה שיכולה להיות למישהו היום. 00:07:08.565 --> 00:07:10.919 כמו שאתם משתמשים במשפטים כדי לספר סיפור לאדם, 00:07:10.919 --> 00:07:13.665 אתם משתמשים באלגוריתמים לספר סיפור למחשב. 00:07:13.665 --> 00:07:14.921 אם תלמדו את השפה, 00:07:14.921 --> 00:07:16.381 אתם יכולים לצאת ולספר את הסיפורים שלכם. 00:07:16.381 --> 00:07:18.768 אני מקווה שזה יעזור לכם לעשות את זה.