0:00:17.602,0:00:19.239 Hola, soy Christian Rudder 0:00:19.239,0:00:21.875 y fui uno de los fundadores[br]de OK Cupid. 0:00:21.875,0:00:24.502 Hoy es uno de los sitios de citas [br]más grande de Estados Unidos. 0:00:24.502,0:00:25.749 Como casi todos en el sitio, 0:00:25.749,0:00:27.296 tenía un título en matemáticas [br]y, como era de esperar, 0:00:27.296,0:00:28.644 éramos conocidos por [br]el enfoque analítico 0:00:28.644,0:00:29.887 que tenemos del amor. 0:00:29.887,0:00:31.717 Le llamamos el algoritmo [br]de compatibilidad. 0:00:31.717,0:00:33.428 En esencia el algoritmo [br]de compatibilidad de OK Cupid 0:00:33.428,0:00:36.481 nos ayuda a decidir si dos personas [br]debieran tener una cita. 0:00:36.481,0:00:38.765 Sobre esa base construimos [br]todo nuestro negocio. 0:00:38.765,0:00:40.572 Ahora, algoritmo es [br]una palabra pomposa 0:00:40.572,0:00:43.047 y la gente tiende a ignorarla [br]por ampulosa, 0:00:43.047,0:00:45.148 pero en realidad, un algoritmo[br]es solo una forma sistemática 0:00:45.148,0:00:47.817 de resolver problemas paso a paso. 0:00:47.817,0:00:49.949 No tiene que ser nada pomposo. 0:00:49.949,0:00:51.802 Aquí en esta lección, explicaré 0:00:51.802,0:00:53.657 cómo concebimos [br]nuestro algoritmo, 0:00:53.657,0:00:55.660 así lo podrás entender. 0:00:55.660,0:00:57.576 Ahora, ¿por qué son importantes[br]los algoritmos? 0:00:57.576,0:00:59.045 ¿Para qué existe esta lección? 0:00:59.045,0:01:02.457 Bueno, nota una frase [br]muy significativa que usé arriba: 0:01:02.457,0:01:05.029 una forma de resolver [br]problemas paso a paso, 0:01:05.029,0:01:05.841 y como probablemente sepas, 0:01:05.841,0:01:08.470 las computadoras se lucen en[br]los procesos paso a paso. 0:01:08.470,0:01:09.588 Una computadora sin un algoritmo 0:01:09.588,0:01:12.933 es en esencia un pisapapeles caro. 0:01:12.933,0:01:15.430 Y dado que las computadoras son una parte [br]tan dominante de la vida cotidiana, 0:01:15.430,0:01:17.223 los algoritmos están dondequiera. 0:01:18.515,0:01:20.267 La matemática subyacente al algoritmo [br]de compatibilidad de OK Cupid 0:01:20.267,0:01:21.811 es sorprendentemente sencilla. 0:01:21.811,0:01:22.629 Son solo unas sumas, 0:01:22.629,0:01:23.687 multiplicaciones, 0:01:23.687,0:01:25.340 y unas cuantas raíces cuadradas. 0:01:25.340,0:01:27.611 Aunque el truco de diseño estaba 0:01:27.611,0:01:30.235 en averiguar cómo tomar [br]algo tan misterioso, 0:01:30.235,0:01:31.212 como la atracción humana, 0:01:31.212,0:01:33.810 y separarlo en sus componentes para que [br]una computadora pueda trabajar con ellos. 0:01:33.810,0:01:36.360 Bueno, lo primero que necesitamos [br]para aparejar personas son datos, 0:01:36.360,0:01:38.382 algo que el algoritmo necesita. 0:01:38.382,0:01:40.412 El mejor modo de [br]conseguir datos de la gente 0:01:40.412,0:01:41.747 es simplemente preguntando. 0:01:41.747,0:01:44.166 Así, decidimos que OK Cupid [br]debería preguntar a los usuarios 0:01:44.166,0:01:46.834 cosas como, "¿quieres[br]tener hijos algún día?" 0:01:46.834,0:01:48.754 y "¿con qué frecuencia[br]te cepillas los dientes?", 0:01:48.754,0:01:50.227 "¿te gustan las películas de terror?", 0:01:50.227,0:01:53.514 y grandes temas como:[br]"¿Crees en Dios?" 0:01:53.514,0:01:55.308 Ahora, muchas de las[br]preguntas son buenas 0:01:55.308,0:01:56.381 para aparear entre iguales, 0:01:56.381,0:01:59.052 es decir cuando ambas [br]personas contestan igual. 0:01:59.052,0:02:01.471 Por ejemplo, dos personas a las que [br]les gustan las películas de terror 0:02:01.471,0:02:02.684 probablemente hacen mejor pareja 0:02:02.684,0:02:03.843 que una persona que le gusta 0:02:03.843,0:02:05.115 y otra que no. 0:02:05.115,0:02:06.480 Pero qué pasa con una pregunta como, 0:02:06.480,0:02:08.189 "¿te gusta ser el centro de atención?" 0:02:08.189,0:02:10.729 Si ambos en una relación dicen que sí, 0:02:10.729,0:02:13.068 entonces tendremos problemas grandes. 0:02:13.068,0:02:14.447 Pronto nos dimos cuenta de esto, 0:02:14.447,0:02:15.614 así que decidimos que necesitábamos 0:02:15.614,0:02:17.581 un poco más de datos [br]para cada pregunta. 0:02:17.581,0:02:20.332 Teníamos que pedir que especificaran [br]no solo su propia respuesta, 0:02:20.332,0:02:23.038 sino la respuesta que [br]querían del otro. 0:02:23.038,0:02:24.207 Eso funcionó muy bien, 0:02:24.207,0:02:26.291 pero necesitamos[br]una dimensión más. 0:02:26.291,0:02:28.835 Algunas preguntas dicen más [br]de una persona que otras. 0:02:28.835,0:02:31.795 Por ejemplo, una pregunta [br]de política, algo como, 0:02:31.795,0:02:34.589 "¿qué es peor: quemar un libro [br]o una bandera?", 0:02:34.589,0:02:37.207 puede revelar más de alguien [br]que su gusto fílmico. 0:02:37.207,0:02:39.387 Y no tiene sentido [br]ponderar todo por igual, 0:02:39.387,0:02:41.605 así que sumamos [br]un punto final de datos. 0:02:41.605,0:02:43.440 Por cada cosa que [br]pregunta OK Cupid, 0:02:43.440,0:02:44.642 tienen una oportunidad de decirnos 0:02:44.642,0:02:46.223 el rol que juega en sus vidas, 0:02:46.223,0:02:49.089 y esto varía desde [br]lo irrelevante a lo obligatorio. 0:02:49.089,0:02:50.564 Ahora pues, por cada pregunta, 0:02:50.564,0:02:52.692 tenemos tres cosas [br]para nuestro algoritmo: 0:02:52.692,0:02:54.068 primero, tu respuesta; 0:02:54.068,0:02:56.362 segundo, cómo quieres que el otro, 0:02:56.362,0:02:57.196 tu pareja potencial, 0:02:57.196,0:02:58.781 responda; 0:02:58.781,0:03:02.327 y tercero, qué tan importante [br]es la pregunta para ti. 0:03:02.327,0:03:03.702 Con toda esta información, 0:03:03.702,0:03:07.128 OO Cupid puede averiguar [br]qué tan bien se llevarán dos personas. 0:03:07.128,0:03:09.458 El algoritmo desmenuza los números [br]y les da un resultado. 0:03:09.458,0:03:11.262 Como un ejemplo práctico, 0:03:11.262,0:03:13.712 veamos cómo te apareamos [br]con otra persona, 0:03:13.712,0:03:15.581 que llamaremos "B". 0:03:15.581,0:03:17.479 Tu porcentaje de compatibilidad [br]con B se basa en 0:03:17.479,0:03:19.424 preguntas que ambos respondieron. 0:03:19.424,0:03:21.978 Que llamaremos el conjunto [br]de preguntas comunes, "s". 0:03:21.978,0:03:24.932 Como un ejemplo muy sencillo,[br]usaremos un conjunto pequeño "s" 0:03:24.932,0:03:26.434 con solo dos preguntas en común 0:03:26.434,0:03:28.310 y calcularemos de eso, una pareja. 0:03:28.310,0:03:30.144 He aquí nuestros dos preguntas ejemplo. 0:03:30.144,0:03:32.349 La primera, digamos, [br]"¿qué tan desordenado eres?" 0:03:32.349,0:03:34.669 y las posibles respuestas son: 0:03:34.669,0:03:35.618 muy desordenado, 0:03:35.618,0:03:36.398 promedio 0:03:36.398,0:03:38.172 y muy ordenado. 0:03:38.172,0:03:39.755 Digamos que contestas [br]"muy ordenado", 0:03:39.755,0:03:42.581 y quisieras a alguien que [br]conteste, "muy ordenado", 0:03:42.581,0:03:45.202 y la preguntas es [br]muy importante para ti. 0:03:45.202,0:03:46.498 En suma tienes manía por el orden. 0:03:46.498,0:03:47.212 Eres ordenada, 0:03:47.212,0:03:48.296 quieres a alguien ordenado, 0:03:48.296,0:03:49.248 sin más. 0:03:49.248,0:03:51.015 Digamos que B es [br]un poquito diferente. 0:03:51.015,0:03:53.539 Responde que es [br]muy ordenado consigo mismo 0:03:53.539,0:03:55.171 pero promedio le parece bien 0:03:55.171,0:03:56.740 como respuesta del otro. 0:03:56.740,0:03:58.748 Y la pregunta le es poco relevante. 0:03:58.748,0:04:00.308 Miremos la segunda pregunta, 0:04:00.308,0:04:01.896 es la del ejemplo anterior: 0:04:01.896,0:04:03.653 "¿te gusta ser el centro de atención?" 0:04:03.653,0:04:05.231 Las respuestas son sí y no. 0:04:05.231,0:04:06.407 Ahora si contestas "no", 0:04:06.407,0:04:08.235 cómo quieres que [br]sea el "no" del otro. 0:04:08.235,0:04:10.862 Y la pregunta tiene [br]poca relevancia para ti. 0:04:10.862,0:04:12.419 Ahora B, contesta "sí", 0:04:12.419,0:04:14.087 quiere a alguien [br]que conteste "no", 0:04:14.087,0:04:16.332 porque quiere destacarse, 0:04:16.332,0:04:19.334 y la pregunta le es relevante. 0:04:19.334,0:04:21.716 Intentemos calcular todo esto. 0:04:21.716,0:04:22.855 Nuestro primer paso es, 0:04:22.855,0:04:24.376 dado que usamos computadoras, 0:04:24.376,0:04:26.162 necesitamos asignar valores numéricos 0:04:26.162,0:04:29.041 a ideas como "algo importante" [br]y "muy importante" 0:04:29.041,0:04:31.335 porque las computadoras [br]necesitan todo en números. 0:04:31.335,0:04:33.523 Nosotros en OK Cupid [br]elegimos la siguiente escala: 0:04:33.523,0:04:35.858 irrelevante equivale a 0, 0:04:35.858,0:04:38.307 un poco importante equivale a 1, 0:04:38.307,0:04:40.302 algo importante equivale a 10, 0:04:40.302,0:04:42.426 muy importante equivale a 50, 0:04:42.426,0:04:46.353 y es absolutamente obligatorio a 250. 0:04:46.353,0:04:48.852 Siguiente paso, el algoritmo [br]hace dos simples cálculos. 0:04:48.852,0:04:51.941 El primero es qué tanto [br]te gustaron las respuestas de B, 0:04:51.941,0:04:55.568 esto es, ¿cuántos puntos posibles [br]obtuvo B en tu escala? 0:04:55.568,0:04:58.138 Bueno, tú indicaste que [br]la respuesta de B 0:04:58.138,0:04:59.947 a la primera pregunta sobre el desorden 0:04:59.947,0:05:01.448 era muy importante para ti. 0:05:01.448,0:05:04.041 Lo que equivale a 50 puntos y B acertó. 0:05:04.041,0:05:05.947 La segunda pregunta equivale solo a 1 0:05:05.947,0:05:07.558 porque dijiste que era [br]solo poco relevante, 0:05:07.558,0:05:09.036 y B la tiene mal. 0:05:09.036,0:05:12.392 Así, las respuestas de B fueron [br]50 de 51 puntos posibles. 0:05:12.392,0:05:14.023 Esto es 98 % satisfactorio, 0:05:14.023,0:05:15.220 lo cual es bastante bueno. 0:05:15.220,0:05:16.832 Y la segunda pregunta [br]del algoritmo ve 0:05:16.832,0:05:18.918 qué tanto le satisfaces a B. 0:05:18.918,0:05:20.768 Bueno, B te dio 1 punto [br]en tu respuesta 0:05:20.768,0:05:22.353 a la pregunta del desorden 0:05:22.353,0:05:24.745 y 10 en la respuesta a la segunda. 0:05:24.745,0:05:27.156 De esos 11, es decir 1 más 10, 0:05:27.156,0:05:28.324 te ganaste 10, 0:05:28.324,0:05:30.617 de la segunda pregunta ambos [br]están satisfechos entre sí. 0:05:30.617,0:05:32.611 Entonces sus respuestas [br]fueron 10 de 11 0:05:32.611,0:05:35.240 que equivale al 91% de [br]satisfacción para B. 0:05:35.240,0:05:36.117 No está mal. 0:05:36.117,0:05:38.286 El paso final es tomar estos [br]dos porcentajes de compatibilidad 0:05:38.286,0:05:40.454 y obtener un número para ambos. 0:05:40.454,0:05:42.747 Para hacer esto, el algoritmo [br]multiplica sus resultados, 0:05:42.747,0:05:44.500 hace la raíz de n, 0:05:44.500,0:05:46.792 donde n es el número de preguntas. 0:05:46.792,0:05:49.401 Dado que s, es el número de preguntas, 0:05:49.401,0:05:51.507 en este ejemplo, es solamente 2, 0:05:51.507,0:05:54.093 tenemos porcentajes de [br]compatibilidad que equivalen 0:05:54.093,0:05:58.154 a la raíz cuadrada de 98 % por 91 %, 0:05:58.154,0:06:00.304 que equivale a 94 %. 0:06:00.304,0:06:03.194 Este 94 % es tu porcentaje [br]de compatibilidad con B. 0:06:03.194,0:06:04.561 Es una expresión matemática 0:06:04.561,0:06:06.405 de qué tan feliz serían entre sí 0:06:06.405,0:06:07.749 con base a lo que sabemos. 0:06:07.749,0:06:10.131 Ahora bien, ¿por qué el algoritmo [br]se multiplica opuesto a, digamos, 0:06:10.131,0:06:12.284 el promedio de los dos resultados [br]de compatibilidad juntos 0:06:12.284,0:06:14.530 y por qué la raíz cuadrada? 0:06:14.530,0:06:16.479 En general, esta fórmula [br]se llama media geométrica, 0:06:16.479,0:06:17.881 que es un gran camino [br]para combinar valores 0:06:17.881,0:06:19.076 que tienen rangos amplios 0:06:19.076,0:06:20.861 y representan propiedades muy diferentes. 0:06:20.861,0:06:23.164 Es decir, es perfecto para [br]relaciones románticas. 0:06:23.164,0:06:24.248 Tenemos rangos amplios 0:06:24.248,0:06:26.206 y tenemos toneladas[br]de datos diferentes, 0:06:26.206,0:06:27.156 como dije, de películas, 0:06:27.156,0:06:28.006 de política, 0:06:28.006,0:06:29.201 de religión, 0:06:29.201,0:06:30.395 de todo. 0:06:30.395,0:06:32.256 Intuitivamente, a su vez, tiene sentido. 0:06:32.256,0:06:34.918 Dos personas que se satisfecen [br]en 50 % a la otra 0:06:34.918,0:06:36.052 debieran ser una mejor pareja 0:06:36.052,0:06:39.180 que otros dos que [br]se satisfacen entre 0 y 100, 0:06:39.180,0:06:40.847 porque el afecto necesita ser mutuo. 0:06:40.847,0:06:43.147 Pero sumando una pequeña [br]corrección de margen de error, 0:06:43.147,0:06:45.770 en el caso que haya una pequeña [br]cantidad de preguntas, 0:06:45.770,0:06:47.234 como hicimos en este ejemplo, 0:06:47.234,0:06:48.811 estamos listos para salir. 0:06:48.811,0:06:50.191 Cada vez que OK Cupid [br]junta a dos personas, 0:06:50.191,0:06:52.234 prosigue con los pasos [br]que acabamos de esbozar. 0:06:52.234,0:06:54.484 Primero se recolectan [br]los datos de sus respuestas, 0:06:54.484,0:06:56.619 luego se comparan [br]sus elecciones y preferencias 0:06:56.619,0:06:59.740 con las de otros[br]en modo simple y matemático. 0:06:59.740,0:07:02.453 Esto, la habilidad de tomar [br]fenómenos del mundo real 0:07:02.453,0:07:05.167 y hacer que un microchip[br]los pueda entender, 0:07:05.167,0:07:05.742 es, creo, 0:07:05.742,0:07:08.565 la destreza más importante que [br]uno puede tener en la actualidad. 0:07:08.565,0:07:10.919 Así como usas oraciones para [br]contar una historia a una persona, 0:07:10.919,0:07:13.665 usas algoritmos para contar [br]una historia a una computadora. 0:07:13.665,0:07:14.921 Si aprendes el lenguaje, 0:07:14.921,0:07:16.381 puedes salir y contar tus historias. 0:07:16.381,0:07:18.768 Espero que esto te sirva para hacerlo.