Прывітанне, я Крысціян Радэр, я адзін з заснавальнікаў OkCupid. Зараз гэта адзін з найбуйнейшых сайтаў знаёмстваў у ЗША. Як і многія на гэтым сайце, я матэматык, і лагічна, што мы аналітычна падыходзім да любві. Мы называем гэта алгарытмам сумяшчэння. Увогуле, алгарытм OkCupid дапамагае нам вызначыць, ці варта пары людзей пайсці на спатканне. Мы пабудавалі на гэтым увесь наш бізнес. Алгарытм — разумнае слоўца, і людзі больш любяць кідацца ім як чымсьці складаным, але насамрэч гэта проста ўпарадкаваная пакрокавая інструкцыя для вырашэння праблемы. Ёй зусім не трэба быць складанай. На гэтым уроку я растлумачу, як мы прыйшлі да такога алгарытму, і вы ўбачыце, як усё працуе. А чаму ўвогуле алгарытмы важныя? Навошта наогул гэты ўрок? Звярніце ўвагу на фразу, сказаную мной раней: пакрокавыя інструкцыі для вырашэння праблем, і, як вядома, кампутары цудоўна з гэтым спраўляюцца. Кампутар без алгарытма — па сутнасці, дарагое прэс-пап'е. А раз кампутары сустракаюцца на кожным кроку, алгарытмы таксама паўсюль. Матэматыка алгарытма OkCupid на здзіўленне простая. Трошку складання, множання і ледзь-ледзь квадратных каранёў. Хаця пры яго распрацоўцы была складанасць у разуменні таго, як узяць нешта загадкавае — прывабнасць — і разбіць на часткі, з якімі можа працаваць кампутар. Спачатку для сумяшчэння людзей спатрэбіліся іх дадзеныя, нешта, з чым мог бы працаваць алгарытм. Лепшы спосаб хутка іх атрымаць — проста запытаць. І мы вырашылі, што OkCupid будзе задаваць пытанні накшталт: «Ці хочаце вы калі-небудзь завесці дзяцей?», «Як часта вы чысціце зубы?», «Вам падабаюцца фільмы жахаў?» А таксама важныя рэчы накшталт: «Ці верыце вы ў Бога?» Многія пытанні добрыя для пошуку супадзенняў, інакш кажучы, калі абодва чалавекі адказваюць аднолькава. Напрыклад, два чалавекі, якія любяць фільмы жахаў, напэўна, больш сумясцімыя, чым тыя, у каго густы адрозніваюцца. Але што наконт пытання тыпу: «Ці любіце вы быць у цэнтры ўвагі?» Калі абодва партнёры адказваюць «так», у іх будуць вялізныя праблемы, Мы адразу зразумелі гэта і вырашылі, што нам патрэбна больш інфармацыі ў кожным пытанні. Трэба прасіць людзей не толькі выбраць свой адказ, але і адказ, які яны хацелі б атрымаць ад партнёра. Гэта спрацавала выдатна, але нам патрэбна было яшчэ адно вымярэнне. Некаторыя адказы кажуць пра чалавека больш, чым іншыя. Напрыклад, пытанне пра палітыку: «Што горш: спаліць кнігу ці сцяг?», мог бы сказаць больш, чым перавагі ў фільмах. І няправільна прыдаваць пытанням аднолькавую вагу, таму мы дадалі заключны пункт. У кожным пытанні на OkCupid, можна адзначыць, наколькі важны для вас той ці іншы аспект, — у дыяпазоне ад абыякавасці да абавязковасці. Зараз для кожнага пытання у нас ёсць тры рэчы ў алгарытме: першае — ваш адказ, другое — пераважны адказ патэнцыйнага партнёра, і трэцяе — важнасць гэтага пытання для вас. Пры дапамозе гэтай інфармацыі OkCupid можа зразумець, як складуцца адносіны паміж людзьмі. Алгарытм аперыруе лікамі і выдае вынік. У якасці прыклада паглядзім на вашу сумясцімасць з іншым чалавекам, назавём яго «Б». Працэнт сумясцімасці з «Б» грунтуецца на пытаннях, на якія вы абодва адказалі. Назавём набор агульных пытанняў «С». Для простасці мы возьмем маленькі набор «С», усяго з двух агульных пытанняў, і вылічым сумясцімасць на іх аснове. Вось нашыя два пытанні. Першае, скажам: «Наколькі вы мурза?» Магчымыя адказы: «мурза», «сярэдне» і «вельмі акуратны». Хай вы «вельмі акуратная» і хацелі б, каб ваш партнёр адказаў так жа, а пытанне для вас вельмі важнае. Увогуле, вы акуратыстка. Вы чысцёха і хочаце, каб ваш партнёр таксама быў чысцёхай. Дапусцім, «Б» трошкі іншы. Ён адказаў, што сам ён «вельмі акуратны», але «сярэдняя» акуратнасць яго задаволіць у якасці адказа ад партнёра, а само пытанне для яго не вельмі важнае. Паглядзім на другое пытанне, мы яго ўжо згадвалі: «Вам падабаецца быць у цэнтры ўвагі?» Адказы толькі «так» і «не». Вы адказалі «не», хочаце, каб партнёр адказаў «не», а пытанне не вельмі важнае. «Б» адказаў «так», і хоча, каб партнёр адказаў «не», таму што хоча быць у цэнтры ўвагі, а пытанне для яго дастаткова важнае. Давайце ўсё гэта вылічым. Першы крок, паколькі мы выкарыстоўваем кампутары, — надаць лікавыя значэнні паняццям накшталт «даволі важна» і «вельмі важна», таму што кампутары разумеюць толькі лікі. У OkCupid мы выкарыстоўваем такія велічыні: «абыякава» — гэта 0, «не вельмі важна» — гэта 1, «даволі важна» — гэта 10, «вельмі важна» — 50, і «абавязкова» — 250. Зараз алгарытм робіць два простыя вылічэнні. Першае: наколькі адказы «Б» задавальняюць вас, гэта значыць колькі з магчымых балаў «Б» атрымаў па вашых мерках? Такім чынам, вы пазначылі, што адказ «Б» на першае пытанне пра ахайнасць быў вельмі важным для вас. ЁН каштуе 50 балаў, і «Б» адказаў правільна. Другое пытанне каштуе толькі 1 бал, бо вы сказалі, што яно не вельмі важнае, а адказ «Б» не падышоў. Адказы «Б» набралі 50 з 51 магчымых балаў. Гэта на 98% здавальняюча. Дастаткова добра. Другі пункт у алгарытме высвятляе, наколькі вы падыходзіце «Б». «Б» даў 1 бал вашаму адказу пра ахайнасць і 10 адказу на другое пытанне. З гэтых 11 балаў, паколькі 1 плюс 10, вы зарабілі 10, вы задаволілі адзін аднаго па другім пытанні. Вашы адказы складаюць 10 з 11, што на 91% падыходзіць «Б». Гэта нядрэнна. Апошні крок: узяць працэнты сумясцімасцяў і атрымаць адзін лік для вас абаіх. Каб гэта зрабіць, алгарытм перамножвае вашы балы і здабывае N-ны корань, дзе N — колькасць пытанняў. Паколькі «С», колькасць пытанняў, у прыкладзе толькі 2, працэнт сумясцімасці раўны квадратнаму кораню ад 98%, памножанаму на 91%. гэта 94%. 94% — ваша сумясцімасць з «Б». Гэта матэматычны выраз вашай імавернасці шчасця разам, які заснаваны на тым, што мы ведаем. Чаму алгарытм памнажае замест таго каб, напрыклад, выводзіць сярэдняе паміж баламі, і займаецца здабываннем каранёў? Гэта формула — сярэдняе арыфметычнае, гэта выдатны спосаб спалучаць значэнні з вялікіх дыяпазонаў з рознымі ўласцівасцямі. Гэта значыць яна ідэальная для рамантычных супадзенняў. Ёсць шырокія дыяпазоны і куча розных дадзеных — пра кіно, палітыку, рэлігію — пра ўсё. Гэта мае сэнс на ўзроўні інтуіцыі. Два чалавекі, якія задавальняюць адзін аднаго на 50%, больш сумясцімыя, чым два іншыя, чый вынік — 0 і 100, таму што сімпатыя павінна быць узаемнай. Пасля невялікай карэкціроўкі хібнасці, у выпадку, калі колькасць пытанняў невялікая, як у нашым прыкладзе, усё гатова. Калі OkCupid знаходзіць пары, ён праходзіць праз апісаныя вышэй крокі. Спачатку ён збірае дадзеныя аб вашых адказах, потым сумяшчае вашы варыянты і перавагі простымі, матэматычнымі спосабамі. Магчымасць браць з'явы рэальнага свету і рабіць іх зразумелымі мікрачыпу — самы важны навык у нашы дні. Вы карыстаецеся сказамі, каб расказаць гісторыю чалавеку, і алгарытмамі, каб расказаць гісторыю кампутару. Калі вы вывучыце мову, то зможаце распавесці свае гісторыі. Я спадзяюся, гэта будзе вам карысна.