Ciao mi chiamo Christian Rudder
e sono uno dei fondatori di OK Cupid.
È uno dei maggiori siti di incontri del momento negli Stai Uniti.
Come quasi tutti al sito,
ero specializzato in matematica, e come potete immaginare
siamo conosciuti per l'approccio analitico
che abbiamo dato all'amore.
Noi lo chiamiamo il nostro algoritmo di compatibilità.
Sostanzialmente, l'algoritmo di compatibilità di OK Cupid
ci aiuta a decidere se due persone dovrebbero o meno incontrarsi.
Ci abbiamo costruito intorno un intero business.
L'algoritmo è una bella parola,
ma alla gente piace considerarlo una grande cosa,
ma, sul serio, un algoritmo è solo un modo sistematico
e progressivo di risolvere un problema.
Non deve essere per nulla fantastico.
In questa lezione, spiegherò
come arriviamo al nostro algoritmo specifico
così potrete vedere come funziona.
Allora, perché gli algoritmi sono comunque importanti?
Perché questa lezione esiste?
Notate una frase molto importante che ho utilizzato in precedenza:
sono metodi progressivi di risolvere un problema
e, come probabilmente sapete,
i computer eccellono nei processi passo dopo passo.
Un computer senza algoritmo
è sostanzialmente un fermacarte molto costoso.
ed essendo i computer così diffusi nella vita quotidiana,
gli algoritmi sono ovunque.
La matematica dietro all'algoritmo di compatibilità di Ok Cupid
è sorprendentemente semplice.
Solo alcune addizioni,
moltiplicazioni,
qualche radice quadrata.
La parte difficile della progettazione, quindi,
è capire come prendere qualcosa di misterioso,
l'attrazione umana,
e dividerla in componenti con cui un computer può lavorare.
La prima cosa di cui avevamo bisogno per confrontare le persone sono i dati,
qualcosa su cui far lavorare l'algoritmo.
Il miglior modo per ricevere dati dalle perosne
è chiederli.
Quindi abbiamo deciso che OK Cupid avrebbe fatto domande agli utenti,
cose come, "Vorresti avere figli un giorno?"
o "Con quale frequenza ti lavi i denti?",
"Ti piacciono i film dell'orrore?"
e cose importanti come "Credi in Dio?"
Molte domande sono utili
per abbinare le persone simili,
questo succede quando entrambi rispondono allo stesso modo.
Ad esempio, due persone a cui piacciono gli horror
probabilmente sono più compatibili
di una a cui piacciono
e una a cui non piacciono.
E invece nel caso di domande come,
"Ti piace essere al centro dell'attenzione?"
Se due persone che stanno insieme rispondono di si,
avranno grossi problemi.
L'abbiamo capito subito,
così abbiamo deciso che avevamo bisogno
di qualche dato in più da ogni domanda.
Dovevamo chiedere alle persone non solo la loro risposta
ma anche che volevano da qualcun altro.
Ha funzionato molto bene,
ma ci serviva un'altra dimensione.
Alcune risposte ci dicono di più rispetto ad altre.
Ad esempio una domanda sulla politica, come,
"Cosa è peggio: bruciare un libro o una bandiera?"
potrebbe rivelare di più rispetto alle preferenze sui film.
E non ha senso dare a tutto lo stesso peso,
così abbiamo aggiunto un ultimo punto.
Per ogni cosa che OK Cupid vi chiede,
potete dirci
il ruolo che ha nella vostra vita,
e i campi variano dall'irrilevante al fondamentale.
Quindi, per ogni domanda,
abbiamo 3 elementi per il nostro algoritmo:
primo, la vostra risposta;
secondo, come vorreste che l'altro,
il vostro potenziale partner,
rispondesse;
e terzo, quanto questa risposta è importante per voi.
Con tutte queste informazioni,
OK Cupid può scoprire quanto due persone andranno d'accordo.
L'algoritmo elabora i numeri e ci dà un risultato.
Un esempio pratico.
vediamo come vi abbineremmo a un'altra persona,
chiamiamola "B".
La vostra affinità con B è basata
sulle domande a cui entrambi avete risposto.
Chiamiamo quel gruppo di domande in comune "s".
Per fare un semplice esempio, useremo un piccolo gruppo "s"
con solo 2 domande in comune
e da li calcoleremo l'affinità.
Ecco due domande campione.
La prima, diciamo, è "Quanto sei disordinato?"
e le possibili risposte sono
molto disordinato,
nella media,
molto organizzato.
Diciamo che rispondete "molto organizzato",
e vorreste che l'altro risponda "molto organizzato"
e la risposta per voi è molto importante.
Siete sostanzialmente dei maniaci della pulizia.
Siete puliti,
volete che l'altro sia pulito,
tutto qui.
Diciamo che B è leggermente diverso.
Ha risposto di essere molto organizzato
ma per lui nella media va bene lo stesso
come risposta dell'altro
e la domanda per lui non è molto importante.
Vediamo la seconda domanda,
è di un nostro esempio precedente:
"Ti piace essere al centro dell'attenzione?"
Le risposte sono solo si o no.
Voi avete risposto di "no",
volete che l'altro risponda "no"
e la domanda per voi non è molto importante.
B ha risposto "sì",
e vuole che l'altro risponda "no",
perché vuole i riflettori puntati su di lui,
e la domanda per lui è abbastanza importante.
Adesso, proviamo ad elaborare tutto questo.
Il primo passo è,
siccome usiamo i computer
dobbiamo assegnare dei valori numerici
alle idee come, "abbastanza importante" e "molto importante"
perché i computer hanno bisogno di numeri.
Noi di OK Cupid abbiamo deciso di dare i seguenti valori:
irrilevante corrisponde a 0
non molto importante a 1,
abbastanza importante vale 10,
molto importante è uguale a 50,
e fondamentale è uguale a 250.
In seguito, l'algoritmo fa due semplici calcoli.
Primo, quanto siete soddisfatti della risposta di B,
cioè, quanti punti ha segnato B sulla vostra graduatoria?
Voi indicate che la risposta di B
alla prima domanda quella sul disordine
è molto importante per voi.
Vale 50 punti e B li ha guadagnati.
La seconda domanda vale solo 1
perché avete detto che non è molto importante,
e B ha risposto male.
Quindi B ha segnato 50 punti su 51.
È soddisfacente al 98%.
Abbastanza buono.
La seconda domanda dell'algoritmo guarda
quanto B è soddisfatto di voi.
Allora, B ha dato 1 punto alla vostra risposta
sulla domanda sul disordine
e 10 alla vostra seconda risposta.
Di questi 11, ossia 1 più 10,
ne avete guadagnati 10,
siete soddisfatti l'uno dell'altro sulla seconda risposta.
Quindi le vostre risposte valgono 10 su 11
pari al 91% di soddisfazione di B.
Niente male.
Il processo finale è prendere queste due percentuali
e trovare un numero per entrambi.
Per fare ciò, l'algoritmo moltiplica i vostri punti
poi estrae la radice n-esima,
dove n è il numero delle domande.
Perché s, che è il numero delle domande
in questo caso è solo 2,
abbiamo percentuali di compatibilità pari
alla radice quadrata di 98% x 91%
Cioè 94%
Questo 94% è la vostra affinità con B.
È un' espressione matematica
di quanto sareste felici insieme
basandoci su ciò che sappiamo.
Ma perché l'algoritmo moltiplica invece di, diciamo,
fare la media dei due punteggi
e fare la radice quadrata?
Generalmente questa formula è chiamata media geometrica,
che è un ottimo modo per combinare valori
con ampie variazioni
e che rappresentano proprietà differenti.
In altre parole, è perfetto per l'affinità romantica.
Avete variazioni ampie
e tanti dati differenti,
come ho dicevo, sui film,
la politica,
la religione,
su tutto.
Istintivamente, tutto questo ha senso.
Due persone soddisfatte al 50%
dovrebbero avere una maggior compatibilità
rispetto ad altre due soddisfatte a 0 e 100,
perché l'affetto deve essere reciproco.
Dopo aver aggiunto una correzione per i margini di errore,
nel caso di un numero limitato di domande,
come in questo esempio,
siamo pronti ad partire.
Ogni volta che OK Cupid abbina due persone
segue i passaggi appena illustrati.
Prima raccoglie informazioni dalle vostre risposte,
poi confronta le vostre scelte e preferenze
con quelle di altri con semplici metodi matematici.
Questo capacità di prendere fenomeni del mondo reale
e trasformarli in qualcosa di comprensibile per un microchip
è, credo,
la più grande abilità che si possa pssedere al giorno d'oggi.
Come voi usate frasi per raccontare una storia a qualcuno,
si possono usare algoritmi per raccontare una storia ad un computer.
Se ne imparate il linguaggio
potete raccontare in giro la vostra storia.
Spero che questo vi aiuti a farlo.