Oi, meu nome é Christian Rudder,
e eu fui um dos fundadores do OK Cupid.
Hoje em dia, é um dos maiores sites de namoro nos Estados Unidos.
Como quase todo mundo no site,
Eu era um matemático, e, como vocês podem esperar,
somos conhecidos pela abordagem analítica
que adotamos para amar.
Chamamos isso de algoritmo compatível.
Basicamente do algoritmo compatível do OK Cupid
nos ajuda a decidir se duas pessoas devem sair juntas.
Nós construímos todo nosso negócio em torno disto.
Agora, algoritmo é uma palavra pomposa,
e as pessoas gostam de pensar que é grande coisa,
mas, realmente, um algoritmo é apenas sistemático,
um modo de resolver um problema passo-a-passo.
Não precisa ser pomposa de jeito nenhum.
Aqui, nesta lição, irei explicar
como chegamos em nosso algoritmo particular
então você pode ver como é feito.
Agora, porque algoritmos são importantes?
Porque esta lição existe?
Bem, perceba uma frase significante que usei acima:
há uma forma de resolver um problema passo-a-passo,
e, como você provavelmente sabe,
computadores excedem processos passo-a-passo.
Um computador sem algoritmo
é basicamente um peso de papel caro.
E desde que computadores são parte ocupantes da vida diária,
algoritmos estão em toda parte.
A matemática por trás do algoritmo compatível do OK Cupid
é surpreendentemente simples.
É apenas uma adição,
multiplicação,
um pouco de raízes quadradas.
A parte difícil em projetar isto, de qualquer forma,
foi compreender em como pegar algo misterioso,
como a atração humana,
e quebrá-la em componentes em que um computador possa trabalhar.
Bem, a primeira coisa que precisamos para unir pessoas eram dados,
algo para o algoritmo poder trabalhar.
A melhor forma de conseguir esses dados rapidamente das pessoas
é simplesmente perguntar.
Então, decidimos que o OK Cupid deveria fazer perguntas aos usuários,
coisas como, "Você quer ter filhos um dia?"
e "Com que frequência você escova seus dentes?",
"Você gosta de filmes de terror?"
e coisas grandes como "Você acredita em Deus?"
Agora, muitas das perguntas são boas
para combinar gostos com gostos,
isso é quando ambos respondem da mesma forma.
Por exemplo, duas pessoas que gostam de filmes de terror
são provavelmente uma melhor combinação
que uma pessoa que gosta
e a outra que não gosta.
Mas e quanto a questão como,
"Você gosta de ser o centro das atenções?"
Se ambos em um relacionamento disserem sim pra essa,
então eles terão grandes problemas.
Percebemos isto mais cedo,
e então decidimos que precisariamos
de um pouco mais de dados para cada questão.
Tivemos que pedir as pessoas para especificar não apenas suas respostas,
mas a resposta que eles gostariam de ter da outra pessoa.
E isto funcionou muito bem,
mas precisamos de mais uma dimensão.
Algumas questões dizem mais sobre uma pessoa que outras
Por exemplo, uma questão sobre política, algo como,
"Qual é o pior: queimar livros ou bandeiras?"
podem revelar mais sobre alguém que seu gosto para filmes.
E não faz sentido pesar todos igualmente,
então adicionamos um principal dado final.
Para tudo que o OK Cupid lhe pergunta,
você tem a chance de nos dizer
a função que exerce na sua vida,
e isto abrange de irrelevante a obrigatório.
Então agora, para cada questão,
nós temos três coisas para nosso algoritmo:
primeiro, sua resposta;
segundo, como você quer que a outra pessoa,
seu parceiro em potencial,
responda;
e terceiro, e quão importante é esta questão para você.
Com toda essa informação,
OK Cupid pode calcular o quanto duas pessoas podem se dar bem.
O algoritmo mastiga os números e nos dá um resultado.
Como um exemplo prático,
vamos ver como combinamos você com outra pessoa,
vamos chamá-lo de "B".
Sua porcentagem de combinação com B é baseada em
questões que ambos responderam.
Vamos chamar isso de grupo de questões comuns, "s".
Como um exemplo muito simples, usamos um pequeno grupo "s"
com apenas duas questões em comum
e computar a combinação a partir disso.
Aqui estão duas questões exemplos.
A primeira, vamos dizer que é, "O quão bagunceiro você é?"
e as respostas possíveis são
muito bagunceiro,
normal,
e muito organizado.
E digamos que você respondeu "muito organizado,"
e você gostaria que o outro respondesse "muito organizado,"
e a questão é muito importante para você.
Basicamente você é um louco por organização.
Você é organizado
e quer que a outra pessoa seja organizada,
é isso.
E digamos que B é um pouco diferente.
Ele respondeu muito organizado para ele mesmo,
mas normal está OK para ele
como a resposta da outra pessoa,
e a questão é só um pouco importante para ele.
Vamos ver a segunda questão,
é uma do nosso exemplo anterior:
"Você gosta de ser o centro das atenções?"
As respostas são apenas sim e não.
Agora você respondeu "não,"
como você quer que a outra pessoa responda é "não,"
e a questão é apenas um pouco importante para você.
Agora B, ele respondeu "sim,"
ele quer que a outra pessoa responda "não,"
porque ele quer as atenções voltadas para ele,
e a questão é um tanto importante para ele.
Então, vamos tentar computar tudo isso.
Nosso primeiro passo é,
desde que usamos computadores para fazer isto,
precisamos determinar valores numéricos
a ideias como "um tanto importante" e "muito importante"
porque computadores precisam de tudo em números.
Nós do OK Cupid decidimos no parâmetro a seguir:
irrelevante vale 0,
um pouco importante vale 1,
um tanto importante vale 10,
muito importante vale 50,
e absolutamente obrigatório vale 250.
Depois, o algoritmo faz dois cálculos simples,
O primeiro é o quanto as respostas de B satisfazem você,
isto é, quantos pontos possíveis B fez no seu parâmetro?
Bem, você indicou que a resposta de B
para a primeira questão sobre bagunça
era muito importante para você.
Vale 50 pontos e B fez isso certo.
A segunda questão só vale 1
porque você disse que era apenas um pouco importante,
e B não se deu bem nessa.
Então, as respostas de B foram 50 de 51 pontos.
Isso é 98% satisfatório.
É muito bom.
E, a segunda questão do algoritmo olha
é quanto você satisfez B.
Bem, B fez 1 ponto na sua resposta
para a questão da bagunça
e 10 na sua resposta para a segunda.
Daquelas, 11, é 1 mais 10,
você ganhou 10,
vocês se satisfazem um ao outro na segunda questão.
Então suas respostas foram 10 de 11
igual a 91% satisfatório para B.
Isso não é ruim.
O passo final é pegar estas duas porcentagens combinantes
e tirar um número para vocês.
Para fazer isso, o algoritmo multiplica seus pontos,
então tira a raiz de n,
onde n é o número de questões.
Porque s, que é o número de questões,
nessa amostra, é apenas 2,
nós combinamos a porcentagem igualmente
a raiz quadrada de 98% vezes 91%.
É igual a 94%.
Essse 94% é sua combinação de porcentagem com B.
É uma expressão matemática
de quão feliz vocês seriam um com o outro
baseados no que sabemos.
Agora, porque o algoritmo multiplica como oposto da, digamos,
média de duas pontuações combinantes juntas
e o caso da raiz quadrada?
Em geral, esta fórmula é chamada de média geometrica,
que é uma ótima maneira de combinar valores
que tem amplos alcances
e representa propriedades muito diferentes.
Em outras palavras, é perfeito para combinação romântica.
Você tem amplos alcances
e você tem uma tonelada de dados diferentes,
como eu disse, sobre filmes,
sobre política,
sobre religião,
sobre tudo.
Intuitivamente, isso faz sentido também.
Duas pessoas satisfazem 50% uma a outra
deveria ser uma melhor combinação
que os outros que satisfazem 0 e 100,
porque afeição precisa ser mútua.
Depois de adicionar um pouco de correção para margem de erro,
no caso, quando temos um pequeno número de questões
como temos nesse exemplo,
estamos prontos.
Qualquer momento o OK Cupid combina duas pessoas,
vai além dos passos que esboçamos.
Primeiro coleta-se dados sobre suas respostas,
aí compara suas escolha e preferências
com outras pessoas, de maneira simples e matemática.
Isto, a habilidade de pegar o fenômeno do mundo real
e fazer dele algo que um microchip possa entender,
é, eu acho,
a habilidade mais importante que alguém pode ter hoje em dia
Como usar sentenças para contar uma história a alguém,
você usa os algoritmos para contar uma história ao computador.
Se você aprender a língua,
você pode sair e contar suas historias.
Espero que isto lhe ajude a fazer isso.