WEBVTT 00:00:17.602 --> 00:00:19.239 Sveiki! Mani sauc Kristians Raders, 00:00:19.239 --> 00:00:21.875 un es biju viens no OkCupid dibinātājiem. 00:00:21.875 --> 00:00:24.502 Tagad tas ir viens no lielākajiem iepazīšanās portāliem ASV. 00:00:24.502 --> 00:00:25.749 Kā gandrīz visiem portālā 00:00:25.749 --> 00:00:27.296 man ir maģistra grāds matemātikā, un, kā noprotams, 00:00:27.296 --> 00:00:29.149 mēs esam pazīstami ar savu analītisko pieeju 00:00:29.149 --> 00:00:29.887 mīlestībai. 00:00:29.887 --> 00:00:31.717 Mēs to saucam par saderības algoritmu. 00:00:31.717 --> 00:00:33.428 Būtībā OkCupid saderības algoritms 00:00:33.428 --> 00:00:36.481 palīdz izlemt, vai diviem cilvēkiem vajadzētu satikties. 00:00:36.481 --> 00:00:38.765 Uz to ir balstīts viss mūsu bizness. 00:00:38.765 --> 00:00:40.572 Algoritms ir sarežģīts vārds, 00:00:40.572 --> 00:00:43.047 un cilvēki domā, ka tas ir kaut kas liels, 00:00:43.047 --> 00:00:45.148 bet patiesībā algoritms ir tikai sistemātiska 00:00:45.148 --> 00:00:47.817 un pieeja problēmas risināšanai soli pa solim. 00:00:47.817 --> 00:00:49.949 Tam nepavisam nav jābūt sarežģītam. 00:00:49.949 --> 00:00:51.802 Šajā lekcijā es paskaidrošu, 00:00:51.802 --> 00:00:53.657 kā mēs nonācām līdz šim algoritmam, 00:00:53.657 --> 00:00:55.660 lai jūs redzētu, kā tas notiek. 00:00:55.660 --> 00:00:57.576 Kāpēc algoritmi vispār ir svarīgi? 00:00:57.576 --> 00:00:59.045 Kamdēļ vispār šī lekcija? 00:00:59.045 --> 00:01:02.457 Ievērojiet kādu ļoti nozīmīgu frāzi, kuru izmantoju iepriekš — 00:01:02.457 --> 00:01:05.029 algoritmi ir veids, kā risināt problēmu soli pa solim, 00:01:05.029 --> 00:01:05.841 un, kā jūs jau, iespējams, zināt, 00:01:05.841 --> 00:01:08.470 datori secīgos procesos ir izcili. 00:01:08.470 --> 00:01:09.588 Dators bez algoritma 00:01:09.588 --> 00:01:12.933 būtībā ir dārga papīru prese. 00:01:12.933 --> 00:01:15.430 Tā kā datori ir neatņemama ikdienas sastāvdaļa, 00:01:15.430 --> 00:01:17.223 algoritmi ir visur. 00:01:18.515 --> 00:01:20.267 OkCupid saderības algoritma matemātika 00:01:20.267 --> 00:01:21.811 ir pārsteidzoši vienkārša. 00:01:21.811 --> 00:01:22.629 Tur ir tikai saskaitīšana, 00:01:22.629 --> 00:01:23.687 reizināšana 00:01:23.687 --> 00:01:25.340 un dažas kvadrātsaknes. 00:01:25.340 --> 00:01:27.611 Piņķerīgā daļa tā izveidē 00:01:27.611 --> 00:01:30.235 bija izdomāt, kā kaut ko tik noslēpumainu 00:01:30.235 --> 00:01:31.212 kā pievilcību 00:01:31.212 --> 00:01:33.810 sadalīt tādās sastāvdaļās, ar kurām varētu strādāt dators. 00:01:33.810 --> 00:01:36.360 Pirmkārt, saderības noskaidrošanai mums bija vajadzīgi dati, 00:01:36.360 --> 00:01:38.382 kaut kas, ar ko algoritms varētu strādāt. 00:01:38.382 --> 00:01:40.412 Labākais veids, kā šos datus ātri iegūt no cilvēkiem, 00:01:40.412 --> 00:01:41.747 ir vienkārši pajautāt. 00:01:41.747 --> 00:01:44.166 Tā mēs izlēmām, ka OkCupid būtu jāuzdod lietotājiem jautājumi, 00:01:44.166 --> 00:01:46.834 piemēram: „Vai jūs kādu dienu vēlētos bērnus?” 00:01:46.834 --> 00:01:48.754 „Cik bieži jūs tīrāt zobus?” 00:01:48.754 --> 00:01:50.227 „Vai jums patīk šausmu filmas?” 00:01:50.227 --> 00:01:53.514 un lielās lietas, piemēram: „Vai jūs ticat Dievam?” 00:01:53.514 --> 00:01:55.308 Daudzi jautājumi ir piemēroti, 00:01:55.308 --> 00:01:56.381 lai atrastu līdzīgos, 00:01:56.381 --> 00:01:59.052 proti, kad abi cilvēki atbild vienādi. 00:01:59.052 --> 00:02:01.471 Piemēram, divi cilvēki, kuriem patīk šausmu filmas, 00:02:01.471 --> 00:02:02.684 droši vien būs labāks pāris, 00:02:02.684 --> 00:02:03.843 nekā ja vienam tās patiks, 00:02:03.843 --> 00:02:05.115 bet otram ne. 00:02:05.115 --> 00:02:06.480 Bet kā ir, piemēram, ar jautājumu: 00:02:06.480 --> 00:02:08.189 „Vai jums patīk atrasties uzmanības centrā?” 00:02:08.189 --> 00:02:10.729 Ja abi cilvēki atbild uz šo jautājumu ar jā, 00:02:10.729 --> 00:02:13.068 viņiem būs lielas problēmas. 00:02:13.068 --> 00:02:14.447 Mēs to ātri vien sapratām, 00:02:14.447 --> 00:02:15.614 tādēļ izlēmām, ka vajag 00:02:15.614 --> 00:02:17.581 mazliet vairāk informācijas par katru jautājumu. 00:02:17.581 --> 00:02:20.332 Mums vajadzēja noskaidrot ne tikai paša cilvēka atbildes, 00:02:20.332 --> 00:02:23.038 bet arī to, kādas atbildes viņi sagaida no otra. 00:02:23.038 --> 00:02:24.207 Tas strādāja ļoti labi, 00:02:24.207 --> 00:02:26.291 tomēr mums vajadzēja vēl vienu dimensiju. 00:02:26.291 --> 00:02:28.835 Daži jautājumi par cilvēku pasaka vairāk nekā citi. 00:02:28.835 --> 00:02:31.795 Piemēram, jautājums par politiku: 00:02:31.795 --> 00:02:34.589 „Kas ir sliktāk — grāmatu vai karoga dedzināšana?” 00:02:34.589 --> 00:02:37.207 var atklāt par kādu vairāk nekā viņa filmu gaume. 00:02:37.207 --> 00:02:39.387 Nebūtu pareizi uzskatīt visas lietas par līdzvērtīgām, 00:02:39.387 --> 00:02:41.605 tāpēc mēs pievienojām vēl vienu elementu. 00:02:41.605 --> 00:02:43.440 Par ikvienu OkCupid jautājumu 00:02:43.440 --> 00:02:44.642 jūs varat mums pateikt, 00:02:44.642 --> 00:02:46.223 cik liela loma tam ir jūsu dzīvē — 00:02:46.223 --> 00:02:49.089 sākot no nenozīmīgas līdz obligātai. 00:02:49.089 --> 00:02:50.564 Tā nu tagad katram jautājumam 00:02:50.564 --> 00:02:52.692 mūsu algoritmā ir trīs lietas: 00:02:52.692 --> 00:02:54.068 pirmkārt, jūsu atbilde; 00:02:54.068 --> 00:02:56.362 otrkārt, kā jūs vēlētos, lai otrs cilvēks, 00:02:56.362 --> 00:02:57.196 jūsu potenciālais partneris, 00:02:57.196 --> 00:02:58.781 atbild; 00:02:58.781 --> 00:03:02.327 un treškārt, cik svarīgs jums ir šis jautājums. 00:03:02.327 --> 00:03:03.702 Izmantojot šo informāciju, 00:03:03.702 --> 00:03:07.128 OkCupid var noteikt, cik labi divi cilvēki sapratīsies. 00:03:07.128 --> 00:03:09.458 Algoritms veic aprēķinu, un mēs iegūstam rezultātu. 00:03:09.458 --> 00:03:11.262 Praktisks piemērs. 00:03:11.262 --> 00:03:13.712 Paskatīsimies, kā mēs noskaidrotu jūsu saderību ar kādu cilvēku, 00:03:13.712 --> 00:03:15.581 sauksim viņu par „B”. 00:03:15.581 --> 00:03:17.479 Jūsu saderības procents ar B ir balstīts uz 00:03:17.479 --> 00:03:19.424 jautājumiem, uz kuriem jūs abi atbildējāt. 00:03:19.424 --> 00:03:21.978 Sauksim šo vienkāršo jautājumu kopu par „s”. 00:03:21.978 --> 00:03:24.932 Šajā ļoti vienkāršajā piemērā mēs izmantojam nelielu kopu „s” 00:03:24.932 --> 00:03:26.434 ar tikai diviem kopīgiem jautājumiem 00:03:26.434 --> 00:03:28.310 un, balstoties uz tiem, aprēķinām saderību. 00:03:28.310 --> 00:03:30.144 Lūk, mūsu divi jautājumi. 00:03:30.144 --> 00:03:32.349 Pirmais varētu būt: „Cik nekārtīgs jūs esat?” 00:03:32.349 --> 00:03:34.669 un iespējamie atbilžu varianti ir 00:03:34.669 --> 00:03:35.618 ļoti nekārtīgs, 00:03:35.618 --> 00:03:36.398 vidēji nekārtīgs, 00:03:36.398 --> 00:03:38.172 un ļoti kārtīgs. 00:03:38.172 --> 00:03:39.755 Pieņemsim, ka jūs atbildējāt „ļoti kārtīgs” 00:03:39.755 --> 00:03:42.581 un vēlaties, lai arī otrs atbild „ļoti kārtīgs”, 00:03:42.581 --> 00:03:45.202 un šis jautājums jums ir ļoti svarīgs. 00:03:45.202 --> 00:03:46.498 Jūs būtībā esat apsēsts ar kārtību. 00:03:46.498 --> 00:03:47.212 Jūs esat kārtīgs, 00:03:47.212 --> 00:03:48.296 un vēlaties, lai arī otrs cilvēks ir kārtīgs, 00:03:48.296 --> 00:03:49.248 un viss. 00:03:49.248 --> 00:03:51.015 Pieņemsim, ka B ir mazliet citādāks. 00:03:51.015 --> 00:03:53.539 Viņš ir atbildējis, ka pats ir ļoti kārtīgs, 00:03:53.539 --> 00:03:55.171 bet viņam no otra cilvēka der arī atbilde „vidēji kārtīgs”, 00:03:56.740 --> 00:03:58.748 un viņam šis jautājums ir mazsvarīgs. 00:03:58.748 --> 00:04:00.308 Apskatīsim otro jautājumu, 00:04:00.308 --> 00:04:01.896 tas ir viens no iepriekš minētajiem: 00:04:01.896 --> 00:04:03.653 „Vai jums patīk atrasties uzmanības centrā?” 00:04:03.653 --> 00:04:05.231 Atbildes ir vienkārši „jā” un „nē”. 00:04:05.231 --> 00:04:06.407 Jūs atbildējāt „nē”, 00:04:06.407 --> 00:04:08.235 un vēlaties, lai arī otrs atbildētu „nē”, 00:04:08.235 --> 00:04:10.862 un jautājums jums ir mazsvarīgs. 00:04:10.862 --> 00:04:12.419 B ir atbildējis „jā”, 00:04:12.419 --> 00:04:14.087 un vēlas, lai otrs atbildētu „nē”, 00:04:14.087 --> 00:04:16.332 jo vēlas, lai uzmanība būtu pievērsta viņam, 00:04:16.332 --> 00:04:19.335 un šis jautājums viņam ir samērā svarīgs. 00:04:19.335 --> 00:04:21.716 Tad nu mēģināsim to visu izskaitļot. 00:04:21.716 --> 00:04:22.855 Pirmkārt, 00:04:22.855 --> 00:04:24.376 tā kā šim darbam izmantojam datorus, 00:04:24.376 --> 00:04:26.162 mums jāpiešķir skaitliskas vērtības 00:04:26.162 --> 00:04:29.041 tādām idejām kā „samērā svarīgs” un „ļoti svarīgs”, 00:04:29.041 --> 00:04:31.335 jo datoriem viss ir vajadzīgs skaitliskā formātā. 00:04:31.335 --> 00:04:33.523 Mēs, OkCupid, vienojāmies par šādām vērtībām: 00:04:33.523 --> 00:04:35.858 nesvarīgs ir 0, 00:04:35.858 --> 00:04:38.307 mazsvarīgs ir 1, 00:04:38.307 --> 00:04:40.302 samērā svarīgs ir 10, 00:04:40.302 --> 00:04:42.426 ļoti svarīgs ir 50, 00:04:42.426 --> 00:04:46.353 un obligāts ir 250. 00:04:46.353 --> 00:04:48.852 Tālāk algoritms veic divus vienkāršus aprēķinus. 00:04:48.852 --> 00:04:51.941 Pirmkārt, cik atbilstošas bija B atbildes, 00:04:51.941 --> 00:04:55.568 proti, cik daudz no iespējamajiem punktiem B savāca. 00:04:55.568 --> 00:04:58.138 Jūs norādījāt, ka B atbilde 00:04:58.138 --> 00:04:59.947 uz pirmo jautājumu par kārtīgumu 00:04:59.947 --> 00:05:01.448 jums ir ļoti svarīga. 00:05:01.448 --> 00:05:04.041 Tās vērtība ir 50 punkti, un B uz to atbildēja pareizi. 00:05:04.041 --> 00:05:05.947 Otrs jautājums ir tikai vienu punktu vērts, 00:05:05.947 --> 00:05:07.558 jo tas jums ir mazsvarīgs. 00:05:07.558 --> 00:05:09.036 B atbilde nebija pareizā. 00:05:09.036 --> 00:05:12.392 Tātad B ir ieguvis 50 no 51 iespējamā punkta. 00:05:12.392 --> 00:05:14.023 Tie ir 98%. 00:05:14.023 --> 00:05:15.220 Tas ir samērā labi. 00:05:15.220 --> 00:05:16.832 Otrs algoritma jautājums apskata, 00:05:16.832 --> 00:05:18.918 cik lielā mērā jūsu atbildes bija pa prātam B. 00:05:18.918 --> 00:05:20.768 B novērtēja ar 1 punktu atbildi 00:05:20.768 --> 00:05:22.353 uz jautājumu par kārtīgumu 00:05:22.353 --> 00:05:24.745 un ar 10 — atbildi uz otro jautājumu. 00:05:24.745 --> 00:05:27.156 No šiem 11, kas ir 1 plus 10, 00:05:27.156 --> 00:05:28.324 jūs ieguvāt 10. 00:05:28.324 --> 00:05:30.617 Jūsu abu atbildes uz otro jautājumu bija saderīgas. 00:05:30.617 --> 00:05:32.611 Tātad jūsu atbildes bija 10 no 11, 00:05:32.611 --> 00:05:35.240 kas ar B ir 91% atbilstība. 00:05:35.240 --> 00:05:36.117 Tas nav slikti. 00:05:36.117 --> 00:05:38.286 Visbeidzot no šīm divām procentuālajām vērtībām 00:05:38.286 --> 00:05:40.454 ir jāiegūst viens skaitlis jums abiem. 00:05:40.454 --> 00:05:42.747 Lai to izdarītu, algoritms sareizina jūsu punktus 00:05:42.747 --> 00:05:44.500 un izvelk n-tās pakāpes sakni, 00:05:44.500 --> 00:05:46.792 kur „n” atbilst jautājumu skaitam. 00:05:46.792 --> 00:05:49.401 Tā kā „s”, kas ir jautājumu skaits, 00:05:49.401 --> 00:05:51.507 šajā piemērā ir tikai 2, 00:05:51.507 --> 00:05:54.093 mūsu saderības procents ir vienāds 00:05:54.093 --> 00:05:58.154 ar kvadrātsakni no 98% reiz 91%. 00:05:58.154 --> 00:06:00.304 Tas ir vienāds ar 94%. 00:06:00.304 --> 00:06:03.194 Tas nozīmē, ka jūsu saderība ar B ir 94%. 00:06:03.194 --> 00:06:04.561 Šī matemātiskā izteiksme parāda, 00:06:04.561 --> 00:06:06.405 cik apmierināti jūs būtu viens ar otru, 00:06:06.405 --> 00:06:07.749 balstoties uz to, ko zinām. 00:06:07.749 --> 00:06:10.131 Kādēļ algoritms reizina, nevis, piemēram, 00:06:10.131 --> 00:06:12.284 aprēķina vidējo no abu vērtību summas, 00:06:12.284 --> 00:06:14.530 un kāpēc jāvelk kvadrātsakne? 00:06:14.530 --> 00:06:16.479 Šo formulu sauc par ģeometrisko vidējo, 00:06:16.479 --> 00:06:17.881 kas ir lielisks veids, kā kombinēt vērtības, 00:06:17.881 --> 00:06:19.076 kam ir liels diapazons 00:06:19.076 --> 00:06:20.861 un kas ataino ļoti dažādas īpašības. 00:06:20.861 --> 00:06:23.164 Tātad tas ir ideāli piemērots romantiskās saderības noteikšanai. 00:06:23.164 --> 00:06:24.248 Mums ir plašs diapazons, 00:06:24.248 --> 00:06:26.206 un kaudzēm dažādas informācijas, 00:06:26.206 --> 00:06:27.156 kā jau minēju, par filmām, 00:06:27.156 --> 00:06:28.006 politiku, 00:06:28.006 --> 00:06:29.201 reliģiju, 00:06:29.201 --> 00:06:30.395 par visu. 00:06:30.395 --> 00:06:32.256 Arī intuitīvi tas šķiet loģiski. 00:06:32.256 --> 00:06:34.918 Diviem cilvēkiem, kuru saderība vienam ar otru ir 50%, 00:06:34.918 --> 00:06:36.052 vajadzētu būt labākam pārim 00:06:36.052 --> 00:06:39.180 nekā diviem citiem, kuru saderība ir attiecīgi 0 un 100, 00:06:39.180 --> 00:06:40.847 jo pievilcībai jābūt abpusējai. 00:06:40.847 --> 00:06:43.147 Pievienojot nelielu korekciju kļūdas robežai 00:06:43.147 --> 00:06:45.770 tiem gadījumiem, kad jautājumu skaits ir pavisam neliels 00:06:45.770 --> 00:06:47.234 kā šajā piemērā, 00:06:47.234 --> 00:06:48.811 mēs esam gatavi startam. 00:06:48.811 --> 00:06:50.191 Ikreiz, aprēķinot divu cilvēku saderību, 00:06:50.191 --> 00:06:52.234 OkCupid iziet cauri nupat aprakstītajam. 00:06:52.234 --> 00:06:54.484 Vispirms tas savāc datus par jūsu atbildēm, 00:06:54.484 --> 00:06:56.619 tad salīdzina jūsu izvēles un vēlmes 00:06:56.619 --> 00:06:59.740 ar citiem cilvēkiem vienkāršā un matemātiskā veidā. 00:06:59.740 --> 00:07:02.453 Šī spēja reālās pasaules parādību 00:07:02.453 --> 00:07:05.167 pārveidot tā, lai mikroshēma to spētu saprast, 00:07:05.167 --> 00:07:05.742 ir, manuprāt, 00:07:05.742 --> 00:07:08.565 vissvarīgākā spēja, kāda cilvēkam mūsdienās var būt. 00:07:08.565 --> 00:07:10.919 Tāpat kā jūs izmantojat teikumus, lai kaut ko pastāstītu cilvēkam, 00:07:10.919 --> 00:07:13.665 mēs izmantojam algoritmus, lai pastāstītu lietas datoram. 00:07:13.665 --> 00:07:14.921 Iemācoties valodu, 00:07:14.921 --> 00:07:16.381 jūs varat doties pasaulē un stāstīt savus stāstus. 00:07:16.381 --> 00:07:18.768 Es ceru, ka šis palīdzēs jums to izdarīt.