0:00:17.602,0:00:19.239 Ciao mi chiamo Christian Rudder 0:00:19.239,0:00:21.875 e sono uno dei fondatori di OK Cupid. 0:00:21.875,0:00:24.502 È uno dei maggiori siti di incontri del momento negli Stai Uniti. 0:00:24.502,0:00:25.749 Come quasi tutti al sito, 0:00:25.749,0:00:27.296 ero specializzato in matematica, e come potete immaginare 0:00:27.296,0:00:28.644 siamo conosciuti per l'approccio analitico 0:00:28.644,0:00:29.887 che abbiamo dato all'amore. 0:00:29.887,0:00:31.717 Noi lo chiamiamo il nostro algoritmo di compatibilità. 0:00:31.717,0:00:33.428 Sostanzialmente, l'algoritmo di compatibilità di OK Cupid 0:00:33.428,0:00:36.481 ci aiuta a decidere se due persone dovrebbero o meno incontrarsi. 0:00:36.481,0:00:38.765 Ci abbiamo costruito intorno un intero business. 0:00:38.765,0:00:40.572 L'algoritmo è una bella parola, 0:00:40.572,0:00:43.047 ma alla gente piace considerarlo una grande cosa, 0:00:43.047,0:00:45.148 ma, sul serio, un algoritmo è solo un modo sistematico 0:00:45.148,0:00:47.817 e progressivo di risolvere un problema. 0:00:47.817,0:00:49.949 Non deve essere per nulla fantastico. 0:00:49.949,0:00:51.802 In questa lezione, spiegherò 0:00:51.802,0:00:53.657 come arriviamo al nostro algoritmo specifico 0:00:53.657,0:00:55.660 così potrete vedere come funziona. 0:00:55.660,0:00:57.576 Allora, perché gli algoritmi sono comunque importanti? 0:00:57.576,0:00:59.045 Perché questa lezione esiste? 0:00:59.045,0:01:02.457 Notate una frase molto importante che ho utilizzato in precedenza: 0:01:02.457,0:01:05.029 sono metodi progressivi di risolvere un problema 0:01:05.029,0:01:05.841 e, come probabilmente sapete, 0:01:05.841,0:01:08.470 i computer eccellono nei processi passo dopo passo. 0:01:08.470,0:01:09.588 Un computer senza algoritmo 0:01:09.588,0:01:12.933 è sostanzialmente un fermacarte molto costoso. 0:01:12.933,0:01:15.430 ed essendo i computer così diffusi nella vita quotidiana, 0:01:15.430,0:01:17.223 gli algoritmi sono ovunque. 0:01:18.515,0:01:20.267 La matematica dietro all'algoritmo di compatibilità di Ok Cupid 0:01:20.267,0:01:21.811 è sorprendentemente semplice. 0:01:21.811,0:01:22.629 Solo alcune addizioni, 0:01:22.629,0:01:23.687 moltiplicazioni, 0:01:23.687,0:01:25.340 qualche radice quadrata. 0:01:25.340,0:01:27.611 La parte difficile della progettazione, quindi, 0:01:27.611,0:01:30.235 è capire come prendere qualcosa di misterioso, 0:01:30.235,0:01:31.212 l'attrazione umana, 0:01:31.212,0:01:33.810 e dividerla in componenti con cui un computer può lavorare. 0:01:33.810,0:01:36.360 La prima cosa di cui avevamo bisogno per confrontare le persone sono i dati, 0:01:36.360,0:01:38.382 qualcosa su cui far lavorare l'algoritmo. 0:01:38.382,0:01:40.412 Il miglior modo per ricevere dati dalle perosne 0:01:40.412,0:01:41.747 è chiederli. 0:01:41.747,0:01:44.166 Quindi abbiamo deciso che OK Cupid avrebbe fatto domande agli utenti, 0:01:44.166,0:01:46.834 cose come, "Vorresti avere figli un giorno?" 0:01:46.834,0:01:48.754 o "Con quale frequenza ti lavi i denti?", 0:01:48.754,0:01:50.227 "Ti piacciono i film dell'orrore?" 0:01:50.227,0:01:53.514 e cose importanti come "Credi in Dio?" 0:01:53.514,0:01:55.308 Molte domande sono utili 0:01:55.308,0:01:56.381 per abbinare le persone simili, 0:01:56.381,0:01:59.052 questo succede quando entrambi rispondono allo stesso modo. 0:01:59.052,0:02:01.471 Ad esempio, due persone a cui piacciono gli horror 0:02:01.471,0:02:02.684 probabilmente sono più compatibili 0:02:02.684,0:02:03.843 di una a cui piacciono 0:02:03.843,0:02:05.115 e una a cui non piacciono. 0:02:05.115,0:02:06.480 E invece nel caso di domande come, 0:02:06.480,0:02:08.189 "Ti piace essere al centro dell'attenzione?" 0:02:08.189,0:02:10.729 Se due persone che stanno insieme rispondono di si, 0:02:10.729,0:02:13.068 avranno grossi problemi. 0:02:13.068,0:02:14.447 L'abbiamo capito subito, 0:02:14.447,0:02:15.614 così abbiamo deciso che avevamo bisogno 0:02:15.614,0:02:17.581 di qualche dato in più da ogni domanda. 0:02:17.581,0:02:20.332 Dovevamo chiedere alle persone non solo la loro risposta 0:02:20.332,0:02:23.038 ma anche che volevano da qualcun altro. 0:02:23.038,0:02:24.207 Ha funzionato molto bene, 0:02:24.207,0:02:26.291 ma ci serviva un'altra dimensione. 0:02:26.291,0:02:28.835 Alcune risposte ci dicono di più rispetto ad altre. 0:02:28.835,0:02:31.795 Ad esempio una domanda sulla politica, come, 0:02:31.795,0:02:34.589 "Cosa è peggio: bruciare un libro o una bandiera?" 0:02:34.589,0:02:37.207 potrebbe rivelare di più rispetto alle preferenze sui film. 0:02:37.207,0:02:39.387 E non ha senso dare a tutto lo stesso peso, 0:02:39.387,0:02:41.605 così abbiamo aggiunto un ultimo punto. 0:02:41.605,0:02:43.440 Per ogni cosa che OK Cupid vi chiede, 0:02:43.440,0:02:44.642 potete dirci 0:02:44.642,0:02:46.223 il ruolo che ha nella vostra vita, 0:02:46.223,0:02:49.089 e i campi variano dall'irrilevante al fondamentale. 0:02:49.089,0:02:50.564 Quindi, per ogni domanda, 0:02:50.564,0:02:52.692 abbiamo 3 elementi per il nostro algoritmo: 0:02:52.692,0:02:54.068 primo, la vostra risposta; 0:02:54.068,0:02:56.362 secondo, come vorreste che l'altro, 0:02:56.362,0:02:57.196 il vostro potenziale partner, 0:02:57.196,0:02:58.781 rispondesse; 0:02:58.781,0:03:02.327 e terzo, quanto questa risposta è importante per voi. 0:03:02.327,0:03:03.702 Con tutte queste informazioni, 0:03:03.702,0:03:07.128 OK Cupid può scoprire quanto due persone andranno d'accordo. 0:03:07.128,0:03:09.458 L'algoritmo elabora i numeri e ci dà un risultato. 0:03:09.458,0:03:11.262 Un esempio pratico. 0:03:11.262,0:03:13.712 vediamo come vi abbineremmo a un'altra persona, 0:03:13.712,0:03:15.581 chiamiamola "B". 0:03:15.581,0:03:17.479 La vostra affinità con B è basata 0:03:17.479,0:03:19.424 sulle domande a cui entrambi avete risposto. 0:03:19.424,0:03:21.978 Chiamiamo quel gruppo di domande in comune "s". 0:03:21.978,0:03:24.932 Per fare un semplice esempio, useremo un piccolo gruppo "s" 0:03:24.932,0:03:26.434 con solo 2 domande in comune 0:03:26.434,0:03:28.310 e da li calcoleremo l'affinità. 0:03:28.310,0:03:30.144 Ecco due domande campione. 0:03:30.144,0:03:32.349 La prima, diciamo, è "Quanto sei disordinato?" 0:03:32.349,0:03:34.669 e le possibili risposte sono 0:03:34.669,0:03:35.618 molto disordinato, 0:03:35.618,0:03:36.398 nella media, 0:03:36.398,0:03:38.172 molto organizzato. 0:03:38.172,0:03:39.755 Diciamo che rispondete "molto organizzato", 0:03:39.755,0:03:42.581 e vorreste che l'altro risponda "molto organizzato" 0:03:42.581,0:03:45.202 e la risposta per voi è molto importante. 0:03:45.202,0:03:46.498 Siete sostanzialmente dei maniaci della pulizia. 0:03:46.498,0:03:47.212 Siete puliti, 0:03:47.212,0:03:48.296 volete che l'altro sia pulito, 0:03:48.296,0:03:49.248 tutto qui. 0:03:49.248,0:03:51.015 Diciamo che B è leggermente diverso. 0:03:51.015,0:03:53.539 Ha risposto di essere molto organizzato 0:03:53.539,0:03:55.171 ma per lui nella media va bene lo stesso 0:03:55.171,0:03:56.740 come risposta dell'altro 0:03:56.740,0:03:58.748 e la domanda per lui non è molto importante. 0:03:58.748,0:04:00.308 Vediamo la seconda domanda, 0:04:00.308,0:04:01.896 è di un nostro esempio precedente: 0:04:01.896,0:04:03.653 "Ti piace essere al centro dell'attenzione?" 0:04:03.653,0:04:05.231 Le risposte sono solo si o no. 0:04:05.231,0:04:06.407 Voi avete risposto di "no", 0:04:06.407,0:04:08.235 volete che l'altro risponda "no" 0:04:08.235,0:04:10.862 e la domanda per voi non è molto importante. 0:04:10.862,0:04:12.419 B ha risposto "sì", 0:04:12.419,0:04:14.087 e vuole che l'altro risponda "no", 0:04:14.087,0:04:16.332 perché vuole i riflettori puntati su di lui, 0:04:16.332,0:04:19.335 e la domanda per lui è abbastanza importante. 0:04:19.335,0:04:21.716 Adesso, proviamo ad elaborare tutto questo. 0:04:21.716,0:04:22.855 Il primo passo è, 0:04:22.855,0:04:24.376 siccome usiamo i computer 0:04:24.376,0:04:26.162 dobbiamo assegnare dei valori numerici 0:04:26.162,0:04:29.041 alle idee come, "abbastanza importante" e "molto importante" 0:04:29.041,0:04:31.335 perché i computer hanno bisogno di numeri. 0:04:31.335,0:04:33.523 Noi di OK Cupid abbiamo deciso di dare i seguenti valori: 0:04:33.523,0:04:35.858 irrilevante corrisponde a 0 0:04:35.858,0:04:38.307 non molto importante a 1, 0:04:38.307,0:04:40.302 abbastanza importante vale 10, 0:04:40.302,0:04:42.426 molto importante è uguale a 50, 0:04:42.426,0:04:46.353 e fondamentale è uguale a 250. 0:04:46.353,0:04:48.852 In seguito, l'algoritmo fa due semplici calcoli. 0:04:48.852,0:04:51.941 Primo, quanto siete soddisfatti della risposta di B, 0:04:51.941,0:04:55.568 cioè, quanti punti ha segnato B sulla vostra graduatoria? 0:04:55.568,0:04:58.138 Voi indicate che la risposta di B 0:04:58.138,0:04:59.947 alla prima domanda quella sul disordine 0:04:59.947,0:05:01.448 è molto importante per voi. 0:05:01.448,0:05:04.041 Vale 50 punti e B li ha guadagnati. 0:05:04.041,0:05:05.947 La seconda domanda vale solo 1 0:05:05.947,0:05:07.558 perché avete detto che non è molto importante, 0:05:07.558,0:05:09.036 e B ha risposto male. 0:05:09.036,0:05:12.392 Quindi B ha segnato 50 punti su 51. 0:05:12.392,0:05:14.023 È soddisfacente al 98%. 0:05:14.023,0:05:15.220 Abbastanza buono. 0:05:15.220,0:05:16.832 La seconda domanda dell'algoritmo guarda 0:05:16.832,0:05:18.918 quanto B è soddisfatto di voi. 0:05:18.918,0:05:20.768 Allora, B ha dato 1 punto alla vostra risposta 0:05:20.768,0:05:22.353 sulla domanda sul disordine 0:05:22.353,0:05:24.745 e 10 alla vostra seconda risposta. 0:05:24.745,0:05:27.156 Di questi 11, ossia 1 più 10, 0:05:27.156,0:05:28.324 ne avete guadagnati 10, 0:05:28.324,0:05:30.617 siete soddisfatti l'uno dell'altro sulla seconda risposta. 0:05:30.617,0:05:32.611 Quindi le vostre risposte valgono 10 su 11 0:05:32.611,0:05:35.240 pari al 91% di soddisfazione di B. 0:05:35.240,0:05:36.117 Niente male. 0:05:36.117,0:05:38.286 Il processo finale è prendere queste due percentuali 0:05:38.286,0:05:40.454 e trovare un numero per entrambi. 0:05:40.454,0:05:42.747 Per fare ciò, l'algoritmo moltiplica i vostri punti 0:05:42.747,0:05:44.500 poi estrae la radice n-esima, 0:05:44.500,0:05:46.792 dove n è il numero delle domande. 0:05:46.792,0:05:49.401 Perché s, che è il numero delle domande 0:05:49.401,0:05:51.507 in questo caso è solo 2, 0:05:51.507,0:05:54.093 abbiamo percentuali di compatibilità pari 0:05:54.093,0:05:58.154 alla radice quadrata di 98% x 91% 0:05:58.154,0:06:00.304 Cioè 94% 0:06:00.304,0:06:03.194 Questo 94% è la vostra affinità con B. 0:06:03.194,0:06:04.561 È un' espressione matematica 0:06:04.561,0:06:06.405 di quanto sareste felici insieme 0:06:06.405,0:06:07.749 basandoci su ciò che sappiamo. 0:06:07.749,0:06:10.131 Ma perché l'algoritmo moltiplica invece di, diciamo, 0:06:10.131,0:06:12.284 fare la media dei due punteggi 0:06:12.284,0:06:14.530 e fare la radice quadrata? 0:06:14.530,0:06:16.479 Generalmente questa formula è chiamata media geometrica, 0:06:16.479,0:06:17.881 che è un ottimo modo per combinare valori 0:06:17.881,0:06:19.076 con ampie variazioni 0:06:19.076,0:06:20.861 e che rappresentano proprietà differenti. 0:06:20.861,0:06:23.164 In altre parole, è perfetto per l'affinità romantica. 0:06:23.164,0:06:24.248 Avete variazioni ampie 0:06:24.248,0:06:26.206 e tanti dati differenti, 0:06:26.206,0:06:27.156 come ho dicevo, sui film, 0:06:27.156,0:06:28.006 la politica, 0:06:28.006,0:06:29.201 la religione, 0:06:29.201,0:06:30.395 su tutto. 0:06:30.395,0:06:32.256 Istintivamente, tutto questo ha senso. 0:06:32.256,0:06:34.918 Due persone soddisfatte al 50% 0:06:34.918,0:06:36.052 dovrebbero avere una maggior compatibilità 0:06:36.052,0:06:39.180 rispetto ad altre due soddisfatte a 0 e 100, 0:06:39.180,0:06:40.847 perché l'affetto deve essere reciproco. 0:06:40.847,0:06:43.147 Dopo aver aggiunto una correzione per i margini di errore, 0:06:43.147,0:06:45.770 nel caso di un numero limitato di domande, 0:06:45.770,0:06:47.234 come in questo esempio, 0:06:47.234,0:06:48.811 siamo pronti ad partire. 0:06:48.811,0:06:50.191 Ogni volta che OK Cupid abbina due persone 0:06:50.191,0:06:52.234 segue i passaggi appena illustrati. 0:06:52.234,0:06:54.484 Prima raccoglie informazioni dalle vostre risposte, 0:06:54.484,0:06:56.619 poi confronta le vostre scelte e preferenze 0:06:56.619,0:06:59.740 con quelle di altri con semplici metodi matematici. 0:06:59.740,0:07:02.453 Questo capacità di prendere fenomeni del mondo reale 0:07:02.453,0:07:05.167 e trasformarli in qualcosa di comprensibile per un microchip 0:07:05.167,0:07:05.742 è, credo, 0:07:05.742,0:07:08.565 la più grande abilità che si possa pssedere al giorno d'oggi. 0:07:08.565,0:07:10.919 Come voi usate frasi per raccontare una storia a qualcuno, 0:07:10.919,0:07:13.665 si possono usare algoritmi per raccontare una storia ad un computer. 0:07:13.665,0:07:14.921 Se ne imparate il linguaggio 0:07:14.921,0:07:16.381 potete raccontare in giro la vostra storia. 0:07:16.381,0:07:18.768 Spero che questo vi aiuti a farlo.