Hola, soy Christian Rudder
y fui uno de los fundadores
de OK Cupid.
Hoy es uno de los sitios de citas
más grande de Estados Unidos.
Como casi todos en el sitio,
tenía un título en matemáticas
y, como era de esperar,
éramos conocidos por
el enfoque analítico
que tenemos del amor.
Le llamamos el algoritmo
de compatibilidad.
En esencia el algoritmo
de compatibilidad de OK Cupid
nos ayuda a decidir si dos personas
debieran tener una cita.
Sobre esa base construimos
todo nuestro negocio.
Ahora, algoritmo es
una palabra pomposa
y la gente tiende a ignorarla
por ampulosa,
pero en realidad, un algoritmo
es solo una forma sistemática
de resolver problemas paso a paso.
No tiene que ser nada pomposo.
Aquí en esta lección, explicaré
cómo concebimos
nuestro algoritmo,
así lo podrás entender.
Ahora, ¿por qué son importantes
los algoritmos?
¿Para qué existe esta lección?
Bueno, nota una frase
muy significativa que usé arriba:
una forma de resolver
problemas paso a paso,
y como probablemente sepas,
las computadoras se lucen en
los procesos paso a paso.
Una computadora sin un algoritmo
es en esencia un pisapapeles caro.
Y dado que las computadoras son una parte
tan dominante de la vida cotidiana,
los algoritmos están dondequiera.
La matemática subyacente al algoritmo
de compatibilidad de OK Cupid
es sorprendentemente sencilla.
Son solo unas sumas,
multiplicaciones,
y unas cuantas raíces cuadradas.
Aunque el truco de diseño estaba
en averiguar cómo tomar
algo tan misterioso,
como la atracción humana,
y separarlo en sus componentes para que
una computadora pueda trabajar con ellos.
Bueno, lo primero que necesitamos
para aparejar personas son datos,
algo que el algoritmo necesita.
El mejor modo de
conseguir datos de la gente
es simplemente preguntando.
Así, decidimos que OK Cupid
debería preguntar a los usuarios
cosas como, "¿quieres
tener hijos algún día?"
y "¿con qué frecuencia
te cepillas los dientes?",
"¿te gustan las películas de terror?",
y grandes temas como:
"¿Crees en Dios?"
Ahora, muchas de las
preguntas son buenas
para aparear entre iguales,
es decir cuando ambas
personas contestan igual.
Por ejemplo, dos personas a las que
les gustan las películas de terror
probablemente hacen mejor pareja
que una persona que le gusta
y otra que no.
Pero qué pasa con una pregunta como,
"¿te gusta ser el centro de atención?"
Si ambos en una relación dicen que sí,
entonces tendremos problemas grandes.
Pronto nos dimos cuenta de esto,
así que decidimos que necesitábamos
un poco más de datos
para cada pregunta.
Teníamos que pedir que especificaran
no solo su propia respuesta,
sino la respuesta que
querían del otro.
Eso funcionó muy bien,
pero necesitamos
una dimensión más.
Algunas preguntas dicen más
de una persona que otras.
Por ejemplo, una pregunta
de política, algo como,
"¿qué es peor: quemar un libro
o una bandera?",
puede revelar más de alguien
que su gusto fílmico.
Y no tiene sentido
ponderar todo por igual,
así que sumamos
un punto final de datos.
Por cada cosa que
pregunta OK Cupid,
tienen una oportunidad de decirnos
el rol que juega en sus vidas,
y esto varía desde
lo irrelevante a lo obligatorio.
Ahora pues, por cada pregunta,
tenemos tres cosas
para nuestro algoritmo:
primero, tu respuesta;
segundo, cómo quieres que el otro,
tu pareja potencial,
responda;
y tercero, qué tan importante
es la pregunta para ti.
Con toda esta información,
OO Cupid puede averiguar
qué tan bien se llevarán dos personas.
El algoritmo desmenuza los números
y les da un resultado.
Como un ejemplo práctico,
veamos cómo te apareamos
con otra persona,
que llamaremos "B".
Tu porcentaje de compatibilidad
con B se basa en
preguntas que ambos respondieron.
Que llamaremos el conjunto
de preguntas comunes, "s".
Como un ejemplo muy sencillo,
usaremos un conjunto pequeño "s"
con solo dos preguntas en común
y calcularemos de eso, una pareja.
He aquí nuestros dos preguntas ejemplo.
La primera, digamos,
"¿qué tan desordenado eres?"
y las posibles respuestas son:
muy desordenado,
promedio
y muy ordenado.
Digamos que contestas
"muy ordenado",
y quisieras a alguien que
conteste, "muy ordenado",
y la preguntas es
muy importante para ti.
En suma tienes manía por el orden.
Eres ordenada,
quieres a alguien ordenado,
sin más.
Digamos que B es
un poquito diferente.
Responde que es
muy ordenado consigo mismo
pero promedio le parece bien
como respuesta del otro.
Y la pregunta le es poco relevante.
Miremos la segunda pregunta,
es la del ejemplo anterior:
"¿te gusta ser el centro de atención?"
Las respuestas son sí y no.
Ahora si contestas "no",
cómo quieres que
sea el "no" del otro.
Y la pregunta tiene
poca relevancia para ti.
Ahora B, contesta "sí",
quiere a alguien
que conteste "no",
porque quiere destacarse,
y la pregunta le es relevante.
Intentemos calcular todo esto.
Nuestro primer paso es,
dado que usamos computadoras,
necesitamos asignar valores numéricos
a ideas como "algo importante"
y "muy importante"
porque las computadoras
necesitan todo en números.
Nosotros en OK Cupid
elegimos la siguiente escala:
irrelevante equivale a 0,
un poco importante equivale a 1,
algo importante equivale a 10,
muy importante equivale a 50,
y es absolutamente obligatorio a 250.
Siguiente paso, el algoritmo
hace dos simples cálculos.
El primero es qué tanto
te gustaron las respuestas de B,
esto es, ¿cuántos puntos posibles
obtuvo B en tu escala?
Bueno, tú indicaste que
la respuesta de B
a la primera pregunta sobre el desorden
era muy importante para ti.
Lo que equivale a 50 puntos y B acertó.
La segunda pregunta equivale solo a 1
porque dijiste que era
solo poco relevante,
y B la tiene mal.
Así, las respuestas de B fueron
50 de 51 puntos posibles.
Esto es 98 % satisfactorio,
lo cual es bastante bueno.
Y la segunda pregunta
del algoritmo ve
qué tanto le satisfaces a B.
Bueno, B te dio 1 punto
en tu respuesta
a la pregunta del desorden
y 10 en la respuesta a la segunda.
De esos 11, es decir 1 más 10,
te ganaste 10,
de la segunda pregunta ambos
están satisfechos entre sí.
Entonces sus respuestas
fueron 10 de 11
que equivale al 91% de
satisfacción para B.
No está mal.
El paso final es tomar estos
dos porcentajes de compatibilidad
y obtener un número para ambos.
Para hacer esto, el algoritmo
multiplica sus resultados,
hace la raíz de n,
donde n es el número de preguntas.
Dado que s, es el número de preguntas,
en este ejemplo, es solamente 2,
tenemos porcentajes de
compatibilidad que equivalen
a la raíz cuadrada de 98 % por 91 %,
que equivale a 94 %.
Este 94 % es tu porcentaje
de compatibilidad con B.
Es una expresión matemática
de qué tan feliz serían entre sí
con base a lo que sabemos.
Ahora bien, ¿por qué el algoritmo
se multiplica opuesto a, digamos,
el promedio de los dos resultados
de compatibilidad juntos
y por qué la raíz cuadrada?
En general, esta fórmula
se llama media geométrica,
que es un gran camino
para combinar valores
que tienen rangos amplios
y representan propiedades muy diferentes.
Es decir, es perfecto para
relaciones románticas.
Tenemos rangos amplios
y tenemos toneladas
de datos diferentes,
como dije, de películas,
de política,
de religión,
de todo.
Intuitivamente, a su vez, tiene sentido.
Dos personas que se satisfecen
en 50 % a la otra
debieran ser una mejor pareja
que otros dos que
se satisfacen entre 0 y 100,
porque el afecto necesita ser mutuo.
Pero sumando una pequeña
corrección de margen de error,
en el caso que haya una pequeña
cantidad de preguntas,
como hicimos en este ejemplo,
estamos listos para salir.
Cada vez que OK Cupid
junta a dos personas,
prosigue con los pasos
que acabamos de esbozar.
Primero se recolectan
los datos de sus respuestas,
luego se comparan
sus elecciones y preferencias
con las de otros
en modo simple y matemático.
Esto, la habilidad de tomar
fenómenos del mundo real
y hacer que un microchip
los pueda entender,
es, creo,
la destreza más importante que
uno puede tener en la actualidad.
Así como usas oraciones para
contar una historia a una persona,
usas algoritmos para contar
una historia a una computadora.
Si aprendes el lenguaje,
puedes salir y contar tus historias.
Espero que esto te sirva para hacerlo.