Өмірді алгоритммен басқару
Brian Christian, Tom Griffiths
Жазылымсыз режим: 20-беттен кейін жазылым беті ашылады, әрі қарай әр 10 бет сайын (ең көбі 5 рет).


Өмір сүруге арналған алгоритмдер
Сан-Францискодан пәтер іздеп жүрмін деп елестетіңіз — бұл Америкадағы ең қиын қалалардың бірі. Технологиялық сектордың қарқынды дамуы мен жаңа құрылыстарды шектейтін қатаң заңдар қаланы Нью-Йорк сияқты қымбат, тіпті одан да бәсекеге қабілетті етті. Жаңа хабарландырулар бірнеше минут ішінде пайда болып, жоғалып кетеді, ал ашық есік күндерінде адам нөпірі көп болады. Көбіне кілттер қожайынға алғашқы болып депозит чегін ұсына алған адамның қолында кетеді.
Мұндай қатал нарық саналы тұтынушыға тән фактілерді жинау мен ойлануға мүмкіндік бермейді. Таңдау жасамас бұрын нұсқаларды салыстыра алатын сауда орталығының келушісі немесе онлайн-шөпперден айырмашылығы, Сан-Францисконың болашақ тұрғыны бірден шешім қабылдауы керек: сіз не алдыңызда тұрған пәтерді аласыз, не одан бас тартып, ешқашан оралмайсыз.
Қарапайымдылық үшін, сіз тек ең жақсы пәтерді алу мүмкіндігін арттыруды ғана ойлайсыз делік. Сіздің мақсатыңыз — «қолдан шығып кеткен мүмкіндік» пен «зерттелмеген нұсқа» деген екі оттың арасындағы өкінішті барынша азайту. Бірақ сізде бірден дилемма туындайды: салыстыратын негіз (baseline) болмаса, пәтердің шынымен ең жақсы екенін қайдан білесіз? Ал бірнеше пәтерді қарап (және олардан айырылып) көрмейінше, ол негізді қалай қалыптастырасыз? Мәлімет көбірек жиналған сайын, нағыз мүмкіндікті тану оңайырақ болады, бірақ оны өткізіп алу қаупі де соғұрлым жоғары.
Сонымен не істеу керек? Ақпарат жинау әрекетінің өзі нәтижеге қауіп төндірсе, қалай негізделген шешім қабылдауға болады? Бұл — парадоксқа жақын қатал жағдай.
Мұндай мәселеге тап болғанда, адамдардың көбі интуитивті түрде «зерттеу» мен «шешім қабылдау» арасында тепе-теңдік керек екенін айтады: стандартты қалыптастыру үшін пәтерлердің жеткілікті санын қарап шығып, содан кейін сол стандартқа сай келетін алғашқы нұсқаны алу керек. Бұл тепе-теңдік ұғымы — мүлдем дұрыс. Бірақ адамдардың көбі сол тепе-теңдіктің нақты қандай екенін білмейді. Бақытымызға орай, жауап бар.
Отыз жеті пайыз.
Егер ең жақсы пәтерді алудың ең жоғары мүмкіндігін қаласаңыз, іздеуге арналған уақыттың 37%-ын (егер бір ай берілсе, он бір күн) ешқандай міндеттемесіз нұсқаларды зерттеуге жұмсаңыз. Чек кітапшасын үйде қалдырыңыз; сіз тек калибрлеумен айналысасыз. Бірақ осы нүктеден кейін, бұған дейін көргендеріңіздің бәрінен асып түсетін алғашқы жерді бірден алуға (депозитпен қоса) дайын болыңыз. Бұл жай ғана зерттеу мен әрекет арасындағы интуитивті ымыра емес. Бұл — дәлелденген оңтайлы шешім.
Біз мұны білеміз, өйткені пәтер іздеу математикада «оңтайлы тоқтау» (ең жақсы нәтиже үшін процесті қай сәтте тоқтату керектігін анықтайтын әдіс) мәселелеріне жатады. 37% ережесі бұл мәселелерді шешу үшін — компьютерлік ғалымдар «алгоритм» (мәселені шешуге арналған қадамдардың шекті тізбегі) деп атайтын — қарапайым қадамдар жиынтығын анықтайды. Күнделікті өмірде оңтайлы тоқтау тек пәтер іздеуде ғана емес, басқа да көптеген жағдайларда кездеседі. Бірқатар нұсқаларды қабылдау немесе одан бас тарту құрылымы өмірде әртүрлі кейіпте қайталанады. Көлікті тұраққа қоймас бұрын орамды неше рет айналу керек? Тәуекелді бизнес жобадан ақшаны шығарып алғанға дейін сәттілікті қаншалықты сынауға болады? Үйді немесе көлікті жақсырақ бағаға сату үшін қанша уақыт күту керек?
Дәл осындай қиындық одан да күрделі жағдайда кездеседі: танысу (dating). Оңтайлы тоқтау — бұл сериялық моногамия (бірінен соң бірі келетін тұрақты серіктестік қатынастар) ғылымы.
Қарапайым алгоритмдер тек пәтер іздеуге ฆана емес, оңтайлы тоқтау мәселесі туындайтын барлық өмірлік жағдайларға шешім ұсынады. Адамдар бұл мәселелермен күн сайын бетпе-бет келеді, кейде үлкен күйзеліске түседі. Бірақ бұл күйзелістің қажеті жоқ. Математикалық тұрғыдан алғанда, бұл — шешілген мәселелер.
Типтік апта ішінде айналаңыздағы әрбір асыққан жалға алушы, жүргізуші немесе ғашық адам, шын мәнінде, «велосипедті қайта ойлап тауып» жүр. Оларға терапевт емес, алгоритм керек. Терапевт оларға импульсивтілік пен тым көп ойлану арасындағы дұрыс, жайлы тепе-теңдікті табуды айтады.
Ал алгоритм сол тепе-теңдіктің отыз жеті пайыз екенін айтады.
Біздің өміріміз шектеулі кеңістік пен уақытта өтетіндіктен, бәріміз тап болатын белгілі бір мәселелер жиынтығы бар. Бір күнде немесе онжылдықта не істеуіміз керек, ал нені істемей қалдыруымыз керек? Тәртіпсіздіктің (mess) қай деңгейін қабылдауға болады және қандай тәртіп шамадан тыс болып саналады? Жаңа тәжірибелер мен сүйікті істер арасындағы қандай тепе-теңдік өмірді мәнді етеді?
Бұл тек адамдарға ғана тән мәселелер сияқты көрінуі мүмкін, бірақ олай емес. Жарты ғасырдан астам уақыт бойы компьютерлік ғалымдар осы күнделікті дилеммалардың баламаларымен айналысып, көбісін шешіп келеді. Процессор пайдаланушы сұрағанның бәрін аз шығынмен және ең қысқа мерзімде орындау үшін өз «назарын» қалай бөлуі керек? Ол әртүрлі тапсырмалар арасында қашан ауысуы керек және ең алдымен қанша тапсырманы қабылдауы керек? Шектеулі жад ресурстарын пайдаланудың ең жақсы жолы қандай? Көбірек мәлімет жинау керек пе, әлде қолда бар мәлімет негізінде әрекет ету керек пе? Сәтті пайдалану (seizing the day) адамдар үшін қиын болуы мүмкін, бірақ айналамыздағы компьютерлер миллисекундтарды оңай игеріп жатыр. Олардың мұны қалай істейтінінен үйренеріміз көп.
Адам өміріне арналған алгоритмдер туралы айту оғаш естілуі мүмкін. Көптеген адамдар үшін «алгоритм» сөзі үлкен деректердің, үкіметтің және бизнестің түсініксіз механизмдерін еске түсіреді. Бірақ алгоритм — бұл мәселені шешу үшін қолдануға болатын қадамдардың шекті тізбегі ғана және ол компьютерлерден әлдеқайда бұрын пайда болған. Алгоритмдерді машиналар қолданбас бұрын, оларды адамдар қолданған.
«Алгоритм» сөзі тоғызыншы ғасырда математикалық әдістер туралы кітап жазған парсы математигі әл-Хорезмидің есімінен шыққан. (Оның кітабы «al-Jabr wa’l-Muqābala» деп аталды, ал оның тақырыбындағы «al-jabr» сөзі «алгебра» сөзінің негізі болды). Алайда, белгілі ең алғашқы математикалық алгоритмдер әл-Хорезмидің еңбегінен де бұрын пайда болған: Бағдат маңынан табылған төрт мың жылдық шумер балшық кестесінде бағандап бөлу (long division) схемасы сипатталған.
Бірақ алгоритмдер тек математикамен шектелмейді. Рецепт бойынша нан пісіргенде, сіз алгоритмді орындайсыз. Үлгі бойынша жемпір тоқығанда, сіз алгоритмді орындайсыз. Кремнийдің шетін мүйізбен ұрып өткірлегенде (бұл тас құралдарын жасаудың негізгі қадамы), сіз алгоритмді орындайсыз. Алгоритмдер тас дәуірінен бері адамзат технологиясының бір бөлігі болып келеді.
Бұл кітапта біз адам алгоритмдерінің дизайнын зерттейміз — адамдар күн сайын кездесетін қиындықтарға жақсырақ шешімдер іздейміз. Компьютерлік ғылым линзасын күнделікті өмірге қолданудың көптеген деңгейдегі салдары бар. Ең алдымен, ол бізге нақты мәселелерді шешуге арналған практикалық, нақты ұсыныстар береді. Оңтайлы тоқтау бізге қашан зерттеп, қашан шешім қабылдау керектігін айтады. Зерттеу мен пайдалану (explore/exploit) арасындағы таңдау жаңа нәрселерді сынап көру мен сүйікті нәрселерден ләззат алу арасындағы тепе-теңдікті табуды үйретеді. Сұрыптау (sorting) теориясы кеңсемізді қалай (және реттеу керек пе) реттеу керектігін айтады. Кэштеу (caching) теориясы шкафтарды қалай толтыру керектігін, ал жоспарлау (scheduling) теориясы уақытымызды қалай тиімді пайдалану керектігін үйретеді.
Келесі деңгейде компьютерлік ғылым бізге осы салалардың әрқайсысындағы тереңірек принциптерді түсіну үшін сөздік қор береді. Карл Саган айтқандай: «Ғылым — бұл білім жиынтығынан гөрі, ойлау тәсілі». Өмір тым күрделі болып, нақты сандық талдау жасау қиын болған жағдайда да, осы мәселелердің қарапайым формаларында шыңдалған интуиция мен тұжырымдамаларды пайдалану бізге негізгі мәселелерді түсінуге және алға жылжуға мүмкіндік береді.
Ең ауқымды деңгейде, компьютерлік ғылым тұрғысынан қарау бізге адам санасының табиғаты, рационалдылықтың мағынасы және ең көне сұрақ: қалай өмір сүру керек дегенді үйретеді. Когнитивті функцияларды қоршаған орта тудыратын есептеу мәселелерін шешу құралы ретінде қарастыру адамның рационалдылығы туралы ойымызды түбегейлі өзгерте алады.
Компьютерлердің ішкі жұмысын зерттеу қалай ойлау мен шешім қабылдауды, неге сену мен өзіңді қалай ұстау керектігін көрсетеді деген ой көптеген адамдарға тым қарапайым немесе қате болып көрінуі мүмкін. Тіпті компьютерлік ғылымның айтар сөзі болса да, біз оны тыңдағымыз келе ме? Біз ғылыми фантастикадағы жасанды интеллект пен роботтарға қарап, олардың өмірін ешкімнің сүргісі келмейтінін көреміз.
Бұл ішінара компьютерлер туралы ойлағанда, біз суық механикалық, детерминистік жүйелерді елестететінімізден болады: қатаң дедуктивті логиканы қолданатын, нұсқаларды толық тізіп шешім қабылдайтын және қанша уақыт кетсе де нақты дұрыс жауапты шығаратын машиналар. Шынында да, компьютерлерді алғаш елестеткен адамның ойында осындай нәрсе болған. Алан Тьюринг есептеу ұғымын ұзақ есептеулердің қадамдарын мұқият орындап, сөзсіз дұрыс жауап беретін адам-математикке ұқсатып анықтаған.
Сондықтан қазіргі компьютерлердің күрделі мәселеге тап болғанда мұны істемейтіні таңғалдыруы мүмкін. Әрине, қарапайым арифметика қазіргі компьютер үшін қиын емес. Керісінше, адамдармен сөйлесу, бүлінген файлды жөндеу немесе Го ойынында жеңіске жету сияқты тапсырмалар — ережелері белгісіз, ақпарат жетіспейтін немесе нақты жауапты табу үшін астрономиялық нұсқаларды қарастыруды қажет ететін мәселелер — қазіргі компьютерлік ғылымдағы ең үлкен сын-қатерлер болып табылады. Ең қиын мәселелерді шешу үшін зерттеушілер жасап шығарған алгоритмдер компьютерлерді толық есептеуге тәуелділіктен алыстатты. Керісінше, нақты әлемдегі тапсырмаларды орындау кездейсоқтықпен келісуді, уақыт пен дәлдік арасындағы таңдауды және жуықтауды (approximations) пайдалануды талап етеді.
Компьютерлер нақты әлем мәселелеріне бейімделген сайын, олар тек адамдар өміріне алатын алгоритмдерді ғана емес, сонымен қатар адам танымының (cognition) өзін салыстыруға болатын жақсырақ стандартты ұсынады. Соңғы он-жиырма жыл ішінде мінез-құлық экономикасы (behavioral economics) адамдар туралы ерекше хикая айтып келеді: біз мидың «ақаулы» аппаратурасына байланысты рационалды емеспіз және қателіктерге бейімбіз. Бұл өзімізді төмендететін хикая таныс болғанымен, кейбір сұрақтар әлі де жұмбақ болып қалуда. Мысалы, неге төрт жасар балалар көру, тіл және себеп-салдарлық пайымдау сияқты когнитивті тапсырмаларда миллион долларлық суперкомпьютерлерден әлі де жақсырақ?
Компьютерлік ғылымнан келетін күнделікті мәселелердің шешімдері адам санасы туралы басқаша хикая айтады. Өмір — бұл өте қиын мәселелерге толы. Және адамдар жіберетін қателіктер көбінесе адам миының кемшілігінен гөрі, мәселенің ішкі күрделілігі туралы көбірек айтады. Әлем туралы алгоритмдік тұрғыдан ойлау, біз тап болатын мәселелердің іргелі құрылымдары мен олардың шешімдерінің қасиеттері туралы білу бізге қаншалықты жақсы екенімізді көруге және жіберетін қателіктерімізді жақсырақ түсінуге көмектеседі.
Шын мәнінде, адамдар компьютерлік ғалымдар зерттейтін мәселелердің ең қиын жағдайларына үнемі тап болады. Жиі адамдар белгісіздік, уақыт шектеулігі, жартылай ақпарат және қарқынды өзгеретін әлем жағдайында шешім қабылдауы керек. Кейбір жағдайларда, тіпті заманауи компьютерлік ғылым әлі тиімді, әрқашан дұрыс алгоритмдерді таба алған жоқ. Белгілі бір жағдайлар үшін мұндай алгоритмдер мүлдем болмауы да мүмкін.
Тіпті мінсіз алгоритмдер табылмаған жерде де, компьютерлік ғалымдардың ұрпақтары мен ең күрделі нақты әлем мәселелері арасындағы шайқас бірқатар түсініктер берді. Бұл қиындықпен келген қағидалар біздің рационалдылық туралы интуициямызға қайшы келеді және әлемді таза, ресми сызықтарға сыйғызуға тырысатын математиктің тар нұсқауларына мүлдем ұқсамайды. Олар былай дейді: Әрқашан барлық нұсқаларды қарастырмаңыз. Әр жолы ең жақсы болып көрінетін нәтижеге ұмтылу міндетті емес. Кейде тәртіпсіздікке жол беріңіз. Жеңіл жүріңіз. Кейбір істерді күттіріңіз. Түйсігіңізге сеніңіз және тым ұзақ ойланбаңыз. Еркін болыңыз. Тиын тастаңыз. Кешіріңіз, бірақ ұмытпаңыз. Өзіңізге адал болыңыз.
Компьютерлік ғылымның даналығымен өмір сүру соншалықты жаман емес сияқты. Және көптеген кеңестерге қарағанда, бұл дәлелдермен расталған.
Компьютерлерге арналған алгоритмдерді жобалау бастапқыда математика мен инженерияның арасындағы ерекше гибрид ретінде пайда болғаны сияқты, адамдарға арналған алгоритмдерді жобалау да табиғи «тұрағы» жоқ тақырып болып табылады. Бүгінде алгоритм дизайны тек компьютерлік ғылымға, математикаға және инженерияға ғана емес, сонымен қатар статистика және операциялық зерттеулер сияқты салаларға сүйенеді. Машиналарға арналған алгоритмдердің адам санасына қалай қатысы бар екенін қарастырғанда, біз когнитивті ғылымға, психологияға, экономикаға және басқа да салаларға жүгінуіміз керек.
Біз, сіздің авторларыңыз, бұл пәнаралық аймақпен таныспыз. Брайан компьютерлік ғылым мен философияны зерттеді, содан кейін ағылшын тілі бойынша магистрлік жұмыс жасап, осы үш саланың түйіскен жерінде мансап құрды. Том психология мен статистиканы зерттеді, содан кейін Берклидегі Калифорния университетінің профессоры болды, онда ол уақытының көп бөлігін адам танымы мен есептеу арасындағы байланыс туралы ойлануға жұмсайды. Бірақ ешкім адамдар үшін жақсырақ алгоритмдерді жобалауға қатысты барлық салалардың сарапшысы бола алмайды. Сондықтан біз соңғы елу жылдағы ең танымал алгоритмдерді ойлап тапқан адамдармен сөйлестік. Біз олардан — әлемдегі ең ақылды адамдардан — олардың зерттеулері өз өмірлеріне, жар таңдаудан бастап шұлықтарын сұрыптауға дейін қалай әсер еткенін сұрадық.
Келесі беттерде біз компьютерлер мен адам санасы тап болатын ең үлкен қиындықтар арқылы саяхатымызды бастаймыз: шектеулі кеңістікті, шектеулі уақытты, шектеулі назарды, белгісіз жағдайларды, толық емес ақпаратты және болжанбайтын болашақты қалай басқару керек; мұны қалай сенімділікпен істеу керек; және мұны бәрі бірдей нәрсені істеуге тырысатын қауымдастықта қалай жүзеге асыру керек. Біз бұл сын-қатерлердің іргелі математикалық құрылымы туралы және компьютерлердің — кейде біз елестеткеннен басқаша — оларды барынша тиімді пайдалану үшін қалай жасалғаны туралы білетін боламыз. Сондай-ақ біз сананың қалай жұмыс істейтінін, оның дәл осы мәселелерді шешудің және шектеулерге төтеп берудің ерекше, бірақ өзара тығыз байланысты тәсілдері туралы білеміз. Сайып келгенде, біздің ұтарымыз — тек айналамыздағы мәселелерге арналған нақты шешімдер жиынтығы ғана емес, тек күрделі адам дилеммаларының артындағы талғампаз құрылымдарды көрудің жаңа тәсілі ғана емес, сонымен қатар тереңірек нәрсе: қоршаған әлемге арналған жаңа сөздік қор және өзіміз туралы шын мәнінде жаңа нәрсе білу мүмкіндігі.
1 Оңтайлы тоқтау
Іздеуді қашан тоқтату керек
Барлық христиандар үйлену тойына шақыру қағазын өз некелерінің арнайы Тәңірлік келісімнің арқасында екенін салтанатты түрде мәлімдеуден бастаса да, мен, философ ретінде, бұл туралы егжей-тегжейлі айтқым келеді... — ИОГАНН КЕПЛЕР
Егер сіз мистер Мартинді кез келген басқа адамнан артық көрсеңіз; егер сіз оны өзіңіз болған ортадағы ең тартымды адам деп санасаңыз, неге екіұдай боласыз? — ДЖЕЙН ОСТИН, ЭММА
Бұл сондай жиі кездесетін құбылыс, тіпті колледж кеңесшілерінде ол үшін арнайы жаргондық термин де бар: «күркетауық құлдырауы» (turkey drop). Мектеп кезіндегі ғашықтар колледждің бірінші курсында Ризашылық күніне (Thanksgiving) үйлеріне оралады және төрт күннен кейін кампусқа жалғызбасты болып қайтады.
Мазасыз күйдегі Брайан бірінші курсында өз колледжінің кеңесшісіне барды. Оның мектептегі сүйіктісі бірнеше штат қашықтықтағы басқа колледжде оқитын, олар қашықтықпен күресіп жүрген еді. Сондай-ақ олар одан да оғаш әрі философиялық сұрақпен бетпе-бет келді: олардың қарым-қатынасы қаншалықты жақсы? Оларда салыстыратын басқа қарым-қатынастардың нақты үлгісі болған жоқ. Брайанның кеңесшісі бұл жағдайды бірінші курстың классикалық дилеммасы ретінде танып, таңқаларлықтай сабырлы кеңес берді: «Мәлімет жинаңыз».
Сериялық моногамияның табиғаты сондай, онымен айналысатын адамдар іргелі, қашып құтылмайтын мәселеге тап болады. Сізге ең қолайлы адамның кім екенін білу үшін қанша адаммен танысу керек? Ал егер мәлімет жинау сізге сол адамның өзінен айырылуға соқтырса ше? Бұл сезімдердің ең үлкен «Catch-22» (ешқандай шешімі жоқ тұйыққа тірелу) жағдайы сияқты көрінеді.
Көріп отырғанымыздай, бұл «Catch-22», бірінші курстық жан айқайы — математиктер «оңтайлы тоқтау» мәселесі деп атайтын нәрсе және оның нақты жауабы болуы мүмкін: 37%.
Әрине, бәрі сіздің махаббат туралы қандай болжамдар жасауға дайын екеніңізге байланысты.
Хатшы мәселесі
Кез келген оңтайлы тоқтау мәселесіндегі негізгі дилемма — қай нұсқаны таңдау емес, қанша нұсқаны қарастыру керек екендігінде. Бұл мәселелер тек ғашықтар мен жалға алушыларға ғана емес, сонымен қатар жүргізушілерге, үй иелеріне, ұрыларға және басқаларға да қатысты болып шықты.
37% ережесі
«37% ережесі» (оңтайлы тоқтау теориясының стратегиясы) оңтайлы тоқтаудың ең танымал жұмбағы — «хатшы мәселесінен» бастау алады. Оның шарты біз бұған дейін қарастырған пәтер іздеушінің дилеммасына өте ұқсас.
Елестетіп көріңізші, сіз хатшы лауазымына үміткерлер тобымен сұхбат жүргізіп жатырсыз және мақсатыңыз — барлық үміткерлердің ішіндегі ең үздігін жұмысқа алу мүмкіндігін барынша арттыру. Әр үміткерге жеке ұпай беруді білмесеңіз де, қайсысының жақсы екенін оңай ажырата аласыз. (Математик айтқандай, сізде тек реттік сандарға (үміткерлердің бір-бірімен салыстырғандағы салыстырмалы деңгейі) қолжетімділік бар, бірақ есептік сандарға (жалпы шкала бойынша олардың нақты бағасы) қол жеткізе алмайсыз).
Үміткерлермен кездейсоқ ретпен, кезек-кезек сұхбаттасасыз. Кез келген уақытта үміткерге жұмыс ұсыну туралы шешім қабылдай аласыз және олар міндетті түрде келіседі, осымен іздеу аяқталады. Бірақ егер сіз бір үміткерден бас тартып, оны жұмысқа алмауға шешім қабылдасаңыз, ол мәңгілікке кетеді.
Хатшы мәселесі алғаш рет баспа бетінде — хатшылар туралы ашық айтылмаса да — 1960 жылы ақпан айында Scientific American журналының Мартин Гарднердің математикалық ойын-сауық туралы танымал айдарында жұмбақ ретінде жарияланды деп есептеледі. Бірақ бұл мәселенің шығу төркіні таңқаларлықтай жұмбақ. Біздің жеке ізденісіміз де Гарднердің Стэнфордтағы архивтеріне барып, оның өткен ғасырдың ортасындағы хат-хабарларын ақтаруға мәжбүр етті.
Гарвард математигі Фредерик Мостеллер бұл мәселе туралы 1955 жылы әріптесі Эндрю Глисоннан естігенін еске алса, Глисон оны басқа біреуден естіген. Альберта университетінен Лео Мозер бұл туралы Boeing компаниясының қызметкері Р. Э. Гаскеллдің жазбаларынан оқығанын айтса, Гаскелл бұл идеяны әріптесіне таңған. Ратгерс университетінен Роджер Пинкхэм бұл мәселені 1955 жылы Дьюк университетінің математигі Дж. Шоенфилдтен естігенін, ал ол өз кезегінде «Мичигандағы біреуден» естігенін жеткізеді.
«Мичигандағы біреу» дегеніміз, сірә, Меррилл Флуд (Merrill Flood) есімді тұлға болса керек. Математикадан тыс ортада ол танымал болмаса да, оның информатикаға тигізген әсері орасан зор. Ол «сауда өкілінің есебін» (ең қысқа маршрутты табу мәселесі) танымал еткенімен, «тұтқын дилеммасын» ойлап тапқанымен және тіпті «software» (бағдарламалық жасақтама) терминін алғаш қолданушы ретінде белгілі. Флуд 37% ережесін алғаш рет 1958 жылы ашқан және бұл мәселені 1949 жылдан бері қарастырып жүргенін айтады — бірақ ол да басқа математиктерге сілтеме жасайды.
Қайдан шықса да, хатшы мәселесі мінсіз математикалық жұмбақ болып шықты: түсіндіруге оңай, шешуі қиын, жауабы қысқа және салдары қызықты. Нәтижесінде ол 1950-жылдардағы математикалық ортада ауызша тез тарап, 1960 жылы Гарднердің айдары арқылы қалың жұртшылықтың назарын аударды. 1980-жылдарға қарай бұл мәселе мен оның нұсқалары бойынша талдаулардың көптігі сондай, ол жеке ғылыми бағыт ретінде талқылана бастады.
Хатшыларға келетін болсақ — әр мәдениеттің ресми жүйелерге өзіндік антропологиялық реңк бергенін көру қызық. Мысалы, біз шахматты ортағасырлық Еуропаның бейнесі деп санаймыз, бірақ шын мәнінде оның негізі VIII ғасырдағы Үндістанда жатыр; ол XV ғасырда ғана «еуропаландырылып», шахтары — патшаларға, уәзірлері — патшайымдарға, ал пілдері — епископтарға айналды. Сол сияқты, оңтайлы тоқтау мәселелері де өз заманының басты мәселелерін көрсете отырып, бірнеше кейіпке енді. XIX ғасырда бұл лотереялар мен ер адамдарды таңдайтын әйелдер түрінде болса; XX ғасырдың басында қонақүй іздеген саяхатшылар мен әйел таңдаған ер адамдар түрінде; ал қағазбастылық белең алған XX ғасырдың ортасында — көмекші таңдаған бастықтар түрінде көрініс тапты. Бұл мәселенің «хатшы мәселесі» деп аталуы алғаш рет 1964 жылғы мақалада кездеседі және содан бері осы атау сақталып қалды.
Неліктен 37%?
Хатшы іздеу кезінде екі түрлі қателік жіберуге болады: тым ерте тоқтау немесе тым кеш тоқтау. Тым ерте тоқтасаңыз, ең үздік үміткерді таппай қаласыз. Тым кеш тоқтасаңыз, өмірде жоқ «одан да жақсы» адамды күтіп қаласыз. Оңтайлы стратегия осы екі қателіктің арасындағы тепе-теңдікті табуды талап етеді.
Егер мақсатыңыз ең үздік үміткерді табу болса, осыған дейін көргендеріңіздің ішіндегі ең жақсысы болмаған адамды жұмысқа алуды тіпті ойламауыңыз керек. Дегенмен, жай ғана «үздік» болу жеткіліксіз; мысалы, ең алғашқы үміткер анықтама бойынша «ең үздік» болып саналады. Жалпы алғанда, сұхбаттар жалғасқан сайын «осыған дейінгілердің ішіндегі үздігі» кездесу жиілігі төмендей береді. Мәселен, екінші үміткердің үздік болу мүмкіндігі 50/50 болса, бесінші үміткерде бұл мүмкіндік 5-тен 1-ге дейін, ал алтыншысында 6-дан 1-ге дейін азаяды. Нәтижесінде, іздеу жалғасқан сайын үздік үміткерлер сапасы арта түседі, бірақ олар сирек кездесетін болады.
Сонымен, біз бірінші кездескен үздік үміткерді (яғни ең бірінші адамды) бірден алу асығыстық екенін білеміз. Егер жүз үміткер болса, екінші адам біріншісінен жақсы болғаны үшін ғана оны алу да ерте сияқты. Онда қалай әрекет етеміз?
Оңтайлы шешім «Қара да, секір» (Look-Then-Leap) деп аталатын ереже түрінде болады: Сіз «қарау» үшін алдын ала белгілі бір уақыт бөлесіз — бұл кезеңде опцияларды зерттеп, деректер жинайсыз және қаншалықты мықты болса да ешкімді таңдамайсыз. Содан кейін «секіру» кезеңіне өтесіз, мұнда «қарау» кезеңіндегі ең үздік үміткерден асып түсетін кез келген адамға бірден келісуге дайын боласыз.
Бұл ереже кішігірім топтарда қалай жұмыс істейтінін көрейік. Бір ғана үміткер болса — оны бірден алыңыз! Екі үміткер болса, мүмкіндігіңіз 50/50. Үш үміткер болса, кездейсоқ таңдағанда сәттілік мүмкіндігі 33% құрайды. Ал егер стратегияны қолдансақ, екінші адам біріншісінен жақсы болса оны алу, болмаса одан бас тартып, үшінші адамды алу арқылы сәттілік мүмкіндігін 50%-ға дейін арттыра аламыз.
Үміткерлер саны артқан сайын, қарау мен секіру арасындағы шекара 37%-ға тұрақтайды: алғашқы 37% үміткерді қарап, ешкімді таңдамаңыз, содан кейін осыған дейінгілердің бәрінен асып түсетін кез келген адамға «секіруге» дайын болыңыз.

Хатшыны қалай оңтайлы таңдау керек.
Бұл стратегияны қолдану бізге ең үздік үміткерді жалдаудың 37% мүмкіндігін береді; бұл — стратегияның өзі де, оның сәттілік ықтималдығы да бірдей санға келетін математикалық симметриялардың бірі. Жоғарыдағы кесте үміткерлер саны артқан сайын сәттілік мүмкіндігінің 37%-ға қалай жақындайтынын көрсетеді.
Тіпті ең жақсы стратегияны қолданғанның өзінде 63% жағдайда сәтсіздікке ұшырау — ойландыратын факт. Бұл махаббатты «жалғыз бағын» іздеу деп санайтындар үшін жағымсыз жаңалық болуы мүмкін. Бірақ жақсы жағы да бар. Түйсігіміз үміткерлер саны артқан сайын мүмкіндігіміз азаюы керек деп айтады (мысалы, миллион адамның ішінде 0. 0001%). Бірақ хатшы мәселесінің математикасы өзгермейді. Егер сіз оңтайлы тоқтасаңыз, жүз адамның ішінде де, миллион адамның ішінде де ең үздігін табу мүмкіндігіңіз — 37%.
Ғашықтардың секірісі (Lover’s Leap)
«Жыныстар арасындағы құмарлық барлық дәуірде бірдей болғандықтан, оны алгебра тілінде әрқашан берілген шама ретінде қарастыруға болады». — ТОМАС МАЛЬТУС
«Мен өмірімде алғаш сүйіскен адамыма тұрмысқа шықтым. Мұны балаларыма айтқанымда, олардың жүрегі айни жаздайды». — БАРБАРА БУШ
Карнеги-Меллон университетінің профессоры болғанға дейін Майкл Трик махаббат іздеген аспирант еді. «Маған бұл мәселенің бұрын зерттелгені туралы ой келді: бұл — Хатшы Мәселесі! » Ол есептеп көрді. Өмір бойы қанша әйелмен танысатынын білмесе де, ол 18 бен 40 жас аралығын іздеу кезеңі деп алды. 37% ережесі бойынша қараудан секіруге өтетін нүкте — 26. 1 жас болып шықты. Дәл сол кезде Триктің жасы да сонда еді. Ол өзі кездестірген ең жақсы әйелге бірден ұсыныс жасады. «Ал ол менің ұсынысымды қабылдамады».
Математиктер кем дегенде XVII ғасырдан бері махаббатта қиындықтарға тап болып келеді. Атақты астроном Иоганн Кеплер бірінші әйелі қайтыс болғаннан кейін қайта үйлену үшін он бір әйелді сынап көрді. Ол бесінші әйелді ұнатса да, іздеуін жалғастырды. Бірақ ақырында бәрібір сол бесінші әйелге — Сусанна Реуттингерге оралып, онымен бақытты ғұмыр кешті.
Трик пен Кеплер классикалық хатшы мәселесінің махаббат іздеудегі кемшіліктерін бастан өткерді. Классикалық есепте үміткерлер әрқашан келіседі (Триктің жағдайында олай болмады) және өткен үміткерге қайта оралуға болмайды (Кеплер олай істеген жоқ).
Бас тарту мүмкіндігі бар жағдайда математикалық шешім мынадай: ұсынысты ерте және жиі жасаңыз. Егер сізді қабылдамау мүмкіндігі 50/50 болса, іздеудің 25%-нан кейін ұсыныс жасай бастау керек. Бұл жағдайда сәттілік мүмкіндігі де 25% болады.
Ал егер бұрынғы үміткерлерге қайта оралу мүмкіндігі болса, оңтайлы алгоритм 61% ережесіне ауысады: іздеудің 61%-ын қараумен өткізіп, кейін секіру керек. Егер ешкім табылмаса, бұрынғылардың ішіндегі ең үздігіне қайта оралу қажет.
Кеплер үшін шындық пен классикалық есеп арасындағы айырмашылық бақытты аяқталуға әкелді. Триктің жағдайында да бәрі жақсы болды: ол кейінірек басқа бір әйелді жолықтырып, үйленді.
Жақсы нәрсені көргенде тани білу: Толық ақпарат
Хатшы мәселесіндегі ең іргелі болжам — біз үміткерлер туралы оларды бір-бірімен салыстырудан басқа ештеңе білмейміз. Бізде «жақсы» не «жаман» үміткер туралы алдын ала объективті түсінік жоқ. Сондықтан стандарттарды қалыптастыру үшін міндетті түрде «қарау» кезеңі қажет болады. Математиктер мұны «ақпаратсыз ойындар» деп атайды.
Егер бізде әр үміткердің деңгейін көрсететін объективті көрсеткіш (мысалы, тестілеу нәтижесінің перцентилі) болса, бұл «толық ақпарат» (объективті өлшемдері бар деректер) жағдайы деп аталады. Мұнда бізге тәжірибе жинақтау үшін «қарау» кезеңі қажет емес. Егер бірінші үміткер 95-ші перцентильде (яғни 95% адамнан жақсы) болса, біз оның мықты екенін бірден білеміз.
Толық ақпарат жағдайында біз «Шектік мән ережесін» (Threshold Rule) қолдана аламыз: егер үміткер белгілі бір шектен жоғары болса, оны бірден қабылдаймыз. Бұл шекті белгілеу үшін алғашқы топты сынап көрудің қажеті жоқ, бірақ алда қанша үміткер қалғанын нақты білу маңызды.
Математикалық есептеулер көрсеткендей, егер үміткерлер тізімі әлі де үлкен болса, сіз тіпті өте жақсы үміткерден де бас тартып, одан да жақсырақ біреуді табуға тырысуыңыз керек. Бірақ таңдау мүмкіндігі азайған сайын, сіз орташа деңгейден сәл ғана жоғары кез келген адамды жұмысқа алуға дайын болуыңыз қажет. Бұл — шабыттандыратын хабар болмаса да, бәріне таныс жағдай: таңдау азайғанда, талапты төмендету керек. Сонымен қатар бұл ереже керісінше де жұмыс істейді: егер «теңізде балық көп болса», талапты арттырыңыз. Ең маңыздысы, математика сізге талапты дәл қаншалықты өзгерту керектігін айтып береді.
Осы сценарийдегі сандарды түсінудің ең оңай жолы — соңынан бастап кері қарай ойлану. Егер сізде тек ең соңғы үміткер ғана қалса, әрине, оны таңдауға мәжбүрсіз. Бірақ соңғының алдындағы үміткерді қарастырғанда, сұрақ туындайды: ол перцентиль (деректер жиынтығындағы белгілі бір мәннен төмен орналасқан көрсеткіштердің пайызы) бойынша 50-ден жоғары ма? Егер иә болса, оны жұмысқа алыңыз; егер жоқ болса, соңғы үміткерге тәуекел еткен жөн, себебі оның 50-ші перцентильден жоғары болу ықтималдығы — 50/50. Сол сияқты, соңғыдан үшінші үміткер 69-шы перцентильден жоғары болса, соңғыдан төртіншісі 78-ші перцентильден жоғары болса ғана таңдау керек. Осылайша, үміткерлер көп болған сайын, таңдауға қатал қарау қажет. Қандай жағдай болмасын, басқа амалыңыз қалмаса ғана орташа деңгейден төмен адамды жұмысқа алмаңыз. (Және сіздің мақсатыңыз тек ең үздік адамды табу болғандықтан, егер үміткер осы уақытқа дейін көргендеріңіздің ішіндегі ең жақсысы болмаса, оны ешқашан алмаңыз. )
Хатшы туралы есептің осы «толық ақпарат» нұсқасында ең үздік үміткерді табу мүмкіндігі 58%-ды құрайды. Бұл әлі де кепілдік емес, бірақ «ақпаратсыз» ойындағы 37% ережесі беретін 37%-дық сәттілік деңгейінен айтарлықтай жоғары. Егер сізде барлық деректер болса, үміткерлер саны шексіз өссе де, сіз көбіне сәтті таңдау жасай аласыз.

Толық ақпараты бар хатшы туралы есептегі оңтайлы тоқтау табалдырықтары.
Толық ақпараты бар ойын күтпеген әрі біртүрлі қорытынды ұсынады: «байлық іздеу» махаббат іздеуге қарағанда сәтті болуы ықтималырақ. Егер сіз серіктестеріңізді кез келген объективті критерий бойынша бағаласаңыз (мысалы, олардың табыс перцентилі), онда сізде «махаббат» сияқты бұлыңғыр эмоционалдық реакцияны іздегеннен қарағанда әлдеқайда көп ақпарат болады. Себебі махаббатты түсіну үшін тәжірибе мен салыстыру қажет болуы мүмкін.
Әрине, өлшеуіш ретінде табыс көлемін немесе жазу жылдамдығын алу міндетті емес. Үміткердің жалпы популяциямен салыстырғанда қай жерде тұрғаны туралы толық ақпарат беретін кез келген өлшем бірлігі шешімді «Қара да Секір» ережесінен Табалдырық ережесіне (белгілі бір шекті мәннен асқан нүктені таңдау) ауыстырады және топ ішіндегі ең үздік үміткерді табу мүмкіндігін күрт арттырады.
Хатшы туралы есептің басқа да көптеген нұсқалары бар, олар нақты өмірдегі махаббатты (немесе хатшыны) табу қиындықтарына жақынырақ келеді. Бірақ оңтайлы тоқтаудан алынатын сабақтар тек танысу немесе жұмысқа алумен шектелмейді. Шын мәнінде, нұсқалар бірінен соң бірі пайда болғанда ең жақсы таңдау жасауға тырысу — үй сатудың, көлік қоюдың және «сәттілік болып тұрғанда тоқтаудың» негізгі құрылымы. Бұл мәселелердің бәрі белгілі бір деңгейде шешілген мәселелер болып табылады.
Қашан сату керек
Егер біз классикалық хатшы есебінің тағы екі аспектісін өзгертсек, біз танысу әлемінен жылжымайтын мүлік әлеміне өтеміз. Бұған дейін біз пәтер жалдау процесін оңтайлы тоқтау мәселесі ретінде қарастырдық, бірақ үй иесі болуда да оңтайлы тоқтау кездері аз емес.
Үй сатуды елестетіп көріңіз. Бірнеше риэлтормен кеңескеннен кейін, сіз үйіңізді нарыққа шығарасыз; жаңа бояу, көгалдандыру, енді тек ұсыныстарды күту қалады. Әрбір ұсыныс келген сайын, сіз оны қабылдау немесе бас тарту туралы шешім қабылдауыңыз керек. Бірақ ұсыныстан бас тартудың өз құны бар: келесі ұсынысты күткен кездегі тағы бір апталық (немесе айлық) ипотека төлемі. Ал келесі ұсыныстың бұдан жақсы болатынына кепілдік жоқ.
Үй сату — толық ақпараты бар ойынға ұқсайды. Біз ұсыныстардың объективті долларлық құнын білеміз, бұл бізге қайсысы жақсы екенін ғана емес, қаншалықты жақсы екенін де айтады. Оның үстіне, бізде нарықтың жалпы жағдайы туралы ақпарат бар, бұл бізге келетін ұсыныстардың ауқымын шамамен болжауға мүмкіндік береді. Алайда, мұндағы айырмашылық — біздің мақсатымыз ең үздік бір ғана ұсынысты алу емес, жалпы процесс барысында ең көп ақша табу. Күтудің өз құны болғандықтан, бүгінгі жақсы ұсыныс бірнеше айдан кейінгі сәл жақсырақ ұсыныстан артық болуы мүмкін.
Осы ақпаратқа ие бола отырып, бізге табалдырықты анықтау үшін алдын ала бақылаудың қажеті жоқ. Керісінше, біз бірден табалдырықты белгілеп, одан төмен ұсыныстарды елемей, сол шектен асқан бірінші нұсқаны қабылдай аламыз. Әрине, егер жинаған ақшамыз таусылып бара жатса немесе ұсыныстар шектеулі болса, мерзім жақындаған сайын талаптарды төмендету керек. Бірақ егер бізді ештеңе қыспаса, біз жай ғана күту ойынының «шығын-пайда» талдауына назар аудара аламыз.
Мұнда біз ең қарапайым жағдайды талдаймыз: ұсыныстардың баға ауқымын нақты білеміз және сол ауқымдағы барлық ұсыныстардың ықтималдығы бірдей. Егер біз ұсыныстардың таусылуынан қорықпасақ, онда тек жақсырақ мәмілені күту арқылы не ұтатынымыз немесе жоғалтатынымыз туралы ойлай аламыз. Математика мұнда өте анық: ол бізге күту шығынына байланысты тоқтау бағасының нақты функциясын береді.
Бұл математикалық нәтиже сіздің миллиондаған доллар тұратын сарайды немесе ескі сарайды сатып жатқаныңызға қарамайды. Маңыздысы — сіз алуыңыз мүмкін ең жоғары және ең төменгі ұсыныстардың арасындағы айырмашылық. Мысалы, ұсыныстар 400 000 доллар мен 500 000 доллар аралығында болады делік. Егер күту шығыны аз болса, біз өте талғампаз бола аламыз: егер келесі ұсынысты күту құны небәрі 1 доллар болса, біз 499 552,79 доллар ұсынатын адамды күтеміз. Егер күту құны 2 000 доллар болса, 480 000 долларды күту керек. Ал егер нарық баяу болып, күту шығыны 10 000 доллар болса, 455 279 доллардан асатын кез келген ұсынысты алу керек.

Үй сату мәселесіндегі оңтайлы тоқтау табалдырықтары.
Бұл мәселедегі маңызды жайт — біздің табалдырық тек іздеу шығынына ғана байланысты. Келесі ұсыныстың жақсы болу ықтималдығы мен оны табу құны өзгермейтіндіктен, жолымыз болмаса да, тоқтау бағасын төмендетудің ешқандай негізі жоқ. Біз оны бір рет, бастар алдында белгілейміз, содан кейін соған берік боламыз.
Висконсин-Мэдисон университетінің оңтайландыру жөніндегі сарапшысы Лаура Альберт МакЛей өзінің үйін сатқан кезде оңтайлы тоқтау туралы білімін қалай қолданғанын есіне алады. «Бірінші алған ұсынысымыз керемет болды, — деп түсіндіреді ол, — бірақ оның үлкен шығыны болды, өйткені олар біз дайын болғанға дейін бір ай бұрын көшіп кеткенімізді қалады. Тағы бір бәсекелес ұсыныс болды... бірақ біз дұрыс ұсыныс келгенше күттік». Көптеген сатушылар үшін жақсы ұсыныстан бас тарту жүйкеге әсер етеді, бірақ МакЛей сабыр сақтады. «Егер математика менің жағымда екенін білмегенімде, бұл өте қиын болар еді», — дейді ол.
Бұл принцип кез келген ұсыныстар сериясын алатын және келесіні іздеу немесе күту үшін шығын төлейтін жағдайларға қатысты. Сондықтан бұл үй сатудан әлдеқайда ауқымды. Мысалы, экономистер бұл алгоритмді адамдардың жұмыс іздеу процесін модельдеу үшін қолданады, бұл жұмыссыздар мен бос жұмыс орындарының бір уақытта болу парадоксын түсіндіреді.
Оңтайлы тоқтаудың осы нұсқаларында тағы бір қызық қасиет бар. Жұмыс іздеуде немесе үй сатуда, тіпті бұрынғы ұсынысты қайта қарастыру мүмкін болса да, сіз мұны ешқашан жасамауыңыз керек. Егер ол сол кезде сіздің табалдырығыңыздан аспаса, ол қазір де аспайды. Іздеуді жалғастыру үшін төлегеніңіз — қайтарылмайтын шығындар (бұрын жұмсалған және қайтарып алу мүмкін емес ресурстар). Ымыраға келмеңіз, өзіңізден күмәнданбаңыз. Және артқа қарамаңыз.
Қашан көлік қою керек
«Менің ойымша, кампустағы үш негізгі әкімшілік мәселе бар: студенттерге арналған секс, түлектерге арналған жеңіл атлетика және оқытушыларға арналған автотұрақ». — КЛАРК КЕРР, БЕРКЛИ УНИВЕРСИТЕТІНІҢ ПРЕЗИДЕНТІ, 1958–1967
Оңтайлы тоқтау мәселелері көп кездесетін тағы бір сала — бұл көлік жүргізу. Қала жүргізушілері үшін мейрамхана іздеу, әжетхана іздеу және ең бастысы — тұрақ іздеу мәселесі әрқашан тоқтау мәселесіне айналады. Тұрақ мәселесі туралы «тұрақ жұлдызы» атанған Лос-Анджелестегі Калифорния университетінің (UCLA) профессоры Дональд Шоуптан артық кім біледі? Ол өзінің «Тегін тұрақтың жоғары құны» атты кітабымен танымал.
Шоуптың моделі бойынша, идеалды тұрақ орны — бұл орынның бағасы, жаяу жүрудің ыңғайсыздығы, орын іздеуге кеткен уақыт және жағылған бензин арасындағы тепе-теңдікті оңтайландыратын орын. Сонымен қатар, жүргізуші тұрақ көп жерде сұраныс та жоғары болатынын ескеруі керек. Тұрақ мәселесінің көпшілігі бір санға келіп тіреледі: толу деңгейі (қолжетімді орындардың қаншалықты бос еместігін көрсететін пайыз). Егер толу деңгейі төмен болса, орын табу оңай. Егер жоғары болса, бұл қиындыққа айналады.
Шоуптың айтуынша, қалалардағы тұрақ мәселесі толу деңгейінің тым жоғары болуынан туындайды. Егер белгілі бір жерде тұрақ құны тым төмен болса (немесе мүлдем тегін болса), адамдар сол жерге қоюға тырысады. Нәтижесінде орындар толып қалады, ал адамдар орын іздеп босқа уақыт пен жанармай жұмсайды. Шоуп сұранысқа байланысты бағаны өзгертетін сандық есептегіштерді орнатуды ұсынады. Оның ойынша, нысаналы толу деңгейі 85% шамасында болуы керек.
Көлік жүргізу кезінде әрбір бос орынды көргенде шешім қабылдау керек: осы орынды алу керек пе, әлде межелі жерге жақындап, бақты сынап көру керек пе? Егер сіз шексіз ұзын жолда келе жатсаңыз және мақсатыңыз жаяу жүру қашықтығын азайту болса, онда шешім — «Қара да Секір» ережесі. Жүргізуші белгілі бір қашықтыққа дейінгі барлық бос орындардан өтіп кетуі керек, содан кейін кездескен бірінші орынға тоқтауы қажет. Бұл қашықтық толу деңгейіне байланысты.

Тұрақты қалай оңтайлы табуға болады.
Егер қалада толу деңгейі 99% болса (тек 1% орын бос), онда сіз баратын жеріңізге 70 орын қалғанда-ақ (шамамен 400 метр) бірінші бос орынды алуыңыз керек. Бірақ егер толу деңгейі 85% болса, сіз жарты блок қалғанша іздеуді бастамасаңыз да болады. Тұрақ — бұл жай ғана ресурс емес, бұл назарды, уақытты және жанармайды қажет ететін оңтайлы тоқтау процесі.
Біз Шоуптан оның зерттеулері өзінің жұмысқа бару жолын оңтайландыруға көмектесе ме деп сұрадық. Әлемдегі ең үздік тұрақ сарапшысының құпия қаруы бар ма? — Иә, бар: «Мен велосипедпен жүремін».
Қашан тоқтау керек
1997 жылы Forbes журналы Борис Березовскийді Ресейдегі ең бай адам деп таныды. Оның байлығы шамамен 3 миллиард доллар болды. Небәрі он жыл бұрын ол КСРО Ғылым академиясының математигі ретінде қарапайым жалақыға өмір сүрген. Ол өзінің математикалық зерттеулері арқылы құрған байланыстарын пайдаланып, автокөлік дилеріне айналды, содан кейін телеарналар мен мұнай компанияларының иесі болды. Ол саясатқа араласып, Ельцин мен Путинді қолдады.
Бірақ кейін Березовскийдің жолы болмады. Путинмен қарым-қатынасы нашарлап, ол Ресейден біржола кетіп, Англияға қоныс аударды. Березовский Ресейден кету уақытын қалай шешті? «Сәттілік болып тұрғанда тоқтау» туралы математикалық ойлануға бола ма? Қызығы, Березовскийдің математик ретінде айналысқан тақырыбы дәл осы оңтайлы тоқтау еді; ол хатшы туралы есепке арналған алғашқы кітаптың авторы болған.
Сәттілік болып тұрғанда тоқтау мәселесі «ұры есебі» ретінде де белгілі. Ұры бірқатар тонауларды жүзеге асыра алады. Әрбір тонау табыс әкеледі, бірақ ұсталып қалу қаупі де бар. Егер ол ұсталса, барлық жинаған байлығынан айырылады. Ол максималды табыс алу үшін қандай алгоритмді қолдануы керек?
Бұл есептің шешімі өте қарапайым: сіз жасауыңыз керек тонаулар саны шамамен сіздің құтылып кету ықтималдығыңызды ұсталып қалу ықтималдығыңызға бөлгенге тең. Егер сіз шебер ұры болсаңыз және әр жолы құтылу ықтималдығыңыз 90% болса (ал ұсталу қаупі 10%), онда 90/10 = 9 тонаудан кейін зейнетке шығыңыз. Ал егер сәттілік мүмкіндігіңіз 50/50 болса, бірінші реттен кейін тәуекел етпеңіз.
Оңтайлы тоқтау бойынша сарапшы болғанына қарамастан, Березовскийдің оқиғасы мұңды аяқталды. Ол 2013 жылы наурызда қайтыс болды. Ресми қорытынды бойынша, ол көптеген сот процестерінен кейін байлығынан айырылып, өзіне-өзі қол жұмсаған. Мүмкін, ол ертерек тоқтауы керек пе еді? Бірнеше ондаған миллион доллар жинап, саясатқа араласпай-ақ қоюына болатын еді. Бірақ, өкінішке орай, бұл оның стилі емес еді. Оның досы Леонид Богуславский Березовский туралы мынадай оқиғаны еске алады: олар Мәскеу түбіндегі көлде моторды жөндеуге тырысқан. Достары кеш өткізіп жатқанда, Березовский үш сағат бойы моторды бөлшектеп, қайта жинаған. Мотор бәрібір істемеген, бірақ Березовский тоқтаудан бас тартқан. Ол ешқашан берілмейтін.
Бір қызығы, «ешқашан берілмеу» қағидасы оңтайлы тоқтау туралы әдебиеттерде де кездеседі. Біз талқылаған мәселелердің ауқымына қарап бұлай көрінбеуі мүмкін, бірақ оңтайлы тоқтау ережесі жоқ тізбекті шешім қабылдау мәселелері де бар. Оған қарапайым мысал ретінде «үш есе немесе ештеңе» ойынын келтіруге болады. Сізде 1 доллар бар делік және мына ойынды қалағаныңызша ойнай аласыз: барлық ақшаңызды бәске тігесіз, 50% жағдайда оны үш еселеп аласыз, ал 50% жағдайда бәрін жоғалтасыз. Неше рет ойнау керек? Қарапайымдылығына қарамастан, бұл мәселе үшін оңтайлы тоқтау ережесі (таңдауды тоқтатудың ең тиімді сәтін анықтайтын математикалық әдіс) жоқ, өйткені әр ойнаған сайын орташа табысыңыз аздап артып отырады. 1 доллардан бастасаңыз, жарты жағдайда 3 доллар аласыз, жарты жағдайда 0 доллар, демек, орташа есеппен бірінші раундты қалтаңызда 1,50 доллармен аяқтайсыз деп күтіледі. Содан кейін, егер бірінші раундта жолыңыз болса, жаңағы ұтып алған 3 долларыңыздан шығатын екі мүмкіндік — 9 доллар немесе 0 доллар, яғни екінші бәстен орташа қайтарым 4,50 долларды құрайды. Математика ойнауды әрқашан жалғастыру керек екенін көрсетеді. Бірақ егер осы стратегияны ұстансаңыз, ерте ме, кеш пе бәрін жоғалтасыз. Кейбір мәселелерді шешкеннен көрі, олардан аулақ болған дұрыс.
Әрқашан тоқтай білу
Мен бұл дүниеден бір-ақ рет өтемін деп ойлаймын. Сондықтан кез келген жақсылықты немесе кез келген пендеге көрсете алатын мейірімділігімді қазір жасауға рұқсат етіңіз. Оны кейінге қалдыруға немесе елеусіз қалдыруға жол бермейін, өйткені мен бұл жолмен екінші рет өтпеймін. — СТИВЕН ГРЕЛЛЕТ
Түстен кейінгі уақытты өткізіңіз (ләззатпен). Оны өзіңізбен бірге (о дүниеге) алып кете алмайсыз. — ЭННИ ДИЛЛАРД
Біз адамдардың өз өміріндегі тоқтау мәселелеріне тап болған нақты жағдайларын қарастырдық және көбіміз мұндай проблемалармен күнделікті, тіпті байқамай да бетпе-бет келетініміз анық. Хатшыларға, қалыңдықтарға немесе пәтерлерге қатысты болсын, өмір оңтайлы тоқтау сәттеріне толы. Сондықтан туындайтын қызықты сұрақ: біз эволюция, білім немесе түйсік арқылы ең жақсы стратегияларды шынымен ұстанамыз ба?
Бір қарағанда, жауап — жоқ. Оншақты зерттеу бірдей нәтиже көрсетті: адамдар тым ерте тоқтауға бейім, соның салдарынан жақсы үміткерлерді көрмей қалады. Осы тұжырымдарды тереңірек түсіну үшін біз зертханада қырық жылдан астам уақыт бойы оңтайлы тоқтау эксперименттерін жүргізіп келе жатқан Риверсайдтағы Калифорния университетінің профессоры Амнон Рапопортпен сөйлестік.
Классикалық хатшы мәселесіне ең жақын зерттеуді 1990-жылдары Рапопорт пен оның әріптесі Дэррил Сил жүргізді. Бұл зерттеуде адамдар хатшы мәселесін бірнеше рет қайталап өтті, әр жолы 40 немесе 80 үміткер болды. Адамдардың ең жақсы үміткерді табуының жалпы көрсеткіші өте жақсы болды: шамамен 31%, бұл оңтайлы 37%-дан онша алыс емес. Көптеген адамдар «Қара да секір» ережесіне сәйкес әрекет етті, бірақ олар жағдайлардың бестен төрт бөлігінде тиісті уақыттан ертерек «секірді» (шешім қабылдады).
Рапопорт өз өміріндегі оңтайлы тоқтау мәселелерін шешу кезінде осыны есте сақтайтынын айтты. Мысалы, пәтер іздегенде, ол тез шешім қабылдауға деген ішкі ұмтылысымен күреседі. «Табиғатымнан өте шыдамсыз болғаныма және бірінші кездескен пәтерді алғым келетініне қарамастан, мен өзімді бақылауға тырысамын! »
Бірақ бұл шыдамсыздық классикалық хатшы мәселесінде ескерілмейтін тағы бір жайтты аңғартады: уақыттың рөлі. Ақыр соңында, сіз хатшы іздеп жүрген уақыт бойы сізде хатшы болмайды. Оның үстіне, сіз өз жұмысыңызды істеудің орнына күні бойы сұхбат жүргізесіз.
Мұндай шығын түрі адамдардың зертханада хатшы мәселесін шешкенде неге ерте тоқтайтынын түсіндіруі мүмкін. Сил мен Рапопорт егер әрбір үміткерді қарау құны, мысалы, ең жақсы хатшыны табу құнының 1%-ына тең деп есептелсе, онда оңтайлы стратегия адамдардың өз эксперименттерінде «қараудан» «секіруге» ауысқан нақты сәтімен толық сәйкес келетінін көрсетті.
Бірақ жұмбақ мынада: Сил мен Рапопорттың зерттеуінде іздеу үшін ешқандай шығын болған жоқ. Онда неге зертханадағы адамдар шығын бар сияқты әрекет етті?
Себебі адамдар үшін әрқашан уақыт шығыны болады. Ол эксперименттің құрылымынан емес, адамдардың өмірінен туындайды.
Іздеудің мұндай эндогендік (ішкі немесе жүйенің өз ішіндегі) уақыт шығындары оңтайлы тоқтау модельдерінде әдетте ескерілмейді, бұл адамның шешім қабылдау процесінің неліктен сол модельдердің нұсқауларынан жиі алшақтайтынын түсіндіруі мүмкін. Оңтайлы тоқтау зерттеушісі Нил Бирден айтқандай: «Біраз ізденгеннен кейін біз, адамдар, жай ғана жалыға бастаймыз. Жалыққан ісіңді тастау қисынсыз емес, бірақ мұны қатаң модельдеу қиын».
Бірақ бұл оңтайлы тоқтау мәселелерінің маңыздылығын төмендетпейді; керісінше, оларды маңыздырақ етеді, өйткені уақыт ағыны кез келген шешім қабылдауды оңтайлы тоқтауға айналдырады.
«Оңтайлы тоқтау теориясы белгілі бір әрекетті жасау уақытын таңдау мәселесімен айналысады», — деп басталады оңтайлы тоқтау туралы іргелі оқулық. Адамның жай-күйіне бұдан артық қысқа анықтама табу қиын. Біз акцияларды сатып алудың және сатудың дұрыс уақытын шешеміз; сонымен қатар ерекше жағдай үшін сақтап жүрген шарап бөтелкесін ашудың, біреудің сөзін бөлудің немесе оны сүюдің ең қолайлы сәтін анықтаймыз.
Осы тұрғыдан алғанда, хатшы мәселесінің ең іргелі, бірақ ең сенгісіз болжамы — оның қатаң реттілігі мен қайтпас бір жақты қозғалысы — уақыттың өз табиғаты екенін көрсетеді. Осылайша, оңтайлы тоқтау мәселесінің ашық алғышарты — тірі болудың жасырын алғышарты. Дәл осы нәрсе бізді әлі көрмеген мүмкіндіктерге сүйеніп шешім қабылдауға мәжбүрлейді, тіпті оңтайлы әрекет еткен күннің өзінде сәтсіздіктің жоғары ықтималдығын қабылдауға итермелейді. Ешбір таңдау қайталанбайды. Бізде ұқсас таңдаулар болуы мүмкін, бірақ дәл сондай емес. Мүдіру немесе әрекетсіздік — әрекет сияқты қайтарылмайтын нәрсе. Бір жақты жолға түскен жүргізуші кеңістік үшін кім болса, біз төртінші өлшем (уақыт) үшін сондаймыз: біз бұл жолмен шынымен де бір-ақ рет өтеміз.
Түйсік бойынша, біз ұтымды шешім қабылдау дегеніміз — нұсқаларымызды түгел тізіп шығу, әрқайсысын мұқият өлшеп, содан кейін ең жақсысын таңдау деп ойлаймыз. Бірақ іс жүзінде, уақыт зымырап бара жатқанда, шешім қабылдаудың (немесе жалпы ойлаудың) ең маңызды аспектісі — қашан тоқтау керектігін білу.
*Біз кітап бойында кездесетін алгоритмдерді жуан қаріппен белгілейміз.
*Бұл стратегиямен бізде ең жақсы үміткерден бас тартудың 33% қаупі және оны мүлдем кездестірмеудің 16% қаупі бар. Нақтырақ айтсақ, үш үміткерді орналастырудың дәл алты нұсқасы бар: 1-2-3, 1-3-2, 2-1-3, 2-3-1, 3-1-2 және 3-2-1. Бірінші үміткерге қарап, содан кейін одан асып түсетін кез келген адамға тоқтау стратегиясы алты жағдайдың үшеуінде сәтті болады (2-1-3, 2-3-1, 3-1-2) және қалған үшеуінде сәтсіздікке ұшырайды — екі рет тым талғампаз болғаны үшін (1-2-3, 1-3-2) және бір рет жеткілікті дәрежеде талғампаз болмағаны үшін (3-2-1).
*Шын мәнінде 37%-дан сәл ғана аз. Дәлірек айтсақ, қарау керек үміткерлердің математикалық оңтайлы үлесі — 1/e. Бұл күрделі пайыздық есептеулерде кездесетін e тұрақтысы (шамамен 2,71828-ге тең математикалық сан). Бірақ e санын он екі ондық таңбаға дейін білудің қажеті жоқ: 35% бен 40% аралығындағы кез келген сан ең жоғары сәттілік көрсеткішіне өте жақын нәтиже береді. Толық математикалық мәліметтерді кітаптың соңындағы ескертпелерден қараңыз.
*Ойын теориясының есептеу қиындықтары туралы толығырақ 11-тарауда.
OceanofPDF. com
2 Зерттеу/Пайдалану
Ең соңғысы ма, әлде ең жақсысы ма?
Қарныңыз ашты. Өзіңізге таныс әрі жақсы көретін итальяндық мейрамханаға барасыз ба, әлде жаңадан ашылған тай асханасына ма? Ең жақын досыңызды шақырасыз ба, әлде жақсырақ танысқыңыз келетін жаңа танысыңызға хабарласасыз ба? Бұл тым қиын — бәлкім, үйде қаларсыз. Өзіңіз білетін рецепт бойынша тамақ пісіресіз бе, әлде интернеттен жаңа шабыт іздейсіз бе? Жарайды, пиццаға тапсырыс бере салсаңыз қайтеді? Күнделікті ішетін «әдеттегі» тамағыңызды аласыз ба, әлде ерекше ұсыныстар (спешл) туралы сұрайсыз ба? Сіз тіпті алғашқы тілімді жемей жатып-ақ шаршап қалдыңыз. Ал күйтабақ қою, фильм көру немесе кітап оқу туралы ой — қайсысын таңдасаңыз да — бұрынғыдай жайлы көрінбейді.
Күн сайын біз нақты бір өлшем бойынша ерекшеленетін нұсқалар арасында шешім қабылдауға мәжбүрміз: біз жаңа нәрселерді байқап көреміз бе, әлде сүйікті нәрселерімізге адал боламыз ба? Біз өмірдің жаңашылдық пен дәстүр арасындағы, ең соңғы мен ең жақсы арасындағы, тәуекел ету мен өзіміз білетін және жақсы көретін нәрсенің рақатын көру арасындағы тепе-теңдік екенін түйсікпен түсінеміз. Бірақ пәтер іздеудегі «қарау немесе секіру» дилеммасы сияқты, мұнда да жауапсыз сұрақ қалады: тепе-теңдік қандай болуы керек?
1974 жылғы классикалық «Дзен және мотоциклге техникалық қызмет көрсету өнері» кітабында Роберт Пирсиг «Не жаңалық? » деген сұрақты сынға алады. Ол бұл сұрақтың «егер оған ғана назар аударсаңыз, нәтижесінде ертеңгі күннің қоқысына айналатын мәнсіз ұсақ-түйек пен сәннің шексіз шеруіне ғана алып келеді» деп есептейді. Ол балама ретінде мына сұрақты әлдеқайда жоғары қояды: «Ең жақсысы не? »
Бірақ шындық ондай қарапайым емес. Сіздің сүйікті әндеріңіз бен мейрамханаларыңыздың әрқайсысы бір кездері сіз үшін жай ғана «жаңа» нәрсе ретінде басталғанын есте сақтау — әлі де белгісіз «ең жақсылардың» бар екенін және жаңа нәрсеге аз да болса көңіл бөлу керек екенін еске салады.
Көне афоризмдер бұл қайшылықты мойындайды, бірақ шешпейді. «Жаңа достар тап, бірақ ескіні ұмытпа / Бірі — күміс болса, бірі — алтын» деген сияқты сөздер дұрыс-ақ. Бірақ олар бізге бақытты өмір сүру үшін, айталық, «күміс» пен «алтынның» қандай қатынаста болуы керектігі туралы ешқандай пайдалы ақпарат бермейді.
Компьютер мамандары бұл тепе-теңдікті табу үшін елу жылдан астам уақыт бойы жұмыс істеп келеді. Олардың тіпті бұл үшін арнайы атауы бар: зерттеу/пайдалану дилеммасы.
Зерттеу/Пайдалану
Ағылшын тілінде «explore» (зерттеу) және «exploit» (пайдалану) сөздері мүлдем қарама-қайшы мағынаға ие. Бірақ компьютер маманы үшін бұл сөздер нақты әрі бейтарап мағына береді. Қарапайым тілмен айтқанда, зерттеу — ақпарат жинау, ал пайдалану — белгілі бір жақсы нәтижеге қол жеткізу үшін өзіңізде бар ақпаратты қолдану.
Ешқашан зерттеу жүргізбеудің дұрыс емес екені түсінікті. Бірақ ешқашан пайдаланбау да сондай жаман болуы мүмкін екенін айта кеткен жөн. Компьютерлік ғылым анықтамасы бойынша, пайдалану (exploitation) шын мәнінде біз өміріміздің ең жақсы сәттері деп санайтын көптеген жағдайларды сипаттайды. Мерекеде отбасының бірге жиналуы — бұл пайдалану. Сондай-ақ, кітапқұмардың бір кесе ыстық кофемен сүйікті кітабына үңілуі, топтың өзін сүйетін жанкүйерлеріне ең танымал хиттерін орындауы немесе уақыт сынынан өткен жұптың «өз әніне» билеуі — мұның бәрі пайдалану.
Оның үстіне, зерттеу (exploration) қарғысқа айналуы да мүмкін.
Мысалы, музыканың жақсы жері — үнемі тыңдайтын жаңа нәрселердің болуы. Немесе, егер сіз музыкалық журналист болсаңыз, музыканың ең жаман жері — үнемі тыңдайтын жаңа нәрселердің болуы. Музыкалық журналист болу дегеніміз — зерттеу тетігін ең жоғары 11-деңгейге қою, мұнда үнемі тек жаңа нәрселер ғана болады. Музыка әуесқойлары музыкалық журналистикада жұмыс істеуді жұмақ деп елестетуі мүмкін, бірақ сіз үнемі жаңаны зерттеуге мәжбүр болсаңыз, өзіңіздің білгірлігіңіздің жемісін ешқашан тата алмайсыз — бұл тозақтың бір түрі. «Pitchfork» басылымының бұрынғы бас редакторы Скотт Плагенхоф сияқты бұл тәжірибені ешкім терең білмейді. «Сіз жұмыс барысында жай ғана тыңдағыңыз келетін нәрсені тыңдау үшін бос орын табуға тырысасыз», — дейді ол сыншының өмірі туралы. Сапасы күмәнді, бұрын естімеген әндерді ақтаруды тоқтатып, жай ғана өзі жақсы көретін нәрсені тыңдауға деген ұмтылысы соншалық, Плагенхоф өзін жұмыстан алаңдатпау үшін iPod-ына тек жаңа музыкаларды ғана жүктейтін, осылайша ол «The Smiths» тобын тыңдағысы келген сәттерде оған физикалық түрде мүмкіндік болмайтын. Журналистер — басқалар «пайдалануы» үшін «зерттеу» жасайтын жанқиярлар.
Компьютерлік ғылымда зерттеу мен пайдалану арасындағы тартыс «көпқолды бандит мәселесі» деп аталатын сценарийде ең айқын көрініс табады. Бұл оғаш атау казинодағы слот-машиналарының (ойын автоматтарының) ауызекі тілдегі атауы «бірқолды бандиттен» шыққан. Әрқайсысының ұту ықтималдығы әртүрлі көптеген слот-машиналары бар казиноға кіргеніңізді елестетіңіз. Мәселе мынада: сізге бұл ықтималдықтар алдын ала айтылмайды: ойнай бастағанға дейін қай машиналардың ең тиімді (машиналардың тілімен айтқанда «жомарт») екенін және қайсысы тек ақшаны құртатынын білмейсіз.
Әрине, сіз жалпы ұтысыңызды барынша арттыруға мүдделісіз. Бұл әртүрлі машиналардың тұтқаларын тартып көруді (зерттеу) және тапқан ең тиімді машиналарға басымдық беруді (пайдалану) біріктіруді талап ететіні анық.
Мәселенің нәзік тұстарын түсіну үшін тек екі машинаның алдында тұрғаныңызды елестетіңіз. Біріншісін 15 рет ойнадыңыз; 9 рет ұттыңыз, 6 рет ұтылдыңыз. Екіншісін тек екі рет ойнадыңыз; бір рет ұттыңыз, бір рет ұтылдыңыз. Қайсысы тиімдірек?
Ұтыстарды жалпы ойнау санына бөлу сізге машинаның күтілетін мәнін (мүмкін болатын орташа нәтиже) береді және бұл әдіс бойынша бірінші машина анық алда тұр. Оның 9-6 рекорды 60% күтілетін мәнді береді, ал екінші машинаның 1-1 рекорды небәрі 50% береді. Бірақ мәселе мұнымен бітпейді. Ақыр соңында, екі-ақ рет ойнау өте аз. Сондықтан екінші машинаның іс жүзінде қаншалықты жақсы болуы мүмкін екенін біз әлі білмейміз.
Мейрамхана немесе альбом таңдау — бұл іс жүзінде өмір казиносында қай тұтқаны тарту керектігін шешу. Бірақ зерттеу/пайдалану дилеммасын түсіну тек қайда тамақтану немесе не тыңдау керектігі туралы шешімдерді жақсартудың жолы ғана емес. Ол сондай-ақ жас ұлғайған сайын мақсаттарымыз қалай өзгеруі керектігі және неге ең ұтымды әрекет әрқашан ең жақсыны таңдауға тырысу емес екендігі туралы іргелі түсінік береді. Және бұл, басқа нәрселермен қатар, веб-дизайн мен клиникалық сынақтардың — әдетте бір сөйлемде айтылмайтын екі тақырыптың негізінде жатыр.
Адамдар шешімдерге оқшауланған түрде қарауға, әр жолы күтілетін мәні ең жоғары нәтижені табуға назар аударуға бейім. Бірақ шешімдер ешқашан оқшауланбайды және күтілетін мән — бұл оқиғаның соңы емес. Егер сіз тек келесі шешім туралы емес, болашақта бірдей нұсқалар бойынша қабылдайтын барлық шешімдеріңіз туралы ойласаңыз, зерттеу/пайдалану дилеммасы бұл процесс үшін өте маңызды. Математик Питер Уиттл жазғандай, бандит мәселесі «барлық адамзат әрекетінде байқалатын қайшылықты негізгі формада бейнелейді».
Сонымен, сол екі тұтқаның қайсысын тарту керек? Бұл — айлалы сұрақ. Ол біз әлі талқыламаған нәрсеге толықтай байланысты: сіз казинода қанша уақыт болуды жоспарлап отырсыз?
Уақыт аралығын ұстап қал
«Carpe diem», — дейді Робин Уильямс 1989 жылғы «Өлі ақындар қоғамы» фильмінің ең есте қаларлық көріністерінің бірінде. «Күнді ұстап қалыңдар (сәтті пайдаланыңдар), балалар. Өмірлеріңізді ерекше етіңіздер».
Бұл өте маңызды кеңес. Сонымен қатар ол біршама қайшылықты. «Күнді ұстау» мен «бүкіл өмірді ұстау» — екі бөлек нәрсе. Бізде «Іш, же және көңіл көтер, өйткені ертең өлеміз» деген сөз бар, бірақ оның керісі де болуы керек шығар: «Жаңа тіл немесе аспап үйрене баста, бейтаныс адаммен сөйлесіп көр, өйткені өмір ұзақ және көп жылдар бойы қандай қуаныш бүршік жаратынын кім біледі». Сүйікті тәжірибелер мен жаңа нәрселерді теңестіру кезінде біз олардан ләззат алуды жоспарлаған интервал (уақыт аралығы) сияқты маңызды ештеңе жоқ.
«Мен жаңа мейрамхананы қаладан көшіп бара жатқанда емес, жаңадан көшіп келгенде көбірек іздеймін», — деп түсіндіреді деректер зерттеушісі және блогер Крис Стуккио. «Қазір мен көбінесе өзім білетін және жақсы көретін мейрамханаларға барамын, өйткені жақын арада Нью-Йорктен кететінімді білемін. Ал бірнеше жыл бұрын Пунаға (Үндістан) көшіп келгенімде, мені өлтіріп қоймайтындай көрінген кез келген жерден тамақ іше беретінмін. Ал қаладан кетер кезде жаңа нәрселерді іздегенше, барлық ескі сүйікті жерлеріме қайта бардым... Тіпті сәл жақсырақ жер тапсам да, мен онда тек бір-екі рет қана бара аламын, сондықтан неге тәуекел етуім керек? »
Жаңа нәрселерді байқап көрудің бір өкінішті қасиеті — зерттеудің құндылығы, яғни жаңа сүйікті нәрсені табудың құндылығы уақыт өте келе тек төмендей береді, өйткені оның рақатын көруге қалған мүмкіндіктер азаяды. Қаладан кететін соңғы түні таңғажайып дәмхананы табу сізге оған қайта оралуға мүмкіндік бермейді.
Керісінше, пайдаланудың (exploitation) құндылығы уақыт өте келе тек арта түседі. Бүгін сіз білетін ең керемет дәмхана, анықтама бойынша, өткен айда білген ең керемет дәмханаңыздан кем емес. (Егер сіз содан бері тағы бір сүйікті жер тапсаңыз, ол тіпті жақсырақ болуы мүмкін). Сондықтан зерттеу нәтижесінде алынған білімді пайдалануға уақытыңыз болғанда зерттеңіз, ал пайданы жинауға дайын болғанда пайдаланыңыз. Стратегияны интервал (уақыт аралығы) анықтайды.
Бір қызығы, стратегияны интервал анықтайтындықтан, стратегияны бақылай отырып, біз интервалды да біле аламыз. Мысалы, Голливудты алайық: 1981 жылғы ең көп табыс әкелген он фильмнің ішінде тек екеуі ғана сиквел (жалғасы) болды. 1991 жылы бұл көрсеткіш үшеу болды. 2001 жылы — бесеу. Ал 2011 жылы ең көп табыс әкелген он фильмнің сегізі сиквел болды. Шын мәнінде, 2011 жыл ірі студиялық шығарылымдар арасындағы сиквелдердің ең көп пайызы бойынша рекорд орнатты. Содан кейін 2012 жыл бұл рекордты бірден жаңартты; келесі жылы тағы да жаңарды. 2012 жылдың желтоқсанында журналист Ник Аллен алдағы жылға шаршаумен қарады:
Көрермендерге «Икс адамдардың» алтыншы бөлімі, сондай-ақ «Форсаж 6», «Қатты жаңғақ 5», «Қорқынышты кино 5» және «Паранормальды құбылыс 5» ұсынылады. Сондай-ақ «Темір адам 3», «Бас жазу 3» (The Hangover 3) және «Маппеттер», «Смурфтар», «G. I. Joe» және «Жаман Сантаның» екінші бөлімдері шығады.
Студия тұрғысынан сиквел — бұл кепілдендірілген жанкүйерлері бар фильм: «сауын сиыр», сенімді нәрсе, яғни «пайдалану» (exploit). Ал сенімді нәрселердің шамадан тыс көп болуы, қаладан көшіп бара жатқан Стуккио сияқты, қысқа мерзімді көзқарасты білдіреді. Сиквелдер биылғы жылы мүлдем жаңа фильмдерге қарағанда хит болуы ықтимал, бірақ болашақтың сүйікті франшизалары қайдан пайда болады? Мұндай сиквелдер тасқыны тек өкінішті ғана емес (сыншылар солай ойлайтыны анық), сонымен қатар мұңды. Толықтай дерлік пайдалануға (exploit) негізделген кезеңге өту арқылы киноиндустрия өзінің «интервалының» (өмір сүру уақытының) аяқталуға жақын екеніне сенетінін аңғартып отырған сияқты.
Голливуд экономикасына көз жүгіртсек, бұл күдікті растайды. Ірі киностудиялардың пайдасы 2007-2011 жылдар аралығында 40%-ға төмендеді, ал билет сату соңғы он жылдың жеті жылында азайды. Economist журналы жазғандай: «Шығындардың өсуі мен кірістердің азаюы арасында қалған ірі студиялар хит болады деп ойлайтын көбірек фильмдер шығару арқылы жауап берді: әдетте бұл сиквелдер, приквелдер немесе танымал кейіпкерлері бар кез келген нәрсе». Басқаша айтқанда, олар казино оларды қуып шыққанға дейін қолдарындағы ең жақсы машиналардың тұтқаларын тартып жатыр.
Ұтсаң — қал
Көпқолды бандит мәселесін қалай шешу керектігін нақты айтатын оңтайлы алгоритмдерді табу өте қиын болып шықты. Питер Уиттл еске алғандай, Екінші дүниежүзілік соғыс кезінде бұл сұрақты шешуге тырысқан одақтас аналитиктердің күш-жігері мен ақыл-ойы соншалықты таусылғандықтан, «бұл мәселені Германияның үстінен интеллектуалдық диверсияның соңғы құралы ретінде тастау керек» деген ұсыныс жасалған.
Шешімге бағытталған алғашқы қадамдар соғыстан кейінгі жылдары жасалды, Колумбия университетінің математигі Герберт Роббинс кемелді болмаса да, жақсы кепілдіктер беретін қарапайым стратегияны көрсетті.
Роббинс нақты екі слот-машинасы бар жағдайды қарастырып, **«Ұтсаң — қал, ұтылсаң — ауыс»** (Win-Stay, Lose-Shift) деп аталатын алгоритмді ұсынды: тұтқаны кездейсоқ таңдаңыз және ол табыс әкеліп тұрғанша оны тарта беріңіз. Егер тұтқа бір тартқаннан кейін табыс әкелмесе, екіншісіне ауысыңыз. Бұл қарапайым стратегия толық шешімнен алыс болғанымен, Роббинс 1952 жылы оның кездейсоқ таңдаудан әлдеқайда сенімді жұмыс істейтінін дәлелдеді.
Gittins индексі
Роббинстен кейін бірқатар ғылыми еңбектер «жеңімпазда тоқтау» принципін тереңірек зерттеді. Интуитивті түрде, егер сіз бір тетікті тартуға дайын болсаңыз және ол пайда әкелсе, бұл оның құндылығы туралы бағалауыңызды арттыруы керек, демек оны қайта тартуға деген ынтаңыз арта түсуі тиіс. Шынында да, «жеңсең — қал» принципі кең ауқымды жағдайларда зерттеу мен пайдалануды теңестірудің оңтайлы стратегиясының ажырамас бөлігі болып шықты.
«Ұтылсаң — ауыс» стратегиясының кемшілігі
Бірақ «ұтылсаң — ауыс» принципінің жайы басқаша. Әрбір сәтсіздіктен кейін таңдауды өзгерту — тым асығыс шешім. Мысалы, бір мейрамханаға жүз рет барып, әр жолы дәмді тамақ іштіңіз делік. Бір рет көңіліңіз қалғаны одан біржола бас тартуға жеткілікті ме? Жақсы опцияларды мінсіз болмағаны үшін тым қатал жазаламау керек.
Маңыздысы, «Жеңсең — қал, ұтылсаң — ауыс» алгоритмінде оңтайландыру жүргізіліп жатқан уақыт аралығы туралы ешқандай түсінік жоқ. Егер сүйікті мейрамханаңыз соңғы барғанда көңіліңізден шықпаса, бұл алгоритм сізге басқа жерге баруды бұйырады — тіпті бұл сіздің қаладағы соңғы кешіңіз болса да.
Роббинстің көп қолды бандит (бірнеше нұсқаның ішінен ең тиімдісін таңдау қажет болатын ықтималдық мәселесі) мәселесі бойынша бастапқы жұмысы ауқымды әдебиеттердің пайда болуына түрткі болды. RAND корпорациясының математигі Ричард Беллман жалпы қанша нұсқа мен мүмкіндік болатынын алдын ала білетін жағдайлар үшін нақты шешім тапты. «Толық ақпаратты хатшы мәселесіндегідей», Беллманның әдісі соңғы қадамнан бастап артқа қарай есептеуден тұрды.
Беллман әдісінен шығатын жауаптар бұлжымас берік, бірақ нұсқалар көп және казинодағы уақыт ұзақ болса, бұл есептеу өте күрделі немесе мүмкін емес болып кетеді. Сонымен қатар, біз барлық ықтимал болашақты есептей алсақ та, алдымызда қанша мүмкіндік барын әрқашан біле бермейміз. Осы себепті, көп қолды бандит мәселесі ұзақ уақыт бойы шешілмеген күйінде қалды. Уиттлдің сөзімен айтқанда, ол «тез арада классикаға және табандылықтың символына айналды».
Gittins индексі
Математикада жиі болатындай, жеке жағдай жалпыға жол ашады. 1970-жылдары Unilever корпорациясы жас математик Джон Гиттинстен дәрі-дәрмек сынақтарын оңтайландыруға көмектесуін сұрады. Күтпеген жерден олар тұтас бір ұрпақ шеше алмаған математикалық жұмбақтың жауабын алды.
Қазір Оксфордтың статистика профессоры Гиттинс Unilever қойған сұрақ туралы ойланды. Әртүрлі химиялық қосындылар берілген жағдайда, қайсысы ауруға қарсы тиімді екенін анықтаудың ең жылдам жолы қандай? Гиттинс мәселені барынша жалпы форматқа келтіруге тырысты: зерттелетін бірнеше нұсқа, әрқайсысының сыйақы алу ықтималдығы әртүрлі және олардың арасында бөлінуі тиіс күш-жігер (немесе ақша, немесе уақыт). Бұл, әрине, көп қолды бандит мәселесінің тағы бір көрінісі еді.
Дәрілік компаниялар да, олар қызмет көрсететін медицина саласы да үнемі зерттеу мен пайдалану арасындағы теңгерімге тап болады. Компаниялар жаңа дәрілерді табуға инвестиция салғысы келеді, бірақ сонымен бірге қолданыстағы табысты өнімдерінің де дамығанын қалайды. Дәрігерлер пациенттерге ең жақсы емді тағайындағысы келеді, бірақ сонымен бірге одан да жақсы ем түрлерін анықтайтын эксперименталды зерттеулерді қолдайды.
Екі жағдайда да тиісті уақыт аралығының қандай болуы керектігі толық түсінікті емес. Бір жағынан, компаниялар да, дәрігерлер де шексіз болашаққа мүдделі. Бірақ қазіргі уақыт жоғары басымдыққа ие: бүгін емделген науқас бір жылдан кейін емделген науқастан құндырақ деп саналады. Экономистер болашаққа қарағанда қазіргі уақытты жоғары бағалау идеясын дисконттау (болашақтағы пайданың құнын бүгінгі күнмен салыстырғанда төмендетіп есептеу әдісі) деп атайды.
Алдыңғы зерттеушілерден айырмашылығы, Гиттинс мәселеге осы тұрғыдан қарады. Ол мақсатты белгілі бір уақыт аралығында емес, шексіз, бірақ дисконтталған болашақ үшін табысты барынша арттыру деп белгіледі.
Мұндай дисконттау біздің өмірімізде де кездеседі. Егер сіз бір қалаға он күндік демалысқа келсеңіз, мейрамхана таңдауды нақты уақыт аралығын ескеріп жасауыңыз керек; бірақ сол қалада тұрсаңыз, бұл онша мағыналы емес. Оның орнына сіз болашақтағы пайданың құны уақыт өткен сайын азаяды деп елестете аласыз. Гиттинс табыстың құны геометриялық түрде кемиді деген болжам жасады: яғни, әрбір келесі барудың құны алдыңғысының белгілі бір тұрақты бөлігін құрайды.
Пара беру және шешім қабылдау
Гиттинс «кем дегенде жақсы жуықтау болады» деп есептеген стратегияны зерттеді: бандиттің әрбір «қолын» басқалардан бөлек қарастырып, сол нұсқаның жеке құнын анықтау. Ол мұны өте тапқырлықпен, «пара беру» арқылы елестетті.
Әйгілі «Deal or No Deal» телешоуында қатысушы ішінде бір тиыннан миллион долларға дейін жүлдесі бар 26 чемоданның бірін таңдайды. Ойын барысында «Банкир» деп аталатын жұмбақ кейіпкер қатысушыға чемоданды ашпауы үшін белгілі бір сомада ақша ұсынады. Қатысушы белгісіздіктен гөрі нақты ақшаны қай бағаға айырбастауға дайын екенін шешуі керек.
Гиттинс көп қолды бандит мәселесінің де осыған ұқсас екенін түсінді. Біз аз білетін немесе мүлдем білмейтін әрбір ойын автоматы үшін белгілі бір кепілдендірілген төлем мөлшерлемесі болады, егер ол бізге автоматтың орнына ұсынылса, біз оны еш өкінбей қабылдап, автоматтың тұтқасын қайтып тартпайтын едік. Бұл сан — Гиттинс оны «динамикалық бөлу индексі» деп атады, ал қазір әлем оны Gittins индексі деп біледі — казинода анық стратегия ұсынады: әрқашан индексі ең жоғары тетікті ойнаңыз.
Шын мәнінде, индекс стратегиясы жай ғана жуықтау емес, ол геометриялық дисконтталған табысы бар көп қолды бандит мәселесін толық шешеді. Зерттеу мен пайдалану арасындағы қайшылық екеуін де ескеретін бірыңғай шаманы барынша арттырудың қарапайым міндетіне айналады. Гиттинс бұл жетістік туралы қарапайым ғана: «Бұл Ферманың соңғы теоремасы емес қой», — деп күлімсірейді.
Төмендегі кестеде біз келесі жолғы табыс қазіргі табыстың 90%-ына тең деп есептелетін жағдай үшін 9 жеңіс пен сәтсіздікке дейінгі Gittins индексінің мәндерін береміз. Мысалы, осы болжамдар бойынша, сіз 9 рет жеңіп, 6 рет ұтылған (күтілетін мәні 60%) автоматтан гөрі, 1 рет жеңіп, 1 рет ұтылған (күтілетін мәні 50%) автоматты таңдауыңыз керек. Кестеде аз танымал автоматтың индексі 0.6346, ал көп ойналған автоматтың индексі небәрі 0.6300 екенін көруге болады. Мәселе шешілді: осы жолы сәттілікке сеніп, жаңасын зерттеңіз.

Жеңістер мен ұтылыстарға байланысты Gittins индексінің мәндері (келесі жолғы табыс қазіргінің 90%-ына тең деп есептелген).
Кестеден тағы бірнеше қызықты жайды байқауға болады. Біріншіден, «жеңсең — қал» принципі жұмыс істеп тұр: кез келген қатарда солдан оңға қарай жүргенде индекс ұпайлары әрқашан артады. Екіншіден, «ұтылсаң — ауыс» принципінің қауіптілігі көрінеді. 9 жеңістен кейінгі бір ұтылыс сізге 0. 8695 индексін береді, бұл кестедегі басқа мәндердің көбінен жоғары — демек, сіз бұл тетікте кем дегенде тағы бір рет қалуыңыз керек.
Кестенің ең қызықты бөлігі — жоғарғы сол жақтағы ұяшық. 0–0 көрсеткіші — яғни мүлдем беймәлім тетік — 0. 5000 күтілетін мәнге ие болса да, оның Gittins индексі 0. 7029 құрайды. Басқаша айтқанда, сіз мүлдем білмейтін нәрсе он реттің жетеуінде ұтыс беретін автоматтан да тартымдырақ! Зерттеу бонусі — қуатты күш. Тіпті ең алғашқы тартудағы сәтсіздік (0–1 көрсеткіші) Gittins индексін 50%-дан жоғары етіп қалдырады.

Жеңістер мен ұтылыстарға байланысты Gittins индексінің мәндері (келесі жолғы табыс қазіргінің 99%-ына тең деп есептелген).
Болашақты қазіргі уақытпен бірдей дерлік бағаласақ, белгісіз нәрсені табудың құндылығы одан сайын артады. Мұнда мүлдем тексерілмеген 0–0 көрсеткіші бар автоматтың құны кепілдендірілген 86. 99%-дық төлемге тең! Математика бізге «көршінің шөбі әрқашан жасыл» деген мәтелдің себебін түсіндіреді: белгісіздіктің жақсырақ болу мүмкіндігі бар. Зерттеудің өз құндылығы бар, өйткені жаңа нәрселерді сынап көру біздің ең жақсысын табу мүмкіндігімізді арттырады.
Дегенмен, Gittins индексі барлық мәселені шешпейді. Ол болашақ сыйақыны геометриялық дисконттау туралы қатаң болжамдарға негізделген, ал психологиялық зерттеулер адамдардың әрқашан бұлай әрекет етпейтінін көрсетеді. Сонымен қатар, таңдаулар арасында ауысудың құны (шығыны) болса, Gittins стратегиясы бұдан былай оңтайлы болмайды. Ең бастысы, Gittins индексін жол-жөнекей есептеу өте қиын.
Өкініш пен оптимизм
«Өкініш пе, менде бірнешеуі болды. Бірақ айтатындай көп емес». — ФРАНК СИНАТРА
«Мен — оптимистпін. Одан басқа біреу болудың пайдасы жоқ сияқты». — УИНСТОН ЧЕРЧИЛЛЬ
Өкінішті азайту шеңбері
Егер Gittins индексі тым күрделі болса, сізде басқа таңдау бар: өкінішке назар аударыңыз. Не жейтінімізді, кіммен уақыт өткізетінімізді таңдағанда, өкініш сезімі үлкен рөл атқарады. Менеджмент теоретигі Честер Барнард айтқандай: «Сынап көріп сәтсіздікке ұшырау — кем дегенде сабақ алу; сынап көруден бас тарту — не болуы мүмкін еді деген ойдан шексіз зардап шегу».
Amazon. com негізін қалағанға дейін Джефф Безостың Нью-Йорктегі инвестициялық компанияда жақсы жалақысы мен тұрақты жұмысы болды. Сиэтлде онлайн кітап дүкенін ашу үлкен қадам еді. Безос былай дейді:
«Мен шешімді өте оңай еткен шеңберді таптым, оны — тек нағыз "нөрд" қана солай атайтын шығар — "өкінішті азайту шеңбері" (regret minimization framework) деп атадым. Мен өзімді 80 жасқа дейін жобалап, өміріме артқа қарай қарадым деп елестеттім. Мен 80 жасқа келгенде мұны істеп көргеніме өкінбейтінімді білдім. Сәтсіздікке ұшырасам да өкінбейтінімді түсіндім, бірақ мені мәңгілікке мазалайтын жалғыз нәрсе — мүлдем істеп көрмеу еді».
Компьютер ғылымы сізге өкінішсіз өмір сыйлай алмайды. Бірақ ол Безос іздеген нәрсені — ең аз өкініші бар өмірді ұсына алады.
Өкініш — бұл іс жүзінде жасаған әрекетімізді өткенге қарап ең жақсы болар еді деген әрекетпен салыстырудың нәтижесі. Көп қолды бандитте өкінішті нақты санмен өлшеуге болады: бұл таңдалған стратегия арқылы алынған жалпы табыс пен ең жақсы тетікті басынан бастап тартқанда алынатын теориялық табыс арасындағы айырмашылық.
1985 жылы Герберт Роббинс пен Цзе Люн Лай өкініш туралы бірнеше маңызды жайтты дәлелдеді. Біріншіден, егер сіз бәрін білетін әулие болмасаңыз, жалпы өкініш мөлшері ешқашан тоқтамайды. Екіншіден, ең жақсы стратегияны таңдасаңыз, өкініш басқа стратегияларға қарағанда баяу қарқынмен өседі. Үшіншіден, ең аз ықтимал өкініш — бұл әрбір талпыныс сайын логарифмдік қарқынмен өсетін өкініш.
Логарифмдік түрде өсетін өкініш біздің алғашқы он талпыныста жасаған қателіктеріміз келесі тоқсан талпыныстағы қателіктермен тең болатынын білдіреді. Бұл бір жағынан көңілге демеу. Егер біз өкінішті азайту алгоритмін ұстанатын болсақ, жыл өткен сайын жаңа өкініштеріміз азая береді деп күтуге болады.
Жоғарғы сенім шегі (UCB) алгоритмдері
Статистикалық деректерде көбінесе дерек нүктесінің асты мен үстіне созылатын «қателік жолақтары» болады. Бұл диапазон сенімділік интервалы (өлшенетін шаманың нақты мәні орналасуы мүмкін диапазон) деп аталады. Мәліметтер көбейген сайын бұл интервал тарыла түседі. Көп қолды бандит мәселесінде Жоғарғы сенім шегі (Upper Confidence Bound) алгоритмі сенімділік интервалының жоғарғы нүктесі ең жоғары болатын нұсқаны таңдауды бұйырады.
UCB алгоритмі осы уақытқа дейін қайсысы ең жақсы жұмыс істегеніне қарамайды; керісінше, ол болашақта ең жақсы нәтиже беруі мүмкін нұсқаны таңдайды. Егер сіз бір мейрамханаға бұрын-соңды бармаған болсаңыз, ол сіз үшін өте керемет болуы мүмкін. Gittins индексі сияқты, Жоғарғы сенім шегі әрқашан күтілетін мәннен жоғары болады, бірақ тәжірибе жинаған сайын ол азая береді. UCB алгоритмдерінің ұсыныстары Gittins индексіне ұқсас, бірақ оларды есептеу әлдеқайда оңай және олар геометриялық дисконттауды қажет етпейді.
Жоғарғы сенімділік шекарасы (Upper Confidence Bound) алгоритмдері «белгісіздік жағдайындағы оптимизм» деп аталатын принципті жүзеге асырады. Олар оптимизмнің толықтай рационалды бола алатынын көрсетеді. Осы уақытқа дейін жиналған дәлелдерге сүйене отырып, таңдаудың ең жақсы нұсқасына назар аудару арқылы бұл алгоритмдер біз аз білетін мүмкіндіктерге басымдық береді. Соның салдарынан олар шешім қабылдау процесіне зерттеу (exploration) элементін табиғи түрде енгізеді; кез келген жаңа нұсқа «келесі үлкен жаңалық» болуы мүмкін болғандықтан, оларға үлкен ынтамен ұмтылады. Дәл осы принципті, мысалы, MIT профессоры Лесли Кэблинг қолданады: ол картаға түспеген аймақтардың құндылығын арттыру арқылы айналасын зерттейтін «оптимистік роботтарды» жасайды. Бұл принциптің адам өмірі үшін де маңызы зор екені анық.
Жоғарғы сенімділік шекарасы алгоритмдерінің жетістігі «сенім білдіру» (benefit of the doubt) принципіне формальды негіздеме береді. Осы алгоритмдердің кеңесіне сүйенсек, сіз жаңа адамдармен танысуға және жаңа нәрселерді байқап көруге құштар болуыңыз керек — керісінше дәлелдер болмаған жағдайда, олар туралы ең жақсы ойда болуыңыз қажет. Ұзақ мерзімді перспективада оптимизм — өкініштің алдын алудың ең жақсы жолы.
Онлайн бандиттер
2007 жылы Google өнім менеджері Дэн Сирокер сол кездегі сенатор Барак Обаманың Чикагодағы президенттік науқанына қосылу үшін демалыс алды. «Жаңа медиа-аналитика» тобын басқарған Сирокер Google-дың веб-тәжірибелерінің бірін науқанның ашық қызыл түсті «DONATE» (Садақа беру) батырмасына қолданды. Нәтиже таңғалдырды: оның жұмысының тікелей нәтижесінде қосымша 57 миллион доллар жиналды.
Ол батырмамен нақты не істеді?
Ол оны <span data-term="true">А/В тестілеуден</span> (өнімнің екі немесе бірнеше нұсқасын салыстыру арқылы ең тиімдісін анықтау әдісі) өткізді.
А/В тестілеу былай жұмыс істейді: компания белгілі бір веб-парақшаның бірнеше түрлі нұсқасын дайындайды. Мүмкін олар түрлі түстерді немесе суреттерді, жаңалықтар мақаласының түрлі тақырыптарын немесе экрандағы элементтердің түрлі орналасуын байқап көреді. Содан кейін олар келушілерді осы әртүрлі беттерге, әдетте тең мөлшерде, кездейсоқ түрде бағыттайды. Бір пайдаланушы қызыл батырманы көрсе, екіншісі көк батырманы көруі мүмкін; бірі «DONATE» (Садақа беру) дегенді көрсе, екіншісі «CONTRIBUTE» (Үлес қосу) дегенді көреді. Содан кейін тиісті метрикалар (мысалы, басу көрсеткіші немесе әр келушіден түсетін орташа табыс) бақыланады. Белгілі бір уақыттан кейін, егер статистикалық маңызды нәтижелер байқалса, «жеңімпаз» нұсқа бекітіледі немесе эксперименттердің келесі кезеңі үшін бақылау нұсқасына айналады.
Обаманың садақа жинау парақшасында Сирокердің А/В тесттері көп нәрсені ашты. Науқан сайтына алғаш рет келгендер үшін «DONATE AND GET A GIFT» (Садақа бер де, сыйлық ал) батырмасы, тіпті сыйлықтарды жіберу шығындарын есепке алғанның өзінде, ең жақсы нәтиже көрсетті. Бұрын-соңды ақша бермеген ұзақ уақыттық жазылушылар үшін «PLEASE DONATE» (Өтінеміз, садақа беріңіз) деген сөз тиімді болды, бұл олардың кінәсін сезінуіне әсер еткен болуы мүмкін. Бұрын садақа берген келушілер үшін «CONTRIBUTE» (Үлес қосу) сөзі қайтадан садақа алуда ең жақсы жұмыс істеді — логика бойынша, адам бұрын «садақа берген» болса да, әрқашан көбірек «үлес қоса» алады. Және барлық жағдайда, науқан тобын таңғалдырғаны — Обама отбасының қарапайым ақ-қара фотосуреті команда ойлап тапқан кез келген басқа фотосуреттен немесе видеодан асып түсті. Осы тәуелсіз оңтайландырулардың жиынтық әсері орасан зор болды.
Егер сіз соңғы онжылдықта интернетті мүлдем қолданған болсаңыз, онда сіз біреудің зерттеу/пайдалану (explore/exploit) мәселесінің бір бөлігі болдыңыз. Компаниялар өздеріне ең көп ақша әкелетін нәрселерді тапқысы келеді және сонымен бірге мүмкіндігінше көп табыс тапқысы келеді — зерттеу және пайдалану. Amazon және Google сияқты ірі технологиялық фирмалар 2000 жылдардан бастап өз пайдаланушыларына тікелей А/В тесттерін жүргізе бастады, ал кейінгі жылдары интернет әлемдегі ең үлкен бақыланатын экспериментке айналды. Бұл компаниялар нені зерттеп, нені пайдаланып жатыр? Бір сөзбен айтқанда — сізді: сізді тінтуірді қозғалтуға және әмияныңызды ашуға не итермелесе, соны зерттейді.
Компаниялар өз сайттарының навигациясын, маркетингтік электрондық хаттарының тақырыбы мен уақытын, кейде тіпті нақты функциялары мен бағаларын А/В тестілеуден өткізеді. «Бір ғана» Google іздеу алгоритмі немесе «бір ғана» Amazon төлем жүйесінің орнына, қазір сансыз және ақылға сыймайтын нәзік вариациялар бар. (Google 2009 жылы өзінің бір құралдар панелі үшін көк түстің қырық бір реңкін тексергенімен аты шыққан болатын. ) Кейбір жағдайларда кез келген екі пайдаланушының бірдей тәжірибе алуы екіталай.
Facebook-тағы Мәліметтер тобының бұрынғы менеджері, деректер маманы Джефф Хаммербахер бірде Bloomberg Businessweek-ке былай деді: «Менің буынымның ең үздік саналары адамдарды жарнамаға қалай бастыру керектігін ойлап жүр». Бұл бит-буын үшін Аллен Гинзбергтің өлмес «Мен өз буынымның ең үздік саналарының есінен алжасып құрығанын көрдім» деген сөзі қандай болса, миллениалдар үшін сондай «Ұлы» (Howl) болды. Хаммербахер бұл жағдайды «сұмдық» (sucks) деп бағалады. Бірақ бұған қалай қарасаңыз да, веб-кеңістік «басу» (click) туралы тәжірибелік ғылымға жол ашты, мұндай мүмкіндікті бұрынғы маркетологтар тіпті армандаған да емес еді.
Әрине, 2008 жылғы сайлауда Обаманың не болғанын білеміз. Бірақ оның аналитика жөніндегі директоры Дэн Сирокермен не болды? Инаугурациядан кейін Сирокер батысқа, Калифорнияға оралды және Google-дағы әріптесі Пит Куменмен бірге Optimizely веб-сайтты оңтайландыру фирмасын құрды. 2012 жылғы президенттік сайлау кезеңінде олардың компаниясы клиенттерінің қатарында Обаманың қайта сайлану науқаны да, республикашыл қарсыласы Митт Ромнидің науқаны да болды.
Алғашқы сынақтардан кейін он жыл ішінде А/В тестілеу бұдан былай жасырын қару болмай қалды. Ол онлайн-бизнес пен саясат жүргізудің ажырамас бөлігіне айналғаны сонша, оны үйреншікті жағдай ретінде қабылдайтын болдық. Келесі жолы браузеріңізді ашқанда, сіз көріп отырған түстер, суреттер, мәтіндер, мүмкін тіпті бағалар — және әрине жарнамалар — сіздің басуларыңызға бейімделетін «зерттеу/пайдалану» алгоритмінен шыққанына сенімді бола аласыз. Осы нақты «көп қолды бандит» мәселесінде сіз ойыншы емессіз; сіз — джекпотсыз.
А/В тестілеу процесінің өзі уақыт өте келе жетіле түсті. Ең классикалық А/В құрылымы — трафикті екі нұсқа арасында тең бөлу, тестіні белгіленген уақыт ішінде жүргізу және содан кейін бүкіл трафикті жеңімпазға беру — бұл мәселені шешудің ең жақсы алгоритмі болмауы мүмкін, өйткені бұл тест жалғасып жатқанда пайдаланушылардың жартысы нашар нұсқаны алуға мәжбүр дегенді білдіреді. Ал жақсырақ тәсілді табудың сыйы өте жоғары болуы мүмкін. Қазіргі уақытта Google-дың шамамен 50 миллиард долларлық жылдық табысының 90%-дан астамы ақылы жарнамадан түседі, ал онлайн-коммерция жылына жүздеген миллиард долларды құрайды. Бұл дегеніміз, «зерттеу/пайдалану» алгоритмдері экономикалық және технологиялық тұрғыдан интернеттің айтарлықтай бөлігін қозғалысқа келтіреді. Қай алгоритмді қолдану керектігі әлі күнге дейін қызу пікірталас тудыруда: қарсылас статистиктер, инженерлер мен блогерлер әрбір мүмкін болатын бизнес сценарийінде зерттеу мен пайдалануды теңгерімдеудің оңтайлы жолы туралы шексіз таласуда.
«Зерттеу/пайдалану» мәселесінің түрлі нұсқалары арасындағы нақты айырмашылықтарды талқылау тым күрделі әрі түсініксіз көрінуі мүмкін. Шындығында, бұл айырмашылықтардың маңызы өте зор — және мұнда тек президенттік сайлаулар мен интернет экономикасы ғана емес, сонымен бірге адам өмірі де бәске тігілген.
Клиникалық сынақтардың сынағы
1932 және 1972 жылдар аралығында Алабама штатының Мэйкон округінде мерезбен (сифилис) ауыратын бірнеше жүз афроамерикалық ер адам АҚШ Қоғамдық денсаулық сақтау қызметінің «Таскиги мерез зерттеуі» деп аталатын қырық жылдық эксперименті аясында медицина мамандары тарапынан әдейі емделмеді. 1966 жылы Қоғамдық денсаулық сақтау қызметінің қызметкері Питер Бакстун наразылық білдірді. Ол 1968 жылы екінші рет наразылық түсірді. Бірақ ол бұл оқиғаны баспасөзге жариялағаннан кейін ғана (ол 1972 жылы 25 шілдеде Washington Star басылымында жарық көрді және келесі күні New York Times-тың басты жаңалығы болды) АҚШ үкіметі зерттеуді тоқтатты.
Қоғамдық наразылық пен одан кейінгі конгресстегі тыңдаулардан кейін медициналық этиканың принциптері мен стандарттарын ресімдеу бастамасы көтерілді. Мэриленд штатындағы Белмонт конференция орталығында өткен комиссияның нәтижесінде 1979 жылы Белмонт есебі (медициналық зерттеулердегі этикалық принциптер жиынтығы) деп аталатын құжат пайда болды. Белмонт есебі медициналық эксперименттерді этикалық тұрғыдан жүргізудің негізін қалайды, сонда Таскиги эксперименті сияқты — медицина мамандарының пациенттер алдындағы міндетін өрескел, әрі орынсыз бұзуы — ешқашан қайталанбауы тиіс. Бірақ ол сондай-ақ көптеген басқа жағдайларда шекараның қай жерде жүргізілуі керектігін анықтаудың қиындығын да атап өтеді.
«Гиппократтың "зиян тигізбе" деген нақылы бұрыннан медициналық этиканың іргелі принципі болып келеді», — деп көрсетілген есепте. «[Физиолог] Клод Бернар оны зерттеу саласына дейін кеңейтіп, басқаларға тиетін пайдаға қарамастан, бір адамға зақым келтірмеу керек екенін айтты. Дегенмен, тіпті зияннан аулақ болу үшін ненің зиянды екенін білу керек; ал осы ақпаратты алу процесінде адамдар зиян шегу қаупіне ұшырауы мүмкін».
Осылайша, Белмонт есебі ең жақсы білімге сүйеніп әрекет ету мен көбірек білім жинау арасындағы қайшылықты мойындайды, бірақ оны шешпейді. Ол сондай-ақ білім жинаудың құндылығы соншалық, қалыпты медициналық этиканың кейбір аспектілері тоқтатылуы мүмкін екенін анықтайды. Жаңа дәрілер мен емдеу әдістерін клиникалық сынақтан өткізу, тіпті сол қауіпті азайту үшін қадамдар жасалса да, жиі кейбір пациенттердің денсаулығын қатерге тігуді талап етеді.
Игілік (beneficence – пациентке пайда әкелу) принципі әрқашан анық бола бермейді. Мысалы, [балалар аурулары бойынша] зерттеулер туралы қиын этикалық мәселе бар, ол қатысушы балаларға тікелей пайда әкелмей, минималдыдан жоғары қауіп төндіреді. Кейбіреулер мұндай зерттеулерге жол берілмейді деп есептесе, басқалары бұл шектеу болашақта балаларға үлкен пайда әкелетін көптеген зерттеулерді жоққа шығаратынын айтады. Мұнда да, барлық күрделі жағдайлардағыдай, игілік принципімен қамтылған әртүрлі талаптар қақтығысқа түсіп, қиын таңдау жасауға мәжбүрлеуі мүмкін.
Белмонт есебінен кейінгі онжылдықтарда туындаған іргелі сұрақтардың бірі — клиникалық сынақтарды жүргізудің стандартты тәсілі пациенттер үшін қауіпті шынымен азайта ма? Әдеттегі клиникалық сынақта пациенттер топтарға бөлінеді және әр топқа зерттеу барысында әртүрлі емдеу әдісі тағайындалады. (Тек ерекше жағдайларда ғана сынақ мерзімінен бұрын тоқтатылады. ) Бұл процедура сынақтың өзінде әр пациентке ең жақсы емді ұсынуға емес, қай емнің жақсы екендігі туралы сұрақты нақты шешуге бағытталған. Осылайша, ол веб-сайттың А/В тесті сияқты жұмыс істейді: эксперимент кезінде адамдардың белгілі бір бөлігі кейінірек нашар екені дәлелденетін тәжірибені алады. Бірақ дәрігерлер де, технологиялық компаниялар сияқты, сынақ жүріп жатқанда қай нұсқаның жақсы екені туралы ақпарат жинайды — бұл ақпаратты тек сынақтан кейінгі болашақ пациенттер үшін емес, қазіргі уақытта сынаққа қатысып жатқан пациенттердің жағдайын жақсарту үшін де қолдануға болады.
Веб-сайттың оңтайлы конфигурациясын табуға арналған эксперименттерде миллиондаған доллар бәске тігілсе, клиникалық сынақтарда оңтайлы емдеу әдістерін табу үшін эксперимент жасау тікелей өмір мен өлім мәселесіне айналады. Дәрігерлер мен статистиктердің өсіп келе жатқан қауымдастығы біз мұны дұрыс жасамай жатырмыз деп есептейді: біз емдеу әдістерін таңдауды «көп қолды бандит» мәселесі ретінде қарастыруымыз керек және эксперимент жүріп жатқан кезде де адамдарға жақсырақ емдеу әдістерін беруге тырысуымыз керек.
1969 жылы қазір Гарвардта жұмыс істейтін биостатистик Марвин Зелен «бейімделмелі» (adaptive) сынақтарды өткізуді ұсынды. Ол ұсынған идеялардың бірі кездейсоқ «жеңімпазбен ойнау» (play the winner) алгоритмі болды — бұл «Win-Stay, Lose-Shift» алгоритмінің нұсқасы, онда белгілі бір емді қолдану мүмкіндігі әрбір сәтті нәтижеден кейін артып, әрбір сәтсіздіктен кейін азаяды. Зеленнің процедурасында сіз зерттеліп жатқан екі емдеу нұсқасының әрқайсысы үшін бір-бір шар салынған шляпадан бастайсыз. Бірінші пациентті емдеу әдісі шляпадан кездейсоқ шар алу арқылы таңдалады (шар кейін қайтадан салынады). Егер таңдалған ем сәтті болса, сіз шляпаға сол емнің тағы бір шарын саласыз — енді сізде үш шар бар, оның екеуі сәтті емге арналған. Егер ол сәтсіз болса, онда сіз шляпаға басқа емнің шарын саласыз, бұл балама нұсқаны таңдау ықтималдығын арттырады.
Зеленнің алгоритмі клиникалық сынақта алғаш рет он алты жылдан кейін, сәбилердегі тыныс алу жеткіліксіздігін емдеудің батыл әдісі — экстракорпоралдық мембраналық оксигенация немесе «ЭКМО» (өкпе қызметін атқарып, қанды денеден тыс оттегімен байытатын әдіс) зерттеуі үшін қолданылды. 1970 жылдары Мичиган университетінің қызметкері Роберт Бартлетт әзірлеген ЭКМО өкпеге баратын қанды алып, оны дененің сыртына бағыттайды, онда қан аппарат арқылы оттегімен байытылып, жүрекке қайтарылады. Бұл өзіндік қауіп-қатері бар (соның ішінде эмболия мүмкіндігі) шұғыл шара, бірақ ол басқа ешқандай нұсқа қалмаған жағдайларда мүмкін болатын тәсілді ұсынды. 1975 жылы ЭКМО Калифорния штатының Оранж округіндегі жаңа туған нәрестенің өмірін сақтап қалды, ол үшін тіпті жасанды тыныс алу аппараты да жеткілікті оттегі бере алмаған еді. Ол қыз қазір қырық жасқа толып, тұрмысқа шыққан және өз балалары бар. Бірақ алғашқы күндері ЭКМО технологиясы мен процедурасы өте тәжірибелік деп саналды және ересектердегі алғашқы зерттеулер дәстүрлі емдеу әдістерімен салыстырғанда ешқандай артықшылық көрсетпеді.
1982 жылдан 1984 жылға дейін Бартлетт пен оның Мичиган университетіндегі әріптестері тыныс алу жеткіліксіздігі бар жаңа туған нәрестелерге зерттеу жүргізді. Топ өздері айтқандай «дәлелденбеген, бірақ өмірді сақтап қалуы мүмкін емді бермеудің этикалық мәселесін» шешкісі келді және «жай ғана дәстүрлі кездейсоқ тағайындау техникасына сәйкес келу үшін пациенттерден өмірді сақтайтын емді аяп қалуға ниетті болмады». Сондықтан олар Зеленнің алгоритміне жүгінді. Бұл стратегияның нәтижесінде бір нәрестеге «дәстүрлі» ем тағайындалып, ол шетінеп кетті, ал он бір нәрестеге қатарынан ЭКМО емі тағайындалып, олардың барлығы аман қалды. 1984 жылдың сәуірі мен қарашасы аралығында, ресми зерттеу аяқталғаннан кейін, тағы он нәресте ЭКМО еміне сәйкес келді. Сегізі ЭКМО-мен емделіп, сегізі де аман қалды. Екеуі дәстүрлі әдіспен емделіп, екеуі де шетінеп кетті.
Бұл таңғалдырарлық цифрлар, бірақ Мичиган университетінің ЭКМО бойынша зерттеуі аяқталғаннан кейін көп ұзамай ол дау-дамайға ұласты. Сынақта дәстүрлі ем алатын пациенттердің аз болуы стандартты методологиядан айтарлықтай ауытқу болды, сонымен қатар процедураның өзі өте инвазивті және қауіпті болуы мүмкін еді. Мақала жарияланғаннан кейін, Гарвард қоғамдық денсаулық сақтау мектебінің биостатистика профессоры Джим Уэйр және оның медициналық әріптестері деректерді мұқият зерттеп, олар «қосымша зерттеусіз ЭКМО-ны күнделікті қолдануды ақтамайды» деген қорытындыға келді. Сондықтан Уэйр мен оның әріптестері білім алу мен пациенттерді тиімді емдеу арасындағы теңгерімді сақтауға тырысатын, бірақ радикалды емес дизайнды қолданатын екінші клиникалық сынақты жоспарлады. Олар топтардың бірінде өлім-жітімнің белгіленген саны байқалғанға дейін пациенттерді ЭКМО-ға немесе дәстүрлі емге кездейсоқ бөледі. Содан кейін олар зерттеудегі барлық пациенттерді екі емнің ең тиімдісіне ауыстырады.
Уэйр зерттеуінің бірінші кезеңінде дәстүрлі ем алған он нәрестенің төртеуі шетінеп кетті, ал ЭКМО алған тоғыз нәрестенің тоғызы да аман қалды. Төрт өлім екінші кезеңге көшуді бастау үшін жеткілікті болды, онда жиырма пациенттің барлығы ЭКМО-мен емделіп, он тоғызы аман қалды. Уэйр мен оның әріптестері: «бұдан әрі кездейсоқ бөлуді этикалық тұрғыдан қорғау қиын» деген қорытындыға келді.
Бірақ кейбіреулер бұл қорытындыны Уэйр зерттеуіне дейін-ақ жасаған болатын және бұл туралы ашық айтты. Сыншылардың қатарында «көп қолды бандиттер» бойынша әлемдегі жетекші мамандардың бірі Дон Берри болды. Statistical Science журналында Уэйр зерттеуімен бірге жарияланған пікірінде Берри былай деп жазды: «Уэйр зерттеуіндегідей пациенттерді ЭКМО емес терапияға кездейсоқ бөлу этикаға жатпайтын еді... Менің ойымша, Уэйр зерттеуі жүргізілмеуі керек еді».
Соған қарамастан, тіпті Уэйр зерттеуі де медициналық қоғамдастықтың бәрі үшін сенімді болған жоқ. 1990 жылдары Ұлыбританияда тағы бір ЭКМО зерттеуі жүргізіліп, оған екі жүзге жуық нәресте қатысты. Бейімделмелі алгоритмдерді қолданудың орнына, бұл зерттеу дәстүрлі әдістерді қолданып, нәрестелерді кездейсоқ екі тең топқа бөлді. Зерттеушілер экспериментті ЭКМО-ның пайдасы «қолда бар дәлелдердің әртүрлі түсіндірілуіне байланысты даулы» деп ақтады. Анықталғандай, емдеу әдістері арасындағы айырмашылық Ұлыбританияда екі американдық зерттеудегідей айқын болған жоқ, бірақ нәрестелерді ЭКМО-мен қолдау саясаты «өлім қаупін азайтады деген алдыңғы алдын ала тұжырымдарға сәйкес келеді» деп жарияланды. Сол білімнің құны қандай болды? «Дәстүрлі» топта ЭКМО емін алған топқа қарағанда жиырма төрт нәресте артық шетінеп кетті.
Бейімделмелі клиникалық сынақтардың нәтижелерін қабылдаудағы кең таралған қиындық түсініксіз көрінуі мүмкін. Бірақ статистиканың пайда болуы жиырмасыншы ғасырдың басында медицина үшін не істегенін ескеріңіз: ол медицинаны дәрігерлер бір-бірін әрбір жаңа ем туралы жеке-жеке көндіруі тиіс саладан, қандай дәлелдердің сенімді немесе сенімсіз екендігі туралы нақты нұсқаулары бар салаға айналдырды. Қабылданған стандартты статистикалық тәжірибеге өзгерістер енгізу бұл тепе-теңдікті, кем дегенде уақытша, бұзуы мүмкін.
ЭКМО төңірегіндегі дау-дамайдан кейін Дон Берри Миннесота университетінің статистика бөлімінен Хьюстондағы М. Д. Андерсон онкологиялық орталығына ауысты, онда ол обырды емдеудің түрлі әдістеріне арналған клиникалық сынақтарды жобалау үшін «көп қолды бандиттерді» зерттеу арқылы әзірленген әдістерді қолданды. Ол кездейсоқ клиникалық сынақтардың ең көрнекті сыншыларының бірі болып қалса да, ол жалғыз емес. Соңғы жылдары ол күресіп келе жатқан идеялар ақыры негізгі ағымға ене бастады. 2010 жылдың ақпанында FDA (АҚШ-тың Азық-түлік және дәрі-дәрмек сапасын бақылау басқармасы) «Дәрілік заттар мен биологиялық өнімдерге арналған бейімделмелі дизайнды клиникалық сынақтар» атты нұсқаулық құжатын шығарды, бұл олардың ақыры балама нұсқаларды зерттеуге дайын болуы мүмкін екенін көрсетеді.
Мазасыз әлем
Олармен танысқаннан кейін, «көп қолды бандиттерді» біз кездесетін кез келген жерден көру оңай. Біз нәтижесі болашақта басқа шешімдер қабылдау үшін қолданылатын ақпарат бермейтін оқшауланған шешімді сирек қабылдаймыз. Сондықтан, оңтайлы тоқтау мәселесіндегідей, адамдардың бұл мәселелерді жалпы қаншалықты жақсы шешетінін сұрау орынды — бұл сұрақты психологтар мен мінез-құлық экономистері зертханаларда кеңінен зерттеген болатын.
Жалпы алғанда, адамдар тым көп зерттеуге (over-explore) — жақсы нәтижеге қарағанда, жаңа нәрсеге шамадан тыс басымдық беруге бейім сияқты. Осы құбылыстың қарапайым дәлелі ретінде 1966 жылы жарияланған зерттеуде Амос Тверски мен Уорд Эдвардс тәжірибе жүргізді. Қатысушыларға екі шамы бар қорап көрсетіліп, әр шамның белгілі бір (бірақ белгісіз) уақыт пайызында жанатыны айтылды. Оларға 1000 мүмкіндік берілді: не қай шамның жанғанын бақылау, не нәтижені көрмей-ақ бәс тігу. (Әдеттегі «бандит» мәселесінен айырмашылығы, мұнда бір уақытта әрі бәс тігіп, әрі бақылау жасау мүмкін емес еді; қатысушылар бәстерінің ұтқан-ұтпағанын тек соңында ғана біле алды). Бұл — таза зерттеу мен пайдалану (exploration vs. exploitation) текетіресі, мұнда ақпарат жинау мен оны қолдану тікелей бетпе-бет келеді. Көп жағдайда адамдар қисынды стратегияны ұстанды: біраз уақыт бақылап, содан кейін ең жақсы болып көрінген шамға бәс тікті. Бірақ олар бақылауға тиісті уақыттан әлдеқайда көп уақыт жұмсады. Қаншалықты көп? Бір тәжірибеде бір шам 60%, ал екіншісі 40% жағдайда жанды — бұл айырмашылық тым айқын да, тым көмескі де емес еді. Бұл жағдайда адамдар орташа есеппен 505 рет бақылауды таңдап, қалған 495 ретте бәс тіккен. Бірақ математикалық есептеулер олардың небәрі 38 бақылаудан кейін бәс тігуге көшуі керек екенін көрсетті — сонда ұтыс алу үшін 962 мүмкіндік қалар еді.
Басқа зерттеулер де ұқсас қорытындыларға келді. 1990 жылдары Уортон зерттеушілері Роберт Мейер мен Йонг Ши адамдарға екі нұсқаның арасында таңдау жасауды ұсынды: бірінің ұтыс ықтималдығы белгілі, екіншісінікі белгісіз. Нақтырақ айтсақ, бұл екі әуе компаниясы еді: бірі — ұшу кестесін сақтау көрсеткіші белгілі ескі тасымалдаушы, екіншісі — әлі тарихы қалыптаспаған жаңа компания. Белгілі бір уақыт аралығында уақытылы жету санын барынша арттыру мақсаты қойылса, математикалық тұрғыдан оңтайлы стратегия — ескі компания анық жақсы болғанға дейін, бастапқыда тек жаңа әуе компаниясымен ұшу. Егер кез келген сәтте танымал тасымалдаушының жақсы екені белгілі болса — яғни жаңа нұсқаның Гиттинс индексі (белгісіз нұсқаның болашақтағы әлеуетті құндылығын бағалайтын көрсеткіш) танымал тасымалдаушының көрсеткішінен төмен түссе — онда біржола танымал компанияға ауысып, ешқашан артқа қарамау керек. (Бұл жағдайда жаңа компаниямен ұшуды тоқтатқаннан кейін ол туралы қосымша ақпарат ала алмайтындықтан, оның өзін ақтауға мүмкіндігі болмайды). Бірақ тәжірибеде адамдар жаңа әуе компаниясы жақсы болғанда оны тым аз, ал нашар болғанда тым көп пайдалануға бейім болды. Сондай-ақ олар одан біржола қол үзбей, әсіресе екі компания да кешіккен кезде, екеуін кезектестіруді жалғастырды. Мұның бәрі тым көп зерттеуге (over-explore) бейімділікті растайды.
Сонымен қатар, психологтар Марк Стейверс, Майкл Ли және Э. -Дж. Вагенмейкерс төрт қолды бандитпен тәжірибе жүргізіп, бір топ адамнан он бес мүмкіндік ішінде қай тұтқаны таңдайтынын сұрады. Содан кейін олар қатысушылардың стратегияларын жіктеді. Нәтижелер көрсеткендей, 30%-ы оңтайлы стратегияға жақын болды, 47%-ы «Ұтсаң — қал, ұтылсаң — ауыс» (Win-Stay, Lose-Shift — алдыңғы нәтижеге сүйеніп шешім қабылдау стратегиясы) әдісіне ұқсады, ал 22%-ы жаңа тұтқаны таңдау мен осы уақытқа дейінгі ең жақсы тұтқада ойнаудың арасында кездейсоқ ауысып отырды. Бұл да артық зерттеуге бейімділікті көрсетеді, өйткені «Ұтсаң — қал, ұтылсаң — ауыс» стратегиясы мен кездейсоқ таңдау адамдарды ойынның соңында, яғни тек қана ең жақсы нұсқаны пайдалану (exploit) керек кезде де басқа нәрселерді байқап көруге итермелейді.
Сонымен, біз жаңа хатшыға тым ерте байлансақ, жаңа әуе компанияларын байқап көруді тым кеш тоқтататын сияқтымыз. Бірақ хатшысыз қалудың өз шығыны болса, белгілі бір әуе компаниясына тым ерте байланудың да өз бағасы бар: әлем өзгеруі мүмкін.
Стандартты «көп қолды бандит» мәселесі тұтқалардың ұтыс беру ықтималдығы уақыт өте келе өзгермейді деп есептейді. Бірақ бұл әуе компанияларына, мейрамханаларға немесе адамдар қайталанбалы таңдау жасауға тиіс басқа да жағдайларға әрдайым тән емес. Егер әртүрлі нұсқалардың ұтыс ықтималдығы уақыт өте келе өзгерсе — бұл «мазасыз бандит» (restless bandit) деп аталады — мәселе әлдеқайда күрделене түседі. (Шын мәнінде, бұл соншалықты күрделі, оны толық шешуге арналған тиімді алгоритм жоқ және ешқашан болмайды деп есептеледі). Күрделіліктің бір себебі — бұл енді тек «біраз зерттеп, содан кейін пайдалану» мәселесі емес: әлем өзгермелі болғанда, зерттеуді жалғастыру дұрыс таңдау болуы мүмкін. Бірнеше жылдан бері бармаған көңілден шықпаған мейрамханаға тағы бір барып көрудің мәні бар, мүмкін ол жердің басшылығы ауысқан болар.
Генри Дэвид Торо өзінің әйгілі «Серуендеу» (Walking) эссесінде саяхатты үйінің маңында жасағанды қалайтыны, өз айналасынан ешқашан жалықпайтыны және Массачусетс пейзажынан әрдайым жаңа немесе таңғаларлық нәрсе табатыны туралы толғанады. «Шын мәнінде, он миль радиустағы пейзаж мүмкіндіктері немесе түстен кейінгі серуен шегі мен адам өмірінің жетпіс жылы арасында бір үйлесімділік бар», — деп жазды ол. «Ол сізге ешқашан толықтай таныс болып кетпейді».
Мазасыз әлемде өмір сүру адамнан белгілі бір мазасыздықты талап етеді. Дүние өзгеріп тұрғанда, сіз зерттеуді ешқашан толық тоқтатпауыңыз керек.
Солай болса да, «көп қолды бандит» мәселесінің стандартты нұсқасы үшін жетілдірілген алгоритмдік әдістер мазасыз әлемде де пайдалы. Гиттинс индексі мен Сенімділіктің жоғарғы шегі (Upper Confidence Bound) сияқты стратегиялар, әсіресе ұтыстар уақыт өте келе қатты өзгермесе, жақсы жуықталған шешімдер мен тиімді ережелерді ұсынады. Бүгінгі таңда әлемдегі көптеген ұтыс түрлері бұрынғыға қарағанда тұрақтырақ деуге болады. Жидек алқабы осы аптада пісіп, келесі аптада шіріп кетуі мүмкін, бірақ Энди Уорхол айтқандай: «Кола — бұл кола». Үнемі өзгеріп тұратын әлемге эволюция арқылы бейімделген инстинкттер индустриялық стандарттау дәуірінде әрдайым пайдалы бола бермейді.
Ең бастысы, «көп қолды бандит» мәселесінің оңтайлы шешімі бар нұсқалары туралы ойлау тек алгоритмдерді ғана емес, сонымен қатар терең түсініктерді де ұсынады. Осы мәселенің классикалық формасынан туындаған ұғымдар — зерттеу/пайдалану шиеленісі, аралықтың маңыздылығы, «0–0» нұсқасының жоғары құндылығы, өкінішті (таңдалған шешім мен ең жақсы мүмкін шешім арасындағы айырмашылық) барынша азайту — алдымызда тұрған нақты мәселелерді ғана емес, бүкіл адам өмірінің бағытын жаңаша түсінуге көмектеседі.
Зерттеу …
Зертханалық зерттеулер көп нәрсені түсіндіргенімен, адамдар бетпе-бет келетін ең маңызды мәселелердің уақыт аралығы зертханада зерттеу үшін тым ұзақ. Айналамыздағы әлемнің құрылымын тану және тұрақты әлеуметтік қарым-қатынастар орнату — бұл өмір бойы жалғасатын міндеттер. Сондықтан ерте кезеңдегі зерттеу мен кейінгі кезеңдегі пайдаланудың жалпы заңдылығы бүкіл өмір барысында қалай көрініс табатынын көру өте тағылымды.
Кез келген даму психологы түсінуге және түсіндіруге тырысатын адам баласына тән қызықты жайттардың бірі — біздің құзыретті әрі тәуелсіз болуымыз үшін көптеген жылдар қажет екендігі. Бұғылар мен қарақұйрықтар туған күнінен бастап жыртқыштардан қашуға дайын болуы керек, бірақ адамдарға алғашқы қадамдарын жасау үшін бір жылдан астам уақыт қажет. Берклидегі Калифорния университетінің даму психологиясы профессоры және «Бесіктегі ғалым» (The Scientist in the Crib) кітабының авторы Элисон Гопниктің адамдардағы мұндай ұзақ тәуелділік кезеңіне қатысты өз түсіндірмесі бар: «Бұл сізге зерттеу/пайдалану мәселесін шешудің даму жолын береді». Көріп отырғанымыздай, «көп қолды бандиттермен» ойнауға арналған жақсы алгоритмдер ерте кезеңде көбірек зерттеуге, ал жиналған білімді кейінірек пайдалануға бейім. Бірақ Гопник атап өткендей, «мұның кемшілігі — зерттеу кезеңінде жақсы ұтысқа ие болмайсыз». Осы жерде балалық шақ көмекке келеді: «Балалық шақ сізге тек мүмкіндіктерді зерттей алатын кезеңді береді, мұнда нәтиже туралы уайымдаудың қажеті жоқ, өйткені бұл туралы аналар мен әкелер, әжелер мен бала күтушілер қамқорлық жасайды».
Балаларды өмір бойғы алгоритмнің өтпелі зерттеу кезеңінде деп қабылдау мектеп жасына дейінгі балалары бар ата-аналарға аздап жұбаныш болуы мүмкін. (Томның мектеп жасына дейінгі өте зерттеуші екі қызы бар және ол оларды «өкініші аз» алгоритмді ұстанады деп үміттенеді). Сонымен қатар, бұл балалардың рационалдылығы туралы жаңа түсінік береді. Гопник былай дейді: «Егер адамдардың балалар туралы ойлау тарихына қарасаңыз, олар әдетте балаларды когнитивтік тұрғыдан жетілмеген деп есептейді — өйткені олардың нәтиже шығару (exploit) қабілетіне қарасаңыз, олар нашар көрінеді. Олар аяқ киімдерінің бауын байлай алмайды, ұзақ мерзімді жоспарлауға қабілетсіз, назар аударуды білмейді. Бұлар — балалар шынымен де нашар істейтін нәрселер». Бірақ батырмаларды кездейсоқ басу, жаңа ойыншықтарға қатты қызығу және бір нәрседен екіншісіне тез ауысу — мұның бәрін балалар керемет істейді. Және бұл дәл олардың мақсаты зерттеу болған жағдайда істеуі керек нәрселері. Егер сіз сәби болсаңыз, үйдегі әрбір затты аузыңызға салу — бұл казинодағы барлық тұтқаларды мұқият тартып көрумен бірдей.
Жалпы алғанда, біздің рационалдылық туралы түйсігіміз зерттеуден (exploration) гөрі пайдалануға (exploitation) көбірек негізделген. Біз шешім қабылдау туралы сөйлескенде, әдетте бір шешімнің тікелей нәтижесіне назар аударамыз — егер сіз әрбір шешімге соңғы шешіміңіз сияқты қарасаңыз, онда шынымен де тек пайдаланудың (exploitation) мәні бар. Бірақ өмір бойы сіз көптеген шешімдер қабылдайсыз. Және көптеген таңдаулар үшін, әсіресе өмірдің ерте кезеңінде, зерттеуге — жақсыдан гөрі жаңаға, қауіпсізден гөрі қызықтыға, ойластырылғаннан гөрі кездейсоққа басымдық беру шын мәнінде рационалды болып табылады.
Біз балалардың қыңырлығы деп қабылдайтын нәрсе, біз білгеннен де ақылдырақ болуы мүмкін.
… Және пайдалану
Мен оқу өмірімде көпшілікке таныс бір қиылысқа келдім: жер бетінде маған берілген уақыт ішінде жаңа кітаптарды көбірек оқуым керек пе, әлде бұл бос тұтынуды — бос, өйткені ол шексіз — тоқтатып, өткенде маған ең зор ләззат сыйлаған кітаптарды қайталап оқуды бастауым керек пе? — ЛИДИЯ ДЭВИС
Кішкентай балаларға қарама-қарсы шектен біз қарттарды көреміз. Қартаю мәселесіне зерттеу/пайдалану дилеммасы тұрғысынан қарау да уақыт өте келе өміріміздің қалай өзгеретіні туралы таңғаларлық түсініктер береді.
Стэнфорд университетінің психология профессоры Лора Карстенсен өз мансабын қартаю туралы біздің алдын ала қалыптасқан түсініктерімізге күмән келтіруге арнады. Әсіресе, ол адамдар қартайған сайын әлеуметтік қарым-қатынастарының қалай және неліктен өзгеретінін зерттеді. Негізгі заңдылық анық: адамдардың әлеуметтік ортасының көлемі (яғни, олар араласатын адамдар саны) уақыт өте келе азаяды. Бірақ Карстенсеннің зерттеуі бұл құбылысқа деген көзқарасымызды өзгертті.
Қарттардың әлеуметтік ортасының кішіреюіне қатысты дәстүрлі түсіндірме — бұл қартаюмен бірге келетін өмір сапасының төмендеуінің бір мысалы: әлеуметтік қарым-қатынасқа үлес қосу қабілетінің азаюы, әлсіздік және қоғамнан жалпы алшақтау нәтижесі. Бірақ Карстенсен қарттардың әлеуметтік қарым-қатынастарының азаюы олардың өз таңдауы екенін дәлелдеді. Оның айтуынша, бұл қысқарулар — «адамдардың әлеуметтік және эмоционалдық пайданы барынша арттыру және әлеуметтік әрі эмоционалдық тәуекелдерді азайту үшін өз әлеуметтік желілерін стратегиялық және бейімді түрде қалыптастыруының, яғни өмір бойғы іріктеу процестерінің нәтижесі».
Карстенсен мен оның әріптестері қартайған сайын әлеуметтік ортаның тарылуы, ең алдымен, екінші дәрежелі қарым-қатынастарды «кесіп тастау» және назарды жақын достар мен отбасы мүшелеріне аудару екенін анықтады. Бұл процесс саналы таңдау сияқты көрінеді: адамдар өмірінің соңына жақындаған сайын, ең мағыналы байланыстарға көбірек көңіл бөлгісі келеді.
Осы гипотезаны тексеретін тәжірибеде Карстенсен мен оның әріптесі Барбара Фредриксон адамдардан отыз минутын кіммен өткізгісі келетінін таңдауды сұрады: жақын отбасы мүшесімен бе, жақында оқыған кітаптың авторымен бе, әлде жақында ғана танысқан, мүдделері ұқсас адаммен бе? Қарт адамдар отбасы мүшесін таңдады; жастар болса автормен кездесуге немесе жаңа дос табуға бірдей қызықты. Бірақ маңызды сәт: егер жастардан жақын арада елдің екінші шетіне көшетінін елестетуді сұраса, олар да отбасы мүшесін таңдады. Басқа бір зерттеуде Карстенсен мен оның әріптестері кері нәтижені де тапты: егер қарт адамдарға медициналық серпіліс олардың тағы жиырма жыл өмір сүруіне мүмкіндік беретінін елестету ұсынылса, олардың таңдауы жастардыкінен айырмасыз болды. Мәселе мынада: әлеуметтік таңдаудағы бұл айырмашылықтар қартаюдың өзінде емес, адамдардың өз шешімдеріне қатысты уақыт аралығының қай жерінде тұрғанын сезінуінде.
Қанша уақытыңыз қалғанына сезімтал болу — бұл зерттеу/пайдалану дилеммасының компьютерлік ғылымы ұсынатын нәрсе. Біз жастарды құбылмалы, ал қарттарды өз әдетіне берік деп есептейміз. Шын мәнінде, екеуі де өз уақыт аралықтарына қатысты өте орынды әрекет етеді. Әлеуметтік ортаны ең мағыналы қарым-қатынастарға дейін саналы түрде тарылту — олардан ләззат алуға уақыт аз қалғандағы рационалды жауап.
Қарттықты пайдалану (exploitation) кезеңі деп тану қартаюдың кейбір классикалық құбылыстарына жаңа көзқараспен қарауға көмектеседі. Мысалы, колледжге бару — сіз танымайтын адамдарға толы жаңа әлеуметтік орта — әдетте жағымды, қызықты кезең болса, қарттар үйіне бару — сіз танымайтын адамдарға толы жаңа әлеуметтік орта — ауыр болуы мүмкін. Бұл айырмашылық ішінара өміріміздің сол кезеңдерінде зерттеу/пайдалану шкаласының қай жерінде тұрғанымызға байланысты.
Зерттеу/пайдалану теңгерімі бізге үлкендердің кеңесіне қалай қарау керектігін де айтады. Атаңыз сізге қай мейрамханалардың жақсы екенін айтса, оны тыңдауыңыз керек — бұл ондаған жылдар бойғы ізденістен жиналған жауһарлар. Бірақ ол күн сайын кешкі сағат 5-те тек бір мейрамханаға ғана барса, сіз басқа нұсқаларды зерттеуге еріктісіз, тіпті олар нашар болуы мүмкін болса да.
Өмірдің кейінгі кезеңін ондаған жылдар бойы жиналған білімді пайдалану мүмкіндігі ретінде қарастырудан туындайтын ең терең түсінік мынау болуы мүмкін: өмір уақыт өте келе жақсара түсуі керек. Зерттеуші білім үшін ләззатты құрбан етеді. Гиттинс индексі мен Сенімділіктің жоғарғы шегі, біз көргендей, аз танымал нұсқалардың тартымдылығын біз күткеннен де жоғарылатады, өйткені жағымды тосынсыйлар көп рет пайда әкелуі мүмкін. Бірақ сонымен бірге, бұл зерттеудің міндетті түрде көп жағдайда көңіл қайтуға әкелетінін білдіреді. Назарды ең сүйікті нәрселерге аудару өмір сапасын арттыруы тиіс. Және бұл солай сияқты: Карстенсен қарт адамдардың әлеуметтік ортасына көбірек көңілдері толатынын және көбінесе жас ересектерге қарағанда эмоционалдық әл-ауқатының жоғары екенін хабарлайтынын анықтады.
Сонымен, өмір бойғы зерттеулердің жемісін татып, сол кешкі мейрамхананың тұрақты қонағы болуда асыға күтетін көп нәрсе бар.
Егер сен тапқың келетін сөз (а) әрпінен басталса, онда осы кестенің басынан қара, ал егер (v) әрпінен басталса, соңына қарай қара. Тағы да, егер сөзің (ca) әрпінен басталса, (c) әрпінің басынан қара, ал (cu) болса, сол әріптің соңына қарай қара. Қалғандары да солай. т. б. — РОБЕРТ КОДРИ, ӘЛІПБИЛІК КЕСТЕ (1604)
Дэнни Хиллис Thinking Machines корпорациясын құрмас бұрын, өзінің әйгілі Connection Machine параллельді суперкомпьютерін ойлап таппас бұрын, ол MIT студенті еді, жатақханада тұратын және көршісінің шұлықтарынан шошитын.
Хиллисті көптеген студенттерден айырмашылығы, көршісінің гигиенасы шошытқан жоқ. Көршісі шұлықтарды жумайтын емес, жуатын. Мәселе одан кейін не болатынында еді.
Көршісі таза кір себетінен бір шұлықты шығарып алатын. Содан кейін кездейсоқ тағы бір шұлықты шығаратын. Егер ол біріншісіне сәйкес келмесе, оны қайтадан ішіне лақтыратын. Содан кейін осы процесті жалғастырып, біріншісіне жұп тапқанша шұлықтарды бірінен соң бірін шығарып, қайта лақтырып отыратын.
Тек 10 түрлі жұп шұлық болса, осы әдісті қолданғанда бірінші жұпты жинау үшін орташа есеппен 19 рет шұлық тарту керек, ал екіншісін жинау үшін тағы 17 рет тарту керек. Жалпы алғанда, көршісі небәрі 20 шұлықты жұптастыру үшін себетті 110 рет ақтарады деп күтіледі.
Бұл кез келген болашақ компьютер маманының бөлмесін ауыстыруды сұрауына жеткілікті себеп еді.
Шұлықтарды қалай сұрыптау (деректерді белгілі бір реттілікпен орналастыру) керектігі туралы сұрақ компьютер мамандарын таңғаларлық ұзақ сөйлетудің жақсы тәсілі. 2013 жылы Stack Overflow бағдарламалау сайтында жарияланған шұлықтар туралы сұрақ он екі мыңға жуық сөзден тұратын пікірталас тудырды.
«Шұлықтар мені тығырыққа тірейді! » — деп мойындады аңызға айналған криптограф және Тьюринг сыйлығының лауреаты, компьютер маманы Рон Ривест біз осы тақырыпты қозғағанда. Ол сол кезде сандал киіп тұрған еді.
Сұрыптау ләззаты
Сұрыптау — компьютерлер атқаратын жұмыстың өзегі. Шын мәнінде, компьютердің пайда болуына да көп жағынан осы сұрыптау себеп болды.
XIX ғасырдың аяғында Америка халқы әр онжылдықта 30%-ға өсіп отырды, ал АҚШ халық санағындағы «зерттеу нысандарының» саны 1870 жылғы бес нысаннан 1880 жылы екі жүзден астамға дейін өсті. 1880 жылғы санақтың нәтижелерін есептеу сегіз жылға созылды — 1890 жылғы санақ басталғанша әрең аяқталды. Сол кездегі бір жазушы айтқандай, «есеп қағаздарымен алысқан қызметкерлердің ... соқыр болып немесе жынды болып кетпегеніне таңқалу керек». Бүкіл іс-шара өз ауырлығынан күйреу алдында тұрды. Бір нәрсе істеу керек еді.
Сол кездегі тесілген теміржол билеттерінен шабыт алған өнертапқыш Герман Холлерит ақпаратты сақтау үшін тесілген манильдік карталар жүйесін және оларды санау мен сұрыптауға арналған машинаны ойлап тапты, оны Холлерит машинасы деп атады. Холлерит 1889 жылы патент алды, ал үкімет 1890 жылғы санақ үшін Холлерит машинасын қабылдады. Ешкім бұрын-соңды мұндай нәрсені көрмеген еді. Бір таңғалған бақылаушы: «Аппарат құдайлардың диірмені сияқты қатесіз жұмыс істейді, бірақ жылдамдығы жағынан оларды жолда қалдырады», — деп жазды. Алайда басқа біреу бұл өнертабыстың пайдасы шектеулі деп есептеді: «Оны үкіметтерден басқа ешкім қолданбайтындықтан, өнертапқыш қатты байи қоймас». Холлерит қиып алып сақтаған бұл болжам толықтай дұрыс болмады. Холлериттің фирмасы 1911 жылы басқа бірнеше фирмамен бірігіп, Computing-Tabulating-Recording Company болды. Бірнеше жылдан кейін ол атауын өзгертті — International Business Machines немесе IBM.
Сұрыптау келесі ғасырда да компьютердің дамуына серпін беруді жалғастырды. «Сақталатын бағдарлама» компьютері үшін жазылған ең алғашқы код тиімді сұрыптауға арналған бағдарлама болды. Шын мәнінде, компьютердің IBM-нің арнайы карта сұрыптау машиналарынан асып түсу қабілеті АҚШ үкіметін әмбебап машинаға жасалған орасан зор қаржылық инвестицияның ақталғанына сендірді. 1960 жылдарға қарай бір зерттеу әлемдегі есептеу ресурстарының төрттен бірінен астамы сұрыптауға жұмсалатынын есептеді. Бұл таңқаларлық емес — сұрыптау кез келген ақпаратпен жұмыс істеу үшін қажет. Ең үлкенін немесе ең кішісін, ең жиі кездесетінін немесе ең сирегін табу, есептеу, индекстеу, қайталанғандарды белгілеу немесе жай ғана қажетті нәрсені іздеу болсын, олардың бәрі әдетте сұрыптаудан басталады.
Бірақ сұрыптау бұдан да ауқымды. Өйткені нәрселердің сұрыпталуының негізгі себептерінің бірі — оларды адам көзіне пайдалы түрде көрсету, демек, сұрыптау ақпаратты адамның қабылдауы үшін де маңызды. Сұрыпталған тізімдер соншалықты кең таралған, тіпті — «Су деген не? » деп сұрайтын балық сияқты — біз оларды байқау үшін саналы түрде күш салуымыз керек. Сонда ғана біз оларды барлық жерден көреміз.
Біздің электрондық пошта жәшігіміз әдетте мыңдаған хаттардың ішінен қабылданған уақыты бойынша сұрыпталған алғашқы елу хабарламаны көрсетеді. Yelp-тен мейрамхана іздегенде, бізге жақындығы немесе рейтингі бойынша сұрыпталған жүздеген орынның ішінен ең таңдаулы он шақтысы көрсетіледі. Блогта мақалалардың күн бойынша сұрыпталған қысқартылған тізімі шығады. Facebook жаңалықтар таспасы, Twitter ағыны және Reddit басты беті — бәрі де қандай да бір меншікті өлшем бойынша сұрыпталған тізімдер түрінде ұсынылған. Біз Google мен Bing-ті «іздеу жүйелері» деп атаймыз, бірақ бұл сәл қате атау: олар шын мәнінде сұрыптау жүйелері. Google-дың әлемдік ақпаратқа қол жеткізу құралы ретінде соншалықты үстем болуының себебі — оның жүздеген миллион веб-беттердің арасынан мәтінді тауып алуында емес (оның 1990-жылдардағы бәсекелестері де мұны жақсы істей алатын), оның сол веб-беттерді керемет сұрыптап, бізге тек ең өзекті он нәтижені көрсететіндігінде.
Үлкен, сұрыпталған тізімнің қиылған жоғарғы бөлігі көп жағдайда әмбебап пайдаланушы интерфейсі болып табылады.
Компьютерлік ғылым бізге осы жағдайлардың барлығында сахна сыртында не болып жатқанын түсінуге жол ашады. Бұл, өз кезегінде, шоттарымызбен, қағаздарымызбен, кітаптарымызбен немесе шұлықтарымызбен — бәлкім, өзіміз байқағаннан да жиірек — ретке келтіру жұмыстарына тап болған кезде бізге көмектесе алады. Тәртіпсіздіктің зиянын (және пайдасын) сандық түрде бағалай отырып, ол бізге шын мәнінде ешқандай тәртіп орнатудың қажеті жоқ жағдайларды да көрсетеді.
Сонымен қатар, зер салып қарасақ, сұрыптау — бұл тек ақпаратпен ғана істейтін нәрсе емес. Бұл біздің адамдармен де істейтін әрекетіміз. Рангті анықтаудың компьютерлік ғылымы күтпеген жерден спорт алаңында немесе бокс рингінде өте пайдалы болуы мүмкін. Сондықтан сұрыптау туралы аздап білу адамдардың бір-бірімен қалай бірге өмір сүре алатынын және неге тек сирек жағдайларда ғана төбелеске баратынын түсіндіруге көмектесуі мүмкін. Яғни, сұрыптау қоғамның табиғаты — біз жасайтын басқа, үлкенірек және маңыздырақ тәртіп туралы таңқаларлық деректер береді.
Сұрыптау азабы
«Өнім бірлігіне жұмсалатын шығындарды азайту үшін адамдар әдетте өз жұмысының ауқымын ұлғайтады», — деп жазды Дж. К. Хоскен 1955 жылы сұрыптау туралы жарияланған алғашқы ғылыми мақалада. Бұл кез келген бизнес студентіне таныс масштаб үнемділігі. Бірақ сұрыптауға келгенде, ауқым — апаттың рецепті: таңқаларлық болса да, сұрыптау ауқымы өскен сайын, «сұрыптаудың бірлік құны төмендеудің орнына, жоғарылайды». Сұрыптау масштабтың тиімсіздігіне (diseconomies of scale) әкеліп соғады, бұл біздің жұмысты жаппай істеудің артықшылықтары туралы қалыпты интуициямызға қайшы келеді. Екі адамға тамақ пісіру, әдетте, бір адамға пісіруден қиын емес және бір адамға екі рет пісіргеннен әлдеқайда оңай. Бірақ, айталық, жүз кітаптан тұратын сөрені сұрыптау әрқайсысы елу кітаптан тұратын екі сөрені сұрыптаудан ұзағырақ уақыт алады: сізде ұйымдастыратын заттар екі есе көп және олардың әрқайсысы орналасатын орындар да екі есе көп. Неғұрлым көп іске кіріссеңіз, соғұрлым жағдай қиындай түседі.
Бұл сұрыптау теориясының бірінші және ең негізгі түсінігі. Масштаб зиян тигізеді.
Осыдан біз сұрыптау кезіндегі қиындықтарды азайтудың жолы — сұрыпталатын заттардың санын азайту екенін түсінеміз. Бұл рас: шұлықтарды сұрыптаудың есептеу қиындығынан құтқаратын ең жақсы алдын алу шарасы — кірді жиірек жуу. Мысалы, кірді үш есе жиі жуу сұрыптауға жұмсалатын шығынды тоғыз есе азайтуы мүмкін. Шынында да, егер Хиллистің көршісі өз әдісін сақтап, бірақ жуу арасындағы уақытты он төрт күннің орнына он үш күнге қысқартса, бұл оны себеттен шұлық суырудың жиырма сегіз әрекетінен құтқарар еді. (Ал жуу арасын бір күнге ғана ұзартса, бұл оған тағы отыз әрекетке қымбатқа түсер еді).
Тіпті осындай қарапайым, екі апталық ауқымда да сұрыптаудың қиындығы төзімсіз бола бастағанын көреміз. Дегенмен, компьютерлер жүйелі түрде бір уақытта миллиондаған элементтерді сұрыптауы керек. Ол үшін бізге үлкенірек кеме — және жақсырақ алгоритм қажет.
Бірақ біз қалай сұрыптауымыз керек және қай әдістер ең жақсы деген сұраққа жауап бермес бұрын, алдымен басқа нәрсені анықтап алуымыз керек: нәтижені қалай есептейміз?
Big-O: Ең нашар жағдайдың өлшемі
Гиннестің рекордтар кітабы карталар колодасын сұрыптау рекордын чех сиқыршысы Зденек Брадачқа телиді. 2008 жылдың 15 мамырында Брадач 52 карталық колоданы небәрі 36,16 секундта сұрыптап шықты. Ол мұны қалай жасады? Қандай сұрыптау техникасы оған бұл атақты әперді? Жауап сұрыптау теориясына қызықты мәліметтер қосар еді, бірақ Брадач түсініктеме беруден бас тартты.
Біз Брадачтың шеберлігі мен ептілігіне құрметпен қарасақ та, келесі нәрсеге 100% сенімдіміз: біз оның рекордын жеке өзіміз жаңарта аламыз. Шын мәнінде, біз бұзылмайтын рекордқа қол жеткізе алатынымызға 100% сенімдіміз. Бізге тек шамамен 80,658,175,170,943,878,571,660,636,856,403,766,975,289,505,440,883,277,824,000,000,000,000 әрекет қажет. Бұл сан, 80-нен сәл асатын унвигинтиллион, 52 факториал немесе математикалық белгілеуде «52! » — 52 картадан тұратын колоданы реттеудің барлық мүмкін тәсілдерінің саны. Осыншама әрекет жасай отырып, ерте ме, кеш пе, біз кездейсоқ толық сұрыпталған колодаға тап болатынымыз анық. Сол кезде біз Гиннестің рекордтар кітабына Кристиан-Гриффитс есімін 0 минут 00 секундтық таңқаларлық нәтижемен мақтанышпен енгізе аламыз.
Шынын айтсақ, біз мінсіз рекордтық әрекетімізге жеткенше әлемнің соңы келетін шығар (heat death of the universe). Дегенмен, бұл рекордшылар мен компьютерлік ғалымдар арасындағы ең үлкен іргелі айырмашылықты көрсетеді. Гиннестегілерді тек ең жақсы нәтиже (және сыра) қызықтырады. Оларды айыптауға болмайды: спорттағы барлық рекордтар бір ең жақсы нәтижені көрсетеді. Алайда, компьютерлік ғылым ешқашан ең жақсы жағдайға мән бермейді. Оның орнына, компьютерлік ғалымдар Брадач сияқты адамның орташа сұрыптау уақытын білгісі келер еді: оған барлық 80 унвигинтиллион колода нұсқасын немесе лайықты көлемдегі таңдаманы сұрыптатып, оның барлық әрекеттері бойынша орташа жылдамдығын бағалау қажет. (Компьютерлік ғалымдарға мұндай істерді неге басқартпайтынын енді түсінген боларсыз).
Сонымен қатар, компьютерлік ғалым ең нашар сұрыптау уақытын білгісі келеді. Ең нашар жағдайды талдау бізге қатаң кепілдіктер беруге мүмкіндік береді: маңызды процестің уақытында аяқталатынына, мерзімдердің бұзылмайтынына сенімді боламыз. Сондықтан осы тараудың қалған бөлігінде және осы кітаптың қалған бөлігінде, егер басқаша көрсетілмесе, біз тек алгоритмдердің ең нашар жағдайдағы өнімділігін талқылайтын боламыз.
Компьютерлік ғылым алгоритмнің ең нашар сценарийлерін өлшеу үшін арнайы қысқаша белгілеуді ойлап тапты: ол «Big-O» (алгоритмнің күрделілігін сипаттайтын математикалық таңба) белгілеуі деп аталады. Big-O белгілеуінің бір ерекшелігі бар — ол әдейі дәл емес етіп жасалған. Яғни, ол алгоритмнің жұмысын минуттармен немесе секундтармен емес, мәселенің көлемі мен бағдарламаның орындалу уақыты арасындағы байланыс түрінде сипаттайды. Big-O белгілеуі ұсақ бөлшектерді әдейі алып тастайтындықтан, мәселелерді әртүрлі кең кластарға бөлуге арналған схема пайда болады.
Сіз n қонаққа арналған кеш өткізіп жатырсыз деп елестетіңіз. Олар келгенше үйді тазалауға кететін уақыт қонақтардың санына мүлдем байланысты емес. Бұл — мәселелердің ең жақсы класы: ол «Big-O of one» деп аталады, O(1) деп жазылады, сонымен қатар «тұрақты уақыт» (constant time) деп те белгілі. Айта кетерлігі, Big-O белгілеуі тазалаудың нақты қанша уақыт алатынына мүлдем мән бермейді — тек оның әрқашан бірдей, қонақтар тізіміне қарамастан өзгермейтін болуы маңызды. Бір қонақ болса да, он, жүз немесе кез келген n қонақ болса да, сіз бірдей жұмыс істейсіз.
Енді үстел бойымен қуырылған етті (roast) ұсынуға кететін уақыт «Big-O of n» болады, O(n) деп жазылады, сонымен қатар «сызықтық уақыт» (linear time) деп аталады — қонақтар екі есе көп болса, тамақтың айналып келуін екі есе ұзақ күтесіз. Тағы да айта кетейік, Big-O белгілеуіне қанша тағам берілетіні немесе олардың екінші рет айналып келетіні маңызды емес. Әр жағдайда уақыт әлі де қонақтар тізімінің көлеміне сызықты түрде тәуелді — егер сіз қонақтар саны мен кететін уақыт графигін сызсаңыз, ол түзу сызық болады. Оның үстіне, кез келген сызықтық уақыт факторлары Big-O белгілеуінде барлық тұрақты уақыт факторларын басып тастайды. Яғни, қуырылған етті үстел бойымен бір рет айналдыру немесе асханаңызды үш ай бойы жөндеп, содан кейін етті бір рет айналдыру — компьютерлік ғалым үшін тиімділігі жағынан бірдей нәрсе. Егер бұл ақылға сыйымсыз болып көрінсе, компьютерлер мыңдаған, миллиондаған немесе миллиардтаған n мәндерімен жұмыс істейтінін есіңізге түсіріңіз. Басқаша айтқанда, компьютерлік ғалымдар өте, өте үлкен кештер туралы ойлайды. Миллиондаған қонақ болғанда, етті бір рет айналдыру уақыты үйді жөндеу уақытын елеусіз етіп көрсетеді.
Егер қонақтар келгенде, әрқайсысы бір-бірін құшақтап амандасса ше? Бірінші қонақ сізді құшақтайды; екінші қонақ екі адамды құшақтауы керек; үшіншісі — үш адамды. Барлығы қанша құшақтау болады? Бұл «Big-O of n-squared» болып шығады, O(n2) деп жазылады және «квадраттық уақыт» (quadratic time) деп те аталады. Мұнда да бізді n мен уақыт арасындағы байланыстың тек негізгі контурлары ғана қызықтырады. Екі реттен құшақтасу үшін O(2n2), немесе құшақтасу плюс тамақ тасу үшін O(n2 + n), немесе құшақтасу плюс үй тазалау үшін O(n2 + 1) деген белгілеулер жоқ. Мұның бәрі квадраттық уақыт, сондықтан O(n2) бәрін қамтиды.

Тұрақты уақыт, O(1) деп жазылады; сызықтық уақыт, O(n) деп жазылады; және квадраттық уақыт, O(n2) деп жазылады.
Одан әрі жағдай тіпті қиындай түседі. «Экспоненциалды уақыт» (exponential time) бар, O(2n), мұнда әрбір қосымша қонақ жұмысыңызды екі есе арттырады. Одан да жаманы — «факториалдық уақыт» (factorial time), O(n! ), бұл мәселелер класы соншалықты тозаққа ұқсайды, компьютерлік ғалымдар бұл туралы тек қалжыңдағанда немесе солай болмаса екен деп армандағанда ғана айтады (біз колода сұрыпталғанша оны араластыра беруді елестеткеніміз сияқты).
Квадраттықтар: Көпіршікті сұрыптау және Қондыру арқылы сұрыптау
Сол кездегі сенатор Обама 2007 жылы Google-ға барғанда, бас директор Эрик Шмидт қалжыңдап, сұрақ-жауапты жұмысқа қабылдау сұхбаты сияқты бастап: «Миллиондаған отыз екі биттік бүтін сандарды сұрыптаудың ең жақсы жолы қандай? » — деп сұрады. Обама мүдірместен, қуақы жымиып: «Меніңше, Көпіршікті сұрыптау (элементтерді жұп-жұбымен салыстырып, орнын ауыстыру әдісі) — дұрыс жол емес», — деп жауап берді. Google инженерлерінің қалың тобы ду қол шапалақтады. «Ол мені Көпіршікті сұрыптау деген сөзімен-ақ баурап алды», — деп еске алды кейін олардың бірі.
Обама Көпіршікті сұрыптаудан (Bubble Sort) бас тартуда дұрыс айтты. Бұл алгоритм компьютерлік ғылым студенттері үшін келемеж нысанына айналған: ол қарапайым, интуитивті, бірақ өте тиімсіз.
Сіз өзіңіздің сұрыпталмаған кітаптар жинағыңызды әліпби бойынша реттегіңіз келеді деп елестетіңіз. Табиғи әдіс — сөре бойымен қарап шығып, реті бұзылған жұптарды (мысалы, Пинчонның алдында тұрған Уоллес) тауып, олардың орнын ауыстыру. Пинчонды Уоллестің алдына қойып, содан кейін сканерлеуді жалғастырыңыз, сөренің соңына жеткен сайын басына қайта оралыңыз. Сөрені толық қарап шыққанда ешқандай қате реттелген жұп табылмаса, жұмыстың біткенін білесіз.
Бұл — Көпіршікті сұрыптау және ол бізді квадраттық уақытқа әкеледі. Реті бұзылған n кітап бар және сөрені әрбір қарап шығу (pass) әр кітапты ең көп дегенде бір позицияға ғана жылжыта алады. (Біз кішкентай мәселені көріп, оны кішкентай түзетумен жөндейміз). Сондықтан, сөре мінсіз кері ретпен тұрған ең нашар жағдайда, кем дегенде бір кітапты n позицияға жылжыту қажет болады. Осылайша, n кітапты n рет қарап шығу керек, бұл бізге ең нашар жағдайда O(n2) береді. Бұл өте жаман емес — мысалы, ол жоғарыда айтылған O(n! ) «сұрыпталғанша араластыра беру» идеясынан әлдеқайда жақсы. Бірақ бәрібір, бұл квадраттық мүше тез арада қорқынышты бола бастайды. Мысалы, бұл бес сөре кітапты сұрыптау бір сөрені сұрыптаудан бес есе емес, жиырма бес есе ұзақ уақыт алады дегенді білдіреді.
Сіз басқа тәсілді қолдана аласыз — барлық кітаптарды сөреден алып тастап, оларды біртіндеп орнына қою. Сіз бірінші кітапты сөренің ортасына қоясыз, содан кейін екіншісін алып, оны біріншісімен салыстырасыз да, оң немесе сол жағына қоясыз. Үшінші кітапты алып, оны қоятын дұрыс орынды тапқанша сөредегі кітаптарды солдан оңға қарай қарап шығасыз. Осы процесті қайталай отырып, біртіндеп барлық кітаптар сөреде сұрыпталып бітеді.
Компьютерлік ғалымдар мұны орынды түрде Қондыру арқылы сұрыптау (Insertion Sort) деп атайды. Жақсы жаңалығы — бұл Көпіршікті сұрыптаудан да интуитивті және оның соншалықты жаман беделі жоқ. Жаман жаңалығы — ол шын мәнінде әлдеқайда жылдам емес. Сіз әлі де әр кітап үшін бір қондыру әрекетін жасауыңыз керек. Және әрбір қондыру дұрыс орынды табу үшін сөредегі кітаптардың орташа есеппен жартысынан өтуді қажет етеді. Тәжірибеде Қондыру арқылы сұрыптау Көпіршікті сұрыптаудан сәл жылдамырақ болғанымен, біз тағы да квадраттық уақытқа, яғни O(n2) күрделілігіне тірелеміз. Бір сөреден артық кез келген нәрсені сұрыптау әлі де қиын шаруа.
Квадраттық кедергіні бұзу: Бөл де биле
Осы сәтте, екі ақылға қонымды әдістің де тиімсіз квадраттық уақытқа тап болғанын көргеннен кейін, сұрыптауды бұдан да жылдамдату мүмкін бе деген сұрақ туындайды. Бұл сұрақ өнімділік туралы сияқты көрінеді. Бірақ компьютерлік ғалыммен сөйлессеңіз, бұл метафизикаға жақынырақ болып шығады — жарық жылдамдығы, уақыт бойынша саяхат, асқын өткізгіштер немесе термодинамикалық энтропия туралы ойлау сияқты. Әлемнің іргелі ережелері мен шектеулері қандай? Не нәрсе мүмкін? Неге рұқсат етілген? Осылайша, компьютерлік ғалымдар Құдайдың сызбаларына бөлшектер физиктері мен космологтар сияқты үңіледі. Тәртіп орнату үшін қажетті ең аз күш қандай?
Біз O(1) тұрақты уақытты сұрыптауды таба алар ма едік? Ол (қонақтар келгенше үй тазалау сияқты) кез келген көлемдегі тізімді бірдей уақытта сұрыптай алар ма еді? Тіпті n кітабы бар сөренің сұрыпталғанын тексерудің өзін тұрақты уақытта жасау мүмкін емес, өйткені бұл олардың барлығын (n) тексеруді талап етеді. Сондықтан кітаптарды тұрақты уақытта сұрыптау мүмкін емес сияқты.
Ал O(n) сызықтық уақыттағы сұрыптау ше? Ол тамақты үстел бойымен айналдыру сияқты тиімді болар еді, мұнда сұрыпталатын заттардың санын екі есе көбейту жұмысты да тек екі есе арттырады. Жоғарыдағы мысалдар туралы ойлана отырып, мұның қалай жұмыс істейтінін елестету де қиын. Әр жағдайдағы n2 мынадан туындайды: сізге n кітапты жылжыту керек және әрбір жылжыту үшін қажет жұмыс n-ге байланысты өседі. Көпіршікті сұрыптауда біздің O(n2) уақытымыз n кітаптың әрқайсысын n орынға дейін жылжытудан туындады. Қондыру арқылы сұрыптауда квадраттық уақыт n кітаптың әрқайсысын орнына қоймас бұрын n басқа кітаппен салыстырудан туындады. Сызықтық уақыттағы сұрыптау — басқа қанша кітап барына қарамастан, әр кітапты тұрақты уақыт ішінде өңдеуді білдіреді. Бұл мүмкін емес сияқты көрінеді.
Сонымен, біз квадраттық уақыттан жақсырақ, бірақ сызықтық уақыттан нашар нәтиже көрсете алатынымызды білеміз. Бәлкім, біздің шегіміз сызықтық пен квадраттық уақыттың арасында бір жерде шығар. n мен n × n арасында қандай да бір алгоритмдер бар ма?
Иә, бар және олар бұрыннан белгілі болған. Ақпаратты өңдеу АҚШ-тағы 19-ғасырдағы халық санағынан басталды, сол кезде Герман Холлерит пен кейінірек IBM фирмасы перфокарталарды сұрыптайтын механикалық құрылғыларды жасап шығарды. 1936 жылы IBM «коллаторлар» (collators) деп аталатын машиналар шығара бастады, олар бөлек сұрыпталған екі карта жинағын біреуге біріктіре алатын. Егер екі жинақтың әрқайсысы сұрыпталған болса, оларды бір сұрыпталған жинаққа біріктіру процедурасы өте қарапайым еді және сызықтық уақытты алды: жай ғана екі жинақтың үстіндегі екі картаны салыстырып, кішісін жаңа жинаққа жылжытыңыз және осыны жұмыс біткенше қайталаңыз.
Джон фон Нейман 1945 жылы компьютердің қуатын көрсету үшін жазған бағдарламасы біріктіру идеясын өзінің керемет және соңғы нүктесіне жеткізді. Екі картаны сұрыптау оңай: жай ғана кішісін үстіне қойыңыз. Ал екі картадан тұратын екі жинақ (екеуі де сұрыпталған) берілсе, сіз оларды оңай төрт карталық сұрыпталған жинаққа біріктіре аласыз. Осы әдісті бірнеше рет қайталай отырып, сіз әрқайсысы сұрыпталған үлкенірек жинақтарды құрастыра бересіз. Көп ұзамай сіз толық колоданы сұрыптап шыға аласыз.
Бұл тәсіл бүгінде компьютерлік ғылымдағы аңызға айналған алгоритмдердің бірі — Mergesort (біріктіру арқылы сұрыптау) ретінде белгілі. 1997 жылғы бір мақалада айтылғандай: «Mergesort сұрыптау тарихында қандай маңызды болса, сұрыптау есептеу техникасының тарихында сондай маңызды».
Mergesort-тың күші оның күрделілігі шын мәнінде сызықтық пен квадраттық уақыттың арасында болуында — нақтырақ айтқанда, O(n log n), ол «линеарифмдік уақыт» (linearithmic time) деп аталады. Карталарды әрбір қарап шығу сұрыпталған жинақтардың көлемін екі есе арттырады, сондықтан n картаны толық сұрыптау үшін 2 санын өзіне-өзі көбейткенде n-ге тең болатын санға тең қарап шығу (pass) жасау керек: басқаша айтқанда, екі негізі бар логарифм. Сіз төрт картаны екі біріктіру кезеңінде, сегіз картаны үшінші кезеңде, ал он алты картаны төртінші кезеңде сұрыптай аласыз. Mergesort-тың «бөл де биле» (divide-and-conquer - күрделі есепті кішігірім бөліктерге бөліп шешу) әдісі одан кейін пайда болған көптеген басқа линеарифмдік сұрыптау алгоритмдеріне негіз болды.
Линеарифмдік күрделілік квадраттық күрделіліктен әлдеқайда жақсы екенін айту — бұл өте үлкен бағалау емес. Халық санағы деңгейіндегі элементтерді сұрыптау жағдайында, бұл деректер жиынтығынан 29 рет өту мен 300 миллион рет өтудің арасындағы айырмашылық сияқты. Оның ірі өнеркәсіптік сұрыптау мәселелері үшін таңдаулы әдіс болуы таңқаларлық емес.
Mergesort-тың күнделікті тұрмыстағы сұрыптау мәселелерінде де нақты қолданысы бар. Оның кеңінен қолданылуының бір себебі — оны оңай параллельдеуге (parallelize) болады. Егер сіз әлі де сол кітап сөресін қалай реттеуді ойлап жүрсеңіз, Mergesort шешімі — пиццаға тапсырыс беріп, бірнеше досыңызды шақыру болар еді. Кітаптарды тең бөліп, әр адамға өз жинағын сұрыптауды тапсырыңыз. Содан кейін адамдарды жұптастырып, олардың жинақтарын біріктіртіңіз. Тек екі жинақ қалғанша осы процесті қайталаңыз және оларды соңғы рет сөреге біріктіріп қойыңыз. Тек кітаптарға пиццаның дағын тигізіп алмауға тырысыңыз.
Салыстырудан тыс: Логарифмнен айла асыру
Вашингтон штатындағы Престон қаласының маңындағы көзге түспейтін өндірістік паркте, көптеген сұр есіктердің бірінің артында 2011 және 2013 жылдардағы Кітапханалық сұрыптау бойынша ұлттық чемпион орналасқан. Ұзын, сегменттелген конвейер таспасы минутына 167 кітапты (күніне 85 000) штрих-код сканері арқылы өткізеді, онда олар автоматты түрде 96 жәшіктің біріне түсетін есіктерге бағытталады.

Mergesort әрекетте. Сегіз сұрыпталмаған кітабы бар сөре берілсе, алдымен көршілес кітаптарды сұрыпталған жұптарға біріктіруден бастаңыз. Содан кейін жұптарды төрттік жинақтарға, соңында толық сұрыпталған сөреге біріктіріңіз.
Престон сұрыптау орталығы — әлемдегі ең үлкен және ең тиімді кітап сұрыптау орындарының бірі. Оны Кинг округінің кітапхана жүйесі басқарады. Олар Нью-Йорк көпшілік кітапханасымен мықты бәсекелестік орнатқан. Теорияшы тұрғысынан Престон сұрыптау орталығының тағы бір ерекшелігі бар: оның жүйесі арқылы өтетін кітаптар O(n) — сызықтық уақытта сұрыпталады.
Маңызды мағынада, Mergesort ұсынатын O(n log n) линеарифмдік уақыты — біз қол жеткізе алатын ең жақсы нәтиже. Егер біз n элементті өзара бетпе-бет салыстыру арқылы толық сұрыптағымыз келсе, оларды O(n log n) реттен аз салыстырудың ешқандай жолы жоқ екені дәлелденген. Бұл — әлемнің іргелі заңы және оны айналып өту мүмкін емес.
Бірақ бұл, қатаң түрде айтқанда, сұрыптау мәселесін толық жаппайды. Өйткені кейде сізге толық реттелген жиынтық қажет болмауы мүмкін, ал кейде сұрыптауды элементтерді бір-бірімен мүлдем салыстырмай-ақ орындауға болады. Осы екі принципті біріктіре отырып, практикалық сұрыптауды сызықтық-логарифмдік уақыттан тезірек орындауға мүмкіндік туады. Бұл Bucket Sort (Себеттік сұрыптау — мәліметтерді алдын ала топтарға бөліп жинақтау әдісі) деп аталатын алгоритмде тамаша көрсетілген, оның жарқын мысалы ретінде Престон сұрыптау орталығын айтуға болады.
Bucket Sort алгоритмінде элементтер санат ішіндегі сұрыптауға мән берілместен, бірнеше сұрыпталған санаттарға топтастырылады; оны кейінірек реттеуге болады. (Компьютер ғылымында «себет» (bucket) термині жай ғана сұрыпталмаған деректер блогын білдіреді, бірақ KCLS-тегідей Bucket Sort-тың нақты өмірдегі ең тиімді қолданыстары бұл атауды тура мағынасында қолданады). Ең қызығы: егер сіз n элементті m себетке топтастырғыңыз келсе, бұл топтастыруды O(nm) (орындалу уақыты элементтер саны мен себеттер санының көбейтіндісіне пропорционал) уақытында жасауға болады. Себеттер саны элементтер санымен салыстырғанда аз болса, Big-O нотациясы мұны O(n) немесе сызықтық уақытқа дейін дөңгелетейді.
Сызықтық-логарифмдік кедергіні бұзудың кілті — сұрыпталатын элементтердің таралу заңдылығын білу. Нашар таңдалған себеттер сізді бастапқы күйіңізден арыға апармайды; мысалы, егер барлық кітаптар бір себетке түссе, сіз ешқандай нәтижеге қол жеткізе алмайсыз. Алайда, дұрыс таңдалған себеттер элементтеріңізді шамамен бірдей көлемдегі топтарға бөледі, бұл сұрыптаудың «масштаб зиян келтіреді» деген негізгі табиғатын ескерсек, толық сұрыптауға жасалған үлкен қадам болып табылады. Престон сұрыптау орталығында кітаптарды әліпби бойынша емес, баратын филиалы бойынша сұрыптау міндеті тұрғандықтан, себеттерді таңдау айналым статистикасына негізделген. Кейбір филиалдарда айналым көлемі жоғары, сондықтан оларға екі, тіпті үш себет бөлінуі мүмкін.
Материалды осылайша білу адам-сұрыптаушылар үшін де пайдалы. Сұрыптау шеберлерін іс үстінде көру үшін біз Берклидегі Калифорния университетінің Доу және Моффитт кітапханаларына бардық. Онда елу екі мильден астам кітап сөрелерін реттеп отыру қажет және мұның бәрі қолмен жасалады. Кітапханаға қайтарылған кітаптар алдымен Конгресс кітапханасының шақыру нөмірлері бойынша белгіленген сөрелерге қойылады. Мысалы, ондағы сөрелердің бір жиынтығында PS3000–PS9999 шақыру нөмірлері бар жақында қайтарылған барлық кітаптар араласып жатыр. Содан кейін студент-көмекшілер ол кітаптарды арбаларға тиеп, 150-ге жуық кітапты сөрелерге қайтару үшін тиісті тәртіппен орналастырады. Студенттер сұрыптау бойынша негізгі дайындықтан өтеді, бірақ уақыт өте келе өз стратегияларын қалыптастырады. Біраз тәжірибе жинақтаған соң, олар 150 кітаптан тұратын толық арбаны 40 минуттан аз уақыт ішінде сұрыптай алады. Және бұл тәжірибенің үлкен бөлігі нені күту керектігін білумен байланысты.
Беркли студенті, химия факультетінің үздігі және сұрыптау шебері Джордан Хо PS3000–PS9999 сөрелеріндегі кітаптар үйіндісін реттеу барысында өз процесі туралы айтып берді:
— Тәжірибемнен білемін, 3500-ші нөмірлер өте көп, сондықтан мен алдымен 3500-ден төмен кез келген кітапты іздеп, оларды шамалап бөліп аламын. Содан кейін оларды мұқият сұрыптаймын. 3500-ден төменгілерді реттеп болған соң, 3500-дің өзі үлкен бөлім екенін білемін (3500–3599), сондықтан оны жеке бөлім ретінде қарастырамын. Егер олар тым көп болса, мен оны одан әрі детальдандыруым мүмкін: 3510, 3520, 3530 деп.
Джордан кітаптарды соңғы ретке келтірмес бұрын, оларды арбасына шамамен 25 данадан тұратын топтарға жинауды мақсат етеді, содан кейін оларды Insertion Sort (Кірістіру арқылы сұрыптау — әр элементті өз орнына кезекпен қою) әдісімен реттейді. Оның мұқият әзірленген стратегиясы — бұл нағыз Bucket Sort: ол қай нөмірде қанша кітап болатынын алдын ала болжай отырып, себеттерін қалай бөлу керектігін дәл біледі.
Сұрыптау — іздеудің алдын алу шарасы
Осы сұрыптау алгоритмдерінің барлығын білу келесі жолы кітап сөреңізді әліпби бойынша реттеуге бел буғанда пайдалы болуы керек. Президент Обама сияқты сіз де Bubble Sort-ты қолданбау керектігін білетін боласыз. Оның орнына — адам да, машина-кітапханашылар да мақұлдаған тиімді стратегия — Insertion Sort-ты қолдануға болатындай шағын үйінділерге жеткенше Bucket Sort-ты пайдалану немесе Mergesort пицца кешін ұйымдастыру.
Бірақ егер сіз компьютерлік мамандан бұл процесті енгізуге көмек сұрасаңыз, олардың қоятын бірінші сұрағы — сұрыптаудың мүлдем қажеті бар-жоғы болады.
Компьютер ғылымы — студенттерге үйретілетіндей — бұл толықтай tradeoffs (таңдау тепе-теңдігі немесе ымыра) туралы. Біз мұны бақылау мен әрекет ету, зерттеу мен пайдалану арасындағы қайшылықтардан көрдік. Ең негізгі ымыралардың бірі — сұрыптау мен іздеу арасындағы тепе-теңдік. Негізгі принцип мынадай: материалдарды сұрыптауға жұмсалған күш — бұл кейінірек оларды іздеуге кететін күштің алдын алу үшін жасалған алдын ала соққы. Нақты тепе-теңдік жағдайдың параметрлеріне байланысты, бірақ сұрыптауды тек болашақ іздеуді жеңілдету үшін құнды деп есептеу бізге таңғаларлық нәрсені айтады:
Ретсіздік жағына қарай бейімделіңіз.
Ешқашан іздемейтін нәрсені сұрыптау — бұл уақытты толықтай босқа кетіру; ал ешқашан сұрыпталмаған нәрсені іздеу — жай ғана тиімсіздік.
Сұрақ, әрине, болашақтағы пайдалану көлемін алдын ала қалай бағалауға болатынында.
Сұрыптаудың артықшылықтарының эталоны Google сияқты интернеттегі іздеу жүйесі болар еді. Google сіз терген сөзді жарты секундтан аз уақыт ішінде бүкіл интернеттен тауып береді деген ой ақылға сыймайтын сияқты. Шын мәнінде, ол олай істей алмайды — бірақ оған оның қажеті де жоқ. Егер сіз Google болсаңыз, сіз мынаған сенімдісіз: (а) деректеріңіз ізделеді, (б) олар бір рет емес, қайталап ізделеді және (в) сұрыптауға кететін уақыт іздеуге кететін уақыттан «құны төменірек» (мұнда сұрыптауды машиналар алдын ала, нәтижелер қажет болғанға дейін жасайды, ал іздеуді уақыты шектеулі пайдаланушылар жасайды). Осы факторлардың барлығы Google және басқа іздеу жүйелері жасайтын ауқымды алдын ала сұрыптаудың пайдасына сөйлейді.
Сонымен, кітап сөрелеріңізді әліпби бойынша реттеу керек пе? Көптеген үй кітапханалары үшін сұрыптауды тиімді ететін шарттардың дерлік ешқайсысы орындалмайды. Біз нақты бір кітапты сирек іздейміз. Сұрыпталмаған іздеудің шығыны өте төмен: әр кітап үшін оның шамамен қайда екенін білсек, оны тез таба аламыз. Сұрыпталған сөреден кітапты табуға кететін екі секунд пен сұрыпталмаған сөрені көзбен шолып шығуға кететін он секундтың арасындағы айырмашылық шешуші фактор емес. Бізге кейінірек бірнеше секундты үнемдеу үшін алдын ала бірнеше сағат жұмсауға тұрарлықтай шұғыл іздеу сирек қажет болады. Оның үстіне, біз жылдам көзімізбен іздейміз де, баяу қолымызбен сұрыптаймыз.
Үкім анық: кітап сөреңізді ретке келтіру оны жай ғана көзбен шолып шыққаннан гөрі көбірек уақыт пен энергияны талап етеді.
Сіздің сұрыпталмаған кітап сөреңіз күнделікті мәселе болмауы мүмкін, бірақ электрондық поштаңыздың жұмыс жәшігі — солай болуы әбден мүмкін. Және бұл іздеудің сұрыптаудан басым түсетін тағы бір саласы. Электрондық хаттарды папкаларға қолмен сұрыптау нақты қағаздарды сұрыптаумен бірдей уақытты алады, бірақ электрондық хаттарды олардың физикалық аналогтарына қарағанда әлдеқайда тиімді іздеуге болады. Іздеу құны төмендеген сайын, сұрыптаудың құндылығы азаяды.
Стив Уиттакер — адамдардың электрондық поштамен жұмыс істеуі бойынша әлемдегі жетекші сарапшылардың бірі. IBM зерттеушісі және Санта-Круздағы Калифорния университетінің профессоры Уиттакер жиырма жылға жуық уақыт бойы адамдардың жеке ақпаратты қалай басқаратынын зерттеп келеді. (Ол «электрондық поштаның шамадан тыс жүктелуі» туралы мақаланы 1996 жылы, көптеген адамдарда электрондық пошта әлі болмаған кезде жазған). 2011 жылы Уиттакер электрондық пошта пайдаланушыларының іздеу және сұрыптау әдеттерін зерттеп, «Мен электрондық поштаны жүйелеуге уақытымды босқа кетіріп жатырмын ба? » деген мақала жариялады. Spoiler alert (алдын ала ақпарат беру): қорытынды — «Иә» деген үзілді-кесілді жауап болды. «Бұл эмпирикалық қана емес, сонымен бірге тәжірибелік мәселе», — дейді Уиттакер. «Мен адамдардан осындай ұйымдастырушылық мәселелер туралы сұрағанда, олар өз өмірінің бір бөлігін босқа өткізгендерін айтады».
Компьютер ғылымы ретсіздік пен тәртіптің қауіптері есептелетінін және олардың құнын бірдей өлшеммен — уақытпен өлшеуге болатынын көрсетеді. Бір нәрсені сұрыпталмаған күйде қалдыруды кейінге қалдыру — жауапкершілікті болашақтағы өзіңе жүктеу деп санауға болады, ол кезде біз алдын ала төлемегеніміз үшін үстемеақымен (уақытпен) төлеуге тура келеді. Бірақ бұл мәселе әлдеқайда тереңірек. Кейде ретсіздік жай ғана оңай таңдау емес. Бұл — оңтайлы таңдау.
Сұрыптау және спорт
Іздеу-сұрыптау тепе-теңдігі ретсіздікті қалдырудың көбінесе тиімдірек екенін көрсетеді. Алайда, біз заттарды тек уақытты үнемдеу үшін сұрыптамаймыз: кейде соңғы нәтижеге қол жеткізу — өз алдына мақсат. Және бұл спорт алаңында бәрінен де анық көрінеді.
1883 жылы Чарльз Лютвидж Доджсон британдық көгал теннисінің жағдайына қатысты өте қатты наразылық білдірді. Ол былай деп түсіндіреді:
«Бірнеше уақыт бұрын мен көгал теннисі турнирінде көрермен болдым. Онда жүлделерді тағайындаудың қазіргі әдісі маған бір ойыншының шағымы арқылы белгілі болды. Ол жарыстың басында жеңіліп қалып (осылайша жүлдеден үмітін үзген), кейін өзінен әлдеқайда әлсіз екенін білетін ойыншының 2-ші жүлдені иеленгенін көріп, қатты назаланды».
Қарапайым көрермендер мұндай шағымды жай ғана жеңілістің ащы зардабы деп есептеуі мүмкін, бірақ Доджсон жай ғана жанашыр тыңдаушы емес еді. Ол Оксфордтың математика бойынша лекторы болған, сондықтан спортшының шағымы оны спорттық турнирлердің табиғатын терең зерттеуге итермеледі.
Доджсон тек Оксфорд математигі ғана емес еді — шын мәнінде, оны математик ретінде қазір ешкім есіне де алмайды. Бүгінде ол өзінің Lewis Carroll (Льюис Кэрролл) деген бүркеншік есімімен жақсы танымал, ол осы есіммен «Алиса ғажайыптар елінде» және он тоғызыншы ғасырдағы басқа да көптеген сүйікті әдеби туындыларды жазған. Математикалық және әдеби талантын ұштастыра отырып, Доджсон өзінің аз танымал еңбектерінің бірін шығарды: «Көгал теннисі турнирлері: Жүлделерді тағайындаудың нағыз әдісі және қазіргі әдістің қателігінің дәлелі».
Доджсонның шағымы Single Elimination (Бір рет жеңілгеннен кейін шығып қалу жүйесі) турнирінің құрылымына бағытталған еді, мұнда ойыншылар жұптарға бөлінеді және бір рет жеңілген бойда жарыстан шығады. Доджсон дәлелдегендей, шын мәніндегі екінші орын иегері жеңімпаздан жеңілген кез келген ойыншы болуы мүмкін — тек ең соңында жеңілген адам емес. Бір қызығы, Олимпиада ойындарында біз қола медаль үшін матчтар өткіземіз, бұл арқылы біз Single Elimination форматы үшінші орынды анықтауға жеткілікті ақпарат бермейтінін мойындайтын сияқтымыз. * Бірақ, шын мәнінде, бұл формат екінші орынды, тіпті жеңімпаздан басқа ешкімді анықтауға мүмкіндік бермейді. Доджсон айтқандай: «Жүлделерді тағайындаудың қазіргі әдісі, бірінші жүлдеден басқа жағдайларда, мүлдем мағынасыз». Қарапайым тілмен айтқанда, күміс медаль — бұл өтірік.
«Математикалық факт ретінде, — деп жалғастырды ол, — екінші орынға лайықты ойыншының өз жүлдесін алу мүмкіндігі 31-ден 16-ға ғана тең; ал үздік төрттіктің өз орындарын алу мүмкіндігі соншалықты аз, бұған қарсы бәс тігу мүмкіндігі 12-ге 1-ді құрайды! »
Қаламының күшіне қарамастан, Доджсонның көгал теннисі әлеміне әсері аз болған сияқты. Оның шешімі — сізді жеңген адам жеңілсе, сіз де жарыстан шығатын «үштік жою» әдісінің ыңғайсыз нұсқасы — қолданысқа енбеді. Бірақ Доджсонның шешімі ауыр болса да, оның мәселені сыни тұрғыдан талдауы өте дәл еді. (Өкінішке орай, Single Elimination турнирлерінде күміс медальдар осы күнге дейін беріліп келеді).
Бірақ Доджсонның логикасында тереңірек түсінік бар. Біз адамдар тек деректерімізді немесе мүлкімізді ғана емес, өзімізді де сұрыптаймыз.
Әлем чемпионаты, Олимпиада, NCAA, NFL, NHL, NBA және MLB — бұлардың барлығы сұрыптау процедураларын жанама түрде жүзеге асырады. Олардың маусымдары, рейтингтік кестелері мен плей-офф ойындары — бұл рейтингтік реттілік құруға арналған алгоритмдер.
Спорттағы ең танымал алгоритмдердің бірі — Round-Robin (Айналмалы жүйе — әр қатысушының барлық қарсыластармен ойнауы) форматы, мұнда n команданың әрқайсысы қалған n − 1 командамен ойнайды. Бұл ең толық жүйе болғанымен, ең көп еңбекті қажет ететіні де сол. Әр команданың басқа командалардың әрқайсысымен кездесуі — бұл қорқынышты O(n^2) немесе квадраттық уақыт.
Бадминтон, сквош және ракетбол сияқты спорт түрлерінде танымал сатылы турнирлер (ladder tournaments) ойыншыларды сызықтық рейтингке қояды, мұнда әр ойыншы өзінен жоғары тұрған ойыншыға тікелей шақыру жіберіп, жеңген жағдайда орындармен алмаса алады. Сатылар — бұл спорт әлемінің Bubble Sort-тары, сондықтан олар да квадраттық болып табылады және тұрақты рейтингке жету үшін O(n^2) ойынды қажет етеді.
Дегенмен, турнирдің ең кең таралған форматы — NCAA баскетболдағы әйгілі «Наурыз айындағы ессіздік» (March Madness) сияқты брекет-турнирлер. March Madness турнирі «64-тік раундтан» және «32-лік раундтан» басталып, «Тәтті 16», «Элиталық сегіздік», «Финалдық төрттік» және финалға дейін жалғасады. Әр раунд командалар санын екіге бөледі: бұл таныс логарифмдік жүйе сияқты естілмей ме? Бұл турнирлер іс жүзінде Mergesort болып табылады: олар сұрыпталмаған командалар жұбынан басталып, оларды қайта-қайта біріктіреді.
Біз Mergesort-тың сызықтық-логарифмдік уақытта — O(n log n) — жұмыс істейтінін білеміз, сондықтан 64 команда болса, бізге сатылы немесе Round-Robin жүйесіндегідей 63 раундтың (2016 ойын) орнына шамамен 6 раунд (192 ойын) қажет болады деп күтуге болады. Бұл үлкен прогресс: алгоритм дизайнының жемісі.
March Madness-тің алты раунды дұрыс сияқты, бірақ тоқтай тұрыңыз: 192 ойын ба? NCAA турнирі небәрі 63 ойыннан тұрады.
Шын мәнінде, March Madness — бұл толық Mergesort емес, ол барлық 64 команданың толық ретін анықтамайды. Командаларды шынайы рейтингке қою үшін бізге екінші орынды анықтау үшін қосымша ойындар жиынтығы, үшінші орын үшін тағы бір жиынтық және т. б. қажет болар еді — бұл жиынтықта сызықтық-логарифмдік сандағы ойындарды құрайды. Бірақ March Madness олай істемейді. Оның орнына, Доджсон шағымданған көгал теннисі турнирі сияқты, ол жеңілген командаларды сұрыпталмаған күйде қалдыратын Single Elimination форматын қолданады. Артықшылығы — ол сызықтық уақытта жұмыс істейді: әр ойын бір команданы жарыстан шығаратындықтан, бір жеңімпазды анықтау үшін сізге n − 1 ойын (сызықтық сан) қажет. Кемшілігі — бірінші орыннан басқа ешкімнің нақты орнын біле алмайсыз.
Бір қызығы, Single Elimination жүйесінде ешқандай турнир құрылымының қажеті де жоқ. Кез келген 63 ойын бір жеңілмеген чемпионды анықтап береді. Мысалы, сіз бір «тау патшасы» командасын тақтан тайдырылғанша кезекпен қарсыластармен ойната аласыз, ал оны жеңген команда оның орнын басып, әрі қарай жалғастырады. Алайда бұл форматтың кемшілігі — ойындарды қатар өткізу мүмкін болмағандықтан, 63 бөлек раунд қажет болады; сонымен қатар, бір команда қатарынан 63 ойын ойнауы мүмкін, бұл шаршау тұрғысынан тиімді емес.
Доджсоннан бір ғасырдан астам уақыт өткен соң дүниеге келсе де, Майкл Трик сияқты спортқа математикалық көзқараспен қарайтын адам кемде-кем. Біз Трикпен оңтайлы тоқтау туралы талқылауымызда танысқанбыз, бірақ 37% ережесін өзінің махаббат өміріне сәтсіз қолданғаннан бері ондаған жылдар өтті. Ол қазір тек отағасы және зерттеу профессоры ғана емес, сонымен бірге Жоғары лига бейсболы (MLB) және Big Ten мен ACC сияқты NCAA конференциялары үшін компьютерлік ғылымды қолдана отырып, жылдық матчтар кестесін құратын негізгі мамандардың бірі.
Трик атап өткендей, спорт лигалары рейтингтерді барынша жылдам әрі тиімді анықтауға ұмтылмайды. Керісінше, спорт күнтізбелері бүкіл маусым бойы шиеленісті сақтап тұру үшін арнайы жасалған, ал бұл сұрыптау теориясында сирек қарастырылатын мәселе.
— Мысалы, Жоғары лига бейсболында дивизионда кім жеңетінін көру үшін жарыстар өтеді. Егер біз дивизиондық құрылымды ескермесек, кейбір жарыстар маусымның басында-ақ шешіліп қояр еді. Бірақ оның орнына біз соңғы бес аптада әркім өз дивизионындағы басқа командалармен ойнайтынына көз жеткіземіз. Мұның мақсаты — дивизиондық жарыста кімнің қатысып жатқаны маңызды емес: олар маусымның соңғы бес аптасында ең жақын қарсыласымен кем дегенде алты ойын ойнауға мәжбүр болады. Бұл кестеге немесе маусымға деген қызығушылықты арттырады, өйткені бұл жағдайда белгісіздіктің шешілуі әдейі кешіктіріледі.
Оның үстіне, спорт ойындары әрқашан тек ойын санын азайту үшін жасалмайды. Мұны ескермесе, спорттық кестелердің кейбір аспектілері компьютер маманына түсініксіз болып көрінуі мүмкін. Трик бейсболдың 2430 ойыннан тұратын тұрақты маусымы туралы былай дейді: «Біз n log n — толық сұрыптау үшін қажетті салыстырулар саны екенін білеміз. Бұл бәрін анықтап бере алады. Неліктен олар тек көшбасшыны анықтау үшін n^2 жасайды? » Басқаша айтқанда, егер біз сызықтық-логарифмдік уақытта толық сұрыптау жасай алатынымызды және n-нен аз ойын ішінде Single Elimination чемпионын анықтай алатынымызды білсек, неге толық O(n^2) Round-Robin-ді қолданамыз? Себебі, ойын санын азайту лиганың мүддесіне сай келмейді. Компьютер ғылымында қажетсіз салыстырулар әрқашан жаман — бұл уақыт пен күшті босқа жұмсау. Бірақ спортта жағдай мүлдем басқаша. Өйткені, көп жағдайда ойындардың өзі — басты мақсат.
Шағымдану құқығы: Шу және төзімділік
Спортқа алгоритмдік тұрғыдан қараудың тағы бір, бәлкім, одан да маңызды жолы — күміс медальға қаншалықты сенуіміз керек екенін емес, алтын медальға қаншалықты сенуіміз керек екенін сұрау.
Майкл Трик түсіндіргендей, кейбір спорт түрлерінде, «мысалы, бейсболда, кез келген команда кім болса да, іс жүзінде өз ойындарының 30%-ында жеңіледі және 30%-ында жеңіске жетеді». Бұл Single Elimination форматы үшін алаңдатарлық жағдай. Мысалы, егер NCAA баскетбол ойындарында күштірек команда жағдайлардың 70%-ында жеңіске жетсе және турнирде жеңіске жету үшін қатарынан 6 ойында жеңіске жету керек болса, онда ең үздік команданың турнирде жеңіске жету мүмкіндігі небәрі 0,70-тің 6-шы дәрежесіне — 12%-дан азға тең! Басқаша айтқанда, турнир он жылда бір-ақ рет лиганың нағыз үздік командасына алтын береді.
Кейбір спорт түрлерінде ойын нәтижесіне тіпті 70% сенімділікпен қараудың өзі соңғы есепке тым үлкен мән беру болуы мүмкін. Сан-Диего университетінің (UCSD) физигі Том Мерфи футболға сандық модельдеу әдістерін қолданып, футболдағы төмен ұпайлар ойын нәтижелерін жанкүйерлер ойлағаннан әлдеқайда кездейсоқ етеді деген қорытындыға келді. «3:2 есебі жеңген команданың шын мәнінде мықты екеніне тек 8-ден 5 мүмкіндік береді... Жеке өзім бұл өте әсерлі деп таппаймын. Тіпті 6:1 есебімен тас-талқан етіп жеңудің өзінде оның кездейсоқтық болуының 7% мүмкіндігі қалады».
Компьютер мамандары бұл құбылысты noise (Шу — деректердегі кездейсоқ қателіктер немесе ауытқулар) деп атайды. Біз осы уақытқа дейін қарастырған барлық сұрыптау алгоритмдері мінсіз, қатесіз салыстыруларды — ешқашан қателеспейтін және екі шаманың азын көп деп бағаламайтын салыстыруларды негізге алады. Сіз «шулы салыстырғышқа» жол берген бойда, компьютер ғылымының ең қастерлі алгоритмдері жарамсыз болып қалады, ал кейбір ең көп сынға алынғандары өз мәнін табады.
Нью-Мексико университетінің компьютерлік ғылымдар профессоры Дейв Экли компьютерлік ғылым мен «жасанды өмір» түйіскен жерде жұмыс істейді — ол компьютерлер биологиядан бірнеше нәрсені үйренуі керек деп санайды. Жаңадан бастағандар үшін айта кетейік, организмдер процестердің сенімділігі компьютерлерге қарағанда әлдеқайда төмен әлемде өмір сүреді, сондықтан олар зерттеушілер robustness (Төзімділік — алгоритмнің қателерге қарамастан дұрыс жұмыс істеу қабілеті) деп атайтын қасиетке негізделіп жасалған. Эклидің айтуынша, біз алгоритмдердегі төзімділіктің артықшылықтарын мойындай бастайтын уақыт келді.
Осылайша, «Сұрыптау және іздеу» (Sorting and Searching) атты бағдарламалаудың іргелі еңбегінде «көпіршікті сұрыптаудың ешқандай айқын құтқарушы қасиеті жоқ» деп батыл мәлімделгенімен, Эккли мен оның әріптестерінің зерттеулері Bubble Sort (Көпіршікті сұрыптау — көршілес элементтерді салыстыру арқылы реттеу әдісі) сияқты алгоритмдерге де орын табылуы мүмкін екенін көрсетеді. Оның дәл осы тиімсіздігі — элементтерді бір-бірден ғана жылжытуы — оны шуға (noise) өте төзімді етеді. Бұл Mergesort (Біріктірумен сұрыптау) сияқты жылдам алгоритмдерден әлдеқайда тұрақты, өйткені Mergesort-та әрбір салыстыру элементті бірден алысқа жылжытуы мүмкін. Mergesort-тың жоғары тиімділігі оны сыналанғыш (brittle) етеді. Mergesort-тағы алғашқы қате — бір реттік шығарып тастау турниріндегі кездейсоқ жеңіліс сияқты: ол фаворит команданың чемпиондық үмітін үзіп қана қоймай, оны біржола нәтижелер кестесінің соңына түсіріп жібереді. Ал сатылы турнирде немесе Bubble Sort-та кездейсоқ жеңіліс ойыншыны кестеде тек бір орынға ғана шегіндіреді.
Бірақ, іс жүзінде, шулы салыстырғыш жағдайында ең үздік алгоритм ретінде Bubble Sort емес, Comparison Counting Sort (Салыстыру-санау сұрыптауы) танылды. Бұл алгоритмде әрбір элемент барлық басқа элементтермен салыстырылады және оның қанша элементтен үлкен екені есептеледі. Бұл сан тікелей элементтің рейтингі (рангы) ретінде қолданылады. Ол барлық жұптарды салыстыратындықтан, Bubble Sort сияқты квадраттық уақытты қажет ететін алгоритм болып табылады. Сондықтан ол дәстүрлі компьютерлік ғылымдарда танымал емес, бірақ қателерге төзімділігі (fault-tolerant) өте жоғары.
Бұл алгоритмнің жұмыс істеу принципі таныс естілуі керек. Comparison Counting Sort дәл айналмалы (Round-Robin) турнир жүйесі сияқты жұмыс істейді. Басқаша айтқанда, бұл спорт командасының тұрақты маусымына ұқсайды: дивизиондағы әрбір командамен ойнап, жеңіс пен жеңіліс рекордын жинау арқылы рейтинг түзіледі.
Comparison Counting Sort — квадраттық немесе одан жылдам алгоритмдердің ішіндегі ең тұрақты (robust) сұрыптау әдісі екені спорт жанкүйерлеріне нақты бір ой салады: егер командаңыз плей-оффқа өтпесе, шағымданбаңыз. Mergesort плей-офф кезеңі кездейсоқтыққа толы, бірақ Comparison Counting тұрақты маусымы олай емес; чемпиондық сақиналар тұрақтылықтың кепілі емес, бірақ дивизиондық кесте — нағыз тұрақтылықтың үлгісі. Басқаша айтқанда, егер командаңыз плей-оффтың басында шығып қалса — бұл сәтсіздік. Бірақ командаңыз плей-оффқа жете алмаса — бұл ащы шындық. Сіз басқа жанкүйерлерден қолдау табарсыз, бірақ компьютер маманынан аяушылық күтпеңіз.
Қанды сұрыптау: Шұқысу реті және доминанттылық иерархиясы
Осы уақытқа дейін біз қарастырған барлық мысалдарда сұрыптау процесі жоғарыдан төмен қарай жүзеге асырылды: кітапханашы кітаптарды сөреге қойды, NCAA командаларға кіммен және қашан ойнау керектігін айтты. Ал егер бетпе-бет салыстырулар тек ерікті түрде болса ше? Сұрыптау органикалық түрде, төменнен жоғары қарай пайда болғанда ол қалай көрінеді?
Ол онлайн покеге ұқсауы мүмкін.
Көптеген спорт түрлерінен айырмашылығы, покер соңғы онжылдықта танымал болғанына қарамастан, әлі де белгілі бір дәрежеде анархиялық күйде қалып отыр. Кейбір ірі турнирлер қатысушыларды нақты сұрыптаса да, покердің басым бөлігі «кэш-ойындарда» ойналады. Бұл жерде екі немесе одан да көп ойыншы әр қолда нақты ақша тігуге өздігінен келіседі.
Бұл әлемді әлемдегі ең үздік кэш-ойыншылардың бірі Исаак Хакстоннан артық ешкім білмейді. Спорттың көп түрінде мүмкіндігінше шебер болу жеткілікті. Бірақ Хакстон түсіндіргендей: «Кәсіби покер ойыншысы үшін ең маңызды дағды — өзіңіздің қаншалықты мықты екеніңізді бағалай білу. Егер сіз әлемдегі ең үздік ойыншы болмасаңыз және өзіңізден мықтылармен тоқтаусыз ойнауға дайын болсаңыз, ерте ме, кеш пе тақырға отыратыныңызға сенімді болыңыз».
Хакстон — heads-up (бетпе-бет) және шектеусіз (no-limit) покердің маманы. «Heads-up» дегеніміз — жеке-жеке ойнау, ал «no-limit» — ең жоғары бәс дегенді білдіреді. Көп адамдық покер ойындарында көбіне бір әлсіз ойыншы (мысалы, дәулетті әуесқой) болады, ол кәсіби мамандардың ортасында ақшасын үлестіреді. Ал бетпе-бет ойында бәрі басқаша. «Кімнің мықты екендігі туралы сіз бен қарсыласыңыздың арасында келіспеушілік болуы керек — немесе біреуіңіз ерікті түрде ұтылуға келісуіңіз қажет».
Сонымен, егер ортақ консенсус орнап, ешкім өзінен мықтымен ойнағысы келмесе не болады? Онда ойыншылардың жай ғана бос орындарға таласуы басталады. Көптеген онлайн покер сайттарында үстелдер саны шектеулі. «Егер сіз 50 және 100 долларлық блиндтері бар үстелде ойнағыңыз келсе және онда бар болғаны он үстел болса, — дейді Хакстон, — онда қазіргі ең мықты он ойыншы ғана отырып, ойнағысы келетін біреудің келуін күтеді». Ал егер олардан да мықты ойыншы келсе ше? Егер отырған адам бәс тігуге дайын болмаса, ол жай ғана орнын босатып кетеді.
«Екі маймылды елестетіңізші», — дейді Кристоф Нойманн. «Біреуі өз орнында жайбарақат тамақтанып отыр, ал екіншісі оған жақындап келеді. Сонда біріншісі тұрып, орнын босатып кетеді».
Нойманн покер туралы метафора айтып тұрған жоқ. Ол — Невшатель университетінің биолог-мінез-құлық маманы, макакалардың доминанттылығын зерттейді. Оның сипаттаған құбылысы ығыстыру (displacement) деп аталады.
Ығыстыру жануар өзінің иерархиядағы орнын білу арқылы қақтығыстың қажеті жоқ екенін түсінгенде болады. Көптеген жануарлар қоғамында ресурстар — тамақ, жұп, жайлы орындар — шектеулі, сондықтан кімге не тиетінін шешу керек. Алдын ала тәртіп орнату, әр мүмкіндік сайын төбелескеннен гөрі қауіпсіз. Жәндіктер мен құстардың бір-бірін шоқығанын көргенде жанымыз түршіксе де, биологтар шұқысу ретін (pecking orders) — зорлық-зомбылықтың алдын алатын әдіс деп санайды.
Таныс естіле ме? Бұл — іздеу мен сұрыптау арасындағы тепе-теңдік (search-sort tradeoff).
Шұқысу ретін құру — бұл іргелі есептеу мәселесінің төбелес арқылы шешілуі. Айтпақшы, фермалардағы тауықтардың тұмсығын кесіп тастау жақсы ниетпен жасалса да, кері әсер беруі мүмкін: бұл жекелеген төбелестердің иерархияны анықтау күшін жояды, сондықтан үйірге сұрыптау процедурасын жүргізу қиындай түседі. Нәтижесінде, үйір ішіндегі антагонизм деңгейі іс жүзінде артады.
Жануарлар мінез-құлқына компьютерлік ғылым тұрғысынан қарау бірнеше нәрсені аңғартады. Біріншіден, топ үлкейген сайын әрбір жеке басқа түсетін қақтығыстар саны айтарлықтай өседі (кем дегенде логарифмдік, мүмкін квадраттық түрде). Шынында да, тауықтардың агрессивті мінез-құлқын зерттеу «топ көлемі артқан сайын әр тауыққа келетін агрессивті әрекеттердің көбейетінін» көрсетті. Сұрыптау теориясы мал шаруашылығында этиканы сақтау үшін үйір немесе табын көлемін шектеу керектігін меңзейді. (Табиғатта жабайы тауықтар 10-20-дан ғана жүреді, бұл фермалардағы үйірлерден әлдеқайда аз). Сондай-ақ, зерттеулер жаңа мүшелер қосылмаса, агрессия бірнеше аптадан кейін басылатынын көрсетеді — бұл топтың өзін-өзі сұрыптап болғанын растайды.
Джессика Флэк (Висконсин университетінің профессоры) табиғаттағы орталықсыздандырылған сұрыптау туралы айта келе, доминанттылық иерархиялары — бұл негізінен ақпараттық иерархиялар екенін алға тартады. Мұндай жүйелерде есептеу жүктемесі өте жоғары. Макакалар тобындағы төбелестер саны тек әрбір маймыл иерархияны егжей-тегжейлі және ұқсас деңгейде түсінгенде ғана азаяды. Әйтпесе, зорлық-зомбылық тоқтамайды.
Егер бәрі кейіпкерлердің ағымдағы тәртіпті жадында сақтау қабілетіне байланысты болса, онда жануарлардың ойлау және есте сақтау қабілеті жақсарған сайын қақтығыстар азаяды деп күтуге болады. Мүмкін, адамдар оңтайлы тиімді сұрыптауға ең жақын шығар. Хакстон покер әлемі туралы былай дейді: «Мен әлемдегі ең үздік ойыншылардың бірімін және басымда ең үздік 20 ойыншының нақты рейтингі бар. Меніңше, олардың әрқайсысының басында да сондай рейтинг бар. Тізімнің қандай екендігі туралы бізде жоғары деңгейдегі консенсус бар». Кэш-ойындар тек осы рейтингтер сәйкес келмегенде ғана басталады.
Төбелес орнына жарыс
Біз кез келген топтың өзін-өзі сұрыптауға деген ұмтылысының екі негізгі кемшілігін көрдік. Кем дегенде логарифмдік мөлшердегі қақтығыстар болады, бұл топ үлкейген сайын өмірді қиындатады. Сондай-ақ, әрбір қатысушы басқалардың үнемі өзгеріп тұратын мәртебесін қадағалап отыруға мәжбүр, әйтпесе олар қажетсіз шайқастарға тап болады. Бұл тек денені ғана емес, ақыл-ойды да қажытады.
Бірақ бұдан шығу жолы бар. Мәртебе мен тәртіпті артық шығынсыз орнатудың әдістері бар.
Мысалы, спорттық жарыстардың бірінде ондаған мың қатысушы бір ғана оқиғаның ішінде толық сұрыпталады. (Ал он мың ойыншысы бар айналмалы турнир үшін жүз миллион матч қажет болар еді). Бұл жарыс — марафон. Марафон өте маңызды нәрсені меңзейді: жарыс — төбелестен мүлдем басқа нәрсе.
Боксшылар мен шаңғышылардың, семсерлесушілер мен жүгірушілердің айырмашылығын қарастырыңыз. Олимпиадалық боксшы тұғырға шығу үшін O(log n) рет (әдетте 4-тен 6-ға дейін) ми шайқалу қаупіне бас тігуі керек. Қатысушылар санын көбейту барлығының денсаулығына қауіп төндіреді. Бірақ скелетоншы немесе шаңғымен секіруші қатысушылар санына қарамастан тек бірнеше рет қана тәуекелге барады. Семсерлесуші өз тағдырын O(log n) рет қарсыласына сеніп тапсырады, ал марафоншы тек бір ғана жарысқа төзеді. Өнімділіктің қарапайым сандық өлшемін енгізу мәртебені анықтауды тұрақты уақытты (constant-time) қажет ететін алгоритмге айналдырады.
Тек орынды білдіретін «реттік» (ordinal) сандардан, нысанның сапасын тікелей өлшейтін «сандық» (cardinal) көрсеткіштерге көшу жиынтықты жұптық салыстырусыз-ақ реттеуге мүмкіндік береді. Осылайша, бетпе-бет кездесусіз-ақ доминанттылық иерархиясын құруға болады. Fortune 500 тізімі — осының бір мысалы. АҚШ-тағы ең құнды компанияны анықтау үшін сарапшыларға Microsoft-ты General Motors-пен, кейін оны Chevron-мен салыстырудың қажеті жоқ. Бұл «алма мен алмұртты» салыстыру сияқты көрінетін бәсекелер доллар эквивалентінде бірдей өлшемге ие болады. Кез келген бенчмарк (эталон) — сұрыптауды ауқымдандырудың есептеу мәселесін шешеді.
Кремний алқабында кездесулер туралы мынадай сөз бар: «Сен ақшаға барасың, ақша саған келмейді». Сатушылар құрылтайшыларға барады, құрылтайшылар венчурлық инвесторларға барады, ал олар өз серіктестеріне барады. Бұл иерархияның негізіне біреулер ренжуі мүмкін, бірақ оның үкімімен дауласа алмайды. Нәтижесінде, адамдар арасындағы қарым-қатынас мәртебе үшін талассыз, минималды деңгейде өтеді. Кез келген екі адам еш келіссөзсіз-ақ кімнің кімге құрмет көрсетуі керектігін біледі. Бәрі қайда кездесу керектігін біледі.
Сол сияқты, теңіз жолы ережелері өте күрделі болғанымен, іс жүзінде бір қарапайым принцип қолданылады: «Үлкен тоннаж заңы» (Law of Gross Tonnage). Өте қарапайым: кіші кеме үлкеніне жол береді. Кейбір жануарлардың да осындай нақты иерархиясы бар. Нойманн айтқандай: «Балықтарды қараңызшы: үлкені — доминантты. Бұл өте қарапайым». Және бұл қарапайым болғандықтан, ол бейбіт түрде жүреді. Тауықтар мен приматтардан айырмашылығы, балықтар қан төкпей-ақ тәртіп орнатады.
Адамзат қоғамын мүмкін ететін факторлар туралы ойлағанда, біз көбіне технологияларға: ауыл шаруашылығына, металға, машиналарға назар аударамыз. Бірақ мәртебені сандық көрсеткіштермен өлшеу мәдениеті де сондай маңызды болуы мүмкін. Өлшем міндетті түрде ақша болуы шарт емес; мысалы, «үлкенге құрмет» деген ереже де адам мәртебесін ортақ бір шама (жас) арқылы анықтайды. Бұл принцип ұлттар арасында да жұмыс істейді. ЖІӨ (Жалпы ішкі өнім) сияқты бенчмарктер — G20 сияқты саммиттерге шақыру тізімін жасаудың негізі — дөрекі әрі жетілмеген өлшем болуы мүмкін. Бірақ кез келген бенчмарктің болуы ұлттық мәртебе мәселесін шексіз қақтығыстардан, барлығын реттейтін бір ғана анықтамалық нүктеге айналдырады. Мемлекеттер арасындағы мәртебе дауы көбіне әскери сипат алатынын ескерсек, бұл тек уақытты ғана емес, адам өмірін де сақтайды.
Логарифмдік мөлшердегі төбелестер шағын топтар үшін қолайлы болуы мүмкін. Бірақ мәртебе бетпе-бет салыстырулар (сөз таласы немесе атыс) арқылы анықталатын әлемде, қоғам өскен сайын қақтығыстар саны бақылаудан шығып кетеді. Мыңдаған немесе миллиондаған адамдар бір кеңістікте өмір сүретін индустриялық ауқымда бізге «секіріс» жасау керек. Реттіктен (ordinal) сандыққа (cardinal) көшу қажет.
Күнделікті «тынымсыз тірлікті» (rat race) қанша балағаттасақ та, оның төбелес емес, жарыс екендігі бізді маймылдардан, тауықтардан және егеуқұйрықтардың өзінен ерекшелейтін басты нәрсе.
Бәрін ұмытыңыз
Біздің интеллектімізді практикалық қолдануда ұмыту — есте сақтау сияқты маңызды функция. — УИЛЬЯМ ДЖЕЙМС
Сізде мәселе бар. Гардеробыңыз толып кетті: аяқ киімдер, жейделер мен іш киімдер еденге шашылып жатыр. Сіз «ретке келтіру керек» деп ойлайсыз. Енді сізде екі мәселе бар.
Нақтырақ айтсақ, біріншіден — нені қалдыру керектігін, екіншіден — оларды қалай орналастыру керектігін шешуіңіз керек. Бақытымызға орай, осы екі мәселені шешумен кәсіби түрде айналысатын тұтас бір индустрия бар және олар өз кеңестерін беруге қуанышты.
Нені қалдыру керектігі туралы Марта Стюарт өзіңізге бірнеше сұрақ қоюды ұсынады: «Бұл заттың менде болғанына қанша уақыт болды? Ол әлі жұмыс істей ме? Бұл менде бар нәрсенің көшірмесі емес пе? Соңғы рет оны қашан кидім немесе қолдандым? » Ал қалған заттарды қалай ұйымдастыру керектігі туралы ол «ұқсас заттарды топтастыруды» ұсынады. Оның әріптестері де мұнымен келіседі. Франсин Джей «Аз болудың қуанышы» кітабында: «Барлық белдемшелерді бірге, шалбарларды бірге, көйлектер мен пальтоларды бірге іліңіз», — деп жазады. «Америкадағы ең ұйымдасқан адам» деп аталатын Эндрю Меллен: «Заттар түріне қарай сұрыпталады — барлық шалбарлар бірге, жейделер бірге және т. б. Әр түрдің ішінде олар түсі мен стилі бойынша, жеңінің ұзындығы немесе жағасы бойынша одан әрі бөлінеді», — дейді. Сұрыптау мәселесін есепке алмасақ, бұл жақсы кеңес сияқты көрінеді.
Бірақ, сақтау мәселесі туралы үздіксіз ойланатын тағы бір үлкен кәсіби индустрия бар — олардың өз идеялары бар.
Сіздің гардеробыңыз компьютердің жадысын басқару кезінде кездесетін мәселесіне өте ұқсас: орын шектеулі, ал мақсат — ақша мен уақытты үнемдеу. Компьютерлер пайда болғалы бері мамандар «нені сақтау керек» және «оны қалай орналастыру керек» деген екі мәселемен күресіп келеді. Осы ондаған жылдардағы еңбектің нәтижесі Марта Стюарттың кеңесіндегі бір сұрақтың басқаларына қарағанда әлдеқайда маңызды екенін көрсетті.
Жадыны басқару туралы компьютерлік ғылым сіздің гардеробыңыз (және кеңсеңіз) қалай орналасуы керектігін нақты көрсетеді. Бір қарағанда, компьютерлер де Марта Стюарттың «ұқсас заттарды топтастыру» принципін ұстанатын сияқты. Операциялық жүйелер бізді файлдарды бумаларға (папкаларға) жинауға итермелейді. Бірақ ғалымның жұмыс үстеліндегі ұқыптылық оның ойындағы ретсіздікті жасыруы мүмкін болса, компьютерлік файлдар жүйесінің сыртқы ұқыптылығы да деректердің ішкі әлеміндегі жоғары деңгейде инженерленген «хаосты» жасырып тұрады.
Бұл процесс <span data-term="true">кэштеу (caching)</span> (жиі қолданылатын деректерді жылдам қолжетімді жерде сақтау) деп аталады.
Кэштеу жады архитектурасында шешуші рөл атқарады. Ол процессор чиптерінің құрылымынан бастап жаһандық интернеттің географиясына дейін бәрінің негізінде жатыр. Ол адам өміріндегі барлық сақтау жүйелеріне — машиналарымызға ғана емес, гардеробтарымызға, кеңселерімізге, кітапханаларымызға және басымыздағы ойларға жаңаша қарауға мүмкіндік береді.
Жады иерархиясы
Бір әйелдің санасы өте өткір болғанымен, жады мүлдем жоқ еді... Ол жұмыс істеуге жететіндей ғана нәрсені есте сақтады және аянбай еңбек етті. — ЛИДИЯ ДЭВИС
Шамамен 2008 жылдан бастап, жаңа компьютер сатып алғысы келген кез келген адам сақтау құрылғысын таңдау кезінде қиындыққа тап болды. Олар көлем мен жылдамдық арасында таңдау жасауы керек. Компьютер индустриясы қазір қатты дискілерден (HDD) қатты денелі жинақтағыштарға (SSD) ауысу кезеңінде; бірдей бағаға HDD үлкен сыйымдылықты ұсынады, ал SSD әлдеқайда жоғары өнімділікті береді.
Тұтынушылар біле бермейтін нәрсе — дәл осы таңдау (tradeoff) машинаның ішінде бірнеше деңгейде жасалады және бұл есептеуіш техниканың іргелі принциптерінің бірі болып саналады.
1946 жылы Принстондағы Перспективті зерттеулер институтында жұмыс істеген Артур Беркс, Герман Голдстайн және Джон фон Нейман электрлік «жады мүшесі» (memory organ) үшін жоба ұсынды. Керемет әлемде, деп жазды олар, машинада шексіз көлемдегі найзағайдай жылдам жады болар еді, бірақ іс жүзінде бұл мүмкін емес еді. (Бұл әлі де мүмкін емес). Оның орнына, бұл үштік «жады иерархиясын» ұсынды: әрбір келесі деңгейдің сыйымдылығы алдыңғысынан үлкен, бірақ оған қол жеткізу жылдамдығы төменірек. Әртүрлі жады түрлерінен пирамида құру арқылы — шағын, бірақ жылдам жады және үлкен, бірақ баяу жады — біз екі жақтың да тиімділігін ала аламыз.
- Ешқандай сөз блоктамады. - Html tag қолданылмады. - Кітап мазмұны, баспа ақпараты және жарнамалық сілтемелер алынып тасталды.
Жад иерархиясының негізгі идеясы кез келген кітапхананы пайдаланған адамға түсінікті болуы керек. Мысалы, егер сіз белгілі бір тақырыпта мақала жазу үшін зерттеу жүргізіп жатсаңыз, кейбір кітаптарға бірнеше рет жүгінуіңіз мүмкін. Әр жолы кітапханаға бара бергенше, тиісті кітаптарды үйіңізге, жұмыс үстеліңізге алып келесіз, ол жерден оларды оқу әлдеқайда оңай.
Есептеу техникасында бұл «жад иерархиясы» (memory hierarchy — деректерді сақтау жылдамдығы мен көлеміне қарай сатылы орналастыру) идеясы 1962 жылы Англияның Манчестер қаласында Atlas деп аталатын суперкомпьютер жасалғанға дейін тек теория күйінде қалды. Оның негізгі жады ақпаратты оқу және жазу үшін айналатын үлкен барабаннан тұратын, ол балауыз фонограф цилиндріне ұқсайтын. Бірақ Atlas-та поляризацияланған магниттерден жасалған кішірек, жылдамырақ «жұмыс» жады да болды. Деректер барабаннан магниттерге оқылып, сол жерде оңай өңделіп, нәтижелері қайтадан барабанға жазылатын.
Atlas әзірленгеннен кейін көп ұзамай Кембридж математигі Морис Уилкс бұл кішірек әрі жылдамырақ жадтың деректерді сақтау алдындағы жай ғана ыңғайлы жұмыс орны емес екенін түсінді. Оны болашақта қажет болуы мүмкін ақпараттарды әдейі сақтап қою үшін, яғни болашақ сұраныстарды алдын ала болжау және машинаның жұмысын айтарлықтай жылдамдату үшін пайдалануға болатын еді. Егер сізге қажет нәрсе әлі жұмыс жадында болса, оны барабаннан жүктеудің қажеті болмайды. Уилкс айтқандай, кішірек жад «баяу негізгі жадтан келетін сөздерді автоматты түрде өзіне жинақтайды және негізгі жадқа қайта жүгінудің шығынын шығармай, оларды кейін пайдалану үшін қолжетімді етеді».
Әрине, басты мәселе — сол кішкентай, жылдам әрі құнды жадты басқару, сонда іздеген нәрсеңіз ол жерде мүмкіндігінше жиі табылатын болады. Кітапхана аналогиясын жалғастырсақ, егер сіз барлық қажетті кітаптарды алу үшін кітап қоймасына бір-ақ рет барып, қалған аптаны үйде жұмыс істеумен өткізсеңіз, бұл кітапханадағы әрбір кітап сіздің үстеліңізде тұрғанмен бірдей болар еді. Кітапханаға неғұрлым көп барсаңыз, жұмыс соғұрлым баяулайды және үстеліңіздің сіз үшін пайдасы азаяды.
Уилкстің ұсынысы 1960-жылдардың соңында IBM 360/85 суперкомпьютерінде іске асырылып, ол жерде «кэш» (cache — жиі қолданылатын деректерді жылдам қолжетімді ету үшін сақтайтын аралық буфер) деген атауға ие болды. Содан бері кэштер компьютерлік ғылымның барлық саласында пайда болды. Жиі қолданылатын ақпаратты жақын жерде сақтау идеясы соншалықты тиімді, ол есептеудің әрбір аспектісінде қолданылады. Процессорларда кэш бар. Қатты дискілерде кэш бар. Операциялық жүйелерде кэш бар. Веб-шолғыштарда кэш бар. Сол шолғыштарға контент жеткізетін серверлерде де кэштер бар, бұл миллиондаған адамдар тамашалаған шаңсорғыш мінген мысық туралы видеоны бірден көруге мүмкіндік береді... Бірақ біз сәл алға кетіп қалдық.
Соңғы елу жылдағы компьютер тарихы жыл сайынғы экспоненциалды өсу ретінде сипатталып келеді — бұған ішінара Intel негізін қалаушы Гордон Мурдың 1975 жылы жасаған, орталық процессорлардағы транзисторлар саны әр екі жыл сайын екі есе артады деген атақты «Мур заңы» болжамы дәлел. Бірақ мұндай жылдамдықпен жақсармаған нәрсе — жадтың өнімділігі, бұл өңдеу уақытына қатысты жадқа қол жеткізу құнының да экспоненциалды түрде артып жатқанын білдіреді. Мысалы, мақалаларыңызды неғұрлым жылдам жазсаңыз, кітапханаға баратын әрбір сапардың өнімділікті жоғалтуы соғұрлым жоғары болады. Дәл сол сияқты, өндіріс жылдамдығын жыл сайын екі есеге арттыратын, бірақ шетелден бөлшектерді бұрынғы баяу қарқынмен алатын зауыт, екі есе бос тұрған зауыттан артық болмайды. Біраз уақыт бойы Мур заңы тек бармақтарын бұрынғыдан да жылдам әрі жиі ойнататын процессорларды ғана беріп жатқандай көрінді. 1990-жылдары бұл құбылыс «жад қабырғасы» (memory wall — процессор мен жад жылдамдығы арасындағы алшақтық) ретінде белгілі бола бастады.
Компьютерлік ғылымның бұл қабырғаға соғылудан ең жақсы қорғанысы бұрынғыдан да күрделірек иерархия болды: кэштер үшін кэштер, оның ішінде тағы да кэштер. Қазіргі заманауи ноутбуктерде, планшеттер мен смартфондарда шамамен алты деңгейлі жад иерархиясы бар және жадты ақылмен басқару компьютерлік ғылым үшін бүгінгідей маңызды болған емес.
Сонымен, кэштерге (немесе шкафтарға) қатысты ойға келетін бірінші сұрақтан бастайық. Олар толған кезде не істейміз?
Аластау және көріпкелдік
«Қандай да бір жаңа білім қосылған сайын, бұрын білген нәрсеңді ұмытатын кез келеді. Сондықтан пайдалы деректерді пайдасыздары итеріп шығармауы өте маңызды». — ШЕРЛОК ХОЛМС
Кэш толған кезде, жаңа нәрсені сақтау үшін орын босату керек болады, бұл есептеу техникасында «кэшті ауыстыру» немесе «кэштен аластау» (cache eviction) деп аталады. Уилкс жазғандай: «[Кэш] негізгі жад көлемінің аз ғана бөлігін құрайтындықтан, сөздер онда шексіз сақталмайды және оларды біртіндеп қайта жазу үшін жүйеге алгоритм орнатылуы керек». Бұл алгоритмдер «ауыстыру саясаты» немесе «аластау саясаты», немесе жай ғана кэштеу алгоритмдері деп аталады.
IBM 1960-жылдары кэштеу жүйелерін енгізуде ерте рөл атқарғанын көрдік. Оның кэштеу алгоритмдері бойынша алғашқы іргелі зерттеулердің орталығына айналуы таңқаларлық емес — олардың ішінде Ласло «Лес» Бэладидің зерттеулерінен маңыздысы жоқ шығар. Бэлади 1928 жылы Венгрияда дүниеге келген, онда инженер-механик мамандығында оқып, 1956 жылғы Венгр революциясы кезінде Германияға «бір ауысым іш киім мен дипломдық жұмысым» салынған сөмкеден басқа ештеңесіз қашып кеткен. Германиядан Францияға барып, 1961 жылы Америка Құрама Штаттарына әйелі, нәресте ұлы және қалтасындағы 1000 долларымен көшіп келген. Кэштен аластаумен айналысатын IBM компаниясына жұмысқа орналасқан кезде, ол нені сақтап, нені қалдыру керектігін жақсы түсінетін деңгейге жеткен сияқты.
Бэладидің 1966 жылғы кэштеу алгоритмдері туралы мақаласы он бес жыл бойы компьютерлік ғылымдағы ең көп сілтеме жасалған еңбек болды. Онда түсіндірілгендей, кэшті басқарудың мақсаты — іздеген нәрсеңізді кэштен таба алмай, оны табу үшін баяу негізгі жадқа баруға мәжбүр болатын жағдайларды азайту; бұлар «беттегі қателік» (page fault — деректің жедел жадта болмауы) немесе «кэштегі сәтсіздік» деп аталады. Оңтайлы кэштен аластау саясаты — Бэлади жазғандай — кэш толған кезде, бізге ең ұзақ уақыт бойы қажет болмайтын нысанды аластау.
Әрине, бір нәрсенің сізге қайтадан қашан қажет болатынын нақты білу айтуға ғана оңай.
Болашақты болжайтын және оңтайлы саясатты жүзеге асыратын гипотетикалық «бәрін білетін» алгоритм бүгінде құрмет ретінде Бэлади алгоритмі деп аталады. Бэлади алгоритмі компьютерлік ғалымдар «көріпкел» (clairvoyant) алгоритм деп атайтын нәрсенің мысалы болып табылады: ол болашақ деректерге негізделген. Бұл естілгендей ақылға қонымсыз емес — жүйе не күтетінін білуі мүмкін жағдайлар болады — бірақ жалпы алғанда көріпкелдікке қол жеткізу қиын, ал бағдарламалық жасақтама инженерлері Бэлади алгоритмін іс жүзінде қолдануға тырысқанда «іске асырудағы қиындықтарға» тап боламыз деп әзілдейді. Сондықтан біздің міндетіміз — осы шақта тұрып, алда не күтіп тұрғанын тек болжай алатын кездер үшін көріпкелдікке барынша жақын алгоритмді табу.
Біз Кездейсоқ аластау (Random Eviction) әдісін қолданып, кэшке жаңа деректерді қосып, ескілерін кездейсоқ өшіре аламыз. Кэштеу теориясындағы алғашқы таңқаларлық нәтижелердің бірі — бұл тәсіл мінсіз болмаса да, айтарлықтай жаман емес. Кэштің болуының өзі, оны қалай ұстасаңыз да, жүйені тиімдірек етеді. Жиі қолданылатын элементтер бәрібір тез арада кэшке қайта оралады. Тағы бір қарапайым стратегия — FIFO (First-In, First-Out — «бірінші келген, бірінші кетеді»): кэште ең ұзақ тұрған нәрсені аластау немесе қайта жазу. Үшінші тәсіл — LRU (Least Recently Used — «ең ұзақ уақыт қолданылмаған»): ең ұзақ уақыт бойы тимеген элементті аластау.
LRU принципі компьютерлік ғалымдар «уақытша локальділік» (temporal locality) деп атайтын құбылысқа байланысты тиімді: егер бағдарлама белгілі бір ақпаратты бір рет сұраса, оны жақын арада тағы да сұрау ықтималдығы жоғары. Уақытша локальділік ішінара компьютерлердің мәселелерді шешу тәсілінен туындайды (мысалы, байланысты оқу мен жазудың жылдам сериясын жасайтын циклді орындау), бірақ ол адамдардың мәселелерді шешу тәсілінде де көрінеді. Егер сіз компьютерде жұмыс істеп жатсаңыз, электрондық пошта, веб-шолғыш және мәтіндік процессор арасында ауысып отыруыңыз мүмкін. Олардың біріне жақында кіргеніңіз — оған тағы да кіруіңіз мүмкін екендігінің белгісі, ал ең ұзақ уақыт бойы пайдаланбаған бағдарламаңыз, бәлкім, біраз уақыт бойы қажет болмайтын бағдарлама шығар.
Шын мәнінде, бұл принцип компьютерлердің пайдаланушыларға көрсететін интерфейсінде де бар. Компьютер экранындағы терезелерде «Z-тәртібі» (Z-order — терезелердің орналасу тереңдігі) деп аталатын жүйе бар, ол қай бағдарламаның қайсысының үстінде тұратынын анықтайды. Ең ұзақ уақыт пайдаланылмағандары ең астында қалады. Firefox-тың бұрынғы креативті жетекшісі Аза Раскин айтқандай: «Қазіргі шолғышты пайдалану уақытыңыздың көп бөлігі қағаздарды араластырудың цифрлық баламасына жұмсалады». Бұл «араластыру» Windows және Mac OS жүйелеріндегі тапсырмаларды ауыстыру интерфейстерінде де дәл қайталанады: Alt + Tab немесе Command + Tab пернелерін басқанда, қолданбаларыңыз ең соңғы пайдаланылғаннан бастап тізілгенін көресіз.
Аластау саясаты туралы әдебиеттер өте терең — оның ішінде пайдалану жиілігі мен жаңалығын ескеретін алгоритмдер, соңғы рет емес, соңғының алдындағы кіру уақытын бақылайтын алгоритмдер және т. б. бар. Бірақ көптеген инновациялық кэштеу схемаларына қарамастан, LRU-дың өзі — және оның шағын түзетулері — компьютерлік ғалымдардың ең сүйікті әдісі болып қала береді. LRU бізге келесі кезекте қажет болатын нәрсе — ең соңғы пайдаланған нәрсеміз, ал одан кейін қажет болатыны — екінші реттегі соңғы нәрсе екенін үйретеді. Ал бізге ең соңғы кезекте қажет болатын нәрсе — ең ұзақ уақыт бойы қолданбаған нәрсеміз.
Егер басқаша ойлауға негіз болмаса, болашаққа арналған ең жақсы нұсқаулық — өткеннің айнадағы бейнесі сияқты. Көріпкелдікке ең жақын нәрсе — тарих өзін керісінше қайталайды деп есептеу.
Кітапхананы іштен сыртқа айналдыру
Берклидегі Калифорния университетінің Гарднер қоймасының тереңінде, құлыпталған есіктің және «Тек қызметкерлер үшін» деген ескертудің артында, келушілерге мүлдем тыйым салынған жерде UC кітапхана жүйесінің жауһарларының бірі орналасқан. Бұл жерде Кормак Маккарти, Томас Пинчон, Элизабет Бишоп және Дж. Д. Сэлинджер; Анаис Нин, Сьюзен Зонтаг, Джуно Диас және Майкл Чабон; Энни Пру, Марк Странд және Филип К. Дик; Уильям Карлос Уильямс, Чак Паланик және Тони Моррисон; Денис Джонсон, Джулиана Спар, Джори Грэм және Дэвид Седарис; Сильвия Плат, Дэвид Мамет, Дэвид Фостер Уоллес және Нил Гейманның туындылары бар... Бұл кітапхананың сирек кездесетін кітаптар коллекциясы емес; бұл оның кэші.
Біз талқылағандай, кітапханалар өз жұмыс үстелімізбен бірге пайдаланылғанда жад иерархиясының табиғи мысалы болып табылады. Шын мәнінде, кітапханалардың өзі, түрлі бөлімдері мен сақтау орындарымен, көп деңгейлі жад иерархиясының тамаша үлгісі. Соның салдарынан олар кэштеудің барлық түрлеріне тап болады. Олар қай кітаптарды кітапхананың алдыңғы жағындағы шектеулі көрме орнына қою керектігін, қайсысын сөрелерде сақтау керектігін және қайсысын қашықтағы қоймаға жіберу керектігін шешуі керек. Қай кітаптарды қоймаға жіберу саясаты кітапханадан кітапханаға қарай өзгереді, бірақ олардың барлығы дерлік LRU нұсқасын қолданады. «Мысалы, негізгі қор үшін, — дейді Берклидегі процесті қадағалайтын Бет Дюпюи, — егер кітап он екі жыл бойы пайдаланылмаса, бұл оны қоймаға жіберудің шегі болып табылады».
Он екі жыл бойы қол тимеген кітаптардың қарама-қайшылығы ретінде кітапхананың «алдын ала сұрыптау» аймағын айтуға болады. Бұл жерге кітаптар қайтарылғаннан кейін бірден, қайтадан сөрелерге қойылмай тұрып түседі. Бір қызығы, оларды сөрелерге қайта қою үшін жұмыс істейтін көмекшілер, белгілі бір мағынада, оларды аз реттелген етіп жатқан болуы мүмкін.
Міне, себебі: егер уақытша локальділік сақталса, онда алдын ала сұрыптау сөрелерінде ғимараттағы ең маңызды кітаптар бар. Бұл кітаптар жақында ғана пайдаланылған, сондықтан олар келушілер ең көп іздейтін кітаптар болуы ықтимал. Кітапхананың мильдеген сөрелерінің ішіндегі ең қызықты сөресі жасырулы тұрғаны және өз жұмысын адал атқарып жатқан қызметкерлердің кесірінен үнемі азайып отыратыны өкінішті.
Сонымен қатар, Моффитт бакалавриат кітапханасының фойесінде — ең көрнекті және қолжетімді сөрелерде — кітапхананың ең соңғы алынған кітаптары көрсетіледі. Бұл соңғы оқылған емес, соңғы қосылған элементтерге басымдық беретін FIFO кэшінің бір түрін іске асырады.
LRU алгоритмінің компьютерлік ғалымдар жүргізген көптеген сынақтардағы жоғары нәтижесі бір қарапайым ұсынысқа әкеледі: кітапхананы іштен сыртқа айналдыру. Жаңадан алынған кітаптарды артқа, оларды іздегендер тауып алуы үшін қойыңыз. Ал ең соңғы қайтарылған кітаптарды фойеге қойыңыз, олар келушілер үшін дайын тұрсын.
Адамдар — әлеуметтік жаратылыстар, сондықтан студенттерге өздерінің оқу әдеттерін бақылау қызықты болар еді. Бұл кампусты колледждер «ортақ кітаптар» тағайындау арқылы қол жеткізгісі келетін интеллектуалдық ортақ нүктелерді қалыптастырудың неғұрлым табиғи әрі еркін нұсқасына итермелейтін еді. Мұнда кампуста оқылып жатқан кітаптар, олар қандай болса да, басқа студенттердің кездейсоқ кездестіру ықтималдығы жоғары кітаптарға айналады.
Бірақ мұндай жүйе тек әлеуметтік жағынан ғана тиімді емес. Ең соңғы қайтарылған заттар келесі кезекте ең көп алынатын заттар болғандықтан, бұл тиімдірек болар еді. Студенттер танымал кітаптардың кейде сөрелерде, кейде фойеде болуына таң қалуы мүмкін. Дегенмен, қайтарылған кітаптар бәрібір сөрелерде болмайды. Қазіргі уақытта олар осы өтпелі кезеңде қолжетімсіз. Қайтарылған кітаптарды фойеге қою студенттерге сөрелерге қою процесін айналып өтуге мүмкіндік береді. Қызметкерлерге кітаптарды сөрелерге апарудың, ал студенттерге оларды сол жерден іздеудің қажеті болмайды. Кэштеу дәл осылай жұмыс істеуі керек.
Көшенің шетіндегі бұлт
«Біз елдің картасын жасадық, масштабы мильге миль! » «Сіз оны жиі пайдаландыңыз ба? » — деп сұрадым мен. «Ол әлі жайылған жоқ, — деді Мейн Герр, — фермерлер қарсы болды: олар бұл бүкіл елді жауып тастайды және күн сәулесін бөгейді деді! Сондықтан біз қазір елдің өзін өз картасы ретінде пайдаланамыз және ол соған жақын жұмыс істейді деп сендіремін». — ЛЬЮИС КЭРРОЛЛ
Біз интернетті жиі тегіс, тәуелсіз және еркін байланысқан желі ретінде елестетеміз. Шын мәнінде, ол олай емес. Қазіргі уақытта бүкіл интернет трафигінің төрттен бірін бір ғана корпорация басқарады, ол жаңалықтарға дерлік түспейді. Массачусетсте орналасқан бұл компания Akamai деп аталады және олар кэштеу бизнесімен айналысады.
Біз сондай-ақ интернетті дерексіз, материалдық емес нәрсе деп ойлаймыз. Бізге деректеріміз «бұлтта» екенін айтады, бұл алыс, белгісіз жер дегенді білдіреді. Тағы да айтамын, бұлардың ешқайсысы шындық емес. Шындығында, интернет — бұл физикалық сымдар мен металл тіректердің шоғыры. Және ол сіз күткеннен де географиямен тығыз байланысты.
Инженерлер компьютерлік жабдықтарды жобалағанда географияны өте кішкентай масштабта қарастырады: жылдамырақ жад әдетте процессорға жақынырақ орналасады, бұл ақпарат жүретін сымдардың ұзындығын азайтады. Бүгінгі процессор циклдері гигагерцпен өлшенеді, яғни олар операцияларды наносекундтардың фракцияларында орындайды. Салыстыру үшін айтсақ, бұл жарықтың бірнеше дюймді жүріп өту уақыты — сондықтан компьютердің ішкі бөлшектерінің физикалық орналасуы өте маңызды. Және осы принципті айтарлықтай үлкен масштабта қолдансақ, география веб-жүйенің жұмыс істеуі үшін өте маңызды болып шығады, мұнда сымдар дюймдерді емес, мыңдаған мильдерді қамтиды.
Егер сіз веб-парақшаның контентін оны қалайтын адамдарға физикалық, географиялық тұрғыдан жақынырақ жерде кэштей алсаңыз, сол парақшаларды жылдамырақ ұсына аласыз. Интернет трафигінің көп бөлігі қазір танымал веб-сайттардың көшірмелерін әлем бойынша сақтайтын компьютерлері бар «контентті тарату желілері» (CDNs — Content Distribution Networks) арқылы жүзеге асады. Бұл пайдаланушыларға өз деректерін алыстағы серверге бармай-ақ, жақын маңдағы компьютерден алуға мүмкіндік береді.
Осы CDN-дердің ең үлкенін Akamai басқарады: контент провайдерлері өз сайттарының өнімділігін жақсарту үшін оларды «Akamaized» етуге ақша төлейді. Мысалы, BBC-ден видео көретін австралиялық, сірә, Сиднейдегі жергілікті Akamai серверлеріне қосылып жатыр; сұраныс Лондонға мүлдем жетпейді. Оның қажеті де жоқ. Akamai-дың бас сәулетшісі Стивен Лудин айтқандай: «Біз арақашықтық маңызды деген фактіге сенеміз және компанияны соған негіздеп құрамыз».
Бұрынғы талқылауымызда жадтың кейбір түрлері жылдамырақ жұмыс істейтінін, бірақ қымбатырақ екенін, бұл ең жақсы нәтижеге қол жеткізуге тырысатын «жад иерархиясына» әкелетінін айттық. Бірақ кэштеудің мағынасы болуы үшін жадтың әртүрлі материалдардан жасалуы міндетті емес. Кэштеу өнімділік емес, қолжетімділік шектеулі ресурс болған кезде де өте пайдалы.
Бұл іргелі түсінік — сұранысқа ие файлдар олар қолданылатын жерге жақын сақталуы керек деген ой — физикалық ортаға да ауысады. Мысалы, Amazon-ның алып орталықтары әдетте кітапханада немесе дүкенде кездесетін адамға түсінікті ұйымдастырудан бас тартады. Оның орнына қызметкерлерге келген тауарларды қоймадан бос орын табылған жерге қою бұйырылады — батареялар қарындаш ұштағыштармен, жаялықтармен немесе грильдермен қатар тұра береді — және штрих-кодтар арқылы әрбір заттың орны орталық дерекқорға енгізіледі. Бірақ бұл бейберекет көрінетін сақтау жүйесінде әлі де бір айқын ерекшелік бар: сұраныс жоғары тауарлар басқаларға қарағанда тезірек қол жетімді бөлек аймаққа қойылады. Бұл аймақ — Amazon-ның кэші.
Жақында Amazon бұл принципті бір қадам алға жылжытатын инновация үшін патент алды. Патент «болжамды пакеттік жөнелту» (anticipatory package shipping) туралы айтады, оны баспасөз Amazon сіз сатып алмай тұрып бірдеңе жібере алатындай етіп көрсетті. Amazon, кез келген технологиялық компания сияқты, Бэлади сияқты көріпкелдікке ие болғысы келеді — бірақ оның орнына кэштеуге жүгінеді. Олардың патенті іс жүзінде белгілі бір аймақта танымал болған тауарларды сол аймақтағы аралық қоймаға жөнелтуге арналған — бұл физикалық тауарларға арналған жеке CDN сияқты. Содан кейін біреу тапсырыс бергенде, тауар дәл сол көшенің шетінде дайын тұрады. Жеке адамдардың сатып алуын болжау қиын, бірақ бірнеше мың адамның сатып алуын болжағанда, үлкен сандар заңы іске қосылады. Берклидегі біреу белгілі бір күні қайта өңделген дәретхана қағазына тапсырыс беретіні анық, ал ол тапсырыс берген кезде тауар жолдың көп бөлігін өтіп қойған болады.
Белгілі бір аймақта танымал нәрселер сол жердің өзінен шыққан болса, бұлттық технологияның (интернет арқылы деректерді сақтау және өңдеу жүйесі) бұдан да қызықты географиясы қалыптасады. 2011 жылы киносыншы Мика Мертес Netflix-тің әр штаттағы «Жергілікті фавориттерін» (Local Favorites) пайдаланып, АҚШ картасын жасады — онда әр штатта ерекше танымал болған фильмдер көрсетілді. Нәтижесінде, адамдардың өздері тұратын жерде түсірілген фильмдерді көруді жақсы көретіні анықталды. Вашингтондықтар Сиэтлде түсірілген Singles фильмін ұнатады; Луизиана тұрғындары Жаңа Орлеандағы The Big Easy-ді тамашалайды; Лос-Анджелестіктердің L. A. Story-ді ұнатуы таңсық емес; Аляскалықтар Braving Alaska-ны, ал Монтаналықтар Montana Sky-ды жақсы көреді. Толық форматты HD бейнелер сияқты үлкен файлдар кэштеуден (жиі қолданылатын деректерді жылдам қолжетімді жерде сақтау) ерекше ұтатындықтан, Netflix L. A. Story файлдарын дәл Лос-Анджелестің өзінде, оның кейіпкерлері мен жанкүйерлеріне жақын жерде сақталуын қамтамасыз еткені анық.
Тұрмыстағы кэштеу
Кэштеу бастапқыда компьютер ішіндегі цифрлық ақпаратты ұйымдастыру схемасы ретінде басталғанымен, оның адам ортасындағы физикалық объектілерді реттеуге де толық қолданылатыны белгілі болды. Біз Стэнфорд университетінің президенті, заманауи кэштеу жүйелерін жасауға көмектескен пионер компьютерлік архитектор Джон Хеннессимен сөйлескенде, ол бұл байланысты бірден байқады:
Кэштеу — өте айқын нәрсе, өйткені біз оны үнемі жасаймыз. Мен алатын ақпарат көлемі... кейбір нәрселерді мен дәл қазір қадағалап отыруым керек, бір топ нәрселер үстелімнің үстінде тұр, ал басқалары файлдарға салынып, соңында университеттің архив жүйесіне жіберіледі. Егер ол жерден бір нәрсе керек болса, оны алуға бүтін бір күн кетеді. Біз бұл әдісті өмірімізді реттеу үшін үнемі қолданамыз.
Бұл мәселелер арасындағы тікелей параллель компьютер ғылымындағы шешімдерді үй жағдайында саналы түрде қолдануға мүмкіндік бар екенін білдіреді.
Біріншіден, нені сақтап, нені тастау керектігін шешкенде, LRU (Ең ұзақ қолданылмағанды жою принципі) — FIFO-ға (Бірінші келген — бірінші кетеді принципі) қарағанда әлдеқайда жақсы принцип. Егер сіз колледждегі футболкаңызды әлі де анда-санда киіп тұрсаңыз, оны міндетті түрде тастаудың қажеті жоқ. Ал көптен бері киілмеген ала шалбар ше? Олар біреудің секонд-хендтегі олжасына айнала берсін.
Екіншіден, географияны пайдаланыңыз. Заттардың әдетте қолданылатын жеріне ең жақын кэште тұрғанына көз жеткізіңіз. Бұл үйді ұйымдастыру туралы кітаптардың көбінде нақты ұсыныс ретінде айтылмаса да, адамдардың өздері тиімді деп сипаттайтын схемаларда үнемі кездеседі. Мысалы, Джули Моргенштерннің «Ішінен сыртқа қарай ұйымдастыру» (Organizing from the Inside Out) кітабында бір адам: «Мен жүгіру және жаттығу құралдарын дәліздегі киім шкафының еденіндегі жәшікте сақтаймын. Оның есікке жақын тұрғаны маған ұнайды», — дейді.
Бұдан сәл экстремалды мысал Уильям Джонстың «Табылған заттарды сақтау» (Keeping Found Things Found) кітабында келтірілген: Дәрігер маған заттарды сақтау әдісі туралы айтып берді. «Балаларым мені оғаш деп ойлайды, бірақ мен заттарды кейінірек қажет болады-ау деген жерге қоямын, тіпті ол логикаға сыймаса да». Мысал ретінде ол шаңсорғыштың қосалқы қаптарын қонақ бөлмедегі диванның артында сақтайтынын айтты. Диванның артында ма? Бұның мағынасы бар ма?.. Белгілі болғандай, шаңсорғыш қолданылғанда, ол көбінесе қонақ бөлмедегі кілемді тазалау үшін пайдаланылады... Шаңсорғыш қабы толып, жаңасы керек болғанда, бұл әдетте қонақ бөлмеде болады. Шаңсорғыш қаптары да дәл сол жерде тұр.
Шкафты ұйымдастыру нұсқаулықтарына әлі енбеген соңғы түсінік — бұл көпдеңгейлі жад иерархиясы. Бір кэштің болуы тиімді, бірақ ең кіші әрі жылдамнан ең үлкен әрі баяуға дейінгі бірнеше деңгейлі кэштердің болуы одан да жақсы. Сіздің заттарыңызға қатысты айтсақ: шкафыңыз — кэштің бір деңгейі, жертөлеңіз — екінші, ал жалға алынған қойма — үшінші деңгей. (Бұлар, әрине, қолжетімділік жылдамдығының кему ретімен орналасқан, сондықтан бір деңгейден келесі деңгейге нені көшіру керектігін шешу үшін LRU принципін негізге алу керек. ) Сонымен қатар, сіз кэштеудің тағы бір деңгейін қосу арқылы жұмысты жылдамдата аласыз: шкафтан да кішірек, жылдамырақ және жақынырақ деңгей.
Томның өте төзімді әйелі төсектің қасындағы киім үйіндісіне қарсылық білдіреді, бірақ Том бұл шын мәнінде өте тиімді кэштеу схемасы екенін айтып табандап тұрып алады. Бақытымызға орай, компьютерлік ғалымдармен әңгімелесуіміз бұл мәселенің де шешімін тапты. Калифорния университетінің (Сан-Диего) когнитивті тұрғыдан іздеу жүйелерін зерттейтін маманы Рик Белью валет-стенд (бір жиынтық киімге арналған аспа) қолдануды ұсынды. Қазіргі кезде олар сирек кездескенімен, валет-стенд — бұл негізінен бір киімдік шкаф, пиджак, галстук пен шалбарға арналған біріктірілген ілгіш. Бұл — сіздің тұрмыстық кэштеу қажеттіліктеріңізге арналған тамаша құрылғы. Бұл компьютерлік ғалымдар тек уақытыңызды үнемдеп қана қоймай, некеңізді де сақтап қалуы мүмкін екенін көрсетеді.
Файлдарды реттеу және жинау
Нені сақтау және оны қайда қою керектігін шешкеннен кейін, соңғы міндет — оны қалай ұйымдастыруды білу. Біз шкафқа не кіретінін және шкафтың қайда болуы керектігін талқыладық, бірақ ішіндегі заттар қалай орналасуы керек?
Осы уақытқа дейін көрген үйді ұйымдастыру бойынша барлық кеңестердегі тұрақты идеялардың бірі — «ұқсастарды ұқсастармен» топтастыру. Және бәлкім, бұл кеңеске Юкио Ногучи сияқты ешкім ашық қарсы шыққан емес. «Мен баса айтқым келеді, — дейді Ногучи, — менің әдісімдегі ең іргелі принцип — файлдарды мазмұнына қарай топтастырмау». Ногучи — Токио университетінің экономисі және кеңсеңіз бен өміріңізді реттеуге арналған «супер» амалдарды ұсынатын кітаптар сериясының авторы. Олардың атаулары шамамен «Супер сендіру әдісі», «Супер жұмыс әдісі», «Супер оқу әдісі» және біз үшін ең маңыздысы — «Супер ұйымдастыру әдісі» деп аударылады.
Экономист ретіндегі мансабының басында Ногучи үнемі ақпарат тасқынының — хат-хабарлар, деректер, қолжазбалардың — астында қалды және күн сайын соның бәрін реттеуге тырысып, уақытының едәуір бөлігін жоғалтты. Сондықтан ол балама іздеді. Ол жай ғана әрбір құжатты атауы мен күні жазылған файлға салып, барлық файлдарды бір үлкен жәшікке жинай бастады. Бұл уақытты үнемдеді — ол әр құжатты қай жерге қою керектігі туралы ойланудың қажеті болмады, бірақ бұл ешқандай ұйымдасқан жүйеге әкелмеді. Содан кейін, 1990-жылдардың басында ол жаңалық ашты: ол файлдарды тек жәшіктің сол жақ шетіне ғана сала бастады. Осылайша «супер» файлдау жүйесі дүниеге келді.
Ногучидің айтуынша, сол жаққа қою ережесі жаңа файлдар үшін де, ескілер үшін де орындалуы керек: мазмұнын пайдалану үшін файлды алған сайын, оны жәшікке қайтарғанда ең сол жақтағы файл ретінде қоюыңыз керек. Файлды іздегенде де әрқашан сол жақтан бастайсыз. Осылайша, ең соңғы қолданылған файлдар ең жылдам табылады.
Ногучи бұл тәжірибенің басталған себебін әр файлды сол жақ шетке қайтару, оны алынған орнына қайта тығып салуға қарағанда оңай болғандығымен түсіндіреді. Ол бұл процедураның тек қарапайым ғана емес, сонымен қатар таңқаларлықтай тиімді екенін бірте-бірте түсінді.
Ногучи файлдау жүйесі бір нәрсені пайдаланып болғаннан кейін орнына қойғанда уақытты үнемдейтіні анық. Дегенмен, бұл қажетті файлдарды табудың жақсы жолы ма деген сұрақ туындайды. Өйткені, бұл басқа тиімділік мамандарының «ұқсас заттарды бірге қою керек» деген ұсыныстарына қайшы келеді. Шынында да, «ұйымдасқан» (organized) сөзінің этимологиясы органдардан тұратын денені еске түсіреді — ал органдар бұл ұқсас пішіні мен функциясы бойынша біріктірілген жасушалар жиынтығы.
Бірақ компьютер ғылымы бізге тиімділік мамандары бере алмайтын нәрсені береді: кепілдіктер.
Ногучи сол кезде білмесе де, оның файлдау жүйесі LRU принципінің жалғасы болып табылады. LRU бізге кэшке бір нәрсе қосқанда ең ескі элементті алып тастау керектігін айтады, бірақ жаңа элементті қайда қою керектігін айтпайды. Бұл сұрақтың жауабы 1970-80 жылдары компьютерлік ғалымдар жүргізген зерттеулерден келеді. Олардың бұл мәселені «өздігінен ұйымдасатын тізімдер» деп атайды және оның құрылымы Ногучидің файлдық дилеммасын дәл қайталайды. Элементтер тізбегі бар деп елестетіңіз және сіз нақты элементтерді табу үшін оларды мерзімді түрде іздеп тұруыңыз керек. Іздеудің өзі сызықтық болуға мәжбүр — сіз элементтерді басынан бастап бір-бірлеп қарап шығуыңыз керек, бірақ іздеген нәрсеңізді тапқаннан кейін оны тізбектің кез келген жеріне қоя аласыз. Іздеуді барынша тиімді ету үшін элементтерді қай жерге қайта қою керек?
Даниэль Слитор мен Роберт Таржанның 1985 жылы жарияланған өздігінен ұйымдасатын тізімдер туралы іргелі еңбегінде (классикалық компьютерлік ғылым үлгісінде) барлық мүмкін сұраныс тізбектері кезінде тізімді ұйымдастырудың түрлі тәсілдерінің ең нашар нәтижелері зерттелді. Іздеу алдыңғы жақтан басталатындықтан, ізделу ықтималдығы ең жоғары элементтерді сол жерге орналастырғыңыз келеді. Бірақ олар қай элементтер болады? Біз тағы да болашақты болжауға мұқтажбыз. «Егер сіз тізбекті алдын ала білсеңіз, — дейді Принстон мен Силикон алқабының арасында жұмыс істейтін Таржан, — бүкіл тізбекке жұмсалатын жалпы уақытты азайту үшін деректер құрылымын баптай аласыз. Бұл оңтайлы офлайн алгоритм: егер қаласаңыз, Құдайдың алгоритмі немесе көктегі алгоритм. Әрине, болашақты ешкім білмейді, сондықтан сұрақ мынада: егер болашақты білмесеңіз, осы көктегі оңтайлы алгоритмге қаншалықты жақындай аласыз? » Слитор мен Таржанның нәтижелері кейбір «өте қарапайым өздігінен реттелетін схемалар, таңқаларлықтай, болашақты болжауға жақын тұрақты факторға дейін жететінін» көрсетті. Атап айтқанда, егер сіз LRU принципін ұстансаңыз — яғни элементті әрқашан тізімнің ең алдына қойып отырсаңыз — онда іздеуге жұмсаған жалпы уақытыңыз болашақты алдын ала білгендегі уақыттан ешқашан екі еседен аспайды. Бұл басқа ешбір алгоритм бере алмайтын кепілдік.
Ногучи файлдау жүйесін іс жүзіндегі LRU принципінің мысалы ретінде тану бізге оның тек тиімді ғана емес, шын мәнінде оңтайлы екенін айтады.
Слитор мен Таржанның нәтижелері бізге тағы бір қызықты жайтты ұсынады. Ногучи файлдау жүйесін қырынан аударсақ, файлдар салынған жәшік жай ғана «үйіндіге» айналады. Ал үйінділердің табиғаты сондай — сіз оларды жоғарыдан төмен қарай іздейсіз және құжатты алған сайын, оны тапқан жеріңізге емес, үстіне қоясыз.
Қысқасы, өздігінен ұйымдасатын тізімдер математикасы радикалды нәрсені ұсынады: үстеліңіздегі үлкен қағаз үйіндісі — бұл сізді кінәлі сезіндіретін берекетсіздік емес, шын мәнінде қолжетімді ең жақсы жобаланған әрі тиімді құрылымдардың бірі. Басқаларға ұйымдастырылмаған қоқыс болып көрінуі мүмкін нәрсе, іс жүзінде — өздігінен ұйымдасатын жүйе. Болашақты білмейінше, заттарды үйіндінің үстіне тастай салу — сіз жасай алатын ең жақсы әрекет. Алдыңғы тарауда біз бір нәрсені сұрыптамай қалдыру, бәрін сұрыптауға уақыт шығындағаннан тиімдірек болатын жағдайларды қарастырдық; ал мұнда оны ұйымдастырудың қажеті жоқтығының мүлдем басқа себебі бар.
Сіз оны әлдеқашан ұйымдастырып қойғансыз.
Ұмыту қисығы
Әрине, жад туралы ешқандай талқылау бізге ең жақын «жад органы» — адам миын айтпай толық болмайды. Соңғы бірнеше онжылдықта компьютерлік ғылымның әсері психологтардың жад туралы түсінігіне төңкеріс әкелді.
Адам жады туралы ғылым 1879 жылы Берлин университетінің жас психологы Герман Эббингаузтан басталды деп есептеледі. Эббингауз адам жадының қалай жұмыс істейтінін түсініп, ақыл-ойды жаратылыстану ғылымдарының математикалық дәлдігімен зерттеуге болатынын көрсеткісі келді. Сондықтан ол өзіне тәжірибе жасай бастады.
Күн сайын Эббингауз мағынасыз буындардың тізімін жаттайтын. Содан кейін ол өзін өткен күндердегі тізімдер бойынша тексеретін. Осы әдетті бір жыл бойы жалғастыра отырып, ол адам жадын зерттеудегі көптеген негізгі нәтижелерді анықтады. Мысалы, ол тізімді бірнеше рет қайталау оның жадта ұзақ сақталуына ықпал ететінін және уақыт өткен сайын адамның дәл есіне түсіре алатын элементтер саны азаятынын растады.
Оның нәтижелері жадтың уақыт өте келе қалай өшетінін көрсететін графикті сызып шықты, ол бүгінде психологтар арасында «ұмыту қисығы» (the forgetting curve) деп аталады.
Эббингауз нәтижелері адам жадының сандық ғылымына сенімділік ұялатты, бірақ олар бір жұмбақты ашық қалдырды. Неге дәл осындай қисық? Бұл адам жадының жақсы немесе жаман екенін білдіре ме? Мұндағы астарлы сыр неде? Бұл сұрақтар жүз жылдан астам уақыт бойы психологтардың болжамдары мен зерттеулеріне түрткі болып келеді.
1987 жылы Карнеги-Меллон университетінің психологы және компьютерлік ғалымы Джон Андерсон университет кітапханаларының ақпаратты іздеу жүйелері туралы оқиды. Андерсонның мақсаты — ол солай ойлады — бұл жүйелердің дизайны адам жадын зерттеуге қалай негізделуі мүмкін екендігі туралы жазу болатын. Бірақ керісінше болды: ол ақпараттану ғылымы ақыл-ойды зерттеудегі жетіспейтін бөлікті бере алатынын түсінді.
«Ұзақ уақыт бойы, — дейді Андерсон, — мен адам жадының бар теорияларында, соның ішінде өзімдікінде де бір нәрсе жетіспейтінін сездім. Негізінде, бұл теориялардың барлығы жадыны ерікті және оңтайлы емес конфигурация ретінде сипаттайды... Мен жадтың негізгі процестері өте бейімделгіш, тіпті оңтайлы екенін бұрыннан сезетінмін; бірақ бұл ойды дәлелдейтін негізді көре алмаған едім. Ақпаратты іздеу бойынша компьютерлік ғылым жұмыстарында мен сол негізді таптым».
Ұмыту туралы ойлаудың табиғи жолы — біздің ақыл-ойымызда орын таусылып жатыр деп есептеу. Андерсонның адам жады туралы жаңа тұжырымдамасының негізгі идеясы — мәселе сақтауда емес, ұйымдастыруда болуы мүмкін. Оның теориясы бойынша, ақыл-ойдың жады үшін шексіз сыйымдылығы бар, бірақ бізде оларды іздеуге шектеулі уақыт қана берілген. Андерсон мұны бір ғана ерікті ұзын сөресі бар кітапханамен салыстырды — Конгресс кітапханасы масштабындағы Ногучи файлдау жүйесі. Ол сөреге қанша зат сыйғызсаңыз да болады, бірақ бір нәрсе алдыңғы жаққа неғұрлым жақын болса, оны табу соғұрлым жылдам болады.
Жақсы адам жадының кілті — жақсы компьютер кэшінің кілтімен бірдей: болашақта қай элементтердің қажет болу ықтималдығы жоғары екенін болжау.
Болашақты болжау мүмкін болмаған жағдайда, адам әлемінде мұндай болжамдар жасаудың ең жақсы тәсілі — әлемнің өзін түсінуді талап етеді. Андерсон өзінің әріптесі Лаэль Скулермен бірге Эббингауз стиліндегі зерттеулерді адам санасына емес, адам қоғамына жүргізуге кірісті. Сұрақ қарапайым болды: әлемнің өзі «ұмытуды» қалай сипаттайды — оқиғалар мен сілтемелер уақыт өте келе қалай өшеді? Андерсон мен Скулер үш адамдық ортаны талдады: New York Times тақырыптары, ата-аналардың балаларымен сөйлескен жазбалары және Андерсонның жеке электрондық поштасы. Барлық салаларда олар бір сөз қолданылғаннан кейін бірден қайта пайда болу ықтималдығы ең жоғары екенін және уақыт өткен сайын оны қайта көру ықтималдығы төмендейтінін анықтады.
Басқаша айтқанда, шындықтың өзі Эббингауз қисығын қайталайтын статистикалық құрылымға ие.
Бұл керемет нәрсені меңзейді. Егер нәрселердің біздің санамыздан өшу үлгісі біздің айналамыздағы қолданыстан шығу үлгісімен бірдей болса, онда Эббингауз ұмыту қисығына өте жақсы түсініктеме бар — атап айтқанда, бұл мидың әлемге мінсіз бапталуы, яғни дәл қажет болуы мүмкін нәрселерді қолжетімді етуі.

Адам жады және адам ортасы. Сол жақ панельде Эббингаузтың тізімді алғаш жаттағаннан кейін қанша сағат күткеніне байланысты дұрыс есіне түсірген мағынасыз буындардың пайызы көрсетілген. Оң жақ панельде сөздің New York Times тақырыптарында қайта пайда болу мүмкіндігі оның алдыңғы басылымнан бергі уақытына байланысты көрсетілген.
Уақытқа басымдық бере отырып, кэштеу бізге жадтың міндетті түрде ымыраға келуді (tradeoffs) және белгілі бір «нөлдік қосындыны» талап ететінін көрсетеді. Сіз үстеліңізге барлық кітапхана кітаптарын жинай алмайсыз, дүкеннің алдыңғы жағына барлық тауарларды қоя алмайсыз, газеттің бірінші бетіне барлық тақырыптарды сыйғыза алмайсыз және үйіндінің үстіне барлық қағаздарды қоя алмайсыз. Сол сияқты, сіз барлық фактілерді, жүздерді немесе есімдерді жадыңызда алдыңғы қатарда ұстай алмайсыз.
«Көптеген адамдар адам жады оңтайлы емес деген пікірде, — деп жазды Андерсон мен Скулер. — Олар жадтың көптеген сәтсіздіктерін алға тартады. Дегенмен, бұл сыншылар адам жадының алдында тұрған міндетті — үлкен көлемдегі естеліктерді басқаруға тырысуды бағаламайды. Үлкен деректер қорын басқаруға жауапты кез келген жүйеде іздеу сәтсіздіктері болуы керек. Шексіз сандағы элементтерге қолжетімділікті сақтау тым қымбатқа түседі».
Бұл түсінік өз кезегінде адам жады туралы екінші жаңалыққа әкелді. Егер бұл ымыралар шынымен де болмай қоймайтын болса және ми айналадағы әлемге оңтайлы түрде бапталған болса, онда біз жас ұлғайған сайын болатын «когнитивті құлдырау» деп атайтын нәрсе, іс жүзінде мүлдем басқа нәрсе болуы мүмкін.
Тәжірибе озбырлығы
Үлкен кітап — үлкен қолайсыздық. — КАЛЛИМАХ (Б. З. Д. 305–410 ЖЖ. ), АЛЕКСАНДРИЯ КІТАПХАНАШЫСЫ
Неге олар бүкіл ұшақты сол «қара жәшіктің» материалынан жасамайды? — СТИВЕН РАЙТ
Компьютерлік жад иерархиясына, яғни кэштер каскадына деген қажеттілік көбінесе бүкіл жадты ең қымбат аппараттық құралдан жасауға шамамыздың келмейтіндігінен туындайды. Мысалы, қазіргі компьютерлердегі ең жылдам кэш SRAM (статикалық жедел сақтау құрылғысы) деп аталатын нәрседен жасалған, оның бір байты қатты денелі дискілердегі (SSD) флэш-жадтан шамамен мың есе қымбат. Бірақ кэштеудің негізгі себебі бұдан да тереңде жатыр. Шын мәнінде, біз тек ең жылдам жадты пайдаланатын арнайы машина алсақ та, бізге бәрібір кэштер қажет болар еді.
Джон Хеннесси түсіндіргендей, өлшемнің өзі жылдамдықты тежеуге жеткілікті: «Бір нәрсені үлкейткенде, ол табиғи түрде баяулайды, солай емес пе? Егер қаланы үлкейтсеңіз, А нүктесінен Б нүктесіне жетуге көбірек уақыт кетеді. Егер кітапхананы үлкейтсеңіз, ондағы кітапты табуға көбірек уақыт кетеді. Егер үстеліңіздегі қағаз үйіндісі үлкен болса, сізге қажетті қағазды табуға көбірек уақыт кетеді, солай ма? Кэштер — бұл мәселенің шешімі... Мысалы, дәл қазір процессор сатып алсаңыз, чипте 1-деңгейлі кэш пен 2-деңгейлі кэш болады. Себебі — тіпті чиптің ішінде екі кэштің болуы! — процессордың цикл жиілігіне ілесу үшін бірінші деңгейлі кэштің өлшемі шектеулі болады».
Амалсыз, жад неғұрлым үлкен болса, одан ақпаратты іздеуге және алуға соғұрлым көп уақыт кетеді.
Отыздан асқан Брайан мен Том, мысалы, «тіл ұшында тұрған» біреудің есімін еске түсіруді күтіп, әңгіме барысында жиі кідіріп қалатынын байқайды. Сонымен қатар, он жасында Брайанның екі ондық мектептес досы болған; жиырма жылдан кейін оның телефонында жүздеген контакт, Facebook-те мыңдаған досы бар және төрт қалада тұрып үлгерді, олардың әрқайсысында өз достар, таныстар мен әріптестер ортасы бар. Том өзінің академиялық мансабында жүздеген әріптестерімен жұмыс істеп, мыңдаған студенттерге сабақ берді. (Шын мәнінде, осы кітаптың өзі шамамен жүз адаммен кездесуді және мыңдаған дереккөзге сілтеме жасауды талап етті. ) Мұндай әсерлер тек әлеуметтік байланыстармен шектелмейді: әдеттегі екі жасар бала екі жүз сөз біледі; әдеттегі ересек адам отыз мың сөз біледі. Ал эпизодтық жадқа келсек, әр жыл адамның жалпы өмірлік тәжірибесіне үштен бір миллион сергек минут қосады.
Осы тұрғыдан алғанда, біздің — немесе кез келген адамның — ақыл-оймен бұған ілесе алуымыз таңқаларлық. Таңқаларлық нәрсе — жадтың баяулауы емес, соншалықты көп деректер жиналған кезде ақыл-ойдың қалайша су бетінде қалып, жауап бере алатындығы.
Егер жадтың негізгі мәселесі сақтау емес, ұйымдастыру болса, онда бұл біздің қартаюдың ақыл-ой қабілеттеріне әсері туралы түсінігімізді өзгертуі тиіс.
Тюбинген университетіндегі Майкл Рамскар бастаған психологтар мен лингвистер тобының соңғы жұмысы біз «когнитивті құлдырау» (іркілістер мен ақпаратты еске түсірудегі қателіктер) деп атайтын нәрсе іздеу процесінің баяулауы немесе нашарлауы емес, (кем дегенде ішінара) біз шарлауымыз керек ақпарат көлемінің үнемі өсіп отыруының бұлжымас салдары болуы мүмкін екенін көрсетті. Қартаю әкелетін басқа да қиындықтарға қарамастан, үлкенірек жад қорын басқаруы тиіс егде адамдардың миы күн өткен сайын күрделірек есептеуіш мәселелерді (деректерді өңдеу мен талдауға қатысты тапсырмалар) шешіп жатыр. Қарттар жастардың жылдамдығына: «Мұның бәрі сендердің әлі ештеңе білмейтіндіктеріңнен! » — деп әзілдей алады.
Рамскар тобы тіл мысалына назар аудара отырып, қосымша ақпараттың адам жадына әсерін көрсетті. Бірқатар симуляциялар арқылы зерттеушілер көп нәрсені білудің өзі сөздерді, есімдерді, тіпті әріптерді тану кезінде істі қиындататынын дәлелдеді. Ұйымдастыру схемаңыз қаншалықты жақсы болса да, көп нәрсенің ішінен іздеу міндетті түрде ұзағырақ уақыт алады. Бұл біздің ұмытып жатқанымыз емес; бұл біздің есімізде сақтап жатқанымыз. Біз архивке айналып барамыз.
Рамскардың айтуынша, жадтың бұлжымас есептеуіш талаптарын түсіну адамдарға қартаюдың когнитицияға (танымдық қабілетке) әсерімен келісуге көмектесуі керек. «Меніңше, егде адамдар жасай алатын ең маңызды нақты нәрсе — олардың ақыл-ойы табиғи ақпаратты өңдеу құрылғылары екендігі туралы идеяны қабылдауға тырысу», — деп жазады ол. «Жас ұлғайған сайын көңілді қалдыратын кейбір нәрселер (мысалы, есімдерді еске түсіру! ) — бұл біз сүзуіміз керек ақпарат мөлшерінің функциясы... және бұл міндетті түрде ақыл-ойдың бұзылуының белгісі емес». Ол айтқандай: «Қазіргі уақытта «құлдырау» деп аталатын нәрселердің көбі — жай ғана үйрену процесі».
Кэштеу (деректерді жылдам қолжетімді жерде сақтау) бізге не болып жатқанын түсінуге қажетті тілді береді. Біз «мидың мүдіруі» деудің орнына «кэштен таба алмау» (cache miss) деуіміз керек. Ақпаратты іздеудегі сирек кездесетін іркілістер — бізге қажет нәрсенің ақыл-ойымыздың алдыңғы қатарында болуының қалған уақытта қаншалықты пайдалы екенін еске салады.
Сондықтан жасыңыз ұлғайып, осындай кездейсоқ кідірістерді сезіне бастағанда, жігерленіңіз: кідіріс уақыты — бұл ішінара сіздің тәжірибеңіздің ауқымының көрсеткіші. Еске түсіруге жұмсалған күш — сіздің қаншалықты көп білетіндігіңіздің дәлелі. Ал бұл іркілістердің сиректігі — ең маңызды нәрселерді қолжетімді жерде ұстай отырып, оларды қаншалықты жақсы реттегеніңіздің айғағы.
*Белгісіз себептермен, «Менің жеке Айдахом» (My Own Private Idaho) фильмін Мэн штатында бәрінен де қатты жақсы көреді.
*Сіз сондай-ақ компьютеріңізді электрондық құжаттарды үйінді түрінде көрсетуге мәжбүрлей аласыз. Компьютерлердің әдепкі файлдық интерфейсі сізді папкаларды алфавиттік ретпен шертуге мәжбүрлейді, бірақ LRU-дың (соңғы қолданылғандарды бірінші қою) күші мұны өзгерту керек екенін және файлдарды «Аты» бойынша емес, «Соңғы ашылған» бойынша көрсету керектігін меңзейді. Сіз іздеген нәрсе әрдайым дерлік тізімнің басында немесе соған жақын болады.
5 Жоспарлау (Scheduling)
Бірінші кезектегі маңызды істер
Біз күндерімізді қалай өткізсек, өмірімізді де солай өткіземіз. — ЭННИ ДИЛЛАРД
«Неге бізге жоспарлау теориясы туралы кітап жазбасқа? » — деп сұрадым мен... «Бұл көп уақыт алмауы тиіс! » Кітап жазу, соғыс жүргізу сияқты, жиі үлкен қате есептеулерге әкеледі. Он бес жыл өтсе де, «Жоспарлау» (Scheduling) әлі аяқталған жоқ. — ЮДЖИН ЛОУЛЕР
Дүйсенбі таңертең, сізде әлі бос кесте мен орындалуы тиіс тапсырмалардың ұзын тізімі бар. Кейбірін басқалары аяқталғаннан кейін ғана бастауға болады (ыдыс жуғыш машинаны босатпайынша, оған жаңасын сала алмайсыз), ал кейбірін белгілі бір уақыттан кейін ғана бастауға болады (егер қоқысты сейсенбі кештен ерте шығарсаңыз, көршілер шағымданады). Кейбірінің қатаң мерзімі бар, басқаларын кез келген уақытта істеуге болады, ал көбісі осы екі аралықта. Кейбірі шұғыл, бірақ маңызды емес. Кейбірі маңызды, бірақ шұғыл емес. «Біз — қайталап істейтін ісіміздің нәтижесіміз», — деп Аристотельдің айтқаны есіңізге түседі; мейлі ол еден жуу, отбасымен көбірек уақыт өткізу, салықты уақытында тапсыру немесе француз тілін үйрену болсын.
Сонымен не істеу керек, қашан және қандай ретпен? Сіздің өміріңіз күтіп тұр.
Күндізгі істерімізді реттеудің қандай да бір жолын әрқашан тапсақ та, әдетте өзімізді бұл іске аса шебер деп санамаймыз — сондықтан уақытты басқару туралы нұсқаулықтар тұрақты бестселлер болып табылады. Өкінішке орай, олардағы нұсқаулар жиі бір-біріне қайшы келеді. «Істерді ретке келтіру» (Getting Things Done) екі минут немесе одан аз уақыт алатын кез келген тапсырманы ойға келген бойда дереу орындау саясатын қолдайды. Оған бәсекелес бестселлер «Бақаны же! » (Eat That Frog! ) ең қиын тапсырмадан бастап, одан әрі оңайырақ істерге көшуді ұсынады. «Қазіргі әдет» (The Now Habit) алдымен әлеуметтік кездесулер мен демалыс уақытын жоспарлап, содан кейін ғана бос орындарды жұмыспен толтыруды ұсынады — біз әдетте жасайтын керісінше әдіс емес. «Американдық психологияның атасы» Уильям Джеймс: «Аяқталмаған тапсырманың мәңгілік асылып тұруынан артық қажытатын ештеңе жоқ», — деп тұжырымдайды, бірақ Фрэнк Партной «Күте тұр» (Wait) кітабында істерді дереу істемеудің артықшылықтарын алға тартады.
Әрбір гурудың өз жүйесі бар және кімді тыңдау керектігін білу қиын.
Уақытты жұмсау ғылымға айналуда
Уақытты басқару уақыттың өзі сияқты ескі мәселе болып көрінгенімен, жоспарлау ғылымы өнеркәсіптік революцияның машина цехтарында басталды. 1874 жылы ауқатты заңгердің ұлы Фредерик Тейлор Гарвардқа қабылдаудан бас тартып, Филадельфиядағы Enterprise Hydraulic Works мекемесінде машинист шәкірті болды. Төрт жылдан кейін ол шәкірттігін аяқтап, Midvale Steel Works зауытында жұмыс істей бастады, онда ол станок операторынан цех шеберіне, соңында бас инженерге дейін көтерілді. Бұл процессте ол өзі бақылайтын машиналардың (және адамдардың) уақыты тиімді пайдаланылмай жатқанына сенімді болды, бұл оны «Ғылыми басқару» (тиімділікті арттыру үшін жұмыс процестерін талдау және синтездеу теориясы) деп аталатын пәнді дамытуға итермеледі.
Тейлор жоспарлау кеңсесін құрды, оның орталығында цехтың кестесін бәріне көрсететін хабарландыру тақтасы болды. Тақтада цехтағы әрбір машина, сол машина орындап жатқан тапсырма және оны күтіп тұрған барлық тапсырмалар бейнеленген. Бұл тәжірибені Тейлордың әріптесі Генри Гант толықтырды, ол 1910 жылдары Гант диаграммаларын (жоба тапсырмаларының мерзімін көрсететін бағанды график) жасап шығарды. Бұл диаграммалар Гувер бөгетінен бастап мемлекетаралық тас жолдар жүйесіне дейінгі жиырмасыншы ғасырдың ең өршіл құрылыс жобаларын ұйымдастыруға көмектесті. Бір ғасыр өтсе де, Гант диаграммалары әлі де Amazon, IKEA және SpaceX сияқты фирмалардың жоба менеджерлерінің қабырғалары мен экрандарын безендіріп тұр.
Тейлор мен Гант жоспарлауды зерттеу нысанына айналдырып, оған визуалды және концептуалды форма берді. Бірақ олар қай кестенің ең жақсы екенін анықтаудың негізгі мәселесін шешкен жоқ. Бұл мәселенің шешілуі мүмкін екендігі туралы алғашқы ишара бірнеше ондаған жылдар өткен соң, 1954 жылы RAND корпорациясының математигі Селмер Джонсон жариялаған мақалада ғана пайда болды.
Джонсон қарастырған сценарий кітап түптеу болды, мұнда әрбір кітапты бір машинада басып шығарып, содан кейін екіншісінде түптеу керек. Бірақ бұл екі машиналы қондырғының ең көп таралған мысалы үйімізге әлдеқайда жақын: кір жуу. Киім жуған кезде олар жуғыштан және кептіргіштен кезекпен өтуі керек және әртүрлі кірлер әрқайсысында әртүрлі уақыт алады. Өте лас кірді жуу ұзағырақ болуы мүмкін, бірақ кептіру уақыты әдеттегідей болады; үлкен кірді кептіру ұзағырақ болуы мүмкін, бірақ жуу уақыты әдеттегідей болады. Сонымен, Джонсон сұрақ қойды: егер сізде бір күнде жуатын бірнеше себет кір болса, оларды орындаудың ең жақсы жолы қандай?
Оның жауабы мынадай болды: сіз ең аз уақыт алатын жалғыз қадамды — ең тез жуылатын немесе кептірілетін кірді табудан бастауыңыз керек. Егер бұл ең қысқа қадам жуғыш машинаға қатысты болса, сол кірді бірінші орындауды жоспарлаңыз. Егер ол кептіргішке қатысты болса, оны соңғы орындауды жоспарлаңыз. Қалған кірлер үшін бұл процесті кестенің екі шетінен ортасына қарай жылжып отырып қайталаңыз.
Интуитивті түрде Джонсонның алгоритмі (мәселені шешуге арналған қадамдық нұсқаулық) жұмыс істейді, өйткені кірлерді қалай реттесеңіз де, басында жуғыш жұмыс істеп, кептіргіш жұмыс істемейтін уақыт, ал соңында кептіргіш жұмыс істеп, жуғыш жұмыс істемейтін біраз уақыт болады. Ең қысқа жуу уақыттарын басына, ал ең қысқа кептіру уақыттарын соңына қою арқылы сіз қабаттасуды — жуғыш пен кептіргіш бір уақытта жұмыс істейтін сәтті — барынша арттырасыз. Осылайша, кір жууға жұмсалған жалпы уақытты абсолюттік минимумға дейін азайта аласыз. Джонсонның талдауы жоспарлаудың алғашқы оңтайлы алгоритмін берді: ең жеңіл жуудан бастаңыз, ең кішкентай себетпен аяқтаңыз.
Джонсонның мақаласы өзінің тікелей қолданылуынан бөлек, екі тереңірек ойды ашты: біріншіден, жоспарлауды алгоритмдік түрде көрсетуге болатыны, екіншіден, оңтайлы жоспарлау шешімдерінің бар екендігі. Бұл гипотетикалық зауыттардың алуан түріне арналған стратегияларды зерттейтін ауқымды әдебиеттің басталуына түрткі болды.
Біз осы әдебиеттің шағын бөлігіне тоқталамыз: кітап түптеу немесе кір жуудан айырмашылығы, бір ғана машина үшін жоспарлаумен айналысатын бөлігі. Өйткені ең маңызды жоспарлау мәселесі тек бір машинаны қамтиды: ол — өзіміз.
Мерзімдермен жұмыс істеу
Бір машиналы жоспарлау кезінде біз бірден бір мәселеге тап боламыз. Джонсонның кітап түптеу туралы жұмысы екі машинаның барлық жұмыстарын аяқтауы үшін қажетті жалпы уақытты азайтуға негізделген болатын. Алайда, бір машиналы жоспарлау жағдайында, егер біз берілген барлық тапсырмаларды орындайтын болсақ, онда кез келген кесте бірдей уақыт алады; реттілік маңызды емес.
Бұл өте іргелі және интуицияға қайшы келетін жайт, сондықтан оны қайталаған жөн. Егер сізде бір ғана машина болса және сіз барлық тапсырмаларыңызды орындайтын болсаңыз, онда тапсырмалардың кез келген реттілігі сізге бірдей уақытты алады.
Осылайша, біз бір машиналы жоспарлаудың бірінші сабағын тіпті бастамай тұрып-ақ кездестіреміз: мақсаттарыңызды айқын етіңіз. Біз ұпайды қалай есептейтінімізді білмейінше, қандай да бір кестені жеңімпаз деп жариялай алмаймыз. Бұл компьютерлік ғылымдағы ортақ тақырып: жоспар құрмас бұрын, алдымен метриканы (тиімділікті бағалау үшін қолданылатын өлшем бірлігі) таңдау керек. Белгілі болғандай, біз таңдаған метрика қай жоспарлау тәсілінің ең жақсы болатынына тікелей әсер етеді.
Бір машиналы жоспарлау бойынша алғашқы мақалалар Джонсонның жұмысынан кейін тез пайда болды және бірнеше ықтимал метрикаларды ұсынды. Әрбір метрика үшін олар қарапайым, оңтайлы стратегия тапты.
Мысалы, тапсырмалардың орындалу мерзімі (due date) болуы үйреншікті жағдай, ал тапсырманың кешігуі оның мерзімінен қаншалықты асып кеткендігімен өлшенеді. Олай болса, тапсырмалар жиынтығының «максималды кешігуін» кез келген тапсырманың мерзімінен ең алыс өткен уақыты ретінде қарастыруға болады — бұл сіздің жұмыс берушіңізді аттестация кезінде қызықтыруы мүмкін нәрсе. (Немесе бөлшек сауда немесе қызмет көрсету саласындағы тұтынушыларыңызды қызықтыруы мүмкін, мұнда «максималды кешіктірілген» тапсырма ең ұзақ күту уақытына тап болған тұтынушыға сәйкес келеді. )
Егер сіз максималды кешігуді азайтуды көздесеңіз, онда ең жақсы стратегия — мерзімі ең жақын тапсырмадан бастап, мерзімі ең соңғы тапсырмаға қарай жылжу. «Ең жақын орындау мерзімі» (Earliest Due Date) деп аталатын бұл стратегия өте интуитивті. (Мысалы, қызмет көрсету саласында, әрбір келген клиенттің «мерзімі» оның есіктен кірген сәті болса, бұл жай ғана тұтынушыларға келу кезегімен қызмет көрсетуді білдіреді. ) Бірақ оның кейбір салдары таңқаларлық. Мысалы, әрбір тапсырманы орындауға қанша уақыт кететіні мүлдем маңызды емес: ол жоспарды өзгертпейді, сондықтан оны білудің де қажеті жоқ. Маңыздысы — тапсырмалардың қашанға дейін дайын болуы керектігі.
Сіз өз жұмысыңызды орындау үшін «Ең жақын орындау мерзімі» әдісін қолданып жүрген боларсыз, бұл жағдайда сізге компьютерлік ғылымның бұл стратегияның ақылға қонымды екенін айтуы қажет емес шығар. Бірақ сіз оның оңтайлы стратегия екенін білмеген боларсыз. Дәлірек айтқанда, егер сізді тек бір метрика — максималды кешігуді азайту ғана қызықтырса, ол оңтайлы болып табылады. Егер бұл сіздің мақсатыңыз болмаса, онда басқа стратегия қолданылуы мүмкін.
Мысалы, тоңазытқышты қарастырайық. Егер сіз CSA (қоғамдастық қолдайтын ауыл шаруашылығы) жазылымы бар көптеген адамдардың бірі болсаңыз, онда әр бір-екі апта сайын есігіңіздің алдына бірден көптеген жаңа өнімдер келеді. Әрбір өнімнің бұзылу мерзімі әртүрлі — сондықтан оларды «Ең жақын орындау мерзімі» бойынша, яғни бұзылу кестесіне сәйкес жеу ақылға қонымды бастапқы нүкте сияқты көрінеді. Бірақ бұл бәрі емес. «Ең жақын орындау мерзімі» максималды кешігуді азайту үшін оңтайлы, демек ол сіз жеуге тиіс ең шіріген бір заттың шіріктік деңгейін төмендетеді; бұл тамақ жеу үшін ең тәбет ашарлық метрика болмауы мүмкін.
Мүмкін, біз оның орнына бұзылатын тағамдардың санын азайтқымыз келеді. Мұнда Мур алгоритмі (кешіктірілген тапсырмалар санын азайтуға арналған әдіс) бізге ең жақсы жоспарды береді. Мур алгоритмі бойынша, біз «Ең жақын орындау мерзімі» сияқты бастаймыз — өнімдерімізді бұзылу мерзімі бойынша, ең ертесінен бастап бір-бірлеп кестеге қоямыз. Алайда, келесі тағамды уақытында жеп үлгермейтініміз белгілі болған бойда, біз тоқтап, бұрын жоспарланған тағамдарды қарап шығамыз және ең үлкенін (яғни, тұтыну үшін ең көп күн қажет ететінін) алып тастаймыз. Мысалы, бұл алты рет жеуді қажет ететін қарбызды жеуден бас тартуды білдіруі мүмкін; оны тіпті бастамау қалған нәрселерге әлдеқайда ертерек жетуге мүмкіндік береді. Содан кейін біз бұл үлгіні қайталаймыз: тағамдарды бұзылу мерзімі бойынша тіземіз және артта қалып жатқанда, бұрын жоспарланған ең үлкен затты лақтырып тастаймыз. Қалғанның бәрін ештеңе бұзылмайтын етіп ретпен жеуге болатын болса, біздің жоспарымыз дайын.
Мур алгоритмі лақтырып тастау керек заттардың санын азайтады. Әрине, сіз тағамды компост жасауға, жергілікті тамақ банкіне өткізуге немесе көршіңізге беруге де болады. Өндірістік немесе бюрократиялық контекстте, сіз жобадан жай ғана бас тарта алмайтын, бірақ кешіктірілген жобалардың ауырлығы емес, саны сізді көбірек толғандыратын болса, Мур алгоритмі сол кешіктірілген тапсырмалардың қалай орындалатынына бейжай қарайды. Негізгі кестеден шығарылған кез келген нәрсені ең соңында, кез келген ретпен жасауға болады; бұл маңызды емес, өйткені олардың бәрі бәрібір кешіктірілген.
Істерді ретке келтіру
Қиын істерді олар оңай кезде жасаңыз және ұлы істерді олар кішкентай кезде істеңіз. — ЛАО-ЦЗЫ
Кейде орындалу мерзімі біздің негізгі уайымымыз емес, біз жай ғана істерді бітіргіміз келеді: мүмкіндігінше көп нәрсені және тезірек. Бұл қарапайым көрінетін ниетті нақты жоспарлау метрикасына айналдыру ойлағаннан қиынырақ болып шықты.
Бір тәсіл — сыртқы бақылаушының көзқарасымен қарау. Бір машиналы жоспарлауда біз істейтін ештеңе барлық тапсырмаларды аяқтауға кететін уақытты өзгерте алмайтынын атап өттік — бірақ егер әрбір тапсырма, мысалы, күтіп тұрған клиентті білдірсе, онда олардың жалпы уақытын мүмкіндігінше аз алудың жолы бар. Дүйсенбі таңертең күн тәртібінде төрт күндік жоба мен бір күндік жоба бар деп елестетіңіз. Егер сіз үлкен жобаны бейсенбі күні түстен кейін (4 күн өтті) және кішігірім жобаны жұма күні түстен кейін (5 күн өтті) тапсырсаңыз, клиенттер жалпы 4 + 5 = 9 күн күтеді. Алайда, егер реттілікті өзгертсеңіз, кішігірім жобаны дүйсенбіде, ал үлкенін жұмада аяқтай аласыз, бұл кезде клиенттер жалпы бар болғаны 1 + 5 = 6 күн күтеді. Қай жағдайда да бұл сіз үшін толық жұмыс аптасы, бірақ қазір сіз клиенттеріңіздің жиынтық уақытын үш күнге үнемдедіңіз. Жоспарлау теоретиктері бұл метриканы «аяқталу уақыттарының қосындысы» деп атайды.
Аяқталу уақыттарының қосындысын азайту өте қарапайым оңтайлы алгоритмге әкеледі, ол <span data-term="true"> «Ең қысқа өңдеу уақыты» </span> (Shortest Processing Time) деп аталады: әрқашан қолыңыздан келетін ең жылдам тапсырманы орындаңыз.
Сіздің әрбір жұмысыңызды асыға күтіп отырған клиенттеріңіз болмаса да, «Ең қысқа өңдеу уақыты» істерді бітіруге көмектеседі. (Бұл әдістің «Істерді ретке келтіру» (Getting Things Done) кітабындағы екі минуттан аз уақыт алатын кез келген тапсырманы дереу орындау ұсынысымен сәйкес келуі таңқаларлық емес шығар. ) Тағы да айта кетейік, жұмысыңызға кететін жалпы уақытты өзгерту мүмкін емес, бірақ «Ең қысқа өңдеу уақыты» орындалмаған тапсырмалар санын мүмкіндігінше тез азайту арқылы көңіліңізді тыныштандыруы мүмкін. Оның «аяқталу уақыттарының қосындысы» метрикасын басқаша да көрсетуге болады: бұл ең алдымен істер тізімінің (to-do list) ұзындығын қысқартуға назар аудару сияқты. Егер әрбір аяқталмаған іс жаныңызға батқан тікендей болса, онда ең оңай заттарды жылдам бітіру біраз жеңілдік әкелуі мүмкін.
Әрине, барлық аяқталмаған істер бірдей емес. Ас үйдегі нағыз өртті сөндіру, клиентке жылдам электрондық хат жіберу арқылы «өртті сөндіруден» бұрын жасалуы керек, тіпті біріншісі біраз ұзағырақ уақыт алса да. Жоспарлауда маңыздылықтың бұл айырмашылығы «салмақ» (weight) деп аталатын айнымалымен белгіленеді. Сіз өз істеріңіздің тізімін қарап жатқанда, бұл салмақ тура мағынада сезілуі мүмкін — әрбір тапсырманы аяқтау арқылы иығыңыздан түсетін жүк. Тапсырманың аяқталу уақыты сол жүкті қанша уақыт көтеріп жүргеніңізді көрсетеді, сондықтан салмақталған аяқталу уақыттарының қосындысын (яғни, әрбір тапсырманың ұзақтығын оның салмағына көбейтіндісін) азайту — бүкіл күн тәртібіңізді орындау кезіндегі жалпы қысымды азайтуды білдіреді.
Бұл мақсат үшін оңтайлы стратегия — «Ең қысқа өңдеу уақытының» қарапайым модификациясы: әрбір тапсырманың салмағын оны аяқтауға кететін уақытқа бөліңіз, содан кейін алынған нәтиже бойынша «уақыт бірлігіне шаққандағы маңыздылығы» (егер салмақ метафорасын жалғастырғыңыз келсе, оны «тығыздық» деп атаңыз) ең жоғарыдан ең төменгіге қарай жұмыс істеңіз. Күнделікті тапсырмаларыңыздың әрқайсысына маңыздылық деңгейін тағайындау қиын болса да, бұл стратегия жақсы ережені ұсынады: егер тапсырма екі есе ұзақ уақыт алса, ол екі есе маңызды болғанда ғана оған басымдық беріңіз.
Бизнес контекстінде «салмақ» әрбір тапсырма әкелетін ақша мөлшеріне оңай аударылуы мүмкін. Сыйақыны ұзақтыққа бөлу ұғымы, демек, әрбір тапсырмаға сағаттық мөлшерлеме тағайындауға тең келеді. (Егер сіз консультант немесе фрилансер болсаңыз, бұл сіз үшін бұрыннан жасалған болуы мүмкін: әрбір жобаның ақысын оның көлеміне бөліп, ең жоғары сағаттық мөлшерлемеден ең төменгіге қарай жұмыс істеңіз. ) Қызықтысы, бұл салмақталған стратегия жануарлардың азық іздеуін зерттеуде де кездеседі, мұнда доллар мен центтің орнын жаңғақтар мен жидектер басады. Жануарлар тағамнан энергия алу жылдамдығын барынша арттыруға тырыса отырып, тағамдарды олардың калориялық энергиясының оны алуға және жеуге кететін уақытқа қатынасы бойынша таңдауы керек — және іс жүзінде солай істейтін сияқты.
Табысқа емес, қарызға қатысты қолданылғанда, дәл осы принцип «қарыз көшкіні» (debt avalanche) деп аталатын стратегияны береді. Бұл қарызды азайту стратегиясы сіздің қарыздарыңыздың саны мен көлемін мүлдем ескермеуді және ақшаңызды жай ғана ең жоғары пайыздық мөлшерлемесі бар қарызға бағыттауды ұсынады. Бұл уақыт бірлігіне шаққандағы маңыздылық бойынша жұмыс істеуге дәлме-дәл сәйкес келеді. Және бұл сіздің қарыз ауыртпалығыңызды мүмкіндігінше тез азайтатын стратегия.
Егер, екінші жағынан, сізді қарыз көлемінен гөрі қарыздардың саны көбірек мазаласа — мысалы, көптеген шоттар мен коллекторлардың қоңыраулары пайыздық мөлшерлемелердегі айырмашылықтан гөрі маңыздырақ болса — онда сіз «Ең қысқа өңдеу уақытының» салмақталмаған, «жай ғана істерді бітіру» нұсқасына ораласыз, яғни ең кішкентай қарыздарды жолдан алып тастау үшін бірінші төлейсіз. Қарызды азайту ортасында бұл тәсіл «қарыз қар кесегі» (debt snowball) ретінде белгілі. Адамдар іс жүзінде қарыздарының долларлық сомасын азайтуға басымдық беруі керек пе, әлде олардың санын ба, бұл әлі күнге дейін танымал басылымдарда да, экономикалық зерттеулерде де белсенді дау болып қала береді.
Мәселелерімізді таңдау
Мәселелерді таңдау
Прокрастинацияға жаңа көзқарас
Бұл бізді бір машиналы жоспарлау туралы талқылауымыздың басында айтылған ойға қайта оралтады. «Бір сағаты бар адам уақыттың қанша екенін біледі; екі сағаты бар адам ешқашан сенімді болмайды» деген сөз бар. Компьютерлік ғылым бізге бір машиналы жоспарлаудағы әртүрлі метрикалар (өлшем бірліктері) үшін оңтайлы алгоритмдерді ұсына алады, бірақ қай метриканы ұстанатынымызды өзіміз шешеміз. Көптеген жағдайларда біз қандай мәселені шешкіміз келетінін таңдау мүмкіндігіне ие боламыз.
Бұл уақытты басқарудың классикалық дерті — прокрастинацияға (істі негізсіз кейінге қалдыру) жаңаша қарауға мүмкіндік береді. Біз әдетте оны бұзылған алгоритм деп есептейміз. Ал егер ол керісінше болса ше? Егер ол қате қойылған мәселенің оңтайлы шешімі болса ше?
«Құпия материалдар» (The X-Files) сериалының бір бөлімінде басты кейіпкер Малдер төсекте таңылып жатады, оны обсессивті-компульсивті вампир жемекші болады. Малдер өзін қорғау үшін еденге бір қап күнбағыс дәнін шашып жібереді. Вампир өзінің ішкі итермелеуіне (компульсиясына) қарсы тұра алмай, дәндерді бір-бірлеп теруге кіріседі. Нәтижесінде вампир Малдерді жеп үлгергенше күн шығып кетеді. Компьютерлік мамандар мұны «пинг-шабуыл» (ping attack) немесе «қызмет көрсетуден бас тарту» (denial of service, DoS) шабуылы деп атар еді: жүйеге өте көп мөлшердегі ұсақ-түйек тапсырмаларды берсеңіз, маңызды істер хаостың ішінде жоғалып кетеді.
Біз әдетте прокрастинацияны жалқаулықпен немесе жауапкершіліктен қашумен байланыстырамыз, бірақ ол істі барынша тез бітіруге тырысатын ынталы адамдарда да (немесе компьютерлерде, вампирлерде) оңай пайда болуы мүмкін. Мысалы, 2014 жылы Пенсильвания штатының университетінен Дэвид Розенбаум жүргізген зерттеуде қатысушылардан екі ауыр шелектің бірін дәліздің арғы шетіне апару сұралды. Шелектердің бірі қатысушының дәл қасында, ал екіншісі дәліздің ортасында тұрды. Зерттеушілерді таңғалдырғаны — адамдар бірден қасындағы шелекті алып, оны бүкіл дәліз бойымен көтеріп барды. Олар жол бойындағы екінші шелектің қасынан өтіп кетті, ал оны алғанда жолдың тек жартысын ғана жүрер еді. Зерттеушілер жазғандай, «бұл қисынсыз болып көрінген таңдау прекрасностинацияға (pre-crastination) — біз енгізген термин, қосымша физикалық күш жұмсалса да, қосалқы мақсаттарды ертерек аяқтауға ұмтылуды білдіреді». Үлкен жобаны кейінге қалдырып, оның орнына түрлі ұсақ-түйек шаруалармен айналысуды да «қосалқы мақсаттарды аяқтауды жеделдету» деп қарастыруға болады. Басқаша айтқанда, прокрастинаторлар өз санасындағы шешілмеген тапсырмалар санын мүмкіндігінше тезірек азайту үшін (оңтайлы! ) әрекет етеді. Мәселе олардың істі бітіру стратегиясының нашарлығында емес; оларда қате метрика үшін таңдалған тамаша стратегия бар.
Компьютерде жұмыс істеу жоспарлау метрикаларына қатысты қосымша қауіп төндіреді: пайдаланушы интерфейсі бізге өз метрикасын астыртын (немесе ашық түрде) таңу мүмкін. Мысалы, заманауи смартфон пайдаланушысы қолданба белгішелерінің үстінде тұрған «белгілерді» (badges) — әр қолданба бізден қанша тапсырма күтетінін көрсететін қызыл түстегі сандарды көруге дағдыланған. Егер бұл оқылмаған хаттар саны болса, онда барлық хаттарға жанама түрде бірдей салмақ беріледі. Олай болса, осы санды тезірек азайту үшін бізді «салмақталмаған Ең қысқа өңдеу уақыты» (Shortest Processing Time) алгоритмін қолданғанымыз үшін — ең оңай хаттарды бірінші реттеп, қиындарын соңына қалдырғанымыз үшін — кінәлауға бола ма?
Метрикамен өмір сүрсең, метрикадан ажал табасың. Егер барлық тапсырмалар шынымен тең салмақты болса, онда біз дәл осылай істеуіміз керек. Бірақ ұсақ-түйектің құлы болғымыз келмесе, біз шаралар қолдануымыз қажет. Бұл біз шешіп жатқан «бір машиналы есептің» біз шынымен шешкіміз келетін есеп екеніне көз жеткізуден басталады. (Қолданба белгілері жағдайында, егер олар біздің нақты басымдықтарымызды көрсете алмаса және біз алдымыздағы сандарды оңтайлы азайту инстинктін жеңе алмасақ, онда ең дұрысы — сол белгілерді жай ғана өшіріп тастау).
Тек істі бітіруге ғана емес, салмақты істерді бітіруге назар аудару — әр сәтте ең маңызды жұмысты істеу — прокрастинацияның нақты емі сияқты көрінеді. Бірақ, анықталғандай, бұл да жеткіліксіз. Компьютерлік жоспарлау сарапшыларының бір тобы бұл сабақты бүкіл әлем көз тігіп отырғанда, Марс бетінде өте драмалық жағдайда бастан өткерді.
Басымдық инверсиясы және сабақтастық шектеулері
1997 жылдың жазы болатын, адамзат үлкен жетістікті тойлап жатты. Тарихта тұңғыш рет ровер Марс бетінде қозғалып жүрді. Құны 150 миллион доллар тұратын «Mars Pathfinder» ғарыш аппараты сағатына 16 000 миль жылдамдықпен ұшып, 309 миллион миль бос кеңістікті артқа тастап, Марстың тасты бетіне ғарыштық қауіпсіздік жастықтарымен қонған еді.
Ал енді ол прокрастинациямен айналысып жатты.
Жердегі Реактивті қозғалыс зертханасының (JPL) инженерлері абдырап қалды. Pathfinder-дің ең жоғары басымдықты тапсырмасы (деректерді «ақпараттық шинаға» енгізу-шығару) түсініксіз себептермен еленбей, робот уақытын орташа маңыздылықтағы тапсырмаларға жұмсап жатты. Не болып жатыр еді? Робот мұны түсінбеді ме?
Кенеттен Pathfinder ақпараттық шинаның тым ұзақ уақыт бойы қараусыз қалғанын тіркеп, басқа амалы болмағандықтан, жүйені толық қайта іске қосты (restart). Бұл миссияға бір күндік жұмыстың шығынын әкелді. Бір күннен кейін бұл жағдай тағы қайталанды.
JPL командасы бұл әрекеттің себебін анықтады. Кінәлі — жоспарлаудың классикалық қаупі «басымдық инверсиясы» (priority inversion) болды. Басымдық инверсиясы кезінде төмен басымдықты тапсырма қандай да бір жүйелік ресурсты (мысалы, деректер базасына қолжетімділік) иеленіп алады. Содан кейін таймер оның жұмысын үзіп, жүйелік жоспарлағышты шақырады. Жоспарлағыш жоғары басымдықты тапсырманы іске қосқысы келеді, бірақ ол орындала алмайды, себебі деректер базасы бос емес (оны төмен басымдықты іс ұстап тұр). Осылайша жоспарлағыш тізім бойынша төмен түсіп, бұғатталмаған орташа басымдықты тапсырмаларды орындай бастайды. Нәтижесінде бұғатталған жоғары басымдықты тапсырма да, оны бұғаттап тұрған төмен басымдықты тапсырма да орындалмай, орташа істер атқарылып жатады. Мұндай сәтсіз сценарийлерде жүйенің ең маңызды ісі шексіз уақытқа еленбей қалуы мүмкін.
Мәселе анықталған соң, инженерлер шешім жазып, миллиондаған миль қашықтыққа жаңа кодты жіберді. Олар қандай шешім тапты? «Басымдық мұрагерлігі» (priority inheritance) . Егер төмен басымдықты тапсырма жоғары басымдықты ресурсты бұғаттап тұрса, онда сол төмен басымдықты тапсырма кенеттен жүйедегі ең жоғары басымдыққа ие болады — ол өзі бұғаттап тұрған істің басымдығын «мұраға» алады.
Комик Митч Хедберг мынадай оқиғаны айтады: «Мен казинода өз жұмысыммен отырғанмын, бір жігіт келіп: «Сіз орныңыздан тұруыңыз керек, өрт кезінде шығатын есікті бөгеп тұрсыз», — деді. Ол өрт шықса, мен қашпайтын сияқты сөйледі». Күзетшінің уәжі — басымдық инверсиясы болса, Хедбергтің жауабы — басымдық мұрагерлігі. Қашып бара жатқан топтың алдында жайбарақат отырған Хедберг өзінің төмен басымдықты серуенін олардың жоғары басымдықты өмірін сақтаудан жоғары қояды — бірақ ол олардың басымдығын мұраға алса, бәрі өзгереді. Лап қойған топ адамға өз басымдығын тез арада мұраға қалдыра алады. Хедберг түсіндіргендей: «Егер сіз тез жанғыш болсаңыз және аяғыңыз болса, сіз ешқашан өрт шығатын жолды бөгемейсіз».
Бұл жердегі ғибрат мынау: тек істі бітіруге деген құштарлық жоспарлау қателерінен құтылуға жеткіліксіз, тіпті маңызды істерді бітіруге деген құштарлық та аздық етеді. Егер сіз тек ең маңызды істі ғана істеуге тырысып, айналаңызға қарамасаңыз, бұл сырттай қарағанда прокрастинацияға ұқсап қалуы мүмкін. Дөңгелегі тайғанап жатқан көлік сияқты, тезірек ілгерілеуге деген құлшыныс сізді тұйыққа тіреуі мүмкін. Гётеге телінетін: «Ең маңызды істер ешқашан ең маңызды емес істердің қас-қабағына қарап қалмауы керек», — деген сөз даналық болып көрінгенімен, кейде бұл дұрыс емес. Кейде ең маңызды іс ең маңызды емес іс бітпейінше орындалмайды, сондықтан сол маңызды емес істі ол бұғаттап тұрған маңызды істей көруден басқа амал жоқ.
Бір тапсырма басқасы бітпейінше басталмайтын жағдайды жоспарлау теориясында «сабақтастық шектеуі» (precedence constraint) деп атайды. Операцияларды зерттеу маманы Лора Альберт Маклей бұл принципті өз үйінде жиі қолданатынын айтады. «Егер сіз бұл нәрселерді көре алсаңыз, бұл өте пайдалы. Әрине, үш баламен күнді өткізу — бұл үлкен жоспарлау жұмысы... Балалар таңғы ас ішпейінше үйден шыға алмаймыз, ал мен оларға қасық беруді ұмытып кетсем, олар таңғы ас іше алмайды. Кейде сіз ұмытып кететін өте қарапайым нәрсе бәрін кешіктіреді. Жоспарлау алгоритмдері тұрғысынан, сол «қасықтың» не екенін білу және оның қозғалысын қадағалау өте маңызды. Мен күнделікті істерімді осылай бітіремін».
1978 жылы жоспарлау зерттеушісі Ян Карел Ленстра бұл принципті досы Джинге Берклидегі жаңа үйге көшуге көмектескенде қолданды. «Джин шұғыл істі бастау үшін бірінші бітуі керек бір нәрсені кейінге қалдырып жүрді». Ленстраның айтуынша, оларға фургонды қайтару керек болды, бірақ фургон құрал-сайманды қайтару үшін керек, ал құрал пәтердегі бір нәрсені жөндеу үшін қажет болды. Пәтерді жөндеу шұғыл болып көрінбеді (сондықтан ол кейінге қалды), бірақ фургонды қайтару шұғыл еді. Ленстра: «Мен оған жөндеу жұмысы фургонды қайтарудан да шұғыл деп қарастырылуы керек екенін түсіндірдім», — дейді. Ленстра — жоспарлау теориясының негізгі тұлғаларының бірі, сондықтан ол мұндай кеңес беруге лайықты еді, бірақ бұл жағдайдың ерекше астарлы ирониясы бар еді. Бұл сабақтастық шектеулерінен туындаған басымдық инверсиясының классикалық мысалы болатын. Ал сабақтастық шектеулері бойынша жиырмасыншы ғасырдағы ең үлкен маман оның досы — Юджин «Джин» Лоулердің өзі еді.
Кедергі
Өмірінің көп бөлігін тапсырмалар тізбегін қалай тиімді орындау керектігін ойлаумен өткізгеніне қарамастан, Лоулер өз мансабына өте күрделі жолмен келді. Ол 1954 жылы Гарвардта докторантураны бастамас бұрын Флорида штатының университетінде математиканы оқыды, бірақ оқуын бітірмей кетіп қалды. Заң мектебінде, армияда және (тақырыпқа сай) станок цехында жұмыс істегеннен кейін, ол 1958 жылы Гарвардқа қайта оралып, PhD дәрежесін алып, Мичиган университетінде жұмысқа орналасты. 1969 жылы Берклиге ғылыми демалысқа келгенде, ол Вьетнам соғысына қарсы белгілі наразылық кезінде тұтқындалды. Келесі жылы ол Берклиде оқытушы болып, компьютерлік ғылымдар факультетінің «әлеуметтік ар-ожданы» деген атқа ие болды. Ол 1994 жылы қайтыс болғаннан кейін, Есептеу техникасы қауымдастығы (ACM) компьютерлік ғылымның гуманитарлық әлеуетін көрсеткен адамдарды марапаттау үшін Лоулер атындағы сыйлықты тағайындады.
Лоулердің сабақтастық шектеулері бойынша алғашқы зерттеулері оларды оңай шешуге болатынын көрсетті. Мысалы, ең көп кешігуді азайтатын «Ең ерте мерзім» (Earliest Due Date) алгоритмін алайық. Егер тапсырмаларда сабақтастық шектеулері болса, бұл істі қиындатады — кейбір істер басқалары бітпейінше басталмайтындықтан, оларды жай ғана мерзімі бойынша орындай алмайсыз. Бірақ 1968 жылы Лоулер егер кестені соңынан басына қарай құрсаңыз, бұл ешқандай қиындық тудырмайтынын дәлелдеді: тек ешқандай басқа тапсырма тәуелді емес істерді қарап, соңғы мерзімі ең кеш тапсырманы кестенің ең соңына қойыңыз. Содан кейін бұл процесті қайталай беріңіз.
Бірақ Лоулер сабақтастық шектеулеріне тереңірек үңілгенде, бір қызық нәрсе тапты. Біз көргендей, «Ең қысқа өңдеу уақыты» алгоритмі — істер тізімін мүмкіндігінше тез аяқтағыңыз келсе, ең оңай жолы. Бірақ егер кейбір тапсырмаларда сабақтастық шектеулері болса, бұл алгоритмді оңай өзгерту мүмкін емес болып шықты. Бұл қарапайым жоспарлау мәселесі сияқты көрінгенімен, не Лоулер, не басқа зерттеушілер оны шешудің тиімді жолын таба алмады.
Шын мәнінде, жағдай бұдан да қиын еді. Лоулер көп ұзамай бұл мәселенің компьютерлік мамандардың пікірінше тиімді шешімі жоқ тапсырмалар класына жататынын анықтады — бұл ғылымда «шешілмейтін» немесе «қиын» (intractable) деп аталады. Жоспарлау теориясының алғашқы «кедергісі» үлкен қабырға болып шықты.
Біз «үш есе немесе ештеңе» сценарийінде көргеніміздей, ресми түрде тұжырымдалған кез келген мәселенің шешімі бола бермейді. Жоспарлауда кез келген тапсырмалар жиынтығы мен шектеулердің ең жақсы кестесі болатыны анық, сондықтан жоспарлау есептері жауапсыз емес. Бірақ оңтайлы кестені ақылға қонымды уақыт ішінде табатын қарапайым алгоритм болмауы мүмкін.
Бұл Лоулер мен Ленстра сияқты зерттеушілерді мынадай сұраққа әкелді: Жалпы, жоспарлау мәселелерінің қанша бөлігі шешілмейтін болып табылады? Жиырма жыл өткен соң, жеке шешімдерді іздеу әлдеқайда ауқымды мақсатқа — жоспарлау теориясының бүкіл картасын жасауға ұласты.
Зерттеушілер жоспарлау мәселесіндегі тіпті ең кішкентай өзгерістің өзі оны «шешілетін» және «шешілмейтін» (интрактабельді) арасындағы нәзік сызықтан аттатып жіберетінін анықтады. Мысалы, Мур алгоритмі барлық істердің құны тең болғанда кешіккен тапсырмалар санын азайтады. Бірақ егер кейбір істер басқаларынан маңыздырақ болса, мәселе бірден шешілмейтін (интрактабельді) күйге ауысады. Сол сияқты, кейбір тапсырмаларды бастау үшін белгілі бір уақытты күту қажет болса, бізде бұрын болған барлық тиімді шешімдер жарамсыз болып қалады. Қоқысты тек жиналатын күннің алдындағы түні ғана шығаруға болады деген ереже қисынды көрінгенімен, ол сіздің күнтізбеңізді шешілмейтін күрделілікке айналдырады.
Жоспарлау теориясының шекараларын сызу бүгінгі күнге дейін жалғасуда. Соңғы зерттеулер барлық мәселелердің шамамен 7%-ының мәртебесі әлі белгісіз екенін көрсетті. Ал біз түсінетін 93%-дың ішінде жаңалықтар онша қуантарлық емес: тек 9%-ы ғана тиімді шешіледі, ал қалған 84%-ы шешілмейтін болып дәлелденген. Басқаша айтқанда, жоспарлау мәселелерінің көбінің дайын шешімі жоқ. Егер сізге күнтізбені мінсіз басқару мүмкін емес сияқты көрінсе, бұл оның шынымен солай болғанынан шығар. Соған қарамастан, біз талқылаған алгоритмдер — сол қиын мәселелерді мінсіз болмаса да, мүмкіндігінше жақсы шешудің бастапқы нүктесі.
Бәрін таста: Преемпция және белгісіздік
Ағаш отырғызудың ең жақсы уақыты жиырма жыл бұрын еді. Екінші ең жақсы уақыт — қазір. — МӘТЕЛ
Осы уақытқа дейін біз жоспарлауды қиындататын факторларды ғана қарастырдық. Бірақ оны жеңілдететін бір нәрсе бар: бір тапсырманы орта жолдан тоқтатып, екіншісіне ауысу мүмкіндігі. Бұл қасиет — «преемпция» (preemption) — ойын ережелерін түбегейлі өзгертеді.
Егер тапсырмаларды тек белгілі бір уақытта бастау керек болса, кешігуді немесе аяқтау уақытын азайту мәселесі «шешілмейтін» санатқа өтеді. Бірақ преемпцияға рұқсат берілсе, олардың тиімді шешімдері қайтадан табылады. Екі жағдайда да классикалық стратегиялар — «Ең ерте мерзім» және «Ең қысқа өңдеу уақыты» — азғантай өзгеріспен ең жақсы болып қала береді. Тапсырманы бастау уақыты келгенде, оны қазір істеп жатқан ісіңізбен салыстырыңыз. Егер сіз «Ең ерте мерзім» бойынша жұмыс істеп жатсаңыз және жаңа тапсырманың мерзімі қазіргіге қарағанда ертерек болса, істі ауыстырыңыз; әйтпесе бұрынғы істі жалғастырыңыз. Сол сияқты, егер «Ең қысқа өңдеу уақыты» бойынша жаңа тапсырманы қазіргі істің қалған уақытынан тезірек бітіруге болса, соған ауысыңыз.
Әдетте біз алдағы уақытта не болатынын толық біле бермейміз. Мысалы, белгілі бір жобаны қашан бастай алатынымызды білмеуіміз мүмкін. Кез келген сәтте телефон соғылуы немесе жаңа тапсырма туралы электрондық хат келуі мүмкін.
Белгісіздік жағдайында да «Ең ерте мерзім» мен «Ең қысқа өңдеу уақыты» оңтайлы стратегия болып қала береді. Егер тапсырмалар күтпеген сәтте пайда болса, ең аз кешігуді қамтамасыз ететін стратегия — преемптивті «Ең ерте мерзім». Сол сияқты, преемптивті «Ең қысқа өңдеу уақыты» — қазіргі істің бітуіне қалған уақытты жаңа істің уақытымен салыстыру — аяқтау уақытының қосындысын азайту үшін әлі де оңтайлы.
Шын мәнінде, «салмақталған Ең қысқа өңдеу уақыты» — белгісіздік жағдайындағы ең жақсы әмбебап стратегия. Ол уақытты басқарудың қарапайым ережесін ұсынады: әр жолы жаңа жұмыс келгенде, оның маңыздылығын оны орындауға кететін уақытқа бөліңіз. Егер бұл көрсеткіш қазіргі ісіңізден жоғары болса, жаңасына ауысыңыз; әйтпесе қазіргі істі жалғастырыңыз. Бұл алгоритм жоспарлау теориясындағы «әмбебап кілт» немесе «Швейцария пышағы» сияқты, ол тек бір есеп үшін емес, көптеген жағдайлар үшін оңтайлы стратегия болып табылады.
Белгісіздіктің жоспарлауға әсерін қарастыру күтпеген нәрсені ашады: кейде «болашақты көре білу» (clairvoyance) ауыр жүк болуы мүмкін. Барлығын алдын ала білген күннің өзінде де, мінсіз кестені табу іс жүзінде мүмкін болмауы мүмкін. Ал керісінше, тапсырмалар келген сайын оларға реакция білдіріп, шешім қабылдау болашақты болжағандай мінсіз нәтиже бермесе де, оны есептеу әлдеқайда оңай. Бұл көңілге медеу болады. Бизнес-жазушы және кодер Джейсон Фрид айтқандай: «Мінсіз жоспарсыз іске кірісе алмайтындай сезінесіз бе? «Жоспар» деген сөзді «болжам» деп ауыстырыңыз да, жайбарақат жұмысқа кірісіңіз». Жоспарлау теориясы мұны растайды.
Болашақ бұлыңғыр болғанда, сізге күнтізбенің қажеті жоқ — тек істер тізімі (to-do list) жеткілікті.
Преемпция тегін емес: Контекстті ауыстыру
Неғұрлым жылдам жүрсем, соғұрлым артта қаламын. — БУНВИЛЛЬДЕГІ (КАЛИФОРНИЯ) БІР КЕСТЕГЕ ЖАЗЫЛҒАН СӨЗ
Бағдарламаушылар сөйлемейді, өйткені оларды бөлуге болмайды... Басқа адамдармен (немесе телефондармен, қоңыраулармен) үйлесу — ой пойызын тоқтату деген сөз. Үзілістер — бұл қателер (bugs) деген сөз. Пойыздан түсуге болмайды. — ЭЛЛЕН УЛЬМАН
Осылайша, жоспарлау теориясы көңіл көншітерлік оқиғаны айтады. Көптеген жоспарлау мәселелерін шешуге арналған қарапайым, оңтайлы алгоритмдер бар және бұл мәселелер біздің күнделікті өмірімізге өте ұқсас. Бірақ бір машиналы жоспарлауды нақты өмірде іске асыруға келгенде, бәрі күрделене түседі.
Ең алдымен, адамдар да, компьютерлік операциялық жүйелер де қызықты бір қиындыққа тап болады: жоспарлауды орындайтын машина мен жоспарланатын машина — бір-ақ нәрсе. Бұл сіздің істер тізіміңізді ретке келтірудің өзін істер тізіміңіздің бір тармағына айналдырады — оның өзіне басымдық беріп, уақытын белгілеу қажет болады.
Екіншіден, тапсырманы үзу тегін емес. Әр жолы тапсырманы ауыстырған сайын сіз белгілі бір құн төлейсіз, бұл компьютер ғылымында контекстті ауыстырып қосу (бір тапсырмадан екіншісіне ауысу кезіндегі жүйелік шығындар) деп аталады. Компьютер процессоры назарын белгілі бір бағдарламадан басқа жаққа аударғанда, әрқашан қажетті қосымша шығындар туындайды. Ол өзінің тоқтаған жеріне «бетбелгі» қойып, сол бағдарламаға қатысты барлық ақпаратты бір шетке жинап қоюы керек. Содан кейін келесі кезекте қай бағдарламаны іске қосу керектігін анықтауы қажет. Соңында сол бағдарламаға қатысты барлық маңызды ақпаратты шығарып, кодтағы орнын тауып, жұмысқа кірісуі тиіс.
Бұл алға-артқа ауысулардың ешқайсысы «нағыз жұмыс» емес — яғни, олардың ешбірі компьютер ауысып отырған түрлі бағдарламалардың күйін ілгерілетпейді. Бұл — мета-жұмыс (негізгі нәтижеге емес, процестің өзін басқаруға жұмсалатын күш). Әрбір контекстті ауыстырып қосу — босқа кеткен уақыт.
Адамдарда да контекстті ауыстыру шығындары болатыны анық. Біз мұны үстел үстіндегі қағаздарды ары-бері қозғағанда, компьютердегі құжаттарды жауып, қайта ашқанда, бөлмеге не үшін кіргенімізді ұмытып қалғанда немесе жай ғана дауыстап: «Сонымен, қай жерде қалдым? » немесе «Не айтып жатыр едім? » дегенде сезінеміз. Психологтар біз үшін тапсырмаларды ауыстырудың әсері микросекундтар емес, минуттар деңгейіндегі кідірістер мен қателіктерге әкелетінін көрсетті. Бұл көрсеткішті түсініктірек айтсақ: егер сіз біреудің жұмысын сағатына бірнеше реттен артық бөлсеңіз, ол адамның мүлдем жұмыс істей алмай қалу қаупі бар.
Біз бағдарламалау мен жазудың екеуі де бүкіл жүйенің күйін жадта сақтауды талап ететінін, сондықтан контекстті ауыстырудың тым жоғары шығындарына ие екенін байқадық. Бағдарламалық жасақтама жазатын бір досымыз қалыпты жұмыс аптасы оның жұмыс ырғағына сәйкес келмейтінін айтады, өйткені ол үшін он алты сағаттық жұмыс күні сегіз сағаттық жұмыс күнінен екі есе емес, одан да көп өнім береді. Брайан болса, жазуды ұсталық өнердің бір түрі деп санайды, мұнда металды соғуға болатындай күйге келтіру үшін оны алдын ала қыздыруға біраз уақыт кетеді. Ол жазу үшін тоқсан минуттан аз уақыт бөлудің пайдасы аз деп санайды, өйткені алғашқы жарты сағатта басына «Сонымен, қай жерде қалдым? » деген алып ақпарат блогын жүктеуден басқа ештеңе орындалмайды. Питтсбург университетінің жоспарлау жөніндегі маманы Кирк Прухс та осындай тәжірибені бастан өткерген: «Егер уақыт бір сағаттан аз болса, мен жай ғана ұсақ-түйек шаруалармен айналыса саламын, өйткені не істегім келетінін толық түсіну үшін маған алғашқы отыз бес минут керек, ал содан кейін оны орындауға уақытым қалмауы мүмкін».
Редьярд Киплингтің 1910 жылғы әйгілі «Егер» (If—) өлеңі уақытты басқаруға шақыратын жігерлі жолдармен аяқталады: «Егер сен қайырымсыз минуттың әр сәтін, Алпыс секундтық жүгіріспен толтыра алсаң... »
Әттең, солай болса иә. Шындығында, әрқашан қосымша шығындар болады — мета-жұмысқа, есеп жүргізу мен тапсырмаларды басқару логистикасына кететін уақыт жоғалады. Бұл жоспарлаудың іргелі ымыраларының (tradeoffs) бірі. Неғұрлым көп істі мойныңызға алсаңыз, соғұрлым қосымша шығындар да көп болады. Оның ең қорқынышты шегі «трэшинг» деп аталатын құбылысқа айналады.
Трэшинг
Гейдж: Мырза Цукерберг, мен сіздің назарыңызды толық аудара алдым ба?.. Цукерберг: Сізде менің назарымның бір бөлігі бар — ең төменгі мөлшері. — «ӘЛЕУМЕТТІК ЖЕЛІ» (THE SOCIAL NETWORK) ФИЛЬМІНЕН
Компьютерлер көп тапсырманы орындауды ағындар (процессордың бірнеше тапсырманы кезекпен өңдеу әдісі) деп аталатын процесс арқылы жүзеге асырады, мұны шарлармен жонглерлік ету сияқты деп елестетуге болады. Жонглер бір уақытта ауаға тек бір шарды лақтырса да, үш шарды жоғарыда ұстап тұратыны сияқты, орталық процессор (CPU) да бір уақытта тек бір бағдарламамен жұмыс істейді, бірақ олардың арасында өте жылдам ауыса отырып (секундтың он мыңнан бір бөлігі деңгейінде), ол бір уақытта кино көрсетіп, интернетте шарлап және келіп түскен электрондық пошта туралы хабарлап тұрғандай әсер қалдырады.
1960 жылдары компьютер ғалымдары компьютерлік ресурстарды түрлі тапсырмалар мен пайдаланушылар арасында бөлісу процесін қалай автоматтандыруға болатыны туралы ойлана бастады. Қазіргі уақытта компьютерлік көптапсырмалылық бойынша жетекші мамандардың бірі, ол кезде Массачусетс технологиялық институтында (MIT) докторлық диссертациясымен жұмыс істеп жүрген Питер Деннинг бұл кезеңді өте қызықты уақыт болды деп еске алады. Қызықты әрі белгісіз: «Кейбір тапсырмалар кеңейгісі, ал кейбіреулері тарылғысы келгенде, олар бір-бірінен жадты тартып алуға тырысып, өзара әрекеттескенде, негізгі жадты олардың арасында қалай бөлесіз?.. Бұл өзара әрекеттесулер жиынтығын қалай басқаруға болады? Ол туралы ешкім ештеңе білмеді».
Зерттеушілер не істеп жатқандарын әлі толық түсінбегендіктен, бұл талпыныс қиындықтарға тап болғаны таңқаларлық емес. Соның ішінде олардың назарын ерекше аударған бір мәселе болды. Деннинг түсіндіргендей, белгілі бір жағдайларда, көп бағдарламалы ортаға көбірек жұмыс қосқан сайын, бір күрт мәселе туындайды. «Бір сәтте сіз κритикалық шектен өтесіз — оның нақты қай жерде екенін алдын ала айту мүмкін емес, бірақ оған жеткенде бірден білесіз — және кенеттен жүйе өліп қалғандай көрінеді».
Жонглер бейнесіне қайта оралайық. Ауада бір шар болса, ол жоғарыда жүргенде жонглердің басқа шарларды да лақтыруға жететін бос уақыты болады. Бірақ егер жонглер шамасынан тыс тағы бір шар алса ше? Ол тек сол шарды ғана емес, бәрін қолынан шығарып алады. Бүкіл жүйе тікелей мағынасында құлайды. Деннинг айтқандай: «Бір ғана қосымша бағдарламаның болуы қызметтің толық істен шығуына әкелді... Бұл екі жағдайдың арасындағы күрт айырмашылық басында түйсікке қайшы келеді, өйткені біз толып жатқан негізгі жадқа жаңа бағдарламалар енгізілген сайын қызмет сапасының біртіндеп нашарлауын күтер едік». Оның орнына — апат. Адам жонглердің шаршауын түсінуге болар, бірақ машинада мұндай жағдайға не себеп болуы мүмкін?
Бұл жерде жоспарлау теориясы кэштеу (деректерді жылдам қолжетімді жерде сақтау) теориясымен түйіседі. Кэштердің негізгі мақсаты — қажетті заттардың «жұмыс жиынтығын» жылдам қолжетімділік үшін дайын ұстау. Бұған жетудің бір жолы — компьютер дәл қазір қолданып жатқан ақпаратты баяу қатты дисктің орнына жылдам жадта сақтау. Бірақ егер тапсырма тым көп нәрсені қадағалауды талап етсе және олардың бәрі жадқа сыймаса, онда сіз нақты жұмыс істеуден көрі ақпаратты жадқа кіргізіп-шығаруға (swapping) көбірек уақыт жұмсауыңыз мүмкін. Сонымен қатар, тапсырманы ауыстырған кезде жаңадан белсенді болған тапсырма басқа бағдарламалардың жұмыс жиынтықтарын жадтан ығыстырып, өзіне орын босатуы мүмкін. Келесі тапсырма қайта іске қосылғанда, ол өз жұмыс жиынтығының бөліктерін қатты дисктен қайта алып, оларды жадқа күшпен енгізеді де, тағы да басқаларды ығыстырады. Бұл мәселе — тапсырмалардың бір-бірінен орын тартып алуы — процессор мен жад арасындағы кэштер иерархиясы бар жүйелерде одан сайын ушығуы мүмкін. Linux операциялық жүйесін жоспарлаушының негізгі әзірлеушілерінің бірі Питер Зийлстра айтқандай: «Кэштер ағымдағы жұмыс жүктемесі үшін «жылынып» тұрады, ал сіз контекстті ауыстырған кезде барлық кэштерді жарамсыз етесіз. Бұл үлкен соққы». Төтенше жағдайда, бағдарлама өзіне қажетті элементтерді жадқа ауыстырып үлгергенше ғана жұмыс істеп, содан кейін оларды өз кезегінде өшіріп тастайтын басқа бағдарламаға жол беруі мүмкін.
Бұл — трэшинг (жүйенің тек ресурстарды басқарумен шектеліп, пайдалы жұмыс істеуді тоқтатуы): жүйе бар күшімен жұмыс істеп тұрса да, ештеңе өндірмейді. Деннинг бұл құбылысты алғаш рет жадты басқару контекстінде анықтады, бірақ қазіргі компьютер ғалымдары «трэшинг» терминін жүйенің мета-жұмыспен толықтай айналысып кетуіне байланысты тоқтап қалу жағдайының кез келген түріне қолданады. Трэшинг күйіндегі компьютердің өнімділігі біртіндеп төмендемейді. Ол құздан құлағандай бірден жоғалады. «Нағыз жұмыс» іс жүзінде нөлге дейін төмендейді, бұл одан шығудың да мүмкін емес екенін білдіреді.
Трэшинг — адамдарға да өте жақсы таныс күй. Егер сізде орындалуы тиіс істерді жазып алу үшін ғана барлық жұмысты тоқтатқыңыз келген, бірақ оған да уақытыңыз болмаған сәттер болса, демек сіз де трэшингке ұшырағансыз. Себебі адамдар үшін де, компьютерлер үшін де бірдей: әрбір тапсырма біздің шектеулі когнитивтік ресурстарымызды пайдаланады. Не істеу керектігін жай ғана есте сақтаудың өзі бүкіл назарымызды алғанда — немесе әрбір тапсырмаға басымдық беру оларды орындауға арналған бүкіл уақытымызды тауысқанда — немесе ойларымыз іске аспай жатып үнемі үзіле бергенде — бұл үрей сияқты, гиперактивтілік арқылы туындаған паралич сияқты сезіледі. Бұл — трэшинг, және компьютерлер оны жақсы біледі.
Егер сіз трэшинг күйіндегі жүйемен арпалысқан болсаңыз — немесе өзіңіз сондай күйде болсаңыз — одан шығудың компьютерлік жолдары сізді қызықтыруы мүмкін. 1960 жылдардағы осы тақырыпқа арналған маңызды еңбегінде Деннинг «алдын алу — емдеуден жақсы» екенін атап өтті. Ең оңай жолы — жадты көбейту: мысалы, барлық бағдарламалардың жұмыс жиынтықтары бір уақытта сиятындай жеткілікті жедел жад (RAM) орнату және контекстті ауыстыруға кететін уақытты азайту. Бірақ трэшингтің ортасында қалғанда алдын алу туралы кеңестер көмектеспейді. Оның үстіне, адам назарына келгенде, біз қолда бар ресурспен ғана шектелеміз.
Трэшингті ол басталмай тұрып болдырмаудың тағы бір жолы — «жоқ» деп айту өнерін үйрену. Мысалы, Деннинг жүйеде жұмыс жиынтығын сақтауға жететін бос жад болмаса, ол жаңа бағдарламаны қабылдаудан бас тартуы керек деп есептеді. Бұл машиналарда трэшингтің алдын алады және ісі басынан асатын кез келген адам үшін орынды кеңес. Бірақ бұл да жүктемесі тым көп немесе қойылып жатқан талаптарды шектей алмайтын біздер үшін қол жетпес салтанат болып көрінуі мүмкін.
Мұндай жағдайларда бұдан да қатты жұмыс істеудің ешқандай жолы жоқ, бірақ сіз... «ақымақтау» жұмыс істей аласыз. Контекстті ауыстыру кезіндегі мета-жұмыстың ең үлкен көздерінің бірі — келесі кезекте не істеу керектігін таңдау процесінің өзі. Бұл да кейде нақты жұмыстың өзінен асып түсуі мүмкін. Мысалы, n хабарламадан тұратын пошта жәшігіне тап болғанда, сұрыптау теориясынан білетініміздей, ең маңыздысын табу үшін оны қайталап қарап шығу O(n²) операциясын талап етеді — әрқайсысы n хабарламадан тұратын n рет қарап шығу. Бұл дегеніміз, әдеттегіден үш есе толып тұрған поштаны өңдеуге тоғыз есе көп уақыт кетуі мүмкін. Оның үстіне, сол хаттарды қарап шығу әрбір хабарламаны жауап бермес бұрын бірінен соң бірін ойыңызға жүктеуді білдіреді: бұл жад трэшингіне апаратын сенімді жол.
Трэшинг күйінде сіз іс жүзінде ешқандай ілгерілеушілік жасамайсыз, сондықтан тапсырмаларды қате ретпен орындаудың өзі ештеңе істемегеннен жақсы. Ең маңызды хаттарға бірінші жауап берудің орнына — бұл бүкіл жағдайды бағалауды талап етеді және жұмыстың өзінен де көп уақыт алуы мүмкін — сол квадраттық уақыттың «батпағынан» айналып өтіп, хаттарға кездейсоқ ретпен немесе экранда қалай көрінсе, солай жауап берген дұрыс шығар. Осы бағытта ойлай отырып, Linux негізгі командасы бірнеше жыл бұрын өздерінің жоспарлаушысын «ақылдылығы» азырақ, бірақ басымдықтарды есептеуге аз уақыт жұмсайтын басқа түріне ауыстырды.
Егер сіз әлі де өз басымдықтарыңызды сақтағыңыз келсе, өнімділікті қайтару үшін жасауға болатын басқа, тіпті одан да қызықты мәміле бар.
Үзілістерді біріктіру (Interrupt Coalescing)
Нақты уақыт режимінде жоспарлауды күрделі әрі қызықты ететін нәрсе — бұл негізінен бір-біріне толық сәйкес келмейтін екі принцип арасындағы келіссөз. Бұл екі принцип жауап беру жылдамдығы мен өткізу қабілеті (белгілі бір уақыт ішінде орындалған жұмыс көлемі) деп аталады: яғни, оқиғаларға қаншалықты жылдам жауап бере аласыз және жалпы қанша жұмыс тындыра аласыз. Кеңседе жұмыс істеген кез келген адам осы екі көрсеткіш арасындағы қайшылықты оңай түсінеді. Телефонға жауап берумен ғана айналысатын адамдардың болуының бір себебі де осында: олар басқалардың жұмыс өнімділігі жоғары болуы үшін жауап беру жылдамдығын қамтамасыз етеді.
Тағы да айта кетейік, егер сіз компьютер сияқты жауап беру мен өнімділік арасындағы таңдауды өзіңіз жасауыңыз керек болса, өмір қиындай түседі. Және істерді тындырудың ең жақсы стратегиясы, парадоксалды түрде, баяулау болуы мүмкін.
Операциялық жүйенің жоспарлаушылары әдетте әрбір бағдарламаның аз болса да жұмыс істеуіне кепілдік берілетін «кезеңді» анықтайды және жүйе сол кезеңнің бір «бөлігін» әр бағдарламаға береді. Бағдарламалар неғұрлым көп болса, бұл бөліктер соғұрлым кішірейеді және әр кезеңде контекстті ауыстырулар жиілейді, осылайша өнімділік есебінен жауап беру жылдамдығы сақталады. Алайда, егер бақылаусыз қалдырса, әр процеске кем дегенде бір рет назар аударуға кепілдік беру саясаты апатқа әкелуі мүмкін. Бағдарламалар тым көп болғанда, тапсырманың уақыт бөлігі сондайлық кішкентай болып қалады, жүйе бүкіл уақытын тек контекстті ауыстыруға жұмсайды да, содан кейін бірден келесі тапсырмаға ауысады.
Мұндағы басты кінәлі — жауап беру жылдамдығына берілген қатаң кепілдік. Сондықтан заманауи операциялық жүйелер өздерінің уақыт бөліктеріне минималды ұзақтық белгілейді және кезеңді одан ары ұсақтаудан бас тартады. (Мысалы, Linux-те бұл минималды пайдалы бөлік миллисекундтың шамамен төрттен үшін құрайды, бірақ адамдарда бұл кем дегенде бірнеше минут болуы мүмкін). Егер осы шектен тыс көбірек процестер қосылса, кезең жай ғана ұзарады. Бұл процестердің өз кезегін ұзағырақ күтуіне тура келетінін білдіреді, бірақ олар алған кезек кем дегенде бірдеңе бітіруге жететіндей ұзақ болады.
Кез келген бір тапсырмаға жұмсалатын минималды уақыт мөлшерін белгілеу жауап беруге деген құштарлықтың өнімділікті толық жойып жіберуіне жол бермейді: егер минималды уақыт бөлігі контекстті ауыстыруға кететін уақыттан ұзағырақ болса, жүйе ешқашан тек контекстті ауыстырумен ғана айналысатын күйге түспейді. Бұл принципті адам өміріне де оңай енгізуге болады. «Таймбоксинг» немесе «Помодоро» сияқты әдістер, мұнда сіз асүй таймерін қойып, ол шырылдағанша тек бір тапсырмамен айналысуға міндеттенесіз, осы идеяның бір көрінісі болып табылады.
Бірақ уақыт бөлігінің көлемі қандай болуы керек? Электрондық поштаны тексеру сияқты қайталанатын тапсырманы орындау арасында қанша уақыт күту керек деген сұраққа өнімділік тұрғысынан жауап қарапайым: мүмкіндігінше ұзағырақ. Бірақ бұл мәселенің соңы емес; өйткені жоғары өнімділік сонымен бірге төмен жауап беру жылдамдығын білдіреді.
Сіздің компьютеріңіз үшін үнемі тексеріп тұруды қажет ететін мазасыз үзіліс — электрондық пошта емес, ол — сіз. Сіз тышқанды минуттар немесе сағаттар бойы қозғалтпауыңыз мүмкін, бірақ қозғалтқан кезде экрандағы курсордың бірден жылжығанын күтесіз, бұл машинаның сізді жай ғана тексеру үшін көп күш жұмсайтынын білдіреді. Ол тышқан мен пернетақтаны неғұрлым жиі тексерсе, енгізу болған кезде соғұрлым жылдам әрекет ете алады, бірақ контекстті ауыстыруды да соғұрлым көп жасауы керек. Сондықтан компьютерлік операциялық жүйелер қандай да бір тапсырмаға қанша уақыт бөле алатынын шешкенде қарапайым ережені басшылыққа алады: пайдаланушыға баяу немесе «бұлдыр» болып көрінбейтіндей ең ұзақ уақыт.
Жүйе инженерлері бұл тепе-теңдікті табу үшін психологияға, нақтырақ айтсақ, психофизикаға жүгінді. Олар адам миының кідірісті немесе жыпылықтауды сезе бастауы үшін қанша миллисекунд кететінін анықтады. Пайдаланушыға одан жиі назар аударудың мәні жоқ. Осы талпыныстардың арқасында, операциялық жүйелер дұрыс жұмыс істеп тұрғанда, сіз компьютеріңіздің қаншалықты күш жұмсап жатқанын байқамайсыз да. Процессорыңыз толық қуатында жұмыс істеп тұрса да, сіз тышқанды экранда еркін қозғалта аласыз. Бұл еркіндік сізге өнімділіктің бір бөлігіне түседі, бірақ бұл — жүйе инженерлері саналы түрде жасаған дизайн таңдауы: сіздің жүйеңіз сізбен әрекеттесуден мүмкіндігінше көбірек уақыт бойы алшақ болады да, дәл уақытында тышқанды қайта сызуға оралады.
Тағы да айта кетейік, бұл — адам өміріне көшіруге болатын принцип. Оның түйіні: жауап беру жылдамдығын минималды қолайлы шектен түсірмей, бір тапсырмада мүмкіндігінше ұзақ қалуға тырысу керек. Сізге қаншалықты жылдам жауап беру керектігін шешіңіз де, егер істі тындырғыңыз келсе, одан артық жауап бермеңіз.
Егер сіз көптеген әртүрлі қысқа тапсырмаларды орындау кезінде контекстті жиі ауыстыратыныңызды байқасаңыз, компьютер ғылымындағы тағы бір идеяны қолдана аласыз: үзілістерді біріктіру (көптеген ұсақ кедергілерді жинақтап, бір уақытта шешу). Мысалы, егер сізде несие картасының бес шоты болса, оларды келген бойда төлемеңіз; бесінші шот келгенде бәрін бірден өтеңіз. Егер шоттарды төлеу мерзімі олар келгеннен кейін отыз бір күннен кем болмаса, айдың бірінші күнін «шоттарды төлеу күні» деп белгілеп, сол кезде үстелдегі барлық шотты өңдеуге отыра аласыз (олардың үш апта бұрын немесе үш сағат бұрын келгені маңызды емес). Сол сияқты, егер электрондық поштаңызға жиырма төрт сағат ішінде жауап беру жеткілікті болса, хабарламаларды күніне бір рет тексерумен шектеле аласыз. Компьютерлер де осыған ұқсас нәрсе істейді: олар әртүрлі ішкі бөліктерден келетін бөлек, үйлестірілмеген үзілістерді өңдеу үшін контекстті ауыстыра бермей, белгілі бір уақыт аралығын күтіп, бәрін бірден тексереді.
Кейде компьютер ғалымдары өз өмірлерінде үзілістерді біріктірудің жоқтығын байқап қалады. Google зерттеу директоры Питер Норвиг былай дейді: «Бүгін маған шаруалармен қала орталығына үш рет баруға тура келді, сонда мен: «О, бұл сенің алгоритміңдегі бір жолдық қате (bug) ғой. Оларды бір-бірден орындағанша, күте тұруың немесе істер тізіміне (queue) қосуың керек еді», — дедім».
Адамдар деңгейінде біз пошта жүйесінен олардың жеткізу циклінің нәтижесінде үзілістерді біріктіруді тегін аламыз. Пошта күніне тек бір рет жеткізілетіндіктен, бірнеше минутқа кешігіп жіберілген хат сізге жету үшін тағы жиырма төрт сағат кетуі мүмкін. Контекстті ауыстыру шығындарын ескерсек, мұның жақсы жағы айқын: шоттар мен хаттар сізді күніне ең көп дегенде бір рет қана бөле алады. Оның үстіне, жиырма төрт сағаттық пошта ырғағы сізден минималды жауап беру жылдамдығын талап етеді: хатты алғаннан кейін бес минуттан соң ба немесе бес сағаттан соң ба жауап жазғаныңыз ештеңені өзгертпейді.
Академиялық ортада қабылдау сағаттарын (office hours) белгілеу — студенттерден келетін үзілістерді біріктірудің жолы. Ал жеке секторда үзілістерді біріктіру кеңседегі ең жек көрінішті дәстүрлердің біріне — апталық жиналыстарға жаңаша көзқараспен қарауға мүмкіндік береді. Қандай кемшіліктері болса да, тұрақты жоспарланған жиналыстар — стихиялы үзілістер мен жоспарланмаған контекст ауыстыруларынан қорғанудың ең жақсы құралдарының бірі.
Мүмкін, контекстті минималды ауыстыру өмір салтының «әулиесі» — аңызға айналған бағдарламашы Дональд Кнут шығар. «Мен бір уақытта тек бір іспен айналысамын», — дейді ол. «Бұл компьютер ғалымдарының тілінде пакеттік өңдеу (тапсырмаларды топтап орындау) деп аталады — оған балама ретінде алға-артқа ауысу бар. Мен ауыспаймын». Кнут қалжыңдап тұрған жоқ. 2014 жылдың 1 қаңтарында ол «2014 жылғы TeX жөндеу жұмыстарын» бастады, онда өзінің TeX баспа бағдарламасында соңғы алты жылда тіркелген барлық қателерді түзетті. Оның есебі «2021 жылғы TeX жөндеуін күтіңіз! » деген көңілді сөздермен аяқталады. Сол сияқты, Кнуттың 1990 жылдан бері электрондық поштасы жоқ. «Электрондық пошта — өмірдегі рөлі бәрінен хабардар болу (top of things) болып табылатын адамдар үшін тамаша нәрсе. Бірақ мен үшін емес; менің рөлім — мәселенің түбіне үңілу (bottom of things). Менің ісім ұзақ сағаттық зерттеуді және үзіліссіз шоғырлануды талап етеді». Ол өзінің поштасын әр үш ай сайын, ал факстарын әр алты ай сайын тексереді.
Бірақ өмірімізде үзілістерді біріктіруді дизайн принципі ретінде көбірек қолдануды қалау үшін Кнут сияқты шектен шығудың қажеті жоқ. Пошта бөлімшесі мұны бізге кездейсоқ берді; басқа жерлерде біз оны өзіміз құруымыз немесе талап етуіміз керек. Біздің дыбыс шығаратын құрылғыларымызда «Мазаламау» режимдері бар, оларды күні бойы қолмен қосып-өшіруге болады, бірақ бұл тым дөрекі құрал. Оның орнына, біз үзілістерді біріктірудің нақты нұсқасын ұсынатын баптауларды талап ете аламыз — құрылғылар іштей жасап жатқан нәрсені адам уақытының шкаласына көшіру. Мысалы, «Маған он минутта бір-ақ рет хабар бер; сосын бәрін бірден айтып бер».
Қызық болғанда, Pathfinder бағдарламалық жасақтама тобының жетекшісі Гленн Ривз қателікке «дедлайн қысымын» және әзірлеу кезінде дәл осы мәселені түзетудің «төмен басымдыққа» ие болғанын кінәлайды. Сонымен, түпкі себеп, белгілі бір мағынада, мәселенің өзін айна қатесіз қайталады.
Біз <span data-term="true">intractable</span> (шешілуі қиын немесе есептеуге келмейтін) мәселелерді 8-тарауда егжей-тегжейлі талқылаймыз.
Жағдай бұл сан көрсеткендей нашар емес, өйткені бұған бірнеше машинаны қамтитын кестелеу мәселелері де кіреді — бұл өз күнтізбеңізді басқарудан қарағанда, қызметкерлер тобын басқаруға көбірек ұқсайды.
Көптеген компьютерлер бізден бірдеңе қажет болғанда қате туралы хабарламаларды немесе курсорды тартып алатын диалогтық терезелерді бейберекет шығаруға бейім екенін ескерсек, олардың мінез-құлқы біршама екіжүзді. Пайдаланушы интерфейсі пайдаланушының назарын орталық процессордың (CPU) өзі сирек төзетіндей түрде талап етеді.
Болашақты болжау
Барлық адамзаттық білім — белгісіз, дәл емес және жартылай ғана. — БЕРТРАН РАССЕЛ
Ертең күн шығады. Күннің шығатынына соңғы тиыныңды тігуге болады. — ЭННИ
1969 жылы Принстонда астрофизика бойынша докторлық диссертациясын бастамас бұрын, Дж. Ричард Готт III Еуропаға саяхатқа шықты. Онда ол сегіз жыл бұрын салынған Берлин қабырғасын көрді. Қырғи қабақ соғыстың айқын символы болған қабырғаның көлеңкесінде тұрып, ол оның Шығыс пен Батысты тағы қанша уақыт бөліп тұратынын ойлай бастады.
Сыртынан қарағанда, мұндай болжам жасауға тырысудың бір түрлі ерсілігі бар. Геосаясатты болжаудың мүмкін еместігін былай қойғанда, сұрақтың өзі математикалық тұрғыдан күлкілі көрінеді: бұл бір ғана дерек нүктесінен болжам жасауға тырысу.
Бірақ бұл қаншалықты қисынсыз көрінгенімен, біз қажеттілікке байланысты мұндай болжамдарды үнемі жасап тұрамыз. Сіз бейтаныс қаладағы автобус аялдамасына келіп, онда тұрған басқа туристің жеті минуттан бері күтіп тұрғанын білдіңіз делік. Келесі автобус қашан келуі мүмкін? Күтуге тұра ма — егер солай болса, бас тартпас бұрын қанша уақыт күту керек?
Немесе досыңыз біреумен бір ай бойы кездесіп жүр және сізден кеңес сұрайды: оны алдағы отбасылық үйлену тойына шақыру әлі ерте емес пе? Қарым-қатынас жақсы басталды — бірақ жоспарларды қанша уақыт бұрын жасау қауіпсіз?
Google-дың зерттеу жөніндегі директоры Питер Норвигтің әйгілі презентациясы «Деректердің негізсіз тиімділігі» деп аталды және онда ол «миллиардтаған қарапайым дерек нүктелері қалай түсіністікке әкелетіні» туралы шабытпен айтты. Бұқаралық ақпарат құралдары бізге үнемі big data (ауқымды деректер жиынтығы) дәуірінде өмір сүріп жатқанымызды, компьютерлер сол миллиардтаған дерек нүктелерін сүзіп, жай көзге көрінбейтін заңдылықтарды таба алатынын айтады. Бірақ көбінесе күнделікті адам өміріне қатысты мәселелер керісінше сипатта болады. Күндеріміз «шағын деректерге» толы. Шын мәнінде, Берлин қабырғасында тұрған Готт сияқты, біз көбінесе қолда бар ең аз дерек мөлшерінен: бір ғана бақылаудан қорытынды шығаруға мәжбүр боламыз.
Сонымен, біз мұны қалай жасаймыз? Және қалай жасауымыз керек?
Оқиға он сегізінші ғасырдағы Англияда, сол кездегі ұлы математикалық ақыл-ой иелері, тіпті дінбасылар үшін де тартымды болған зерттеу саласы — құмар ойындардан басталады.
Преподобный Бейеспен бірге кері логика жүргізу
Сондықтан, егер біз дәлелдер арқылы өткен тәжірибеге сенім артып, оны болашақ пайымдауымыздың стандартына айналдыратын болсақ, бұл дәлелдер тек ықтимал ғана болуы керек. — ДЭВИД ЮМ
Осыдан 250 жылдан астам уақыт бұрын, шағын деректерден болжам жасау мәселесі Англияның көркем курорттық қалашығы Танбридж Уэллстегі пресвитериандық министр, преподобный Томас Бейесті қатты мазалады.
Егер біз жаңа әрі бейтаныс лотереядан он билет сатып алсақ, деп елестетті Бейес, және оның бесеуі жүлде ұтып алса, онда лотереяның ұту мүмкіндігін бағалау оңай сияқты: 5/10 немесе 50%. Бірақ егер біз бір ғана билет сатып алып, ол ұтып кетсе ше? Біз шынымен де ұту ықтималдығын 1/1 немесе 100% деп ойлаймыз ба? Бұл тым оптимистік көрінеді. Солай ма? Егер солай болса, қаншалықты? Біз шын мәнінде нені болжауымыз керек?
Белгісіздік жағдайында пайымдау тарихына осындай зор әсер еткен адам үшін, Бейестің өз тарихы таңқаларлықтай белгісіз болып қалуда. Ол 1701 жылы, немесе 1702 жылы Англияның Хартфордшир графтығында, немесе Лондонның өзінде туған болуы мүмкін. 1746, 47, 48 немесе 49 жылдардың бірінде ол математикадағы ең ықпалды еңбектердің бірін жазып, оны жарияламай қалдырып, басқа істерге көшіп кеткен.
Осы екі оқиғаның арасында бізде біршама анықтық бар. Министрдің ұлы Бейес Эдинбург университетіне теологияны оқуға барып, әкесі сияқты діни қызметке тағайындалды. Оның теологиялық қана емес, математикалық қызығушылықтары да болды және 1736 жылы ол епископ Джордж Берклидің шабуылына жауап ретінде Ньютонның жаңадан шыққан «дифференциалдық есептеуіне» (calculus) жалынды қорғаныс жазды. Бұл еңбегі оның 1742 жылы Корольдік қоғамның мүшесі болып сайлануына әкелді, онда ол «Геометрия мен математикалық және философиялық білімнің барлық салаларын жетік меңгерген Джентльмен... » ретінде ұсынылды.
1761 жылы Бейес қайтыс болғаннан кейін, оның досы Ричард Прайстан оның математикалық қолжазбаларын қарап шығып, жариялауға тұрарлық материал бар-жоғын тексеруді сұрады. Прайс өзін қатты толқытқан бір эссені кездестірді — ол мұны «үлкен құндылыққа ие және сақталуға лайық» деп айтты. Эссе дәл талқыланып жатқан лотерея мәселесіне қатысты болды:
Енді лотерея ұтысына қатысып жатқан, бірақ оның схемасы немесе ондағы ұтыссыз және ұтысты билеттердің арақатынасы туралы ештеңе білмейтін адамды елестетейік. Сонымен қатар, ол мұны өзі естіген ұтыссыз билеттер саны мен ұтысты билеттер санын салыстыру арқылы қорытындылауға мәжбүр деп есептейік; және осы жағдайларда оның қандай тұжырымдар жасауы қисынды екенін сұрастырайық.
Бейестің маңызды түсінігі мынада болды: біз көрген ұтысты және ұтыссыз билеттерді олар алынған жалпы билеттер пулын анықтау үшін қолдануға тырысу — бұл мәнінде керісінше ой қорыту. Және бұны істеу үшін, ол алдымен гипотетикалық жағдайлардан алға қарай пайымдау керек деп есептеді. Басқаша айтқанда, егер әртүрлі сценарийлер шын болса, біз алған билеттерді суырып алуымыздың қаншалықты ықтимал екенін алдымен анықтауымыз керек. Бұл ықтималдық — қазіргі статистиктерге likelihood (ықтималдық функциясы — берілген гипотеза кезіндегі бақыланатын мәліметтердің сәйкестік дәрежесі) ретінде белгілі — бізге мәселені шешуге қажетті ақпаратты береді.
Мысалы, біз үш билет сатып алдық және оның үшеуі де ұтысты болды деп елестетіңіз. Енді, егер лотерея барлық билеттері ұтысты болатын ерекше жомарт түрден болса, онда біздің үште-үш тәжірибеміз, әрине, әрқашан орын алар еді; бұл сценарийде оның мүмкіндігі 100%. Егер оның орнына лотерея билеттерінің жартысы ғана ұтысты болса, біздің үште-үш тәжірибеміз уақыттың 1⁄2 × 1⁄2 × 1⁄2 бөлігінде немесе басқаша айтқанда 1⁄8 бөлігінде орын алар еді. Ал егер лотерея мың билеттің біреуіне ғана сыйлық берсе, біздің нәтижеміз өте екіталай болар еді: 1⁄1,000 × 1⁄1,000 × 1⁄1,000, немесе миллиардтан бір.
Бейес соған сәйкес барлық лотерея билеттерінің ұтысты болуын олардың жартысы ғана ұтысты болуынан гөрі ықтималырақ, ал жартысы ұтысты болуын мыңнан біреуі ғана ұтысты болуынан гөрі ықтималырақ деп бағалауымыз керек деп тұжырымдады. Мүмкін біз мұны интуитивті түрде сезген болармыз, бірақ Бейес логикасы бізге сол интуицияны сандық түрде бағалау мүмкіндігін береді. Басқа жағдайлар тең болғанда, біз барлық билеттердің ұтысты болуын олардың жартысы ұтысты болуынан дәл сегіз есе ықтималырақ деп есептеуіміз керек — өйткені біз суырған билеттер бұл сценарийде дәл сегіз есе ықтималырақ (100% және сегізден бірдің салыстыруы). Сол сияқты, лотерея билеттерінің жартысы ұтысты болуы мыңнан бір ғана ұтысты билет болуынан дәл 125 миллион есе ықтималырақ, мұны біз сегізден бір мен миллиардтан бірді салыстыру арқылы білеміз.
Бұл — Бейес дәлелінің негізі. Гипотетикалық өткен шақтардан алға қарай пайымдау бізге ең ықтимал нұсқаға қарай кері жұмыс істеуге негіз қалайды.
Бұл тапқыр әрі жаңашыл тәсіл болды, бірақ ол лотерея мәселесіне толық жауап бере алмады. Бейестің нәтижелерін Корольдік қоғамға ұсына отырып, Прайс егер сіз бір лотерея билетін сатып алсаңыз және ол ұтысты болса, онда билеттердің кем дегенде жартысы ұтысты болуының 75% мүмкіндігі бар екенін дәлелдей алды. Бірақ ықтималдықтардың ықтималдығы туралы ойлау басты айналдыруы мүмкін. Оның үстіне, егер біреу бізді қыспаққа алып: «Жақсы, бірақ лотереяның нақты мүмкіндіктері қандай деп ойлайсың? » десе, біз әлі де не айтарымызды білмес едік.
Бұл сұрақтың жауабы — барлық әртүрлі мүмкін гипотезаларды қалайша бір нақты күтуге айналдыру керек екенін — бірнеше жылдан кейін француз математигі Пьер-Симон Лаплас табады.
Лаплас заңы
Лаплас 1749 жылы Нормандияда дүниеге келген, әкесі оны діни қызметке тұрсын деген ниетпен католик мектебіне жіберген. Лаплас Кан университетінде теологияны оқуды жалғастырды, бірақ өмір бойы рухани және ғылыми құндылықтарды тең ұстаған Бейестен айырмашылығы — ол соңында діни киімді математика үшін біржолата тастап кетті.
1774 жылы Бейестің бұрынғы еңбектерінен мүлдем бейхабар Лаплас «Оқиғалар себептерінің ықтималдығы туралы трактат» атты өршіл еңбегін жариялады. Онда Лаплас ақыры бақыланатын салдардан олардың ықтимал себептеріне қарай кері қорытынды жасау мәселесін шешті.
Бейес, біз көргендей, бір гипотезаның екіншісіне қатысты салыстырмалы ықтималдығын салыстырудың жолын тапқан болатын. Бірақ лотерея жағдайында гипотезалардың саны шексіз: ұтысты билеттердің әрбір мүмкін үлесі үшін бір-бірден. Кезінде даулы болған, бірақ Бейес маңызды қорғаушысы болған дифференциалдық есептеуді қолдана отырып, Лаплас осы шексіз мүмкіндіктер спектрін бір ғана бағалауға дейін жинақтауға болатынын және оның өте ықшам екенін дәлелдей алды. Егер біз лотерея туралы алдын ала ештеңе білмейтін болсақ, деп көрсетті ол, бірінші әрекетте ұтысты билетті суырғаннан кейін, біз бүкіл пулдағы ұтысты билеттердің үлесі дәл 2/3 болады деп күтуіміз керек. Егер біз үш билет сатып алсақ және олардың барлығы ұтысты болса, ұтысты билеттердің күтілетін үлесі дәл 4/5 құрайды. Шын мәнінде, n әрекеттегі кез келген w ұтысты билеттердің мүмкін жиынтығы үшін күтілетін нәтиже жай ғана ұтыстар санына бірді қосып, әрекеттер санына екіні қосқанға тең: (w+1)⁄(n+2).
Ықтималдықтарды бағалаудың бұл таңқаларлық қарапайым схемасы Laplace’s Law (Лаплас заңы) деп аталады және оны оқиғаның тарихына сүйене отырып, оның мүмкіндіктерін бағалау қажет кез келген жағдайда қолдану оңай. Егер сіз бір нәрсеге он рет әрекет жасап, оның бесеуі сәтті болса, Лаплас заңы сіздің жалпы мүмкіндігіңізді 6/12 немесе 50% деп бағалайды, бұл біздің интуициямызға сәйкес келеді. Егер сіз тек бір рет көріп, ол іске асса, Лапластың 2/3 бағалауы әр жолы жеңемін деп ойлағаннан гөрі қисындырақ және Прайстың нұсқауынан гөрі (ол бізге табысқа жету мүмкіндігі 50% немесе одан жоғары болуының 75% мета-ықтималдығы бар екенін айтар еді) тиімдірек.
Лаплас өзінің статистикалық тәсілін сол кездегі мәселелердің кең ауқымына қолдануды жалғастырды, соның ішінде сәбилердің ер бала немесе қыз бала болып туылу ықтималдығының шынымен тең екенін бағалады. (Ол ер балалардың қыз балаларға қарағанда біршама көбірек туылатынын іс жүзінде дәлдікпен дәлелдеді. ) Ол сондай-ақ жалпы оқырманға арналған ықтималдық туралы алғашқы кітаптардың бірі және әлі күнге дейін ең үздіктерінің бірі болып саналатын «Ықтималдықтар туралы философиялық эссе» еңбегін жазып, онда өзінің теориясын баяндап, оның заңға, ғылымға және күнделікті өмірге қолданылуын қарастырды.
Лаплас заңы бізге нақты әлемдегі шағын деректермен жұмыс істеудің алғашқы қарапайым ережесін ұсынады. Бізде небәрі бірнеше бақылау — немесе тек біреуі ғана болса да — ол бізге практикалық нұсқау береді. Автобустың кешігу мүмкіндігін есептегіңіз келе ме? Софтбол командаңыздың жеңіске жету мүмкіндігі ше? Өткендегі болған оқиғалар санына бірді қосып, мүмкіндіктер санына екіні бөліңіз. Лаплас заңының кереметтігі — ол бізде бір дерек нүктесі болса да, миллиондаған дерек нүктесі болса да бірдей жақсы жұмыс істейді. Кішкентай Эннидің ертең күн шығады деген сенімі ақталған: шамамен 1,6 триллион күн бойы күннің шыққанын көрген Жер үшін, келесі «әрекетте» тағы бір күннің шығу мүмкіндігі 100%-дан іс жүзінде ажыратылмайды.
Бейес ережесі және бастапқы сенімдер
Бұл болжамдардың барлығы үйлесімді және ақылға қонымды. Неліктен біз біреуіне басқаларынан артықшылық беруіміз керек, егер ол қалғандарынан артық үйлесімді немесе ақылға қонымды болмаса? — ДЭВИД ЮМ
Лаплас сонымен қатар Бейес дәлеліне маңызды болатын тағы бір өзгерісті қарастырды: кейбір гипотезалардың басқаларына қарағанда жай ғана ықтималырақ екенін қалай ескеру керек. Мысалы, лотерея билет сатып алған адамдардың 99%-ына жүлде беруі мүмкін болғанымен, олардың тек 1%-ына ғана жүлде беруі ықтималырақ деп болжаймыз. Бұл болжам біздің бағалауларымызда көрініс табуы керек.
Мәселені нақтылау үшін, досыңыз сізге екі түрлі монетаны көрсетеді дейік. Бірі — екі жағында «елтаңба» мен «сан» бар, мүмкіндігі 50–50 болатын қалыпты, «әділ» монета; екіншісі — екі жағы да «елтаңба» болып табылатын монета. Ол оларды сөмкеге салып, біреуін кездейсоқ суырып алады. Ол оны бір рет лақтырады: елтаңба. Сіздің ойыңызша, досыңыз қай монетаны лақтырды?
Бейестің кері бағытта жұмыс істеу схемасы бұл сұрақты тез шешеді. Лақтырғанда елтаңба шығуы әділ монетада 50%, ал екі жағы да елтаңбалы монетада 100% жағдайда болады. Осылайша, біз досымыздың екі жағы да елтаңбалы монетаны суырып алуы 100%⁄50%, яғни дәл екі есе ықтималырақ деп сеніммен айта аламыз.
Енді мынадай жағдайды қарастырыңыз. Бұл жолы досыңыз сізге тоғыз әділ монета мен бір екі жақты елтаңбалы монетаны көрсетіп, бәрін сөмкеге салып, біреуін кездейсоқ суырып лақтырады: елтаңба. Енді не ойлайсыз? Бұл әділ монета ма, әлде екі жақты елтаңбалы ма?
Лапластың жұмысы бұл жағдайды да болжаған, мұнда да жауап таңқаларлықтай қарапайым. Бұрынғыдай, әділ монетаның елтаңба болып түсуі екі жақты елтаңбалы монетаға қарағанда дәл екі есе аз. Бірақ енді әділ монетаның басында суырып алыну ықтималдығы тоғыз есе жоғары. Осы екі түрлі жағдайды алып, бір-біріне көбейтуге болатыны белгілі болды: досыңыздың қолында екі жақты елтаңбалы монетаға қарағанда әділ монетаның болуы дәл төрт жарым есе ықтималырақ.
Біздің бұрыннан қалыптасқан түсініктеріміз бен көз алдымыздағы айғақтарды біріктіретін бұл қатынасты сипаттайтын математикалық формула — негізгі жұмысты Лаплас атқарса да — Bayes’s Rule (Бейес ережесі) деп аталды. Ол бұрыннан бар сенімдерді бақыланатын айғақтармен қалай біріктіру керектігінің өте қарапайым шешімін береді: олардың ықтималдықтарын бір-біріне көбейтіңіз.
Айта кетерлігі, бұл формуланың жұмыс істеуі үшін бұрыннан бар кейбір сенімдердің болуы өте маңызды. Егер досыңыз сізге жай ғана келіп: «Мен осы сөмкеден бір монета лақтырдым және елтаңба шықты. Бұл әділ монета болуының ықтималдығы қандай деп ойлайсың? » десе, сөмкеде басында қандай монеталар болғаны туралы түсінігіңіз болмаса, сіз бұл сұраққа мүлдем жауап бере алмас едіңіз. (Егер сізде ықтималдықтың бірі болмаса, екі ықтималдықты бір-біріне көбейте алмайсыз. ) Монетаны лақтырмас бұрын «сөмкеде не болғаны» туралы бұл түсінік — кез келген деректі көрмес бұрын әрбір гипотезаның шын болу мүмкіндігі — prior probabilities (бастапқы немесе априорлы ықтималдықтар), немесе қысқаша «приорлар» деп аталады. Бейес ережесі әрқашан сізден қандай да бір бастапқы болжамды талап етеді, мейлі ол тек болжам болса да. Қанша екі жақты елтаңбалы монета бар? Оларды алу қаншалықты оңай? Жалпы, досыңыз қаншалықты қу адам?
Бейес ережесінің приорларды қолдануға тәуелділігі тарихтың белгілі бір кезеңдерінде даулы, біржақты, тіпті ғылыми емес деп есептелген. Бірақ іс жүзінде, санамыз мүлдем бос парақ болатындай бейтаныс жағдайға тап болу өте сирек кездеседі — бұл мәселеге біз сәлден соң қайта ораламыз.
Егер сізде бастапқы ықтималдықтардың қандай да бір бағасы болса, Бейес ережесі ауқымды деректер болсын, немесе жиі кездесетін шағын деректер болсын, болжау мәселелерінің кең ауқымына қолданылады. Лотереяда ұту немесе елтаңба түсу ықтималдығын есептеу — бұл тек бастамасы ғана. Бейес пен Лаплас әзірлеген әдістер белгісіздік пен жұмыс істеуге болатын аздаған деректер болған кез келген уақытта көмектесе алады. Біз болашақты болжауға тырысқанда дәл осындай жағдайға тап боламыз.
Коперник принципі
Болжам жасау қиын, әсіресе болашақ туралы. — ДАНИЯ МӘТЕЛІ
Дж. Ричард Готт Берлин қабырғасына келгенде, ол өзіне өте қарапайым сұрақ қойды: Мен қайдамын? Яғни, бұл жәдігердің жалпы өмір сүру ұзақтығының қай кезеңінде тұрмын? Белгілі бір мағынада, ол төрт жүз жыл бұрын астроном Николай Коперникті мазалаған кеңістіктік сұрақтың уақыттық нұсқасын қойды: Біз қайдамыз? Ғарышта Жер қай жерде орналасқан? Коперник Жер ғаламның кіндігі емес — шын мәнінде, ол ерекше емес жерде орналасқан деп елестету арқылы түбегейлі парадигмалық өзгеріс жасады. Готт уақытқа қатысты да дәл осындай қадам жасауды ұйғарды.
Ол Берлин қабырғасын кездестірген сәті ерекше емес — бұл қабырғаның жалпы өмір сүру уақытындағы кез келген сәт болуы әбден мүмкін деген болжам жасады. Егер кез келген сәт тең дәрежеде ықтимал болса, онда орташа есеппен оның келуі дәл орта тұсына сәйкес келуі керек (өйткені оның жарты жолға дейін түсуі 50% және жарты жолдан кейін түсуі 50% ықтимал). Жалпы алғанда, егер біз көбірек білмесек, кез келген құбылыстың ұзақтығының дәл ортасында пайда болдық деп күте аламыз. Ал егер біз бір нәрсенің ұзақтығының дәл ортасына келдік деп есептесек, оның болашақта тағы қанша уақытқа созылатыны туралы жасай алатын ең жақсы болжамымыз айқын болады: ол қанша уақыт болса, тағы сонша уақытқа созылады. Готт Берлин қабырғасын салынғаннан сегіз жыл өткен соң көрді, сондықтан оның ең жақсы болжамы оның тағы сегіз жыл тұратыны болды. (Ақырында ол жиырма жыл болды. )
Готт Copernican Principle (Коперник принципі) деп атаған бұл қарапайым пайымдау әртүрлі тақырыптар бойынша болжам жасау үшін қолдануға болатын қарапайым алгоритмге әкеледі. Ешқандай алдын ала күтулерсіз, біз оны тек Берлин қабырғасының ғана емес, кез келген қысқа немесе ұзақ өмір сүретін құбылыстардың аяқталуын болжау үшін қолдана аламыз. Коперник принципі Америка Құрама Штаттары шамамен 2255 жылға дейін ұлт ретінде сақталады, Google шамамен 2032 жылға дейін болады, ал досыңыздың бір ай бұрын бастаған қарым-қатынасы тағы бір айға созылады деп болжайды (мүмкін оған үйлену тойына шақыруға әлі жауап бермеуді айтарсыз). Сол сияқты, ол бізге, мысалы, жақында шыққан New Yorker журналының мұқабасында қолына алты дюймдік смартфонын ұстаған, үйреншікті шаршы қолданба белгішелері бар адам бейнеленген және «2525» деген жазуы бар суретке күмәнмен қарауды айтады. Екіталай. Біз білетін смартфонға әрең дегенде он жыл толды, ал Коперник принципі оның 2025 жылы да болуы екіталай екенін айтады, бес ғасырдан кейінгіні былай қойғанда. 2525 жылға қарай тіпті Нью-Йорк қаласының өзі болса, соған таңғалуға болады.
Неғұрлым практикалық тұрғыдан алсақ, егер біз маңдайшасында «соңғы өндірістік апаттан бері 7 күн өтті» деп жазылған құрылыс алаңына жұмысқа орналасуды ойластырсақ, онда жоспарлаған жұмысымыз өте қысқа болмаса, ол жерден аулақ болғанымыз жөн. Ал егер қалалық транзит жүйесі жолаушыларға келесі автобустың қашан келетінін айтып тұратын өте пайдалы, бірақ қымбат нақты уақыт таблоларын орната алмаса, Коперник принципі бұдан әлдеқайда қарапайым және арзан балама болуы мүмкін екенін көрсетеді. Алдыңғы автобустың сол аялдамаға келгеніне қанша уақыт болғанын жай ғана көрсету — келесі автобустың қашан келетіні туралы айтарлықтай тұспал береді.
Бірақ Коперник принципі дұрыс па? Готт Nature журналында өзінің болжамын жариялағаннан кейін, журналға көптеген сыни хаттар түсті. Және бұл ережені кейбір таныс мысалдарға қолдануға тырысқанда, неге екенін түсіну оңай. Егер сіз 90 жастағы адамды кездестірсеңіз, Коперник принципі оның 180 жасқа дейін өмір сүретінін болжайды. Ал әрбір 6 жасар бала 12 жасында ерте қайтыс болады деп болжанады.
Коперник принципінің неге жұмыс істейтінін және неге кейде жұмыс істемейтінін түсіну үшін біз Бейеске оралуымыз керек. Өйткені, сыртқы қарапайымдылығына қарамастан, Коперник принципі іс жүзінде Бейес ережесінің бір көрінісі болып табылады.
Бейес Коперникпен кездеседі
Берлин қабырғасының өміршеңдігі сияқты болашақты болжау кезінде біз қарастыратын гипотезалар — бұл құбылыстың барлық ықтимал ұзақтығы: ол бір апта, бір ай, бір жыл немесе он жыл сақтала ма? Байес ережесін қолдану үшін, бұған дейін көргеніміздей, алдымен осы ұзақтықтардың әрқайсысына априорлы ықтималдық тағайындауымыз керек. Коперник принципі — бұл Байес ережесін ақпаратсыз априорлы ықтималдық (болжам жасау үшін алдын ала ешқандай мәліметтің болмауы) деп аталатын әдіс арқылы қолданудың нәтижесі болып шықты.
Бір қарағанда, бұл терминдердің қайшылығы сияқты көрінуі мүмкін. Егер Байес ережесі бізден әрқашан априорлы күтулеріміз бен сенімдерімізді нақтылауды талап етсе, бізде ешқандай ақпарат жоқ екенін оған қалай айтамыз? Лотерея жағдайында бейхабарлығымызды білдірудің бір жолы — «біркелкі априорлы ықтималдықты» қабылдау, мұнда ұтыс билеттерінің кез келген үлесі тең дәрежеде мүмкін деп есептеледі. Берлин қабырғасы жағдайында ақпаратсыз априорлы ықтималдық біз болжағымыз келетін уақыт аралығы туралы ештеңе білмейтінімізді білдіреді: қабырға алдағы бес минутта құлауы да немесе бес мыңжылдық бойы тұруы да мүмкін.
<span data-term="true">Ақпаратсыз априорлы ықтималдық</span> — бұл зерттелетін нысан туралы алдын ала ешқандай мәлімет немесе басымдық болмаған жағдайда қолданылатын бастапқы ықтималдық.
Осы ақпаратсыз априорлы ықтималдықтан бөлек, Байес ережесіне беретін жалғыз дерегіміз — Берлин қабырғасын сегіз жасқа толғанда кездестіргеніміз туралы факт. Қабырғаның өмір сүру ұзақтығы сегіз жылдан аз болады деп болжаған кез келген гипотеза бірден жоққа шығарылады, өйткені бұл гипотезалар біздің қазіргі жағдайымызды түсіндіре алмайды. (Сол сияқты, екі жағы да елтаңбалы тиын алғаш рет «сан» жағы түскенде бірден жоққа шығарылады). Сегіз жылдан ұзақ кез келген уақыт мүмкіндік аясында — бірақ егер қабырға миллион жыл тұратын болса, біз оның пайда болуының ең басында кездесіп қалуымыз үлкен кездейсоқтық болар еді. Сондықтан, өте ұзақ өмір сүру мерзімдерін толық жоққа шығару мүмкін болмаса да, олардың болу ықтималдығы да жоғары емес.
Байес ережесі осы ықтималдықтардың барлығын біріктіргенде — ықтималдығы жоғары қысқа мерзімдер орташа болжамды төмен түсіреді, ал ықтималдығы төмен болса да мүмкін болатын ұзақ мерзімдер оны жоғары көтереді — Коперник принципі пайда болады: егер біз бір нәрсенің қанша уақытқа созылатынын болжағымыз келсе және ол туралы басқа ешқандай біліміміз болмаса, біз жасай алатын ең жақсы болжам — ол осы уақытқа дейін қанша тұрса, тағы сонша уақыт тұрады деген тұжырым.
Шын мәнінде, Готт Коперник принципіне ұқсас нәрсені ұсынған алғашқы адам емес еді. Жиырмасыншы ғасырдың ортасында Байес статистигі Гарольд Джеффрис қаладағы трамвайлардың санын тек бір трамвайдың сериялық нөміріне сүйене отырып анықтауды зерттеп, дәл осындай жауапқа келді: сериялық нөмірді екі есе арттыру керек. Осыған ұқсас мәселе тіпті ертерек, Екінші дүниежүзілік соғыс кезінде одақтастар Германия шығаратын танктердің санын бағалауға тырысқанда туындады. Қолға түскен танктердің сериялық нөмірлеріне негізделген таза математикалық есептеулер немістердің ай сайын 246 танк шығаратынын болжаса, ауқымды (және өте қауіпті) әуе барлауы арқылы алынған бағалаулар бұл көрсеткішті 1400-ге жуық деп көрсетті. Соғыстан кейін неміс жазбалары шын мәніндегі санды ашты: 245.
Соғыс кезіндегі статистикалық болжамдардың дәлдігі барлау мәліметтерінен асып түсіп, математикалық модельдердің шынайы күшін көрсетті.
Коперник принципінің ақпаратсыз априорлы ықтималдығы бар Байес ережесі екенін түсіну оның негізділігі туралы көптеген сұрақтарға жауап береді. Коперник принципі біз ештеңе білмейтін жағдайларда — мысалы, 1969 жылы Берлин қабырғасына қарап, қандай уақыт шкаласы сәйкес келетініне сенімді болмағанда — орынды көрінеді. Ал біз қарастырып жатқан тақырып туралы бірдеңе білетін жағдайларда ол мүлдем дұрыс емес болып көрінеді. 90 жастағы адам 180 жасқа дейін өмір сүреді деп болжау негізсіз көрінеді, өйткені біз бұл мәселеге адам өмірінің ұзақтығы туралы көптеген біліммен келеміз — сондықтан біз жақсырақ болжай аламыз. Байес ережесіне неғұрлым бай априорлы ақпарат әкелсек, соғұрлым пайдалы болжамдар аламыз.
Шынайы әлемдегі априорлы ықтималдықтар
Кең мағынада әлемде заттардың екі түрі бар: қандай да бір «табиғи» мәнге ұмтылатын (немесе соның айналасында топтасатын) заттар және олай істемейтін заттар.
Адам өмірінің ұзақтығы анық бірінші санатқа жатады. Олар шамамен «қалыпты» үлестірімге (мәндердің көпшілігі орташа мәнге жақын, ал қалғандары екі жаққа қарай біркелкі азаятын заңдылық) бағынады. Ол неміс математигі Карл Фридрих Гаусстың құрметіне «Гаусс» үлестірімі деп те аталады, ал өзіне тән пішініне байланысты бейресми түрде «қоңырау қисығы» деп аталады. Бұл пішін адам өмірінің ұзақтығын жақсы сипаттайды; мысалы, Америка Құрама Штаттарындағы ерлердің орташа өмір сүру ұзақтығы шамамен 76 жасқа шоғырланған және ықтималдықтар екі жаққа қарай күрт төмендейді. Қалыпты үлестірімдердің бір ғана тиісті шкаласы болады: бір таңбалы өмір сүру ұзақтығы қасірет, ал үш таңбалысы ерекше жағдай болып саналады. Табиғи әлемдегі көптеген басқа нәрселер де қалыпты түрде үлестіріледі: адамның бойы мен салмағынан бастап, қаладағы түскі уақыттағы температура мен бақтағы жемістердің диаметріне дейін.
Алайда әлемде қалыпты үлестірілмеген бірқатар нәрселер бар. Мысалы, АҚШ-тағы қаланың орташа халқы 8 226 адамды құрайды. Бірақ егер сіз қалалардың саны бойынша халық графигін салсаңыз, сіз қоңырау қисығына ұқсайтын ештеңе көрмейсіз. Халқы 8 226-дан аз қалалар көбірек болар еді. Сонымен бірге, ірі қалалар орташа көрсеткіштен әлдеқайда үлкен болады. Мұндай заңдылық «дәрежелік заң үлестірімдеріне» (көптеген кіші мәндер мен санаулы өте үлкен мәндерден тұратын заңдылық) тән. Олар сондай-ақ «масштабсыз үлестірімдер» деп те аталады, өйткені олар көптеген масштабтарды қамти алатын шамаларды сипаттайды: қалада ондаған, жүздеген, мыңдаған, ондаған мың, жүздеген мың немесе миллиондаған тұрғын болуы мүмкін, сондықтан біз «қалыпты» қала қаншалықты үлкен болуы керектігін бір мәнмен анықтай алмаймыз.
Дәрежелік заң үлестірімі күнделікті өмірдегі қала тұрғындарының санымен бірдей негізгі сапаға ие көптеген құбылыстарды сипаттайды: көптеген нәрселер орташа мәннен төмен, ал санаулылары орташа мәннен әлдеқайда жоғары. Төрт таңбалыдан он таңбалыға дейін өзгеруі мүмкін фильмдердің кассалық түсімдері — тағы бір мысал. Фильмдердің көпшілігі онша көп ақша таппайды, бірақ кейде «Титаник» сияқты фильмдер... титандық мөлшерде табыс табады.
Шын мәнінде, жалпы ақша — бұл дәрежелік заңдарға толы сала. Дәрежелік заң үлестірімдері адамдардың байлығын да, табысын да сипаттайды. Мысалы, Америкадағы орташа табыс 55 688 долларды құрайды — бірақ табыс шамамен дәрежелік заң бойынша үлестірілгендіктен, біз бұл орташа мәннен төмен адамдардың саны жоғары адамдардан әлдеқайда көп болатынын білеміз, ал жоғарыдағылар тіпті графиктен тыс болуы мүмкін. Солай болып тұр: АҚШ халқының үштен екісі орташа табыстан аз табады, бірақ ең бай 1% орташа табыстан он есе көп табады. Ал сол 1%-дың ішіндегі ең бай 1% одан тағы он есе көп табады.
Жиі «байлар одан сайын байып жатыр» деп айтылады, және шынында да «артықшылықты қосылу» процесі дәрежелік заң үлестірімін шығарудың ең сенімді жолдарының бірі болып табылады. Ең танымал веб-сайттардың сілтемелер алу ықтималдығы жоғары; желідегі ең танымал жұлдыздар жаңа жанкүйерлер жинауға бейім; ең беделді фирмалар жаңа клиенттерді тартуға бейім; ең үлкен қалалар жаңа тұрғындарды тартуға бейім. Әрбір жағдайда дәрежелік заң үлестірімі пайда болады.
Байес ережесі шектеулі деректерге негізделген болжамдар жасау кезінде жақсы априорлы ықтималдықтарға — яғни бұл деректер қандай үлестірімнен келгені туралы түсінікке ие болудан маңызды ештеңе жоқ екенін айтады. Жақсы болжамдар біз қашан қалыпты үлестіріммен, ал қашан дәрежелік заң үлестірімімен жұмыс істейтінімізді түйсікпен сезінуден басталады. Байес ережесі бізге әрқайсысы үшін қарапайым, бірақ айтарлықтай ерекшеленетін болжаудың практикалық ережелерін ұсынады.
... және олардың болжау ережелері
Бұл мәңгілікке созылуы мүмкін бе? — БЕН ЛЕРНЕР
Коперник принципін зерттей келе, біз Байес ережесіне ақпаратсыз априорлы ықтималдық берілгенде, ол әрқашан объектінің жалпы өмір сүру ұзақтығы оның қазіргі жасынан екі есе көп болады деп болжайтынын көрдік. Шын мәнінде, әртүрлі мүмкін масштабтары бар ақпаратсыз априорлы ықтималдық — айлар бойы немесе мыңжылдықтар бойы сақталуы мүмкін қабырға — бұл дәрежелік заң үлестірімі. Кез келген дәрежелік заң үлестірімі үшін Байес ережесі тиісті болжау стратегиясы Мультипликативті ереже (көбейтуге негізделген ереже) екенін көрсетеді: осы уақытқа дейін бақыланған шаманы қандай да бір тұрақты коэффицентке көбейтіңіз. Ақпаратсыз априорлы ықтималдық үшін бұл тұрақты коэффицент 2-ге тең, сондықтан Коперник болжамы солай шығады; басқа дәрежелік жағдайларда мультипликатор сіз жұмыс істеп жатқан нақты үлестірімге байланысты болады. Мысалы, фильмдердің түсімі үшін ол шамамен 1,4-ті құрайды. Сонымен, егер сіз фильмнің осы уақытқа дейін 6 миллион доллар тапқанын естісеңіз, оның жалпы шамамен 8,4 миллион доллар табатынын болжай аласыз; егер ол 90 миллион доллар тапса, оның шамамен 126 миллион долларға жететінін болжаңыз.
Бұл мультипликативті ереже дәрежелік заң үлестірімдерінің өздері сипаттайтын құбылыс үшін табиғи масштабты көрсетпейтіндігінің тікелей салдары болып табылады. Сондықтан біздің болжамымызға масштаб сезімін беретін жалғыз нәрсе — біздегі жалғыз дерек нүктесі — мысалы, Берлин қабырғасының сегіз жыл бойы тұрғаны туралы факт. Осы жалғыз дерек нүктесінің мәні неғұрлым үлкен болса, біз соғұрлым үлкен масштабпен жұмыс істейтін шығармыз және керісінше. 6 миллион доллар жинаған фильм шыққаннан кейінгі бірінші сағатта-ақ блокбастерге айналуы мүмкін, бірақ оның бір таңбалы миллиондар деңгейіндегі фильм болу ықтималдығы әлдеқайда жоғары.
Екінші жағынан, Байес ережесін қалыпты үлестіріммен априорлы ықтималдық ретінде қолданғанда, біз мүлдем басқа бағыт аламыз. Мультипликативті ереженің орнына біз Орташа мән ережесін (таралудың орташа көрсеткішіне сүйенетін әдіс) аламыз: бағыттаушы ретінде үлестірімнің «табиғи» орташа мәнін — оның жалғыз, нақты масштабын — пайдаланыңыз. Мысалы, егер біреу орташа өмір сүру ұзақтығынан жас болса, онда жай ғана орташа мәнді болжаңыз; олардың жасы орташа мәнге жақындағанда және одан асқанда, олар тағы бірнеше жыл өмір сүреді деп болжаңыз. Осы ережені сақтау 90 жастағы және 6 жастағы адамдар үшін қисынды болжамдар береді: сәйкесінше 94 және 77 жас. (6 жастағы бала нәресте кезінен аман өткені үшін халықтың орташа көрсеткіші 76-дан сәл басымдық алады: біз оның үлестірімнің сол жақ шетінде емес екенін білеміз).
Фильмнің ұзақтығы да, адам өмірі сияқты, қалыпты үлестірімге бағынады: фильмдердің көпшілігі жүз минуттың айналасында топтасады, ал ерекше жағдайлар екі жаққа қарай азаяды. Бірақ барлық адамзат әрекеттері ондай тәртіпті емес. Ақын Дин Янг бірде нөмірленген бөлімдерден тұратын өлеңді тыңдап отырғанда, егер оқырман төртінші бөлімнің басталғанын жарияласа, оның көңілі түсетінін айтқан болатын: егер үш бөлімнен көп болса, барлық болжамдар бекер және Янг ұзақ тыңдауға дайындалуы керек. Янгтың бұл қаупі шын мәнінде толықтай Байестік болып шықты. Өлеңдерге жасалған талдау олардың, фильм ұзақтығынан айырмашылығы, қалыпты үлестірімнен гөрі дәрежелік заңға жақынырақ екенін көрсетеді: өлеңдердің көпшілігі қысқа, бірақ кейбіреулері эпостар. Сондықтан поэзияға келгенде, өзіңізге ыңғайлы орын дайындап алыңыз. Қалыпты үлестірілген, тым ұзаққа созылған сияқты көрінетін нәрсе жақын арада аяқталуы тиіс; бірақ дәрежелік заң үлестіріміндегі бірдеңе неғұрлым ұзақ созылса, ол соғұрлым ұзақ жалғасады деп күтуге болады.
Осы екі шеткі жағдайдың арасында өмірдегі заттардың үшінші санаты бар: біраз уақыт бойы жалғасқаны үшін ғана аяқталу ықтималдығы артпайтын немесе азаймайтын заттар. Кейде нәрселер жай ғана... өзгеріссіз қалады. Осындай құбылыстарды зерттеген дат математигі Агнер Краруп Эрланг тәуелсіз оқиғалар арасындағы интервалдардың таралуын қазір оның есімімен аталатын функцияға — Эрланг үлестіріміне (тәуелсіз оқиғалар арасындағы уақытты сипаттайтын модель) айналдырды. Бұл қисықтың пішіні қалыпты және дәрежелік заңнан да ерекшеленеді: оның қанат тәрізді контуры бар, ол жайлап дөңес болып көтеріледі және құйрығы дәрежелік заңнан тезірек, бірақ қалыпты үлестірімнен баяу төмендейді. Жиырмасыншы ғасырдың басында Копенгаген телефон компаниясында жұмыс істеген Эрлангтың өзі оны телефон желісіндегі кезекті қоңыраулар арасында қанша уақыт өтетінін модельдеу үшін қолданған. Содан бері Эрланг үлестірімін қала жоспарлаушылары мен архитекторлар автомобиль және жаяу жүргіншілер қозғалысын модельдеу үшін, ал желі инженерлері Интернет инфрақұрылымын жобалау үшін қолданады. Табиғи әлемде де оқиғалар бір-бірінен мүлдем тәуелсіз болатын және олардың арасындағы интервалдар Эрланг қисығына сәйкес келетін бірқатар салалар бар. Радиоактивті ыдырау — бұған бір мысал, демек Эрланг үлестірімі Гейгер есептегішінің келесі дыбыстарын қашан күту керектігін тамаша модельдейді. Сондай-ақ ол белгілі бір адамзаттық талпыныстарды — мысалы, саясаткерлердің Өкілдер палатасында қанша уақыт болатынын сипаттау үшін де жақсы жұмыс істейтіні белгілі болды.
Эрланг үлестірімі бізге болжаудың үшінші түрін — Аддитивті ережені (қосуға негізделген ереже) береді: әрқашан нәрселер тек тұрақты уақытқа ұзарады деп болжаңыз. Адамдардың үйден немесе кеңседен шығуға дайындығы немесе қандай да бір тапсырманың орындалу уақыты туралы айтатын «Тағы бес минут!... [бес минуттан кейін] Тағы бес минут! » деген таныс сөзі шынайы бағалаудағы қандай да бір созылмалы сәтсіздіктің көрсеткіші сияқты көрінуі мүмкін. Бірақ Эрланг үлестірімімен бетпе-бет келген жағдайларда, бұл сөз дұрыс болып шығады.
Егер казинода карта ойнауға құмар адам өзінің шыдамсыз жұбайына, мысалы, тағы бір блэкджек (оның ықтималдығы шамамен 20-дан 1-ге дейін) алғаннан кейін бүгінгі ойынды тоқтататынын айтса, ол көңілді түрде: «Мен тағы жиырма қолдан кейін бітіремін! » деп болжауы мүмкін. Егер сәтсіз жиырма қолдан кейін әйелі қайтып келіп, оны енді қанша күттіретінін сұраса, оның жауабы өзгермейді: «Мен тағы жиырма қолдан кейін бітіремін! ». Біздің шаршамайтын карта ойыншымыз қысқа мерзімді жадын жоғалтқандай көрінуі мүмкін — бірақ, шын мәнінде, оның болжамы толығымен дұрыс. Шынында да, тарихына немесе қазіргі күйіне қарамастан бірдей болжам беретін үлестірімдер статистерге «жадсыз» (өткен жағдайлар болашаққа әсер етпейтін) деген атпен белгілі.

Әртүрлі априорлы үлестірімдер және олардың болжау ережелері.
Оңтайлы болжаудың осы үш түрлі заңдылығы — Мультипликативті, Орташа мән және Аддитивті ережелер — Байес ережесін сәйкесінше дәрежелік заң, қалыпты және Эрланг үлестірімдеріне қолданудың тікелей нәтижесі. Осы болжамдардың қалай шығатынын ескере отырып, бұл үш үлестірім бізге белгілі бір оқиғаларға қаншалықты таң қалуымыз керектігі туралы да әртүрлі бағыттар ұсынады.
Дәрежелік заң үлестірімінде бір нәрсе неғұрлым ұзақ созылса, біз оның соғұрлым ұзақ жалғасатынын күтеміз. Сондықтан дәрежелік заң оқиғасы біз оны неғұрлым ұзақ күтсек, соғұрлым таңғаларлық болады — және ол орындалар алдында барынша таң қалдырады. Мемлекет, корпорация немесе мекеме жыл өткен сайын беделі арта түседі, сондықтан оның күйреуі әрқашан таң қалдырады.
Қалыпты үлестірімде оқиғалар ерте болғанда таң қалдырады — өйткені біз олардың орташа мәнге жетуін күттік — бірақ кеш болғанда емес. Шынында да, ол кезде олардың болуы пісіп-жетілгендей көрінеді, сондықтан неғұрлым ұзақ күтсек, соғұрлым оларды көбірек күтеміз.
Ал Эрланг үлестірімінде оқиғалардың қашан болғанына қарамастан, олар ешқашан көп немесе аз таңқаларлық болмайды. Кез келген жағдайдың қанша уақытқа созылғанына қарамастан, оның аяқталу ықтималдығы әрқашан бірдей. Саясаткерлердің үнемі келесі сайлау туралы ойлайтыны таңқаларлық емес.
Құмар ойындар да осындай тұрақты күтумен сипатталады. Егер сіздің, айталық, рулетка дөңгелегінде ұтуды күтуіңіз қалыпты үлестіріммен сипатталса, онда Орташа мән ережесі қолданылар еді: бірнеше сәтсіздіктен кейін ол сізге сіздің нөміріңіз кез келген секундта келуі керек екенін, одан кейін ықтимал ұтылыстар болатынын айтар еді. (Бұл жағдайда келесі ұтысқа дейін ойнап, сосын тоқтатудың мағынасы болар еді). Егер ұтысты күту дәрежелік заң үлестіріміне бағынса, онда Мультипликативті ереже сізге ұтыстар бірінен соң бірі тез келетінін, бірақ ұзақ сәтсіздік неғұрлым ұзақ жалғасса, ол соғұрлым ұзаққа созылатынын айтар еді. (Бұл сценарийде кез келген ұтыстан кейін біраз уақыт ойнауды жалғастырғаныңыз дұрыс болар еді, бірақ ұтылыстар сериясынан кейін бас тарту керек). Алайда, жадсыз үлестірімге тап болғанда, сіз тығырыққа тірелесіз. Аддитивті ереже сізге қазір ұту мүмкіндігі бір сағат бұрынғымен және бір сағаттан кейінгімен бірдей екенін айтады. Ештеңе ешқашан өзгермейді. Сіз шыдағаныңыз және жақсы нәтижемен аяқтағаныңыз үшін марапатталмайсыз; сондай-ақ шығынды тоқтату керек болатын шешуші сәт те болмайды. Кенни Роджерс «The Gambler» әнінде «Қашан кету керектігін білу керек / Қашан қашу керектігін білу керек» деп кеңес берген болатын — бірақ жадсыз үлестірім үшін тоқтаудың дұрыс уақыты жоқ. Бұл осы ойындардың тәуелділік тудыруын ішінара түсіндіруі мүмкін.
Қандай үлестіріммен жұмыс істеп жатқаныңызды білу үлкен айырмашылық тудыруы мүмкін.
Гарвард биологы және ғылымды кеңінен насихаттаушы Стивен Джей Гулд өзінің қатерлі ісікке шалдыққанын білгенде, оның бірден-бір қалауы тиісті медициналық әдебиеттерді оқу болды. Содан кейін ол дәрігерлердің неге бұған қарсы болғанын түсінді: оның қатерлі ісік түрімен ауыратын науқастардың жартысы ауру анықталғаннан кейін сегіз айдың ішінде қайтыс болған.
Бірақ бұл бір статистика — сегіз ай — оған аман қалғандардың үлестірімі туралы ештеңе айтпады. Егер бұл қалыпты үлестірім болса, онда Орташа мән ережесі оның қанша уақыт өмір сүретіні туралы нақты болжам берер еді: шамамен сегіз ай. Бірақ егер бұл оң жаққа қарай созылған құйрығы бар дәрежелік заң болса, онда жағдай мүлдем басқаша болар еді: Мультипликативті ереже оған неғұрлым ұзақ өмір сүрсе, оның соғұрлым ұзақ өмір сүретініне дәлелдер көбейетінін айтар еді. Одан әрі оқи келе, Гулд «үлестірім шын мәнінде оң жаққа қатты қисайған, сегіз айлық медианадан бірнеше жылға асатын ұзын құйрығы (қаншалықты кішкентай болса да) барын» анықтады. «Менің сол кішкентай құйрықта болмауыма ешқандай себеп көрмедім және жеңілдеп, терең тыныс алдым». Гулд диагноз қойылғаннан кейін тағы жиырма жыл өмір сүрді.
Кішігірім деректер және сана
Үш болжау ережесі — Мультипликативті, Орташа мән және Аддитивті — күнделікті жағдайлардың кең ауқымында қолданылады. Және бұл жағдайларда адамдар, жалпы алғанда, дұрыс болжау ережесін қолдануға өте шебер болып шықты. Аспирантурада оқып жүргенде Том MIT-ден Джош Тененбауммен бірге тәжірибе жүргізіп, адамдардан әртүрлі күнделікті шамаларды — мысалы, адам өмірінің ұзақтығын, фильмдердің түсімін және АҚШ өкілдерінің қызметте болатын уақытын — әр жағдайда тек бір ақпаратқа сүйене отырып болжауды сұрады: қазіргі жасы, осы уақытқа дейін тапқан ақшасы және бүгінгі күнге дейін қызмет еткен жылдары. Содан кейін олар адамдар жасаған болжамдарды Байес ережесін осы салалардың әрқайсысы бойынша нақты шынайы деректерге қолдану арқылы алынған болжамдармен салыстырды.
Нәтижесінде адамдар жасаған болжамдар Байес ережесі арқылы алынған болжамдарға өте жақын болды. Түйсікті түрде адамдар шынайы әлемде әртүрлі үлестірімдерге — дәрежелік заң, қалыпты және Эрланг — бағынатын шамалар үшін әртүрлі болжамдар жасады. Басқаша айтқанда, сіз қай жағдайда Мультипликативті, Орташа мән немесе Аддитивті ережені қолдану керектігін білмесеңіз де немесе саналы түрде есте сақтамасаңыз да, күнделікті жасайтын болжамдарыңыз бұл үлестірімдердің күнделікті өмірде кездесетін әртүрлі жағдайларын және олардың әртүрлі мінез-құлқын жанама түрде көрсетеді.
Адамдардың түйсігі Байес статистикасымен таңқаларлықтай үйлеседі, бұл біздің күнделікті тәжірибеден жинақтаған бай априорлы біліміміздің арқасында.
Байес ережесі туралы білетіндерімізді ескерсек, адамдардың бұл тамаша нәтижесі адамдардың болжамды қалай жасайтынын түсінуге көмектесетін маңызды нәрсені меңзейді. Кішігірім деректер — бұл жасырынған үлкен деректер. Біздің аз ғана бақылаулардан — немесе тіпті біреуінен — жиі жақсы болжам жасай алуымыздың себебі, біздің априорлы біліміміздің (priors) өте бай болуында. Біз білсек те, білмесек те, фильм түсімдері мен ұзақтығы, өлең ұзындығы және саяси қызмет мерзімдері, сондай-ақ адам өмірінің ұзақтығы туралы таңқаларлықтай дәл априорлы білімді басымызда алып жүретін сияқтымыз. Бізге оларды арнайы жинаудың қажеті жоқ; біз оларды қоршаған әлемнен сіңіріп аламыз.
Жалпы алғанда, адамдардың түйсігі Байес ережесінің (жаңа деректер негізінде ықтималдықты жаңарту тәсілі) болжамдарына жақын келуі — тіпті шынайы әлемнен ресми деректер алу қиын болатын салаларда да априорлы үлестірімдерді (тәжірибеге дейінгі ықтималдықтар жиынтығы) кері инжиниринг арқылы қалпына келтіруге мүмкіндік береді. Мысалы, клиенттерге қолдау көрсету қызметінің желісінде күтіп тұру — адамзат тәжірибесінде өте жиі кездесетін жағдай, бірақ Голливуд кассаларының кірісі сияқты күту уақыты туралы жалпыға қолжетімді деректер жиынтығы жоқ. Алайда, егер адамдардың болжамдары олардың тәжірибесіне негізделсе, біз адамдардың күтулерін зерттеу арқылы әлем туралы жанама барлау жүргізу үшін Байес ережесін қолдана аламыз. Том мен Джош адамдардан бір ғана дерекке сүйеніп күту уақытын болжауды сұрағанда, нәтижелер қатысушылардың Мультипликативті ережені қолданғанын көрсетті: адамдар күтетін жалпы уақыт олардың осы уақытқа дейін күткен уақытынан бір де үштен бір есе көп болып шықты. Бұл априорлы үлестірім ретінде дәрежелік заң үлестірімінің (мәндердің кең ауқымы мүмкін болатын математикалық модель) болуына сәйкес келеді. Тек күту уақытының «Титанигіне» тап болмауды тілеңіз. Соңғы онжылдықта мұндай тәсілдер когнитивті ғалымдарға көруден бастап тілге дейінгі көптеген салаларда адамдардың априорлы үлестірімдерін анықтауға мүмкіндік берді.
Дегенмен, мұнда бір маңызды ескерту бар. Бізде жақсы априорлы мәліметтер болмаған жағдайда, болжамдарымыз да сапасыз болады. Том мен Джоштың зерттеуінде, мысалы, адамдардың болжамдары Байес ережесінен жүйелі түрде алшақтаған бір жағдай болды: ол Мысыр перғауындарының билік ету ұзақтығын болжау еді. (Анықталғандай, перғауындардың билік ету мерзімі Эрланг үлестіріміне бағынады). Адамдардың бұл мәндердің ауқымын сезіну үшін күнделікті тәжірибесі жеткіліксіз болды, сондықтан олардың болжамдары, әрине, қате болып шықты. Жақсы болжамдар үшін жақсы априорлы білім қажет.
Бұл бірнеше маңызды тұжырымдарға жетелейді. Біздің пайымдауларымыз күтулерімізді ашады, ал күтулеріміз тәжірибемізді көрсетеді. Болашақ туралы жасаған болжамдарымыз біз өмір сүріп жатқан әлем және өз өткеніміз туралы көп нәрсені аңғартады.
Біздің болжамдарымыз өзіміз туралы не айтады?
Уолтер Мишел 1970-жылдардың басында өзінің әйгілі «маршмэллоу тестін» өткізгенде, ол марапатты кейінге шегеру қабілетінің жас ұлғайған сайын қалай дамитынын түсінгісі келді. Стэнфорд кампусындағы балабақшада үш, төрт және бес жасар балалардың ерік-жігері сыналды. Әр балаға маршмэллоу сияқты дәмді тәтті көрсетіліп, эксперимент жүргізуші ересек адамның бөлмеден бірнеше минутқа шығып кететіні айтылды. Егер бала қаласа, тәттіні бірден жеп қоюына болатын еді. Бірақ егер ол зерттеуші қайтып келгенше күтсе, оған екі тәтті берілетін болды.
Шыдай алмаған кейбір балалар тәттіні бірден жеп қойды. Ал кейбіреулері зерттеуші келгенше толық он бес минут бойы шыдап, уәде етілген екі тәттісін алды. Бірақ ең қызықты топ осы екі ортадағылар болды — олар біраз уақыт күтуге тырысып, бірақ кейін бәрібір беріліп, тәттіні жеп қойғандар.
Балалар барынша тырысып, қиналса да, соңында бәрібір беріліп, қосымша маршмэллоудан айырылып қалған бұл жағдайлар қисынсыздық ретінде түсіндіріліп келді. Егер бәрібір жеп қоятын болсаң, неге бірден жеп, өзіңді қинаудан құтқармасқа? Бірақ мұның бәрі балалардың өздерін қандай жағдайдамыз деп ойлайтынына байланысты. Пенсильвания университетінің ғалымдары Джо Макгуайр мен Джо Кейбл атап өткендей, егер ересектердің қайтып келу уақыты дәрежелік заң үлестіріміне бағынса — яғни ұзақ уақыт келмеуі бұдан да ұзақ күтудің алда екенін білдірсе — онда белгілі бір сәтте шығынды тоқтатып, күтуден бас тарту әбден қисынды.
Басқаша айтқанда, арбауға қарсы тұру қабілеті, тым болмағанда ішінара, ерік-жігерге емес, күтулерге байланысты болуы мүмкін. Егер сіз ересектер қысқа кідірістен кейін қайтып келеді деп болжасаңыз — бұл қалыпты үлестірімге жақын — сіз шыдай аласыз. Орташа мән ережесі ұзақ күтуден кейін шыдамдылық таныту керектігін айтады: зерттеуші кез келген минутта қайтып келуі тиіс. Бірақ егер сіз зерттеушінің жоқ болу уақытының масштабын білмесеңіз — бұл дәрежелік заңға сәйкес келеді — онда бұл қиын шайқасқа айналады. Мультипликативті ереже бұл жағдайда ұзақ күтудің өзі алдағы күтудің аз ғана бөлігі екенін меңзейді.
Маршмэллоу эксперименттерінен ондаған жылдар өткен соң, Уолтер Мишел мен оның әріптестері қатысушылардың өмірі қалай өрбігенін бақылады. Таңқаларлығы, екі тәттіні күткен балалар өскенде басқаларға қарағанда табыстырақ болған, тіпті SAT балдары сияқты сандық көрсеткіштер бойынша да алда болған. Егер маршмэллоу тесті ерік-жігер туралы болса, бұл өзін-өзі бақылауды үйренудің адам өміріне тигізер әсерінің күшті дәлелі. Бірақ егер бұл тест ерік-жігерден гөрі күтулерге көбірек қатысты болса, онда бұл басқа, мүмкін одан да тереңірек оқиғаны баяндайды.
Рочестер университетінің зерттеушілер тобы жақында өткен тәжірибенің маршмэллоу тестіндегі мінез-құлыққа қалай әсер ететінін зерттеді. Маршмэллоу туралы айтылмас бұрын, балалар сурет салу жобасына кірісті. Зерттеуші оларға сапасыз құралдар беріп, жақын арада жақсырақтарын әкелуге уәде берді. Бірақ, балаларға білдіртпей, оларды екі топқа бөлді. Бір топта зерттеуші сенімді болды және уәде етілген жақсы құралдарды әкелді. Екінші топта ол сенімсіз болып шықты: ештеңе әкелмей, тек кешірім сұраумен шектелді.
Сурет салу жобасы аяқталғаннан кейін балалар стандартты маршмэллоу тестіне өтті. Мұнда зерттеушінің сенімсіз екенін көрген балалар оның келуін күтпестен маршмэллоуды жеп қоюға бейім болды, осылайша екінші тәттіні алу мүмкіндігінен айырылды.
Маршмэллоу тестінен өте алмау — және кейінгі өмірде табысы азырақ болу — ерік-жігердің жоқтығынан болмауы мүмкін. Бұл ересектерге сенуге болмайды деген сенімнің нәтижесі болуы мүмкін: олар сөзінде тұрмайды, кез келген уақытқа жоғалып кетеді деген ойдың салдары. Өзін-өзі бақылауды үйрену маңызды, бірақ ересектер әрқашан жаныңда болатын және сенімді болып табылатын ортада өсу де сондай маңызды.
Механикалық көбею дәуіріндегі априорлы білімдер
Бұл таңғы газеттің бірнеше данасын сатып алып, онда жазылғандардың шындық екеніне көз жеткізгісі келген адам сияқты. — ЛЮДВИГ ВИТГЕНШТЕЙН
Ол не оқитынына абай болады, өйткені соны жазады. Ол не үйренетініне абай болады, өйткені соны біледі. — ЭННИ ДИЛЛАРД
Байес ережесі көрсеткендей, жақсы болжам жасаудың ең жақсы жолы — болжап жатқан нәрсеңіз туралы нақты ақпаратқа ие болу. Сондықтан біз адамның өмір сүру ұзақтығын жақсы болжай аламыз, бірақ перғауындардың билік ету мерзімін бағалауда қателесеміз.
Жақсы Байесшіл болу — әлемді дұрыс пропорцияда бейнелеу, яғни дұрыс калибрленген жақсы априорлы білімге ие болу дегенді білдіреді. Жалпы алғанда, адамдар мен басқа жануарлар үшін бұл табиғи түрде болады; әдетте, бір нәрсе бізді таңғалдыруы керек болса, ол таңғалдырады, ал таңғалдырмауы керек болса, таңғалдырмайды. Тіпті объективті түрде дұрыс емес бұрмалаулар жинақталған күннің өзінде, олар әдетте біз өмір сүріп жатқан әлемнің нақты бөлігін дұрыс көрсетеді. Мысалы, шөлді климатта тұратын адам әлемдегі құмның мөлшерін асыра бағалауы мүмкін, ал полюстерде тұратын адам қардың мөлшерін асыра бағалауы мүмкін. Екеуі де өздерінің экологиялық тауашаларына жақсы бейімделген.
Алайда, түр тілді меңгерген кезде бәрі бұзыла бастайды. Біз бастан кешкен нәрселер туралы емес, көбінесе қызықты нәрселер туралы айтамыз, ал олар әдетте сирек кездесетін жағдайлар болып келеді. Оқиғалар әрқашан өздерінің нақты жиілігімен бастан өткеріледі, бірақ тілде бұлай емес. Жылан шаққан немесе найзағай соққан адам бұл ерекше оқиғаларды өмір бойы айтып өтеді. Және бұл оқиғалар соншалықты әсерлі болғандықтан, оларды басқалар да іліп алып, қайта айта береді.
Осылайша, басқалармен қарым-қатынас жасау мен әлем туралы нақты априорлы білімді сақтау арасында қызықты қайшылық туындайды. Адамдар өздерін қызықтыратын және тыңдаушыларына қызық болады деп ойлайтын оқиғаларды айтқан кезде, бұл біздің тәжірибеміздің статистикасын бұрмалайды. Бұл тиісті априорлы үлестірімдерді сақтауды қиындатады. Және бұл мәселе баспа машинасының, түнгі жаңалықтардың және әлеуметтік желілердің — біздің түрімізге тілді механикалық түрде таратуға мүмкіндік беретін инновациялардың пайда болуымен одан сайын күшейе түсті.
Сіздің қанша рет ұшақ апатын немесе көлік апатын көргеніңізді ойлап көріңізші. Мүмкін сіз екеуін де шамамен бірдей мөлшерде көрген шығарсыз — бірақ сол көліктердің көбі жолда қасыңызда болды, ал ұшақтар, сірә, басқа континентте болып, сізге интернет немесе теледидар арқылы жетті. Мысалы, Америка Құрама Штаттарында 2000 жылдан бері коммерциялық ұшақ апаттарынан қаза тапқандардың жалпы саны Карнеги-холлды жартылай да толтыруға жетпейді. Ал керісінше, дәл осы уақыт ішінде АҚШ-та жол апатынан қаза тапқандардың саны Вайоминг штатының бүкіл халқынан да көп.
Қарапайым тілмен айтқанда, бұқаралық ақпарат құралдарындағы оқиғалардың берілуі олардың әлемдегі жиілігіне сәйкес келмейді. Социолог Барри Гласснер атап өткендей, 1990-жылдары АҚШ-та кісі өлтіру деңгейі 20%-ға төмендеді, бірақ сол кезеңде американдық жаңалықтарда қарулы зорлық-зомбылықтың көрсетілуі 600%-ға өсті.
Егер сіз жақсы интуитивті Байесшіл болғыңыз келсе — яғни қандай болжам ережесі сәйкес келетінін ойланбастан-ақ табиғи түрде жақсы болжам жасағыңыз келсе — априорлы біліміңізді қорғауыңыз керек. Бұл, күтпеген жерден, жаңалықтарды көрмеуді білдіруі мүмкін.
*Мұнда белгілі бір ирония бар: уақыт туралы сөз болғанда, біздің келуімізде ешқандай ерекшелік жоқ деп есептеу, ақыр соңында өзімізді дәл орталықта деп елестетуімізге әкеледі.
*Лаплас заңы өзінің қарапайым түрінде дәл осылай істейді: ол лотерея билеттерінің 1%-ы немесе 10%-ы ұтысты болуы 50% немесе 100% болуымен бірдей ықтимал деп есептейді. (w+1)⁄(n+2) формуласы бір ғана ұтылыс билетін сатып алғаннан кейін келесі жолы ұту мүмкіндігіңіз 1/3-ке тең деген ұсынысымен тым қарапайым көрінуі мүмкін — бірақ бұл нәтиже сіз ештеңе білмей келген ұтыс ойынындағы мүмкіндіктерді нақты көрсетеді.
7 Оверфиттинг
Қашан азырақ ойлану керек
Чарльз Дарвин өзінің немере қарындасы Эмма Веджвудқа сөз салу керек пе, жоқ па деп шешуге тырысқанда, қарындаш пен қағаз алып, барлық ықтимал салдарларды саралады. Үйленуді қолдап, ол балаларды, серіктестікті және «музыканың сүйкімділігі мен әйелдердің жеңіл әңгімесін» тізіп шықты. Үйленуге қарсы ол «уақыттың сұмдық жоғалуын», қалаған жеріне бару еркіндігінің жоқтығын, туысқандарды аралау ауыртпалығын, балаларға байланысты шығындар мен уайымдарды, «бәлкім, әйеліме Лондон ұнамас» деген қауіпті және кітаптарға жұмсайтын ақшаның азаюын жазды. Бір бағанды екіншісімен салыстыра отырып, ол жеңістің аз ғана басымдығын анықтады және төменгі жағына Дарвин былай деп жазды: «Үйлену—Үйлену—Үйлену Q. E. D. » Quod erat demonstrandum — Дарвиннің өзі ағылшын тілінде қайталаған математикалық тұжырым: «Үйлену қажеттілігі дәлелденді».
Дарвиннің заманында «жақтаушы» және «қарсы» тізімін жасау бұрыннан қалыптасқан алгоритм болатын, оны бір ғасыр бұрын Бенджамин Франклин қолдаған еді. «Бізді қинайтын белгісіздіктен» арылу үшін Франклин былай деп жазды:
менің әдісім — парақты сызықпен екі бағанға бөліп, бірінің үстіне «Жақтаушы», екіншісінің үстіне «Қарсы» деп жазу. Содан кейін үш-төрт күн бойы ойланып, әртүрлі уақытта есіме түскен әртүрлі себептерді тиісті айдарлардың астына қысқаша жазып отырамын. Осылайша бәрін бір жерге жинағаннан кейін, мен олардың тиісті салмағын бағалауға тырысамын; егер екі жақтан тең көрінетін екі себеп тапсам, екеуін де сызып тастаймын. Егер бір «жақтаушы» себеп екі «қарсы» себепке тең болса, үшеуін де сызып тастаймын. Егер екі «қарсы» себеп үш «жақтаушы» себепке тең болса, бесеуін де сызып тастаймын; осылайша жалғастыра отырып, таразы басы қай жаққа ауатынын анықтаймын; егер бір-екі күннен кейін ешқандай жаңа маңызды себеп туындамаса, мен тиісті шешімге келемін.
Франклин тіпті бұл туралы есептеу сияқты ойлап, былай деді: «Мен теңдеудің бұл түрінен "Моральдық немесе ақыл-парасат алгебрасы" деп атауға болатын үлкен артықшылық таптым».

Дарвиннің күнделігі, шілде 1838 жыл. Кембридж университеті кітапханасының рұқсатымен басылды.
Біз ойлау туралы ойланғанда, «неғұрлым көп болса, соғұрлым жақсы» деп есептеу оңай: неғұрлым көп «жақтаушы» мен «қарсы» тізімін жасасаңыз, соғұрлым жақсы шешім қабылдайсыз; неғұрлым көп факторларды анықтасаңыз, акция бағасы туралы соғұрлым жақсы болжам жасайсыз; неғұрлым көп уақыт жұмсасаңыз, соғұрлым жақсы есеп жазасыз. Франклин жүйесінің негізі де осы. Осы тұрғыдан алғанда, Дарвиннің некеге «алгебралық» көзқарасы, өзінің айқын оғаштығына қарамастан, керемет және тіпті мақтауға тұрарлық рационалды болып көрінеді.
Алайда, егер Франклин немесе Дарвин машиналық оқытуды зерттеу дәуіріне — компьютерлерді тәжірибе негізінде дұрыс пайымдау жасауға үйрету ғылымына дейін өмір сүргенде, олар «Моральдық алгебраның» іргетасы шайқалғанын көрер еді. Қаншалықты терең ойлану керек және қанша факторды ескеру керек деген сұрақ статистиктер мен машиналық оқыту зерттеушілері оверфиттинг (артық үйлестіру — модельдің нақты деректерге тым қатты бейімделуі) деп атайтын күрделі мәселенің өзегі болып табылады. Және бұл мәселемен айналысу саналы түрде азырақ ойланудың даналығы бар екенін ашады. Оверфиттинг туралы білу біздің нарыққа, асханаға, спортзалға... және неке қию рәсіміне деген көзқарасымызды өзгертеді.
Күрделілікке қарсы дәлелдер
Сен істей алатынның бәрін мен жақсырақ істей аламын; Мен кез келген нәрсені сенен жақсы істей аламын. — ЭННИ ГЕТ ЮР ГАН (ANNIE GET YOUR GUN)
Әрбір шешім — бұл болжамның бір түрі: сіз әлі байқап көрмеген нәрсені қаншалықты ұнататыныңыз туралы, белгілі бір трендтің қайда бағытталғаны туралы, аз жүрілген (немесе көп жүрілген) жолдың қалай аяқталатыны туралы болжам. Және әрбір болжам, ең бастысы, екі бөлек нәрсе туралы ойлануды қамтиды: сіз білетін нәрсе және сіз білмейтін нәрсе. Яғни, бұл осы уақытқа дейінгі тәжірибеңізді түсіндіретін және болашақтағы тәжірибеңіз туралы бірдеңе айтатын теорияны тұжырымдауға тырысу. Жақсы теория, әрине, екеуін де жасайды. Бірақ әрбір болжам іс жүзінде екі жақты міндетті орындауы керек болғандықтан, бұл белгілі бір болмай қоймайтын қайшылықты тудырады.

Тұрмыс құрғаннан кейінгі уақытқа байланысты өмірге қанағаттану деңгейі.
Осы қайшылықтың бір мысалы ретінде Дарвин үшін маңызды болуы мүмкін деректер жиынтығын қарастырайық: Германияда жүргізілген соңғы зерттеуден алынған адамдардың некедегі алғашқы он жылындағы өмірге қанағаттану деңгейі. Сол графиктегі әрбір нүкте зерттеудің өзінен алынған; біздің міндетіміз — сол нүктелерге сәйкес келетін және болашаққа созылатын, он жылдық межеден кейінгі болжамдар жасауға мүмкіндік беретін сызықтың формуласын табу.
Бір ықтимал формула өмірге қанағаттануды болжау үшін бір ғана факторды қолдануы мүмкін: некеден бергі уақыт. Бұл графикте түзу сызық жасайды. Тағы бір мүмкіндік — екі факторды қолдану: уақыт және уақыттың квадраты; нәтижесінде пайда болатын сызық параболалық U-тәрізді болады, бұл уақыт пен бақыт арасындағы күрделірек байланысты көрсетуге мүмкіндік береді. Егер біз формуланы одан да көп факторларды (уақыттың кубы және т. б. ) қосу арқылы кеңейтсек, сызық иілу нүктелерін көбірек иеленіп, барған сайын «иілгіш» және икемді бола түседі. Тоғыз факторлы формулаға жеткенде, біз өте күрделі байланыстарды қамти аламыз.
Математикалық тұрғыдан алғанда, біздің екі факторлы моделіміз бір факторлы модельге кіретін барлық ақпаратты қамтиды және оған қоса тағы бір мүшесі бар. Сол сияқты, тоғыз факторлы модель екі факторлы модельдің иелігіндегі барлық ақпаратты, сонымен қатар көптеген қосымша мәліметтерді пайдаланады. Осы логика бойынша, тоғыз факторлы модель бізге әрқашан ең жақсы болжамдарды беруі керек сияқты.
Анықталғандай, бәрі соншалықты оңай емес.

Факторлар саны әртүрлі модельдерді қолдану арқылы өмірге қанағаттану деңгейін болжау.
Бұл модельдерді деректерге қолданудың нәтижесі жоғарыда көрсетілген. Бір факторлы модель, күткеніміздей, нақты деректер нүктелерінің көбін өткізіп алады, бірақ ол негізгі трендті — бал айындағы қуаныштан кейінгі бәсеңдеуді көрсетеді. Алайда, оның түзу сызықты болжамы бұл төмендеу мәңгі жалғасады деп болжайды, нәтижесінде шексіз бақытсыздыққа әкеледі. Бұл траекторияда бірдеңе дұрыс емес сияқты. Екі факторлы модель сауалнама деректеріне жақынырақ келеді және оның қисық пішіні басқаша ұзақ мерзімді болжам жасайды: бастапқы құлдыраудан кейін өмірге қанағаттану уақыт өте келе азды-көпті теңеседі. Соңында, тоғыз факторлы модель графиктегі әрбір нүктеден өтеді; ол іс жүзінде зерттеуден алынған барлық деректерге толық сәйкес келеді.
Осы тұрғыдан алғанда, тоғыз факторлы формула шынымен де біздің ең жақсы моделіміз сияқты көрінеді. Бірақ егер сіз оның зерттеуге кірмеген жылдар үшін жасаған болжамдарына қарасаңыз, оның қаншалықты пайдалы екеніне күмәндануыңыз мүмкін: ол неке қию сәтінде бақытсыздықты, некеден бірнеше ай өткен соң қанағаттанудың күрт өсуін, содан кейін толқынды «роликтерді» және он жылдан кейін күрт құлдырауды болжайды. Керісінше, екі факторлы модель болжаған теңесу — психологтар мен экономистердің неке мен бақыт туралы айтқандарына ең сәйкес келетін болжам. (Олар, айтпақшы, бұл некенің өзіне деген ризашылықсыздықты емес, жай ғана қалыпты жағдайға — адамдардың өмірге қанағаттануының базалық деңгейіне оралуын көрсетеді деп есептейді).
Сабақ мынадай: модельге көбірек факторларды қосу, анықтамасы бойынша, оны бізде бар деректерге әрқашан жақсырақ сәйкес етеді. Бірақ қолда бар деректерге жақсырақ сәйкес келу міндетті түрде жақсырақ болжам дегенді білдірмейді.

Деректерге аз мөлшерде кездейсоқ «шу» қосу (сауалнаманы басқа қатысушылар тобымен қайталау әсерін имитациялау) тоғыз факторлы модельде қатты ауытқуларды тудырады, ал бір және екі факторлы модельдер салыстырмалы түрде әлдеқайда тұрақты және болжамдарында дәйекті.
Рас, тым қарапайым модель — мысалы, бір факторлы формуланың түзу сызығы — деректердегі негізгі заңдылықты қамти алмауы мүмкін. Егер шындық қисық сызыққа ұқсас болса, ешқандай түзу сызық оны ешқашан дұрыс көрсете алмайды. Екінші жағынан, тым күрделі модель, мысалы, біздің тоғыз факторлы моделіміз, біз байқаған нақты деректер нүктелеріне тым сезімтал болып кетеді. Нәтижесінде, ол дәл сол деректер жиынтығына тым дәл бапталғандықтан, ол шығаратын шешімдер өте құбылмалы болады. Егер зерттеу басқа адамдармен қайталанса, сол негізгі заңдылықта шамалы ауытқулар туындаса, бір және екі факторлы модельдер азды-көпті тұрақты болып қалады — бірақ тоғыз факторлы модель зерттеудің бір нұсқасынан екіншісіне өткенде қатты өзгереді. Бұл статистиктердің тілінде оверфиттинг деп аталады.
Сонымен, машиналық оқытудың ең терең шындықтарының бірі мынада: іс жүзінде, факторлардың көбірек санын ескеретін күрделірек модельді қолдану әрқашан жақсы бола бермейді. Және мәселе тек қосымша факторлардың қайтарымы азаюында емес — яғни қарапайым модельден жақсырақ жұмыс істегенімен, бұл күрделілікті ақтамауында емес. Керісінше, олар біздің болжамдарымызды айтарлықтай нашарлатуы мүмкін.
Деректерге табыну
Егер бізде толық өкілдік таңдамадан алынған, мүлдем қатесіз және біз бағалағымыз келетін нәрсені нақты көрсететін орасан зор деректер болса, онда ең күрделі модельді қолдану шынымен де ең жақсы тәсіл болар еді. Бірақ егер осы факторлардың кез келгені орындалмаса, біз моделімізді деректерге мінсіз сәйкестендіруге тырысқанда, оверфиттинг қаупіне бас тігеміз.
Басқаша айтқанда, артық бейімделу (overfitting — модельдің нақты деректерге тым қатты сәйкес келіп, жаңа деректерді болжай алмауы) шумен немесе қате өлшемдермен жұмыс істеген кез келген уақытта қауіп төндіреді, ал біз мұндай жағдайға үнемі дерлік тап боламыз. Деректерді жинау немесе есеп беру кезінде қателер кетуі мүмкін. Кейде адамның бақыты сияқты зерттелетін құбылыстарды өлшеу былай тұрсын, оған анықтама берудің өзі қиын. Ең күрделі модельдер өзінің икемділігінің арқасында деректердегі кез келген заңдылықтарға бейімделе алады, бірақ бұл олардың шу ішіндегі елестер мен сағымдарды да нақты заңдылық ретінде қабылдайтынын білдіреді.
Тарих бойында діни мәтіндер өз жақтастарын пұтқа табынудан: беймәлім құдайлардың орнына олардың мүсіндеріне, суреттеріне, жәдігерлеріне және басқа да материалдық артефактілеріне табынудан сақтандырып келген. Мысалы, Бірінші өсиет «көктегі не жердегі ешбір нәрсенің бейнесіне» бас имеуді ескертеді. Ал Патшалар кітабында Құдайдың әмірімен жасалған қола жылан Құдайдың орнына ғибадат ету мен хош иісті заттарды жағу нысанына айналады. (Құдай бұған риза болмайды). Негізінде, артық бейімделу — бұл деректерге табынудың бір түрі, маңызды нәрсеге емес, біз өлшей алған нәрсеге назар аударудың салдары.
Қолдағы деректер мен біз қалайтын болжамдар арасындағы бұл алшақтық іс жүзінде барлық жерде кездеседі. Маңызды шешім қабылдағанда, біз болашақта бізді не қуантатынын тек қазіргі уақытта маңызды деп санайтын факторлар арқылы ғана болжай аламыз. (Гарвард университетінің профессоры Даниэль Гилберт айтқандай, біздің болашақ «меніміз» көбінесе «кезінде салдыру үшін қомақты ақша төлеген татуировкаларымызды өшіру үшін тағы да қомақты ақша төлейді»). Қаржылық болжам жасағанда, біз акция бағасының болашақта немен байланысты болатынын емес, тек өткендегі байланыстарды ғана көре аламыз. Тіпті күнделікті кішігірім істерімізде де осы заңдылық сақталады: электрондық хат жазғанда, біз мәтінді өзіміз оқып шығу арқылы алушының реакциясын болжауға тырысамыз. Қоғамдық сауалнамалардағы сияқты, өз өміріміздегі деректер де әрқашан «шулы», олар біз үшін шын мәнінде маңызды нәрселердің жанама көрсеткіші (proxy metric — негізгі көрсеткішті тікелей өлшеу мүмкін болмағанда қолданылатын балама өлшем) ғана болып табылады.
Нәтижесінде, көбірек факторларды ескеру және оларды модельдеуге көбірек күш жұмсау бізді қате нәрсені оңтайландыруға әкелуі мүмкін — бұл деректердің артындағы үлкен күшке емес, деректердің «қола жыланына» сиынумен тең.
Әр жерде кездесетін артық бейімделу
Артық бейімделу туралы білгеннен кейін, оны барлық жерден көретін боласыз.
Мәселен, артық бейімделу біздің дәм сезу түйсігіміздің ирониясын түсіндіреді. Эволюциялық тұрғыдан алғанда, дәм сезу рецепторларының бүкіл қызметі зиянды нәрселерді жеуден сақтандыру болса, қалайша бізге ең дәмді болып көрінетін тағамдар денсаулыққа зиян деп есептеледі?
Жауабы мынада: дәм — ағзамыз үшін денсаулықтың жанама көрсеткіші. Май, қант және тұз маңызды қоректік заттар болып табылады және бірнеше жүз мың жыл бойы осы заттары бар тағамдарға тартылу дұрыс тамақтанудың негізді өлшемі болды.
Бірақ қолжетімді тағамдарды өзгерте алу мүмкіндігі бұл байланысты бұзды. Енді біз тағамдарға қажетті мөлшерден артық май мен қант қосып, тарихи адам баласының рационын құраған өсімдіктер, дәнді дақылдар мен еттің қоспасының орнына тек соларды ғана жей аламыз. Басқаша айтқанда, біз дәмге «артық бейімделе» (overfit) аламыз. Тағамды неғұрлым шебер манипуляциялаған сайын (және өмір салтымыз ата-бабаларымыздыкінен алшақтаған сайын), дәм соғұрлым кемелсіз көрсеткішке айналады. Осылайша, біздің мүмкіндігіміз қарғысқа айналып, біз қалаған нәрсеге қол жеткізе алғанымызбен, ол нәрсе бізге шын мәнінде қажет болмай шығады.
Сақ болыңыз: артық қанттан жиналған салмақты тастау үшін жаттығу залына барғанда, сіз фитнесте де артық бейімделу қаупіне тап болуыңыз мүмкін. Фитнестің кейбір көрінетін белгілерін — мысалы, денедегі майдың аздығы мен бұлшықет массасының көптігін — өлшеу оңай және олар жүрек аурулары мен басқа да дерттердің қаупін азайтумен байланысты. Бірақ олар да кемелсіз жанама көрсеткіштер. Сигналдарға артық бейімделу — денедегі майды азайту үшін шектен тыс диета ұстау немесе бұлшықет өсіру үшін стероидтар қабылдау — сізді денсаулықтың символындай етіп көрсетуі мүмкін, бірақ бұл тек сыртқы көрініс қана болады.
Артық бейімделу спортта да көрініс табады. Мысалы, Том жасөспірім кезінен бері ара-тұра семсерлесумен айналысады. Семсерлесудің бастапқы мақсаты адамдарды дуэльде өзін қорғауға үйрету болған, сондықтан оның ағылшынша атауы «defencing» (қорғану) сөзінен шыққан. Қазіргі семсерлесуде қолданылатын қарулар сол кездегі жаттығу қаруларына ұқсас. (Бұл әсіресе осыдан елу жыл бұрын ресми дуэльдерде әлі де қолданылып келген шпагаға қатысты). Бірақ ұпайды тіркейтін электрондық жабдықтардың — семсердің ұшындағы батырманың — енгізілуі спорттың табиғатын өзгертті. Нағыз дуэльде сізге көмектеспейтін әдістер жарыстарда шешуші дағдыларға айналды. Қазіргі семсерлесушілер иілгіш жүздерді қолданады, бұл оларға батырманы қарсыласына «тигізіп өтуге» (flick) мүмкіндік береді. Нәтижесінде, олар бір-бірін кесіп немесе түйреп жатқаннан гөрі, бір-біріне жұқа металл қамшылармен соққы беріп жатқандай көрінеді. Бұл бұрынғыдай қызықты спорт, бірақ спортшылар өз тактикаларын ұпай жинау жүйесінің ерекшеліктеріне артық бейімдеген сайын, ол нағыз семсерлесу дағдыларын қалыптастыруда тиімсіз бола бастайды.
Дегенмен, артық бейімделу бизнес әлеміндегідей еш жерде соншалықты қуатты әрі мәселелі емес. «Ынталандыру құрылымдары жұмыс істейді,» — дейді Стив Джобс. «Сондықтан адамдарды не істеуге ынталандыратыныңызға өте мұқият болуыңыз керек, өйткені әртүрлі ынталандыру құрылымдары сіз болжай алмайтын салдарларға әкеледі». Y Combinator стартап-инкубаторының президенті Сэм Альтман Джобстың сөзін растайды: «Компания бас атқарушы директор (CEO) нені өлшеуді шешсе, соны міндетті түрде жасайтыны — ақиқат».
Іс жүзінде, жағымсыз салдары болмайтын ынталандыру немесе өлшеу жүйесін ойлап табу өте қиын. 1950 жылдары Корнелл университетінің менеджмент профессоры В. Ф. Риджуэй «Өнімділікті өлшеудің дисфункционалды салдарларын» тізімдеп шықты. Жұмысқа орналастыру агенттігінде қызметкерлер өткізілген сұхбаттардың саны бойынша бағаланды, бұл оларды клиенттерге жұмыс табуға көмектесудің орнына, кездесулерді тезірек өткізуге итермеледі. Федералдық құқық қорғау агенттігінде ай сайынғы квота берілген тергеушілер айдың соңында ең өзекті істердің орнына оңай істерді таңдаған. Ал зауытта өндірістік көрсеткіштерге баса назар аудару басшылардың техникалық қызмет көрсету мен жөндеу жұмыстарына немқұрайлы қарауына әкеліп, болашақ апатқа жол ашты. Мұндай мәселелерді жай ғана басқару мақсаттарына қол жеткізе алмау деп түсінбеу керек. Керісінше, бұл қате нәрсені қатал әрі ақылды түрде оңтайландырудың нәтижесі.
Жиырма бірінші ғасырдағы нақты уақыт режиміндегі аналитикаға көшу өлшемдердің қаупін одан сайын күшейтті. Google-дың цифрлық маркетинг бойынша сарапшысы Авинаш Каушик веб-сайт пайдаланушыларына мүмкіндігінше көп жарнама көрсетуге тырысу сайтты жарнамамен толтыруға әкелетінін ескертеді: «Сізге әр мың көрсетілім үшін ақы төленсе, ынталандыру — әр бетте мүмкіндігінше көп жарнама көрсету және келушінің мүмкіндігінше көп бетті қарауын қамтамасыз ету болады... Бұл ынталандыру назарды маңызды тұлғадан — сіздің тұтынушыңыздан алып тастап, оны екінші кезектегі тұлғаға — жарнама берушіге аударады». Веб-сайт қысқа мерзімде көбірек ақша табуы мүмкін, бірақ жарнамаға толған мақалалар, баяу жүктелетін көп бетті слайд-шоулар және сенсациялық кликбейт тақырыптар ұзақ мерзімді перспективада оқырмандарды үркітеді. Каушиктің қорытындысы: «Достар достарына беттің қаралу санын (Page Views) өлшеуге жол бермейді. Ешқашан».
Кейбір жағдайларда модель мен нақты әлем арасындағы айырмашылық тікелей өмір мен өлім мәселесіне айналады. Мысалы, әскери және құқық қорғау органдарында қайталанатын, автоматты жаттығулар атыс кезіндегі дағдыларды қалыптастырудың негізгі құралы болып саналады. Мақсат — белгілі бір қозғалыстар мен тактикаларды толық автоматты деңгейге дейін жеткізу. Бірақ артық бейімделу араласқанда, бұл апатқа әкелуі мүмкін. Мысалы, атыс кезінде бос гильзаларды қалтасына салып жатқан полиция қызметкерлері туралы оқиғалар бар — бұл тирдегі жақсы этикет. Армияның бұрынғы рейнджері және Вест-Пойнт психология профессоры Дейв Гроссман былай деп жазады: «Көптеген нағыз атыстардан кейін қызметкерлер өз қалталарынан бос гильзаларды тауып, олардың ол жерге қалай түскенін есіне түсіре алмай таңғалған. Бірнеше рет қаза тапқан полицейлердің қолынан гильзалар табылды, олар жаттығу кезінде үйренген әкімшілік рәсімнің ортасында көз жұмған». Сол сияқты, ФБР агенттері нысанаға тиген-тимегеніне және қауіптің әлі де бар-жоғына қарамастан, рефлексті түрде екі рет оқ атып, содан кейін қаруды қабына салып қоятыны (жаттығудың стандартты ырғағы) анықталғаннан кейін жаттығу жүйесін өзгертуге мәжбүр болды. Құқық қорғау органдары мен әскери салада мұндай қателіктер «жаттығу тыртықтары» (training scars) деп аталады және олар өз дайындығыңа артық бейімделу мүмкін екенін көрсетеді. Бір ерекше жағдайда, қызметкер инстинктивті түрде шабуылдаушының қолынан тапаншаны жұлып алып, содан кейін оны инстинктивті түрде қайтадан берген — ол жаттығу кезінде нұсқаушылармен дәл осылай сан рет қайталаған болатын.
Артық бейімделуді анықтау: Кросс-валидация
Артық бейімделу бастапқыда қолдағы деректерге тамаша сәйкес келетін теория ретінде көрінетіндіктен, оны анықтау қиын болуы мүмкін. Шын мәнінде жақсы модель мен артық бейімделген модельдің айырмашылығын қалай ажыратуға болады? Білім беру саласында пәнді жақсы меңгерген оқушылар мен жай ғана «тестке дайындалған» оқушыларды қалай ажыратамыз? Бизнес әлемінде нағыз үздік қызметкерді өз жұмысын компанияның негізгі көрсеткіштеріне немесе бастықтың қабылдауына шебер бейімдеп алған қызметкерден қалай ажыратуға болады?
Мұндай сценарийлерді ажырату қиын болғанымен, мүмкін емес емес. Машиналық оқытудағы зерттеулер артық бейімделуді анықтаудың бірнеше нақты стратегияларын ұсынды, солардың ішіндегі ең маңыздысы — Кросс-валидация (Cross-Validation — модельдің жаңа, бұрын көрмеген деректердегі тиімділігін тексеру әдісі).
Қарапайым тілмен айтқанда, Кросс-валидация модельдің берілген деректерге қаншалықты сәйкес келетінін ғана емес, оның бұрын көрмеген деректерді қаншалықты жалпылай алатынын бағалауды білдіреді. Парадоксальды түрде, бұл азырақ деректерді қолдануды талап етуі мүмкін. Неке туралы мысалда біз кездейсоқ екі нүктені «сақтап қойып», модельді тек қалған сегіз нүктеге негіздей аламыз. Содан кейін сол сақталған екі нүктені модельдің осы сегіз «жаттығу» нүктесінен тыс жерде қаншалықты жұмыс істейтінін тексеру үшін қолданамыз. Бұл екі нүкте «шахтадағы канарейка» (қауіп индикаторы) рөлін атқарады: егер күрделі модель сегіз нүктені мінсіз сипаттап, бірақ екі сынақ нүктесінде үлкен қателік жіберсе, демек артық бейімделу орын алған.
Кейбір деректерді бөлек алып қоюдан бөлек, модельді мүлдем басқа бағалау әдісінен алынған деректермен сынап көру де пайдалы. Көргеніміздей, жанама көрсеткіштерді қолдану — тамақтанудың орнына дәмді, тергеушінің ұқыптылығының орнына шешілген істер санын алу — артық бейімделуге әкелуі мүмкін. Мұндай жағдайларда біз негізгі өнімділік өлшемін басқа ықтимал өлшемдермен кросс-валидациялауымыз керек.
Мысалы, мектептерде стандартталған тесттер бірқатар артықшылықтар береді, соның ішінде ауқымды үнемділік: оларды мыңдаған данамен арзан әрі жылдам тексеруге болады. Алайда, мұндай тесттермен қатар, мектептер оқушылардың аз ғана бөлігін (айталық, әр сыныптан бір оқушы немесе жүзден бірін) эссе немесе ауызша емтихан сияқты басқа бағалау әдісімен кездейсоқ тексере алады. (Бұл әдіспен аз ғана оқушы сыналатындықтан, бұл әдістің ауқымдылығы маңызды емес). Стандартталған тесттер жедел кері байланыс берсе, қосымша деректер кросс-валидация ретінде қызмет етеді: олар оқушылардың тест тапсыруға ғана машықтанбай, шын мәнінде білім алып жатқанына көз жеткізуге көмектеседі. Егер мектептің стандартталған тест ұпайлары өсіп, ал «стандартты емес» көрсеткіштері төмендесе, бұл «тестке оқыту» (teaching to the test) процесі басталғанының және оқушылардың дағдылары тесттің өзіне артық бейімделе бастағанының айқын белгісі болады.
Кросс-валидация сондай-ақ құқық қорғау және әскери қызметкерлерге жаттығу процесінің өзінен туындайтын әдеттерді қалыптастырмай, жақсы рефлекстерді дамытуға кеңес береді. Эсселер мен ауызша емтихандар стандартталған тесттерді кросс-валидациялайтыны сияқты, бейтаныс тапсырмалар арқылы реакция уақыты мен ату дәлдігінің басқа жағдайларға қаншалықты сәйкес келетінін өлшеуге болады. Егер олай болмаса, бұл жаттығу жүйесін өзгерту керектігі туралы күшті сигнал. Нағыз шайқасқа ештеңе толық дайындай алмаса да, мұндай жаттығулар кем дегенде «жаттығу тыртықтарының» қай жерде пайда болуы мүмкін екенін алдын ала ескерте алады.
Артық бейімделумен қалай күресуге болады: Күрделілік үшін айыппұл салу
Егер сіз оны қарапайым түсіндіре алмасаңыз, демек оны жеткілікті деңгейде түсінбейсіз. — АНОНИМ
Біз артық бейімделудің көрініс табу жолдарын және оны анықтау мен өлшеудің кейбір әдістерін қарастырдық. Бірақ оны азайту үшін не істей аламыз?
Статистика тұрғысынан алғанда, артық бейімделу — біз көрген нақты деректерге тым сезімтал болудың белгісі. Сондықтан шешім қарапайым: біз жақсы сәйкестікті табуға деген ұмтылыс пен оны орындау үшін қолданатын модельдеріміздің күрделілігі арасындағы тепе-теңдікті сақтауымыз керек.
Бірнеше бәсекелес модельдердің арасынан таңдау жасаудың бір жолы — Оккам ұстарасы (Occam’s razor) принципі. Ол барлық жағдай тең болғанда, ең қарапайым гипотеза дұрыс болуы ықтимал екенін айтады. Әрине, жағдайлар сирек толық тең болады, сондықтан Оккам ұстарасын математикалық контексте қалай қолдану керектігі бірден белгілі бола бермейді. 1960 жылдары бұл мәселемен айналысқан орыс математигі Андрей Тихонов бір шешім ұсынды: есептеулеріңізге күрделірек шешімдер үшін айыппұл салатын қосымша шарт енгізіңіз. Егер біз күрделілік үшін айыппұл енгізсек, онда күрделірек модельдер өздерінің күрделілігін ақтау үшін деректерді жай ғана жақсы емес, айтарлықтай жақсырақ түсіндіруі керек болады. Компьютерлік ғалымдар бұл принципті — модельдерді күрделілігі үшін жазалайтын шектеулерді қолдануды — Регуляризация (Regularization — модельдің шамадан тыс күрделеніп кетпеуін қадағалайтын әдіс) деп атайды.
Сонымен, бұл күрделілік айыппұлдары қалай көрінеді? 1996 жылы биостатистик Роберт Тибширани ашқан алгоритмдердің бірі Lasso (маңызды емес коэффициенттерді нөлге теңестіру арқылы модельді қарапайымдандыратын әдіс) деп аталады. Ол айыппұл ретінде модельдегі әртүрлі факторлардың жалпы салмағын қолданады. Факторлардың салмағына осындай төменге бағытталған қысым жасау арқылы Lasso олардың мүмкіндігінше көбін толығымен нөлге жеткізеді. Теңдеуде тек нәтижеге үлкен әсер ететін факторлар ғана қалады — осылайша, мысалы, артық бейімделген тоғыз факторлы модельді тек бірнеше ең маңызды факторлары бар қарапайым, берік формулаға айналдыруға болады.
Lasso сияқты әдістер қазір машиналық оқытуда барлық жерде кездеседі, бірақ дәл осындай принцип — күрделілік үшін айыппұл — табиғатта да кездеседі. Тірі организмдер уақыт, жад, энергия және зейіннің шектеулілігіне байланысты қарапайымдылыққа автоматты түрде итеріледі. Мысалы, метаболизм ауырлығы тым күрделі механизмдер үшін калориялық айыппұл енгізу арқылы организмдердің күрделілігіне тежегіш ретінде әсер етеді. Адам миының күнделікті жалпы калория шығынының бестен бір бөлігін жағатыны біздің зияткерлік қабілеттеріміз беретін эволюциялық артықшылықтардың дәлелі болып табылады: мидың үлесі сол үлкен отын шотын қалайда өтеуі керек. Екінші жағынан, біз айтарлықтай күрделірек мидың эволюциялық тұрғыдан жеткілікті дивидендтер бермегенін де болжай аламыз. Біз қажетінше ақылдымыз, бірақ одан артық емес.
Дәл осындай процесс нейрондық деңгейде де рөл атқарады деп есептеледі. Компьютерлік ғылымда миға негізделген бағдарламалық модельдер — «жасанды нейрондық желілер» — кез келген күрделі функцияларды үйрене алады, бірақ дәл осы икемділігіне байланысты олар артық бейімделуге өте бейім. Нағыз биологиялық нейрондық желілер бұл мәселеден айналып өтеді, өйткені олар өз өнімділігін оны сақтау шығындарымен теңестіруі керек. Нейробиологтар, мысалы, ми кез келген уақытта белсенді болатын нейрондар санын азайтуға тырысады деп болжайды — бұл Lasso сияқты күрделілікке төмен қарай бағытталған қысымды іске асырады.
Тіл де тағы бір табиғи Lasso болып табылады: күрделілік ұзағырақ сөйлеудің ауырлығымен және тыңдаушының зейінін шаршатумен жазаланады. Бизнес-жоспарлар лифттегі презентацияға (elevator pitch) дейін қысқарады; өмірлік кеңестер тек қысқа әрі есте қаларлық болса ғана мақал-мәтелге айналады. Ал есте сақталуы керек кез келген нәрсе жадының ішкі Lasso-сынан өтуі тиіс.
Эвристиканың артықшылығы
Экономист Гарри Марковиц 1990 жылы заманауи портфельдік теорияны жасағаны үшін Нобель сыйлығын алды: оның жаңашыл «орташа дисперсиялық портфельді оңтайландыруы» инвестордың белгілі бір қауіп деңгейінде кірісті барынша арттыру үшін әртүрлі қорлар мен активтер арасында қалай оңтайлы бөлу жасай алатынын көрсетті. Сондықтан өзінің зейнетақы жинақтарын инвестициялау уақыты келгенде, Марковиц бұл жұмысқа ең жақсы дайындалған адам болуы керек еді. Ол не істеуді шешті?
Мен активтер кластарының тарихи ковариацияларын есептеп, тиімді шекараны сызуым керек еді. Оның орнына, мен қор нарығы күрт өсіп, мен оның ішінде болмағанда немесе ол күрт төмендеп, мен толығымен оның ішінде болғандағы қайғымды елестеттім. Менің ниетім болашақ өкінішімді азайту болды. Сондықтан мен жарналарымды облигациялар мен акциялар арасында елу де елу қылып бөлдім.
Неліктен ол бұлай істеді? Нобель сыйлығының иегері мен оның инвестициялық стратегиясы туралы оқиғаны адамның қисынсыздығының мысалы ретінде көрсетуге болады: шынайы өмірдің күрделілігіне тап болғанда, ол ұтымды модельден бас тартып, қарапайым эвристиканы (heuristics — шешім қабылдауды жеңілдететін қарапайым тәжірибелік ережелер) ұстанды. Бірақ шынайы өмірдің күрделілігіне байланысты дәл осы қарапайым эвристика ұтымды шешім болуы мүмкін.
Портфельді басқаруға келгенде, нарықтар туралы қолыңыздағы ақпаратқа қатты сенімді болмасаңыз, сол ақпаратты мүлдем елемегеніңіз дұрыс болуы мүмкін. Марковицтің оңтайлы портфель бөлу схемасын қолдану әртүрлі инвестициялардың статистикалық қасиеттерін жақсы бағалауды талап етеді. Ол бағалаулардағы қателік активтерді мүлдем басқаша бөлуге әкеліп, қауіпті арттыруы мүмкін. Керісінше, ақшаны акциялар мен облигациялар арасында тең бөлу сіздің қандай деректерді көргеніңізге мүлдем байланысты емес. Бұл стратегия тіпті сол инвестиция түрлерінің тарихи өнімділігіне бейімделуге тырыспайды — сондықтан оның артық бейімделуі мүмкін емес.
Әрине, тек елу де елу бөлу міндетті түрде күрделіліктің «алтын ортасы» емес, бірақ оның да өз орны бар. Егер сіз инвестициялар жиынтығының күтілетін орташа мәні мен күтілетін дисперсиясын нақты білсеңіз, онда орташа дисперсиялық портфельді оңтайландыруды қолданыңыз — оңтайлы алгоритм белгілі бір себеппен оңтайлы деп аталады. Бірақ олардың барлығын дұрыс бағалау ықтималдығы төмен болса және модель сол сенімсіз шамаларға үлкен салмақ түсірсе, онда шешім қабылдау процесінде дабыл қағылуы керек: регуляризациялау уақыты келді.
Марковицтің зейнетақы жинақтары сияқты мысалдардан шабыт алған психологтар Герд Гигерензер мен Генри Брайтон нақты әлемде адамдар қолданатын шешім қабылдау әдістері (shortcuts) көп жағдайда жақсы шешімдерге әкелетін ойлау тәсілі екенін алға тартты. Олар: «Ақпаратты өңдеуді азайту дәлдікті төмендетеді деген кең таралған пікірге қарамастан, эвристиканы (мәселені тез шешуге көмектесетін практикалық әдіс немесе ереже) зерттеу көрсеткендей, ақпараттың, есептеудің және уақыттың аз болуы іс жүзінде дәлдікті арттыруы мүмкін», — деп жазады. Қарапайым жауаптарды — аз факторларды немесе аз есептеуді — қолдайтын эвристика дәл осы «аз болса, көп болады» әсерін ұсынады.
Модельдің түпкілікті күрделілігіне шектеу қою — асқын бейімделуді (overfitting — модельдің деректердегі кездейсоқ шуды маңызды заңдылық деп қабылдап алуы) азайтудың жалғыз жолы емес. Сондай-ақ, модельдің жаңа деректерге бейімделу жылдамдығын бақылау арқылы да оны қарапайымдылыққа қарай итермелеуге болады. Бұл асқын бейімделуді зерттеуді біздің тарихымызға — қоғам ретінде де, түр ретінде де — бағыт беретін танымдық нұсқаулыққа айналдырады.
Тарихтың салмағы
Тірі егеуқұйрықтың жеген әрбір тағамы оны өлтірген жоқ. — Сэмюэл Ревуски және Эрвин Бедарф, «Аурудың бұрын желінген жаңа тағамдармен байланысы»
Америка Құрама Штаттарындағы соя сүті нарығы 1990-жылдардың ортасынан 2013 жылға дейін төрт еседен астам өсті. Бірақ 2013 жылдың аяғында, жаңалықтар тақырыптарына сүйенсек, ол бадам сүтінен кейінгі екінші орынға сырғып, өткеннің еншісінде қалғандай көрінді. Азық-түлік және сусындар зерттеушісі Ларри Финкель Bloomberg Businessweek басылымына: «Қазір жаңғақтар сәнде. Соя ескірген пайдалы тағам сияқты естіледі», — деді. Соя сүтін танымал еткен Silk компаниясы 2013 жылдың соңында бадам сүті өнімдері тек соңғы тоқсанда 50%-дан астам өскенін хабарлады. Сонымен қатар, Vita Coco кокос суы бренді 2014 жылы сатылымдары 2011 жылдан бері екі есе өскенін және 2004 жылдан бері таңғаларлық үш жүз есе артқанын мәлімдеді. New York Times жазғандай, «кокос суы беймәлім күйден кез келген жерде кездесетін деңгейге көз ілеспес жылдамдықпен жетті». Ал кейл (жапырақты қырыққабат) нарығы тек 2013 жылдың өзінде 40%-ға өсті. Бір жыл бұрын кейлдің ең ірі сатып алушысы Pizza Hut болған еді, олар оны салат-барларында тек безендіру ретінде қолданған.
Адам өмірінің ең негізгі салалары, мысалы, не ішіп-жеуіміз керек деген сұрақ, таңқаларлық түрде қысқа мерзімді сәннің (fads) ықпалында болып көрінеді. Бұл трендтердің әлемді тез жаулап алуына біздің мәдениетіміздің тез өзгеруі мүмкіндік береді. Ақпарат қазір қоғамда бұрынғыдан да жылдам таралады, ал жаһандық жеткізу тізбегі тұтынушыларға сатып алу әдеттерін жаппай тез өзгертуге мүмкіндік береді. Егер қандай да бір зерттеу, айталық, жұлдызды анис денсаулыққа пайдалы деп көрсетсе, ол бір апта ішінде блогтарда, келесі аптада телевизияда, ал алты айдан кейін әрбір супермаркетте пайда болуы мүмкін. Бұл керемет жылдамдық — әрі бақыт, әрі қасірет.
Керісінше, егер біз организмдердің — соның ішінде адамдардың — эволюциясына қарасақ, қызықты жайтты байқаймыз: өзгеріс баяу жүреді. Бұл қазіргі организмдердің қасиеттері тек қазіргі ортасымен ғана емес, сонымен бірге олардың тарихымен де қалыптасатынын білдіреді. Мысалы, біздің жүйке жүйеміздің оғаш қиылысқан құрылымы (денеміздің сол жағы мидың оң жағымен басқарылады және керісінше) омыртқалылардың эволюциялық тарихын көрсетеді. «Декусация» (жүйке талшықтарының қиылысуы) деп аталатын бұл құбылыс эволюцияның бір кезеңінде алғашқы омыртқалылардың денесі басына қатысты 180 градусқа бұрылған кезде пайда болған деп болжанады; омарлар мен жаңбыр құрттары сияқты омыртқасыздардың жүйке түйіндері «іш» жағында болса, омыртқалылардың жүйкелері арқа бойымен өтеді.
Адам құлағы тағы бір мысал болып табылады. Функционалдық тұрғыдан алғанда, бұл дыбыс толқындарын үш сүйек — балғашық, төс және үзеңгі — арқылы күшейтіп, электрлік сигналдарға айналдыратын жүйе. Бұл күшейту жүйесі әсерлі болғанымен, оның жұмыс істеу ерекшеліктері тарихи шектеулермен тығыз байланысты. Бауырымен жорғалаушылардың құлағында тек бір ғана сүйек бар, бірақ сүтқоректілерде жоқ жақ сүйектері қосымша болған. Сол жақ сүйектері сүтқоректілердің құлағында жаңа мақсатқа бейімделген көрінеді. Сонымен, құлақ анатомиясының нақты формасы мен конфигурациясы оның алдында тұрған есту мәселесінен гөрі, біздің эволюциялық тарихымызды көбірек көрсетеді.
Асқын бейімделу (overfitting) концепциясы бізге мұндай эволюциялық «жүктің» (baggage) құндылығын көруге мүмкіндік береді. Қиылысқан жүйке талшықтары мен қайта бейімделген жақ сүйектері оңтайлы емес болып көрінгенімен, біз эволюцияның организмді ортаның әрбір өзгерісіне толық бейімдегенін (optimize) қаламаймыз. Өйткені бұл оны қоршаған ортаның келесі өзгерістеріне тым сезімтал етеді. Екінші жағынан, қолданыстағы материалдарды пайдалануға мәжбүр болу пайдалы тежеуді (restraint) тудырады. Бұл организмдердің құрылымында түбегейлі өзгерістер жасауды қиындатады, яғни асқын бейімделудің алдын алады. Түр ретінде, өткенге тәуелді болу бізді қазіргі ортаға мінсіз сәйкес келмеуіміз мүмкін, бірақ белгісіз болашаққа төзімдірек (robust) етеді.
Осыған ұқсас түсінік бізге адам қоғамындағы тез өзгеретін сәнді трендтерге қарсы тұруға көмектесуі мүмкін. Мәдениетте дәстүр эволюциялық шектеулердің рөлін атқарады. Азғантай консерватизм, тарихқа деген белгілі бір құрмет бізді трендтердің күрт көтерілуі мен құлдырауынан қорғай алады. Әрине, бұл соңғы деректерді елемеу керек дегенді білдірмейді. Жаңа ағымға жақындаңыз, бірақ міндетті түрде оған соқыр еріп кетудің қажеті жоқ.
Машиналық оқытуда баяу қозғалудың артықшылықтары «Ерте тоқтату» (Early Stopping — оқытуды модель тым күрделі болып кетпей тұрып тоқтату) деп аталатын регуляризация әдісінде айқын көрінеді. Біз осы тараудың басында неміс неке сауалнамасы деректерін қарастырғанда, бір, екі және тоғыз факторлы модельдердің ең жақсы нұсқаларын зерттедік. Дегенмен, көптеген жағдайларда параметрлерді деректерге барынша сәйкестендіру — ұзақ процесс. Егер біз бұл процесті ерте тоқтатып, модельдің тым күрделі болуына уақыт бермесек не болады? Бұл алғашқы қарағанда жартыкештік немесе тиянақсыздық болып көрінгенімен, шын мәнінде маңызды стратегия болып табылады.
Мысалы, көптеген болжау алгоритмдері бірден көп факторлы модельге көшпей, ең маңызды бір факторды іздеуден бастайды. Тек бірінші факторды тапқаннан кейін ғана олар келесі маңызды факторды қосады, содан кейін келесісін, және тағысын тағы. Осылайша, процесті асқын бейімделу басталмай тұрып тоқтату арқылы модельдердің тым күрделі болып кетуіне жол бермеуге болады. Болжамдарды есептеудің тағы бір әдісі — деректерді бір-бірлеп қарастыру; мұнда да модельдің күрделілігі біртіндеп артады, сондықтан процесті ерте тоқтату асқын бейімделуден сақтауға көмектеседі.
Мұндай жағдай — уақыт көп болған сайын күрделіліктің артуы — адамның көптеген іс-әрекеттеріне тән. Бір нәрсе туралы шешім қабылдауға көбірек уақыт беру міндетті түрде жақсы шешім қабылдайтыныңызды білдірмейді. Бірақ бұл сіздің көбірек факторларды, көбірек жорамалдарды, көбірек «иә» мен «жоқты» ескеріп, асқын бейімделу қаупіне бас тігетініңізге кепілдік береді.
Том профессор болған кезде дәл осындай тәжірибені бастан өткерді. Бірінші семестрде ол өзінің алғашқы сабағына дайындалуға орасан зор уақыт жұмсады — әрбір сабақ сағатына он сағаттан астам дайындық жасады. Екінші семестрде, басқа сабақ беріп жүріп, ол соншалықты көп уақыт бөле алмады және бұл сәтсіздік болады деп қорықты. Бірақ таңқаларлық жағдай болды: студенттерге екінші сабақ көбірек ұнады. Шын мәнінде, ол бірінші сабақтан да жақсырақ болды. Артық жұмсалған сағаттар студенттердің басын қатыратын ұсақ-түйек (nitty-gritty) детальдарды жинақтауға кеткен екен. Том соңында мынаны түсінді: ол өзінің талғамы мен пайымын студенттерінің талғамының көрсеткіші ретінде пайдаланған. Бұл көрсеткіш жақын жуықтау ретінде жақсы жұмыс істегенімен, оны асқын бейімдеудің (overfitting) қажеті жоқ еді. Сондықтан слайдтарды «мінсіз» етуге жұмсалған артық сағаттар кері әсерін тигізген.
Машиналық оқытудағы регуляризацияның тиімділігі біздің де аз ойланып, аз әрекет ету арқылы жақсырақ шешімдер қабылдай алатынымызды көрсетеді. Егер бірінші ойға келген факторлар ең маңыздылары болса, онда белгілі бір шектен кейін мәселе туралы көбірек ойлану уақыт пен күшті босқа кетіру ғана емес, ол бізді нашар шешімдерге алып келеді. «Ерте тоқтату» — бұл шектен тыс пайымдауға қарсы қисынды дәлел, ойлы адамның көп ойлауға қарсы уәжі. Бірақ бұл практикалық кеңеске айналуы үшін тағы бір сұраққа жауап беру керек: біз қашан ойлауды тоқтатуымыз керек?
Қашан аз ойлану керек
Асқын бейімделуге қатысты барлық мәселелер сияқты, ерте тоқтату уақыты сіз өлшей алатын нәрсе мен шын мәнінде маңызды нәрсе арасындағы алшақтыққа байланысты. Егер сізде барлық фактілер болса, олар қатесіз әрі анық болса және сіз өзіңіз үшін маңызды нәрсені тікелей бағалай алсаңыз, онда ерте тоқтамаңыз. Ұзақ және терең ойланыңыз: күрделілік пен күш-жігер мұнда орынды.
Бірақ мұндай жағдай сирек кездеседі. Егер сізде белгісіздік жоғары және деректер шектеулі болса, онда міндетті түрде ерте тоқтаңыз. Егер сіздің жұмысыңыз қалай және кім тарапынан бағаланатынын нақты білмесеңіз, онда оны мінсіз ету үшін артық уақыт жұмсаудың қажеті жоқ. Белгісіздік неғұрлым үлкен болса, сіз өлшей алатын нәрсе мен маңызды нәрсе арасындағы алшақтық соғұрлым үлкен болады, соғұрлым асқын бейімделуден сақтану керек — яғни қарапайымдылықты қалап, ерте тоқтауыңыз қажет.
Қараңғыда қалғанда, ең жақсы жоспарлар — ең қарапайымдары. Біздің күтулеріміз белгісіз және деректер шулы болса, ең дұрысы — кең ауқымда ойлау. Кейде бұл сөзбе-сөз мағынада. Кәсіпкерлер Джейсон Фрид пен Дэвид Хейнемейер Ханссон түсіндіргендей, олар бір нәрсені жоспарлағанда, қаламның орнына жуан Sharpie маркерін қолданады:
«Біз бірдеңені жобалай бастағанда, идеяларды шарикті қаламмен емес, үлкен, жуан Sharpie маркерімен сызамыз. Неге? Қаламның ұшы тым жіңішке. Олардың ажыратымдылығы тым жоғары. Олар сізді әлі алаңдамауыңыз керек нәрселерге — көлеңкелеуді мінсіз етуге немесе үзік сызықты қолдану-қолданбауға итермелейді. Соңында сіз әлі де назардан тыс қалуы керек нәрселерге назар аударасыз.
Sharpie-мен тым тереңге үңілу мүмкін емес. Сіз тек пішіндерді, сызықтарды және қорапшаларды сала аласыз. Бұл жақсы. Басында тек жалпы көрініс (big picture) туралы ғана ойлау керек. »
Генри Минцберг айтқандай: «Егер біз маңызды нәрсені өлшей алмаймыз деген тұжырымнан бастасақ не болар еді? Онда өлшеудің орнына біз өте қорқынышты нәрсені қолдануға мәжбүр болар едік: ол пайымдау (judgment) деп аталады. »
«Ерте тоқтатудың» қорытындысы мынада: кейде бұл рационалды болу мен инстинктке сену арасындағы таңдау емес. Бірінші инстинктке сену — рационалды шешім болуы мүмкін. Шешім неғұрлым күрделі, тұрақсыз және белгісіз болса, бұл тәсіл соғұрлым рационалды болады.
Дарвинге оралсақ, оның үйлену туралы мәселесін ол анықтаған алғашқы бірнеше «иә» мен «жоқ» арқылы-ақ шешуге болар еді. Содан кейінгі аргументтер тек уақытты шығындап, мазасыздықты арттырды. Оның шешіміне әсер еткен негізгі ой: «бүкіл өміріңді бейтарап ара сияқты жұмыс істеп, соңында ештеңесіз қалуды ойлауға болмайды» деген ой еді. Балалар мен серіктестік — ол атап өткен ең бірінші пункттер — соңында оны некеге тұруға көндірді. Ал оның кітап бюджеті жай ғана назарды аударатын ұсақ-түйек еді.
Алайда, Дарвинді тым көп ойлайтын адам ретінде сынамас бұрын, оның күнделігіндегі осы бетке тағы бір қараған жөн. Оның түпнұсқасын көру қызықты жайтты ашады. Дарвин бірнеше күн бойы түрлі ойларды жинақтаған жоқ. Ол бұл өмірлік таңдауға өте байыппен қараса да, оның жазбалары күнделік парағының соңына жеткенде ол шешім қабылдады. Ол парақтың көлеміне қарай регуляризация жасады. Бұл «Ерте тоқтату» мен «Лассо» (Lasso) әдісіне ұқсайды: параққа сыймаған нәрсе шешімге де кірмейді.
Үйленуге бел буған соң, Дарвин бірден уақыт туралы тым көп ойлана бастады. «Қашан? Тез бе әлде кеш пе? » — деп жазды ол бақыттан бастап шығындарға, «ыңғайсыздыққа» және әуе шарымен немесе Уэльске саяхаттауға деген ескі арманына дейінгі барлық нәрсені ескеріп. Бірақ парақтың соңында ол «Мейлі, сәттілікке сенемін» деп шешті — нәтижесінде бірнеше айдан кейін Эмма Веджвудқа ұсыныс жасап, бақытты отбасылық өмір бастады.
--- *Математикаға бейім жандар үшін, бұл — айнымалылар коэффициенттерінің абсолюттік мәндерінің қосындысы.
OceanofPDF. com
Еркіндік беріңіз
2010 жылы Меган Беллоуз күндіз Принстонда химиялық инженерия бойынша PhD докторантурасында жұмыс істеп, түнде үйлену тойын жоспарлап жүрді. Оның зерттеуі белгілі бір сипаттамалары бар молекула алу үшін аминқышқылдарын ақуыз тізбегіндегі дұрыс орындарға орналастыруға негізделген еді. («Егер екі ақуыздың байланыс энергиясын барынша арттырсаңыз, белгілі бір биологиялық функцияның ингибиторын сәтті жобалай аласыз, осылайша аурудың дамуын тежей аласыз. ») Ал той мәселесінде ол қонақтарды отырғызу мәселесіне тірелді.
Тоғыз досынан тұратын топ бар еді, Беллоуз он адамдық үстелді толтыру үшін олардың қасына тағы кімді қосу керек деп бас қатырды. Одан да сорақысы, ол он бір жақын туысын санап шықты. Құрметті ата-аналар үстелінен кімді алып тастау керек және оны оларға қалай түсіндіреді? Ал оның балалық шақтағы көршілері мен күтушісі немесе ата-анасының әріптестері сияқты тойда ешкімді танымайтын адамдар туралы не деуге болады?
Бұл мәселе зертханадағы ақуыз мәселесі сияқты қиын болып көрінді. Содан кейін оның ойына бір идея келді. Бұл дәл зертханадағы мәселе еді. Бір күні кешкісін отырғызу схемаларына қарап отырып: «Менің диссертациямдағы аминқышқылдары мен ақуыздар мен тойымдағы үстелдерде отырған адамдар арасында сөзбе-сөз бір-біріне сәйкестік бар екенін түсіндім», — деді. Беллоуз қалыңдығына қағаз әкелуді өтініп, теңдеулер жаза бастады. Аминқышқылдары қонақтарға айналды, байланыс энергиялары қарым-қатынасқа айналды, ал молекулалардың «көршілес әрекеттесулері» — нағыз көршілес әрекеттесулерге айналды. Ол өз зерттеуінің алгоритмдерін өз тойының мәселесін шешу үшін қолдана алды.
Беллоуз барлық қонақтар арасындағы қарым-қатынас күшін сандық түрде анықтау жолын тапты. Егер адамдар бір-бірін танымаса, олар 0 алды, егер таныса — 1, ал егер жұп болса — 50 алды. (Қалыңдықтың әпкесіне арнайы құқық ретінде өзі отырғысы келетін адамдарға 10 ұпай беруге рұқсат етілді. ) Содан кейін Беллоуз бірнеше шектеулер қойды: үстелдің максималды сыйымдылығы және әр үстелге қажетті минималды ұпай, сонда ешбір үстел бейтаныс адамдардан тұратын ыңғайсыз топқа айналмайды. Сондай-ақ ол бағдарламаның мақсатын белгіледі: қонақтар мен олардың үстелдес серіктестері арасындағы қарым-қатынас ұпайларын барынша арттыру.
Тойда 107 адам және әрқайсысы он адамға арналған 11 үстел болды. Бұл дегеніміз 11¹⁰⁷-ге жуық мүмкін болатын отырғызу жоспары бар: бұл 112 таңбалы сан, яғни 200 миллиард гуголдан астам (googol — 1-ден кейін 100 нөл бар сан), бұл көрсеткіш бақыланатын ғаламдағы атомдар санынан (бар болғаны 80 таңбалы сан) әлдеқайда көп. Беллоуз жұмысты сенбі күні кешке зертханалық компьютерге тапсырды. Дүйсенбі күні таңертең келгенде, ол әлі жұмыс істеп тұрды; ол табылған ең жақсы нұсқаны шығарып алып, компьютерді қайтадан ақуыз дизайнына қосты.
Принстондағы зертхананың барлық есептеу қуаты мінсіз отырғызу жоспарын таба алмағаны таңқаларлық көрінуі мүмкін. Біз осы уақытқа дейін талқылаған көптеген салаларда қарапайым алгоритмдер оңтайлы шешімдерге кепілдік бере алатын еді. Бірақ компьютерлік ғалымдар соңғы бірнеше онжылдықта анықтағандай, мінсіз шешімге қол жеткізу іс жүзінде мүмкін емес мәселелердің тұтас кластары бар. Шын мәнінде, компьютерлік ғалымнан артық ешкім де шешілмейтіндей көрінетін мәселенің алдында мәңгілік жұмыс істеудің де, беріле салудың да қажеті жоқ екенін жақсы түсінбейді; оның орнына үшінші бір жолды қолданып көру керек.
Оңтайландырудың қиындығы
Азамат соғысы кезінде елді басқармас бұрын, Авраам Линкольн Иллинойс штатының Спрингфилд қаласында «прерия адвокаты» болып жұмыс істеп, он алты жыл бойы жылына екі рет Сегізінші сот округін аралап шығатын. Округтік адвокат болу — он төрт округтің қалаларын аралап, істерді қарау, апталар бойы жүздеген миль жол жүру дегенді білдіреді. Бұл маршруттарды жоспарлау табиғи сұрақ тудырды: барлық қажетті қалаларға ең аз жол жүріп және бір қалаға екі рет бармай қалай баруға болады?
Бұл математиктер мен компьютерлік ғалымдарға «шектеулі оңтайландыру» (constrained optimization) мәселесі ретінде белгілі: белгілі бір ережелер мен ұпай жинау жүйесі берілген жағдайда, айнымалылар жиынтығының ең жақсы орналасуын қалай табуға болады. Шын мәнінде, бұл — барлық оңтайландыру есептерінің ішіндегі ең танымалы. Егер ол он тоғызыншы ғасырда зерттелгенде, ол «прерия адвокатының есебі» деп аталуы мүмкін еді, ал жиырма бірінші ғасырда пайда болса, «курьер-дрон есебі» деп аталар еді. Бірақ ол жиырмасыншы ғасырдың ортасында пайда болды және оның канондық атауы: «саяхатшы саудагер есебі» (Traveling Salesman Problem — барлық қалаларды аралап, бастапқы нүктеге оралатын ең қысқа жолды табу есебі).
Маршрутты жоспарлау мәселесі 1930-жылдарға дейін математикалық қауымдастықтың назарын аударған жоқ, бірақ кейін ол ерекше қарқынмен зерттеле бастады. Математик Карл Менгер 1930 жылы <span data-term="true">«пошташы есебі»</span> (маршрутты оңтайландырудың алғашқы нұсқаларының бірі) туралы айтып, барлық мүмкін нұсқаларды кезекпен тексеріп шығудан басқа оңайырақ шешім белгісіз екенін атап өтті. Хасслер Уитни бұл мәселені 1934 жылы Принстондағы баяндамасында көтерді, ол жерде бұл есеп әріптесі, математик Меррилл Флудтың жадында берік сақталып қалды (есіңізде болса, 1-тарауда ол «хатшы есебінің» алғашқы шешімін таратушы ретінде де аталған болатын). Флуд 1940-жылдары Калифорнияға көшкенде, бұл есепті RAND институтындағы әріптестеріне таратты, ал мәселенің қазіргі танымал атауы алғаш рет 1949 жылы математик Джулия Робинсонның мақаласында жарық көрді. Есеп математикалық ортада кеңінен тараған сайын, оның қиындығы туралы дақпырт та өсе берді. Ол заманның көптеген ұлы ақыл-ой иелері осы есепке бас қатырды, бірақ ешкім айтарлықтай ілгерілей алмағандай көрінді.
Саяхатшы саудагер есебінде (Traveling Salesman Problem — берілген қалаларды аралап, бастапқы нүктеге оралатын ең қысқа жолды табу) сұрақ компьютердің (немесе математиктің) ең қысқа жолды таба алу-алмауында емес: теориялық тұрғыдан, барлық мүмкін нұсқалардың тізімін шығарып, әрқайсысын өлшеп шығуға болады. Мәселе — қалалар саны артқан сайын, оларды байланыстыратын ықтимал маршруттар тізімінің шектен тыс көбейіп кетуінде. Маршрут — бұл жай ғана қалалардың реттілігі, сондықтан олардың бәрін «тікелей іріктеу» (brute force) әдісімен тексеру қорқынышты O(n! ) (мәліметтер саны өскен сайын есептеу уақытының экспоненциалды түрде күрт артуы) немесе «факториалды уақытты» қажет етеді. Бұл есептеу тұрғысынан алғанда, карталар колодасын ауаға шашып жіберіп, олар жерге өздігінен ретімен түскенше қайталай берумен тең.
Сұрақ мынада: бұдан жақсырақ нәтижеге қол жеткізуге үміт бар ма?
Ондаған жылдар бойғы жұмыс саяхатшы саудагер есебін бағындыруға аз ғана септігін тигізді. Мысалы, Флуд 1956 жылы, бұл есеппен алғаш танысқаннан кейін жиырма жылдан астам уақыт өткен соң былай деп жазды: «Мәселені сәтті шешу үшін осы уақытқа дейін қолданылғандардан мүлдем басқа тәсіл қажет болуы мүмкін. Шын мәнінде, мәселені шешудің жалпы әдісі болмауы да ықтимал, сондықтан шешімнің мүмкін еместігі туралы нәтижелер де құнды болар еді». Тағы бір онжылдық өткен соң, жағдай тіпті қиындай түсті. Джек Эдмондс: «Меніңше, саяхатшы саудагер есебі үшін жақсы алгоритм жоқ», — деген болжам жасады.
Бұл сөздер көріпкелдік болып шықты.
Қиындықты анықтау
1960-жылдардың ортасында Ұлттық стандарттар және технологиялар институтында жұмыс істеген Эдмондс IBM маманы Алан Кобхэммен бірге есептің шешілу мүмкіндігін (немесе мүмкін еместігін) анықтайтын жұмысшы анықтамасын жасап шығарды. Олар қазіргі уақытта Кобхэм-Эдмондс тезисі деп аталатын тұжырымды алға тартты: егер алгоритм «полиномиалды уақытта» (есептеу уақыты мәліметтер көлемінің дәрежесіне пропорционал болатын тиімді процесс), яғни O(n²), O(n³) немесе n-нің кез келген дәрежесінде орындалса, ол «тиімді» деп есептелуі керек. Өз кезегінде, егер біз есепті тиімді алгоритм көмегімен шешу жолын білсек, ол «басқарылатын» (tractable — оңай шешілетін) есеп деп саналады. Ал полиномиалды уақытта шешу жолы белгісіз есептер «басқарылмайтын» (intractable — шешілуі тым ұзақ уақыт алатын) деп есептеледі. Ең кіші масштабтарды есептемегенде, басқарылмайтын есептер компьютерлер қаншалықты қуатты болса да, олардың мүмкіндігінен тыс қала береді.
Бұл компьютерлік ғылымның ең басты тұжырымы деуге болады. Есептің қиындығын сандық түрде өлшеуге болады. Кейбір есептер жай ғана... өте қиын.
Бұл жағдайда саяхатшы саудагер есебі қай деңгейде? Қызығы, біз әлі күнге дейін нақты сенімді емеспіз. 1972 жылы Беркли университетінің ғалымы Ричард Карп саяхатшы саудагер есебінің тиімді шешілуі әлі дәлелденбеген, шекаралық есептер класымен байланысты екенін көрсетті. Бірақ осы уақытқа дейін мұндай есептердің ешқайсысы үшін тиімді шешім табылған жоқ — бұл оларды іс жүзінде басқарылмайтын етеді — және көптеген компьютерлік ғалымдар ондай шешімнің болуы мүмкін емес деп санайды. Сонымен, Флуд 1950-жылдары елестеткен саяхатшы саудагер есебінің «мүмкін еместігі туралы нәтиже», сірә, оның түпкілікті тағдыры болса керек. Сонымен қатар, саяси стратегиядан бастап денсаулық сақтау мен өрт қауіпсіздігіне дейінгі барлық салаға әсер ететін басқа да көптеген оңтайландыру есептері дәл осындай қиындыққа ие.
Бірақ мұндай мәселелермен күресетін компьютерлік ғалымдар үшін бұл үкім әңгіменің соңы емес. Керісінше, бұл — әрекетке шақыру сияқты. Есептің басқарылмайтынын анықтаған соң, қол қусырып отыра алмайсыз. Кесте жасау бойынша сарапшы Ян Карел Ленстра айтқандай: «Есептің қиындығы оны ұмыту керек дегенді білдірмейді, бұл оның мәртебесінің өзгергенін ғана білдіреді. Ол — қауіпті жау, бірақ сен бәрібір онымен күресуің керек». Дәл осы жерде бұл сала бізге бәріміз үйрене алатын құнды нәрсені — оңтайлы жауаптары қолжетімсіз есептерге қалай жақындау керектігін көрсетті. Яғни, қалай «босаңсу» (relax) керектігін.
Жай ғана босаңсыңыз (Just Relax)
Кемшіліксіздік — жақсылықтың жауы. — ВОЛЬТЕР
Біреу сізге «босаңсыңыз» десе, бұл сіздің тым ширығып, мәселеге тиісті деңгейден артық мән беріп жатқаныңызды білдіреді. Компьютерлік ғалымдар қиын сынаққа тап болғанда, олар да «босаңсу» (relaxation) әдістеріне жүгінеді. Бірақ олар өздерін емес, мәселенің (есептің) өзін босаңсытады.
Компьютерлік ғылымдағы босаңсудың ең қарапайым түрлерінің бірі «Шектеулерді жеңілдету» (Constraint Relaxation) деп аталады. Бұл әдісте зерттеушілер есептің кейбір шектеулерін алып тастап, өздері қалаған оңайырақ есепті шешуге кіріседі. Кейін, белгілі бір нәтижеге қол жеткізген соң, шектеулерді қайта қосуға тырысады. Яғни, олар мәселені шындыққа қайта оралтпас бұрын, оны уақытша басқаруға жеңіл етеді.
Мысалы, саяхатшы саудагерге бір қалаға бірнеше рет баруға және жүрген жолымен тегін қайта қайтуға рұқсат беру арқылы есепті жеңілдетуге болады. Осындай жеңіл ережелермен ең қысқа жолды табу «Минималды жайылым ағашы» (Minimum Spanning Tree — барлық нүктелерді ең аз жалпы қашықтықпен қосатын құрылым) деп аталады. (Минималды жайылым ағашын әр қаланы кем дегенде бір басқа қаламен байланыстыру үшін қажетті жолдың ең аз мильдік мөлшері деп те ойлауға болады. Линкольннің сот округі үшін ең қысқа саяхатшы саудагер маршруты мен минималды жайылым ағашы төменде көрсетілген. ) Белгілі болғандай, бұл жеңілдетілген есепті компьютер лезде шешеді. Минималды жайылым ағашы нақты есептің шешіміне тікелей апармаса да, ол бәрібір өте пайдалы. Біріншіден, еркін қайту мүмкіндігі бар жайылым ағашы барлық ережелерді сақтайтын нақты шешімнен ешқашан ұзын болмайды. Сондықтан, біз жеңілдетілген есепті — қиялды — шындықтың «төменгі шегі» ретінде пайдалана аламыз. Егер белгілі бір қалалар жиынтығы үшін жайылым ағашының қашықтығы 100 миль болса, саяхатшы саудагердің қашықтығы бұдан кем болмайтынына сенімді бола аламыз. Ал егер, айталық, 110 мильдік маршрут тапсақ, оның ең жақсы шешімнен 10%-дан аспайтынына көз жеткіземіз. Осылайша, біз нақты жауаптың қандай екенін білмесек те, оған қаншалықты жақын екенімізді түсіне аламыз.

- 1-сурет. Линкольннің 1855 жылғы сот округіне арналған ең қысқа саяхатшы саудагер маршруты (жоғарыда) және минималды жайылым ағашы (төменде).
Одан да маңыздысы, саяхатшы саудагер есебінде минималды жайылым ағашы нақты шешімді іздеуді бастау үшін ең жақсы нүктелердің бірі болып табылады. Мұндай тәсілдер тіпті елестетуге болатын ең үлкен саяхатшы саудагер есептерінің бірін — Жер бетіндегі әрбір қалаға баратын ең қысқа жолды табуды — (белгісіз) оңтайлы шешімнен 0,05%-дан аз айырмашылықпен шешуге мүмкіндік берді.
Көбіміз «Шектеулерді жеңілдетудің» ресми алгоритмдік нұсқасын кездестірмесек те, оның негізгі хабары өмірлік үлкен сұрақтар туралы армандайтын кез келген адамға таныс. «Егер қорықпасаңыз, не істер едіңіз? » — бұл мектеп психологының кабинетінде немесе мотивациялық семинарда естуге болатын мантра. «Егер сәтсіздікке ұшырамайтыныңызды білсеңіз, не істер едіңіз? » Сол сияқты, мамандық немесе мансап туралы ойланғанда: «Лоттерея ұтып алсаңыз, не істер едіңіз? » немесе «Егер барлық жұмыста бірдей жалақы төленсе, не істер едіңіз? » деген сұрақтар қоямыз. Мұндай ой жаттығуларының астарында дәл сол «Шектеулерді жеңілдету» идеясы жатыр: басқарылмайтынды басқарылатын ету, идеалды әлемде ілгерілеушілік жасап, содан кейін оны нақты әлемге бейімдеу. Егер алдыңызда тұрған есепті шеше алмасаңыз, оның оңайырақ нұсқасын шешіңіз — содан кейін сол шешім сізге нақты мәселеде бағдар немесе бастапқы нүкте ұсына алатынын байқап көріңіз. Мүмкін, солай болар.
Босаңсудың жасай алмайтын нәрсесі — мінсіз жауапқа кепілдендірілген қысқа жолды ұсыну. Бірақ компьютерлік ғылым босаңсу арқылы уақыт пен шешім сапасы арасындағы тепе-теңдікті де өлшей алады. Көп жағдайда бұл арақатынас таңқаларлық: мысалы, ең мінсіз шешімнен екі есе аз уақыттың квадриллионнан бір бөлігінде қол жеткізуге болады. Бұл хабар қарапайым, бірақ терең: егер біз «жеткілікті түрде жақын» шешімдерді қабылдауға дайын болсақ, тіпті ең күрделі мәселелерді де дұрыс әдістермен бағындыруға болады.
Уақытша шектеулерді алып тастау — минималды жайылым ағашы мен «лоттерея ұтып алсаңыз не болар еді? » мысалдарындағыдай — алгоритмдік босаңсудың ең айқын түрі. Бірақ оңтайландыру зерттеулерінде жиі кездесетін босаңсудың тағы екі нәзік түрі бар. Олар қаланы жоспарлаудан бастап ауруларды бақылауға және спорттық бәсекелестікті дамытуға дейінгі маңызды мәселелерді шешуде шешуші рөл атқарды.
Сұр түстің сансыз реңктері: Үздіксіз жеңілдету
Саяхатшы саудагер есебі — бұл «дискретті оңтайландыру» (Discrete Optimization — шешімдері тек бүтін мәндермен шектелген есеп) деп аталатын есептің ерекше түрі. Саудагер не мына қалаға, не ана қалаға барады; сіз не бесінші үстелдесіз, не алтыншы үстелдесіз. Олардың арасында сұр түстің реңктері жоқ.
Мұндай дискретті оңтайландыру есептері бізді жан-жақтан қоршап жатыр. Қалаларда, мысалы, жоспарлаушылар өрт сөндіру машиналарын кез келген үйге белгілі бір уақытта — айталық, бес минутта — жететіндей етіп орналастыруға тырысады. Математикалық тұрғыдан, әрбір өрт сөндіру машинасы оның орналасқан жерінен бес минуттық жердегі барлық үйлерді «қамтиды». Міндет — барлық үйлер қамтылатын минималды орындар жиынтығын табу. Висконсин-Мэдисон университетінің маманы Лаура Альберт Маклей: «Бүкіл өрт және төтенше жағдайлар саласы осы қамту моделін қабылдады және бұл өте жақсы», — дейді. Бірақ өрт сөндіру машинасы белгілі бір жерде не бар, не жоқ болғандықтан, бұл минималды жиынтықты есептеу дискретті оңтайландыруды қажет етеді. Маклей атап өткендей, «сіз жартысын былай, жартысын былай істей алмаған кезде көптеген есептер есептеу жағынан қиындай түседі».
Дискретті оңтайландырудың қиындығы әлеуметтік жағдайларда да байқалады. Елестетіп көріңізші, сіз барлық достарыңыз бен таныстарыңызға кеш ұйымдастырғыңыз келеді, бірақ көптеген шақыру қағаздары мен маркаларға ақша жұмсағыңыз келмейді. Оның орнына сіз бірнеше танымал достарыңызға шақыру жіберіп, оларға «біз танитынның бәрін ертіп кел» деп айтуды ұйғарасыз. Ең дұрысы, сіз достарыңыздың ішінен бүкіл ортаңызды танитын ең кіші топты тапқыңыз келеді — бұл сізге ең аз шақыру қағазын жіберіп, бәрінің келуін қамтамасыз етуге мүмкіндік береді. Әрине, бұл маркаға ақша үнемдеу үшін тым көп жұмыс сияқты көрінуі мүмкін, бірақ бұл саяси науқан менеджерлері мен корпоративтік маркетологтар өз хабарламаларын тиімді тарату үшін шешкісі келетін дәл сондай есеп. Сондай-ақ, бұл эпидемиологтардың қоғамды жұқпалы аурулардан қорғау үшін халықтың ең аз санын және нақты кімдерді вакцинациялау керектігін зерттейтін мәселесі.
Жоғарыда айтқанымыздай, дискретті оңтайландырудың бүтін сандарға (өрт сөндіру бөлімінде бір, екі немесе үш машина болуы мүмкін, бірақ екі жарым немесе π дана болуы мүмкін емес) тәуелділігі — оны шешуді қиындататын нәрсе. Шын мәнінде, өрт сөндіру машинасы мен шақыру қағазы есептерінің екеуі де басқарылмайтын есептер. Бірақ бұл есептердің кез келген бөлшек немесе ондық сан шешім бола алатын «үздіксіз» нұсқаларын шешудің бірқатар тиімді стратегиялары бар. Сондықтан «Үздіксіз жеңілдету» (Continuous Relaxation) әдісі арқылы дискретті есепті үздіксіз есепке айналдырып көруге болады.
Шақыру есебінде оны дискреттіден үздіксіз оңтайландыруға көшіру шешімнің бізге біреуге шақырудың төрттен бірін, ал екіншісіне үштен екісін жіберуді ұсынуы мүмкін дегенді білдіреді. Бұл нені білдіреді? Бұл бастапқы сұрақтың жауабы бола алмайтыны анық, бірақ минималды жайылым ағашы сияқты, ол бізге бастауға көмектеседі. Жеңілдетілген шешім қолда болған соң, біз бұл бөлшектерді шындыққа қалай айналдыруды шеше аламыз. Мысалы, біз оларды қажетінше бүтіндей аламыз — жеңілдетілген сценарийде «жарты шақыру» немесе одан көп алғандардың бәріне шақыру жібереміз. Сондай-ақ, біз бұл бөлшектерді ықтималдық ретінде түсіне аламыз — мысалы, жеңілдетілген шешім «жарты өрт сөндіру машинасын» қоюды ұсынатын әрбір жерде тиын тастап, егер ол «бүр» жағымен түссе ғана сол жерге машина қоямыз. Қалай болғанда да, бұл бөлшектер бүтін сандарға айналғанда, біз бастапқы дискретті есебіміздің контекстінде мағынасы бар шешімге ие боламыз.
Соңғы қадам — бұл шешімнің барлық мүмкін жауаптарды тексеру арқылы табылған нақты ең жақсы шешімнен қаншалықты айырмашылығы бар екенін сұрау. Шақыру есебі үшін дөңгелектеу арқылы жасалған Үздіксіз жеңілдету бізге жаман емес шешім береді: ол барлық адамды кешке шақыруды қамтамасыз ете отырып, ең оңтайлы шешімнен екі еседен аспайтын шақыру жіберетініне математикалық кепілдік беріледі. Сол сияқты, өрт сөндіру машинасы есебінде ықтималдықтармен Үздіксіз жеңілдету бізді оңтайлы жауаптың қолайлы шегіне тез жеткізе алады.
Үздіксіз жеңілдету — сиқырлы таяқша емес: ол әлі де бізге нақты оңтайлы жауаптарға жетудің тиімді жолын бермейді, тек олардың жуықталған нұсқаларын ұсынады. Бірақ оңтайлыдан екі есе көп хат жіберу немесе вакцинациялау — оңтайландырылмаған баламалардан әлдеқайда жақсы.
Жай ғана жылдамдықты асырғаны үшін айыппұл: Лагранж жеңілдетуі
Виззини: Ақылға сыймайды! (Inconceivable! ) Иниго Монтойя: Сен бұл сөзді үнемі қолданасың. Меіңше, ол сен ойлаған мағынаны білдірмейтін сияқты. — «ХАНШАЙЫМ-ҚАЛЫҢДЫҚ» (THE PRINCESS BRIDE)
Бірде бала Брайан анасына істеуі керек нәрселерінің көптігіне — үй тапсырмасы, үй жұмыстары — шағымданады. «Техникалық тұрғыдан алғанда, сен ештеңе істеуге міндетті емессің», — деп жауап береді анасы. «Сен мұғалімдердің айтқанын істеуге міндетті емессің. Менің айтқанымды істеуге міндетті емессің. Тіпті заңға бағынуға да міндетті емессің. Әр нәрсенің салдары болады және сен сол салдармен бетпе-бет келуді қалайтыныңды өзің шешесің».
Брайанның балалық санасы бұған таңғалды. Бұл өте күшті хабар еді, жауапкершілік пен моральдық талғам сезімін оятатын ой еді. Сондай-ақ, бұл тағы бір нәрсе — «Лагранж жеңілдетуі» (Lagrangian Relaxation) деп аталатын қуатты есептеу әдісі еді. Лагранж жеңілдетуінің идеясы қарапайым. Оңтайландыру есебі екі бөліктен тұрады: ережелер және ұпай жинау. Лагранж жеңілдетуінде біз есептің кейбір шектеулерін алып, оларды ұпай жинау жүйесінің ішіне қосамыз. Яғни, біз «мүмкін емес» нәрсені «қымбат» нәрсеге дейін төмендетеміз. (Мысалы, үйлену тойында қонақтарды отырғызуды оңтайландыру кезінде біз әр үстелге максимум он адам сыюы керек деген шектеуді жеңілдетіп, үстелді шамадан тыс толтыруға рұқсат бере аламыз, бірақ ол үшін «таршылық айыппұлын» енгіземіз. ) Оңтайландыру есебінің шектеулері «Мұны істе, әйтпесе! » десе, Лагранж жеңілдетуі «Әйтпесе не болады? » деп жауап береді. Шектеуден сәл болса да шығу мүмкін болған кезде — тіпті үлкен шығынмен болса да — бұрын басқарылмайтын болып көрінген есептер шешілетін болады.
Лагранж жеңілдетуі — саяхатшы саудагер есебі мен компьютерлік ғылымдағы басқа да қиын мәселелер туралы теориялық әдебиеттердің үлкен бөлігі. Олар сондай-ақ көптеген практикалық қолданбалар үшін маңызды құрал болып табылады. Мысалы, 3-тарауда айтылған, Жоғары лига бейсболы (MLB) мен NCAA конференцияларының кестесін жасауға жауапты Карнеги Меллон университетінің Майкл Тригін еске түсірейік. Біз оның мұны қалай жасайтынын айтпаған едік. Әр жылғы кестенің құрылымы — бұл кез келген компьютер тікелей іріктеу арқылы шеше алмайтын өте күрделі дискретті оңтайландыру есебі. Сондықтан жыл сайын Трик пен оның Sports Scheduling Group-тағы әріптестері жұмысты аяқтау үшін Лагранж жеңілдетуіне жүгінеді. Теледидарды қосқанда немесе стадионнан орын алғанда, сол командалардың сол алаңда, сол түнде кездесуі... міндетті түрде ең оңтайлы нұсқа болмауы мүмкін екенін біліңіз. Бірақ ол оған жақын. Бұл үшін біз Майкл Трикке ғана емес, он сегізінші ғасырдағы француз математигі Жозеф-Луи Лагранжға да алғыс айтуымыз керек.
Спорттық маусымның кестесін жасау кезінде Трик жоғарыда сипатталған Үздіксіз жеңілдетудің оның жұмысын жеңілдетпейтінін байқады. «Егер сізде ойындардың бөлшектері (жартылай ойындар) пайда болса, сіз ешқандай пайдалы нәрсе ала алмайсыз». Шақыру қағаздарын немесе өрт сөндіру машиналарын бөлуде сандарды дөңгелектеуге болады. Бірақ спортта бүтін сан шектеулері — қанша команда ойнайды, барлығы қанша ойын өткізіледі және әр команда бір-бірімен неше рет кездеседі — өте қатаң. «Сондықтан біз бұл бағытта босаңси алмаймыз. Біз модельдің негізгі [дискретті] бөлігін сақтауымыз керек».
Дегенмен, мәселенің орасан зор күрделілігімен күресу үшін бірдеңе істеу керек. Сондықтан «біз лигалармен олар қалайтын кейбір шектеулерді жеңілдету бойынша жұмыс істеуіміз керек», — деп түсіндіреді Трик. Спорттық маусымның кестесін жасауға кіретін мұндай шектеулердің саны өте көп және ол лиганың негізгі құрылымынан туындайтын талаптарды ғана емес, сонымен қатар барлық ерекше сұраныстар мен қауіптерді де қамтиды. Кейбір лигалар маусымның екінші жартысы бірінші жартысының айнадағы көрінісі болғанын (тек үй және қонақ ойындары ауысады) қалайды; басқа лигалар бұл құрылымды қаламайды, бірақ ешбір команда барлық басқа командалармен кем дегенде бір рет кездескенше екінші рет кездеспеуін талап етеді. Кейбір лигалар ең танымал бәсекелестіктерді маусымның соңғы ойынында өткізуді талап етеді. Кейбір командалар ареналарындағы басқа іс-шараларға байланысты белгілі бір күндері өз алаңында ойнай алмайды. NCAA баскетболы жағдайында Трик ойындарды көрсететін телеарналардың қосымша шектеулерін де ескеруі керек. Телеарналар бір жыл бұрын «А деңгейлі ойындар» мен «Б деңгейлі ойындар» — ең көп аудитория жинайтын ойындар — қандай болатынын анықтайды. (Мысалы, Duke пен UNC арасындағы ойын әрқашан А деңгейлі ойын болып саналады. ) Содан кейін арналар әр аптада бір А ойыны мен бір Б ойынын күтеді — бірақ көрермендер саны бөлініп кетпес үшін ешқашан бір уақытта екі А ойыны болмауы керек.
Осы талаптардың бәрін ескере отырып, Триктің спорттық кестені есептеуі көбінесе осы қатаң шектеулердің кейбірін «жұмсарту» (softening) арқылы ғана мүмкін болады.
Жалпы алғанда, адамдар бізге спорттық кестемен алғаш келгенде: «Біз ешқашан Х-ті жасамаймыз және ешқашан Y-ті жасамаймыз», — деп мәлімдейді. Содан кейін біз олардың кестелеріне қарап: «Өткен жылы сіз Х-ті екі рет, ал Y-ті үш рет жасапсыз», — дейміз. Сонда олар: «А, иә, жақсы. Одан басқа біз оны ешқашан істемейміз», — дейді. Содан кейін біз оның алдындағы жылға ораламыз... Біз әдетте адамдар ешқашан жасамаймыз деп ойлайтын кейбір нәрселерді іс жүзінде жасайтынын түсінеміз. Бейсболда адамдар Yankees пен Mets ешқашан бір уақытта өз алаңдарында болмайды деп сенеді. Және бұл шындық емес. Ол ешқашан шындық болған емес. Олар жылына үш немесе алты ойында бір күнде өз алаңдарында болады. Бірақ жалпы маусымда, әр команда үшін өз алаңындағы сексен бір ойынның ішінде бұл сирек кездесетіндіктен, адамдар оны ұмытып кетеді.
Кейде бұл дипломатиялық нәзіктікті талап етеді, бірақ Лагранж релаксациясы (кейбір мүмкін емес жағдайларды айыппұлдарға, ал ақылға сыйымсыз нәрселерді жағымсыз жағдайларға теңестіру әдісі) алға жылжуға мүмкіндік береді. Трик айтқандай, қол жетпес мінсіз жауапты іздеп ғасырлар бойы уақыт кетіргенше, Лагранж релаксациясын қолдану оған: «Бұған қаншалықты жақындай аласыз? » — деген сұрақ қоюға мүмкіндік береді. Нәтижесінде, бұл шешім лиганы да, мектептерді де, телеарналарды да қанағаттандырып, жыл сайын «Наурыз есірігі» (March Madness) жарысының отын жағуға жеткілікті болып шықты.
Босаңсуды үйрену
Есептеуіш сұрақтардың бізге ұсынылатын әртүрлі жолдарының ішінде оптимизациялық есептер (бір бөлігі мақсаттардан, бір бөлігі ережелерден тұратын есептер) ең жиі кездесетіні болып табылады. Олардың ішінде ең типтісі — дискретті оптимизация (таңдау мүмкіндіктері аралық нұсқасыз, тек «иә» немесе «жоқ» деген қатаң таңдаудан тұратын есептер). Бұл жерде компьютерлік ғылым көңіл көншітпейтін үкім шығарады: көптеген дискретті оптимизациялық есептер өте қиын. Саланың ең жарық ақылдары мінсіз жауаптарға апаратын оңай жолды табудың барлық әрекеттерінен түк шығара алмады, тіпті соңғы кездері мұндай жолдардың мүлдем жоқ екенін дәлелдеуге көбірек күш салуда.
Егер біз шешілмейтіндей көрінетін күрделі, тікенді, өтпес мәселеге тап болсақ, бұл біздің қателеспегенімізді білдіреді. Компьютердің болуы міндетті түрде көмектесе бермейді.
Кем дегенде, босаңсуды үйренбесек, көмектеспейді.
Есепті «босаңсытудың» (релаксация) көптеген жолдары бар, біз олардың ең маңызды үшеуін көрдік. Біріншісі, Шектеулерді босату , кейбір шектеулерді мүлдем алып тастап, шындыққа оралмас бұрын есептің еркін формасында ілгерілеуге мүмкіндік береді. Екіншісі, Үздіксіз релаксация , дискретті немесе екілік таңдауларды үздіксіздікке айналдырады: мысалы, мұздатылған шай мен лимонад арасында таңдау жасағанда, алдымен 50-де 50 «Арнольд Палмер» қоспасын елестетіп, содан кейін оны жоғары немесе төмен қарай дөңгелектеңіз. Үшіншісі, Лагранж релаксациясы , мүмкін емес нәрселерді жай ғана айыппұлдарға айналдырып, ережелерді иілу (немесе оларды бұзып, салдарымен келісу) өнерін үйретеді. Мысалы, шектеулі уақытқа қандай әндерді сыйғызуды шешетін рок-топ компьютерлік ғалымдар «дорба туралы есеп» (шектеулі көлемге әртүрлі салмақтағы және құндылықтағы заттардың ең тиімді жиынтығын сыйғызу алгоритмі) деп атайтын мәселеге тап болады. Қатаң тұжырымдамада бұл есеп өте қиын шешіледі, бірақ бұл біздің «босаңсыған» рок-жұлдыздарымызды тоқтатпауы керек. Кейбір танымал мысалдар көрсеткендей, кейде шоуды бөлінген уақытпен шектегенше, қалалық коменданттық сағаттан сәл асырып ойнап, тиісті айыппұлдарды төлеген тиімдірек. Шын мәнінде, тіпті ереже бұзбасаңыз да, оны елестетудің өзі мәселені түсінуге көмектеседі.
Консервативті британдық шолушы Кристофер Букер: «Біз бейсаналы түрде тәтті қиялға беріліп іске кіріскенде, бәрі біраз уақыт жақсы болып көрінуі мүмкін», — дейді. Бірақ «бұл ойдан шығарылған нәрсе ешқашан шындықпен үйлеспейтіндіктен», ол міндетті түрде кезең-кезеңімен күйреуге: «арман», «көңіл қалу», «қорқынышты түс», «жарылысқа» әкеледі. Компьютерлік ғылым бұған әлдеқайда жарқын көзқараспен қарайды. Оптимизация әдісі ретінде релаксация — бұл саналы түрде тәтті қиялға жетелеу. Бәлкім, айырмашылық осында болар.
Релаксация бізге бірнеше артықшылық береді. Біріншіден, олар шынайы шешімнің сапасына шек қояды. Егер біз күнтізбемізді толтыруға тырыссақ, қала ішінде сиқырлы түрде телепортация жасай аламыз деп елестету арқылы, бір күнге ең көбі сегіз бір сағаттық кездесуді сыйғыза алатынымыз бірден белгілі болады; мұндай шектеу негізгі мәселеге кіріспес бұрын үміттерді реттеуге пайдалы болуы мүмкін. Екіншіден, релаксациялар шындықпен үйлесетіндей етіп жасалған — бұл бізге шешімнің екінші жағынан шекарасын береді. Үздіксіз релаксация бізге вакциналарды бөлшектеп үлестіруді ұсынғанда, біз жай ғана жарты немесе одан көп вакцина алуы тиіс адамдардың бәрін егіп, мінсіз әлеммен салыстырғанда ең жаман жағдайда екі есе көп егуді қажет ететін, оңай есептелетін шешім аламыз. Мүмкін, біз бұған келісе алатын шығармыз.
Әрбір кедергіге тап болған сайын мінсіздікке ұмтылып, ғасырлар жұмсағымыз келмесе, қиын есептер бізден босқа тер төкпей, оңайырақ нұсқаларды елестетіп, соларды бірінші шешуді талап етеді. Дұрыс қолданылғанда, бұл жай ғана құр қиял немесе бос арман емес. Бұл — ілгерілеудің ең жақсы жолдарының бірі.
*Сұрыптау контекстінде O(n2) өте жағымсыз көрінгенімен, мұнда оны «тиімді» деп атау біртүрлі көрінуі мүмкін. Бірақ шындығында, тіпті O(2n) сияқты шағын негізгі саны бар экспоненциалды уақыт (есептің көлемі өскен сайын шешім уақыты өте жылдам, еселеп өсетін алгоритм), n10 сияқты үлкен негізі бар полиномдық уақытпен (шешім уақыты есеп көлемінің дәрежесіне қарай өсетін алгоритм) салыстырғанда тез арада тозаққа айналады. Көрсеткіш кез келген полиномнан белгілі бір көлемде басып озады — бұл жағдайда, егер сіз бірнеше ондаған заттарды сұрыптап жатсаңыз, n10 көрсеткіші 2n-мен салыстырғанда жай ғана серуендеу сияқты болып қалады. Кобэм мен Эдмондстың жұмысынан бері «полиномдар» (n-нің бір дәрежесі) мен «экспоненттер» (бір санның n-ші дәрежесі) арасындағы бұл алшақтық саланың ресми шекарасы болып табылады.
9 Кездейсоқтық
Қашан кездейсоқтыққа сену керек?
Мен бұл салада көп жыл жұмыс істегеннен кейін, көптеген алгоритмдік есептердегі кездейсоқтықтың тиімділігі мен үшін әлі де жұмбақ екенін мойындауым керек. Ол тиімді, ол жұмыс істейді; бірақ неге және қалай екені — мүлдем жұмбақ. — МАЙКЛ РАБИН
Кездейсоқтық санаға қарама-қайшы сияқты көрінеді — бұл мәселеден бас тарту, соңғы амал сияқты. Бірақ бұлай емес. Компьютерлік ғылымдағы кездейсоқтықтың таңқаларлық әрі барған сайын артып келе жатқан рөлі бізге сәттілікті пайдалану ең қиын есептерді шешудің саналы және тиімді бөлігі бола алатынын көрсетеді. Шын мәнінде, кейде кездейсоқтықтан басқа ештеңе көмектеспейтін кездер де болады.
Біз әдетте компьютерлер қолданады деп елестететін стандартты «детерминистік» алгоритмдерден (әр қадамы әр жолы дәл солай қайталанатын) айырмашылығы, рандомизацияланған алгоритм (мәселені шешу үшін кездейсоқ сандарды қолданатын алгоритм) мәселені шешу үшін кездейсоқ сандарды пайдаланады. Компьютерлік ғылымдағы соңғы жұмыстар көрсеткендей, кездейсоқ алгоритмдер қиын сұрақтарға барлық белгілі детерминистік алгоритмдерге қарағанда жылдамырақ жақсы жуықталған жауаптар бере алатын жағдайлар бар. Олар әрқашан оңтайлы шешімдерге кепілдік бермесе де, рандомизацияланған алгоритмдер оларға өте аз уақыт ішінде таңқаларлықтай жақындай алады. Олардың детерминистік «туыстары» тер төгіп жатқанда, бұлар стратегиялық түрде бірнеше тиын лақтыру арқылы нәтижеге жетеді.
Белгілі бір есептерде кездейсоқ тәсілдердің тіпті ең жақсы детерминистік тәсілдерден де асып түсетінінде терең мағына жатыр. Кейде мәселенің ең жақсы шешімі — жауапты толық логикалық түрде шығаруға тырысқанша, сәттілікке жүгіну.
Бірақ кездейсоқтықтың пайдалы болатынын білу ғана жеткіліксіз. Сәттілікке қашан, қалай және қаншалықты сену керектігін білуіңіз керек. Компьютерлік ғылымның жаңа тарихы кейбір жауаптарды береді, дегенмен бұл оқиға бірнеше ғасыр бұрын басталған.
Самплинг
1777 жылы Бюффон графы Джордж-Луи Леклерк қызықты ықтималдық талдауының нәтижелерін жариялады. Ол: «Егер біз иені сызылған қағазға тастасақ, оның сызықтардың бірін кесіп өту ықтималдығы қандай? » — деп сұрады. Бюффонның жұмысы көрсеткендей, егер ине сызықтар арасындағы алшақтықтан қысқа болса, жауап ине ұзындығының алшақтық ұзындығына бөліндісінің 2⁄π есесіне тең болады. Бюффон үшін бұл формуланы шығару жеткілікті еді. Бірақ 1812 жылы Пьер-Симон Лаплас бұл нәтиженің тағы бір салдары бар екенін көрсетті: тек қағазға ине тастау арқылы π мәнін бағалауға болады.
Лапластың ұсынысы терең жалпы шындыққа нұсқады: күрделі шама туралы бірдеңе білгіміз келсе, оның мәнін самплинг (үлкен жиынтықтың сипатын оның кішігірім таңдамалы бөлігін зерттеу арқылы анықтау) арқылы бағалай аламыз. Бұл дәл оның Байес ережесі бойынша жұмысы орындауға көмектесетін есептеу түрі. Шын мәнінде, Лапластың ұсынысынан кейін бірнеше адам ол ұсынған экспериментті жүзеге асырып, π мәнін осылайша бағалауға болатынын растады (бірақ бұл әдіс аса тиімді емес).
Сызылған қағазға мыңдаған инелерді лақтыру (кейбіреулер үшін) қызықты ермек болуы мүмкін, бірақ самплингті практикалық әдіске айналдыру үшін компьютердің дамуы қажет болды. Бұрын математиктер мен физиктер есептерді шешу үшін кездейсоқтықты пайдалануға тырысқанда, олардың есептеулері қолмен мұқият орындалуы керек еді, сондықтан дәл нәтиже алу үшін жеткілікті үлгілерді (samples) жасау қиын болды. Компьютерлер, әсіресе Екінші дүниежүзілік соғыс кезінде Лос-Аламоста жасалған компьютер, бәрін өзгертті.
Станислав «Стэн» Улам атом бомбасын жасауға көмектескен математиктердің бірі болды. Польшада өскен ол 1939 жылы АҚШ-қа көшіп, 1943 жылы Манхэттен жобасына қосылды. Академияға қысқа мерзімге оралғаннан кейін, ол 1946 жылы Лос-Аламосқа қайта келіп, термоядролық қарудың дизайнымен жұмыс істеді. Сонымен қатар ол ауырып қалды — оған энцефалит диагнозы қойылып, шұғыл ми операциясын жасады. Сауығып жатқанда, ол өзінің математикалық қабілеттерін қайтара алатынына алаңдады.
Сауығу кезінде Улам көп карта ойнады, әсіресе пасьянс («Клондайк»). Кез келген пасьянс ойыншысы білетіндей, колоданы кейбір араластырулар жеңу мүмкін емес ойындарды тудырады. Сонымен, Улам ойнап отырып, өзіне табиғи сұрақ қойды: араластырылған колоданың жеңіске жететін ойын беретін ықтималдығы қандай?
Пасьянс сияқты ойында мүмкіндіктер кеңістігі арқылы ой жүгірту лезде тым күрделі болып кетеді. Бірінші картаны ашыңыз, сонда қадағалап отыру керек елу екі мүмкін ойын болады; екіншісін ашыңыз, әрбір бірінші карта үшін елу бір мүмкіндік болады. Бұл дегеніміз, біз ойынды бастамай жатып-ақ мыңдаған мүмкін ойындарға тап боламыз. Ф. Скотт Фицджеральд бірде: «Бірінші дәрежелі интеллекттің сынағы — бір уақытта екі қарама-қайшы идеяны ойда ұстап, сонда да жұмыс істеу қабілетін сақтау», — деп жазған. Бұл шындық болуы мүмкін, бірақ ешқандай бірінші дәрежелі интеллект, адам болсын, басқа болсын, ойында колоданың сексен унвигинтиллион (10^66) мүмкін ретін ұстап, жұмыс істеуден үміт үзе алмайды.
Осындай күрделі комбинаторлық есептеулерді жасап көріп, одан бас тартқаннан кейін, Улам өзінің қарапайымдылығымен тамаша басқа тәсілге тоқтады: жай ғана ойынды ойнау.
«Мен комбинаторлық мүмкіндіктерді есептеуге тырысқаннан көрі (олар экспоненциалды түрде өсетіні сонша, өте қарапайым жағдайларды қоспағанда, оны бағалау мүмкін емес), карталарды жайып тастап немесе процесспен эксперимент жасап, қаншалықты сәтті шығатынын байқау әлдеқайда практикалық екенін түсіндім. Бұл зияткерлік тұрғыдан таңқаларлық, тіпті қорлау болмаса да, адамға рационалды немесе дәстүрлі ойлаудың шектеулері туралы қарапайымдылық сезімін береді. Жеткілікті күрделі мәселеде нақты самплинг (таңдама жасау) барлық мүмкіндіктер тізбегін тексеруден жақсырақ».
Ол «жақсырақ» деп айтқанда, самплинг сізге толық талдаудан гөрі дәлірек жауаптар береді дегенді білдірмейді: самплинг процесімен байланысты әрқашан қандай да бір қателік болады, бірақ сіз үлгілеріңіздің шынымен кездейсоқ болуын қамтамасыз ету және оларды көбірек алу арқылы бұл қатені азайта аласыз. Оның айтқысы келгені — самплинг жақсырақ, өйткені ол басқа ештеңе көмектеспейтін жағдайларда сізге жауап береді.
Уламның түсінігі — самплинг талдау сәтсіздікке ұшыраған жерде жеңіске жете алатыны — Лос-Аламоста туындаған кейбір қиын ядролық физика мәселелерін шешуде де шешуші болды. Ядролық реакция — бұл тармақталу процесі, мұнда мүмкіндіктер картадағы сияқты тез көбейеді: бір бөлшек екіге бөлінеді, олардың әрқайсысы басқаларын соғуы мүмкін, бұл олардың өз кезегінде бөлінуіне әкеледі және т. с. с. Көптеген бөлшектердің өзара әрекеттесуі кезінде осы процестің белгілі бір нәтижесінің ықтималдығын дәл есептеу мүмкін еместің қасы. Бірақ оны модельдеу, әрбір әрекеттесу жаңа картаны ашу сияқты болып, балама ұсынады.
Улам бұл идеяны Джон фон Нейманмен әрі қарай дамытты және Манхэттен жобасының тағы бір физигі Николас Метрополиспен Лос-Аламос компьютерінде әдісті енгізу бойынша жұмыс істеді. Метрополис бұл тәсілді — толық ықтималдық есептеулерін таңдамалы модельдеумен ауыстыруды — Монте-Карло әдісі (кездейсоқ сандарды қолдану арқылы математикалық есептерді шешу тәсілі) деп атады. Бұл атау Монакодағы Монте-Карло казиносының құрметіне қойылған, бұл жер де кездейсоқтыққа толы. Лос-Аламос командасы оны ядролық физиканың негізгі мәселелерін шешу үшін пайдалана алды. Бүгінде Монте-Карло әдісі ғылыми есептеулердің негізгі тіректерінің бірі болып табылады.
Субатомдық бөлшектердің өзара әрекеттесуін немесе пасьянста жеңіске жету мүмкіндігін есептеу сияқты бұл мәселелердің көбі өздері ықтималды сипатқа ие, сондықтан оларды Монте-Карло сияқты кездейсоқ тәсілмен шешу қисынды. Бірақ, кездейсоқтықтың күші туралы ең таңқаларлық жаңалық — оны кездейсоқтық мүлдем рөл атқармайтын сияқты көрінетін жағдайларда да қолдануға болатыны. Тіпті егер сіз сұраққа «иә» немесе «жоқ», «ақиқат» немесе «жалған» деген нақты жауап алғыңыз келсе де — мұнда ешқандай ықтималдық жоқ — бірнеше сүйекті (dice) лақтыру шешімнің бір бөлігі болуы мүмкін.
Рандомизацияланған алгоритмдер
Компьютерлік ғылымда кездейсоқтықтың таңқаларлықтай кең қолданысын алғаш рет көрсеткен адам Майкл Рабин болды. 1931 жылы Германияның Бреслау қаласында туған Рабин раввиндер әулетінен шыққан. Оның отбасы 1935 жылы Германиядан Палестинаға қоныс аударды, онда ол әкесі жоспарлаған раввиндік жолдан математиканың сұлулығына байланысты ауытқып кетті. Ол Еврей университетінде оқып жүргенде Алан Тюрингтің еңбектерімен танысып, Принстонға PhD дәрежесін алу үшін АҚШ-қа көшті. Рабин теориялық компьютерлік ғылымды «детерминистік емес» жағдайларға (машина бір нұсқаны ғана емес, бірнеше жолды таңдай алатын жағдайлар) кеңейткені үшін Тюринг сыйлығын алды. 1975 жылы демалыс кезінде (sabbatical) Рабин жаңа зерттеу бағытын іздеп MIT-ке келді.
Ол зерттеу бағытын ең ескі мәселелердің бірінен тапты: <span data-term="true"> жай сандарды </span> (тек өзіне және бірге бөлінетін сандар) қалай анықтауға болады?
Жай сандарды табуға арналған алгоритмдер кем дегенде көне Грекиядан бастау алады, онда математиктер «Эратосфен елегі» (берілген санға дейінгі барлық жай сандарды табудың ежелгі тәсілі) деп аталатын қарапайым тәсілді қолданған. Эратосфен елегі былай жұмыс істейді: n -нен кіші барлық жай сандарды табу үшін алдымен 1-ден n -ге дейінгі барлық сандарды ретімен жазып шығыңыз. Содан кейін 2-ден басқа 2-ге еселік барлық сандарды (4, 6, 8, 10, 12 және т. б. ) сызып тастаңыз. Келесі сызылмаған ең кіші санды (бұл жағдайда 3) алыңыз да, сол санға еселік барлық сандарды (6, 9, 12, 15) сызып тастаңыз. Осылай жалғастыра беріңіз, соңында қалған сандар жай сандар болады.
Мыңдаған жылдар бойы жай сандарды зерттеу Г. Х. Харди айтқандай, математиканың «ең пайдасыз салаларының бірі» болып саналды. Бірақ жиырмасыншы ғасырда ол криптография мен онлайн қауіпсіздікте шешуші рөл атқарып, практикалық қолданысқа ие болды. Белгілі болғандай, жай сандарды бір-біріне көбейту, оларды қайтадан көбейткіштерге жіктеуге қарағанда әлдеқайда оңай. Жеткілікті үлкен жай сандармен (мысалы, мың таңбалы) көбейту секундтың бір бөлігінде орындалуы мүмкін, ал жіктеу (факторизация) миллиондаған жылдарды алуы мүмкін; бұл «біржақты функция» (бір бағытта есептеу оңай, бірақ кері қайтару өте қиын математикалық функция) ретінде белгілі. Мысалы, заманауи шифрлауда тек жіберуші мен алушыға ғана белгілі құпия жай сандар бір-біріне көбейтіліп, көпшілікке ашық жіберілетін үлкен құрама сандар жасалады, өйткені бұл санды жіктеу кез келген тыңдаушы үшін тым көп уақыт алады. Осылайша, интернеттегі барлық дерлік қауіпсіз байланыс — мейлі ол сауда, банкинг немесе электрондық пошта болсын — жай сандарды іздеуден басталады.
Бұл криптографиялық қолданыс жай сандарды табу және тексеру алгоритмдерін кенеттен өте маңызды етіп жіберді. Эратосфен елегі тиімді болғанымен, ол өнімді емес. Егер сіз белгілі бір санның жай екенін тексергіңіз келсе (бұл оның «жайлылығын» сынау деп аталады), онда елек стратегиясы бойынша оны квадрат түбіріне дейінгі барлық жай сандарға бөліп көру керек. Алты таңбалы санның жай екенін тексеру үшін 1000-нан кіші барлық 168 жай санға бөлу керек — бұл онша қиын емес. Бірақ он екі таңбалы санды тексеру үшін 1 миллионнан кіші 78 498 жай санға бөлу керек, ал бұл бөлу процесі тез арада бақылаудан шығып кетеді. Қазіргі криптографияда қолданылатын жай сандар жүздеген таңбадан тұрады; бұл туралы ұмыта берсеңіз де болады.
MIT-те Рабин Берклидегі компьютерлік ғылымдар факультетінің жас түлегі Гэри Миллерді кездестірді. Өзінің PhD диссертациясында Миллер жай сандықты тексеруге арналған өте жылдам әрі перспективалы алгоритмді жасап шығарған еді, бірақ бір кішкентай мәселе болды: ол әрдайым жұмыс істемейтін.
Миллер екі сан ( n және x ) арқылы өрнектелген теңдеулер жиынтығын тапты, олар n жай сан болса, x -тің қандай мәнін қойсаңыз да әрқашан ақиқат болады. Егер олар тіпті x -тің бір мәні үшін жалған болып шықса, онда n -нің жай сан болуы мүмкін емес — мұндай жағдайда x жай санға қарсы «куәгер» (witness) деп аталады. Бірақ мәселе «жалған оң нәтижелерде» (false positives) еді: тіпті n жай сан болмаса да, теңдеулер кейде бәрібір ақиқат болып шығатын. Бұл Миллердің тәсілін аяқсыз қалдырғандай көрінді.
Рабин бұл жағдайда компьютерлік ғылымның детерминистік әлемінен тыс қадам жасау құнды болуы мүмкін екенін түсінді. Егер n саны шын мәнінде жай сан болмаса, x -тің қанша мүмкін мәні жалған оң нәтиже беріп, оны жай сан деп жариялайды? Рабин көрсеткендей, бұл төрттен бір бөліктен аспайды. Сонымен, x -тің кездейсоқ мәні үшін, егер Миллердің теңдеулері ақиқат болып шықса, n -нің шын мәнінде жай сан болмау ықтималдығы тек төрттен бір ғана. Ең бастысы, біз әр жолы жаңа кездейсоқ x -ті таңдап, Миллердің теңдеулерін тексерген сайын, n -нің жай сан болып көрінгенімен, іс жүзінде олай болмау ықтималдығы тағы төрт есеге төмендейді. Процедураны он рет қайталаңыз, сонда жалған оң нәтиже алу ықтималдығы төрттің оныншы дәрежесіне бір болады — миллионнан бірден аз. Әлі де сенімсізсіз бе? Тағы бес рет тексеріңіз, сонда бұл ықтималдық миллиардтан бірге дейін төмендейді.
MIT-тің тағы бір компьютерлік ғалымы Воан Пратт Рабиннің алгоритмін іске қосып, бір қысқы түнде Рабин үйде достарымен Ханука мерекесін тойлап жатқанда алғашқы нәтижелерді ала бастады. Рабин түн ортасында қоңырау шалғанын есіне алады: «Майкл, бұл Воан. Мен бұл эксперименттердің нәтижелерін алып жатырмын. Қарындаш пен қағаз алып, мынаны жазып ал». Сонымен, ол 2^400−593 санының жай сан екенін анықтады. 300-ден кіші барлық p жай сандарының көбейтіндісін k деп белгілейік. Сонда k × 3^38 + 821 және k × 3^38 + 823 сандары «егіз жай сандар» болып табылады. Олар сол кездегі белгілі болған ең үлкен егіз жай сандар еді. Менің төбемдегі шашым тік тұрды. Бұл сенгісіз еді. Жай ғана керемет болды.
Қазіргі уақытта «Миллер-Рабин жай сандық тесті» деп аталатын бұл әдіс тіпті алып жай сандарды да кез келген дәрежедегі сенімділікпен тез анықтауға мүмкіндік береді.
Мұнда біз философиялық сұрақ қоя аламыз. Біз математиканы нақтылық саласы деп үйреніп қалғанбыз, сондықтан бір санның «мүмкін жай сан» немесе «шамамен жай сан» болуы мүмкін екендігі туралы ойлау біртүрлі көрінеді. Қаншалықты сенімділік жеткілікті? Іс жүзінде, интернет байланыстарын және цифрлық транзакцияларды шифрлайтын заманауи криптографиялық жүйелер жалған оң нәтиже ықтималдығы миллион миллиард миллиардтан бірден аз болатындай етіп реттелген. Басқаша айтқанда, бұл нөлден кейін жиырма төрт нөл келетін ондық бөлшек — бұл Жер бетіндегі құм түйіршіктерінің санынан да аз қателік ықтималдығы. Бұл стандарт Миллер-Рабин тестін небәрі қырық рет қолданғаннан кейін жүзеге асады. Сіз ешқашан толық сенімді болмайтыныңыз рас — бірақ сіз өте тез арада өте жақын нәтижеге қол жеткізе аласыз.
Сіз Миллер-Рабин тесті туралы ешқашан естімеген боларсыз, бірақ ноутбугіңіз, планшетіңіз бен телефоныңыз оны жақсы біледі. Ашылғанына бірнеше онжылдық өтсе де, ол әлі күнге дейін көптеген салаларда жай сандарды (тек өзіне және бірге бөлінетін сандар) табу мен тексерудің стандартты әдісі болып қала береді. Интернетте несие картасын пайдаланған сайын немесе сымсыз желілер мен сымдар арқылы қауіпсіз байланыс орнатылғанда, ол «сахна сыртында» жұмыс істеп тұрады.
Миллер мен Рабиннің жұмысынан кейін ондаған жылдар бойы жай сандарды детерминистік (әр қадамы нақты анықталған және нәтижесіне толық кепілдік беретін) түрде, абсолютті сенімділікпен тексеруге мүмкіндік беретін тиімді алгоритмнің табылар-табылбасы белгісіз болды. 2002 жылы Үнді технологиялық институтында Маниндра Агравал, Нирадж Кайал және Нитин Саксена осындай әдісті тапты — бірақ Миллер-Рабин сияқты рандомизацияланған алгоритмдер (жұмыс барысында кездейсоқ сандарды қолданатын алгоритмдер) әлдеқайда жылдам, сондықтан бүгінгі тәжірибеде әлі де солар қолданылады.
Ал кейбір басқа есептер үшін кездейсоқтық әлі күнге дейін тиімді шешімге баратын жалғыз жол болып табылады. Математикадағы қызықты мысалдардың бірі — көпмүшелердің тепе-теңдігін тексеру (екі математикалық өрнектің бір-біріне тең екенін анықтау). Егер сізде 2x³ + 13x² + 22x + 8 және (2x + 1) × (x + 2) × (x + 4) сияқты екі көпмүшелік өрнек болса, олардың іс жүзінде бірдей функция екенін анықтау үшін барлық көбейту амалдарын орындап, нәтижелерді салыстыру өте көп уақытты алуы мүмкін, әсіресе айнымалылар саны көбейген сайын.
Бұл жерде де кездейсоқтық шешім ұсынады: жай ғана бірнеше кездейсоқ x мәндерін жасап, оларды өрнектерге қойыңыз. Егер екі өрнек бірдей болмаса, олардың кездейсоқ алынған дерек үшін бірдей жауап беруі үлкен кездейсоқтық болар еді. Ал екінші кездейсоқ мән үшін де бірдей жауап берсе, бұл тіпті ақылға сыйымсыз сәйкестік. Егер олар қатарынан үш кездейсоқ мән үшін де солай жасаса, күмән қалмайды. Көпмүшенің тепе-теңдігін тиімді тексеретін ешқандай детерминистік алгоритм белгісіз болғандықтан, бұл рандомизацияланған әдіс — бірнеше бақылау арқылы тез арада нақтылыққа жақындау — біздегі жалғыз практикалық жол болып табылады.
Сэмплингті мадақтау
Көпмүшенің тепе-теңдігін тексеру тесті кейде күш-жігерімізді өрнектердің ішкі жұмысын тарқатуға емес, кездейсоқ мәндерді тексеруге — біз білгіміз келетін екі өрнектен сэмпл (жалпы жиынтықтан іріктеп алынған шағын мәлімет) алуға жұмсаған дұрыс екенін көрсетеді. Белгілі бір дәрежеде бұл интуитивті болып көрінеді. Егер бізге екі бірдей гаджет беріп, олардың екі түрлі құрылғы ма, әлде бір құрылғының екі көшірмесі ме екенін сұраса, көбіміз сымдарын тексеру үшін корпусын ашқаннан көрі, кездейсоқ түймелерін баса бастаймыз. Сонымен қатар, фильмдегі есірткі лорды бүкіл тауардың сапасына көз жеткізу үшін бірнеше буманы кездейсоқ пышақпен тіліп тексергенде де таңғалмаймыз.
Дегенмен, біз кездейсоқтыққа жүгінбейтін жағдайлар бар, бірақ, бәлкім, жүгінуіміз керек шығар.
Жиырмасыншы ғасырдың ең маңызды саяси философы Гарвардтық Джон Роулз болды, ол өз алдына саласындағы екі қарама-қайшы идеяны: бостандық пен теңдікті татуластыру сияқты өршіл міндет қойды. Қоғам еркін болғанда әділетті ме, әлде тең болғанда ма? Бұл екеуі шынымен де бірін-бірі жоққа шығаруы керек пе? Роулз бұл сұрақтарға «бейхабарлық пердесі» деп аталатын тәсілді ұсынды. Елестетіп көріңіз, дейді ол, сіз жақында дүниеге келесіз, бірақ кім болып туатыныңызды білмейсіз: еркек пе, әлде әйел ме, бай ма, әлде кедей ме, қалалық па, әлде ауылдық па, ауру ма, әлде дені сау ма. Өз мәртебеңізді білмес бұрын, сіз қандай қоғамда өмір сүргіңіз келетінін таңдауыңыз керек. Не қалар едіңіз? Түрлі әлеуметтік құрылымдарды «бейхабарлық пердесінің» артынан бағалау арқылы, біз мінсіз қоғамның қандай болатыны туралы ортақ мәмілеге оңайырақ келер едік, — деп есептеді Роулз.
Алайда, Роулздың бұл ойлау экспериментінде ескерілмеген нәрсе — мұндай перде артынан қоғамды түсінудің есептеу шығыны. Осы гипотетикалық сценарийде біз барлық тиісті ақпаратты басымызда қалай ұстай аламыз? Әділеттілік пен адалдықтың үлкен сұрақтарын бір сәтке жиып қойып, Роулздың тәсілін, айталық, медициналық сақтандыру ережелеріне ұсынылған өзгеріске қолданып көрейік. Орта батыстағы қалалық клерк болып өсетін адам болып туылу ықтималдығын алыңыз; оны Орта батыстағы түрлі муниципалитеттердегі мемлекеттік қызметкерлерге қолжетімді медициналық жоспарлардың үлесіне көбейтіңіз; оны, мысалы, жіліншік сүйегінің сыну ықтималдығын көрсететін актуарлық деректерге көбейтіңіз; оны сақтандыру жоспарларының таралуын ескере отырып, Орта батыс ауруханасында жіліншікті емдеудің орташа медициналық шотына көбейтіңіз... Сонымен, ұсынылған сақтандыру реформасы ұлт үшін «жақсы» ма, әлде «жаман» ба? Біз жүздеген миллион адамның өмірін былай қойғанда, бір жарақат алған сирақтың өзін осылай бағалай алмаймыз.
Роулздың сыншы-философтары «бейхабарлық пердесінен» алынған ақпаратты нақты қалай пайдалану керектігі туралы ұзақ таласты. Мысалы, біз орташа бақытты, медианалық бақытты, жалпы бақытты немесе басқа нәрсені барынша арттыруға тырысуымыз керек пе? Бұл тәсілдердің әрқайсысы қауіпті дистопияларға — мысалы, жазушы Урсула К. Ле Гуин суреттеген Омелас өркениетіне жол ашады, онда гүлдену мен үйлесімділік орнаған, бірақ бір бала аянышты жағдайда өмір сүруге мәжбүр. Бұлар орынды сындар, сондықтан Роулз перде артынан алған ақпаратпен не істеу керектігі туралы сұрақты ашық қалдыру арқылы олардан әдейі қашады. Бірақ, бәлкім, ең басты сұрақ — сол ақпаратты бірінші кезекте қалай жинау керек?
Жауап компьютерлік ғылымнан келуі мүмкін. MIT профессоры Скотт Ааронсон компьютерлік ғалымдардың философияға әлі де көп ықпал етпегеніне таңғалатынын айтады. Оның себебі, ол ойлағандай, «олардың философияның концептуалды арсеналына не қоса алатынын жеткізе алмауында». Ол былай деп түсіндіреді:
Егер бір нәрсенің есептелетінін білсек, оны есептеуге 10 секунд па, әлде 20 секунд па кететіні философтардан көрі инженерлерді көбірек толғандырады деп ойлауға болады. Бірақ мәселе 10 секунд пен 10¹⁰¹⁰ секунд арасында болса, бұл тұжырым соншалықты айқын болмас еді! Шынында да, күрделілік теориясында біз мән беретін сандық алшақтықтар соншалықты кең, сондықтан оларды сапалық алшақтықтар ретінде де қарастыруға тура келеді. Мысалы, 400 беттік кітапты оқу мен сондай мүмкін болатын барлық кітапты оқудың немесе мың таңбалы санды жазып қою мен сол санға дейін санаудың арасындағы айырмашылықты ойлап көріңізші.
Компьютерлік ғылым бізге жарақат алған сирақ сияқты нәрсе үшін барлық мүмкін болатын әлеуметтік жағдайларды бағалаудың күрделілігін сипаттауға мүмкіндік береді. Бақытымызға орай, ол осы күрделілікпен күресу құралдарын да ұсынады. Сэмплингке негізделген Монте-Карло алгоритмдері (күрделі есептерді кездейсоқ таңдау арқылы шешетін есептеу әдістері) — сол құралдар жиынтығындағы ең пайдалы тәсілдердің бірі.
Бізге, мысалы, ұлттық денсаулық сақтау реформасын — бірден түсінуге тым күрделі алып аппаратты — түсіну қажет болғанда, саяси көшбасшыларымыз әдетте бізге екі нәрсені ұсынады: арнайы таңдап алынған жеке оқиғалар және жалпылама статистикалық мәліметтер. Әрине, жеке оқиғалар бай әрі жарқын, бірақ олар бүкіл жағдайды көрсетпейді. Кез келген заң жобасы, ол қаншалықты дұрыс немесе қате болса да, біреуге жақсылық, біреуге жамандық әкеледі, сондықтан мұқият таңдалған оқиғалар кеңірек көріністі бермейді. Ал жалпылама статистика керісінше: жан-жақты, бірақ үстірт. Біз, мысалы, бүкіл ел бойынша орташа сақтандыру төлемдерінің төмендегенін білуіміз мүмкін, бірақ бұл өзгерістің нақты деңгейде қалай көрінетінін біле алмаймыз: олар көпшілік үшін төмендеуі мүмкін, бірақ Омелас стилінде белгілі бір топты — студенттерді, аляскалықтарды немесе жүкті әйелдерді — қиын жағдайда қалдыруы мүмкін. Статистика бізге оқиғаның бір бөлігін ғана айта алады, кез келген ішкі әртүрлілікті жасырады. Жиі біз тіпті қандай статистика қажет екенін де білмейміз.
Ауқымды статистика да, саясаткерлердің сүйікті оқиғалары да бізді заң жобасының мыңдаған беттері арқылы жетелей алмайтындықтан, Монте-Карло әдісімен қаруланған компьютерлік ғалым басқа тәсілді ұсынар еді: сэмплинг. Кездейсоқ таңдамаларды мұқият зерттеу — тікелей түсінуге тым күрделі нәрсені ұғудың ең тиімді құралдарының бірі болуы мүмкін. Сапалық тұрғыдан басқару мүмкін емес, бүтіндей қорытуға болмайтын соншалықты күрделі мәселелерге — пасьянс немесе атомдық бөліну, жай сандарды тексеру немесе мемлекеттік саясат болсын — келгенде, сэмплинг қиындықтарды жеңудің ең қарапайым әрі ең жақсы жолдарының бірін ұсынады.
Біз бұл тәсілді Кения мен Угандадағы өте кедей жағдайда өмір сүріп жатқан адамдарға ешқандай шартсыз ақшалай көмек тарататын GiveDirectly қайырымдылық ұйымының жұмысынан көре аламыз. Ол қайырымдылықтың дәстүрлі тәжірибелерін бірнеше деңгейде қайта қарастырғанымен назар аудартты: тек өзінің ерекше миссиясымен ғана емес, сонымен бірге өз процесіне әкелетін ашықтық пен есептілік деңгейімен де. Ол қарсы шығып жатқан кезекті статус-кво — «табыс тарихтары».
«Егер сіз біздің веб-сайтты, блогты немесе Facebook парақшасын үнемі тексеріп тұрсаңыз, — деп жазады бағдарлама ассистенті Ребекка Ланге, — сіз жиі кездестіре бермейтін нәрсені байқаған боларсыз: алушыларымыздың оқиғалары мен фотосуреттері». Мәселе басқа қайырымдылық ұйымдары ұсынатын жарқын оқиғалардың жалғандығында емес. Керісінше, олардың табыстарды көрсету үшін әдейі таңдап алынғаны олардан қаншалықты ақпарат алуға болатынын белгісіз етеді. Сондықтан GiveDirectly бұл дәстүрлі тәжірибеге де жаңалық енгізуді ұйғарды.
Әр сәрсенбі сайын GiveDirectly командасы кездейсоқ түрде ақша алушыны таңдайды, олардан сұхбат алу үшін далалық офицерді жібереді және далалық офицердің жазбаларын не болса да сол күйінде жариялайды. Мысалы, міне, олардың ақшаны қаңылтыр шатырға жұмсаған Мэри есімді әйелмен болған алғашқы сұхбаты:*
Ол жақсырақ үй сала алды және бұл қаңылтырмен жабылған үй болды. Ол сондай-ақ өз үйіне диван жинағын сатып ала алды. Оның өмірі өзгерді, өйткені бұрын оның үйінің шатырынан су ағып, жаңбыр жауған сайын үйдің ішіндегі барлық нәрсе су болатын. Бірақ бұл көмектің арқасында ол жақсырақ қаңылтыр үй сала алды.
«Бұл сізбен бөлісетін ақпараттың барлық түрлеріне деген сеніміңізді арттырады және тіпті басқа ұйымдардан да жоғары талаптарды талап етуге итермелейді деп үміттенеміз», — деп жазады Ланге.
Үш жақты ымыра
Жетістікке жеткен адамды, әсіресе әдебиетте және Шекспирде өте жоғары деңгейде болған қасиет бірден ойыма келді — мен «Негативті қабілетті» айтамын, яғни адам фактілер мен себептерге ашуланбай-ақ, белгісіздіктерде, жұмбақтарда, күмәндарда қала алған кезде.
— ДЖОН КИТС
Абсолютті сенімділік деген ұғым жоқ, бірақ адам өмірінің мақсаттары үшін жеткілікті сенімділік бар.
— ДЖОН СТЮАРТ МИЛЛ
Компьютерлік ғылым көбінесе трейд-офф-тарды (бір параметрді жақсарту үшін екіншісін құрбан етуге тура келетін ымыралы шешім) келісу мәселесі болып табылады. Мысалы, 3-тарауда сұрыптауды талқылағанда, біз сұрыптауға алдын ала жұмсалған уақыт пен кейінірек іздеуге кететін уақыт арасындағы трейд-оффты атап өттік. Ал 4-тарауда кэштеуді талқылағанда, уақытты үнемдеу үшін қосымша орын алу — кэштер үшін кэштер — трейд-оффын қарастырдық.
Уақыт пен орын компьютерлік ғылымдағы ең танымал трейд-оффтардың негізі болып табылады, бірақ рандомизацияланған алгоритмдер бойынша соңғы жұмыстар ескеру қажет тағы бір айнымалы бар екенін көрсетеді: сенімділік. Гарвардтық Майкл Митценмахер айтқандай: «Біздің жасайтынымыз — уақыт пен орынды үнемдейтін және осы үшінші өлшеммен: қателік ықтималдығымен алмасатын жауап табу». Одан белгісіздікке бағытталған осы трейд-оффтың ең сүйікті мысалын сұрағанда, ол еш ойланбастан жауап берді. «Әріптесім менің слайдтарымда бұл термин пайда болған сайын ішу керек болатын ойын болуы керек деді. Сіз Блум сүзгілері туралы естіп пе едіңіз? »
Блум сүзгісінің (элементтің жиынтыққа тиесілі екенін жылдам тексеруге арналған ықтималдық деректер құрылымы) идеясын түсіну үшін, — дейді Митценмахер, — бүкіл желіні шарлап, барлық мүмкін болатын URL мекенжайларын индекстеуге тырысатын Google сияқты іздеу жүйесін елестетіңіз. Веб-желі бір триллионнан астам ерекше URL мекенжайларынан тұрады және орташа URL ұзындығы шамамен жетпіс жеті таңбаны құрайды. Іздеу жүйесі қандай да бір URL-ге қарағанда, ол беттің өңделген-өңделмегенін қалай тексере алады? Барлық барылған URL мекенжайларының тізімін сақтау өте көп орынды қажет етер еді, ал сол тізімді үнемі іздеу (тіпті ол толық сұрыпталған болса да) нағыз қорқынышқа айналуы мүмкін. Іс жүзінде, «ем аурудан да жаман» болуы әбден мүмкін: басқаша айтқанда, бетті қайта индекстемейтінімізге көз жеткізу үшін әр уақытта тексеру, кейде бір бетті екі рет индекстей салудан көрі көбірек уақыт алуы мүмкін.
Бірақ бұл URL-дің біз үшін жаңа екеніне «негізінен сенімді» болуымыз керек болса ше? Міне, осы жерде Блум сүзгісі көмекке келеді. Оның өнертапқышы Бертон Х. Блумның есімімен аталған Блум сүзгісі Рабин-Миллердің жай сандарды тексеру тесті сияқты жұмыс істейді: URL мекенжайы оның жаңалығының «куәгерлерін» тексеретін теңдеулер жиынтығына енгізіледі. («n жай сан емес» деп жариялаудың орнына, бұл теңдеулер «мен n-ді бұрын көрмедім» дейді). Егер сіз 1% немесе 2% қателік деңгейіне төзуге дайын болсаңыз, нәтижелеріңізді Блум сүзгісі сияқты ықтималды деректер құрылымында сақтау уақыт пен орынды айтарлықтай үнемдеуге мүмкіндік береді. Мұндай сүзгілердің пайдасы тек іздеу жүйелерімен шектелмейді: Блум сүзгілері URL мекенжайларын белгілі зиянды веб-сайттардың тізімімен салыстыру үшін бірқатар заманауи веб-шолғыштарда қолданылады, сондай-ақ олар Bitcoin сияқты криптовалюталардың маңызды бөлігі болып табылады.
Митценмахер былай дейді: «Қателік трейд-офф кеңістігі идеясы — меніңше, мәселе адамдардың оны есептеумен байланыстырмауында. Олар компьютерлер нақты жауап беруі керек деп ойлайды. Сондықтан алгоритмдер сабағында: „Ол бір жауап беруі керек; ол дұрыс жауап болмауы мүмкін“ дегенді естігенде, бұл олардың назарын аударады. Менің ойымша, адамдар өз өмірлерінде мұны қаншалықты жиі жасайтынын және қабылдайтынын түсінбейді».
Төбелер, аңғарлар және тұзақтар
Өзен ирелеңдейді, өйткені ол ойлай алмайды.
— РИЧАРД КЕННИ
Кездейсоқтық сондай-ақ NCAA баскетболына күнтізбе жасау немесе коммивояжер үшін ең қысқа жолды табу сияқты дискретті оңтайландыру (шектеулі мүмкіндіктер ішінен ең жақсы шешімді табу) есептерін шешудегі қуатты қару екенін дәлелдеді. Алдыңғы тарауда біз мұндай есептердің көлемін азайтуда релаксацияның қандай рөл атқаратынын көрдік, бірақ кездейсоқтықты тактикалық қолдану одан да маңызды әдіс ретінде шықты.
Елестетіп көріңізші, сіз он қаланы аралайтын әлемдік саяхат жоспарлап жатырсыз, бұл — коммивояжер есебінің (қалаларды аралап шығатын ең қысқа жолды табу мәселесі) өз нұсқаңыз: сіз Сан-Францискодан бастап, сонда аяқтайсыз және Сиэтл, Лос-Анджелес, Нью-Йорк, Буэнос-Айрес, Лондон, Амстердам, Копенгаген, Стамбул, Дели және Киото қалаларына барасыз. Сіз маршруттың жалпы ұзындығына аса алаңдамауыңыз мүмкін, бірақ сапардың ақшалай құнын барынша азайтқыңыз келетіні анық. Бұл жерде бірінші ескеретін нәрсе — он қала көп болып көрінбесе де, мүмкін болатын маршруттардың саны он факториалға тең: үш жарым миллионнан астам. Басқаша айтқанда, барлық комбинацияны тексеріп, ең төменгі бағаны таңдаудың практикалық жолы жоқ. Сізге ақылмен жұмыс істеу керек.
Маршрутты құрудың бірінші әрекетінде сіз Сан-Францискодан ең арзан рейсті (айталық, бұл Сиэтл), содан кейін ол жерден қалған қалалардың кез келгеніне ең арзан рейсті (оны Лос-Анджелес делік), содан кейін ол жерден ең арзанын (айталық, Нью-Йорк) қарастыруыңыз мүмкін және осылайша оныншы қалаға жеткенше жалғастырып, ол жерден Сан-Францискоға қайта ұшасыз. Бұл «ашқарақ» алгоритм (әр қадамда ең тиімді көрінген жергілікті шешімді таңдайтын алгоритм) деп аталатын мысал, оны сонымен қатар «алысты көрмейтін алгоритм» деп те ойлауға болады: ол әр қадамда қолжетімді ең жақсы нәрсені алады. Жоспарлау теориясында, 5-тарауда көргеніміздей, ашқарақ алгоритм — мысалы, әрқашан алдағыны жоспарламай, қолда бар ең қысқа жұмысты орындау — кейде есептің талабын толық өтей алады. Бұл жағдайда, коммивояжер есебі үшін ашқарақ алгоритм беретін шешім, бәлкім, жаман емес, бірақ ол сіз жасай алатын ең жақсы нәрседен алыс болуы ықтимал.
Бастапқы маршрутты құрғаннан кейін, сіз қалалардың реттілігіне шамалы өзгерістер енгізіп, бұл жақсартуға әкелетінін тексере аласыз. Мысалы, егер біз алдымен Сиэтлге, содан кейін Лос-Анджелеске баратын болсақ, сол қалаларды кері тәртіпте орындап көре аламыз: алдымен Л. А. , содан кейін Сиэтл. Кез келген маршрут үшін біз осындай он бір «екі қалалық ауыстыру» жасай аламыз; айталық, біз олардың бәрін жасап көреміз де, ең көп үнемдеуге мүмкіндік беретінін таңдаймыз. Осы жерден бізде жаңа маршрут пайда болады және біз оны қайтадан өзгерте бастаймыз, тағы да ең жақсы жергілікті жақсартуды іздейміз. Бұл «Төбеге шығу» (нәтижені біртіндеп жақсарту арқылы оңтайлы шешім іздейтін әдіс) алгоритмі ретінде белгілі — өйткені шешімдер кеңістігі арқылы іздеу (кейбірі жақсырақ, кейбірі нашар) әдетте төбелері мен аңғардары бар ландшафт тұрғысынан қарастырылады, мұнда сіздің мақсатыңыз — ең биік шыңға жету.
Ақыр соңында сіз оның барлық ауыстыруларынан жақсырақ шешімге келесіз; қай көрші аялдаманы ауыстырсаңыз да, ештеңе одан аспайды. Дәл осы жерде төбеге шығу тоқтайды. Бұл сіздің жалғыз ең жақсы маршрутты тапқаныңызды білдіре ме? Өкінішке орай, жоқ. Сіз тек «жергілікті максимумды» тапқан болуыңыз мүмкін, бірақ барлық мүмкіндіктердің ішіндегі жаһандық максимумды емес. Төбеге шығу ландшафты — тұманды ландшафт. Сіз таудың басында тұрғаныңызды біле аласыз, өйткені жер барлық бағытта төмен түседі — бірақ келесі аңғардың ар жағында, бұлттардың артына жасырынған биік тау болуы мүмкін.

Қателік ландшафты: шешім сапасының түрлі мүмкіндіктер бойынша қалай өзгеретінін көрсетеді.
Лангуст тұзағына түскен лангустты елестетіп көріңізші: бейшара хайуан тордан шығу тордың ортасына қайта оралуды білдіретінін, шығу үшін тордың ішіне тереңірек бару керектігін түсінбейді. Лангуст тұзағы — бұл сымнан жасалған жергілікті максимумнан басқа ештеңе емес, өлтіретін жергілікті максимум.
Саяхатты жоспарлау жағдайында жергілікті максимумдар, бақытымызға орай, өлімге әкелмейді, бірақ олардың сипаты бірдей. Тіпті кез келген шағын түзетулермен жақсарту мүмкін емес шешімді тапқан күннің өзінде, біз әлі де жаһандық максимумды жіберіп алуымыз мүмкін. Нағыз ең жақсы маршрут сапарды түбегейлі өзгертуді талап етуі мүмкін: мысалы, бүкіл континенттерді басқа ретпен аралау немесе шығысқа емес, батысқа қарай жүру. Егер біз жақсартуларды іздеуді жалғастырғымыз келсе, шешімімізді уақытша нашарлатуымыз қажет болуы мүмкін. Кездейсоқтық дәл осыны істеу үшін стратегияны — іс жүзінде бірнеше стратегияны ұсынады.
Жергілікті максимумнан шығу
Бір тәсіл — «Төбеге шығуды» «діріл» (jitter) деп аталатын әдіспен толықтыру: егер сіз тұрып қалған сияқты болсаңыз, бәрін аздап араластырыңыз. Кездейсоқ бірнеше шағын өзгерістер жасаңыз (тіпті олар нашарлатса да), содан кейін «Төбеге шығуға» қайта оралыңыз; биік шыңға жететініңізді тексеріңіз.
Тағы бір тәсіл — жергілікті максимумға жеткенде шешімімізді толығымен бұзып, осы кездейсоқ жаңа нүктеден «Төбеге шығуды» қайта бастау. Бұл алгоритм «Кездейсоқ қайта іске қосылатын төбеге шығу» немесе көркемірек айтқанда, «Шолақ мылтықпен төбеге шығу» (Shotgun Hill Climbing) деп аталады. Бұл стратегия есепте көптеген жергілікті максимумдар болған кезде өте тиімді екенін дәлелдейді. Мысалы, компьютерлік ғалымдар бұл тәсілді кодтарды шифрдан шығаруға тырысқанда қолданады, өйткені хабарламаны дешифрлеуді бастаудың көптеген жолдары бар, олар басында үміт күттіргенімен, соңында тығырыққа тіреледі. Дешифрлеуде мәтіннің мағыналы тілге аздап ұқсауы сіздің міндетті түрде дұрыс жолда екеніңізді білдірмейді. Сондықтан кейде үміт күттіретін бастапқы бағытқа тым қатты байланбай, бәрін нөлден бастаған дұрыс.
Бірақ үшінші тәсіл де бар: тұрып қалғанда толық кездейсоқтыққа жүгінудің орнына, шешім қабылдаған сайын аздап кездейсоқтықты қолданыңыз. Монте-Карло әдісін ойлап тапқан Лос-Аламос командасы әзірлеген бұл әдіс Метрополис алгоритмі (жақсы шешімдермен қатар нашарларын да белгілі бір ықтималдықпен қабылдайтын алгоритм) деп аталады. Метрополис алгоритмі «Төбеге шығу» сияқты, шешімге әртүрлі шағын түзетулерді қолданып көреді, бірақ бір маңызды айырмашылығы бар: кез келген сәтте ол жақсы түзетулермен қатар нашарларын да қабылдауы мүмкін.
Біз мұны демалысты жоспарлау мәселесіне де қолдана аламыз. Тағы да, біз әртүрлі қалалардың орындарын ауыстырып көру арқылы ұсынылған шешімді түзеуге тырысамыз. Егер саяхат бағытымызды кездейсоқ өзгерту нәтижесінде жақсару байқалса, біз оны әрдайым қабылдап, сол жерден түзетуді жалғастырамыз. Бірақ егер өзгеріс жағдайды сәл нашарлатса, біз бәрібір соған келісуіміз мүмкін (бірақ өзгеріс неғұрлым нашар болса, оны қабылдау мүмкіндігі соғұрлым аз болады). Осылайша, біз кез келген жергілікті максимумда (жергілікті максимум — айналасындағы нүктелерден жақсырақ, бірақ жалпы алғанда ең үздік емес шешім) ұзақ уақыт тұрып қалмаймыз: ерте ме, кеш пе, біз жақын маңдағы басқа шешімді, тіпті ол қымбатырақ болса да, байқап көреміз және жаңа әрі жақсырақ жоспар құру жолына түсуіміз мүмкін.
Діріл болсын, кездейсоқ қайта іске қосу болсын немесе жағдайдың анда-санда нашарлауына ашық болу болсын, кездейсоқтық жергілікті максимумдардан аулақ болу үшін өте пайдалы. Кездейсоқ таңдау — күрделі оңтайландыру (оңтайландыру — бар шешімдердің ішінен ең тиімдісін табу процесі) мәселелерін шешудің жай ғана қолайлы тәсілі емес; көп жағдайда ол өте маңызды. Дегенмен, кейбір сұрақтар ашық қалады. Кездейсоқтықты қаншалықты мөлшерде қолдану керек? Және қашан? Сонымен қатар — Метрополис алгоритмі сияқты стратегиялар біздің бағытымызды шексіз өзгерте алатынын ескерсек, жұмыстың біткенін қалай білеміз? Оңтайландырумен айналысатын зерттеушілер үшін бұл сұрақтарға таңқаларлықтай нақты жауап мүлдем басқа саладан келеді.
Имитациялық күйдіру
1970-жылдардың аяғында және 80-жылдардың басында Скотт Киркпатрик өзін компьютерлік зерттеуші емес, физик деп санайтын. Атап айтқанда, Киркпатрик белгілі бір табиғи құбылыстарды — мысалы, күйдіру (күйдіру — материалдың құрылымын жақсарту үшін оны қыздырып, сосын баяу суыту процесі) физикасын, яғни материалдардың қыздыру және суыту кезінде күйін қалай өзгертетінін түсіндіру тәсілі ретінде кездейсоқтықты қолданатын статистикалық физикаға қызығушылық танытты. Күйдірудің ең қызықты сипаттамасы — материалдың қаншалықты тез немесе баяу сууы оның соңғы құрылымына үлкен әсер ететіндігінде. Киркпатрик түсіндіргендей:
Балқымадан жалғыз кристалды өсіру мұқият күйдіру арқылы жүзеге асырылады: алдымен затты балқытып, содан кейін температураны баяу төмендетіп, қату нүктесінің маңында ұзақ уақыт ұстайды. Егер бұл жасалмаса және зат тепе-теңдіктен шығып кетсе, пайда болған кристалдың көптеген ақаулары болады немесе зат кристалдық ретсіз шыны түзеді.
Киркпатрик ол кезде IBM-де жұмыс істейтін, онда ең үлкен, ең күрделі және ең маңызды мәселелердің бірі — IBM шығаратын чиптердегі схемаларды қалай орналастыру керек деген сұрақ болатын. Мәселе өте қиын және шешілмейтіндей көрінді: қарастыру керек шешімдердің ауқымы өте үлкен және кейбір күрделі шектеулер болды. Мысалы, компоненттердің бір-біріне жақын болғаны жақсы, бірақ тым жақын емес, әйтпесе сымдарға орын болмайды. Және кез келген нәрсені жылжытқан сайын, жаңа гипотетикалық орналасуда барлық сымдардың қалай өтетінін қайта есептеу керек болатын.
Ол кезде бұл процесті IBM ішіндегі жұмбақ «гуру» сияқты тұлға басқаратын. Киркпатрик есіне алғандай: «IBM-де бір чипке көбірек схемаларды сыйғызу бойынша ең үздік маман... ол өзінің не істеп жатқанын түсіндірудің өте жұмбақ әдісіне ие болатын. Ол сізге шындап айтқысы келмейтін».
Киркпатриктің досы және IBM-дегі әріптесі Дэн Гелатт бұл мәселеге қызығушылық танытып, Киркпатрикті де тез арада тартты, сонда Киркпатриктің ойына бір идея сап ете қалды. «Физикалық жүйелерді зерттеудің жолы — оларды қыздырып, содан кейін суыту және жүйенің өзін-өзі ұйымдастыруына мүмкіндік беру еді. Осы тәжірибені ескерсек, оңтайландыру мәселелерінің барлық түрлерін сіз реттеуге тырысатын еркіндік дәрежелері кішкентай атомдар немесе спиндер немесе басқа бір нәрсе сияқты қарастыру мүлдем табиғи нәрсе болып көрінді».
Физикада біз «температура» деп атайтын нәрсе — бұл шын мәнінде жылдамдық, яғни молекулалық деңгейдегі кездейсоқ қозғалыс. Бұл Киркпатриктің пайымдауынша, төбеге шығу алгоритміне (төбеге шығу — әр қадамда тек жақсырақ жаққа қарай жылжитын қарапайым оңтайландыру әдісі) қосылатын кездейсоқ дірілге тікелей ұқсас еді, бұл оны кейде жақсы шешімдерден нашарларына қарай шегінуге мәжбүр етеді. Шын мәнінде, Метрополис алгоритмінің өзі бастапқыда физикалық жүйелердегі (ол жағдайда ядролық жарылыстардағы) кездейсоқ мінез-құлықты модельдеу үшін жасалған болатын. Сонымен, егер сіз оңтайландыру мәселесін күйдіру мәселесі сияқты қарастырсаңыз — егер сіз оны «қыздырып», содан кейін баяу «суытсаңыз» не болады деп ойлады Киркпатрик.
Жоғарыда айтылған он қалалық демалыс мәселесін алайық, біз бастапқы бағытымызды бағасына қарамастан мүмкін болатын шешімдердің ішінен толықтай кездейсоқ таңдау арқылы «жоғары температурадан» бастай аламыз. Содан кейін қалалардың ретін өзгертуді қарастырған сайын сүйекті (die) лақтыру арқылы іздеуімізді баяу «суыта» бастаймыз. Жақсырақ нұсқаны алу әрқашан қисынды, бірақ біз нашар нұсқаларды тек сүйекте, айталық, 2 немесе одан көп сан шыққанда ғана қабылдаймыз. Біраз уақыттан кейін біз оны одан әрі суытамыз: қымбатырақ өзгерісті тек сүйекте 3 немесе одан көп сан шыққанда ғана аламыз — сосын 4, сосын 5. Ақыр соңында біз негізінен «төбеге шығумен» айналысамыз, нашар қадамды тек сүйекте 6 шыққанда ғана сирек жасаймыз. Соңында біз тек жоғары қарай жүре бастаймыз және келесі жергілікті максимумға жеткенде тоқтаймыз.
Имитациялық күйдіру (имитациялық күйдіру — металды өңдеу процесіне ұқсас, кездейсоқтық деңгейін біртіндеп азайту арқылы ең жақсы шешімді іздейтін алгоритм) деп аталатын бұл тәсіл физиканы мәселелерді шешуге көшірудің қызықты жолы сияқты көрінді. Бірақ ол жұмыс істей ме? Дәстүрлі оңтайландыру зерттеушілерінің бастапқы реакциясы мынадай болды: бұл тәсіл тым... метафоралық сияқты көрінді. «Мен математиктерді температуралары бар бұл былықтың, осы ұқсастыққа негізделген нәрселердің шынайы екеніне сендіре алмадым», — дейді Киркпатрик, — «өйткені математиктер интуицияға сенбеуге үйретілген».
Бірақ ұқсастыққа негізделген тәсілге деген кез келген сенімсіздік көп ұзамай жойылды: IBM-де Киркпатрик пен Гелаттың имитациялық күйдіру алгоритмдері «гурудан» гөрі жақсырақ чип схемаларын жасай бастады. Олар өздерінің құпия қаруын жасырып, өздері жұмбақ гуру тұлғаларына айналудың орнына, әдістерін Science журналында жариялап, басқаларға жол ашты. Келесі бірнеше онжылдықта бұл мақалаға отыз екі мың рет сілтеме жасалды. Бүгінгі күнге дейін имитациялық күйдіру осы саладағы ең перспективалы оңтайландыру тәсілдерінің бірі болып қала береді.
Кездейсоқтық, Эволюция және Шығармашылық
1943 жылы Сальвадор Лурия өзінің Нобель сыйлығына алып келетін жаңалық ашқалы жатқанын білмеген еді; ол биге бара жатырмын деп ойлады. Муссолинидің Италиясынан (оның сефардтық еврей отбасы тұрған жерден) Америка Құрама Штаттарына жақында келген иммигрант Лурия бактериялардың вирустарға қарсы иммунитетті қалай дамытатынын зерттейтін зерттеуші болатын. Бірақ дәл осы сәтте оның зерттеулері ойында жоқ еді, өйткені ол Индиана университетінің жанындағы кантри-клубтағы оқытушылар жиналысына қатысып жатқан.
Лурия өзінің әріптестерінің бірінің ойын автоматын (slot machine) ойнап жатқанын бақылап тұрды:
Өзім құмар ойыншы болмағандықтан, мен оның сөзсіз жеңілетіні туралы қалжыңдап тұрған едім, кенет ол джекпот ұтып алды, шамамен үш доллар он центтік тиындар түсті, ол маған жақтырмай қарап, кетіп қалды. Дәл сол сәтте мен ойын автоматтарының нақты нумерологиясы туралы ойлана бастадым; солай істей отырып, ойын автоматтары мен бактериялық мутациялардың бір-бірінен үйренетін нәрсесі бар екені ойыма келді.
1940-жылдары бактериялардың вирустарға (және антибиотиктерге) төзімділігінің нақты неге және қалай пайда болатыны белгісіз еді. Бұл бактериялардың вирусқа қарсы реакциясы ма, әлде кездейсоқ төзімділікті тудыратын тұрақты мутациялар ма? Бір немесе басқа жауапты беретін эксперимент ойлап табу мүмкін емес сияқты көрінді — Лурия сол ойын автоматын көріп, бір нәрсе түсінгенге дейін. Лурия егер ол бактериялардың бірнеше ұрпағын өсіріп, содан кейін соңғы ұрпақты вирусқа ұшыратса, екі түрлі нәрсенің бірі болатынын түсінді. Егер төзімділік вирусқа жауап болса, ол өзінің барлық бактериялық дақылдарында олардың шығу тегіне қарамастан шамамен бірдей мөлшерде төзімді бактериялар пайда болады деп күтетін. Екінші жағынан, егер төзімділік кездейсоқ мутациялардан пайда болса, ол әлдеқайда біркелкі емес нәрсені көремін деп күтті — дәл ойын автоматының төлемдері сияқты. Яғни, көптеген желілердегі бактериялар ешқандай төзімділік көрсетпейді; кейбір желілерде мутацияға ұшыраған бір ғана «немере» дақылы төзімді болады; ал сирек жағдайларда, егер тиісті мутация «отбасылық ағаштың» бірнеше ұрпақ жоғарысында болған болса, джекпот болады: сол желідегі барлық «немерелер» төзімді болады. Лурия биден тезірек кетіп, экспериментті бастап жіберді.
Бірнеше күндік мазасыз күтуден кейін Лурия зертханаға оралып, өз колонияларын тексерді. Джекпот.
Лурияның ашқан жаңалығы кездейсоқтықтың күші туралы еді: кездейсоқ, ретсіз мутациялардың вирустық төзімділікті қалай тудыруы мүмкін екендігі туралы болды. Бірақ бұл сонымен бірге, кем дегенде ішінара, кездейсоқтықтың күшінің арқасында болды. Ол керекті уақытта керекті жерде болды, онда ойын автоматын көру жаңа идеяны тудырды. Жаңалық ашу туралы әңгімелерде жиі ұқсас сәттер кездеседі: Ньютонның алмасы (мүмкін ойдан шығарылған), Архимедтің «Эврика! » деп айғайлаған ваннасы, пенициллин зеңі өскен қараусыз қалған Петри табақшасы. Шын мәнінде, бұл өте жиі кездесетін құбылыс болғандықтан, оны сипаттау үшін арнайы сөз ойлап табылды: 1754 жылы Хорас Уолпол «серендипити» (серендипити — адам іздемеген, бірақ кездейсоқ тап болған құнды жаңалық) терминін енгізді. Бұл термин «Серендиптің үш ханзадасы» (Серендип — Шри-Ланканың көне атауы) туралы ертегіге негізделген, онда ханзадалар «әрдайым кездейсоқтық пен парасаттылық арқылы өздері іздемеген нәрселерді тауып алатын».
Кездейсоқтықтың бұл қос рөлі — биологияның негізгі бөлігі және жаңалық ашудың негізгі бөлігі — адам шығармашылығын түсіндіргісі келетін психологтардың назарын бірнеше рет аударды. Бұл идеяның алғашқы үлгісін Уильям Джеймс ұсынды. 1880 жылы Гарвардта психологияның ассистент-профессоры болып жаңадан тағайындалған және өзінің негізгі «Психология принциптері» еңбегін жариялауға он жыл қалғанда, Джеймс Atlantic Monthly журналында «Ұлы адамдар, ұлы ойлар және қоршаған орта» атты мақала жазды. Мақала оның тезисімен ашылады:
Бір жағынан әлеуметтік эволюция фактілері мен нәсілдің интеллектуалдық өсуі, екінші жағынан Мистер Дарвин баяндаған зоологиялық эволюция арасында менің білуімше, бұрын байқалмаған таңқаларлық параллель бар.
Джеймс жазған кезде, «зоологиялық эволюция» идеясы әлі де жаңа болатын — «Түрлердің шығу тегі» 1859 жылы жарияланған және Мистер Дарвиннің өзі әлі тірі еді. Джеймс эволюциялық идеялардың адам қоғамының әртүрлі аспектілеріне қалай қолданылуы мүмкін екенін талқылады және мақаланың соңында идеялардың эволюциясына тоқталды:
Дамитын жаңа тұжырымдамалар, эмоциялар мен белсенді тенденциялар бастапқыда кездейсоқ бейнелер, қиялдар, өте тұрақсыз адам миының функционалдық белсенділігіндегі стихиялық вариациялардың кездейсоқ туындылары түрінде пайда болады, оларды сыртқы орта жай ғана растайды немесе жоққа шығарады, қабылдайды немесе қабылдамайды, сақтайды немесе жояды — қысқасы, молекулалық апаттардан туындаған морфологиялық және әлеуметтік вариацияларды таңдағаны сияқты таңдайды.
Осылайша, Джеймс кездейсоқтықты шығармашылықтың өзегі ретінде қарастырды. Және ол бұл ең шығармашыл адамдарда күшейе түседі деп сенді. Олардың қатысуымен, ол жазғандай, «біз кенеттен идеялардың қайнаған қазанына түскендей боламыз, мұнда бәрі таңқаларлық белсенділікпен қайнап, қозғалып жатыр, мұнда серіктестіктер бір сәтте қосылып немесе ажырауы мүмкін, үйреншікті жұмыс беймәлім және күтпеген жағдай жалғыз заң болып көрінеді». (Мұнда температура метафораларына негізделген сол «күйдіру» интуициясын байқаңыз, мұнда жабайы ауысу жылуға тең. )
Джеймс теориясының заманауи көрінісі жүз жылдан кейін өмір сүрген психолог Дональд Кэмпбеллдің жұмысында пайда болады. 1960 жылы Кэмпбелл «Шығармашылық ойлаудағы және басқа білім процестеріндегі соқыр вариация және селективті сақтау» атты мақала жариялады. Джеймс сияқты ол да өзінің негізгі тезисінен бастады: «Соқыр вариация және селективті сақтау процесі барлық индуктивті жетістіктердің, білімнің барлық шынайы артуының, жүйенің қоршаған ортаға сәйкестігінің барлық артуының негізі болып табылады». Джеймс сияқты ол да эволюциядан шабыт алып, шығармашылық инновацияны кездейсоқ туындаған жаңа идеялардың және сол идеялардың ең жақсысын сақтап қалатын парасатты адам ақыл-ойының нәтижесі ретінде қарастырды. Кэмпбелл өз аргументін басқа ғалымдар мен математиктердің өз жаңалықтарының артындағы процестер туралы дәйексөздерімен молынан қолдады. ХІХ ғасырдың физиктері мен философтары Эрнст Мах пен Анри Пуанкаре екеуі де Кэмпбеллдікіне ұқсас пікір білдірді, Мах тіпті: «Ньютонның, Моцарттың, Рихард Вагнердің және басқалардың айтқандары осылай түсіндіріледі, олар ойлар, әуендер мен гармониялар оларға құйылып келгенін және олар тек дұрыстарын ғана сақтап қалғанын айтады», — деп мәлімдеді.
Шығармашылықты ынталандыруға келгенде, кең таралған әдіс — адамдар ассоциация құруы керек болатын сөз сияқты кездейсоқ элементті енгізу. Мысалы, музыкант Брайан Ино мен суретші Питер Шмидт шығармашылық мәселелерді шешуге арналған «Жанама стратегиялар» (Oblique Strategies) деп аталатын карталар палубасын жасады. Кез келген картаны таңдаңыз, сонда сіз өз жобаңызға кездейсоқ жаңа көзқарас аласыз. (Егер бұл тым қиын болып көрінсе, қазір сіз үшін карта таңдайтын қосымшаны жүктеп алуға болады. ) Иноның карталарды неліктен жасағаны туралы айтқаны жергілікті максимумдардан құтылу идеясымен нақты параллельдерге ие:
Сіз бір нәрсенің ортасында болғанда, ең айқын нәрселерді ұмытып кетесіз. Сіз студиядан шығасыз да: «неге біз мынаны немесе ананы істеуді ұмытып кеттік? » деп ойлайсыз. Бұл карталар — сізді жақтаудан шығарудың, контексті сәл бұзудың жолы, осылайша сіз бір әнге фокусталған студиядағы топ емес, өмір сүріп жатқан және әлемдегі басқа да көптеген нәрселерден хабардар адамдар боласыз.
Кездейсоқ дірілдеу, жақтаудан шығу және кеңірек ауқымға назар аудару — жергілікті жақсы нәрселерден бас тартып, жаһандық оңтайлы нәрсеге ұмтылуға қайта оралудың жолын ұсынады.
Өміріңізге сәл кездейсоқ ынталандыру қосу үшін Брайан Ино болудың қажеті жоқ. Мысалы, Википедия «Кездейсоқ мақала» сілтемесін ұсынады және Том оны бірнеше жыл бойы браузерінің әдепкі үй беті ретінде пайдаланып келеді, ол жаңа терезе ашқан сайын кездейсоқ таңдалған Википедия жазбасын көреді. Бұл әлі ешқандай таңқаларлық жаңалықтарға әкелмесе де, ол қазір кейбір түсініксіз тақырыптар туралы (мысалы, Чили қарулы күштері қолданатын пышақ түрі) көп біледі және бұл оның өмірін байытты деп санайды. (Мысалы, ол португал тілінде «жоқ және болуы мүмкін емес нәрсеге деген бұлыңғыр және тұрақты тілек» дегенді білдіретін сөз бар екенін білді, бұл мәселені біз әлі іздеу жүйесімен шеше алмаймыз. ) Қызықты жанама әсер — ол қазір Википедияда қандай тақырыптар қамтылатынын ғана емес, сонымен бірге кездейсоқтықтың шын мәнінде қалай көрінетінін де жақсырақ түсінеді. Мысалы, онымен қандай да бір байланысы бар сезілетін беттер — ол білетін адамдар немесе жерлер туралы мақалалар — таңқаларлық жиілікпен пайда болады. (Сынақ кезінде ол небәрі екі рет жаңартқаннан кейін «1962–1965 жылдардағы Батыс Австралия Заң шығару кеңесінің мүшелері» дегенді алды, ал ол Батыс Австралияда өскен. ) Бұлардың шын мәнінде кездейсоқ жасалғанын білу өмірінің қалған бөлігіндегі басқа «кездейсоқтықтарды» бағалау үшін жақсырақ калибрленуге мүмкіндік береді.
Физикалық әлемде сіз апта сайын сізге бір қорап өнім жеткізіп тұратын «Қоғамдастық қолдайтын ауыл шаруашылығы» (CSA) фермасына қосылу арқылы көкөністеріңізді кездейсоқ ете аласыз. Бұрын көргеніміздей, CSA жазылымы жоспарлау мәселесін тудыруы мүмкін, бірақ сіз әдетте сатып алмайтын жемістер мен көкөністерді алу — бұл сіздің рецепттер айналымыңыздағы жергілікті максимумнан шығудың тамаша тәсілі. Сол сияқты, айдың кітабы, шарабы және шоколады клубтары — бұл сіз бұрын-соңды кездестірмеген интеллектуалдық, энофильдік және гастрономиялық мүмкіндіктермен танысудың жолы.
Әрбір шешімді тиын тастау арқылы қабылдау бастығыңызбен, достарыңызбен және отбасыңызбен қиындықтарға әкелуі мүмкін деп алаңдауыңыз мүмкін. Кездейсоқтықты өміріңізге тікелей енгізу міндетті түрде сәттілік рецепті емес екені рас. Люк Райнхарттың (шын аты: Джордж Коккрофт) 1971 жылғы «Тиын тастаған адам» (The Dice Man) атты табынушылық классикалық романы ескерту ретінде қызмет етеді. Оның баяндаушысы, шешім қабылдауды сүйек лақтырумен алмастыратын адам, тез арада көбіміз аулақ болғымыз келетін жағдайларға тап болады.
Бірақ бұл жай ғана «аздап білу — қауіпті нәрсе» деген жағдай болуы мүмкін. Егер «Тиын тастаған адам» компьютерлік ғылымды тереңірек түсінгенде, оның кейбір нұсқаулары болар еді. Біріншіден, «Төбеге шығудан»: егер сіз кейде нашар идеялар бойынша әрекет етуді әдетке айналдырсаңыз да, сіз әрқашан жақсы идеялар бойынша әрекет етуіңіз керек. Екіншіден, Метрополис алгоритмінен: сіздің нашар идеяның соңынан еру ықтималдығыңыз сол идеяның қаншалықты нашар екеніне кері пропорционалды болуы керек. Үшіншіден, Имитациялық күйдіруден: сіз кездейсоқтықты басында көбірек қолданып, толықтай кездейсоқ күйден тез суып, уақыт өткен сайын кездейсоқтықты азырақ қолдануыңыз керек және қату нүктесіне жақындаған сайын ұзағырақ кідіруіңіз керек. Өзіңізді шыңдаңыз — тура мағынасында.
Бұл соңғы нүкте роман авторының назарынан тыс қалған жоқ. Коккрофттың өзі де өз кейіпкерінен айырмашылығы шамалы, өмірінің бір кезеңінде «сүйек лақтыруға» көшіп, отбасымен Жерорта теңізіндегі желкенді қайықта Броундық қозғалыс сияқты көшіп-қонған. Дегенмен, бір сәтте оның күйдіру кестесі суыды: ол Нью-Йорк штатының солтүстігіндегі көл жағасындағы жергілікті максимумға жайлы орналасты. Қазір ол сексеннен асты және әлі де сол жерде риза кейіпте отыр. «Бақытты болатын жерге жеткеннен кейін, — деді ол Guardian басылымына, — оны бұдан әрі өзгерту ақымақтық болар еді».
- Қызықтысы, бұл эксперименттердің кейбіреулері кездейсоқтықтан күтілгеннен әлдеқайда жақсырақ π мәнін берген сияқты — бұл олардың жақсы тоқтау нүктесінде әдейі қысқартылғанын немесе мүлдем қолдан жасалғанын көрсетеді. Мысалы, 1901 жылы итальяндық математик Марио Лаззарини 3408 рет лақтыру жасап, π ≈ 355⁄113 = 3,1415929 деген баға алған (π-дің жеті ондық белгіге дейінгі нақты мәні — 3,1415927). Бірақ егер ине сызықтан өткен рет саны небәрі бір лақтыруға қателессе, баға әлдеқайда нашар болар еді — 3,1398 немесе 3,1433 — бұл Лаззаринидің есебін күмәнді етеді. Лаплас бұл нәтиженің жарамды эксперименттен туындауы екіталай екенін растау үшін Байес ережесін қолдана алатынымызды орынды деп санар еді.
- Квадрат түбірден ары қарай тексерудің қажеті жоқ, өйткені егер санның оның квадрат түбірінен үлкен факторы болса, онда анықтама бойынша оның квадрат түбірден кіші тиісті факторы болуы керек — сондықтан сіз оны алдын ала тауып алар едіңіз. Егер сіз, мысалы, 100-дің факторларын іздесеңіз, 10-нан үлкен әрбір фактор 10-нан кіші фактормен жұптасады: 20 саны 5-пен, 25 саны 4-пен жұптасады және т. б.
- Егіз жай сандар — бұл екеуі де жай сан болатын қатар тұрған тақ сандар, мысалы 5 және 7.
- Біз сайттан ең бірінші оқиғаны әдейі алғанымызды ескеріңіз — яғни, біз бөлісу үшін біреуін таңдап алу үшін олардың бәрін оқып шыққан жоқпыз, бұл мақсатқа қайшы келер еді.
10 Желілік өзара әрекеттесу
Біз қалай байланысамыз
Байланыс (connection) терминінің мағынасы өте кең. Ол екі нысан арасындағы физикалық немесе логикалық жолды білдіруі мүмкін, жол бойындағы ағынды білдіруі мүмкін, жолды орнатумен байланысты әрекетке сілтеме жасай алады немесе олардың арасындағы кез келген жолға қарамастан, екі немесе одан да көп нысандар арасындағы қауымдастықты білдіруі мүмкін. — ВИНТ СЕРФ ЖӘНЕ БОБ КАН
Тек байланысыңыз. — Э. М. ФОРСТЕР
Алыс қашықтыққа арналған телеграф нышаннан басталды — Сэмюэл Ф. Б. Морзе 1844 жылы 24 мамырда АҚШ Жоғарғы Сотының палатасында тұрып, Балтимордағы көмекшісі Альфред Вейлге Ескі Өсиеттен: «ҚҰДАЙ НЕ ІСТЕДІ? » деген аятты жіберді. Біз кез келген жаңа байланыстан сұрайтын бірінші нәрсе — оның қалай басталғаны және сол бастаудан оның болашағын болжауға тырыспай тұра алмаймыз.
Тарихтағы алғашқы телефон қоңырауы 1876 жылы 10 наурызда Александр Грэм Беллдің көмекшісіне жасаған қоңырауы парадокспен басталды. «Мистер Ватсон, мұнда келіңіз; мен сізді көргім келеді» — бұл оның физикалық қашықтықты жеңе алу қабілеті мен қабілетсіздігінің бір мезгілдегі айғағы еді.
Ұялы телефон дәуірі мақтаныштан басталды — 1973 жылы 3 сәуірде Motorola компаниясының қызметкері Мартин Купер Манхэттен жаяу жүргіншілерінің таңдана қараған көзқарасы астында Алтыншы авенюмен жүріп келе жатып, AT&T-дегі бәсекелесі Джоэль Энгельге қоңырау шалды: «Джоэль, мен саған ұялы телефоннан қоңырау шалып тұрмын. Нағыз ұялы телефоннан: қолға ұстайтын, портативті, нағыз ұялы телефоннан». (Купер: «Оның нақты не дегені есімде жоқ, бірақ арғы жақта біраз уақыт тыныштық орнады. Ол тісін қайрап тұрған болар деп ойладым», — деп еске алады).
Ал мәтіндік хабарлама (SMS) 1992 жылы 3 желтоқсанда мерекелік тілекпен басталды: Sema Group Telecoms маманы Нил Папворт Vodafone қызметкері Ричард Джарвисті келе жатқан «Рождество мерекесімен» құттықтады.
Интернеттің бастауы бұларға қарағанда әлдеқайда қарапайым әрі сәтсіздеу болды. 1969 жылы 29 қазанда Калифорния университетінің (UCLA) студенті Чарли Клайн Стэнфорд зерттеу институтындағы Билл Дюваллға ARPANET желісі арқылы бір компьютерден екіншісіне тарихтығы алғашқы хабарламаны жіберді. Хабарлама «login» болуы керек еді, бірақ қабылдаушы машина «lo» әріптерінен кейін істен шығып (crash) қалды.
«Lo» (мінекей) — Клайн байқаусызда Ескі Өсиеттегідей салтанатты әрі маңызды дыбыс шығарып алды.
Адамдар арасындағы байланыстың негізі — протокол (рәсімдер мен күтулердің ортақ келісімі, әдеп ережелері мен әлеуметтік нормалар жиынтығы). Машиналық байланыс та дәл сондай. Протокол — бұл біздің бір толқында болу тәсіліміз; шын мәнінде, бұл сөз гректің protokollon («алғашқы желім») сөзінен шыққан, ол кітаптың немесе қолжазбаның мұқабасына жабыстырылған сыртқы бетті білдіреді.
Тұлғааралық қатынастарда бұл протоколдар нәзік, бірақ тұрақты мазасыздық көзіне айналады. Мен пәленшеге бірнеше күн бұрын хабарлама жібердім; ол оны алмады деп қашан күдіктене бастаймын? Қазір сағат 12:05, ал біз түсте сөйлесуге келіскен едік; екеуміз де екінші тарап қоңырау шалады деп күтіп отырмыз ба? Сіздің жауабыңыз оғаш естіледі; мен қате естідім бе, әлде сіз бе? Не дедіңіз?
Телеграфтан бастап мәтіндік хабарламаға дейінгі коммуникациялық технологияларымыздың көбі бізге адамдар арасындағы осы таныс қиындықтарды бастан өткеру үшін жаңа арналар ғана ұсынды. Бірақ Интернеттің пайда болуымен компьютерлер тек байланыс арнасы ғана емес, сонымен бірге соңғы нүктелерге де айналды: енді олар өздері «сөйлесетін» болды. Осылайша, олар өздерінің байланыс мәселелерін шешуге жауапты болды. Машиналар арасындағы бұл мәселелер мен олардың шешімдері біздің өміріміздегі жағдайларды қайталайды әрі түсіндіреді.
Пакеттерді коммутациялау
Біз қазір «Интернет» деп атайтын нәрсе шын мәнінде көптеген протоколдардың жиынтығы, бірақ олардың ішіндегі ең бастысы (оны көбінесе Интернеттің синонимі ретінде қолданады) — TCP (Transmission Control Protocol — тасымалдауды басқару протоколы). Ол 1973 жылғы баяндама мен 1974 жылғы Винтон «Винт» Серф пен Роберт «Боб» Канның мақаласынан бастау алды, олар өздері «internetwork» деп атаған жүйенің тілін ұсынды.
TCP бастапқыда телефон желілерін пайдаланды, бірақ оны телефоннан көрі поштаның эволюциясы ретінде қарастырған дұрыс. Телефон қоңыраулары каналдарды коммутациялауды (байланыс орнату кезінде жіберуші мен қабылдаушы арасында тұрақты арна ашу) қолданады: жүйе байланыс уақытында екі бағытта да тұрақты өткізу қабілетін (ақпаратты тасымалдау жылдамдығы мен көлемі) қамтамасыз ететін арна ашады. Каналдарды коммутациялау адамдардың өзара әрекеттесуі үшін тиімді, бірақ 1960-жылдардың өзінде бұл модель машиналық байланыс үшін жарамайтыны белгілі болды.
Леонард Клейнрок (UCLA) былай деп еске алады: «Мен компьютерлердің сөйлескенде, қазіргі мен сияқты үздіксіз сөйлеспейтінін білдім. Олар "тарс" етіп ақпаратты шығарады да, біраз уақыт үндемей қалады. Содан кейін кенеттен тағы бір рет ақпарат тастайды. Ал сіз үнемі үнсіз тұратын, бірақ сөйлегісі келгенде дереу қолжетімділікті талап ететін нәрсеге арнайы байланыс арнасын бөліп қоя алмайсыз. Сондықтан бізге үздіксіз сөйлесуге арналған телефон желісін — каналдарды коммутациялау желісін емес, басқа нәрсені пайдалану керек болды».
Телефон компаниялары өз кезегінде протоколдардың түбегейлі өзгеруіне аса құлықты болған жоқ. Каналдарды коммутациялаудан бас тарту ақылға сыйымсыз нәрсе — желі зерттеушісі Ван Якобсонның сөзімен айтқанда, «нағыз күпірлік» деп саналды. Клейнрок телекоммуникация индустриясымен кездесулері туралы былай дейді: «Мен сол кездегі ең үлкен желі AT&T-ге барып: "Жігіттер, сіздер бізге деректерді тасымалдаудың жақсы жүйесін берулеріңіз керек", — деп түсіндірдім. Олар: "Не туралы айтып тұрсың? Америка Құрама Штаттары — мыс кеніші, ол телефон сымдарына толы, соны қолдан", — деп жауап берді. Мен: "Жоқ, сіздер түсінбейсіздер. Байланыс орнату үшін 35 секунд кетеді, сіздер менен кемінде 3 минуттың ақысын аласызсыздар, ал мен небәрі 100 миллисекундтық дерек жібергім келеді! " — дедім. Олардың жауабы: "Балақай, жолың болсын, бара ғой", — болды. Сонымен "балақай" кетіп, басқалармен бірге олардың нанын тартып алған осы технологияны жасап шығарды».
Каналдарды коммутациялаудың орнын басқан технология пакеттерді коммутациялау деп аталды. Пакеттерді коммутациялау желісінде әрбір қосылым үшін арнайы арнаны қолданудың орнына, жіберушілер мен қабылдаушылар өз хабарламаларын пакеттер (мәліметтердің шағын бөліктері) деп аталатын ұсақ бөлшектерге бөліп, оларды ортақ деректер ағынына қосады — бұл жарық жылдамдығымен қозғалатын ашық хаттарға (postcard) ұқсайды.
Apple компаниясының желілік сарапшысы Стюарт Чешир мұндай желіде «қосылым деп аталатын нәрсе — екі соңғы нүкте арасындағы келісілген елес» деп түсіндіреді. «Интернетте ешқандай физикалық байланыс жоқ. Интернеттегі қосылым туралы айту — АҚШ пошта жүйесіндегі байланыс туралы айтумен бірдей. Сіз адамдарға хат жазасыз және әр хат тәуелсіз жүреді — сіздің араңызда хат алмасу болуы мүмкін, бірақ АҚШ поштасына ол туралы білудің қажеті жоқ... Олар жай ғана хаттарды жеткізеді».
1960-жылдары пакеттерді коммутациялауды зерттеуге тек өткізу қабілетін тиімді пайдалану ғана емес, сонымен бірге ядролық соғыс қаупі де түрткі болды. RAND корпорациясындағы Пол Бэран әскери байланыс желісінің бір бөлігі ядролық соққыдан істен шыққан жағдайда да жұмыс істей беретіндей төзімділік мәселесін шешуге тырысты. 1950-жылдары лабиринттерді шарлау үшін жасалған алгоритмдерден шабыт алған Бэран ақпараттың әрбір бөлігі желі серпінді өзгеріп немесе талқандалып жатса да, баратын жеріне өз бетінше жете алатын дизайнды ойлап тапты.
Бұл каналдарды коммутациялаудың екінші кемшілігі болды: оның тұрақтылығы кез келген үзіліс кезінде байланыстың біржола үзілуін білдіретін. Ал пакеттерді коммутациялауда желінің өсуі оның артықшылығына айналды: жолдар неғұрлым көп болса, деректердің өту мүмкіндігі де соғұрлым жоғарылады, яғни желінің сенімділігі оның көлеміне қарай экспоненциалды түрде артты.
Ван Якобсонның айтуынша, пакеттерді коммутациялау ойлап табылғаннан кейін де телефон компаниялары оған таңданған жоқ. «Барлық байланысшылар: "Бұл желі емес! Бұл біздің желіні пайдаланудың нашар тәсілі! Сіздер біздің сымдарды алып, біз жасаған жолдармен жіберіп жатырсыздар! Және оны тиімсіз пайдалану үшін үстіне көптеген артық "қоқыс" (gunk) қосып жатырсыздар", — деп айғайлады». Бірақ пакеттерді коммутациялау тұрғысынан телефон сымдары тек құрал ғана; жіберуші мен қабылдаушы пакеттердің қалай жеткізілетініне мән бермейді. Кез келген орта арқылы жұмыс істей алу қабілеті пакеттерді коммутациялаудың басты артықшылығы болды. 60-жылдардың соңы мен 70-жылдардың басындағы ARPANET сияқты алғашқы желілер бұл концепцияның өміршеңдігін дәлелдегеннен кейін, бүкіл елде пакеттерді коммутациялайтын желілер пайда бола бастады. Олар тек мыс сымдармен ғана емес, спутниктер мен радио толқындар арқылы да жұмыс істеді. 2001 жылы Норвегияның Берген қаласындағы компьютерлік ғалымдар тобы тіпті пакеттерді қағазға жазып, көгершіндердің аяғына байлау арқылы («Avian Carriers») пакеттік желіні жүзеге асырды.
Әрине, пакеттерді коммутациялаудың да өз мәселелері болды. Ең алдымен, кез келген протокол (адамдық немесе машиналық) үшін басты сұрақ: хабарламаңыздың жеткенін қайдан білесіз?
Растау (Acknowledgment)
«Ешқандай тасымал 100 пайыз сенімді бола алмайды». — ВИНТ СЕРФ ПЕН БОБ КАН
«WHAT HATH GOD WROUGHT» (Құдай не істеді) — бұл тек АҚШ-тағы алғашқы қалааралық телеграф хабарламасы ғана емес еді. Ол сондай-ақ екінші хабарлама да болды: Альфред Вейл хабарламаның алынғанын растау үшін осы дәйексөзді Жоғарғы Сот палатасындағы Морзеге кері жіберді.
Вейлдің жауабы Морзені оның хабарламасы жеткеніне сендіре алды. Бірақ Вейл өзінің растау хабарламасы жеткеніне қалай сенімді болады?
Компьютерлік ғалымдар бұл концепцияны «Византия генералдарының мәселесі» (сенімсіз байланыс арнасы арқылы әрекеттерді үйлестіру қиындығы) деп біледі. Бір-біріне қарсы бетте тұрған екі генералды елестетіңіз. Олар тек бір мезетте шабуыл жасаса ғана жеңіске жетеді; жалғыз шабуылдау — өліммен тең. Оның үстіне, кез келген хабарлама жаудың қолындағы аумақ арқылы жеткізілуі керек, яғни хабарламаның жетпей қалу қаупі бар.
Бірінші генерал шабуыл уақытын ұсынады, бірақ серігінің де қозғалатынына сенімді болмайынша тәуекел етпейді. Екінші генерал бұйрықты алып, растау жібереді — бірақ бірінші генералдың бұл растауды алғанын білмейінше шабуылдамайды (әйтпесе бірінші генерал бармайды). Бірінші генерал растауды алады — бірақ екінші генералдың бұл туралы білетініне көзі жетпейінше шабуылдамайды. Бұл логика шексіз хабарламалар тізбегін талап етеді. Коммуникация — бұл тек практикада ғана жұмыс істейтін, ал теорияда мүмкін емес қызық нәрселердің бірі.
TCP-де байланыс әдетте «үш жақты қол алысу» (байланыс орнатудың үш сатылы процесі) деп аталатын әрекеттен басталады. Келуші «сәлем» дейді, сервер «сәлемді» қабылдап, өзі де «сәлем» дейді, келуші оны растайды. Егер сервер осы үшінші хабарламаны алса, байланыс орнатылды деп есептеледі. Тіпті байланыс орнағаннан кейін де, кейбір пакеттердің бүлінуі немесе жоғалып кету қаупі қалады. Поштада хаттың жеткенін хабарлама арқылы білуге болады; желіде пакеттің жеткені ACK (acknowledgment — растау) пакеттері арқылы расталады. Бұл — желінің жұмыс істеуі үшін өте маңызды.
ACK-тердің жұмыс істеу принципі қарапайым әрі ақылды. Үш жақты қол алысу кезінде әр машина екіншісіне сериялық нөмір береді. Содан кейінгі әрбір жіберілген пакет бұл нөмірді бір бірлікке арттырып отырады. Мысалы, компьютеріңіз серверге 100 санын жіберсе, сервер «101-ге дайынмын» деп жауап береді. Егер сервер 101-ді күтіп, бірақ 102-ні алса, ол бәрібір «101-ге дайынмын» деп жауап жібереді. Қатарынан үш рет осындай жауап келсе, компьютеріңіз 101-пакеттің жоғалғанын түсініп, оны қайта жібереді.
Бұл растаулар үлкен трафикті құрауы мүмкін. Мысалы, 2014 жылғы есеп бойынша, Netflix-тің желідегі жоғары бағытталған (upstream) трафигінің 10%-ы осы ACK-терден тұрған. Біз видеоны тек жүктеп аламыз (downstream) деп ойлаймыз, бірақ сол видеоның әр бөлігі үшін орасан зор мөлшерде растау хабарламалары кері кетіп жатады.
Адамдар арасында да хабарламаның жеткеніне көз жеткізу маңызды. Сөйлеуші әр сөйлемнің соңында «түсіндің бе? » деп сұрауы мүмкін, ал тыңдаушы үнемі басын изеп немесе «иә», «солай», «түсінікті» деп белгі беріп отырады. Телефонмен сөйлескенде бұл — байланыстың үзілмегенін білудің жалғыз жолы. Сондықтан да ұялы байланыс операторының «Мені естіп тұрсың ба? » деген жарнамалық ұраны соншалықты танымал болды.
Бағдарламалық қамтамасыз ету блогшысы Тайлер Трит айтқандай: «Үлестірілген жүйеде біз хабарламаның жеткенін растауды күту арқылы қамтамасыз етуге тырысамыз, бірақ кез келген нәрсе дұрыс болмай қалуы мүмкін. Хабарлама жоғалды ма? Растау жоғалды ма? Қабылдаушы істен шықты ма? Олар баяу жұмыс істеп жатыр ма? Желі баяу ма? Мен баяумын ба? »
Визиантия генералдарының мәселесі — бұл дизайнның күрделілігі емес, бұл теориялық тұрғыдан «мүмкін еместіктің» нәтижесі.
Интернет ешбір желінің мінсіз сенімді еместігіне және қатені түзету үшін соңғы нүктелерде қайта жіберу (retransmission) қажеттігіне негізделген. Бір қызығы, бұған жалғыз ерекшелік — адам даусын тасымалдау. Skype сияқты нақты уақыттағы дауыстық байланыс әдетте TCP-ді қолданбайды. Дауыс жібергенде жоғалған пакеттерді қайта жіберудің қажеті жоқ, өйткені адамдар өздері «төзімділікті» қамтамасыз етеді. Винт Серф түсіндіргендей: «Дауыс жағдайында, егер пакет жоғалса, сіз жай ғана "тағы бір рет айтшы, естімей қалдым" дейсіз».
Сондықтан фондық шуды автоматты түрде мүлдем өшіріп тастайтын телефон қызметтері пайдаланушыларға зиян келтіреді. Фондық статикалық шу — бұл байланыстың әлі де бар екенін және тыныштықтың қарсы тараптың саналы таңдауы екенін білдіретін белгі. Олай болмаса, сіз үнемі «байланыс үзіліп қалған жоқ па? » деп мазасызданасыз. Бұл — кез келген асинхронды байланыстың (хат жазысу, SMS немесе танысу сайттарындағы чаттар) ортақ мазасыздығы. Әрбір хабарлама соңғысы болуы мүмкін және адамның жауап беруге уақыт алып жатқанын немесе әңгімені баяғыда аяқтағанын білу мүмкін емес.
Сонымен, біз сенімсіз адаммен немесе компьютермен қалай әрекет етуіміз керек?
Экспоненциалды шегініс: Кешірім алгоритмі
«Әлемдегі аударуға ең қиын сөз Конгоның оңтүстік-шығысында сөйлейтін чилуба тіліндегі "ilunga" сөзі болып танылды... Ilunga — бұл кез келген қорлықты бірінші рет кешіруге, екінші рет төзуге дайын, бірақ үшінші рет ешқашан кешірмейтін адам дегенді білдіреді». — BBC NEWS
Егер бірінші рет қолыңнан келмесе, / Тағы да, тағы да тырысып көр. — Т. Х. ПАЛМЕР
Бүгінде біз құрылғыларымыздың сымсыз байланысқанын қалаймыз. Бірақ сымсыз желі қажеттіліктен басталды, ол жерде сым тарту мүмкін емес еді: бұл Гавайи болатын. 60-жылдардың соңында Гонолулудағы Гавайи университетінің қызметкері Норман Абрамсон төрт аралда орналасқан жеті кампус пен көптеген зерттеу институттарын біріктіруге тырысты. Ол пакеттерді коммутациялауды телефон жүйесі арқылы емес, радио толқындар арқылы жүзеге асыру идеясын ұсынды. Бұл жүйе ALOHAnet деп аталды.
ALOHAnet кезіккен ең үлкен кедергі — кедергілер (interference) болды. Кейде екі станция бір мезетте дерек жіберіп, бір-бірінің сигналын басып тастайтын. Егер екі станция да бірден қайта жіберуге тырысса, олар мәңгілік кедергілер құрдымына түсу қаупіне ие болды. Демек, ALOHAnet протоколына сигналдардың бір-біріне қалай жол беру керектігін үйрету қажет болды.
Бұл жерде ең алдымен «симметрияны бұзу» (бірдей қателіктердің қайталануын тоқтату) қажет. Тар жолда қарсы келе жатқан екі адамның екеуі де бір жаққа, сосын екінші жаққа бірдей жалтақтағаны сияқты, екі станцияның да бір уақытта қайта бастауы ештеңені шешпейді. Мұнда кездейсоқтықты (randomness) қолдану маңызды болады.
Бір қарапайым шешім — әр станцияға тиын лақтыруды ұсыну. Егер «тиын» жағы түссе — қайта жібереді, «сан» жағы түссе — бір айналым күтеді. Екі жіберуші болса, бұл тиімді. Бірақ жіберуші төртеу болса ше? Кедергілер көбейген сайын желінің өткізу қабілеті күрт төмендейді. 1970 жылғы есеп бойынша, ALOHAnet эфирді пайдалану 18,6%-дан асқанда тұрақсыз болып, қайта жіберулер саны шексіздікке ұласатын болған.
Сонымен, не істеу керек? Мұндай жағдайдан құтылудың жолы бар ма?
Шығыс деректері:
Бұл саладағы серпіліс — әрбір сәтсіз әрекеттен кейінгі орташа күту уақытын біртіндеп арттыру, нақтырақ айтсақ, қайта жіберу алдындағы ықтимал кідірісті екі еселеу болды. Алғашқы сәтсіздіктен кейін жіберуші кездейсоқ түрде бір немесе екі такт күтеді; екінші сәтсіздіктен кейін бірден төрт такт аралығында; үшінші жолы қатарынан қате кетсе, бірден сегіз такт аралығында күтеді және осылай жалғаса береді. Бұл талғампаз тәсіл желіге кез келген мөлшердегі бәсекелес сигналдарды сыйдыруға мүмкіндік береді. Максималды кідіріс ұзақтығы (2, 4, 8, 16... ) экспоненциалды прогрессияны құрайтындықтан, бұл әдіс Экспоненциалды шегініс (Exponential Backoff — сәтсіздіктен кейін күту уақытын еселеп арттыру алгоритмі) деп аталды.
Экспоненциалды шегініс 1971 жылдан бастап ALOHAnet-тің сәтті жұмыс істеуінің маңызды бөлігі болды, ал 1980-жылдары ол TCP-ге енгізіліп, Интернеттің маңызды құрамдас бөлігіне айналды. Ол осы уақытқа дейін қолданылып келеді. Бір беделді еңбекте айтылғандай: «Топологиясы белгісіз және бәсекелес әңгімелердің саны белгісіз, білу мүмкін емес әрі үнемі өзгеріп отыратын желіге орнатылған көлік нүктесі үшін тек бір ғана схеманың жұмыс істеуіне үміт бар — ол экспоненциалды шегініс».
Бірақ бұл алгоритмнің басқа қолданыстары оның тек техникалық емес, сонымен қатар тереңірек әрі нұсқаулық сипаты бар екенін көрсетеді. Экспоненциалды шегініс тек соқтығыстарды болдырмау үшін ғана емес, желідегі кез келген сәтсіздіктер мен сенімсіздік жағдайларын шешудің әдепкі әдісіне айналды.
Мысалы, компьютеріңіз жұмыс істемей тұрған веб-сайтқа қосылуға тырысқанда, ол экспоненциалды шегіністі қолданады: алдымен бір секундтан кейін, сосын бірнеше секундтан кейін және т. с. с. қайталап көреді. Бұл бәріне тиімді: ол істен шыққан сервердің қайта қосыла салысымен сұраныстар астында қалуынан сақтайды және сіздің құрылғыңыздың бос әурешілікке тым көп күш жұмсауына жол бермейді. Бір қызығы, бұл сіздің құрылғыңызды ешқашан толықтай берілуге мәжбүрлемейді (немесе рұқсат бермейді).
Экспоненциалды шегініс желілік қауіпсіздіктің де маңызды бөлігі болып табылады. Есептік жазбаға кіру кезінде парольді қатарынан қате енгізу экспоненциалды түрде артатын бұғаттау уақытымен жазаланады. Бұл хакердің «сөздік арқылы шабуылын» (Dictionary attack — парольдерді автоматты түрде жүйелі түрде іріктеп тексеру әдісі) болдырмайды. Сонымен қатар, бұл тағы бір мәселені шешеді: есептік жазбаның нақты иесі қаншалықты ұмытшақ болса да, қандай да бір шектеуден кейін ешқашан біржола бұғатталып қалмайды.
Адам қоғамында біз адамдарға қатарынан бірнеше мүмкіндік беріп, сосын олардан мүлдем бас тарту саясатын ұстануға бейімбіз. «Үш мүмкіндік және сен ойыннан шығасың». Бұл үлгі кешірімділік, жұмсақтық немесе табандылықты қажет ететін кез келген жағдайда әдепкі бойынша қолданылады. Қысқасы, бәлкім біз мұны қате істеп жүрген болармыз.
Бір досымыз жақында балалық шақтағы досы туралы айтып берді, оның кездесу жоспарларын үнемі бұзып кететін жағымсыз әдеті бар екен. Не істеу керек? Онымен қарым-қатынасты біржола үзу тым қатал әрі негізсіз болып көрінді, бірақ кездесу уақытын шексіз өзгерте беру — босқа үміттену мен уақытты жоғалтуға әкелетін аңғалдық сияқты еді. Шешім: шақыру жиілігіне экспоненциалды шегіністі қолдану. Келесі жолы бір аптадан кейін, сосын екі, сосын төрт, сосын сегіз аптадан кейін шақырып көру. «Қайта жіберу» жиілігі нөлге жақындайды, бірақ сізге ешқашан үмітті толық үзудің қажеті болмайды.
Тағы бір досымыз есірткіге тәуелділігі бар туысына баспана мен қаржылай көмек беру мәселесінде қатты қиналды. Ол туысының түзелетініне деген үмітін үзе алмады және оған біржола теріс бұрылуды ойлаудың өзі ауыр тиді. Бірақ ол туысын үйінде ұстау үшін қажеттінің бәрін жасауға — киімін алып беруге, тамақ пісіруге, банк шоттарын ашуға және күн сайын жұмысқа апарып тастауға өзін мәжбүрлей алмады. Өйткені туысы кез келген сәтте барлық ақшаны алып, ғайып болып кететін де, бірнеше аптадан кейін қайта хабарласып, кешірім сұрап, қайта қабылдауды өтінетін. Бұл қатал әрі мүмкін емес таңдау — парадокс сияқты көрінді.
Экспоненциалды шегініс мұндай жағдайларда сиқырлы ем емес, бірақ ол алға жылжудың мүмкін жолын ұсынады. Мысалы, үй ережелерін қайта бұзбау үшін экспоненциалды түрде артатын «салауаттылық кезеңін» талап ету оған теріс қылықтардан тыйылуға ынталандыру болар еді. Бұл туысына өзінің түзелуге деген ниетінің маңыздылығын көбірек дәлелдеуге мәжбүрлер еді және көмек берушіні тұрақты күйзелістен қорғайтын еді. Ең бастысы, көмек беруші туысына ешқашан «үміт үзілді» немесе «сені құтқару мүмкін емес» деп айтуға мәжбүр болмайды. Бұл — шекті шыдамдылық пен шексіз мейірімге ие болудың жолы. Бәлкім, бізге таңдау жасаудың да қажеті жоқ шығар.
Соңғы онжылдықта сот жүйесінің есірткіге тәуелділерді бақылау әдісінде тыныш революция басталды. Бұл революцияның басында ALOHAnet-тің экспоненциалды шегініс принциптерін қолданатын HOPE деп аталатын пилоттық бағдарлама тұр. Бір қызығы, ол ALOHAnet-тің отаны — Гонолулуда басталды.
Гавайидің Бірінші округтік сотына судья болып тағайындалғаннан кейін көп ұзамай, судья Стивен Алм бір қызық жайтты байқады. Шартты түрде сотталғандар өз ережелерін үнемі бұзатын, ал округ судьялары өз құзыретін пайдаланып, оларды ескертумен жібере беретін. Бірақ бір сәтте, мүмкін ондаған бұзушылықтан кейін, судья қаталдық танытып, кінәліні бірнеше жылға түрмеге кесетін. Алм: «Мен біреудің мінез-құлқын өзгертуге тырысудың қандай ақылға қонымсыз жолы деп ойладым», — дейді. Сондықтан Алм керісінше әрекет етуді ұсынды. Болашақтағы белгісіз сот отырыстары мен кейде шектен тыс ауыр жазалардың орнына, HOPE дереу орындалатын, алдын ала белгіленген жазаларға негізделген. Олар түрмедегі бір күннен басталып, әр оқиғадан кейін артып отырады. Әділет министрлігінің бес жылдық зерттеуі HOPE қатысушыларының жаңа қылмыс жасау немесе шартты жазасын жою ықтималдығы қарапайым сотталғандармен салыстырғанда екі есе аз екенін көрсетті. Сондай-ақ, олардың есірткі қолдану ықтималдығы 72%-ға төмендеген. Гавайидің үлгісімен он жеті штат HOPE бағдарламасының өз нұсқаларын іске қосты.
Ағынды бақылау және кептелістің алдын алу
Компьютерлік желілерді құрудағы алғашқы талпыныстар сенімсіз байланыс арналары арқылы сенімді деректер беруге бағытталды. Бұл жұмыс өте сәтті болғаны сонша, бірден екінші мәселе туындады: шамадан тыс жүктелген желінің апатты түрде істен шығуына жол бермеу. TCP деректерді А нүктесінен Б нүктесіне жеткізу мәселесін шеше салысымен, желідегі «кептеліс» мәселесіне тап болды.
Ең алғашқы маңызды ескерту 1986 жылы Лоуренс Беркли зертханасы мен Беркли кампусын қосатын желіде орын алды. Бір күні сол желінің өткізу қабілеті әдеттегі 32 000 биттен кенеттен 40 битке дейін төмендеп кетті. Зертхана қызметкерлері Ван Якобсон мен Майкл Карелс жылдамдықтың осылай мың есе азайып кеткеніне таңғалып, оның себебін зерттеуге кірісті.
Осы арада олар елдің түкпір-түкпіріндегі басқа желілік топтардың да осындай мәселеге тап болып жатқанын естіді. Якобсон негізгі кодты зерттей бастады. «Хаттамада қандай да бір қате бар ма? » — деп ойлады ол. «Кішігірім сынақтарда жақсы жұмыс істеп еді, ал енді бәрі істен шықты».
Арналарды коммутациялау (circuit switching) мен пакеттерді коммутациялаудың (packet switching) арасындағы ең үлкен айырмашылық кептеліспен күресу тәсілінде байқалады. Арналарды коммутациялауда жүйе арна сұранысын не мақұлдайды, не бірден қабылдамайды. Сондықтан, егер сіз телефон желісі ең көп жүктелген уақытта қоңырау шалсаңыз, «барлық желілер бос емес» деген хабарламаны естуіңіз мүмкін.
Пакеттерді коммутациялау мүлдем басқаша. Телефон жүйесі толып кетеді, ал пошта жүйесі баяулайды. Желіде жіберушіге басқа қанша жіберуші бар екенін немесе желінің қаншалықты жүктелгенін айтатын ештеңе жоқ, ал кептеліс деңгейі үнемі өзгеріп отырады. Сондықтан жіберуші мен қабылдаушы тек байланысып қана қоймай, мета-байланыс орнатуы керек: олар деректердің қандай жылдамдықпен жіберілуі керектігін анықтауы қажет. Әртүрлі пакеттік ағындар нақты басқарусыз немесе үйлестірусіз бір-біріне кедергі келтірмей, бос орынды тез пайдалануды үйренуі тиіс.
Якобсон мен Карелстің зерттеуінің нәтижесінде ағынды бақылау (Flow control — деректер ағынының жылдамдығын реттеу) және кептелістің алдын алу алгоритмдерінің жаңартылған жиынтығы пайда болды. Бұл соңғы қырық жылдағы TCP-ге енгізілген ең үлкен өзгерістердің бірі болды.
TCP кептелісін басқарудың негізінде AIMD (Additive Increase, Multiplicative Decrease — аддитивті арту, мультипликативті кему) деп аталатын алгоритм жатыр. AIMD іске қосылғанға дейін жаңа байланыс деректерді беру жылдамдығын қарқынды түрде арттырады: егер бірінші пакет сәтті жетсе, ол тағы екеуін жібереді, егер олар өтсе — төртеуін жібереді және т. с. с. Бірақ кез келген пакеттің растау сигналы (ACK) қайтып келмесе, AIMD алгоритмі басқаруды қолға алады. AIMD жүйесінде пакеттер тобы сәтті қабылданғанда, деректер саны екі еселенбейді, тек 1-ге ғана артады, ал пакеттер жоғалса, жіберу жылдамдығы бірден екі есе азаяды (сондықтан Аддитивті арту, Мультипликативті кему деп аталады). Негізінде, AIMD: «Кішкене тағы, кішкене тағы... оу, тым көп болды, тез азайт, жарайды, енді кішкене тағы... » дейтін адам сияқты. Бұл TCP ирегі (TCP sawtooth) деп аталатын — біртіндеп көтерілу мен күрт төмендеуден тұратын өткізу қабілетінің ерекше графигін қалыптастырады.
Неліктен мұндай күрт, асимметриялық төмендеу таңдалды? Якобсон мен Карелс түсіндіргендей, AIMD алғаш рет байланыс жылдамдығын қарқынды арттыру кезеңінде пакет жоғалғанда іске қосылады. Бұл кезеңде жылдамдық әр жолы екі еселеніп отырғандықтан, мәселе туындағанда жылдамдықты екі есе азайту әбден орынды. Ал егер деректерді беру барысында ол тағы да іркіле бастаса, бұл желіге басқа жаңа қосылым қосылғанын білдіруі мүмкін. Ең консервативті бағалау — яғни желіні тек өзім ғана пайдаланып жатырмын және қазір ресурстың жартысын алып жатқан екінші адам пайда болды деп есептеу де жылдамдықты екі есе азайтуға әкеледі. Бұл жерде консервативтілік өте маңызды: желі пайдаланушылар оның жүктелу жылдамдығынан тезірек артқа шегінгенде ғана тұрақтана алады. Сол себепті, тек аддитивті (біртіндеп) арту желіні бәрі үшін тұрақтандырып, шамадан тыс жүктелу мен қалпына келудің жылдам циклдерін болдырмайды.
Қосу мен көбейтудің арасындағы мұндай қатаң айырмашылық табиғатта сирек кездесетіндей көрінгенімен, TCP ирегі мүмкіндігінше көп нәрсені қауіпсіз алуға тырысатын әртүрлі салаларда кездеседі.
Мысалы, 2012 жылғы Стэнфорд экологы Дебора Гордон мен компьютер маманы Баладжи Прабхакардың бірлескен зерттеуі құмырсқалардың адамдардан миллиондаған жыл бұрын ағынды бақылау алгоритмдерін дамытқанын анықтады. Компьютерлік желі сияқты, құмырсқа илеуі де тамақ іздеуге шығатын құмырсқалар ағынын басқару мәселесіне тап болады. Интернеттегі компьютерлер сияқты, құмырсқалар да бұл мәселені орталық шешім қабылдаушысыз шешуі керек, оны Гордон «иерархиясыз басқару» деп атайды. Құмырсқалардың шешімі де ұқсас болып шықты: сәтті оралған құмырсқалар басқаларын илеуден шығуға итермелейді, ал сәтсіз оралғандар тамақ іздеу белсенділігінің төмендеуіне әкеледі.
Басқа жануарлардың мінез-құлқы да TCP ағынын бақылауды еске түсіреді. Адам тастаған тамақ қалдықтарына бара жатқан тиіндер мен көгершіндер де бір қадам алға жылжып, кейде артқа секіріп, сосын қайтадан біртіндеп алға жылжиды. Тіпті адамдар арасындағы қарым-қатынас та осы хаттамаларға ұқсауы мүмкін: әрбір жауап берілген хабарлама келесі хабарламаға итермелейді, ал жауапсыз қалған хабарлама ағынды тоқтатады.
Жалпы алғанда, AIMD біз белгісіз әрі құбылмалы жағдайларда шектеулі ресурстарды бөлуге тырысатын өмірлік жағдайларға арналған тәсілді ұсынады.
1960 жылдары профессор Лоуренс Дж. Питер тұжырымдаған Питер принципі (Peter Principle): «иерархиялық ұйымда әрбір қызметкер өзінің біліксіздік деңгейіне дейін көтерілуге бейім» дейді. Яғни, өз жұмысын жақсы істейтін адам жаңа, күрделірек лауазымға көтеріледі. Қызметкер өзі жақсы атқара алмайтын лауазымға жеткенде, оның мансаптық өсуі тоқтайды және ол өмірінің соңына дейін сол орында қалады. Осылайша, ұйымдағы әрбір орынды сол жұмысты нашар істейтін адам иеленеді деген қорқынышты логика туындайды. Бұған дейін 1910 жылы испан философы Хосе Ортега-и-Гассет те осыған ұқсас ой айтқан болатын: «Әрбір мемлекеттік қызметкерді дереу бір саты төмендету керек, өйткені олар біліксіз болғанша жоғарылай берді».
Кейбір ұйымдар өспеген қызметкерлерді жұмыстан шығару арқылы Питер принципімен күресуге тырысты. «Cravath System» деп аталатын заң фирмасының жүйесі тек жаңа түлектерді жұмысқа алып, оларды төменгі сатыға қойып, кейін не жоғарылату, не жұмыстан шығару саясатын ұстанады. 1980 жылы АҚШ Қарулы Күштері де осыған ұқсас «не өс, не кет» (up or out) саясатын қабылдады. Біріккен Корольдік те «басқарушылық бақылау» деп аталатын даулы саясатты жүргізді.
Питер принципінің тоқырауы мен «не өс, не кет» жүйесінің қаталдығы арасында балама жол бар ма? AIMD алгоритмі дәл осындай тәсілді ұсына алады, өйткені ол құбылмалы ортаның талаптарын шешуге арналған. Компьютерлік желі өз қуатын және клиенттердің жылдамдығын басқаруы керек, ал бұл көрсеткіштер үнемі өзгеріп отырады. Сол сияқты, бизнесте де компанияның қаржысы шектеулі, ал әрбір жұмыскер мен мердігердің жұмыс істеу қабілеті мен жауапкершілік көтере алу деңгейінің шегі бар. Бәрінің қажеттілігі мен мүмкіндігі үнемі қозғалыста болады.
TCP ирегінің сабағы: болжап болмайтын ортада нәрселерді «сәтсіздік нүктесіне» дейін жеткізу — кейде барлық ресурстарды толық пайдаланудың ең жақсы (немесе жалғыз) жолы. Ең бастысы, сәтсіздікке берілген жауаптың жылдам әрі икемді болуын қамтамасыз ету. AIMD жүйесінде әрбір сәтті қосылым қателескенше жылдамдатылады, сосын оның жылдамдығы екі есе азайтылады да, бірден қайтадан жылдамдай бастайды. Корпоративтік мәдениеттің нормаларына қайшы келсе де, әрбір қызметкер жыл сайын не бір саты жоғарылайтын, не біршама төмендейтін компанияны елестетуге болады.
Лоуренс Дж. Питер Питер принципі иерархияны сақтау қажеттілігінен туындайды деп есептеді. TCP болса, икемділіктің артықшылығын үйретеді. Компаниялар «жалпақ» немесе «биік» иерархиялар туралы айтады, бірақ олар «динамикалық» иерархиялар туралы ойлануы керек. AIMD жүйесінде ешкім шамадан тыс жүктеме үшін уайымдамайды және өтпей қалған жоғарылау үшін ренжімейді; екеуі де уақытша және жиі болатын түзетулер. Бәлкім, бір күні біз мансап жолы туралы емес, оның «ирегі» туралы айтатын боламыз.
Кері арналар: Тіл біліміндегі ағынды бақылау
Желідегі ағынды бақылауды зерттеу растау сигналдарының (ACK) тек хабарламаны растап қана қоймай, бүкіл қарым-қатынастың ырғағы мен қарқынын қалыптастыратынын көрсетеді. Бұл бізге кері байланыстың қарым-қатынас үшін қаншалықты маңызды екенін түсінуге мүмкіндік береді. TCP-де бір жақты деректер беру деген ұғым жоқ: тұрақты кері байланыссыз жіберуші жылдамдығын бірден бәсеңдетеді.
Желідегі кері байланыстың маңыздылығын түсіну кезеңі лингвистика саласындағы осындай өзгерістермен тұспа-тұс келді. ХХ ғасырдың ортасында лингвистикада Ноам Хомскийдің теориялары басым болды, олар тілді идеалды күйде — мінсіз, грамматикалық дұрыс сөйлемдер ретінде қарастырды. Бірақ 1960-70 жылдары ауызекі тілдің практикалық аспектілеріне деген қызығушылық сөйлесу кезегін алу, сөйлемді тыңдаушының реакциясына қарай құру процестерінің қаншалықты күрделі екенін көрсетті. Тіпті бір жақты болып көрінетін сөйлеудің өзі бірлескен әрекет екені анықталды.
Лингвист Виктор Ингве 1970 жылы былай деп жазды: «Шын мәнінде, сөйлеп тұрған адам да, оның серіктесі де бір мезгілде сөйлеумен де, тыңдаумен де айналысады. Бұл мен Кері арна (Backchannel — сөйлесу кезінде тыңдаушының сөйлеушіге беретін қысқа сигналдары) деп атайтын құбылыстың арқасында мүмкін болады, ол арқылы сөйлеуші кезегін берместен «иә» және «мхм» сияқты қысқа хабарламаларды алып отырады».
Адамдардағы «кері арналарды» зерттеу лингвистика үшін жаңа көкжиектер ашып, тыңдаушының рөлін қайта бағалауға итермеледі. Виктория университетінің Джанет Бавелас бастаған тобы тыңдаушының назары басқа жаққа ауғанда не болатынын зерттеді. Кері байланыс нашар болғанда, әңгіменің өзі бұзылатыны анықталды.
Назары басқа жаққа ауған тыңдаушыларға қызықты оқиға айтқан адамдар... оқиғаны нашар жеткізді, әсіресе драмалық соңында қатты мүдірді. Олардың әңгімелерінің соңы күрт үзілді немесе олар бір нәрсені бірнеше рет қайталады.
Бәріміз де біз сөйлеп жатқанда көзі басқа жаққа (мүмкін телефонына) ауған адаммен сөйлескен болармыз. Сонда біз «менің әңгімем қызық емес пе? » деп ойлаймыз. Шындығында, себеп пен салдар керісінше болуы мүмкін: нашар тыңдаушы әңгіменің сәнін бұзады.
Адамның кері арналарының нақты функциясын түсіну әлі де зерттеліп жатыр. 2014 жылы Джексон Толинс пен Джин Фокс Три біздің сөзіміздегі сол бір байқалмайтын «мхм», «иә», «мм» және «оһ» дыбыстары ақпарат ағынын реттеуде маңызды рөл атқаратынын дәлелдеді. Олар TCP-дегі ACK сигналдары сияқты өте маңызды. Толинс: «Кейбір адамдар нашар әңгімеші болуы мүмкін, бірақ оған тыңдаушылар да кінәлі», — дейді. Бұл жаңалық оның дәріс беруіне деген қысымды азайтты. «Мен осы кері арналар туралы дәріс бергенде, аудиторияға әрқашан: «Сендердің қазір маған беріп жатқан кері байланыстарың менің не айтатыныма әсер етеді, сондықтан менің дәрісімнің қаншалықты жақсы өтетініне сендер де жауаптысыңдар» деп әзілдеймін», — дейді ол.
Bufferbloat: Мәселе кідірісте, ақымағым
Тиімді белсенді кезекті басқаруды әзірлеуге кезектердің себебі мен мағынасы туралы қате түсініктер кедергі болды. — КЭТЛИН НИКОЛС ЖӘНЕ ВАН ЯКОБСОН
2010 жылдың жазы болатын. Көптеген ата-аналар сияқты, Джим Геттис те балаларының үйлеріндегі Wi-Fi желісі баяу жұмыс істейтіні туралы жиі шағымдарын тыңдап жүрді. Бірақ, басқа ата-аналардан айырмашылығы, Геттис HP, Alcatel-Lucent, World Wide Web консорциумында және Интернет инженерлік кеңесінде (IETF) жұмыс істеген болатын. Ол 1999 жылы бүгінгі күнге дейін қолданылып жүрген HTTP спецификациясының редакторы болды. Сондықтан, көптеген білікті әкелер бұл мәселені жай ғана зерттесе, Геттис оны нағыз кәсіби деңгейде зерттеді.
Геттис Google инженерлеріне толы бөлмеде желілік терминдерді қолдана отырып, болған жағдайды шұғыл әрі нақты сеніммен түсіндіріп берді: «Мен үйімнен MIT-ке он миллисекундтық жол арқылы ескі X Consortium архивтерін көшіріп (немесе rsync-пен жіберіп) жатқан едім... SmokePing файлды көшіру кезінде пакеттердің айтарлықтай жоғалуымен бірге, орташа есеппен бір секундтан асатын кідірістерді көрсетті... Мен Wireshark-ты қолдандым, ол жерде өте оғаш мінез-құлық байқалды... Бұл мен күткен TCP-дің [ара тісті] қозғалысына мүлдем ұқсамады. Бұл бұлай болмауы керек еді».
Қарапайым тілмен айтқанда, ол өте оғаш нәрсені көрді. «Ғылымда естілетін ең қызықты сөз, жаңа ашылымдардың бастауы — «Эврика! » емес, «Бұл қызық екен... » деген тіркес» деген сөз бар емес пе.
Бастапқыда Геттис кабельдік модемінде бір ақау бар деп ойлады. Оның отбасы «Интернеттегі мәселе» деп атап жүрген нәрсе, шын мәнінде, өздерінің қабырғасындағы розеткадағы «кептеліс» болып шықты. Бостонға жіберілген пакеттер жолдың ортасында емес, дәл осы үйдің ішінде тұрып қалған еді.
Бірақ Геттис мәселені тереңірек зерттеген сайын, оның алаңдаушылығы арта түсті. Мәселе тек оның үй роутері мен модеміне ғана емес, әрбір үй роутері мен модеміне қатысты болды. Бұл ақау тек желілік құрылғыларда ғана емес, компьютерлердің өздерінде — десктоптарда, ноутбуктерде, планшеттер мен смартфондарда, тіпті Linux, Windows және OS X жүйелерінің ішіне де еніп кеткен еді. Ол тек соңғы пайдаланушы жабдықтарында ғана емес, Интернеттің инфрақұрылымының өзіне де әсер еткен. Геттис Comcast, Verizon, Cisco және Google компанияларының негізгі тұлғаларымен, соның ішінде Ван Якобсонмен және Винт Серфпен бірге түстеніп, мәселенің бас-аяғын біртіндеп құрастыра бастады.
Мәселе барлық жерде болды. Және бұл мәселе — Bufferbloat (желілік құрылғылардағы артық буферлеу салдарынан туындайтын жоғары кідіріс) болатын.
Буфер (деректерді уақытша сақтау орны) — бұл шын мәнінде деректердің күрт көбеюін тегістеуге арналған кезек. Егер сіз пончик дүкеніне басқа тұтынушымен бір уақытта кірсеңіз, кассирдің сіздердің біріңізді дүкеннен шығарып жіберіп, басқа уақытта келуді сұрағаны дұрыс болмас еді. Тұтынушылар бұған келіспейтіні анық, бірақ басшылық та мұны қолдамайды: мұндай саясат кассирдің жұмысын толық пайдаланбауға әкеледі. Тұтынушыларды кезекке қою дүкеннің орташа өткізу қабілетінің максималды деңгейге жетуін қамтамасыз етеді. Бұл жақсы нәрсе.
Дегенмен, ресурстарды мұндай тиімді пайдаланудың өз құны бар: Latency (деректердің желі арқылы өту уақытының кідірісі). Том қызын Берклидегі Cinco de Mayo фестиваліне апарғанда, қызы шоколадты бананды блинчик (crêpe) жегісі келді, сондықтан олар кезекке тұрып күтті. Ақырында — жиырма минуттан кейін — Том кезектің алдына жетіп, тапсырыс берді. Бірақ төлем жасағаннан кейін олар блинчикті алу үшін тағы қырық минут күтуге мәжбүр болды. (Джим Геттис сияқты, Том да отбасы мүшелерінің наразылығына тап болды). Тапсырыс қабылдау блинчик пісіруден тезірек болып шықты, сондықтан тапсырыс беру кезегі мәселенің тек бірінші бөлігі ғана еді. Кем дегенде, ол көрініп тұрды; тұтынушылар не күтіп тұрғанын білді. Екінші, ұзағырақ кезек көрінбейтін еді. Бұл жағдайда блинчик дүкені кезекті белгілі бір уақытта тоқтатып, «тапсырыс қабылдамаймыз» деген белгі қойса, бәрі үшін жақсы болар еді. Тұтынушыларды кері қайтару — олар қысқарақ кезекке тұрса да немесе басқа жаққа кетсе де — бәріне тиімдірек болар еді. Бұл дүкенге ешқандай шығын әкелмес еді, өйткені тұтынушылар қанша күтсе де, олар күніне тек өздері пісіре алатын мөлшерде ғана блинчик сата алады.
Джим Геттис өзінің үй модемінен дәл осы құбылысты байқады. Ол файлды желіге жүктеп жатқандықтан, оның компьютері модемге шамасы келгенше көп пакет жіберіп жатты. Ал модем болса, ешқайсысын кері қайтармай, үлкен кезек жинап, өзінің мүмкіндігінен әлдеқайда көп пакетті өңдей алатындай кейіп танытты. Сондықтан Геттис бір уақытта басқа нәрсені жүктеп алғысы келгенде — веб-бетке кіру немесе электрондық поштаны тексеру — оның ACK (растау сигналы) пакеттері жүктеліп жатқан файлдардың тасасында қалып қойды. Олар модемде үйден шығу үшін кезек күтуге мәжбүр болды. Оның ACK пакеттері веб-серверлерге тым кеш жеткендіктен, серверлер өз кезегінде деректерді жүктеу жылдамдығын өте төмен деңгейге дейін азайтты.
Бұл сіздің әрбір «иә, иә» деген сөзіңіз он немесе жиырма секундқа кешігіп жететін диалогқа ұқсайды. Сөйлеуші сізді түсінбей жатыр деп ойлап, сөзін баяулатады және сіз бұған ештеңе істей алмайсыз.
Желілік буфер толған кезде, әдетте Tail Drop (кезек толғанда келесі пакеттерді қабылдамау) деп аталатын процесс орын алады: бұл сол сәттен кейін келген әрбір пакеттің қабылданбай, жойылатынын білдіреді. (Кезек тым ұзақ болғанда блинчик дүкенінен жаңа тұтынушыларды қайтару — адамзаттық контекстегі Tail Drop-тың нұсқасы). Пакеттік коммутацияға пошта метафорасын қолдансақ, жүк көлігіне сыймаған барлық сәлемдемелерді сол жерде өртеп жіберетін пошташыны елестету оғаш көрінуі мүмкін. Солай болса да, дәл осы «пакеттердің жоғалуы» компьютерге оның пакеттерінің бірі расталмағанын білдіреді, бұл AIMD (өткізу қабілетін реттеу алгоритмі) жүйесін өткізу қабілетін екі есе азайтуға мәжбүрлейді. Жоғалған пакеттер — Интернеттің негізгі кері байланыс механизмі. Тым үлкен буфер — ас үйдегі қызметкерлер жетіспесе де барлық тапсырысты қабылдай беретін мейрамхана немесе пакетті жіберуге қанша уақыт кетсе де бәрін қабылдай беретін модем — бұл реттеу процесінің дұрыс жұмыс істеуіне кедергі келтіреді.
Негізінде, буферлер Throughput (желінің өткізу қабілеті) көрсеткішін максималды ету үшін кідірісті пайдаланады. Яғни, олар пакеттерді (немесе тұтынушыларды) кейінірек жұмыс азайған кезде өңдеу үшін күттіреді. Бірақ тұрақты түрде толып тұратын буфер екі дүниенің де ең нашар тұстарын береді: барлық кідірісті аласыз, бірақ ешқандай икемділік болмайды. Егер сіз орташа есеппен келген нәрсені келген жылдамдықпен өңдеп үлгерсеңіз, толқындарды тегістеу жақсы нәрсе. Бірақ егер орташа жұмыс көлемі сіздің жұмыс жылдамдығыңыздан асып кетсе, ешқандай буфер керемет жасай алмайды. Буфер неғұрлым үлкен болса, сіз көмек сұрағанша соғұрлым артта қала бересіз. Буферлердің — мейлі ол пакеттер үшін болсын, мейлі тұтынушылар үшін болсын — негізгі принциптерінің бірі: олар тек жүйелі түрде нөлге теңеліп (босап) тұрғанда ғана дұрыс жұмыс істейді.
Онжылдықтар бойы компьютер жады жеткілікті дәрежеде қымбат болды, сондықтан модемдерді қажетсіз үлкен жадпен жабдықтауға ешқандай себеп болған жоқ. Осылайша, модемнің өзі көтере алмайтын үлкен кезекті жинауға мүмкіндігі болмады. Бірақ бір сәтте компьютер индустриясындағы ауқымды өндіріс жадтың құнын күрт төмендеткенде, модем өндірушілері өз құрылғыларына гигабайттық жедел жад (RAM) сала бастады, өйткені бұл олар ала алатын ең аз көлем болатын. Нәтижесінде модемдердегі, роутерлердегі, ноутбуктер мен смартфондардағы, тіпті Интернеттің негізгі арналарындағы буферлер мыңдаған есе үлкен болып кетті. Бұған Джим Геттис сияқты адамдар дабыл қаққанға дейін ешкім мән бермеген еді.
Кешіккеннен көрі болмағаны жақсы
Сіздің бойдақ кезіңіздегі ең басты мәселеңізді алайық... біреу сізді ұнатады, бірақ сіз оны ұнатпайсыз. Бұрын бұл ыңғайсыз жағдай болатын. Сізге сөйлесу керек еді, бұл оғаш көрінетін. Ал қазір не істейсіз? Біреу сізді ұнатады, бірақ сіз оны ұнатпайсыз ба? Сіз жай ғана бос емес адам сияқты кейіп танытасыз... мәңгілікке. — АЗИЗ АНСАРИ
Қазір — ешқашаннан жақсы. Дегенмен, ешқашан — дәл қазірден жақсырақ болатын кездер аз емес. — THE ZEN OF PYTHON
Әнші Кэти Перридің Twitter-дегі оқырмандары оның туған штаты Калифорнияның халқынан 107%-ға көп. Twitter-дегі ең көп оқырманы бар адам ретінде, 2016 жылдың басында оның жанкүйерлері 81,2 миллион аккаунтты құрады. Бұл дегеніміз, егер оның жанкүйерлерінің 99%-ы оған ешқашан хат жазбаса да, ал қалған ең адал 1%-ы жылына бір-ақ рет хат жазса да, ол күніне 2225 хабарлама алады деген сөз. Күн сайын.
Егер Перри әрбір жанкүйердің хабарламасына келген кезегімен жауап беруге бел буса не болар еді? Егер ол күніне 100 хабарламаға жауап бере алса, онда жанкүйердің жауап күту уақыты ондаған жылдармен өлшенер еді. Көптеген жанкүйерлер он-жиырма жылдан кейін кепілді жауап алғаннан көрі, дәл қазір жауап алудың азғантай мүмкіндігін таңдар еді деп ойлауға болады.
Перри сахнадан шығып, автограф немесе қысқа сөз күткен жанкүйерлердің арасынан өткенде мұндай мәселеге тап болмайтынын байқаңыз. Перри қолынан келгенін істейді де, әрі қарай кетеді, ал қолдан шығып кеткен мүмкіндіктер сейіліп кетеді. Дене — өзіндік ағынды бақылау жүйесі. Біз бір уақытта бірнеше жерде бола алмаймыз. Адам көп жиналған кеште біз әңгіменің 5%-ына да қатыса алмаймыз және қалған бөлігін кейін оқып немесе қуып жете алмаймыз. Көздің торына тимеген фотондар кейін көру үшін кезекке тұрмайды. Шынайы өмірде «пакеттердің жоғалуы» дерлік толықтай жүреді.
Біз «допты түсіріп алу» (мүмкіндікті жіберіп алу) деген тіркесті тек жағымсыз мағынада, ол адамның жалқаулығын немесе ұмытшақтығын білдіру үшін қолданамыз. Бірақ жүктеме шамадан тыс болғанда, кейбір «доптарды» тактикалық түрде тастап кету — істі алға бастырудың маңызды бөлігі.
Қазіргі заманғы коммуникацияға қатысты ең көп айтылатын сын — біздің «әрқашан желіде» екендігіміз. Бірақ мәселе біздің әрқашан желіде екендігімізде емес; біз әрқашан желіде емеспіз. Мәселе — біздің әрқашан буферленген күйде екендігімізде. Айырмашылығы орасан зор.
Интернеттегі барлық нәрсені көру, барлық кітаптарды оқу немесе барлық шоуларды тамашалау керек деген сезім — бұл bufferbloat. Сіз сүйікті сериалыңыздың бір бөлімін өткізіп аласыз да, оны бір сағаттан, бір күннен немесе он жылдан кейін көресіз. Сіз демалысқа кетесіз де, үйге келгенде үйіліп қалған хаттарды көресіз. Бұрын адамдар есігіңізді қағатын, жауап болмаса, кетіп қалатын. Қазір олар сіз үйге келгенше кезекте тұрғанмен бірдей.
Электрондық пошта Tail Drop мәселесін шешу үшін әдейі жасалған. Оның өнертапқышы Рэй Томлинсон айтқандай: «Ол кезде адамдарға хабарлама қалдырудың ешқандай жақсы жолы болған жоқ. Телефон белгілі бір деңгейде жұмыс істеді, бірақ қоңырауды қабылдау үшін біреу міндетті түрде орнында болуы керек еді. Ал егер сіз іздеген адам болмаса, бұл әкімшілік көмекші немесе жауап беру қызметі болатын. Хабарлама қалдыру үшін осындай кезеңдерден өту керек еді, сондықтан компьютерде хабарлама қалдыруға болады деген идеяға бәрі жармасты».
Басқаша айтқанда, біз жіберушіні ешқашан кері қайтармайтын жүйені сұрадық және жақсы ма, жаман ба — соны алдық. Шын мәнінде, соңғы он бес жыл ішінде каналдарды коммутациялаудан пакеттік коммутацияға өту бүкіл қоғамда орын алды. Бұрын біз басқалармен тікелей байланыс орнатуды сұрайтынбыз; енді біз оларға пакеттер жіберіп, ACK-тарды күтеміз. Бұрын біз қабылдамай тастайтынбыз; қазір кейінге қалдырамыз.
Көпшілік шағымданатын «бос уақыттың жоқтығы» — бұл, керісінше, буферлердің негізгі ерекшелігі: орташа өткізу қабілетін максималды деңгейге жеткізу. Бос тұрып қалуды болдырмау — олардың міндеті. Сіз поштаны жолда бара жатып, демалыста, дәретханада немесе түн ортасында тексересіз. Сіз ешқашан жалықпайсыз. Бұл — буферлердің өз функциясын толық орындауының екіжақты әсері.
Демалыс кезіндегі автоматты жауаптар жіберушіге кідіріс (latency) болатынын ескертеді; бірақ одан да жақсырақ жауап жіберушіге Tail Drop күту керектігін айтуы мүмкін. Жіберушіге кезектің орташа уақыттан көп екенін ескертудің орнына, барлық кіріс хабарламаларды қабылдамай жатқанын ескертуге болады. Және бұл тек демалыспен шектелмеуі керек: кіріс жәшігі, айталық, жүз хатқа толғанда, барлық хабарламаларды автоматты түрде қабылдамайтын пошта бағдарламасын елестетуге болады. Бұл төлем шоттары үшін тиімсіз болуы мүмкін, бірақ әлеуметтік шақырулар үшін қисынды тәсіл.
«Толып қалған» пошта жәшігі немесе «толып қалған» дауыстық пошта ұғымы қазір өткен ғасырдың немесе 2000-жылдардың басының сарқыншағы сияқты көрінеді. Бірақ егер біздің шексіз сақтау орны бар жаңа телефондарымыз бен компьютерлерімізді қосатын желілер әлі күнге дейін пакеттерді әдейі тастап жатса, онда Tail Drop-ты жадтың шектеулі болуының өкінішті салдары емес, өзіндік мақсаты бар стратегия деп қарастыруға негіз бар.
Желілік bufferbloat-қа келетін болсақ, бұл жабдық пен операциялық жүйе өндірушілерінің желілік кезектерге түбегейлі өзгерістер енгізуге бағытталған ауқымды күш-жігерін қамтитын күрделі, бірақ сәтті аяқталып жатқан оқиға. Сондай-ақ TCP үшін жаңа кері байланыс арнасын құру туралы ұсыныс бар, бұл — көптеген жылдардағы алғашқы өзгеріс: Нақты кептеліс туралы хабарлау (Explicit Congestion Notification немесе ECN). Интернетті bufferbloat-тан толық арылту үшін осы өзгерістердің барлығы және көптеген жылдар бойы төзімділік қажет болады. «Бұл — ұзаққа созылатын батпақ», — дейді Геттис.
Бірақ bufferbloat-тан кейінгі болашақтан күтеріміз көп. Буферлер өздерінің кідірістерімен интерактивті процестердің көбіне зиян тигізеді. Мысалы, Skype арқылы сөйлескенде, біз үш секунд бұрын айтылған сөздің анық жазбасынан көрі, дәл қазіргі сәл кедергісі бар дыбысты артық көреміз. Геймерлер үшін тіпті 50 миллисекундтық кідіріс жеңіс пен жеңілістің арасын анықтауы мүмкін; шын мәнінде, ойын кідіріске соншалықты сезімтал болғандықтан, барлық маңызды киберспорттық жарыстар әлі күнге дейін офлайн форматта өтеді. Кез келген синхронды әрекет үшін де солай. «Егер достарыңмен музыка ойнағың келсе, тіпті бір қаланың ішінде болсаң да, саған ондаған миллисекунд маңызды», — дейді Геттис, төмен кідірістің интерактивті әлеуетін пайдаланатын жаңа қосымшалар мен бизнестер пайда болатынын болжап. «Осы тәжірибеден түйгенім — инженерлер уақытты бірінші кезектегі маңызды ресурс ретінде қарастыруы керек».
Apple маманы Стюарт Чешир де кідірістің желі инженерлері үшін басты басымдыққа айналатын уақыты келгенімен келіседі. Ол «жылдам» Интернетті жарнамалайтын компаниялардың тек жоғары өткізу қабілетіне (bandwidth) сілтеме жасап, төмен кідіріс (delay) туралы айтпайтынына таңғалады. Ол Boeing 737 мен Boeing 747 екеуі де сағатына шамамен бес жүз миль жылдамдықпен ұшатынын мысалға келтіреді; біріншісі 120 жолаушы сыйғызса, екіншісі үш есе көп адам тасиды. «Сонда сіз Boeing 747 ұшағы Boeing 737-ден үш есе «жылдамырақ» дер ме едіңіз? Әрине, жоқ», — дейді Чешир. Кейде сыйымдылық маңызды: үлкен файлдарды тасымалдау үшін өткізу қабілеті шешуші рөл атқарады. Бірақ адамдар арасындағы байланыс үшін жылдам жауап беру уақыты әлдеқайда маңызды, бізге керегі — көбірек «Конкордтар». Шын мәнінде, кідірісті азайту — желілік зерттеулердің қазіргі басты бағыттарының бірі.
Осы арада басқа да «шайқастар» жүріп жатыр. Геттис назарын бір сәтке басқа жаққа бұрады. «Сенде жұмыс істемей тұр ма? Мен қазір біреумен сөйлесіп жатырмын, біткен соң қараймын. Біз де аяқтап қалдық — жоқ, 5 ГГц қазір жұмыс істеп тұр, 2. 4 ГГц арнасы ілініп қалды. Бұл сол атақты қателік (bug). Роутерді қайта қосамын (reboot)». Бұл қоштасуға және біздің өткізу қабілетімізді жалпы ортаға, жиынтық өсім жасап жатқан сансыз ағындарға қайтаруға ең қолайлы сәт сияқты.
11 Ойындар теориясы
Басқалардың санасы
Мен адамдардың асыл әрі құрметті екеніне, олардың кейбірі өте ақылды екеніне сенетін оптимистпін... Бірақ топтасқан адамдарға қатысты көзқарасым біршама пессимистік. — СТИВ ДЖОБС
Бір инвестор акцияны екіншісіне сатады: бірі оның бағасы түседі деп сенсе, екіншісі өседі деп сенеді; мен сіздің не ойлайтыныңызды білемін деп ойлаймын, бірақ сіз менің не ойлайтынымды біледі деп ойлайтыныңызды білмеймін; экономикалық көпіршік жарылады; болашақ жары оған «біз жай ғана дос емеспіз» деп те, «біз дос қанамыз» деп де айтпайтын сыйлық ұсынады; түстеніп отырған адамдар кім төлеуі керек және неге екені туралы дауласады; біреу көмектескісі келіп, байқаусызда ренжітіп алады; біреу тым «керемет» көрінгісі келіп, күлкіге қалады; біреу көпшіліктен бөлініп шыққысы келеді, бірақ көпшіліктің оның соңынан еріп бара жатқанын көріп, таңғалады. «Мен сені сүйемін», — дейді бірі; «Мен де сені сүйемін», — деп жауап береді екіншісі; бірақ екеуі де бұл сөздің артында шын мәнінде не тұрғанын ойлайды.
Компьютер ғылымы бұған не дейді?
Мектеп оқушыларына әдеби сюжеттерді бірнеше санатқа бөлуді үйретеді: адам табиғатқа қарсы, адам өзіне-өзі қарсы, адам адамға қарсы, адам қоғамға қарсы. Осы уақытқа дейін бұл кітапта біз негізінен алғашқы екі санатты қарастырдық. Яғни, компьютер ғылымы біздің әлемнің іргелі құрылымынан және ақпаратты өңдеудегі шектеулі мүмкіндіктерімізден туындайтын мәселелерді шешуге көмектесті. Оңтайлы тоқтау мәселелері уақыттың қайталанбастығынан, ал «зерттеу немесе пайдалану» дилеммасы уақыттың шектеулілігінен туындайды. Релаксация мен рандомизация — саяхатты жоспарлау немесе вакцинациялау сияқты күрделі мәселелерді шешудің маңызды стратегиялары ретінде көрінді.
Бұл тарауда біз назарымызды қалған екі жанрға аударамыз — яғни, адам адамға қарсы және адам қоғамға қарсы: іс жүзінде, біз бір-бірімізге тудыратын мәселелер. Бұл бағыттағы біздің ең жақсы нұсқаулығымыз — Ойындар теориясы (Game theory — қатысушылардың өзара әрекеттесу стратегияларын зерттейтін математикалық сала) деп аталатын математика бөлімі. Соңғы бірнеше онжылдықта ойындар теориясы мен компьютер ғылымының тоғысуынан алгоритмдік ойындар теориясы саласы пайда болды.
Рекурсия
Ақылды адам уды өз тостағанына құяр еді, өйткені ол тек ақымақ қана өзіне ұсынылған нәрсеге қол созатынын біледі. Мен ақымақ емеспін, сондықтан мен сіздің алдыңыздағы шарапты таңдай алмаймын. Бірақ сіз менің ақымақ емес екенімді білдіңіз — сіз соған сендіңіз — сондықтан мен өз алдымдағы шарапты да таңдай алмаймын. — THE PRINCESS BRIDE
Жиырмасыншы ғасырдың ең ықпалды экономисі Джон Мейнард Кейнс бірде: «Сәтті инвестициялау — басқалардың күтулерін болжау», — деген болатын. Акцияны, айталық, 60 долларға сату үшін, сатып алушы оны кейінірек 70 долларға сата алатынына сенуі керек. Ол адам оны 80 долларға сата алатынына сенетін адамға, ол өз кезегінде 90 долларға, ал ол 100 долларға сата алатын адамға сенуі тиіс. Осылайша, акцияның құны — адамдар оның қанша тұратыны туралы ойы емес, адамдар басқа адамдар оның қанша тұратыны туралы не ойлайтыны туралы ойы. Шын мәнінде, бұл тіпті шегі емес. Кейнс сұлулық пен танымалдылық арасындағы маңызды айырмашылықты көрсете отырып былай деді:
Кәсіби инвестициялауды газеттегі байқаулармен салыстыруға болады. Онда қатысушылар жүз фотосуреттің ішінен ең әдемі алты жүзді таңдауы керек. Жүлде таңдауы барлық қатысушылардың орташа қалауына ең жақын келген адамға беріледі. Сондықтан әрбір қатысушы өзіне ең әдемі көрінген жүзді емес, басқа қатысушылардың талғамына сай келеді-ау деген жүздерді таңдауы керек. Бұл өз талғамың бойынша ең әдемісін таңдау емес, тіпті көпшілік шын мәнінде ең әдемі деп санайтынын таңдау да емес. Біз орташа пікір орташа пікірден не күтетінін болжауға күш салатын «үшінші деңгейге» жеттік. Меніңше, төртінші, бесінші және одан да жоғары деңгейлерді қолданатындар да бар.
Компьютерлік ғылым мұндай пайымдаудың іргелі шектеулерін «аяқталу мәселесі» (есептеуіш бағдарламаның шексіз жұмыс істейтінін немесе тоқтайтынын алдын ала анықтау мүмкін еместігі) деп аталатын ұғыммен сипаттайды. Алан Тьюринг 1936 жылы дәлелдегендей, компьютерлік бағдарлама ешқашан басқа бағдарламаның есептеулерді мәңгілікке жалғастыратынын немесе аяқтайтынын нақты айта алмайды — бұл тек сол бағдарламаның жұмысын имитациялау арқылы ғана мүмкін, бірақ бұл жағдайда бағдарламаның өзі де шексіз тұңғиыққа батып кетуі мүмкін. (Тиісінше, бағдарламашыларда өз бағдарламалық жасақтамасының қатып қалатынын немесе қалмайтынын айтатын автоматтандырылған құралдар ешқашан болмайды. ) Бұл барлық компьютерлік ғылымның іргелі нәтижелерінің бірі, оған басқа да көптеген дәлелдер сүйенеді. Қарапайым тілмен айтқанда, кез келген жүйе — мейлі ол машина болсын, мейлі сана болсын — өзі сияқты күрделі нәрсенің жұмысын имитациялағанда, оның ресурстары толығымен таусылады. Компьютерлік ғалымдардың айналар залына ұқсайтын осы шексіз саяхатқа, яғни сананы имитациялайтын санаға қатысты термині бар: «рекурсия» (процестің өзіне-өзі қайта оралуы немесе өзін-өзі қайталауы) .
«Покерде сіз ешқашан қолыңыздағы карталармен ойнамайсыз», — дейді Джеймс Бонд «Казино Рояль» фильмінде; «сіз қарсыңыздағы адаммен ойнайсыз». Шын мәнінде, сіз теориялық тұрғыдан шексіз рекурсиямен ойнайсыз. Онда сіздің өз қолыңыз және қарсыласыңыздың қолы деп ойлайтын карталар бар; содан кейін қарсыласыңыз сіздің қолыңызда не бар деп ойлайды деп ойлауыңыз, және одан әрі жалғаса береді. «Бұл ойын теориясының нақты термині ме, білмеймін, — дейді әлемдегі ең үздік покер ойыншысы Дэн Смит, — бірақ покер ойыншылары оны „деңгейлеу“ (leveling) деп атайды. Бірінші деңгей — „мен білемін“. Екіншісі — „сенің білетініңді мен білемін“. Үшіншісі — „менің білетінімді сенің білетініңді мен білемін“. Кейде: „Мұнда блеф жасау өте ақымақтық, бірақ егер ол мұның ақымақтық екенін білсе, онда ол менің бәсімді қабылдамайды, демек, бұл блеф жасау үшін ең қолайлы сәт“ деп ойлайтын жағдайлар болады. Мұндай нәрселер болып тұрады».
Жоғары деңгейлі покердегі ең есте қаларлық блефтердің бірі Том Дван Техас Холдеміндегі ең нашар комбинация — 2 мен 7-ге 479 500 доллар тіккен кезде болды. Ол өзінің қарсыласы Сэмми Джорджға қолында осы карталар бар екенін ашық айтты. «Сенде екі мен жеті жоқ», — деп жауап берді Джордж. «Сенде екі мен жеті жоқ». Джордж карталарын тастады, ал Дван — иә, қолында екі мен жетімен — банкті иемденді.
Покерде рекурсия — қауіпті ойын. Әрине, қарсыласыңыздан бір қадам артта қалғыңыз келмейді, бірақ олардан тым озып кетпеу де маңызды. «Сіз қарсыласыңыздан тек бір деңгей жоғары ойнауыңыз керек деген ереже бар», — деп түсіндіреді покер кәсіпқойы Ванесса Руссо. «Егер сіз қарсыласыңыздан тым жоғары деңгейде ойнасаңыз, сіз оларда жоқ ақпарат бар деп ойлай бастайсыз — [және] олар сіздің іс-әрекетіңізден сіз күткен ақпаратты оқи алмайды». Кейде покер шеберлері қарсыластарын әдейі күрделі рекурсияға итермелейді, ал өздері ешқандай психологиялық айласыз, тек ереже бойынша ойнайды. Бұл оларды «өздеріне қарсы деңгейлеу соғысына» тарту деп аталады.
(Қарсыласты нәтижесіз рекурсияға итермелеу басқа ойындарда да тиімді стратегия болуы мүмкін. Адам мен машина арасындағы шахмат тарихындағы ең қызықты эпизодтардың бірі 2008 жылы американдық гроссмейстер Хикару Накамура мен жетекші Rybka шахмат бағдарламасы арасындағы блиц-кездесуде болды. Әр тарапқа барлық жүрістер үшін небәрі үш минут берілген ойында басымдық секунд сайын миллиондаған позицияларды бағалай алатын компьютер жағында сияқты көрінді. Бірақ Накамура бірден тақтаны бұғаттап, мағынасыз, қайталанатын жүрістерді жылдам жасай бастады. Сонымен қатар, компьютер жоқ жеңіс варианттарын іздеуге және Накамураның болашақ жүрістерін болжауға бағалы уақытын босқа жұмсады, ал Накамураның өзі жай ғана уақыт өткізіп отырды. Компьютердің уақыты таусылуға жақындап, уақыт бойынша ұтылмау үшін бейберекет жүрістер жасай бастағанда, Накамура позицияны ашып, жеңіске жетті. )
Рекурсияның қауіптілігін ескерсек, покер мамандары одан қалай шығады? Олар ойын теориясын қолданады. «Кейде сіз пайдалы [деңгейлеу] жүрістерін жасауға себеп таба аласыз, бірақ көбінесе сіз жай ғана бос „шуыл“ үшін нашар жүрістер жасайсыз», — деп түсіндіреді Дэн Смит. «Мен көптеген жағдайларда теориялық негізді сақтауға тырысамын... Мен әрдайым Нэштің не екенін білуден немесе білуге тырысудан бастаймын».
Сонымен, Нэш деген не?
Тепе-теңдікке жету
Сіз ережелерді білесіз, мен де білемін... Біз ойынды білеміз және оны ойнаймыз. — РИК ЭСТЛИ
Ойын теориясы ынтымақтастық пен бәсекелестіктің өте кең спектрін қамтиды, бірақ бұл сала екі адамдық покерге ұқсас сценарийлерден басталды: бір ойыншының ұтысы екіншісінің ұтылысы болатын екі адамдық сайыстар. Бұл ойындарды талдайтын математиктер «тепе-теңдік» (ешбір ойыншы өз стратегиясын өзгерткісі келмейтін тұрақты жағдай) деп аталатын күйді анықтауға тырысады. Бұл стратегиялар жиынтығы, мұнда қарсыласының жүрісін ескере отырып, ешбір ойыншы өз ойынын өзгерткісі келмейді. Ол тепе-теңдік деп аталады, себебі ол тұрақты — ешқандай әрі қарайғы ойлану ойыншыларды басқа таңдауға әкелмейді. Сіздің стратегияңызды ескере отырып, мен өз таңдауыма ризамын, ал менікін ескере отырып, сіз өз таңдауыңызға ризасыз.
Мысалы, «тас-қайшы-қағаз» ойынында тепе-теңдік бізге осы үш белгінің бірін кездейсоқ түрде, әрқайсысын уақыттың шамамен үштен бірінде таңдауды ұсынады. Бұл тепе-теңдікті тұрақты ететін нәрсе — екі ойыншы да осы 1/3 - 1/3 - 1/3 стратегиясын қабылдағаннан кейін, оны ұстанудан артық ештеңе жоқ. (Егер біз, айталық, көбірек „тас“ шығаруға тырыссақ, қарсыласымыз оны тез байқап, көбірек „қағаз“ шығара бастайды, бұл бізді көбірек „қайшы“ шығаруға мәжбүр етеді және екеуміз қайтадан 1/3 - 1/3 - 1/3 тепе-теңдігіне келгенше осылай жалғаса береді. )
Ойын теориясының негізгі нәтижелерінің бірі ретінде математик Джон Нэш 1951 жылы кез келген екі ойыншы қатысатын ойынның кем дегенде бір тепе-теңдігі болатынын дәлелдеді. Бұл маңызды жаңалық Нэшке 1994 жылы Экономика бойынша Нобель сыйлығын алып берді (және оның өмірі туралы „Сана ойындары“ кітабы мен фильміне негіз болды). Мұндай тепе-теңдік қазір жиі «Нэш тепе-теңдігі» (ойын теориясындағы барлық қатысушылар үшін ешқайсысы өз стратегиясын жалғыз өзгерткісі келмейтін тұрақты күй) деп аталады — бұл Дэн Смит әрдайым бақылап отыруға тырысатын «Нэш».
Бір қарағанда, екі ойыншы қатысатын ойындарда Нэш тепе-теңдігінің әрқашан болуы бізді покерге және басқа да көптеген сайыстарға тән айналар залындағы рекурсиялардан құтқаратындай көрінеді. Біз рекурсиялық шыңырауға түсіп бара жатқанымызды сезгенде, бізде әрқашан қарсыластың басынан шығып, тепе-теңдікті іздеу, яғни рационалды ойынды ескере отырып, тікелей ең жақсы стратегияға көшу мүмкіндігі бар. „Тас-қайшы-қағаз“ ойынында қарсыласыңыздың келесіде не тастайтынын білу үшін оның жүзіне үңілудің қажеті болмауы мүмкін, егер сіз кездейсоқ таңдау ұзақ мерзімді перспективада жеңілмейтін стратегия екенін білсеңіз.
Жалпы алғанда, Нэш тепе-теңдігі кез келген ережелер немесе ынталандырулар жиынтығының тұрақты ұзақ мерзімді нәтижесін болжауды ұсынады. Осылайша, ол экономикалық саясатты, сондай-ақ жалпы әлеуметтік саясатты болжау және қалыптастыру үшін баға жетпес құрал болып табылады. Нобель сыйлығының лауреаты, экономист Роджер Майерсон айтқандай, Нэш тепе-теңдігі «экономика мен әлеуметтік ғылымдарға биология ғылымдарындағы ДНҚ-ның қос шиыршығының ашылуымен тең келетін іргелі және жан-жақты әсер етті».
Алайда, компьютерлік ғылым бұл жағдайды күрделілендірді. Жалпы алғанда, математикадағы зерттеу нысаны — ақиқат; компьютерлік ғылымдағы зерттеу нысаны — күрделілік. Көріп отырғанымыздай, егер мәселе өте күрделі (intractable) болса, оның шешімі бар екенін білу жеткіліксіз.
Ойын теориясы тұрғысынан тепе-теңдіктің бар екенін білу оның не екенін немесе оған қалай жетуге болатынын айтпайды. Берклидегі Калифорния университетінің компьютерлік ғалымы Христос Пападимитриу жазғандай, ойын теориясы «агенттердің тепе-теңдік мінез-құлқын әдетте мұндай күйге қалай жетуге болатынына мән бермей болжайды — бұл компьютерлік ғалым үшін ең бірінші кезектегі мәселе». Стэнфордтық Тим Рафгарден Нэштің тепе-теңдік әрқашан бар екендігі туралы дәлеліне қанағаттанбаушылық білдіреді. «Жақсы, — дейді ол, — бірақ біз компьютерлік ғалымдармыз ғой? Бізге қолдануға болатын нәрсе беріңіз. Оның бар екенін айтып қана қоймай, оны қалай табуға болатынын айтыңыз». Осылайша, дәстүрлі ойын теориясынан алгоритмдік ойын теориясы туындады — яғни ойындардың теориялық идеалды стратегияларын зерттеу машиналар (және адамдар) ойындар үшін стратегияларды қалай жасайтынын зерттеуге айналды.
Белгілі болғандай, Нэш тепе-теңдігі туралы тым көп сұрақ қою сізді есептеуіш қиындықтарға тез әкеледі. ХХ ғасырдың аяғында ойынның бірнеше тепе-теңдігі бар-жоғын немесе белгілі бір табыс беретін тепе-теңдікті немесе нақты бір әрекетті қамтитын тепе-теңдікті анықтаудың бәрі шешілуі өте қиын мәселелер екені дәлелденді. Содан кейін, 2005 жылдан 2008 жылға дейін Пападимитриу мен оның әріптестері Нэш тепе-теңдігін жай ғана табудың өзі есептеу тұрғысынан өте күрделі екенін дәлелдеді.
«Тас-қайшы-қағаз» сияқты қарапайым ойындарда тепе-теңдік бірден көрінуі мүмкін, бірақ нақты өмірдегі күрделі ойындарда қатысушылар ойынның тепе-теңдігін таба алады немесе оған жете алады деп сеніммен айта алмаймыз. Бұл, өз кезегінде, ойын дизайнерлері ойыншылардың қалай әрекет ететінін болжау үшін тепе-теңдікті міндетті түрде қолдана алмайтынын білдіреді. Бұл нәтиженің салдары өте терең: Нэш тепе-теңдігі экономикалық теорияда нарық мінез-құлқын модельдеу және болжау тәсілі ретінде қастерлі орынға ие болды, бірақ бұл орынға ол лайық болмауы мүмкін. Пападимитриу түсіндіргендей: «Егер тепе-теңдік концепциясы тиімді есептелмейтін болса, оның рационалды агенттердің мінез-құлқын болжау ретіндегі сенімділігінің көп бөлігі жоғалады». Массачусетс технологиялық институтынан (MIT) Скотт Ааронсон онымен келіседі. «Менің ойымша, — дейді ол, — егер Нэш тепе-теңдігінің бар екендігі туралы теорема (айталық) еркін нарық пен мемлекеттік араласу туралы пікірталастарға қатысты деп есептелсе, онда сол тепе-теңдіктерді табудың өте күрделі екендігі туралы теорема да маңызды деп есептелуі керек». Нэш тепе-теңдігінің болжамдық қабілеті тек сол тепе-теңдіктерді ойыншылар шынымен таба алған жағдайда ғана маңызды. eBay-дің бұрынғы зерттеу директоры Камал Джейннің сөзімен айтқанда: «Егер сіздің ноутбугіңіз оны таба алмаса, нарық та таба алмайды».
Жақсы немесе жаман доминантты стратегиялар
Біз тепе-теңдікке жете алған күннің өзінде, оның тұрақты болуы оның жақсы екенін білдірмейді. Парадоксалды болып көрінуі мүмкін, бірақ тепе-теңдік стратегиясы — мұнда ешбір ойыншы өз бағытын өзгерткісі келмейді — міндетті түрде ойыншылар үшін ең жақсы нәтижелерге әкелетін стратегия емес. Бұл ойын теориясының ең танымал, арандатушылық және даулы екі адамдық ойынында жақсы суреттелген: «тұтқын дилеммасы» (ойын теориясындағы екі қатысушының өз мүддесін көздей отырып, жалпы нәтиже үшін тиімсіз шешім қабылдайтынын көрсететін модель) .
Тұтқын дилеммасы келесідей жұмыс істейді. Елестетіп көріңізші, сіз бен сыбайласыңыз банк тонағаннан кейін қамауға алындыңыз және бөлек камераларда отырсыз. Енді сіз бір-біріңізбен «ынтымақтасу» (үнсіз қалу және ештеңені мойындамау) немесе біріңізді-біріңіз полицияға ұстап беру арқылы серіктестіктен «бас тарту» туралы шешім қабылдауыңыз керек. Егер екеуіңіз де бір-біріңізбен ынтымақтасып, үнсіз қалсаңыз, мемлекеттің екеуіңізді де соттауға жеткілікті дәлелі болмайды, сондықтан екеуіңіз де олжаны — айталық, әрқайсыңыз жарты миллион доллардан бөлісіп, бостандыққа шығасыз. Егер біреуіңіз сатып кетіп, екіншісі туралы хабарласаңыз, ал екіншісі ештеңе айтпаса, хабарлаған адам бостандыққа шығады және бүкіл миллион долларды алады, ал үнсіз қалған адам қылмыстың жалғыз орындаушысы ретінде сотталып, он жылға бас бостандығынан айырылады. Егер екеуіңіз де бір-біріңіз туралы хабарласаңыз, онда сіз кінәні бөлісіп, жазаны да бөлісесіз: әрқайсыңызға бес жылдан.
Міне, мәселе осында. Сіздің сыбайласыңыз не істесе де, сіз үшін әрқашан сатып кету (бас тарту) тиімдірек.
Егер сыбайласыңыз сізді ұстап берсе, оны да ұстап беру сізге өміріңіздің бес жылын қайтарады — сіз он жыл емес, бес жыл ғана отырасыз. Ал егер сыбайласыңыз үнсіз қалса, оны ұстап беру сізге толық миллион долларды әкеледі — оны бөлісудің қажеті болмайды. Қалай болғанда да, сыбайласыңыздың шешіміне қарамастан, сіз үшін ынтымақтастықтан көрі бас тарту тиімдірек. Басқаша әрекет ету сізді әрқашан нашар жағдайға қалдырады.
Шын мәнінде, бұл бас тартуды жай ғана тепе-теңдік стратегиясы емес, «доминантты стратегия» (қарсыластың кез келген әрекетіне қарамастан, ойыншы үшін ең тиімді болып қалатын стратегия) етеді. Доминантты стратегия қарсыластың барлық мүмкін стратегияларына ең жақсы жауап бола отырып, рекурсиядан мүлдем құтқарады — сондықтан сізге олардың ойына кіріп, бас қатырудың қажеті де жоқ. Доминантты стратегия — өте қуатты нәрсе.
Бірақ енді біз парадоксқа тап болдық. Егер әркім рационалды әрекет етіп, доминантты стратегияны ұстанатын болса, оқиға екеуіңіздің де бес жылға сотталуыңызбен аяқталады — бұл бостандық пен жарты миллион доллармен салыстырғанда, барлық қатысушылар үшін әлдеқайда нашар. Бұл қалай болды?
Бұл дәстүрлі ойын теориясының негізгі түсініктерінің бірі ретінде қалыптасты: өз мүддесі үшін рационалды әрекет ететін ойыншылар жиынтығы үшін тепе-теңдік — бұл ойыншылар үшін іс жүзінде ең жақсы нәтиже болмауы мүмкін.
Алгоритмдік ойын теориясы, компьютерлік ғылым принциптеріне сүйене отырып, бұл түсінікті алды және оны сандық түрде бағалады, «анархия құны» (орталықтандырылған басқаруы бар жүйе мен өз бетінше әрекет ететін қатысушылар жүйесінің тиімділігі арасындағы айырмашылық) деп аталатын өлшемді жасады. Анархия құны ынтымақтастық (орталықтандырылған немесе үйлестірілген шешім) пен бәсекелестік (мұнда әр қатысушы өз нәтижесін барынша арттыруға тырысады) арасындағы алшақтықты өлшейді. Тұтқын дилеммасы сияқты ойында бұл құн іс жүзінде шексіз: бәс тігілген ақша сомасын көбейту және түрме мерзімін ұзарту доминантты стратегия өзгермесе де, мүмкін нәтижелер арасындағы алшақтықты қалағанша кеңейте алады. Егер ойыншылар үйлесімді әрекет етпесе, жағдайдың қаншалықты қиындай түсетініне шек жоқ. Бірақ басқа ойындарда, алгоритмдік ойын теоретиктері анықтағандай, анархия құны онша жаман емес.
Мысалы, трафикті қарастырайық. Бұл күнделікті кептелісте тұрған жеке көлік жүргізушілері болсын немесе Интернет арқылы TCP пакеттерін тарататын роутерлер болсын, жүйедегі әрбір адам тек өзіне ыңғайлы нәрсені қалайды. Жүргізушілер жай ғана ең жылдам бағытпен жүргісі келеді, ал роутерлер пакеттерді аз күш жұмсап өткізгісі келеді — бірақ екі жағдайда да бұл маңызды жолдарда шамадан тыс жүктемеге әкеліп, бәріне зиян тигізетін кептеліс тудыруы мүмкін. Алайда, қаншалықты зиян? Таңқаларлығы, Тим Рафгарден мен Корнелл университетінен Ева Тардос 2002 жылы «эгоистік маршруттау» тәсілінде анархия құны небәрі 4/3 екенін дәлелдеді. Яғни, бейберекет қозғалыс мінсіз орталықтандырылған үйлестіруден небәрі 33%-ға ғана нашар.
Рафгарден мен Тардостың жұмысы физикалық трафикті қалалық жоспарлау үшін де, желілік инфрақұрылым үшін де терең маңызға ие. Эгоистік маршруттаудың анархия құнының төмендігі, мысалы, Интернеттің жеке пакеттерді бағыттауды басқаратын ешқандай орталық органсыз неге соншалықты жақсы жұмыс істейтінін түсіндіруі мүмкін. Тіпті мұндай үйлестіру мүмкін болса да, ол көп нәрсе қоспаған болар еді.
Адамдардың қозғалысына келетін болсақ, анархия құнының төмендігі екі жақты әсер етеді. Жақсы жаңалығы — орталықтандырылған үйлестірудің болмауы сіздің жолыңызды ең көп дегенде 33%-ға ғана нашарлатады. Екінші жағынан, егер сіз желілік, өзін-өзі басқаратын автономды көліктер бізге трафик утопиясын әкеледі деп үміттенсеңіз, бүгінгі эгоист, үйлесімсіз жүргізушілердің қазірдің өзінде оңтайлы күйге жақын екенін білу көңілге қаяу түсіруі мүмкін. Өзін-өзі басқаратын көліктер жол апаттарының санын азайтып, бір-біріне жақынырақ жүре алуы мүмкін екені рас, бұл трафикті жылдамдатады. Бірақ кептеліс тұрғысынан алғанда, анархия мінсіз үйлестіруден небәрі 4/3 есе артық екенін ескерсек, мінсіз үйлестірілген жолдар қазіргіге қарағанда тек 3/4 есе ғана аз кептеліс болады деген сөз. Бұл Джеймс Бранч Кейбеллдің әйгілі сөзіне ұқсайды: «Оптимист біз мүмкін болатын әлемдердің ең жақсысында өмір сүріп жатырмыз деп мәлімдейді; ал пессимист мұның шындық екенінен қорқады». Кептеліс — бұл әрқашан жеке жүргізушілердің (адам немесе компьютер, эгоист немесе ынтымақтас) шешімдерінен гөрі, жоспарлаушылар мен жалпы сұраныс арқылы шешілетін мәселе болып қала береді.
Анархия құнын сандық бағалау бұл салаға орталықсыздандырылған жүйелердің оң және теріс жақтарын бағалаудың нақты және қатаң тәсілін берді, бұл адамдар ойынға (олар мұны біле ме, жоқ па) қатысатын кез келген сала үшін кең мағынаға ие. Анархия құнының төмен болуы жүйенің өздігінен жақсы жұмыс істейтінін білдіреді. Жоғары анархия құны, керісінше, жағдай мұқият үйлестірілген жағдайда жақсы болуы мүмкін екенін, бірақ қандай да бір араласусыз біз апатқа ұшырайтынымызды білдіреді. Тұтқын дилеммасы осы соңғы түрге жататыны анық. Өкінішке орай, әлем ойнауы тиіс көптеген маңызды ойындар да осындай.
Ортақ пайдалану трагедиясы
1968 жылы эколог Гаррет Хардин екі адамдық тұтқын дилеммасын алып, оны ауылдың барлық мүшелерін қамтитын деңгейге дейін кеңейтуді елестетті. Хардин өз оқырмандарына барлығының малы жайыла алатын, бірақ мүмкіндігі шектеулі «ортақ» қоғамдық шабындықты елестетуді ұсынды. Теория жүзінде, барлық ауыл тұрғындары шөп бәріне жетуі үшін тек шектеулі мөлшерде мал жаюы керек. Іс жүзінде, белгіленген мөлшерден сәл артық мал жаюдың пайдасы тікелей сізге тиеді, ал оның зияны мардымсыз болып көрінеді. Бірақ егер әркім ортақ мүлікті тиісті мөлшерден сәл артық пайдалану логикасын ұстанатын болса, бұл қорқынышты тепе-теңдікке әкеледі: толығымен тапталған шабындық және одан кейін ешкімнің малы үшін шөп қалмайды.
Хардин бұл құбылысты «ортақ пайдалану трагедиясы» (жеке тұлғалардың өз мүддесін көздеп, ортақ ресурсты шектен тыс пайдалануы нәтижесінде оның таусылуы) деп атады және бұл экономистер, саясаттанушылар мен экологиялық қозғалыстар үшін қоршаған ортаның ластануы мен климаттың өзгеруі сияқты ауқымды экологиялық дағдарыстарды қарастыратын негізгі призмалардың біріне айналды. «Мен бала кезімде этилденген бензин деген нәрсе болатын», — дейді Карнеги-Меллон университетінің компьютерлік ғалымы және ойын теоретигі Аврим Блум. «Ол он центке арзанырақ болды, бірақ қоршаған ортаны ластайтын... Басқалардың не істеп жатқанын ескерсек, өз көлігіңізге этилденген бензин құйсаңыз, жеке өзіңіздің денсаулығыңызға қаншалықты зиян келеді? Ол онша білінбейді. Бұл — тұтқын дилеммасы». Бұл корпоративтік және ұлттық деңгейде де орын алады. Жақында бір газеттің тақырыбы бұл мәселені нақты жеткізді: «Тұрақты климат қазба отындарының көп бөлігі жер астында қалуын талап етеді, бірақ кімдікі? » Әрбір корпорация (және белгілі бір дәрежеде әрбір ұлт) бәсекелестік артықшылық үшін өз замандастарына қарағанда біршама ұқыпсыз болғанды жөн көреді. Бірақ егер олардың бәрі ұқыпсыз әрекет етсе, бұл Жердің тозуына әкеледі және бәрі босқа: ешкім үшін бастапқы жағдаймен салыстырғанда экономикалық артықшылық болмайды.
Ойынның бұл түрінің логикасы соншалықты кең таралған, тіпті оның теріс әсерін көру үшін жаман ниеттің де қажеті жоқ. Біз таза ар-ұжданмен-ақ қорқынышты тепе-теңдікке тап болуымыз мүмкін. Қалай? Компанияңыздың демалыс саясатына қараңыз. Америкада адамдар әлемдегі ең ұзақ жұмыс уақытының бірін орындайды; Economist журналы жазғандай, «еш жерде жұмыстың құны соншалықты жоғары және демалыстың құны соншалықты төмен емес». Жұмыс берушілердің демалыс уақытын беруін талап ететін заңдар аз, тіпті американдық қызметкерлер демалыс уақытын алса да, оны пайдаланбайды. Жақында жүргізілген зерттеу орташа жұмысшының өзіне берілген демалыс күндерінің тек жартысын ғана алатынын, ал таңқаларлық 15%-ы мүлдем демалыс алмайтынын көрсетті.
Қазіргі уақытта біз (авторлар) тұратын Бей-Ареа (Сан-Франциско шығанағы аймағы) демалыс саясатына қатысты түбегейлі парадигмалық өзгерістер арқылы бұл өкінішті жағдайды түзетуге тырысуда. Бұл қадам ізгі ниеттен туғанымен, ол толығымен сәтсіздікке ұшырауға тағдырлас. Оның алғышарты өте қарапайым көрінеді: әр қызметкер үшін белгілі бір демалыс күндерін бекітіп, содан кейін HR бөлімінің жұмыс уақытын ешкім лимиттен асып кетпеуін қадағалауға жұмсағанша, неге қызметкерлерге еркіндік бермеске? Неге оларға шектеусіз демалысқа рұқсат бермеске? Осы уақытқа дейінгі жекелеген есептер әртүрлі нәтиже көрсетіп отыр, бірақ ойын теориясы тұрғысынан бұл тәсіл — нағыз қорқынышты түс. Теория жүзінде барлық қызметкерлер мүмкіндігінше көбірек демалыс алғысы келеді. Бірақ сонымен бірге, олар басқаларға қарағанда адал, жауапты және берілген (демек, лауазымының өсуіне лайықтырақ) болып көріну үшін, әріптестерінен сәл ғана аз демалыс алғысы келеді. Әркім негізгі деңгейді анықтау үшін басқаларға қарайды және сол деңгейден сәл ғана аз алуға тырысады. Бұл ойынның Нэш тепе-теңдігі (ойынның барлық қатысушылары үшін ең тұрақты, бірақ әрдайым тиімді емес күйі) — нөл. Travis CI бағдарламалық жасақтама компаниясының бас директоры Матиас Мейер жазғандай: «Адамдар ең көп демалыс алатын адам болып көрінбеу үшін демалыс алуға қымсынатын болады. Бұл — түпсіз тұңғиыққа жарысу».
Бұл — ортақ игілік қасіретінің (ортақ ресурстарды жеке мүдде үшін пайдаланудың жалпыға зиян тигізуі) айқын көрінісі. Бұл жағдай фирма ішінде де, фирмалар арасында да бірдей зиянды. Шағын қаладағы екі дүкеншіні елестетіп көріңізші. Олардың әрқайсысы аптасына жеті күн жұмыс істеуді немесе жексенбі күні демалып, достарымен және отбасымен уақыт өткізу үшін алты күн ғана жұмыс істеуді таңдай алады. Егер екеуі де демалыс алса, олар өздерінің нарықтағы үлесін сақтап қалады және аз күйзеліске ұшырайды. Алайда, егер бір дүкенші аптасына жеті күн жұмыс істеуді ұйғарса, ол қосымша клиенттерді тартып, оларды бәсекелесінен тартып алады және оның күнкөрісіне қауіп төндіреді. Нэш тепе-теңдігі, тағы да, әркімнің үнемі жұмыс істеуіне әкеп соғады.
Дәл осы мәселе 2014 жылғы мерекелік маусымда Америка Құрама Штаттарында шиеленісті нүктеге айналды. Рөлдік ойыншылар ретінде сатушылар Алғыс айту күнінен кейінгі әдеттегі сауда қарбаласынан озып кеткісі келген бәсекелестеріне нарықтық үлесті бергісі келмей, бірінен соң бірі осы тиімсіз тепе-теңдікке бой алдырды. International Business Times хабарлағандай: «Дүкендер бұрынғыдан да ерте ашылып жатыр». Macy’s өткен жылғыдан екі сағат ерте ашылуды ұйғарды, Target та солай істеді. Kmart болса, Алғыс айту күні таңғы сағат 06:00-де ашылып, қырық екі сағат бойы үздіксіз жұмыс істеді.
Сонымен, біз ойыншылар ретінде екі жақты «тұтқын дилеммасына» немесе көпжақты «ортақ игілік қасіретіне» тап болғанда не істей аламыз? Бір жағынан, ештеңе істей алмаймыз. Осы жаман тепе-теңдіктердің тұрақтылығы, яғни оларды тепе-теңдікке айналдыратын қасиеті, қарғысқа айналады. Жалпы алғанда, біз басым стратегияларды іштей өзгерте алмаймыз. Бірақ бұл жаман тепе-теңдіктерді түзету мүмкін емес дегенді білдірмейді. Бұл жай ғана шешім басқа жерден келуі керек дегенді білдіреді.
Механизмдер дизайны: Ойынды өзгерту
Ойыншыны кінәлама, ойынды кінәла. — ICE-T
Енді қайтып ешқашан ешкіммен отбасыңа қарсы шықпа — ешқашан. — «ӨКІЛ ӘКЕ» (THE GODFATHER)
Тұтқын дилеммасы (екі жақ бір-біріне сенбегендіктен, екеуіне де тиімсіз шешім қабылдайтын жағдай) адамдар арасындағы ынтымақтастықтың табиғаты туралы ұрпақтар бойы жалғасқан пікірталастар мен қарама-қайшылықтардың орталығында болды. Бірақ Лондон университеттік колледжінің ойын теоретигі Кен Бинмор бұл қайшылықтардың кем дегенде бір бөлігін қате деп санайды. Ол былай деп дәлелдейді: «Тұтқын дилеммасы адамзат ынтымақтастығы үшін маңызды нәрсені сипаттайды деген түсінік мүлдем қате. Керісінше, ол ынтымақтастықтың пайда болуына қарсы барлық жағдайлар жасалған жағдайды білдіреді».
Егер ойын ережелері жаман стратегияға мәжбүрлесе, бәлкім, біз стратегияларды өзгертуге тырыспауымыз керек шығар. Бәлкім, біз ойынның өзін өзгертуге тырысуымыз керек.
Бұл бізді ойын теориясының механизмдер дизайны (қажетті нәтижеге жету үшін ойын ережелерін құрастыру саласы) деп аталатын тармағына әкеледі. Ойын теориясы берілген ережелер жиынтығында қандай мінез-құлық пайда болатынын зерттесе, механизмдер дизайны (кейде «кері ойын теориясы» деп аталады) кері бағытта жұмыс істейді: біз көргіміз келетін мінез-құлықты қандай ережелер береді? Егер ойын теориясының ашқан жаңалықтары — мысалы, тепе-теңдік стратегиясы әр ойыншы үшін ұтымды болғанымен, барлығы үшін зиянды болуы мүмкін екендігі — интуицияға қайшы келсе, механизмдер дизайнының ашқан жаңалықтары одан да қатты таңғалдырады.
Сізді және сіздің банк тонаған сыбайласыңызды тағы бір рет тұтқын дилеммасына, бірақ бір маңызды қосымшамен — «Өкіл әкемен» (Godfather) бірге камераға қайта оралайық. Енді сіз бен сыбайласыңыз қылмыстық топтың мүшесісіздер және «дон» кез келген ақпарат берушінің «балықтармен бірге ұйықтайтынын» (өлтірілетінін) ашық ескертті. Ойынның нәтижелеріндегі бұл өзгеріс сіз жасай алатын әрекеттерді шектеуге бағытталған, бірақ қызығы, бұл жағдайдың сіз үшін де, серіктесіңіз үшін де жақсы аяқталу ықтималдығын айтарлықтай арттырады. Сатқындық жасаудың тартымдылығы төмендегендіктен (жұмсартып айтқанда), екі тұтқын да бірлесе жұмыс істеуге мәжбүр болады және екеуі де жарты миллион долларға байып, аман-есен шығады. Әрине, донға тиесілі үлесті алып тастағанда.
Мұндағы таңғаларлық әрі қуатты нәрсе — біз әрбір жағымсыз нәтижені (бір жағынан өлім, екінші жағынан салықтар) нашарлату арқылы тепе-теңдікті өзгертіп, барлығының өмірін жақсарта аламыз.
Шағын қала дүкеншілері үшін жексенбіде демалу туралы ауызша келісім тұрақсыз болар еді: кез келген дүкеншіге қосымша ақша қажет болған бойда, ол келісімді бұзуға бейім болады, бұл екіншісінің де нарықтағы үлесін жоғалтпау үшін жексенбіде жұмыс істей бастауына түрткі болады. Бұл оларды екі дүниенің де нашар жағына тап болатын жаман тепе-теңдікке қайта әкеледі: олар шаршайды және бұл үшін ешқандай бәсекелестік артықшылыққа ие болмайды. Бірақ олар, мысалы, жексенбі күні кез келген дүкеннен түскен барлық табыс екінші дүкенге кететіні туралы заңды күші бар шартқа қол қою арқылы өздерінің «өкіл әкесі» ретінде әрекет ете алады. Қанағаттандырмайтын тепе-теңдікті нашарлату арқылы олар жаңа және жақсырақ тепе-теңдік жасай алады.
Екінші жағынан, ойынның нәтижелеріне жасалған, бірақ тепе-теңдікті өзгертпейтін өзгеріс, әдетте, күтілгеннен әлдеқайда аз әсер береді. Evernote бағдарламалық фирмасының бас директоры Фил Либин Evernote қызметкерлеріне демалыс алғаны үшін мың доллар нақты ақша ұсыну саясатымен жаңалықтарға шықты. Бұл көбірек қызметкерлерді демалысқа шығарудың орынды тәсілі сияқты көрінеді, бірақ ойын теориясы тұрғысынан бұл шын мәнінде қате қадам. Мысалы, тұтқын дилеммасында үстелдегі ақшаны көбейту мәселені шешпейді: бұл өзгеріс жаман тепе-теңдікті өзгерту үшін ештеңе істемейді. Егер миллион долларлық тонау екі ұрының да түрмеге түсуімен аяқталса, он миллион долларлық тонау да солай аяқталады. Мәселе демалыстардың тартымсыздығында емес; мәселе — әркім өз әріптестерінен сәл аз демалыс алғысы келетіндігінде, бұл жалғыз тепе-теңдігі «ешқандай демалыссыз» ойынды тудырады. Мың доллар мәмілені жақсартады, бірақ ойынның принципін өзгертпейді. Ал ойынның принципі — мүмкіндігінше көп демалыс алып, сонымен бірге келесі адамнан сәл адал болып көріну, осылайша олардан озып, мыңдаған доллар тұратын жалақыны өсіру немесе лауазымды жоғарылату алу.
Бұл Либин әр қызметкерге әр демалыс үшін ондаған мың доллар ұсынуы керек дегенді білдіре ме? Жоқ. Механизмдер дизайны Либинге өзі қалайтын бақытты қызметкерлерді «сәбізбен» (ынталандыру) емес, «таяқпен» (мәжбүрлеу) алуға болатынын айтады; ол бір тиын жұмсамай-ақ жақсырақ тепе-теңдікке қол жеткізе алады. Мысалы, ол белгілі бір минималды демалыс мөлшерін міндетті ете алады. Егер ол жарысты өзгерте алмаса, ол әлі де түпкі шекті өзгерте алады. Механизмдер дизайны дизайнердің қажеттілігі туралы қуатты дәлел келтіреді — ол бас директор, барлық тараптарды байланыстыратын келісімшарт немесе омертаны (қылмыстық әлемдегі үнсіздік заңы) қатаң сақтататын өкіл әке болуы мүмкін.
Лига комиссары да осындай дизайнер болып табылады. Егер NBA-да ойындар болмаса және командалар маусымның басы мен соңы арасында кез келген уақытта: жексенбі түнгі сағат 03:00-де, Рождествода түсте, қысқасы, кез келген уақытта бір-біріне гол сала алатын болса, бұл қандай аянышты көрініс болар еді. Сіз химиялық стимуляторлардың көмегімен сергектікті сақтауға тырысқан, ұйқының қатты жетіспеушілігінен естерінен адаса бастаған, қажыған, арық ойыншыларды көрер едіңіз. Соғыс дәл осындай. Екінші жағынан, тіпті Уолл-стриттегі «ешқашан ұйықтамайтын қалада» микросекундтармен сауда жасайтын аяусыз капиталистер де күн сайын кешкі сағат 16:00-де «отты тоқтату» режиміне көшеді. Бұл брокерлердің ұйқысыз тепе-теңдікке ұмтылған бәсекелестерінің тұтқиылдан жасаған шабуылына ұшырамай, күн сайын белгілі бір сағаттарда ұйықтай алуы үшін жасалады. Осы тұрғыдан алғанда, қор нарығы соғыстан гөрі спортқа көбірек ұқсайды.
Бұл логиканы кеңейту үкіметтің рөлі туралы салмақты дәлел береді. Шын мәнінде, көптеген үкіметтерде минималды демалыстарды міндеттейтін және дүкендердің жұмыс уақытын шектейтін заңдар бар. Америка Құрама Штаттары ақылы демалысқа қатысты федералдық талаптары жоқ жалғыз дамыған елдердің бірі болса да, Массачусетс, Мэн және Род-Айленд штаттарында Алғыс айту күніндегі сауда-саттыққа штаттық деңгейде тыйым салынған.
Мұндай заңдар көбінесе отарлау дәуірінен бастау алады және бастапқыда діни сипатта болған. Шынында да, діннің өзі осындай ойындардың құрылымын өзгертудің өте тікелей жолын ұсынады. Атап айтқанда, «Сенбі күнін есте сақта» сияқты діни заң, мейлі ол құдіретті Құдай тарапынан болсын, мейлі діни қауымдастықтың жақын мүшелері тарапынан болсын, дүкеншілер алдында тұрған мәселені жақсы шешеді. Кісі өлтіру, зинақорлық және ұрлық сияқты әлеуметке қарсы мінез-құлықтың басқа түрлеріне тыйым салуға құдайлық күш қосу — бұл да әлеуметтік топта өмір сүрудің ойын-теориялық мәселелерін шешудің жолы. Құдай бұл тұрғыда үкіметтен де асып түседі, өйткені бәрін білушілік және бәріне құдіреттілік жаман әрекеттердің ауыр зардаптарға әкелетініне ерекше кепілдік береді. Белгілі болғандай, «Көктегі Әкеден» асқан «Өкіл әке» жоқ.
Дін — компьютерлік ғалымдар сирек айтатын тақырып сияқты көрінеді; шын мәнінде, ол сөзбе-сөз «Компьютерлік ғалым сирек айтатын нәрселер» деп аталатын кітаптың тақырыбы. Бірақ адамдардың таңдау мүмкіндіктерін азайту арқылы дін жүктейтін мінез-құлық шектеулері шешім қабылдаудың кейбір түрлерін есептеу тұрғысынан жеңілдетіп қана қоймай, сонымен бірге жақсы нәтижелер де бере алады.
Эволюция арқылы механизмдер дизайны
Адам қаншалықты өзімшіл болса да, оның табиғатында басқалардың тағдырына қызығушылық танытатын және олардың бақытын өзіне қажет ететін кейбір принциптер бар, тіпті ол бұдан оны көруден басқа ешқандай пайда таппаса да. — АДАМ СМИТ, «МОРАЛЬДЫҚ СЕЗІМДЕР ТЕОРИЯСЫ»
Жүректің ақыл-ой білмейтін өз себептері бар. — БЛЕЗ ПАСКАЛЬ
Калифорнияның алып секвойялары — планетадағы ең көне және ең айбынды тіршілік иелерінің бірі. Алайда, ойын теориясы тұрғысынан олар — бір трагедия. Олардың осыншалықты биік болуының жалғыз себебі — олардың бір-бірінен биік болуға тырысуы. Бұл тырысу шамадан тыс созылудың зияны көлеңкеде қалудың зиянынан асып түсетін нүктеге дейін жалғасады. Ричард Докинз айтқандай:
Орман шатырын (жасыл жамылғысын) тіреуіштерге көтерілген жазық дала сияқты елестетуге болады. Шатыр күн энергиясын жазық дала сияқты жылдамдықпен жинайды. Бірақ энергияның едәуір бөлігі «бес босқа кетеді», өйткені ол тіреуіштерді (діңдерді) қоректендіруге жұмсалады. Ал бұл тіреуіштер «даланы» биікке көтеруден басқа ешқандай пайдалы іс атқармайды. Егер бұл жасыл желек жерде жатса да, дәл осындай фотондарды әлдеқайда аз шығынмен жинар еді.
Егер орман қандай да бір «бітімге» келе алса, экожүйе фотосинтетикалық молшылықты ағаш өсіру жарысына шығындалмай-ақ пайдалана алар еді. Бірақ біз көргеніміздей, мұндай сценарийлерде жақсы нәтижелер тек ойыннан тыс беделді тұлғаның контекстінде ғана пайда болады — біреу нәтижелерді жоғарыдан төмен қарай өзгертуі керек. Солай бола тұра, табиғатта жеке тұлғалар арасында жақсы тепе-теңдік орнатудың жолы жоқ сияқты көрінеді.
Екінші жағынан, егер ынтымақтастық белгілі бір ойындарда жақсы нәтижелерге әкелетіні рас болса, онда біз ынтымақтастыққа бейім түрлердің эволюциялық тұрғыдан басым болатынын күтер едік. Бірақ егер ынтымақтастық жеке деңгейде емес, тек топтық деңгейде ғана ұтымды болса, ол қайдан шығады? Бәлкім, ол адамдар толығымен басқара алмайтын нәрседен келуі керек шығар. Мысалы, сезімдер сияқты нәрседен.
Бір-біріне мүлдем қатысы жоқ сияқты көрінетін екі сценарийді қарастырайық: (1) Ер адам шаңсорғыш сатып алады, ол бірнеше аптадан кейін бұзылып қалады, ол желіде кек алу мақсатында жағымсыз пікір қалдыруға он минут уақытын жұмсайды. (2) Дүкенде жүрген әйел біреудің қарт адамның әмиянын ұрлап, есікке қарай қашқанын байқайды; ол ұрыны ұстап алып, әмиянды тартып алады.
Соңғы сценарийдің кейіпкері айқын ерлік жасап жатқандай, ал біріншісі жай ғана ашулы болып көрінгенімен, бұл көріністердің ортақ тұсы — еріксіз жанқиярлық. Бақытсыз тұтынушы шаңсорғышты ауыстыруға немесе ақшасын қайтаруға тырысып жатқан жоқ; ол өте жанама кек алуды көздейді, одан ол ұтымды, ойын-теориялық тұрғыдан пікір жазудан келетін қанағаттанудан басқа ештеңе ұтпайды. Дүкендегі батыл әйел үлкен жеке шығынмен әділеттілік орнатады; ол өзіне мүлдем бейтаныс адамға, айталық, 40 долларын қайтару үшін жарақат алу немесе тіпті өлім қаупіне бас тігеді. Егер ол көмектескісі келсе, жедел жәрдемге түсу қаупінсіз-ақ өз қалтасынан екі жиырма долларлықты алып бере салар еді! Осы тұрғыдан алғанда, екі кейіпкер де қисынсыз әрекет етіп жатыр. Екінші жағынан, олардың әрекеттері қоғам үшін жақсы: бәріміз ұрлық жасау тиімсіз болатын және сапасыз өнім сататын кәсіпорындар жаман беделге ие болатын әлемде өмір сүргіміз келеді.
Бәлкім, әрқайсымыз жекелей алғанда, 40 доллар үшін тісімізден айырылуды былай қойғанда, кеткен шығын үшін ашулануға уақыт жоғалтпайтын, тек өз мүддесі үшін салқынқанды, есептелген шешім қабылдай алатын адам болғанымыз жақсы болар еді. Бірақ бәріміз үшін осындай қарсылық білдіретін адамдар көп кездесетін қоғамда өмір сүру тиімдірек.
Сонымен, сыртқы билік болмаған жағдайда, бұл адамдардың өзімшіл тепе-теңдіктен бас тартуына не түрткі болды? Біріншіден, ашу-ыза. Сапасыз бизнес немесе ұсақ ұры түрткі болса да, ашу-ыза ұтымдылықты жеңе алады. Және бұл жағдайларда эволюцияның қолы ойыннан тыс биліктің атқаратын ісін атқарған болуы мүмкін.
Табиғатта жеке тұлғалардың басқа түрдің мақсаттарына қызмет ету үшін бағындырылатыны туралы мысалдар өте көп. Мысалы, бауыр сорғышы (Dicrocoelium dendriticum) — құмырсқаларды әдейі шөптің басына шығуға мәжбүрлейтін паразит, осылайша оларды қойлар жейді (бұл паразит қойдың ішінде өмір сүргенді ұнатады). Сол сияқты, Toxoplasma gondii паразиті тышқандарды мысықтардан қорқу сезімінен біржола айырады.
Кекшіл тұтынушы үшін де, дүкендегі кейіпкер үшін де эмоция — бұл біздің түріміздің басқаруды бір сәт өз қолына алуы. «Мораль — бұл жеке тұлғадағы табын инстинкті», — деп жазды Ницше. Оны сәл басқаша айтсақ, эмоция — бұл түр ішіндегі механизмдер дизайны деп айта аламыз. Дәл сезімдер еріксіз болғандықтан, олар сыртқы мәжбүрлеуді қажет етпейтін келісімшарттарға мүмкіндік береді. Кек алу оны іздеушінің пайдасына сирек шешіледі, бірақ біреудің өзін пайдалануына «қисынсыз» ашумен жауап беруі, дәл сол себепті оның әділ мәмілеге қол жеткізу ықтималдығын арттырады. Корнелл экономисі Роберт Франк айтқандай: «Егер адамдар біздің мүлкімізді ұрлауға қисынсыз жауап беретінімізді күтсе, бізге олай істеудің қажеті сирек болады, өйткені ұрлау олардың мүддесіне сай келмейді. Қисынсыз жауап беруге бейім болу, тек материалдық өзімшілдікке сүйенгеннен гөрі әлдеқайда жақсы нәтиже береді».
(Өркениетті заманауи адамдарда кек алудың орнына құқықтық келісімшарттар мен заң үстемдігі бар деп ойламас үшін, біреуді сотқа беру немесе қудалау көбінесе жәбірленушінің материалдық тұрғыдан қайтара алатын пайдасынан көріп көбірек жұмыс пен азапты талап ететінін еске түсіріңіз. Сот процестері — дамыған қоғамдағы өзін-өзі құртатын кек алудың құралы, оның орнын басушы емес).
Ашу-ыза сияқты, жанашырлық, кінә сезімі және махаббат та осындай рөл атқарады.
Махаббат — тұтқын дилеммасы ретінде
Бұл қаншалықты оғаш естілсе де, тұтқын дилеммасының неке туралы да айтары көп. 1-тарауда «хатшы мәселесі» сияқты оңтайлы тоқтау мәселелерін талқылағанда, біз танысуды да, пәтер іздеуді де әлі көрінбеген болашақ нұсқалары бар міндеттеме ретінде қарастырдық. Махаббатта да, баспана мәселесінде де біз оңтайлы тоқтау шешімін қабылдағаннан кейін де көбірек нұсқаларды кездестіре береміз — ендеше неге басқа нұсқаға ауысуға дайын болмасқа? Әрине, екінші тараптың (жұбайы немесе үй иесі болсын) кез келген уақытта кетуге дайын екенін білу, сол келісімдерді құнды ететін көптеген ұзақ мерзімді инвестицияларға (бірге балалы болу немесе үйге заттарды көшіру) кедергі келтіреді.
Екі жағдайда да бұл «міндеттеме мәселесін» кем дегенде ішінара келісімшартпен шешуге болады. Бірақ ойын теориясы танысу жағдайында заңның ерікті байланыстары махаббаттың еріксіз байланыстарына қарағанда тұрақты серіктестік үшін маңыздылығы төмен екенін көрсетеді. Роберт Франк айтқандай: «Адамдардың қарым-қатынастан кететіні туралы алаңдаушылық, егер оларды бірінші кезекте байланыстыратын нәрсе ұтымды бағалау болмаса, айтарлықтай жойылады». Ол былай деп түсіндіреді:
Иә, адамдар өздеріне маңызды объективті сипаттамаларды іздейді. Әркім мейірімді, ақылды, қызықты, дені сау, бәлкім, сымбатты, жақсы табыс табатын адамды қалайды, бірақ бұл — тек бірінші кезең... Бірге жеткілікті уақыт өткізгеннен кейін, сізді бірге қалуға мәжбүрлейтін бұл нәрселер емес. Бұл жай ғана сол нақты адам екендігі — сіз үшін құнды нәрсе сол, сондықтан сізге келісімшарт соншалықты қажет емес, сізге объективті түрде жақсырақ нұсқа болса да, ажырағыңыз келмейтін сезім керек.
Басқаша айтқанда: махаббат ұйымдасқан қылмысқа ұқсайды. Ол неке ойынының құрылымын өзгертеді, осылайша тепе-теңдік бәріне жақсы болатын нәтижеге айналады.
Драматург Джордж Бернард Шоу бірде неке туралы: «Егер тұтқын бақытты болса, оны неге қамап қоямыз? Егер ол бақытсыз болса, неге ол бақытты сияқты кейіп танытамыз? » — деп жазған. Ойын теориясы бұл жұмбаққа нәзік жауап береді. Бақыт — бұл құлыптың өзі.
Махаббат туралы ойын-теориялық дәлел тағы бір жайтты баса көрсетеді: неке — бұл сіз бірге болатын адамды өзіңіз таңдайтын тұтқын дилеммасы. Бұл кішкентай өзгеріс сияқты көрінуі мүмкін, бірақ ол сіз ойнап жатқан ойынның құрылымына үлкен әсер етуі мүмкін. Егер сіз қылмыстық серіктесіңіздің сізсіз бақытсыз болатынын білсеңіз — тіпті миллион доллар да емдей алмайтын бақытсыздық — онда сіз оның сатқындық жасап, сізді түрмеде қалдыратынына азырақ алаңдайсыз.
Сонымен, махаббаттың ұтымды дәлелі екі жақты: бауыр басу эмоциялары сізді серіктесіңіздің ниеті туралы шексіз ойланудан құтқарып қана қоймайды, сонымен қатар нәтижелерді өзгерту арқылы жақсырақ шешімге қол жеткізуге мүмкіндік береді. Сонымен қатар, еріксіз ғашық бола алу сізді де тартымды серіктес етеді. Сіздің жүрегіңіздің ауыруға, эмоционалдық «балықтармен ұйықтауға» қабілеттілігі — сізді сенімді сыбайлас ететін қасиет.
Ақпараттық каскадтар: Көпіршіктердің трагедиялық ұтымдылығы
Көпшіліктің жағында екеніңізді байқаған кезде, тоқтап, ойлану керек. — МАРК ТВЕН
Басқалардың мінез-құлқына назар аударудың жақсы идея болуының себебі — олай істеу арқылы сіз олардың әлем туралы ақпаратын өзіңіздікіне қоса аласыз. Танымал мейрамхана, бәлкім, жақсы шығар; жартылай бос концерт залы, бәлкім, жаман белгі; және егер сіз сөйлесіп тұрған адам кенеттен сіз көрмейтін нәрсеге қараса, сіздің де басыңызды бұрғаныңыз жаман идея емес.
Екінші жағынан, басқалардан үйрену әрқашан қисынды бола бермейді. Өтпелі әуестіктер (қысқа мерзімді танымал трендтер) мен сән — бұл әлем туралы ешқандай объективті шындыққа сүйенбестен, тек басқалардың мінез-құлқына ілесудің нәтижесі. Одан да сорақысы, өзгелердің іс-әрекетін пайдалы нұсқаулық ретінде қабылдау экономикалық апаттарға әкелетін тобырлық мінез-құлыққа (herd-following) соқтыруы мүмкін. Егер барлығы жылжымайтын мүлікке ақша салып жатса, үй сатып алу жақсы идея болып көрінеді; өйткені баға тек өсе береді емес пе?
2007–2009 жылдардағы ипотекалық дағдарыстың қызықты тұсы — оған қатысушылардың барлығы дерлік өздері істеуі тиіс нәрсені істегені үшін әділетсіз жазаланғандай сезінді. Үйді ешқашан алдамайтын инвестиция деп сеніп өскен және айналасындағылардың барлығы бағаның күрт өсуіне қарамастан үй сатып алып жатқанын көрген американдықтардың бір буыны, бағалар ақыры құлдилай бастағанда қатты зардап шекті. Ал банкирлер өздерінің үйреншікті ісімен айналысқаны — клиенттері қабылдай алатын немесе бас тарта алатын мүмкіндіктер ұсынғаны үшін әділетсіз айыпталдық деп есептеді. Нарықтың кенеттен күйреуінен кейін әрқашан біреуді кінәлауға деген құштарлық оянады. Мұнда ойындар теориясы (қатысушылардың өзара әрекеттесуін математикалық модельдеу) суық шындықты көрсетеді: мұндай апаттар ешкім кінәлі болмаған жағдайда да орын алуы мүмкін.
Қаржылық көпіршіктердің (актив бағасының негізсіз шарықтауы) механизмін дұрыс түсіну аукциондарды түсінуден басталады. Аукциондар экономиканың тар шеңберлі саласы болып көрінуі мүмкін — мысалы, Sotheby’s пен Christie’s-тегі миллион долларлық картиналар немесе eBay-дегі коллекциялық заттар. Бірақ олар іс жүзінде экономиканың қомақты бөлігін қозғалысқа келтіреді. Мәселен, Google өз табысының 90%-дан астамын жарнама сатудан табады және бұл жарнамалардың барлығы аукцион арқылы сатылады. Сонымен қатар, үкіметтер телекоммуникациялық спектрлерді (ұялы байланыс жиіліктері сияқты) сату үшін аукциондарды пайдаланып, ондаған миллиард доллар табыс табады. Шын мәнінде, үйлерден бастап кітаптар мен қызғалдақтарға дейінгі көптеген жаһандық нарықтар аукциондардың түрлі үлгілері арқылы жұмыс істейді.
Аукционның ең қарапайым форматтарының бірінде әрбір қатысушы өз ұсынысын құпия түрде жазады және ең жоғары баға ұсынған адам сол бағамен жеңіске жетеді. Бұл «жабық өтінімді бірінші бағалы аукцион» деп аталады және алгоритмдік ойындар теориясы тұрғысынан мұнда үлкен мәселе (тіпті бірнешеуі) бар. Біріншіден, жеңімпаз әрқашан артық төлейтін сияқты сезім туады: егер сіз затты 25 долларға бағаласаңыз, ал мен 10 долларға бағаласам және екеуміз де шынайы құнын ұсынсақ, сіз оны 25 долларға сатып аласыз, бірақ іс жүзінде оны 10 доллардан сәл ғана жоғары бағамен алуға мүмкіндігіңіз бар еді. Бұл мәселе өз кезегінде басқа қиындыққа әкеледі: бағаны дұрыс ұсыну үшін — яғни артық төлемеу үшін — сіз басқа ойыншылардың шынайы бағасын болжап, өз өтініміңізді соған сәйкес «көлегейлеуіңіз» (артық төлемеу үшін бағаны әдейі төмендетіп көрсету) керек. Бұл аз болғандай, басқа ойыншылар да өздерінің шынайы бағасын ұсынбайды, өйткені олар да сіздің болжамыңызға сүйеніп, өз өтінімдерін көлегейлейді! Біз қайтадан рекурсия әлеміне оралдық.
Тағы бір классикалық аукцион форматы — «голландтық аукцион» немесе «төмендемелі аукцион». Мұнда тауардың бағасы біреу сатып алуға келіскенше біртіндеп төмендей береді. Бұл атау Нидерландыда күн сайын өтетін әлемдегі ең ірі гүл аукционы — Aalsmeer Flower Auction-ға байланысты шыққан. Бірақ голландтық аукциондар бастапқыда көрінгеннен әлдеқайда кең таралған. Сатылмаған тауарлардың бағасын түсіретін дүкендер мен пәтерлерді нарық көтеретін ең жоғары бағамен тізімдейтін жалға берушілердің іс-әрекеті осыған ұқсас: сатушы оптимистік бағадан бастап, сатып алушы табылғанша бағаны біртіндеп төмендетеді. Төмендемелі аукцион бірінші бағалы аукционға ұқсайды, өйткені сіз өз мүмкіндігіңіздің шегіндегі ең жоғары бағаны төлеу арқылы жеңіске жету ықтималдығыңыз жоғары (яғни баға 25 долларға түскенде бірден ұсыныс жасауға дайын боласыз) және сол себепті өз ұсынысыңызды күрделі стратегиялық мөлшерде көлегейлегіңіз келеді. Сіз оны 25 долларға сатып аласыз ба, әлде бағаның тағы төмендеуін күтесіз бе? Әрбір үнемделген доллар тауардан мүлдем айырылып қалу қаупін тудырады.
Голландтық немесе төмендемелі аукционның кері түрі — «ағылшын аукционы» немесе «өспелі аукцион». Бұл ең танымал аукцион форматы. Ағылшын аукционында қатысушылар бір адамнан басқасының бәрі бас тартқанша бағаны кезекпен көтереді. Бұл біз қалаған нәтижеге жақынырақ сияқты: мұнда егер сіз затты 25 долларға, ал мен 10 долларға бағаласам, сіз оны 10 доллардан сәл ғана асатын бағамен ұтып аласыз. Сізге 25 долларға дейін барудың немесе стратегиялық тығырыққа тірелудің қажеті болмайды.
Дегенмен, голландтық және ағылшын аукциондары жабық өтінімді аукционмен салыстырғанда қосымша күрделілік деңгейін енгізеді. Олар тек әрбір қатысушының жеке ақпаратын ғана емес, сонымен қатар баға ұсыну тәртібінің ашық ағынын да қамтиды. (Голландтық аукционда өтінімнің болмауының өзі ақпарат береді, өйткені бұл басқа қатысушылардың ешқайсысы тауарды қазіргі бағамен бағаламайтынын айқын көрсетеді). Тиісті жағдайларда, жеке және қоғамдық деректердің мұндай араласуы қауіпті болуы мүмкін.
Қатысушылар аукцион лотының құны туралы өз бағалауларына күмән келтіреді делік — айталық, мұхиттың бір бөлігінде мұнай бұрғылау құқығы. Лондон Университет колледжінің ойындар теоретик-маманы Кен Бинмор атап өткендей: «учаскедегі мұнай мөлшері барлығы үшін бірдей, бірақ сатып алушылардың онда қанша мұнай болуы мүмкін екендігі туралы болжамдары олардың әртүрлі геологиялық зерттеулеріне байланысты болады. Мұндай зерттеулер қымбат қана емес, сонымен бірге сенімсіздігімен де танымал». Мұндай жағдайда өз жеке ақпаратыңызды ашық ақпаратпен толықтыру үшін қарсыластарыңыздың ұсыныстарына мұқият қарау табиғи нәрсе болып көрінеді.
Бірақ бұл ашық ақпарат көрінгендей соншалықты мазмұнды болмауы мүмкін. Сіз басқа қатысушылардың сенімін емес, тек олардың әрекеттерін ғана көресіз. Олардың мінез-құлқы сіздікіне негізделген болуы әбден мүмкін, дәл сіздің әрекетіңізге олардың әрекеті әсер етіп жатқандай. Бір топ адамның жардан бірге құлағанын елестету оңай, өйткені «басқалардың бәрі» бәрі жақсы болатындай әрекет етті — іс жүзінде әр адамның күмәні болса да, топтағы басқалардың айқын сенімділігіне қарап, оны жасырып қалды.
«Ортақ ресурстар қасіретіндегідей», бұл сәтсіздік міндетті түрде ойыншылардың кінәсі емес. Экономистер Сушил Бикхчандани, Дэвид Хиршлейфер және Иво Уэлчтің өте ықпалды еңбегі белгілі бір жағдайларда, мінсіз қисынды және орынды әрекет ететін агенттер тобының өзі іс жүзінде шексіз жалған ақпараттың құрбаны болуы мүмкін екенін дәлелдеді. Бұл құбылыс «ақпараттық каскад» (адамдар өз мәліметтеріне қарамастан, басқалардың әрекетін соқыр түрде қайталауы) ретінде белгілі болды.
Мұнай бұрғылау құқығы туралы сценарийді жалғастыра отырып, белгілі бір учаскеге өтінім бере алатын он компания бар деп елестетіңіз. Олардың біреуінде учаске мұнайға бай екенін көрсететін геологиялық есеп бар; екіншісінің есебі екіұшты; ал қалған сегізінің зерттеуі ол жерде ештеңе жоқ екенін көрсетеді. Бірақ бәсекелес болғандықтан, әрине, компаниялар зерттеу нәтижелерімен бөліспейді, керісінше бір-бірінің әрекеттерін ғана бақылай алады. Аукцион басталғанда, қолында жақсы есебі бар бірінші компания жоғары баға ұсынады. Осы ұсыныстан жігерленген екінші компания өздерінің күмәнді есебіне оптимистік тұрғыдан қарап, одан да жоғары баға ұсынады. Үшінші компанияның есебі нашар, бірақ енді олар оған сенбейді, өйткені екі тәуелсіз зерттеу бұл жерді «алтын кеніші» деп көрсеткендей әсер қалдырды, сондықтан олар жаңа жоғары баға ұсынады. Төртінші компанияда да нашар есеп бар, бірақ қазір олар оны елемеуге одан да бейім, өйткені олардың үш бәсекелесі де бұл тиімді жоба деп есептейтін сияқты. Осылайша олар да баға ұсынады. «Консенсус» шындықтан алшақтайды. Каскад түзілді.
Бірде-бір қатысушы қисынсыз әрекет еткен жоқ, бірақ түпкі нәтиже — апат. Хиршлейфер айтқандай: «Біреу өз ақпараттық сигналына қарамастан, алдыңғылардың соңынан соқыр ілесуге шешім қабылдаған сәтте өте маңызды нәрсе орын алады — оның әрекеті кейінгі шешім қабылдаушылар үшін ақпаратсыз болып қалады. Енді қоғамдық ақпарат қоры өспейді. Қоғамдық ақпаратқа ие болудың сол бір пайдасы... тоқтады».
Нақты әлемде ақпараттық каскад билік жүргізгенде және қатысушылардың тауар құнын бағалау үшін бір-бірінің мінез-құлқынан басқа ештеңесі болмағанда не болатынын көру үшін Питер А. Лоуренстің даму биологиясы бойынша «The Making of a Fly» оқулығына қараңыз. 2011 жылдың сәуір айында Amazon-ның үшінші тарап сауда алаңында ол 23 698 655,93 долларға (плюс 3,99 доллар жеткізу ақысы) сатылып жатты. Неліктен бұл — мойындалған болса да — кітаптың бағасы 23 миллион доллардан асып кетті? Белгілі болғандай, екі сатушы өз бағаларын алгоритмдік түрде бір-біріне тәуелді коэффициенттер ретінде белгілеген: бірі әрқашан бәсекелестің бағасынан 0,99830 есе төмен, ал бәсекелесі өз бағасын екіншісінің бағасынан автоматты түрде 1. 27059 есе жоғары етіп орнатқан. Сатушылардың ешқайсысы алынған сандарға шектеу қоюды ойламаған сияқты, сондықтан процесс ақырында толық бақылаудан шығып кетті.
Осындай механизм 2010 жылғы 6 мамырдағы қор нарығының түсініксіз әрі даулы «flash crash» (найзағайдай жылдам күйреу) кезінде де орын алған болуы мүмкін. Ол кезде бірнеше минут ішінде S&P 500 индексіндегі кездейсоқ сияқты көрінген бірнеше компанияның акцияларының бағасы бір акция үшін 100 000 доллардан асып кетсе, басқалары күрт төмендеп, кейде 0,01 долларға дейін түсті. Көз ілеспес жылдамдықпен шамамен 1 триллион доллар құн жоқ болды. CNBC тілшісі Джим Крамер тікелей эфирде таңғалып хабарлағандай: «Бұл... ол жерде болуы мүмкін емес. Бұл нақты баға емес. Жарайды, Procter-ді сатып ала беріңіздер! Procter & Gamble-ді сатып алыңыздар, олар жақсы тоқсандық есеп берді, жай ғана сатып алыңыз... Айтайын дегенім, бұл ақылға сыймайды — бұл жақсы мүмкіндік». Крамердің сенбеуі — бұл оның жеке ақпаратының қоғамдық ақпаратқа қарсы тұруы. Ол нарық 40 доллардан төмен бағалап жатқан акция үшін 49 доллар төлеуге дайын әлемдегі жалғыз адам сияқты көрінді, бірақ оған бәрібір болды; ол тоқсандық есептерді көрді, ол өз біліміне сенімді болды.
Инвесторлар екі үлкен топқа бөлінеді деп айтылады: компанияның негізгі құнына сүйеніп сауда жасайтын «фундаменталды» инвесторлар және нарықтың ауытқуларына қарап сауда жасайтын «техникалық» инвесторлар. Жоғары жылдамдықты алгоритмдік сауданың пайда болуы осы екі стратегия арасындағы тепе-теңдікті бұзды. Тауарлардың нақты әлемдегі құнына байланып қалмаған — оқулықты ондаған миллион долларға, ал көшбасшы компаниялардың акцияларын бір тиынға бағалаудан қымсынбайтын компьютерлер нарықтың қисынсыздығын ушықтырады деп жиі айтылады. Бірақ бұл сын әдетте компьютерлерге бағытталғанымен, адамдар да осындай нәрселерді жасайды, бұған көптеген инвестициялық көпіршіктер дәлел бола алады. Тағы да айта кететін жайт, кінә көбіне ойыншыларда емес, ойынның өзінде.
Ақпараттық каскадтар тек көпіршіктердің ғана емес, сонымен қатар жалпы сән мен тобырлық мінез-құлықтың қисынды теориясын ұсынады. Олар кез келген нарықтың, тіпті қисынсыздық, зиянкестік немесе заңсыздық болмаған жағдайда да, қалай күрт өсіп, күйреуі мүмкін екенін түсіндіреді. Мұнда бірнеше қорытынды бар. Біріншіден, қоғамдық ақпарат жеке ақпараттан асып түсетіндей көрінетін жағдайлардан сақтаныңыз, яғни адамдардың не істеп жатқанын білсеңіз де, неге олай істеп жатқанын түсінбеген кезде, өз шешімдеріңізді фактілерге емес, консенсусқа (ортақ келісімге) сәйкестендіруге көбірек мән бергенде абай болыңыз. Бағыт алу үшін басқаларға қарап тұрғаныңызда, олар да сондай мақсатпен сізге қарап тұруы әбден мүмкін. Екіншіден, іс-әрекет сенім емес екенін есте сақтаңыз; каскадтар ішінара біз басқалардың не істеп жатқанына қарап, олардың не ойлайтынын қате түсінгенде пайда болады. Өз күмәнімізді елемеуге өте сақ болуымыз керек — егер солай етсек, алға жылжысақ та сол күмәнімізді білдірудің жолын табуымыз қажет, әйтпесе басқалар біздің санамыздағы құлықсыздық пен іс-әрекетіміздегі жанама құлшынысты ажырата алмай қалуы мүмкін. Соңында, «тұтқын дилеммасынан» кейбір ойындардың ережелері түзелмейтіндей нашар болатынын есте сақтауымыз керек. Ойынға кіріп кеткен соң ештеңе істей алмауымыз мүмкін, бірақ ақпараттық каскадтар теориясы бізге мұндай ойыннан басынан-ақ аулақ болуға көмектеседі.
Ал егер сіз басқалардың қаншалықты ақылсыз деп ойлайтынына қарамастан, әрқашан өзіңіз дұрыс деп санаған нәрсені істейтін адам болсаңыз, рухтаныңыз. Жаман жаңалық — сіз тобырға ілесушілерге қарағанда жиі қателесесіз. Жақсы жаңалық — өз сенімдеріңізге берік болу оң экстерналия (біреудің әрекетінен басқалардың тегін игілік көруі) тудырады, бұл адамдарға сіздің мінез-құлқыңыздан дұрыс қорытынды жасауға мүмкіндік береді. Бір күні сіз бүкіл топты апаттан құтқарып қалатын уақыт келуі мүмкін.
Өзіңе адал есептеу
Компьютерлік ғылымды ойындар теориясына қолдану стратегия құруға міндетті болудың өзі — біздің бір-бірімізбен бәсекелесу үшін төлейтін бағамыздың (көбіне үлкен бөлігі) екенін көрсетті. Рекурсияның қиындықтары көрсеткендей, бір-біріміздің ойымызды оқу қажет болғанда бұл баға еш жерде мұншалықты жоғары болмайды. Мұнда алгоритмдік ойындар теориясы бізге механизмдер дизайнын қайта қарауға мүмкіндік береді: тек ойынның нәтижесін ғана емес, сонымен қатар ойыншылардан талап етілетін есептеу күшін де ескеру қажет.
Біз зиянсыз болып көрінетін аукцион механизмдерінің қалайша түрлі мәселелерге: артық ойлануға, артық төлеуге, бақылаусыз каскадтарға тап болатынын көрдік. Бірақ жағдай мүлдем үмітсіз емес. Шын мәнінде, менталды рекурсияның ауыртпалығын майды кескен ыстық пышақтай жеңілдететін бір аукцион дизайны бар. Ол — Викри аукционы.
Нобель сыйлығының лауреаты, экономист Уильям Викридің құрметіне аталған Викри аукционы, бірінші бағалы аукцион сияқты, «жабық өтінімді» аукцион процесі болып табылады. Яғни, әрбір қатысушы құпия түрде бір санды жазады және ең жоғары баға ұсынған адам жеңіске жетеді. Дегенмен, Викри аукционында жеңімпаз өз өтінімінің сомасын емес, екінші орын алған қатысушының бағасын төлейді. Яғни, егер сіз 25 доллар, ал мен 10 доллар ұсынсам, сіз тауарды менің бағамен ұтып аласыз: сізге тек 10 доллар төлеу керек.
Ойындар теоретиктері үшін Викри аукционы бірқатар тартымды қасиеттерге ие. Ал алгоритмдік ойындар теоретиктері үшін бір қасиет ерекше көзге түседі: қатысушылар адал болуға ынталандырылған. Шын мәнінде, тауарға өз «шынайы құныңызды» — яғни тауар қанша тұрады деп ойлайтыныңызды — ұсынудан артық стратегия жоқ. Шынайы құнынан артық баға ұсыну — бұл ақылсыздық, өйткені сіз өзіңіз ойлағаннан қымбат затты сатып алуға мәжбүр болуыңыз мүмкін. Ал шынайы құнынан төмен баға ұсыну (яғни өтінімді көлегейлеу) ешқандай негізсіз аукционда жеңіліп қалу қаупін тудырады, өйткені бұл сізге ақша үнемдемейді — себебі жеңіске жетсеңіз, сіз өз өтініміңізге қарамастан, тек екінші ең жоғары бағаны ғана төлейсіз. Бұл Викри аукционын механизм дизайнерлері «стратегияға төзімді» (алдау немесе айла-шарғы жасау тиімсіз болатын жүйе) немесе жай ғана «шынайы» деп атайды. Викри аукционында адалдық — сөзбе-сөз ең жақсы саясат.
Тіпті басқа қатысушылар адал болмаса да, адал болу — ең жақсы саясат болып қала береді. Тұтқын дилеммасында біз сатқындықтың «доминантты» стратегия — серіктесіңіз сатса да, бірлессе де ең жақсы қадам екенін көрдік. Ал Викри аукционында адалдық — доминантты стратегия. Бұл механизм дизайнерлерінің арманы. Сізге стратегия құрудың немесе рекурсияға барудың қажеті жоқ.
Викри аукционы бірінші бағалы аукционмен салыстырғанда сатушыға біраз ақша жоғалтатындай көрінуі мүмкін, бірақ бұл міндетті түрде солай емес. Бірінші бағалы аукционда әрбір қатысушы артық төлемеу үшін өз бағасын төмендетеді; екінші бағалы Викри аукционында мұның қажеті жоқ — белгілі бір мағынада аукционның өзі олардың бағасын оңтайлы түрде төмендетіп береді. Шын мәнінде, «табыс эквиваленттілігі» деп аталатын ойындар теориясының принципі уақыт өте келе бірінші бағалы аукциондағы орташа күтілетін сату бағасы Викри аукционымен бірдей болатынын дәлелдейді. Осылайша, Викри тепе-теңдігінде сол жеңімпаз тауарды сол бағамен алады — бірақ қатысушылардың ешқайсысына стратегия құрудың қажеті болмайды. Тим Рафгарден Стэнфорд студенттеріне айтқандай, Викри аукционы — «тамаша».
Еврей университетінің алгоритмдік ойындар теоретик-маманы Ноам Нисан үшін бұл «тамашалық» дерлік утопиялық сипатқа ие. «Сіз өтірік айту тиімсіз болатын қоғам ережелерін жасағыңыз келеді, сонда адамдар онша көп өтірік айтпайтын болады, солай емес пе? Негізгі идея осында. Менің көзқарасым бойынша, Викри туралы таңқаларлық нәрсе — жалпы жағдайда мұндайды жасау мүмкін емес деп ойлайсыз, солай ма? Әсіресе аукцион сияқты нәрселерде, әрине, мен аз төлегім келеді, мұған қалай қол жеткізуге болады? Содан кейін Викри бұған қол жеткізудің жолын көрсетеді. Меніңше, бұл шынымен де ғажайып».
Шын мәнінде, мұндағы сабақ аукциондардан әлдеқайда асып түседі. «Анықтау принципі» (немесе ашу принципі) деп аталатын маңызды тұжырымда Нобель сыйлығының лауреаты Роджер Майерсон шындықты стратегиялық түрде жасыруды талап ететін кез келген ойынды қарапайым адалдықты ғана талап ететін ойынға айналдыруға болатынын дәлелдеді. Майерсонның сол кездегі әріптесі Пол Милгром былай дейді: «Бұл сондай нәтижелердің бірі, оған бір жағынан қарасаң — мүлдем таңқаларлық әрі ғажайып, ал екінші жағынан қарасаң — қарапайым болып көрінеді. Бұл өте керемет: ең жақсы нәрселердің біріне қарап тұрғаныңды осыдан білесің».
Анықтау принципін бірден қабылдау қиын болуы мүмкін, бірақ оның дәлелдемесі іс жүзінде өте интуитивті. Сіздің орныңызға ойын ойнайтын агентіңіз немесе заңгеріңіз бар деп елестетіңіз. Егер сіз оларға өз мүдделеріңізді білдіруге сенсеңіз, сіз жай ғана не қалайтыныңызды айтасыз және оларға сіздің атыңыздан барлық стратегиялық бағаны төмендету мен рекурсивті стратегияларды басқаруға мүмкіндік бересіз. Викри аукционында ойынның өзі осы функцияны орындайды. Анықтау принципі бұл идеяны одан әрі кеңейтеді: сіз шындықты айтатын агенттер сіздің орныңызға ойнай алатын кез келген ойын, егер сіз агентіңізден күтетін мінез-құлық ойын ережелеріне енгізілсе, «адалдық — ең жақсы саясат» ойынына айналады. Нисан айтқандай: «Негізгі нәрсе — егер сіз клиенттеріңіздің сізге қарсы оңтайландырылуын қаламасаңыз, олар үшін өзіңіз оңтайландырғаныңыз жөн. Бүкіл дәлелдеме осында... Егер мен сіз үшін алдын ала оңтайландырылған алгоритм жасасам, сіз ештеңе істей алмайсыз».
Алгоритмдік ойындар теориясы соңғы жиырма жыл ішінде бірқатар практикалық қолданбаларға үлкен үлес қосты: Интернеттегі пакеттік бағыттауды түсінуге көмектесу, құнды қоғамдық игіліктерді бөлетін FCC спектрлік аукциондарын жақсарту және медицина студенттерін ауруханалармен сәйкестендіретін алгоритмдерді жетілдіру және т. б. Және бұл әлдеқайда үлкен өзгерістің басы ғана болуы мүмкін. «Біз тек бетін ғана көріп тұрмыз», - дейді Нисан. «Тіпті теорияда біз оны енді ғана түсіне бастадық. Менің бүгінгі теориялық тұрғыдан толық түсінгенім адамдарға сәтті қолданылғанша тағы бір буын өтеді. Бұл бір буын; меніңше одан көп емес. Оған бір буын кетеді».
Француз экзистенциалист философы Жан-Поль Сартрдың «Тозақ — бұл басқа адамдар» деген атақты сөзі бар. Ол басқалардың табиғатынан зұлым немесе жағымсыз екенін айтқысы келген жоқ, керісінше олар біздің өз ойларымыз бен сенімдерімізді күрделендіретінін меңзеді:
Өзіміз туралы ойлағанда, өзімізді тануға тырысқанда... біз басқа адамдардың біз туралы білетін білімін пайдаланамыз. Біз өзімізді басқа адамдардың бізді бағалау үшін берген құралдарымен бағалаймыз. Өзім туралы не айтсам да, оған әрқашан басқа біреудің бағасы араласады. Ішкі дүниемде нені сезінсем де, оған басқа біреудің бағасы араласады... Бірақ бұл басқа адамдармен қарым-қатынас орнату мүмкін емес дегенді білдірмейді. Бұл жай ғана әрқайсымыз үшін барлық басқа адамдардың аса маңыздылығын көрсетеді.
Осы тарауда көргендерімізді ескере отырып, біз Сартрдың тұжырымын қайта қарауға тырысуымыз мүмкін. Басқалармен қарым-қатынас жасау міндетті түрде «тұңғиық азап» болуы шарт емес — бірақ қате ойында ол солай болуы әбден мүмкін. Кейнс байқағандай, танымалдылық — бұл күрделі, бағынбайтын және Recursion (рекурсия — процесс немесе функцияның өзін-өзі қайталауы) принципіне негізделген «қисық айналар галереясы»; ал бақылаушының көзіндегі сұлулық олай емес. Басқалардың тактикасына байланысты алдын ала болжауды, түйсінуді немесе бағытты өзгертуді талап етпейтін стратегияны қабылдау — бұл рекурсияның Gordian knot (Гордиев түйіні — күрделі мәселенің күтпеген оңай шешімі) шешудің бір жолы. Кейде мұндай стратегия тек оңай ғана емес, сонымен қатар ең оңтайлысы болып табылады.
Егер стратегияны өзгерту көмектеспесе, ойынды өзгертуге тырысуға болады. Ал егер бұл мүмкін болмаса, кем дегенде қандай ойынды ойнауды таңдауда бақылау жасай аласыз. Тозаққа баратын жол қиын рекурсиялармен, нашар тепе-теңдіктермен және ақпараттық каскадтармен төселген. Шыншылдық басым стратегия болатын ойындарды іздеңіз. Содан кейін жай ғана өзіңіз болыңыз.
*Шын мәнінде, бұл барлық заманауи компьютерлердің бастауы — дәл осы <span data-term="true">Halting problem</span> (тоқтау мәселесі — алгоритмнің шексіз циклге түсетінін немесе тоқтайтынын анықтау) Тьюрингті есептеуді біз қазір <span data-term="true">Turing machine</span> (Тьюринг машинасы — есептеулердің абстрактілі математикалық моделі) деп атайтын құрылғы арқылы ресми түрде анықтауға итермеледі.
*Бинмор тағы бір түсінік қосады: Prisoner’s dilemma (тұтқындар дилеммасы — екі жақтың ынтымақтастығы немесе сатқындығы туралы модель) сияқты ойындар Иммануил Канттың рационалдылық ол «Categorical imperative (категориялық императив — кез келген жағдайда орындалуы тиіс моральдық заң)» деген аргументін жоққа шығарады. Категориялық императив бізге тұтқындар дилеммасында тепе-теңдік стратегиясына қарағанда жақсырақ нәтиже берер еді, бірақ бұл нәтиженің тұрақты емес екендігі фактісінен қашып құтыла алмаймыз.
Қорытынды
Есептеуіш мейірімділік
Мен адамдардың маңызды қасиеттері әлеуметтік сипатқа ие екеніне және машиналар бізді қазіргі қажырлы зияткерлік функциялардан босатуы адамзатқа бірге жақсы өмір сүруді үйренуге уақыт пен ынта беретініне нық сенемін. — МЕРРИЛЛ ФЛАД
Кеңістік пен уақыт шектеулеріне бағынатын кез келген динамикалық жүйе негізгі және бұлжытпас мәселелер жиынтығына тап болады. Бұл мәселелер есептеуіш сипатқа ие, бұл компьютерлерді біздің құралымыз ғана емес, сонымен бірге жолдасымыз етеді. Осыдан үш қарапайым даналық шығады.
Біріншіден, компьютерлік ғалымдар мен математиктер адам мәселелеріне тікелей көшіруге болатын жақсы алгоритмдік тәсілдерді анықтаған жағдайлар бар. 37% Rule (37% ережесі — таңдау жасау кезіндегі оңтайлы тоқтау нүктесі), толған кэштерді тазалауға арналған LRU (Least Recently Used — соңғы рет ең аз қолданылғанды өшіру әдісі) критерийі және зерттеу үшін нұсқаулық ретіндегі Upper Confidence Bound (жоғарғы сенімділік шегі — белгісіздік жағдайында ең жақсы таңдауды табу алгоритмі) — бұлардың барлығы осының мысалдары.
- Екіншіден, оңтайлы алгоритмді қолданып жатқаныңызды білу, тіпті сіз күткен нәтижеге қол жеткізбесеңіз де, жеңілдік сыйлауы тиіс. 37% ережесі жағдайлардың 63%-ында сәтсіздікке ұшырайды. Кэшіңізді LRU арқылы басқару сізге іздегеніңізді әрқашан табуға кепілдік бермейді; іс жүзінде, көріпкелдік те бұған кепілдік бере алмас еді. Зерттеу мен пайдалану арасындағы тепе-теңдікті сақтау үшін «Жоғарғы сенімділік шегі» тәсілін қолдану сіздің өкінбейтініңізді білдірмейді, тек өмір бойы бұл өкініштердің баяу жиналатынын білдіреді. Тіпті ең жақсы стратегия да кейде жаман нәтиже береді — сондықтан компьютерлік ғалымдар «процесс» пен «нәтижені» ажыратуға тырысады. Егер сіз ең жақсы процесті ұстансаңыз, онда қолыңыздан келгеннің бәрін жасадыңыз және іс сіз қалағандай болмаса, өзіңізді кінәламауыңыз керек.
Нәтижелер жаңалықтардың тақырыбына айналады, олар біз өмір сүріп жатқан әлемді қалыптастырады, сондықтан оларға тым қатты мән беру оңай. Бірақ біз тек процестерді ғана бақылай аламыз. Бертран Рассел айтқандай: «Объективті дұрыстықты пайымдау кезінде біз ықтималдықты ескеруіміз керек сияқты... Объективті түрде дұрыс әрекет — бұл ең сәтті болуы ықтимал әрекет. Мен мұны ең дана әрекет деп анықтаймын». Біз сәттілікке үміт арта аламыз, бірақ дана болуға ұмтылуымыз керек. Мұны есептеуіш стоицизм (қиындықтарды парасатпен қабылдау) деп атауға болады.
- Соңында, біз қарапайым шешімдері бар мәселелер мен шешімі жоқ мәселелердің арасына нақты шекара қоя аламыз. Егер сіз шешілмейтін сценарийде қалып қойсаңыз, Heuristics (эвристика — мәселенің оңтайлы, бірақ міндетті түрде мінсіз емес шешімін табу әдісі), жуықтаулар және кездейсоқтықты стратегиялық қолдану жұмыс істейтін шешімдер табуға көмектесетінін ұмытпаңыз. Компьютерлік ғалымдармен сұхбатымызда қайта-қайта көтерілген тақырып: кейде «жеткілікті жақсы» дегеннің өзі шынымен де жеткілікті. Сонымен қатар, күрделілікті түсіну бізге мәселелерді таңдауға көмектеседі: егер біз қай жағдайға тап болатынымызды бақылай алсақ, біз шешілетін жағдайларды таңдауымыз керек.
Бірақ біз тек өзімізге қоятын мәселелерді ғана таңдамаймыз. Біз сондай-ақ қаланы жобалау немесе сұрақ қою тәсіліміз арқылы бір-бірімізге қоятын мәселелерді де таңдаймыз. Бұл компьютер ғылымынан этикаға қарай таңқаларлық көпір жасайды — біз оны Computational kindness (есептеуіш мейірімділік — басқалардың шешім қабылдауын жеңілдетіп, танымдық жүктемені азайту) деп атаймыз.
Осы кітапқа енген сұхбаттарды жоспарлау кезінде екеуміз де белгілі бір парадоксты байқадық. Біздің респонденттер кездесуді «келесі аптада сізге ыңғайлы уақытта» емес, «келесі сейсенбіде сағат 13:00 мен 14:00 аралығында (PST)» деп сұрағанымызда көбірек келісетін. Алғашқыда бұл сандырақ сияқты көрінеді, бұл адамдардың сегіз мың пингвинді құтқарудан қарағанда, орташа есеппен бір пингвинді құтқаруға көбірек ақша беретінін немесе кез келген себептен (соның ішінде терроризмнен) өлуден гөрі, террористік актіден өлуге көбірек алаңдайтынын көрсететін танымал зерттеулерге ұқсайды. Сұхбаттар жағдайында, адамдар еркін таңдаудан гөрі, тіпті ол шектеулер кездейсоқ алынса да, шектеулі мәселені алуды жөн көрген сияқты. Олар үшін өздерінің нұсқалары негізінде жақсырақ нұсқаны есептегеннен гөрі, біздің қалауларымыз бен шектеулерімізге бейімделу оңайырақ болды. Компьютерлік ғалымдар бұл жерде «тексеру» мен «іздеу» арасындағы күрделілік алшақтығын алға тартып, басын изер еді — бұл алшақтық жақсы әнді естігенде оны тану мен сол жерде жаңа ән жазу арасындағы айырмашылықтай үлкен.
Компьютер ғылымының астыртын принциптерінің бірі, қаншалықты оғаш естілсе де, есептеу — бұл жаман нәрсе: кез келген жақсы алгоритмнің негізгі мақсаты — ой еңбегін барынша азайту. Басқа адамдармен қарым-қатынас жасағанда, біз оларға есептеуіш мәселелерді ұсынамыз — бұл тек анық өтініштер мен талаптар ғана емес, сонымен қатар біздің ниеттерімізді, сенімдерімізді және қалауларымызды түсіндіру сияқты жасырын міндеттер. Демек, мұндай мәселелерді есептеуіш тұрғыдан түсіну адамдар арасындағы қарым-қатынастың табиғатына жарық түсіреді. Біз мәселелерді есептеуді жеңілдететіндей етіп қою арқылы басқаларға «есептеуіш мейірімділік» таныта аламыз. Бұл маңызды, өйткені көптеген мәселелер — әсіресе біз көргендей әлеуметтік мәселелер — өзінің табиғаты бойынша өте күрделі.
Көп кездесетін мына сценарийді қарастырайық. Бір топ дос кешкі асқа қайда баратынын шеше алмай тұр. Әрқайсысының белгілі бір қалауы бар, бірақ олар әлсіз болуы мүмкін. Ешкім бұл қалауларды ашық айтқысы келмейді, сондықтан олар әлеуметтік кедергілерден болжамдар мен тұспалдар арқылы сыпайы өтуге тырысады.
Олар бәріне ұнайтын шешімге келуі де мүмкін. Бірақ бұл процесс оңай қателесуге әкелуі мүмкін. Мысалы, колледжден кейінгі жазда Брайан мен оның екі досы Испанияға саяхатқа шықты. Олар сапар жоспарын жолда талқылады және бір сәтте олар зерттеген және жоспарлаған корридаға (өгіздер айқасына) баруға уақыт болмайтыны белгілі болды. Тек сол кезде ғана, әрқайсысы басқаларын жұбатуға тырысқанда, шын мәнінде олардың ешқайсысының басынан-ақ корридаға барғысы келмегені анықталды. Әрқайсысы басқалардың құлшынысы деп қабылдаған нәрсеге жай ғана ілескен, осылайша басқалар да кезекпен ілесетін құлшыныс деңгейін тудырған.
Сол сияқты, «О, маған бәрібір» немесе «Бүгін кешке не істегің келеді? » сияқты зиянсыз болып көрінетін сөздердің астарында екі рет ойлануға мәжбүр ететін жағымсыз есептеуіш жағы бар. Ол сыпайылық сияқты көрінгенімен, екі қауіпті нәрсені жасайды. Біріншіден, ол танымдық жауапкершілікті басқаға ысырады: «Міне мәселе, оны өзің шеш». Екіншіден, өз қалауыңызды айтпау арқылы сіз басқаларды оны модельдеуге немесе елестетуге мәжбүрлейсіз. Ал біз көргендей, басқалардың ойын модельдеу — бұл сана (немесе машина) тап болуы мүмкін ең үлкен есептеуіш қиындықтардың бірі.
Мұндай жағдайларда есептеуіш мейірімділік пен дәстүрлі этикет бір-бірінен алшақтайды. Өз қалауыңызды сыпайы түрде жасыру топтың қалған мүшелеріне оны болжаудың есептеуіш жүгін артады. Керісінше, өз қалауыңызды сыпайы түрде білдіру («Жеке өзім Х нұсқасына бейіммін. Сендер қалай ойлайсыңдар? ») топты шешімге бағыттаудың танымдық жүгін бөлісуге көмектеседі.
Балама ретінде, сіз басқаларға беретін нұсқалардың санын көбейтудің орнына азайтуға тырыса аласыз — айталық, он мейрамхананың орнына екі немесе үшеуін таңдауды ұсыныңыз. Егер топтағы әрбір адам өзіне мүлдем ұнамайтын нұсқаны алып тастаса, бұл тапсырманы бәріне жеңілдетеді. Егер сіз біреуді түскі асқа шақырсаңыз немесе кездесуді жоспарласаңыз, олар қабылдай алатын немесе бас тарта алатын бір немесе екі нақты ұсыныс беру — жақсы бастама.
Бұл әрекеттердің ешқайсысы міндетті түрде «сыпайы» емес, бірақ олардың барлығы өзара әрекеттесудің есептеуіш шығынын айтарлықтай төмендетуі мүмкін.
Есептеуіш мейірімділік — бұл тек мінез-құлық принципі емес; бұл сонымен қатар дизайн принципі.
2003 жылы Ватерлоо университетінің компьютерлік ғалымы Джеффри Шаллит Америка Құрама Штаттарында айналымға қандай тиын енгізілсе, қайтару кезінде тиындардың орташа санын барынша азайтуға көмектесетінін зерттеді. Қызығы, жауап 18 центтік тиын болып шықты — бірақ Шаллит есептеуіш қиындықтарға байланысты бұл саяси ұсынысты жасаудан тартынды.
Қазіргі уақытта қайтарым жасау өте қарапайым: кез келген сома үшін шектен шықпай, мүмкіндігінше көп 25 центтік тиындарды, содан кейін 10 центтіктерді және т. б. номиналдар бойынша қолданыңыз. Мысалы, елу төрт цент — бұл екі 25 центтік және төрт 1 центтік тиын. 18 центтік тиынмен бұл қарапайым алгоритм енді оңтайлы болмайды: елу төрт центті үш 18 центтік тиынмен қайтарған дұрыс — және ешқандай 25 центтік тиын керек емес. Шын мәнінде, Шаллит ыңғайсыз номиналдар қайтарым жасауды «кем дегенде Traveling salesman problem (коммивояжер мәселесі — нүктелердің барлығын аралап, ең қысқа жолмен оралу мәселесі) сияқты күрделі» ететінін байқады. Бұл кассир үшін тым көп талап. Егер есептеудің қарапайымдылығы ескерілсе, Шаллит АҚШ ақша жүйесіне 2 центтік немесе 3 центтік тиындарды қолдану тиімдірек екенін тапты. Бұл 18 центтік тиын сияқты қызықты болмаса да, есептеуіш тұрғыдан әлдеқайда мейірімді.
Тереңірек айтқанда, дизайндағы нәзік өзгерістер адам пайдаланушыларына қойылатын танымдық мәселені түбегейлі өзгерте алады. Мысалы, сәулетшілер мен қала құрылысын жоспарлаушылар біздің қоршаған ортаны қалай құратынымызды таңдайды — бұл олардың біз шешуіміз керек есептеуіш мәселелерді қалай құрылымдайтынын таңдайтынын білдіреді.
Стадиондар мен сауда орталықтарында жиі кездесетін әртүрлі қатарлары бар үлкен автотұрақты қарастырайық. Сіз бір қатармен бара жатып, бос орынды көресіз, оны өткізіп жіберіп, алда жақсырақ орын болады деп үміттенесіз — бірақ соңында ештеңе таппай, көрші қатарға өтесіз. Біраз жүргеннен кейін сіз келесі орынның тоқтауға тұрарлық па, әлде тым алыс па екенін шешуіңіз керек.
Алгоритмдік көзқарас бұл жерде тек жүргізуші үшін ғана емес, сәулетші үшін де пайдалы. Мұндай тұрақтар тудыратын күрделі шешім қабылдау мәселесін межелі жерден алыстайтын бір ғана сызықтық жолмен салыстырыңыз. Бұл жағдайда адам жай ғана бірінші бос орынды алады — ешқандай ойын теориясы, талдау немесе «қара да секір» ережесі қажет емес. Кейбір көп деңгейлі тұрақтар жерден жоғары қарай спираль тәрізді бір ғана жолмен салынған. Олардың есептеуіш жүгі нөлге тең: адам бірінші бос орын пайда болғанша алға қарай жүре береді, содан кейін оны алады. Мұндай құрылыстың басқа да жақсы-жаман жақтарына қарамастан, ол жүргізушілер үшін танымдық тұрғыдан ізгі — есептеуіш мейірімді деп айта аламыз.
Дизайнның негізгі мақсаттарының бірі адамдарды қажетсіз кернеуден, үйкелістен және ой еңбегінен қорғау болуы керек. (Бұл тек дерексіз мәселе емес; мысалы, сауда орталығындағы тұрақ стресс көзіне айналғанда, сатып алушылар аз ақша жұмсап, сирек оралуы мүмкін. ) Қала құрылысын жоспарлаушылар мен сәулетшілер әртүрлі дизайн шешімдерінің шектеулі кеңістік, материалдар және ақша сияқты ресурстарды қалай пайдаланатынын үнемі өлшеп отырады. Бірақ олар өз дизайндарының оларды пайдаланатын адамдардың есептеуіш ресурстарына қалай салық салатынын сирек ескереді. Күнделікті өміріміздің алгоритмдік негіздерін — бұл жағдайда Optimal stopping (оңтайлы тоқтау — таңдау жасау үшін ең қолайлы сәтті анықтау) — тану жүргізушілерге ең жақсы шешім қабылдауға мүмкіндік беріп қана қоймайды, сонымен қатар жоспарлаушыларды олар жүргізушілерді қандай мәселелерге итермелеп жатқаны туралы көбірек ойлануға итермелейді.
Есептеуіш мейірімді дизайнның басқа да бірқатар мысалдары бар. Мысалы, мейрамханадағы орындарға отырғызу саясатын қарастырайық. Кейбір мейрамханаларда «еркін отыру» саясаты бар, онда күтіп тұрған клиенттер үстел босағанша айналсоқтап жүреді және кім бірінші отырса, сол үстелді алады. Басқалары атыңызды жазып алып, барда сусын ішуге мүмкіндік береді және үстел дайын болғанда сізге хабарлайды. Шектеулі ортақ ресурстарды басқаруға арналған бұл тәсілдер компьютер ғылымындағы Spinning (айналу — ресурс дайын болғанша процессордың циклде күтуі) және Blocking (блоктау — ресурс дайын болғанша процесті тоқтатып, басқа іспен айналысу) арасындағы айырмашылықты көрсетеді.
Есептеуіш субсидия
Мейрамханада «spinning» саясаты бос үстелдерді тезірек толтырады, бірақ бұл кезде тозатын «Орталық процессорлар» — бұл жалықтырғыш, бірақ зейін қоюды қажет ететін қырағылықтың тұзағына түскен клиенттердің санасы.
Сол сияқты, автобус аялдамасындағы есептеуіш мәселені қарастырыңыз. Егер келесі автобустың «10 минуттан кейін келетінін» көрсететін тікелей дисплей болса, сіз автобустың келмеуін үнемі болжап, қайта-қайта шешім қабылдаудың орнына, бір-ақ рет күту керек пе, жоқ па деген шешім қабылдайсыз. Сонымен қатар, сіз сол он минут ішінде көзіңізді талдырып жолға қараудан — spinning — босайсыз. Мұндай нәзік есептеуіш мейімділік актілері жол жүру ақысын субсидиялау сияқты жолаушылар ағынына оң әсер етуі мүмкін: оны танымдық субсидия деп қарастырыңыз.
Егер біз басқаларға мейірімді бола алсақ, өзімізге де мейірімді бола аламыз. Тек есептеуіш тұрғыдан ғана емес — біз талқылаған барлық алгоритмдер мен идеялар бұған көмектеседі. Сонымен қатар, кешірімдірек бола аламыз.
Рационалды шешім қабылдаудың интуитивті стандарты — барлық қолжетімді нұсқаларды мұқият қарастырып, ең жақсысын таңдау. Бір қарағанда, компьютерлер мінсіз жауаптар алғанша күрделі есептеулер жүргізетін осы тәсілдің үлгісі сияқты көрінеді. Бірақ біз көргендей, бұл компьютерлердің не істейтіні туралы ескірген түсінік: бұл жеңіл мәселелерге ғана тән сән-салтанат. Қиын жағдайларда ең жақсы алгоритмдер ең аз уақыт ішінде ең мағыналы нәрсені жасауға негізделген, бұл әрбір факторды мұқият қарастыруды және әрбір есептеуді соңына дейін жеткізуді мүлдем білдірмейді. Өмір бұған тым күрделі.
Біз қарастырған дерлік кез келген салада, біз нақты әлемдегі факторларды неғұрлым көп қоссақ — жұмысқа үміткерлермен сұхбат кезінде ақпараттың толық болмауы болсын, «зерттеу/пайдалану» дилеммасын шешу кезінде өзгермелі әлеммен жұмыс істеу болсын — мінсіз шешімді табу негізсіз ұзақ уақытты алатын жағдайға тап болу ықтималдығымыз соғұрлым жоғары болады. Шын мәнінде, адамдар әрқашан компьютер ғылымы «қиын жағдайлар» деп санайтын мәселелерге тап болады. Мұндай қиын жағдайларда тиімді алгоритмдер болжамдар жасайды, қарапайым шешімдерге бейімділік танытады, қателік шығындары мен кідіріс шығындарын теңестіреді және тәуекелге барады.
Бұл біз рационалды бола алмағанда жасайтын жеңілдіктеріміз емес. Бұл — рационалды болудың нағыз мағынасы.
Ескертпелер
КІРІСПЕ
al-Jabr wa’l-Muqābala: Бұл кітап өзімен бірге нағыз серпінді технологияны — үнді ондық жүйесін ала келді. Біздің бұл жүйені қате түрде «араб цифрлары» деп атауымыз осы кітаптың ықпалының дәлелі. Араб цифрларының және олар қолдайтын алгоритмдердің енгізілуі осы жаңа математиканы жақтаушылар («алгористер») мен есепшотты (абакус) пайдаланған дәстүрлі есепшілер («абацистер») арасындағы ортағасырлық текетіресті тудырды. Бұл өте шиеленісті болды: Флоренция қаласы 1399 жылы банктердің араб цифрларын пайдалануына тыйым салатын заң қабылдады.
төрт мың жылдық шумерлік қыш тақтайша: Толық талдау Кнуттың «Ежелгі Вавилон алгоритмдері» еңбегінде берілген.
бұғы мүйізінің ұшымен ұру: Бұл әдіс «жұмсақ балғамен соғу» (soft hammer percussion) деп аталады.
«Ғылым — бұл ойлау тәсілі»: Саган, Броканың миы.
адам рационалдылығы туралы ойлау тәсіліміз: Мәселені шешу үшін шексіз есептеу мүмкіндігі мен шексіз уақытты болжайтын классикалық рационалдылық тұжырымдамасының шектеулерін 1950 жылдары психолог, экономист және жасанды интеллект пионері Герберт Саймон атап өткен. Саймон «Bounded rationality (шектеулі рационалдылық — адамның шешім қабылдау қабілетінің ақпарат пен уақытпен шектелуі)» адам мінез-құлқын жақсырақ түсіндіре алады деп дәлелдеді. Саймонның бұл түсінігі математика мен компьютер ғылымында қолдау тапты.
Bounded optimality (шектеулі оңтайлылық): Уақыт пен қателік арасындағы ең жақсы тепе-теңдікті сақтайтын алгоритмді таңдау — функционалды интеллектуалды агенттерді дамытудың кілті. Бұл туралы UC Berkeley компьютерлік ғалымы Стюарт Рассел және Microsoft Research басқарушы директоры Эрик Хорвиц айтқан. Бұл тәсіл адам танымының модельдерін жасау үшін қолданылады.
Адам математигімен ұқсастығы: Тьюрингтің «Есептелетін сандар туралы» Тьюринг машинасы (есептеулердің математикалық моделі) еңбегінің 9-бөлімінде ол Тьюринг машинасын анықтау кезіндегі таңдауларды адам орындайтын амалдармен салыстыру арқылы негіздейді: екі өлшемді қағаз парағы бір өлшемді таспаға айналады, адамның ой-өрісінің күйі машинаның күйіне айналады, ал таңбалар адам немесе машина қағаз бетінде қозғалған сайын жазылып, оқылады. Есептеу — бұл компьютердің атқаратын жұмысы, ал ол кезде жалғыз «компьютерлер» тек адамдар болатын.
біз қисынсызбыз және қателікке бой алдырғышпыз: Мысалы, Гиловичтің «Біз солай емес нәрсені қалай білеміз» (How We Know What Isn’t So); Ариели мен Джонстың «Болжамды қисынсыздық» (Predictably Irrational); және Маркустың «Клуге» (Kluge) еңбектерін қараңыз.
«Барлық мәсіхшілер бастаса да»: Кеплердің 1613 жылғы 23 қазандағы «белгісіз ақсүйекке» жазған хатынан; мысалы, Баумгардтың «Иоганн Кеплер» еңбегін қараңыз.
мұндай кең таралған құбылыс: «Күркетауықты тастау» (алғыс айту күні қарсаңындағы қарым-қатынасты үзу) феномені басқа да көптеген дереккөздермен қатар [LINK url=”http://www. npr. org/templates/story/story. php? storyId=120913056”]http://www. npr. org/templates/story/story. php? storyId=120913056[LINK] және [LINK url=”http://jezebel. com/5862181/technology-cant-stop-the-turkey-drop”]http://jezebel. com/5862181/technology-cant-stop-the-turkey-drop[LINK] сілтемелерінде айтылады.
Кез келген <span data-term="true">оңтайлы тоқтау</span> (белгілі бір әрекетті тоқтату үшін ең жақсы уақытты таңдау) мәселесінде: Оңтайлы тоқтау математикасы туралы көбірек білу үшін Фергюсонның «Оңтайлы тоқтау және оның қолданылуы» (Optimal Stopping and Applications) еңбегі тамаша анықтамалық болып табылады.
оңтайлы тоқтаудың ең танымал жұмбағы: Хатшы мәселесінің (ең жақсы үміткерді таңдаудың алгоритмдік есебі) табиғаты мен шығу тегі туралы егжей-тегжейлі талдау Фергюсонның «Хатшы мәселесін кім шешті? » (Who Solved the Secretary Problem? ) мақаласында берілген.
оның баспа бетінде алғаш пайда болуы: Гарднер жазған мәселе «Гугол ойыны» (Game of Googol) деп аталатын салондық ойын болатын, оны 1958 жылы Minneapolis-Honeywell Regulator компаниясынан Джон Фокс пен MIT-ден Джеральд Марни ойлап тапқан көрінеді. Міне, Фокстың 1959 жылғы 11 мамырдағы Гарднерге жазған түпнұсқа хатында бұл қалай сипатталған (біз келтірген Гарднерге жазылған барлық хаттар Стэнфорд университетіндегі Мартин Гарднердің құжаттарынан алынған, 1-серия, 5-қорап, 19-папка):
Бірінші ойыншы әртүрлі қағаз қиындыларына өзі қалағанша бірегей оң сандарды жазады. Содан кейін ол оларды араластырып, бір-бірлеп аударады. Егер екінші ойыншы оған белгілі бір қағазда тоқтауды айтса және сол қағаздағы сан жиынтықтағы ең үлкен сан болса, онда екінші ойыншы жеңеді. Егер олай болмаса, бірінші ойыншы жеңеді.
Фокс одан әрі ойынның атауы «бір гугол» (онның жүзінші дәрежесіне тең сан) санының қағаздардың біріне жиі жазылатынына байланысты екенін атап өтті (бұл қарсыласты оны ең үлкен сан деп ойлап алдау үшін жасалса керек, ал «екі гугол» басқа жерде пайда болады). Содан кейін ол екінші ойыншы үшін оңтайлы стратегия — қағаздардың жартысы аударылғанша күту, содан кейін бірінші жартыдағы ең үлкен саннан үлкен алғашқы санды таңдау екенін алға тартты, бұл жеңіске жету мүмкіндігін 34,7%-ға жақындатады.
Гарднер мәселе туралы көбірек ақпарат алу үшін Альберта университетінің математигі Лео Мозерге хат жазды. Мозер 1956 жылы осыған ұқсас мәселені қарастыратын мақала жазған болатын (Мозер, «Кэли мәселесі туралы»), оны бастапқыда 1875 жылы ықпалды британдық математик Артур Кэли ұсынған еді (Кэли, «Математикалық сұрақтар»; Кэли, Жинақталған математикалық еңбектер). Міне, Кэли ұсынған нұсқа:
Лотерея келесідей ұйымдастырылады: n билет бар, олар сәйкесінше a, b, c фунттарды білдіреді. Адам бір рет билет суырады; оған қарайды; егер қаласа, тағы бір рет (қалған n − 1 билеттің ішінен) суырады; билетіне қарайды, егер қаласа тағы да (қалған n − 2 билеттің ішінен) суырады; және осылайша, барлығы k реттен көп емес суыра алады; және ол соңғы суырылған билеттің құнын алады. Егер ол өзінің суыруын ықтималдықтар теориясына сәйкес өзіне ең тиімді түрде реттейтін болса, оның күтілетін табысының құны қандай болады?
Мозер тағы бір ақпарат қосты — билеттердің 0 мен 1 аралығындағы кез келген мәнді қабылдау ықтималдығы бірдей екендігі.
Кэли мәселесінде және Мозердің оны сәл өзгерткен нұсқасында (кейде оларды бірге «Кэли-Мозер мәселесі» деп атайды), ұтыс — таңдалған билеттің құны, ал міндет — ең жоғары орташа ұтысты беретін стратегияны табу. Кэли мен Мозер зерттеген мәселе хатшы мәселесінен (және Гугол ойынынан) тек ең жақсысын табу ықтималдығын емес (тек ең жақсысы қажет болғанда), таңдалған санның орташа мәнін барынша арттыруға назар аударуымен ерекшеленеді. Мозердің 1956 жылғы еңбегі тек осы мәселенің ұтымды шешімімен ғана емес, сонымен қатар оңтайлы тоқтаудың шынайы өмірдегі салдары туралы алғаш рет айтылған жер болғанымен де ерекшеленеді. Мозер екі ықтимал сценарийді айтады:
Саяхатшының мәселесі: Көлікпен саяхаттап жүрген турист жол көрсеткішінде көрсетілген n мотельдің біріне түнеуге тоқтағысы келеді. Ол ең қолайлы жайлылықты іздейді, бірақ әрине, сапарының ешбір бөлігін қайталағысы келмейді. Ол тоқтау үшін қандай критерийді қолдануы керек? Бойдақтың дилеммасы: Бойдақ жігіт өзіне тұрмысқа шығуға дайын және «құндылығын» бағалай алатын қызды кездестіреді. Егер ол одан бас тартса, қыз кейін оған қайтып келмейді, бірақ ол болашақта басқа қыздарды кездестіруі мүмкін және оның барлығы n мүмкіндігі болады деп есептейді. Ол қандай жағдайда үйленуі керек?
Бірнеше үміткерлерді қарастыру идеясы — кейіпкерлердің жынысы ауыстырылған күйінде — Гарднердің 1960 жылғы Гугол ойыны туралы бағанында тиісінше орын алды.
Мозер Гарднерге дұрыс шешімді — 37% ережесін ұсынды, бірақ оның 1959 жылғы 26 тамыздағы хатында мәселенің шығу тегі ертерек болуы мүмкін екені айтылған: «Мен мұны Р. Э. Гаскелл (Сиэтлдегі Boeing Aircraft компаниясынан) 1959 жылғы қаңтарда таратқан жазбалардан да таптым. Ол мәселені доктор Г. Марсальяға телиді».
Гарднердің қайырымды түсіндірмесі бойынша, Фокс пен Марни бүкіл мәселені емес, тек «Гугол ойынының» өзін ойлап таптық деп мәлімдеген, бұл жайт оның бағанында мұқият айтылды. Бірақ ол ұқсас мәселелердің ертерек мысалдарын келтірген әртүрлі хаттар алды және бұл мәселенің математиктер арасында кеңінен талқыланғаны анық болды.
мәселенің шығу тегі таңқаларлықтай құпия: Тіпті Гилберт пен Мостеллердің «Тізбектің максимумын тану» (Recognizing the Maximum of a Sequence) атты хатшы мәселесі бойынша ең беделді ғылыми еңбектерінің бірі де «бұл мәселенің авторын табу талпыныстары сәтсіз аяқталғанын» мойындайды. Фергюсонның «Хатшы мәселесін кім шешті? » еңбегі хатшы мәселесінің, соның ішінде оның кейбір нұсқаларының қызықты әрі математикалық тұрғыдан егжей-тегжейлі тарихын береді. Фергюсон іс жүзінде Гарднер сипаттаған мәселенің шешілмегенін алға тартты. Тек салыстырмалы рангтері бойынша ерекшеленетін үміткерлер тізбегінен ең жақсысын таңдау ықтималдығын барынша арттыратын хатшы мәселесін көптеген адамдар шешкені анық, бірақ Фергюсон бұл іс жүзінде Гугол ойынында қойылған мәселе емес екенін атап өтті. Біріншіден, Гугол ойыншысы әр қағаздан көрген мәндерін біледі. Екіншіден, бұл бәсекелестік ойын — мұнда бір ойыншы екіншісін алдайтын сандар мен тізбекті таңдауға тырысады. Фергюсонның бұл күрделі мәселеге өз шешімі бар, бірақ ол өте күрделі болғандықтан, мақаланы өзіңіз оқуыңызға тура келеді!
Мостеллер мәселе туралы естігенін еске алды: Гилберт пен Мостеллер, «Тізбектің максимумын тану».
Ратгерс университетінен Роджер Пинкхэм былай деп жазды: Роджер Пинкхэмнің Мартин Гарднерге жазған хаты, 29 қаңтар, 1960 жыл.
Флудтың компьютерлік ғылымға әсері: Куктың «Коммивояжердің соңынан» (In Pursuit of the Traveling Salesman); Паундстоунның «Тұтқынның дилеммасы» (Prisoner’s Dilemma); және Флудтың «Жұмсақ жаңалықтар» (Soft News) еңбектерін қараңыз.
мәселені 1949 жылдан бері қарастырып келеді: Флуд бұл мәлімдемені Гарднерге 1960 жылғы 5 мамырда жазған хатында жасады. Ол 1958 жылғы 5 мамырдағы хатты қоса берді, онда ол дұрыс шешімді көрсеткен, бірақ сонымен бірге Эндрю Глисон, Дэвид Блэквелл және Герберт Роббинстің соңғы жылдары мәселені шешкені туралы қауесеттер барын атап өткен.
1988 жылғы 12 мамырда Том Фергюсонға жазған хатында Флуд мәселенің шығу тегі туралы толығырақ тоқталды. (Хат Мичиган университетіндегі Меррилл Флуд архивінде сақталған. ) Оның мектепті жаңа бітірген қызы өзінен үлкен адаммен жақын қарым-қатынаста болған, ал Флуд пен оның әйелі бұған қарсы болған. Оның қызы 1950 жылғы қаңтарда Джордж Вашингтон университетінде өткен конференцияда хаттама жүргізіп жатқан, ал Флуд онда өзі «күйеу жігіт мәселесі» деп атаған мәселені ұсынған. Оның айтуынша: «Мен ол кезде мәселені шешуге тырысқан жоқпын, оны жай ғана [қызының] осы тұрғыда сәл ойлануын қалағандықтан енгіздім және ол қарапайым әдемі математикалық есеп сияқты көрінді». Флуд Флудтың өзі нақты шешімді тапқанға дейін, бірнеше жылдан кейін Герберт Роббинстің жуықтап шешімін бергенін айтады.
1964 жылғы мақалада пайда болған сияқты: Мақала — Чоу және т. б. , «Салыстырмалы ранг негізіндегі оңтайлы таңдау».
осы уақытқа дейін көргендеріңіздің ішіндегі ең жақсысы: Әдебиетте біз «осы уақытқа дейінгі ең жақсы» (best yet) деп атайтын үміткерлерді (біздіңше, бұл сәл түсініксіз) «кандидаттар» деп атайды.
жалпы жиынтықтың 37%-ына тоқтайды: 37% ережесі n үміткер үшін бірдей талдау жасау арқылы шығарылады — алғашқы k үміткерге негізделген стандартты орнату жалпы алғанда ең жақсы үміткерді таңдауға әкелетін ықтималдықты есептеу. Бұл ықтималдықты k-ның n-ге қатынасы арқылы көрсетуге болады, оны біз p деп атаймыз. n өскен сайын ең жақсы үміткерді таңдау ықтималдығы −p log p математикалық функциясына жақындайды. Бұл p = 1/e болғанда максималды болады. e мәні 2,71828… , сондықтан 1/e — 0,367879441… , немесе 37%-дан сәл ғана аз. Ал математикалық сәйкестік — сәттілік ықтималдығының p-мен бірдей болуы — log e-нің 1-ге тең болуынан туындайды. Сонымен, егер p = 1/e болса, −p log p жай ғана 1/e болады. Толық шығарылуының жақсы түсіндірілген нұсқасы Фергюсонның «Хатшы мәселесін кім шешті? » мақаласында берілген.
мәселенің қызықты математикалық симметрияларының бірі: Математиктер Джон Гилберт пен Фредерик Мостеллер бұл симметрияны «қызықты» деп атайды және оны Гилберт пен Мостеллердің «Тізбектің максимумын тану» еңбегінде сәл кеңірек талқылайды.
«Жыныстар арасындағы құмарлық»: Мальтус, «Халық санының принципі туралы эссе».
«алғаш сүйіскен адамыма тұрмысқа шықтым»: Көптеген дереккөздерге телінеді, мысалы, Томас, «Ақ үйдің алдыңғы қатарында».
махаббат іздеген аспирант: Майкл Триктің әйелімен қалай танысқаны туралы блог жазбасы — «Махаббатты оңтайлы табу» (Finding Love Optimally), Michael Trick’s Operations Research Blog, 27 ақпан, 2011 жыл, [LINK url=”http://mat. tepper. cmu. edu/blog/? p=1392”]http://mat. tepper. cmu. edu/blog/? p=1392[LINK].
үміткерлер саны немесе уақыт: 37% ережесі іздеу уақытына тек үміткерлер уақыт бойынша біркелкі таралған жағдайда ғана тікелей қолданылады. Әйтпесе, уақыт бойынша үлестірімнің 37%-ын дәлірек көздеу керек. Брусс, «Ең жақсы таңдау мәселелерінің класына бірыңғай көзқарас» еңбегін қараңыз.
37% ережесі 26,1 жасты берді: Сөз салу үшін кем дегенде 26 жасқа дейін күтуді талдау (18-ден 40-қа дейінгі жолдың 37%-ы) алғаш рет Линдлидің «Динамикалық бағдарламалау және шешім қабылдау теориясы» еңбегінде кездеседі, Трик бұл идеяны осы жерден алған болуы керек.
барлығы он бір әйелге қамқорлық жасау: Кеплердің тарихы Кестлердің «Су айрығы» (The Watershed) және Баумгардтың «Иоганн Кеплер» еңбектерінде, сондай-ақ Коннордың «Кеплердің мыстаны» (Kepler’s Witch) кітабында егжей-тегжейлі баяндалған. Кеплердің екінші әйел іздеуі туралы біз білетініміздің көбі, негізінен, Кеплердің 1613 жылғы 23 қазанда Австрияның Линц қаласынан «белгісіз ақсүйекке» жазған бір хатынан алынған.
ертерек және жиі ұсыныс жасау: Смит «Жұмысқа тұруы белгісіз хатшы мәселесі» еңбегінде егер ұсыныстың қабылданбау ықтималдығы q болса, онда ең жақсы үміткерді табу ықтималдығын барынша арттыратын стратегия — үміткерлердің q1/(1−q) бөлігін қарап шығу, содан кейін осы уақытқа дейін көргендерден жақсырақ әрбір үміткерге ұсыныс жасау екенін көрсетті. Бұл үлес әрқашан 1/e-ден аз болады, сондықтан көбірек ұсыныс жасау арқылы сіз мүмкіндігіңізді арттырасыз. Өкінішке орай, бұл мүмкіндіктер сіз қабылданбаған жағдайдағыдан бәрібір төмен — ең жақсы үміткермен қалу ықтималдығы да q1/(1−q)-ге тең, демек 37% ережесі бергеннен аз.
үміткерлердің 61%-ын көргенше: Егер кейінге қалдырылған ұсыныстарға рұқсат етілсе, оңтайлы стратегия жедел ұсыныстың қабылдану ықтималдығына (q) және кейінге қалдырылған ұсыныстың қабылдану ықтималдығына (p) байланысты болады. Бастапқыда өткізіп жіберу керек үміткерлердің үлесі мынадай айтарлықтай күрделі формуламен беріледі:

Бас тарту мен қайта шақырудың бұл интеграцияланған формуласы Петручеллидің «Белгісіздік бар ең жақсы таңдау мәселелері» еңбегінен алынған, дегенмен бұрынғы үміткерлерді қайта шақыру мәселесін бұрынырақ Янг «Кездейсоқ тізбектің максимумын тану» еңбегінде қарастырған болатын.
Бұл формула біз q және p үшін нақты мәндерді таңдағанда жеңілдейді. Егер p = 0 болса, яғни кейінге қалдырылған ұсыныстар әрқашан қабылданбаса, біз бас тартуы бар хатшы мәселесінің ережесіне қайта келеміз. q = 1-ге жақындаған сайын (жедел ұсыныстар әрқашан қабылданады), ұсыныс жасай бастау керек үлес ep−1-ге ұмтылады, бұл әрқашан 1/e-ден үлкен (оны e−1 деп қайта жазуға болады). Бұл өткізіп жіберілген үміткерлерге ұсыныс жасау мүмкіндігінің болуы үміткерлерді өткізіп жіберуге көбірек уақыт жұмсауға әкелетінін білдіреді — бұл өте түсінікті жайт. Негізгі мәтінде біз жедел ұсыныстар әрқашан қабылданады (q = 1), бірақ кейінге қалдырылған ұсыныстар уақыттың жартысында қабылданбайды (p = 0,5) деп есептейміз. Онда сіз үміткерлердің 61%-ын өткізіп жіберіп, одан кейін келетін «осы уақытқа дейінгі ең жақсысына» ұсыныс жасауыңыз керек, ал соңында қажет болса, жалпы ең жақсысына қайта оралып, ұсыныс жасауыңыз қажет.
Петручелли қарастырған тағы бір мүмкіндік — үміткерлердің құлшынысы азайған сайын бас тарту ықтималдығы уақыт өткен сайын артады. Егер үміткердің ұсынысты қабылдау ықтималдығы qps болса (мұндағы s — сол үміткерге жету үшін қажетті артқа қарай «қадамдар» саны), онда оңтайлы стратегия q, p және үміткерлер саны n-ге байланысты болады. Егер q/(1 − p) мәні n − 1-ден көп болса, онда күту ойынын ойнап, барлық үміткерлерді бақылап, содан кейін ең жақсысына ұсыныс жасаған дұрыс. Әйтпесе, q1/(1−q)-ге тең үлесті бақылап, осы уақытқа дейін көргендерден жақсырақ келесі үміткерге ұсыныс жасаңыз. Қызығы, бұл p = 0 болғандағымен дәл бірдей стратегия (сәттілік ықтималдығы да бірдей), яғни егер бас тарту ықтималдығы уақыт өткен сайын артса, алдыңғы кандидатқа қайта оралу мүмкіндігінің ешқандай пайдасы жоқ.
«Тәжірибені жинақтаудың қажеті жоқ»: Гилберт пен Мостеллер, «Тізбектің максимумын тану».
Шектік ережені қолданыңыз: Толық ақпаратты ойын сияқты оңтайлы тоқтау мәселелерін шешудің жалпы стратегиясы — соңынан бастап артқа қарай пайымдау, бұл принцип кері индукция (соңғы нәтижеден бастап артқа қарай шешім қабылдау әдісі) деп аталады. Мысалы, сүйекті лақтыратын ойынды елестетіңіз, сізде сол санмен қалу немесе ең көбі k рет қайта лақтыру мүмкіндігі бар (біз бұл мысалды Хиллдің «Қашан тоқтау керектігін білу» еңбегінен алдық). Оңтайлы стратегия қандай? Біз оны артқа қарай жұмыс істеу арқылы таба аламыз. Егер k = 0 болса, сізде таңдау жоқ — лақтырылған санмен қалуыңыз керек және орташа есеппен 3,5 ұпай жинайсыз (сүйек лақтырудың орташа мәні: (1 + 2 + 3 + 4 + 5 + 6)/6). Егер k = 1 болса, онда сіз тек сол орташа мәннен асатын санды — 4 немесе одан жоғарыны ғана қалдыруыңыз керек. Егер 1, 2 немесе 3 түссе, соңғы рет лақтырып көруге тәуекел еткеніңіз тиімдірек. Осы стратегияны ұстана отырып, 50% жағдайда 4, 5 немесе 6-да тоқтайсыз (орташа мәні 5) және 50% жағдайда соңғы лақтыруға көшесіз (орташа мәні 3,5). Сонымен, k = 1 болғандағы орташа ұпайыңыз — 4,25, ал k = 2 болғанда лақтырған саныңыз осыдан асса ғана (5 немесе одан жоғары) қалдыруыңыз керек. Және осылай жалғаса береді.
Осылайша, кері индукция көне сұраққа жауап береді. «Қолдағы бір құс бұтадағы екі құстан артық» дейміз, бірақ бұл жерде 2,0 дұрыс коэффициент пе? Математика бұтадағы құстардың нақты саны қолдағы құстың сапасына байланысты екенін көрсетеді. Ыңғайлы болу үшін құстарды сүйектермен алмастырсақ, 1, 2 немесе 3-тің түсуі тіпті «бұтадағы» бір сүйекке де татымайды. Бірақ 4-тің түсуі бұтадағы бір сүйекке татиды, ал 5-тің түсуі бұтадағы екі, үш, тіпті төрт сүйекке татиды. Ал 6-ның түсуі шексіз үлкен сүйек бұтасының бүкіл ішіндегісінен де қымбат — ол не болса да.
Гилберт пен Мостеллер толық ақпаратты хатшы мәселесінде қолданылуы тиіс шектер тізбегін шығару үшін дәл осы тәсілді қолданды. Шектердің өзі қарапайым математикалық формуламен сипатталмайды, бірақ олардың мақаласында кейбір жуықтаулар кездеседі. Ең қарапайым жуықтау n − k үміткері үшін tk = 1/(1 + 0,804/k + 0,183/k2) шегін береді. Егер кездейсоқ үміткердің n − k үміткерінен жақсы болу ықтималдығы tk-дан аз болса, онда сол үміткерді алу керек. Бөлім k өскен сайын — өсу қарқынымен — артатындықтан, уақыт өткен сайын шекті тез төмендетуіңіз керек.
хатшы мәселесінің тағы да көптеген нұсқалары: Фриманның «Хатшы мәселесі және оның кеңейтімдері» (The Secretary Problem and Its Extensions) еңбегі осы нұсқалардың үлкен санын қорытындылайды. Міне, кейбір пайдалы нәтижелерге қысқаша шолу: Егер үміткерлер саны 1-ден n-ге дейінгі кез келген сан болуы ықтималдығы бірдей болса, онда оңтайлы ереже — алғашқы n/e2 (бұл n-нің шамамен 13,5%-ы) бөлігін көріп, осы уақытқа дейін көргендерден жақсырақ келесі кандидатты алу, мұндағы сәттілік мүмкіндігі 2/e2 болады (Пресман және Сонин, «Заттардың кездейсоқ саны үшін ең жақсы таңдау мәселесі»). Егер үміткерлер саны шексіз болуы мүмкін болса, бірақ іздеу әрбір үміткерден кейін p ықтималдығымен тоқтаса, оңтайлы ереже — алғашқы 0,18/p үміткерді қарау, мұндағы сәттілік мүмкіндігі 23,6% (сонда). Елестетіп көріңізші, сіз ең жақсы хатшыны тапқыңыз келеді, бірақ оны табудың құндылығы іздеу уақыты ұзарған сайын азаяды. Егер k үміткерді көргеннен кейін ең жақсы хатшыны табудың ұтысы dk болса, онда күтілетін ұтысты барынша арттыратын стратегия — үміткерлердің жалпы саны көбейген сайын 1/(1 − d)-ден аз болуы кепілдендірілген үміткерлер санына негізделген шекті белгілеу (Расмуссен мен Плиска, «Максимумды таңдау»). Егер d 1-ге жақын болса, онда оңтайлы стратегияның жуықтауы — алғашқы −0,4348/log d үміткерді қарап, содан кейін осы уақытқа дейін көргендерден жақсырақ келесі кандидатты алу. Бұл стратегияны ұстану жалпы жиынтықтың көлеміне қарамастан, тек санаулы ғана үміткерді қарауға әкелуі мүмкін.
Нақты өмірдің идеалдандырылған жалдау сценарийлерінен ерекшеленетін бір тұсы — мақсат ең жақсы хатшыны алу ықтималдығын барынша арттыру болмауы мүмкін. Бірқатар балама нұсқалар зерттелді. Чоу және т. б. «Салыстырмалы ранг негізіндегі оңтайлы таңдау» еңбегінде егер мақсат таңдалған кандидаттың орташа рангін барынша арттыру болса, стратегияның басқа түрі қолданылатынын көрсетті. Үміткердің салыстырмалы рангіне қойылатын бірыңғай шектің орнына шектер тізбегі болады. Бұл шектер көбірек кандидаттар бақыланған сайын артады, яғни сұхбат алушы уақыт өткен сайын талапты азайта бастайды. Мысалы, төрт үміткер болғанда, іздеуді тоқтату үшін кандидатқа қажетті минималды салыстырмалы ранг: бірінші үміткер үшін 0 (біріншісінде ешқашан тоқтамау), екіншісі үшін 1 (тек біріншісінен жақсы болса тоқтау), үшіншісі үшін 2 (ең жақсы немесе екінші жақсы болса тоқтау) және төртіншісі үшін 4 (жай ғана тоқтау! ). Бұл стратегияны ұстану орташа күтілетін 1 7⁄8 рангін береді, бұл үміткерді кездейсоқ таңдағанда болатын (1 + 2 + 3 + 4)/4 = 2 1⁄2-ден жақсырақ. Оңтайлы шектердің формуласы кері индукция арқылы табылады және ол өте күрделі — қызығушылық танытқан оқырмандарға түпнұсқа мақалаға жүгінуді ұсынамыз.
Хатшы туралы классикалық мәселе мен орташа ранг жағдайының арасындағы айырмашылықты олардың әртүрлі рангілерге пайданы (нәтиженің құндылығын бағалау өлшемі) қалай тағайындайтыны тұрғысынан қарастыруға болады. Классикалық мәселеде сіз ең үздігін таңдағаныңыз үшін 1 ұпай, ал қалғандары үшін 0 аласыз. Орташа ранг жағдайында сіз үміткерлердің жалпы санынан таңдалған үміткердің рангін азайтқанға тең пайда аласыз. Мұны жалпылаудың айқын жолдары бар және үміткердің рангі өскен сайын азаятын кез келген пайда функциясы үшін орташа рангті барынша арттыратын стратегияға ұқсас көп шекті стратегиялар жұмыс істейді (Муччи, “On a Class of Secretary Problems”). Тағы бір қызықты жалпылау — ғашықтарды ажырату үшін маңызды салдары бар — егер ең жақсыны таңдағаныңыз үшін пайда 1, ал кез келген басқа біреуді таңдағаныңыз үшін −1 болса (ешқандай таңдау жасамағаныңыз үшін 0), онда сіз үміткерлердің мына пропорциясынан өтуіңіз керек:

содан кейін осы уақытқа дейін көргендердің бәрінен жақсырақ алғашқы адамды таңдаңыз (немесе олардың ешқайсысы бұл критерийге сәйкес келмесе, ешкімді таңдамаңыз) (Сакагучи, “Bilateral Sequential Games”). Сондықтан міндеттеме алмас бұрын пайда функцияңыз туралы мұқият ойланыңыз!
Бірақ сізге тек ең жақсы адамды табу ғана емес, сонымен бірге бірге өткізетін уақытыңыздың қаншалықты болатыны маңызды болса ше? Фергюсон, Хардвик және Тамаки “Maximizing the Duration of Owning a Relatively Best Object” еңбегінде бұл мәселенің бірнеше нұсқасын зерттеді. Егер сізге n адамның ішіндегі ең жақсысымен өткізетін уақытты барынша арттыру маңызды болса, онда алғашқы 0. 204n + 1. 33 адамды қарап шығып, одан кейінгі олардың бәрінен жақсырақ бірінші адамға ұмтылуыңыз керек. Бірақ егер сізге осы уақытқа дейін көрген адамдардың ішіндегі ең жақсысымен өткізетін уақытты барынша арттыру маңызды болса, онда сіз 1/e² ≈ 13. 5% пропорциясына сәйкес келетін бөлікті ғана қарауыңыз керек. Бұл қысқарақ қарау кезеңдері — танысу сияқты — серіктес іздеу өміріңіздің айтарлықтай бөлігін алуы мүмкін контексттерде өте өзекті.
Екінші үздік адамды табу, ең жақсыны табудан қиынырақ болып шықты. Оңтайлы стратегия — үміткерлердің алғашқы жартысынан өтіп, содан кейін осы уақытқа дейін көргендердің арасында екінші үздік болып табылатын келесі үміткерді таңдау (Роуз, “A Problem of Optimal Choice and Assignment”). Сәттілік ықтималдығы небәрі 1/4 құрайды (ең жақсысы үшін 1/e-ге қарағанда). Сондықтан төменіне келіспегеніңіз дұрыс.
Соңында, сіз хатшы іздеп жүргенде, үміткерлердің өздері де жұмыс іздеп жүргендігін ескеретін нұсқалар да бар. Бұл қосымша симметрия — әсіресе танысу сценарийіне қатысты болғанда — мәселені одан сайын күрделендіре түседі. Индиана университетінің когнитивті ғалымы Питер Тодд бұл күрделілікті (және оны қалай жеңілдетуге болатынын) егжей-тегжейлі зерттеді. Қараңыз: Todd and Miller, “From Pride and Prejudice to Persuasion Satisficing in Mate Search,” және Todd, “Coevolved Cognitive Mechanisms in Mate Search. ”
Үй сату да осыған ұқсас: Үй сату мәселесі Сакагучидің “Dynamic Programming of Some Sequential Sampling Design”, Чоу мен Роббинстің “A Martingale System Theorem and Applications” және “On Optimal Stopping Rules” еңбектерінде талданған. Біз ұсыныстардың шексіз көп болуы мүмкін жағдайына назар аударамыз, бірақ бұл авторлар ықтимал ұсыныстардың саны белгілі және шекті болған кездегі оңтайлы стратегияларды да ұсынады (олар азырақ консервативті — егер мүмкіндіктеріңіз шекті болса, шегіңіз төменірек болуы керек). Шексіз жағдайда сіз келесі ұсынысты күтудің күтілетін мәніне негізделген шекті белгілеуіңіз керек және сол шектен асатын алғашқы ұсынысты қабылдауыңыз қажет.
Тоқтау бағасы күту шығынының функциясы ретінде: Ұсыныс бағасын p және келесі ұсынысты күту шығынын c біздің баға диапазонымыздың үлесі ретінде көрсетсек (0 — диапазонның төменгі жағы, 1 — жоғарғы жағы), келесі ұсыныстың p-ден жақсырақ болу мүмкіндігі жай ғана 1 − p болады. Егер (немесе қашан) жақсырақ ұсыныс келсе, біздің p-ге қатысты күтетін орташа пайдамыз жай ғана (1−p)⁄2 болады. Оларды бір-біріне көбейту бізге басқа ұсынысты қарастырудың күтілетін нәтижесін береді және бұл іске тұрарлық болуы үшін c шығынынан көп немесе оған тең болуы керек. Бұл (1 − p) ((1−p)⁄2) ≥ c теңдеуін былайша жеңілдетуге болады:

және оны p үшін шешу бізге мынадай жауап береді:

графикте көрсетілгендей.
“Бізге түскен алғашқы ұсыныс тамаша болды”: Лаура Альберт Маклэй, жеке сұхбат, 16 қыркүйек, 2014 жыл.
Адамдардың қалай жұмыс іздейтінін модельдеу үшін: Жұмыс іздеуді оңтайлы тоқтату мәселесі ретінде тұжырымдау Стиглердің “The Economics of Information” және “Information in the Labor Market” еңбектерінде қарастырылады. Макколл “Economics of Information and Job Search” еңбегінде үй сату мәселесінің шешіміне балама модельді қолдануды ұсынды, ал Липпман мен Макколл “The Economics of Job Search” еңбегінде бұл модельдің бірнеше кеңейтілімдерін талқылайды. Хатшы мәселесі көптеген нұсқаларға негіз болғаны сияқты, экономистер де бұл қарапайым модельді шынайырақ ету үшін әртүрлі тәсілдермен жетілдірді: бір күнде бірнеше ұсыныстың түсуіне жол беру, сатушының шығындарын түзету және іздеу кезіндегі экономикадағы ауытқуларды ескеру. Жұмыс іздеу контекстіндегі оңтайлы тоқтау туралы жақсы шолуды Роджерсон, Шимер және Райттың “Search-Theoretic Models of the Labor Market” еңбегінен табуға болады.
Енді ол сіздің шегіңізден жоғары болмайды: Жұмыс іздеу мәселесіне шолу жасағанда айтылғандай: “Бұрын қабылданбаған ұсыныстарды қайта қарау мүмкін емес деп есептеңіз, бірақ бұл шын мәнінде шектеу емес, өйткені мәселе стационарлы, сондықтан бүгін қолайлы емес ұсыныс ертең де қолайлы болмайды” (сонда).
“Оқытушылар құрамына арналған тұрақ”: Кларк Керр, “Education: View from the Bridge”, Time, 17 қараша, 1958 жыл.
“Күтілетін көлік қозғалысын жоспарлаңыз”: Дональд Шуп, жеке хат-хабар, маусым 2013 жыл.
Сан-Франциско орталығында іске асырылды: SFMTA әзірлеген SFpark жүйесі және оның Шуптан шабыт алған динамикалық баға белгілеуі туралы қосымша ақпаратты http://sfpark. org/how-it-works/pricing/ сайтынан табуға болады. (Шуптың өзі кеңесші ретінде қатысады. ) Бұл бағдарлама 2011 жылы күшіне енді және әлемдегі осындай алғашқы жоба болып табылады. Бағдарламаның әсерін жақында талдау үшін қараңыз: Миллард-Болл, Вайнбергер және Хэмпшир, “Is the Curb 80% Full or 20% Empty? ”
Толу деңгейі 90%-дан 95%-ға дейін көтерілгенде: Дональд Шуп, жеке сұхбат, 7 маусым, 2013 жыл. Дәлірек айтсақ, толу деңгейінің 90%-дан 95%-ға дейін өсуі 5. 555… пайыздық өсімді білдіреді.
Сіз шексіз ұзын жолда келе жатырсыз деп есептеңіз: Осы жерде тұжырымдалған негізгі тұрақ мәселесі ДеГруттың “Optimal Statistical Decisions” еңбегінде мәселе ретінде ұсынылған. Шешімі — межелі жерден −log 2 / log(1−p) орыннан аз қашықтықтағы алғашқы бос орынды иелену, мұндағы p — кез келген орынның бос болу ықтималдығы.
Сізге іздеуді байыпты бастаудың қажеті жоқ: Шуптың “The High Cost of Free Parking” кітабының 17-тарауында баға белгілеу әр блокқа орташа есеппен бір бос орын жасаған кездегі көшедегі оңтайлы тұрақ стратегиясы талқыланады, бұл Шуп атап өткендей, “ашкөздік пен жалқаулық арасындағы қайшылыққа байланысты” (жеке хат-хабар). Көшедегі арзан орындарды “іздеп жүру” немесе жеке тұрақ орындарына ақы төлеу мәселесі Шуптың 13-тарауында қарастырылады.
Бұл негізгі сценарийге әртүрлі түзетулер: Тамаки “Adaptive Approach to Some Stopping Problems” еңбегінде орынның бос болу ықтималдығын орналасқан жеріне қарай өзгертуге мүмкіндік берді және бұл ықтималдықтарды жол-жөнекей қалай бағалауға болатынын қарастырды. Тамаки “Optimal Stopping in the Parking Problem with U-Turn” еңбегінде кері бұрылу мүмкіндігін қосты. Тамаки “An Optimal Parking Problem” еңбегінде ДеГрут моделінің кеңейтілімін қарастырды, мұнда тұрақ мүмкіндіктері орындардың дискретті жиынтығы ретінде қарастырылмайды. Сакагучи мен Тамаки “On the Optimal Parking Problem in Which Spaces Appear Randomly” еңбегінде осы үздіксіз тұжырымдаманы қолданды және межелі жердің белгісіз болуына жол берді. Маккуин мен Миллер “Optimal Persistence Policies” еңбегінде кварталды айналып өтуге мүмкіндік беретін мәселенің үздіксіз нұсқасын дербес қарастырды.
“Мен велосипедпен жүремін”: Дональд Шуп, жеке сұхбат, 7 маусым, 2013 жыл.
Forbes журналы Борис Березовскийді анықтады: Forbes, “World’s Billionaires”, 28 шілде, 1997 жыл, 174-бет.
Олигархтардың жаңа класының бірі: Пол Хлебников, “The Rise of an Oligarch”, Forbes, 9 қыркүйек, 2000 жыл.
“Бір рет қана, бірақ басынан ұру керек”: Владимир Путин, француздық Le Figaro газетіне берген сұхбатында, 26 қазан, 2000 жыл.
Толығымен хатшы мәселесіне арналған кітап: Березовский мен Гнедин, “Problems of Best Choice.”
Елтаңбалар сериясының ұзақтығын барынша арттыру кейбір бизнес жағдайлары үшін жақсы ұқсастық болып табылады — құру үшін c тұратын, іске асу ықтималдығы p болатын және сәтті болғанда d төлейтін, бірақ сәтсіздікке ұшырағанда табысыңызды жоятын мәліметтер тізбегі үшін сіз pʳ/ᵈ⁺¹ ≤ c/d болатындай r доллар тапқаннан кейін тоқтауыңыз керек. Өршіл есірткі сатушылар, назар аударыңыздар.
Мәтінде талқыланған ұры мәселесінде әрбір тонаудан түсетін орташа табыс m және тонаудан аман құтылу ықтималдығы q деп есептеңіз. Бірақ егер ұры ұсталса (бұл 1 − q ықтималдығымен болады), ол бәрін жоғалтады. Шешімі: жиналған табыс mq/(1 − q) мәнінен көп немесе оған тең болғанда тоқтау. Ұры мәселесі Хаггстромның “Optimal Sequential Procedures When More Than One Stop Is Required” еңбегінде, ұры қай қалаға көшу керектігін де шешуге тырысатын күрделірек мәселенің бөлігі ретінде көрініс табады.
Оны оққағар тапқан: Қараңыз, мысалы, “Boris Berezovsky ‘Found with Ligature Around His Neck’”, BBC News, 28 наурыз, 2013 жыл, http://www.bbc.com/news/uk-21963080.
Мәйітті тексерудің ресми қорытындысы: Қараңыз, мысалы, Reuters, “Berezovsky Death Consistent with Hanging: Police”, 25 наурыз, 2013 жыл, http://www.reuters.com/article/2013/03/25/us-britain-russia-berezovsky-postmortem-idUSBRE92O12320130325.
“Березовский берілмес еді”: Хоффман, “The Oligarchs”, 128-бет.
Оңтайлы тоқтау ережесі жоқ: Оңтайлы тоқтау ережесінің болуының бір шарты — ең жақсы нүктеде тоқтаған кездегі орташа сыйақының шекті болуы (қараңыз: Фергюсон, “Optimal Stopping and Applications”). “Үш есе немесе ештеңе” ойыны бұл шартты бұзады — егер елтаңба k рет түсіп, содан кейін бір рет сан жағы түссе, ең жақсы ойыншы сол сан түсер алдында тоқтап, 3ᵏ⁻¹ пайда алады. Мұның ықтималдығы 1/2ᵏ⁺¹. Осылайша, k бойынша орташа мән шексіз болады.
Егер сіз мұны адамдарда ақша көбейген сайын оның құндылығы төмендейді деп есептеу арқылы шешуге болады деп ойласаңыз — яғни ақшалай сыйақыны үш есе арттыру адамдардың сол ақшаға беретін пайдалылығын үш есе арттырмауы мүмкін — онда қарапайым амалы бар: сіз әлі де пайдалылығы үш еселенетін сыйақылар ұсыну арқылы оңтайлы тоқтау ережесі жоқ ойынды ала аласыз. Мысалы, егер сіз ақшаға беретін пайдалылық ақша сомасының логарифмдік функциясы ретінде өссе, онда ойын “куб немесе ештеңе” болады — келесі бәсте алуға болатын ақша мөлшері әр жеңіс сайын үшінші дәрежеге көтеріледі.
Бір қызығы, бүкіл дәулетіңіз әрқашан қауіпке тігілетін “үш есе немесе ештеңе” ойыны үшін оңтайлы тоқтау ережесі болмаса да, бәс тігу сомасын өзіңіз таңдай алатын жағдайда мұндай ойындарды ойнаудың жақсы стратегиялары бар. Кіші Дж. Л. Келлидің құрметіне аталған және алғаш рет Келлидің “A New Interpretation of Information Rate” еңбегінде сипатталған Келли бәс тігу схемасы осының бір мысалы болып табылады. Бұл схемада ойыншы p ықтималдығымен бастапқы бәстен b + 1 есе көп пайда әкелетін бәстер тізбегінің әрқайсысына өз капиталының (p(b+1)−1)⁄b пропорциясын тігу арқылы табыс мөлшерлемесін барынша арттыра алады. Біздің “үш есе немесе ештеңе” ойынымыз үшін b = 2 және p = 0. 5, сондықтан біз әр жолы капиталымыздың төрттен бірін тігуіміз керек — бәрін емес, өйткені ол сөзсіз банкроттыққа әкеледі. Келли бәс тігуінің қолжетімді тарихы Паундстоунның “Fortune’s Formula” еңбегінде берілген.
“Бұл дүниеден бір-ақ рет өтесің”: Бұл дәйексөздің төркіні толық анық емес, бірақ ол XIX ғасырдың екінші жартысынан бастап квакерлердің мақалы ретінде келтіріліп келеді және кем дегенде 1893 жылдан бастап Греллетке теңеліп жүр. Толығырақ қараңыз: W. Gurney Benham, “Benham’s Book of Quotations, Proverbs, and Household Words”, 1907.
“Түстен кейінгі уақытыңызды өткізіңіз”: Диллард, “Pilgrim at Tinker Creek. ”
Хатшы туралы классикалық мәселеге ең жақын келеді: Сил мен Рапопорт, “Sequential Decision Making with Relative Ranks.”
Тиісті уақыттан ертерек ұмтылды: Сонда. Адамдардың қараудан ұмтылуға ауысқан әдеттегі жері 40 үміткердің ішінде 13-ші, ал 80 үміткердің ішінде 21-ші болды, бұл сәйкесінше 32% және 26% құрайды.
“Табиғатымнан өте шыдамсызбын”: Амнон Рапопорт, жеке сұхбат, 11 маусым, 2013 жыл.
Сил мен Рапопорт көрсеткендей: Сил мен Рапопорт, “Sequential Decision Making with Relative Ranks.”
“Жалығу иррационалды емес”: Нил Бирден, жеке хат-хабар, 26 маусым, 2013 жыл. Сондай-ақ қараңыз: Bearden, “A New Secretary Problem. ”
Барлық шешім қабылдауды оңтайлы тоқтатуға айналдырады: Мұндай дәлелді алғаш рет Герберт Саймон жасады және бұл ол Нобель сыйлығын алған үлестердің бірі болды. Саймон өзінің таңғажайып мансабын саясаттанушы ретінде бастап, әкімшілік мінез-құлық сияқты үмітсіз көрінуі мүмкін тақырыпта диссертация жазды. Ол нақты адамдардан тұратын ұйымдардың қалай шешім қабылдайтынын түсіну мәселесін зерттей келе, математикалық экономика ұсынатын шешім қабылдаудың дерексіз модельдеріне — рационалды әрекет біздің нұсқаларымызды жан-жақты қарастыруды талап етеді деген түйсікке сәйкес келетін модельдерге — көңілі толмай бастады.
Саймонның ұйымдарда шешімдердің іс жүзінде қалай қабылданатынын зерттеуі оған бұл болжамдардың қате екенін айқын көрсетті. Балама қажет болды. Ол “A Behavioral Model of Rational Choice” еңбегінде айтқандай: “міндет — экономикалық адамның жаһандық рационалдылығын организмдер, соның ішінде адам, өздері өмір сүретін орта түрлерінде іс жүзінде ие болатын ақпаратқа қолжетімділікпен және есептеу мүмкіндіктерімен үйлесетін рационалды мінез-құлық түрімен алмастыру”.
Саймон адам таңдауының шынайырақ нұсқасы ретінде ұсынған шешім түрі — ол оны “сатисфайзинг” (ең жақсыны емес, қойылған талаптарға сай келетін "жеткілікті жақсы" нұсқаны таңдау) деп атады — қанағаттанарлық, “жеткілікті жақсы” нәтиже үшін қандай да бір шек қою үшін тәжірибені пайдаланады, содан кейін сол шектен асатын алғашқы нұсқаны алады. Бұл алгоритм біз мұнда қарастырған оңтайлы тоқтау мәселелерінің шешімдерімен бірдей сипатқа ие, мұнда шек не нұсқалар ауқымын түсіну үшін біраз уақыт жұмсау арқылы (хатшы мәселесіндегідей) немесе әртүрлі нәтижелердің ықтималдығын білу негізінде анықталады. Шынында да, Саймон өз дәлелінде келтірген мысалдардың бірі үй сату болды, оның шешімі мұнда ұсынылғанға ұқсас болды.
Оңтайлы тоқтау туралы негізгі оқулық: Бұл Фергюсонның “Optimal Stopping and Applications” кітабы.
“Жаңа достар тап”: Джозеф Парри, “New Friends and Old Friends. ”
“Өмір сондай бай әрі сирек”: Хелен Штайнер Райс, “The Garden of Friendship. ”
“Сіз кеңістік табуға тырысасыз”: Скотт Плагенхоф, жеке сұхбат, 5 қыркүйек, 2013 жыл.
Оғаш атау мынадан шыққан: Меррилл Флудқа 1955 жылы 14 сәуірде жазған хатында (Мичиган университетінің Меррилл Флуд мұрағатында бар) Фредерик Мостеллер бұл атаудың шығу тарихын айтады. Мостеллер мен оның серіктесі Роберт Буш оқудың математикалық модельдерімен жұмыс істеп жатқан болатын — бұл кейінірек математикалық психология деп атала бастаған саланың алғашқы мысалдарының бірі еді және ол бүгінде Том жүргізіп жатқан зерттеулерге негіз болды. Олар әсіресе Т-тәрізді лабиринтпен жүргізілген тәжірибелер сериясына қызығушылық танытты, мұнда жануарлар лабиринттің Т-тәрізді түбіне қойылады, содан кейін солға немесе оңға бұрылуды шешуі керек. Тамақ — яғни пайда — лабиринттің кез келген жағында пайда болуы немесе болмауы мүмкін. Адамдардағы бұл мінез-құлықты зерттеу үшін олар адамдар тарта алатын екі тетігі бар машинаны тапсырыспен жасатты, оны Мостеллер “екіқолды бандит” деп атады. Содан кейін ол бұл мәселенің математикалық формасын әріптестеріне таныстырды және ол соңында “көпқолды бандит” (белгісіз ықтималдық жағдайында ең көп пайда әкелетін таңдауды анықтау моделі) деп жалпыланды.
Көпқолды бандиттерге толық кіріспе Берри мен Фристедтің “Bandit Problems” еңбегінде берілген. Бұл тарауда біздің назарымыз әрбір “қолы” әртүрлі ықтималдықпен, бірақ барлық қолдарда бірдей пайда мөлшерімен пайда әкелетін немесе әкелмейтін бандиттерге аударылады. Бұл әдебиетте Бернулли бандиті деп аталады, өйткені тиын тастауды сипаттайтын ықтималдық үлестірімі Бернулли үлестірімі деп аталады (XVII ғасырдағы швейцариялық математик Якоб Бернуллидің құрметіне). Пайданың әр түріне тән белгісіз үлестірімдері бар көпқолды бандиттердің басқа түрлері де болуы мүмкін.
Екінші машинаның іс жүзінде қаншалықты жақсы болуы мүмкін екендігі: Күтілетін мәні жоғары қолды тартудың “қысқа мерзімді” стратегиясы кейбір жағдайларда іс жүзінде оңтайлы болып табылады. Братт, Джонсон және Карлин “On Sequential Designs for Maximizing the Sum of N Observations” еңбегінде екіқолды бандит үшін пайда алу ықтималдықтары (бірі үшін p₁, екіншісі үшін p₂) p₁ + p₂ = 1 шартын қанағаттандырса, онда бұл стратегияның оңтайлы екенін көрсетті. Олар бұл (p₁, p₂) жұптары (a, b) немесе (b, a) мәндерін қабылдайтын ықтималдықтар үшін де орынды болады деп болжады (яғни, егер p₁ мәні a болса, онда p₂ мәні b болады және керісінше). Мұның шындық екенін Фельдман “Contributions to the ‘Two-Armed Bandit’ Problem” еңбегінде дәлелдеді. Берри мен Фристедтің “Bandit Problems” еңбегінде қысқа мерзімді стратегиялар туралы толығырақ мәліметтер бар, соның ішінде p₁ және p₂ тек екі ықтимал мәнді қабылдаумен шектелгенде (мысалы, p₁ немесе p₂ екеуі де немесе біреуі 0.4 немесе 0.7 болуы мүмкін, бірақ біз бұл мүмкіндіктердің қайсысы шын екенін білмейміз) ең жоғары күтілетін мәнді таңдау оңтайлы екенін көрсететін нәтиже бар.
“Маңызды формада бейнелейді”: Уиттл, “Optimization over Time. ”
“Ішіп-же, көңіл көтер”: “Ішіп-же, көңіл көтер, өйткені ертең өлеміз” деген тіркес күнделікті тілде және поп-мәдениетте (мысалы, Dave Matthews Band тобының “Tripping Billies” әнінің қайырмасы және басқа да көптеген сілтемелер) кең таралған. Ол екі Інжіл аятының қосындысы сияқты көрінеді: Екклесиаст 8:15 (“Адам үшін күн астында ішіп-жеуден және көңіл көтеруден артық ештеңе жоқ”) және Ишая 22:13 (“Ішіп-жейік, өйткені ертең өлеміз”).
“Неліктен тәуекелге бару керек? ”: Крис Стуччио, жеке сұхбат, 15 тамыз, 2013 жыл.
“X-адамдардың алтыншы бөлімі”: Ник Аллен, “Hollywood makes 2013 the year of the sequel”. Сондай-ақ қараңыз: http://www.shortoftheweek.com/2012/01/05/has-hollywood-lost-its-way/ және http://boxofficemojo.com/news/?id=3063.
Ең ірі киностудиялардың пайдасы төмендеді: «2007 және 2011 жылдар аралығында ірі медиа-конгломераттар (Disney, Universal, Paramount, Twentieth Century Fox және Warner Bros) бақылайтын бес студияның салыққа дейінгі пайдасы шамамен 40%-ға төмендеді, дейді Morgan Stanley сарапшысы Бенджамин Суинберн». Дереккөз: “Hollywood: Split Screens,” Economist, 23 ақпан, 2013 жыл, [LINK url=”http://www. economist. com/news/business/21572218-tale-two-tinseltowns-split-screens”]http://www. economist. com/news/business/21572218-tale-two-tinseltowns-split-screens[LINK].
Билет сатылымы азайды: Статистика [LINK url=”http://pro. boxoffice. com/statistics/yearly”]http://pro. boxoffice. com/statistics/yearly[LINK] және [LINK url=”http://www. the-numbers. com/market/”]http://www. the-numbers. com/market/[LINK] сайттарынан алынды. Сондай-ақ қараңыз: Max Willens, “Box Office Ticket Sales 2014: Revenues Plunge to Lowest in Three Three Years,” International Business Times, 5 қаңтар, 2015 жыл.
«Өсіп келе жатқан шығындар арасында қысылған»: “Hollywood: Split Screens,” Economist, 23 ақпан, 2013 жыл.
«Интеллектуалды саботаждың ең жоғарғы құралы»: Уиттлдің бандиттік мәселелердің қиындығы туралы пікірі Гиттинстің «Bandit Processes and Dynamic Allocation Indices» еңбегін талқылау кезінде айтылады. Саботаж (қасақана зиян келтіру немесе істі іріту).
Роббинс 1952 жылы дәлелдеді: Роббинстің «Some Aspects of the Sequential Design of Experiments» еңбегі <span data-term="true">Win-Stay, Lose-Shift</span> (Жеңсең — қал, жеңілсең — ауыс: сәтті таңдауды қайталап, сәтсіздіктен кейін басқа нұсқаға көшу) алгоритмін таныстырады.
Роббинстен кейін бірқатар мақалалар жарық көрді: Брадт, Джонсон және Карлин өздерінің «On Sequential Designs for Maximizing the Sum of N Observations» еңбегінде, егер бір иінтіректің төлем ықтималдығы белгісіз, ал екіншісінікі белгілі болса, «жеңімпазда қалу» принципі әрқашан дұрыс екенін көрсетті. Берри «A Bernoulli Two-Armed Bandit» еңбегінде бұл принциптің екі иінтіректі бандит үшін әрдайым ақиқат екенін дәлелдеді. Бұл нәтиженің жалпылама тұжырымдары Берри мен Фристедтің «Bandit Problems» кітабында берілген.
Дәл қанша нұсқа мен мүмкіндік бар: Көп қарулы бандит (бірнеше нұсқаның ішінен ең тиімдісін таңдау қажет болатын математикалық модель) мәселесінің «шектеулі горизонт» нұсқасының бұл шешімі Беллманның «Dynamic Programming» атты іргелі еңбегінде берілген. Динамикалық бағдарламалау (күрделі есепті кішігірім ішкі есептерге бөлу арқылы шешу әдісі) кері индукцияны талап ететін есептерді тиімді шеше алады. Кері индукция — соңғы нәтижеден бастап басына қарай талдау жасау әдісі.
«Ымырасыздықтың символы»: Гиттинстің «Bandit Processes and Dynamic Allocation Indices» еңбегіне кіріспе.
«Өте жақсы жуықтау болар еді»: Джон Гиттинс, жеке сұхбат, 27 тамыз, 2013 жыл.
Deal or No Deal: Бұл телешоудың әлемдік нұсқалары 2000 жылы алғаш рет эфирге шыққан голландиялық «Miljoenenjacht» бағдарламасынан басталды.
Көп қарулы бандит мәселесі де сондай: Бұған дейінгі зерттеушілер де белгілі бір уақыт аралығындағы «бір қарулы бандит» мәселесінің шешімдерін тапқан болатын.
Екеуін де ескеретін бірыңғай шаманы барынша арттыру: Гиттинс индексінің негізінде жатқан идеялар алғаш рет 1972 жылы конференцияда таныстырылды. Негізгі таныстырылым — Гиттинстің «Bandit Processes and Dynamic Allocation Indices» еңбегі.
Біз Гиттинс индексінің мәндерін ұсынамыз: Бернулли бандитіне арналған Гиттинс индексінің кестесі Гиттинс, Глейзбрук және Вебердің «Multi-Armed Bandit Allocation Indices» атты толық нұсқаулығынан алынды. Ол төлем ықтималдығы туралы мүлдем ақпарат жоқ деп есептейді.
Бізді жаңашылдыққа итермелейді: Бұны шектен шығару «Ең аз сәтсіздік ережесі» (Least Failures Rule) деп аталатын қарапайым стратегияға әкеледі: әрқашан ең аз сәтсіздікке ұшыраған нұсқаны таңдаңыз. Мәселен, жаңа қалаға келгенде, кездейсоқ мейрамхана таңдаңыз. Егер ол жақсы болса, сонда қалыңыз. Көңіліңізден шықпай қалса, қалған мейрамханалардың ішінен кездейсоқ біреуін таңдаңыз. Барлық мейрамханалар бір реттен сәтсіз болғанша осылай жалғастырыңыз, содан кейін ең көп сәтті ас ішкен мейрамханаға қайта оралыңыз. Бұл стратегия «жеңсең — қал» принципіне негізделген және Гиттинс индексінің болашақтағы табысты бүгінгімен бірдей бағалайтын адамдар үшін беретін нәтижесі.
Мінез-құлық экономикасындағы түрлі эксперименттер: Қараңыз, мысалы, Kirby, “Bidding on the Future. ”
Егер ауысу құны болса: Бұл жағдай Бэнкс пен Сундарамның «Switching Costs and the Gittins Index» еңбегінде талданған.
«Өкініштер, менде олар аз болды»: Фрэнк Синатра, “My Way”, My Way (1969) альбомынан, мәтіні Пол Анканыкі.
«Өзім туралы айтсам, мен — оптимиспін»: Премьер-министр Уинстон Черчилль, сөйлеген сөзі, Лорд-мэр банкеті, Лондон, 9 қараша, 1954 жыл.
«Әрекет етіп, сәтсіздікке ұшырау — кем дегенде үйрену»: Барнард, «The Functions of the Executive».
«Өзімді 80 жаста елестеткім келді»: Джефф Безос, Academy of Achievement-ке берген сұхбаты, 4 мамыр, 2001 жыл.
Өкініш туралы бірнеше негізгі ойлар: Лай және Роббинс, “Asymptotically Efficient Adaptive Allocation Rules. ”
Минималды өкініш кепілдігі: Жоғарыда аталған еңбек осындай алғашқы алгоритмдерді ұсынды. Кейінірек Ауэр, Чеза-Бианчи және Фишер осы типтегі ең қарапайым стратегияны ұсынды, ол j иінтірегіне келесідей ұпай беруді көздейді:

Мұндағы sj — сол иінтіректегі nj ойынның ішіндегі сәттіліктер саны, ал n — барлық иінтіректердің жалпы ойын саны. Бұл сәтті төлем ықтималдығының жоғарғы шегі болып табылады. Ең жоғары ұпайы бар иінтіректі таңдау логарифмдік өкінішке кепілдік береді.
«Сенімділік аралығы» ретінде белгілі: <span data-term="true">Сенімділік аралығы</span> (статистикалық параметрдің белгілі бір ықтималдықпен табылуы мүмкін мәндер ауқымы) концепциясы Нейманның еңбектерінен бастау алады.
«Белгісіздік жағдайындағы оптимизм»: Кэблинг, Литтман және Мур, “Reinforcement Learning. ”
«Оптимистік роботтар»: Лесли Кэблинг, жеке сұхбат, 22 қараша, 2013 жыл.
57 миллион доллар қосымша қайырымдылық: Сирокер және Кумен, «A/B Testing».
A/B тестілеу келесідей жұмыс істейді: <span data-term="true">A/B тестілеу</span> (екі нұсқаны салыстыру арқылы тиімдісін анықтау әдісі) туралы Кристианның «The A/B Test» еңбегінен және Стив Ханов пен Ноэль Уэлштің сұхбаттарынан мәлімет алынды.
Обаманың қайырымдылық жинау бетіне қатысты: Дэн Сирокер, «Президенттік сайлауда жеңіске жету үшін деректерді қалай пайдаландық» (дәріс), Стэнфорд университеті, 8 мамыр, 2009 жыл.
Өз пайдаланушыларына тікелей A/B тестілерін жүргізеді: Google алғашқы A/B тестін 2000 жылдың 27 ақпанында өткізді.
Компаниялар өз сайттарының навигациясын A/B тестінен өткізеді: Қараңыз, Сирокер және Кумен, «A/B Testing».
Көктің қырық бір реңкін тексерді: Лаура М. Холсон, “Putting a Bolder Face on Google,” New York Times, 28 ақпан, 2009 жыл.
«Адамдарды жарнамаға қалай бастыруға болады»: Эшли Вэнс, “This Tech Bubble Is Different,” Bloomberg Businessweek, 14 сәуір, 2011 жыл.
«Ессіздіктен қираған»: Гинзберг, «Howl and Other Poems».
Жылдық табысы 50 миллиард доллар: Google-дың қаржысы олардың тоқсандық есептерінде егжей-тегжейлі көрсетілген. 2013 жылғы жарнамадан түскен табыс 50,6 миллиард долларды құрады.
Онлайн коммерция жүздеген миллиардтарды қамтиды: Forrester Research бағалауы бойынша онлайн сатылымдар 2017 жылға қарай АҚШ-та 370 млрд долларға жетеді деп болжанған.
Қолданылатын ең жақсы алгоритмдер әлі де қызу талқылануда: Мысалы, Крис Стуччио «Неліктен көп қарулы бандит алгоритмдері A/B тестілеуден артық» және «Бандит алгоритмдерін қолданбаңыз — олар сіз үшін жұмыс істемеуі мүмкін» атты екі қарама-қайшы мақала жазды.
Ол Washington Star газетінде жарияланды: Жан Хеллер, “Syphilis Patients Died Untreated,” Washington Star, 25 шілде, 1972 жыл.
Белмонт есебі ретінде белгілі құжат: «Белмонт есебі: Зерттеудің адам нысандарын қорғауға арналған этикалық принциптер мен нұсқаулықтар», 18 сәуір, 1979 жыл.
«Адаптивті» сынақтар өткізуді ұсынды: Зelen, “Play the Winner Rule and the Controlled Clinical Trial. ” Бұл радикалды идея болғанымен, Зелен оны бірінші болып ұсынған жоқ. Бұл мәртебе 1933 жылы бір емнің екіншісінен тиімдірек екенін анықтау мәселесін тұжырымдаған Уильям Р. Томпсонға тиесілі.
Томпсон ұсынған шешім — осы уақытқа дейін жиналған айғақтар негізінде нұсқаның ең жақсы болу ықтималдығына сәйкес таңдау жасау. Бұл машиналық оқытудағы көптеген жаңа жұмыстардың негізі болып табылады.
Фредерик Мостеллер де, Герберт Роббинс те екі иінтіректі бандит мәселесімен жұмыс істей бастағанда Томпсонның еңбегінен бейхабар болған сияқты. Ричард Беллман бұл «аз танымал мақалаларды» бірнеше жылдан кейін тауып алды.
ЭКМО жаңа туған қыздың өмірін сақтап қалды: Мичиган университетінің хирургия бөлімі, “‘Hope’ for ECMO Babies. ” ЭКМО (Экстракорпоральды мембраналық оксигенация — қанды жасанды жолмен оттегімен байыту әдісі).
Қазір өзінің қырқыншы туған күнін атап өтті: University of Michigan Health System, “U-M Health System ECMO team treats its 2,000th patient,” 1 наурыз, 2011 жыл.
Ересектердегі алғашқы зерттеулер: Zapol және т. б. , “Extracorporeal Membrane Oxygenation in Severe Acute Respiratory Failure. ”
Жаңа туған нәрестелерге жүргізілген зерттеу: Bartlett және т. б. , “Extracorporeal Circulation in Neonatal Respiratory Failure. ”
«ЭКМО-ны күнделікті қолдануды ақтамады»: Уэйр мен Эпштейннің қорытындыларына сілтеме жасайтын Уэйрдің сөзі.
«Әрі қарайғы рандомизацияны этикалық тұрғыдан қорғау қиын»: Уэйр, “Investigating Therapies of Potentially Great Benefit: ECMO. ” Рандомизация (пациенттерді топтарға кездейсоқ бөлу әдісі).
Әлемдегі жетекші сарапшылардың бірі: Берри өзінің 1971 жылғы докторлық диссертациясында жеңімпазда қалудың оңтайлы екенін дәлелдеді.
«Уэйр зерттеуі жүргізілмеуі керек еді»: Берри, “Comment: Ethics and ECMO. ”
Біріккен Корольдіктегі екі жүзге жуық нәресте: UK Collaborative ECMO Group, “The Collaborative UK ECMO Trial. ”
Қатерлі ісікті емдеудің түрлі әдістерін клиникалық сынақтан өткізу: Дон Берри, жеке сұхбат, 22 тамыз, 2013 жыл.
FDA «нұсқаулық» құжатын жариялады: FDA-ның 2010 жылғы ақпандағы «Дәрілік заттар мен биологиялық препараттарға арналған адаптивті дизайнды клиникалық сынақтар» құжаты.
Үстінде екі шамы бар қорап көрсетілді: Зерттеу Тверски мен Эдвардстың «Information Versus Reward in Binary Choices» еңбегінде сипатталған.
Екі әуе компаниясы: Meyer және Shi, “Sequential Choice Under Ambiguity. ”
Төрт қарулы бандитпен жүргізілген эксперимент: Steyvers, Lee, және Wagenmakers, “A Bayesian Analysis of Human Decision-Making on Bandit Problems. ”
«Мазасыз бандит» деп аталатын ұғым: Мазасыз бандиттер (пайда алу ықтималдығы уақыт өте келе өзгеріп отыратын модель) Уиттл тарапынан енгізілді. Мұндай есептерді есептеудің күрделілігі Пападимитриу мен Цициклистің еңбегінде талқыланады.
Әлем өзгеруі мүмкін болғанда: Наварро мен Ньюэллдің жұмыстары адамдардың шамадан тыс зерттеу (exploration) жүргізуі әлемді «мазасыз» деп қабылдауынан екенін растайтын нәтижелер береді.
«Іс жүзінде өзіндік бір үйлесімділік бар»: Торо, «Walking».
«Кола — бұл Кола»: Уорхол, «The Philosophy of Andy Warhol».
«Зерттеу мен пайдалану арасындағы тепе-теңдікті шешудің даму жолы»: Элисон Гопник, жеке сұхбат, 22 тамыз, 2013 жыл.
«Менің оқу өмірімдегі бетбұрыс кезең»: Лидия Дэвис, “Someone Reading a Book”.
Қартаю туралы алдын ала қалыптасқан түсініктерімізге күмән келтіру: Карстенсен осы бөлімде талқыланатын «әлеуметтік-эмоционалды селективтілік теориясын» ұсынды.
«Өмір бойғы сұрыптау процестері»: Карстенсен, жоғарыда аталған еңбек.
Елдің екінші шетіне көшпелі жатқандар: Фредриксон және Карстенсен, “Choosing Social Partners. ”
Олардың талғамдары бір-бірінен ажырағысыз болып кетті: Фунг, Карстенсен және Лутц, “Influence of Time on Social Preferences. ”
Егде жастағы адамдар әдетте көбірек қанағаттанған: Жасы ұлғайған сайын эмоционалдық әл-ауқаттың жақсаруы туралы дәлелдер Чарльз бен Карстенсеннің еңбегінде талқыланады.
«Енді егер сөз болса»: Кодридің «A Table Alphabeticall» еңбегі — ағылшын тілінің алғашқы біртілді сөздігі. Іздеуге қатысты сұрыптау тарихы туралы толығырақ Кнутттың «The Art of Computer Programming» еңбегінен көруге болады.
Бөлмелесі үйіндінің ішінен шұлық суырып алды: Хиллис, «The Pattern on the Stone».
Stack Overflow бағдарламалау сайтында жарияланды: «Үйіндідегі шұлықтарды қалай тиімді жұптауға болады? » 2013 жылдың 19 қаңтарында «amit» есімді пайдаланушы жариялаған.
«Амит» (шын есімі Амит Гросс, Технион аспиранты) былай деп жазады: «Кеше мен таза кірдің ішінен шұлықтарды жұптап отырып, мұны істеу тәсілімнің аса тиімді емес екенін түсіндім. Мен қарапайым іздеумен айналыстым — бір шұлықты алып, оның сыңарын табу үшін үйіндіні «аралап» шықтым. Бұл орта есеппен n/2 × n/4 = n2/8 шұлықты қарап шығуды талап етеді. Компьютер маманы ретінде мен не істей алатынымды ойладым? »
Амиттің сұрағына көптеген жауаптар келді, бірақ ең көп қолдау тапқаны Radix Sort (Разрядтық сұрыптау — мәндерді жеке қасиеттері бойынша топтастыру арқылы реттеу) әдісін қолдану болды: шұлықтардың бір-бірінен айырмашылығын (мысалы, түсі, өрнегі) анықтап, оларды осы өлшемдер бойынша үйінділерге бөліңіз. Әр сұрыптау барлық шұлықтарды бір рет қана қарап шығуды талап етеді, нәтижесінде кішігірім үйінділер жиынтығы пайда болады.
Бірақ шұлықтарды жұптауымыздың себебі — оларды қажет кезде оңай табу болса, іздеу процедурасын жақсарту арқылы сұрыптау қажеттілігін азайтуға болады.
Айталық, шұлықтарыңыз тек бір өлшем — түсі бойынша ерекшеленеді және тартпада үш түрлі түсті шұлық бар. Онда тартпадан кездейсоқ төрт шұлық алсаңыз, міндетті түрде бір жұп табылатынына кепілдік бар. Қанша түс болса да, түстер санынан бір шұлық артық алу әрқашан сәйкес жұпты табуға кепілдік береді. Сондықтан, егер таңертеңгі уақытыңызды сәл шығындауға дайын болсаңыз, оларды жұптаумен бас қатырмаңыз.
Шұлық жұптау мәселесінің бұл ұтымды шешімі Дирихле принципінен (немесе кептер ұясы принципі — егер заттар саны ұялар санынан көп болса, кем дегенде бір ұяда екі зат болады деген математикалық тұжырым) туындайды. Бұл идея 19-ғасырдағы неміс математигі Петер Густав Лежен Дирихлеге тиесілі. Информатикада бұл принцип алгоритмдердің теориялық қасиеттері туралы негізгі фактілерді орнату үшін қолданылады. Мысалы, кез келген файлды ақпарат жоғалтпай сығатын алгоритм жасау мүмкін емес, өйткені ұзын файлдар қысқа файлдарға қарағанда көп.
Дирихле принципін қолдану шұлық жұптау мәселесінің түпкілікті шешімін ұсынады: тек бір түрлі шұлық сатып алыңыз. Егер барлық шұлықтарыңыз бірдей болса, оларды жұптаудың қажеті жоқ. Көптеген компьютер мамандары үшін бұл ең талғампаз тәсіл — мәселені тиімді шешілетіндей етіп қайта анықтау.
Бір ескерту: сол бір түрлі шұлықты сатып алғанда, оның қандай екеніне абай болыңыз. Рон Ривесттің шұлықтармен ерекше проблемасы бар, өйткені ол оң және сол аяққа бөлінетін шұлықтар киеді. Бұл Дирихле принципін бұзады — мұндай шұлықтармен жұп табуға кепілдік алу үшін жалпы жұп санынан бір шұлық артық шығаруыңыз керек болады.
«Шұлықтар мені шатастырады! »: Рональд Ривест, жеке сұхбат, 25 шілде, 2013 жыл.
«Соқыр және есінен алжасқан болу»: Мартин, “Counting a Nation by Electricity. ”
«Құдайлардың диірмені сияқты қатесіз»: Сол жерде.
«Оны үкіметтерден басқа ешкім қолданбайды»: Austrian, Herman Hollerith кітабынан үзінді.
Холлериттің фирмасы бірнеше басқа фирмалармен бірікті: Austrian, Herman Hollerith.
«Жадта сақталатын бағдарламасы» бар компьютер үшін жазылған алғашқы код: «Жазылған» деген сөз мұнда тура мағынасында қолданылған: атақты математик Джон фон Нейман 1945 жылы сұрыптау бағдарламасын қағазға түсіргенде, ол арналған компьютер әлі аяқталмаған болатын. Фон Нейманның бағдарламасы компьютердің өз жадында сақталуға арналған алғашқы бағдарлама болды.
IBM-нің арнайы карточка сұрыптау машиналарын артқа тастау: Сол жерде.
әлемдегі есептеу ресурстарының төрттен бірі: Knuth, [The Art of Computer Programming], 3-бет.
«сұрыптаудың бірлік құны төмендеудің орнына, жоғарылайды»: Hosken, «Evaluation of Sorting Methods».
карта жиынтығын сұрыптау бойынша рекорд: Біз Брадачтың өнері түсірілген бейнені таба алмасақ та, интернетте оны басып озуға тырысқан адамдардың видеолары өте көп. Олар әдетте карталарды төрт түс бойынша топтап, содан кейін әр түстің ішіндегі сандарды реттейді. Дональд Кнут [The Art of Computer Programming] кітабында: «Бірақ бұл трюкті жасаудың тезірек жолы бар! » — деп кеңес береді: Алдымен карталарды номиналына қарай 13 үйіндіге бөліңіз (бір үйіндіде барлық 2-ліктер, келесісінде барлық 3-тіктер және т. б. ). Содан кейін, барлық үйінділерді жинап алған соң, карталарды төрт түске бөліңіз. Нәтижесінде әр түс үшін бір үйінді пайда болады және олардың ішінде карталар ретімен орналасады. Бұл — Radix Sort (разрядтық сұрыптау — сандарды немесе таңбаларды позициялары бойынша топтау арқылы реттеу) және ол біз осы тарауда кейінірек талқылайтын Bucket Sort (себеттік сұрыптау — деректерді бірнеше блоктарға бөліп, әрқайсысын жеке сұрыптау) алгоритміне ұқсас. Қараңыз: Knuth, [The Art of Computer Programming], §5. 2. 5.
кездейсоқ түрде толық сұрыпталған: Нәрселерді кездейсоқ араластырып, «бәлкім, реттеліп қалар» деп үміттену арқылы сұрыптау — бұл шын мәнінде атауы бар алгоритм: Bogosort (кездейсоқ сұрыптау — элементтерді кездейсоқ араластырып, олардың өздігінен реттелуін күту), ол информатиканың әзіл-шыны аралас pessimal algorithm design (пессимальді алгоритм дизайны — ең нашар есептеу өнімділігіне қол жеткізуге тырысатын бағыт) саласына жатады. Пессимальділік — бұл оңтайлылыққа қарама-қайшы ұғым, яғни пессимизмнің оптимизмге қатынасы сияқты; пессимальді алгоритм дизайнерлері ең нашар есептеу өнімділігін көрсету үшін бір-бірімен жарысады.
Мәселені тереңірек зерттей келе, пессимальді алгоритм дизайнерлері Bogosort алгоритмін тым жинақы әрі тиімді деп тапты. Сондықтан олар оның «жетілдірілген» нұсқасы — Bogobogosort (Bogosort-тың тіпті нашарлатылған нұсқасы) алгоритмін ойлап тапты, ол алдымен алғашқы екі элементті, сосын алғашқы үшеуін және т. б. біртіндеп Bogosort-пен сұрыптаудан басталады. Егер кез келген уақытта тізім ретсіз болып қалса, Bogobogosort бәрін басынан бастайды. Мысалы, бұл алгоритм төрт картаны сұрыптауды аяқтамайды, ол алғашқы екеуін ауаға лақтырып, дұрыс түскенін көргенше, сосын алғашқы үшеуін лақтырып, олардың дұрыс түскенін көргенше, және соңында төртеуін де лақтырып, олардың да дұрыс ретпен түскенін тапқанша тоқтамайды. Барлығы қатарынан дұрыс болуы керек. Әйтпесе, бәрі басынан басталады. Bogobogosort туралы алғаш жазған инженерлердің бірі бұл алгоритмді компьютерінде түні бойы қосып қойып, жеті элементтен тұратын тізімді сұрыптай алмағанын, соңында аяушылық танытып, электр қуатын өшіріп тастағанын хабарлайды.
Кейінгі инженерлер Bogobogosort-тың тіпті шегі емес екенін айтып, деректерді емес, бағдарламаның өзін Bogosort-тауды ұсынды: компьютер жадындағы биттерді кездейсоқ ауыстыра отырып, ол кездейсоқ түрде деректерді сұрыптайтын бағдарламаға айналғанша күту керек. Мұндай «құбыжықтың» уақыттық шектеулері әлі де зерттелуде. Пессимальділікке ұмтылыс жалғасуда.
Информатикада қысқаша белгілеу әзірленген: Big-O notation (Үлкен-O белгілеуі — алгоритмнің жұмыс істеу уақытының жоғарғы шегін сипаттайтын математикалық таңба) алғаш рет Пауль Бахманның 1894 жылғы [Die analytische zahlentheorie] кітабында пайда болды. Сондай-ақ қараңыз: Donald Knuth, [The Art of Computer Programming], §1. 2. 11. 1. Ресми түрде, егер алгоритмнің орындалу уақыты f(n) функциясының еселігінен (оң тұрақты коэффициенті бар) аз немесе оған тең болса, біз оны O(f(n)) деп айтамыз. Сонымен қатар, Big-Omega (Үлкен-Омега — алгоритм уақытының төменгі шегі) белгілеуі бар, мұндағы Ω(f(n)) орындалу уақыты f(n) еселігінен үлкен немесе оған тең екенін білдіреді, және Big-Theta (Үлкен-Тета — алгоритм уақытының дәл сипаттамасы) белгілеуі бар, мұндағы Θ(f(n)) орындалу уақыты O(f(n)) және Ω(f(n)) екенін білдіреді.
«Ол мені Bubble Sort арқылы баурап алды»: Бұл инженер — біз 2-тарауда кездестірген Дэн Сирокер. Қараңыз: мысалы, «The A/B Test: Inside the Technology That’s Changing the Rules of Business», [Wired], мамыр 2012.
ақпаратты өңдеу АҚШ халық санағынан басталды: Толығырақ мәлімет алу үшін қараңыз: Knuth, [The Art of Computer Programming], §5. 5.
жадта сақталатын бағдарламалы компьютердің күшін көрсету үшін: Бұл компьютер EDVAC машинасы болатын және ол кезде фон Нейманның бағдарламасы «өте құпия» әскери барлау мәліметі ретінде жіктелген болатын. Қараңыз: Knuth, «Von Neumann’s First Computer Program».
«Mergesort сұрыптау тарихында өте маңызды»: Катажайнен және Трэфф, «A Meticulous Analysis of Mergesort Programs».
ауқымды өнеркәсіптік сұрыптау мәселелері: Сұрыптау бойынша қазіргі рекордтар http://sortbenchmark. org/ сайтында жарияланған. 2014 жылғы жағдай бойынша, Samsung тобы бір минутта ең көп деректерді сұрыптау бойынша рекордқа ие — бұл таңқаларлық 3,7 терабайт дерек. Бұл шамамен 37 миллиард ойын картасына тең, бұл бес жүз Boeing 747 ұшағын сыйымдылығына дейін толтыруға жетеді, бұл Зденек Брадачтың карта сұрыптау бойынша адам рекордының қандай деңгейде екенін көрсетеді.
минутына 167 кітап: Жөнелту менеджері Тони Миранда былай дейді: «Біз өңдейміз — меніңше, біздің ең жоғары көрсеткішіміз — бір сағатта 250 контейнер. Орташа есеппен сағатына 180 контейнер. Әр контейнерде 40-тан астам зат бар екенін ескеріңіз». «KCLS AMH Tour»-дан, 6 қараша, 2007 жыл, https://www. youtube. com/watch? v=4fq3CWsyde4.
күніне 85 000: «Reducing operating costs», [American Libraries Magazine], 31 тамыз, 2010 жыл, http://www. americanlibrariesmagazine. org/aldirect/al-direct-september-1-2010.
«Fuhgeddaboutit» (бұл туралы ұмытыңыз): Қараңыз: Matthew Taub, «Brooklyn & Manhattan Beat Washington State in 4th Annual ‘Battle of the Book Sorters’», [Brooklyn Brief], 29 қазан, 2014 жыл, http://brooklynbrief. com/4th-annual-battle-book-sorters-pits-brooklyn-washington-state/.
біз қол жеткізуге үміттенетін ең жақсы нәтиже: n элементтен тұратын жиынтықтың дәл n! (n-факториал) түрлі реттілігі болуы мүмкін, сондықтан сұрыптау дәл log n! бит ақпарат береді, бұл шамамен n log n битке тең. n! дегеніміз n × (n − 1) × … × 2 × 1 екенін еске түсірейік, бұл n сандардың көбейтіндісі, олардың ішінде n — ең үлкені. Демек, n! < nⁿ, сондықтан log n! < log nⁿ, бұл бізге log n! < n log n береді. log n! үшін n log n-ге жуықтау «Стирлинг жуықтауы» ( Stirling’s approximation — үлкен факториалдарды есептеуге арналған формула) деп аталады, ол он сегізінші ғасырдағы шотланд математигі Джеймс Стирлингтің құрметіне қойылған. Бір жұптық салыстыру ең көбі бір бит ақпарат беретіндіктен, n нәрсенің n! мүмкін ретінің қайсысы дұрыс екендігі туралы белгісіздікті толық жою үшін n log n салыстыру қажет. Толығырақ мәлімет үшін қараңыз: Knuth, [The Art of Computer Programming], §5. 3. 1.
«Мен мұны тәжірибеден білемін»: Джордан Хо, жеке сұхбат, 15 қазан, 2013 жыл.
«электрондық поштаның шамадан тыс жүктелуі» туралы мақала: Whittaker және Sidner, «Email Overload».
«өмірлерінің бір бөлігін босқа өткізді»: Стив Уиттакер, жеке сұхбат, 14 қараша, 2013 жыл.
«Көгалдағы теннис турнирінде»: Доджсон, «Lawn Tennis Tournaments».
үш рет жеңілгеннен кейін шығып қалудың ыңғайсыз нұсқасы: Доджсонның турнир ұсынысына компьютерлік-ғылыми тұрғыдан сынды Дональд Кнуттың [The Art of Computer Programming], §5. 3. 3 бөліміндегі «салыстырудың минималды санын таңдау» туралы талқылауынан қараңыз.
толық реттілікті жасамайды: Барлық элементтерді рейтинг бойынша орналастырудың орнына, олардың ішінен ең үлкенін немесе екінші үлкенін немесе медианасын және т. б. анықтайтын алгоритм сұрыптау алгоритмі емес, selection (таңдау) алгоритмі деп аталады.
Жоғары Бейсбол Лигасы (MLB) үшін кесте жасаушылар: Трик өзі негізін қалаған Sports Scheduling Group құрамында жұмыс істейді. 1981 жылдан 2004 жылға дейін Жоғары Бейсбол Лигасының кестесін Генри және Холли Стивенсон атты керемет ерлі-зайыптылар қолмен жасаған. ESPN Стивенсондардың оқиғасын Джозеф Гарнер түсірген [The Schedule Makers] атты қысқа метражды фильмде баяндады.
«белгісіздіктің шешілуі кешіктірілді»: Майкл Трик, жеке сұхбат, 26 қараша, 2013 жыл.
«іс жүзінде олардың кім екеніне қарамастан»: Сол жерде.
«3:2 есебі жеңімпаз командаға береді»: Том Мерфи, «Tuning in on Noise? » 22 маусым, 2014 жылы «Do the Math» блогында жарияланған: http://physics. ucsd. edu/do-the-math/2014/06/tuning-in-on-noise/
алгоритмдердегі төзімділіктің (robustness) артықшылықтарын тану: Экли, «Beyond Efficiency».
«Bubble Sort-тың (көпіршікті сұрыптау — көршілес элементтерді салыстырып, орындарын ауыстыру арқылы реттеу) ешқандай айқын жақсы жағы жоқ»: Knuth, [The Art of Computer Programming], §5. 5.
Сол ерекше мәртебенің жеңімпазы: Дэйв Экли, жеке сұхбат, 26 қараша, 2013 жыл. Қараңыз: Jones және Ackley, «Comparison Criticality in Sorting Algorithms», және Ackley, «Beyond Efficiency». Comparison Counting Sort (салыстыруды санау арқылы сұрыптау — әр элементтің өзінен кіші элементтер санын анықтау арқылы орнын табу) туралы көбірек білу үшін (ол кейде Round-Robin Sort деп те аталады) қараңыз: Knuth, [The Art of Computer Programming], §5. 2.
«кәсіби покер ойыншысы ретіндегі ең маңызды дағды»: Исаак Хэкстон, жеке сұхбат, 20 ақпан, 2014 жыл.
«Екі маймылды елестетіңіз»: Кристоф Нейман, жеке сұхбат, 29 қаңтар, 2014 жыл.
«әр тауыққа шаққандағы агрессивті әрекеттер көбейді»: Craig, [Aggressive Behavior of Chickens].
Елеулі есептеу ауыртпалығы бар: Джессика Флэк, жеке сұхбат, 10 қыркүйек, 2014 жыл. Сондай-ақ қараңыз: DeDeo, Krakauer, және Flack, «Evidence of Strategic Periodicities in Collective Conflict Dynamics»; Daniels, Krakauer, және Flack, «Sparse Code of Conflict in a Primate Society»; Brush, Krakauer, және Flack, «A Family of Algorithms for Computing Consensus About Node State from Network Data». Флэктің жұмысына кеңірек шолу жасау үшін қараңыз: Flack, «Life’s Information Hierarchy».
Бұл спорттық жарыс — марафон: Марафонның сұрыптау алгоритмдері әлемінде аналогы бар. Салыстырудан тыс сұрыптау теориясындағы ең қызықты (мақала толығымен жойылғанға дейін Wikipedia «эзотерикалық» деген сөзді қолданған) жаңалықтардың бірі ең күтпеген жерден пайда болды: атышулы 4chan интернет-форумынан. 2011 жылдың басында онда анонимді хабарлама пайда болды: «Ой, мен данышпанмын. Мен жаңа ғана ойлап тапқан мына сұрыптау алгоритмін қараңыздар». Автордың «сұрыптау алгоритмі» — Sleep Sort (ұйқы арқылы сұрыптау — әр элементтің мәніне тең уақыт күтіп, сосын оны шығаруға негізделген алгоритм) — әрбір сұрыпталмаған элемент үшін өңдеу ағынын жасайды және әр ағынға оның мәніне тең секунд саны бойы «ұйықтауды», содан кейін «оянып», өзін шығаруды бұйырады. Соңғы нәтиже, шынында да, сұрыпталған болуы керек. Sleep Sort-тың қисынындағы кемшіліктерді ашатын іске асыру егжей-тегжейлерін былай қойып, оған сенетін болсақ, ол өте қызықты нәрсені уәде етеді: орындалу уақыты элементтердің санына емес, олардың көлеміне байланысты болатын сұрыптау. (Дегенмен, бұл әлі де тікелей O(1) тұрақты уақыттық сұрыптау сияқты жақсы емес. )
«Сен ақшаға барасың»: Мұны британдық кәсіпкер Александр Дин https://news. ycombinator. com/item? id=8871524 сайтында айтқан.
«үлкенірек болғаны — басым болғаны»: Жалпы Тоннаж Заңы, шынында да, мұхитта үстемдік ететін сияқты. Бұл балықтар толығымен пацифист дегенді білдірмейді. Айта кету керек, олардың өлшемдері ұқсас болған кезде олар агрессивті түрде соғысады.
«Интеллектімізді практикалық қолдануда»: Джеймс, [Psychology].
Енді сізде екі мәселе бар: Бұл құрылым алғаш рет Netscape инженері Джейми Завинскидің 1997 жылғы 12 тамыздағы Usenet жазбасында айтылған әйгілі бағдарламалау әзіліне нұсқайды: «Кейбір адамдар мәселеге тап болғанда: «Мен білемін, мен жүйелі өрнектерді (regular expressions) қолданамын» деп ойлайды. Енді оларда екі мәселе бар».
«Менің оны иеленгеніме қанша уақыт болды? »: Stewart, [Martha Stewart’s Homekeeping Handbook].
«Барлық юбкаларыңызды бірге іліңіз»: Jay, [The Joy of Less].
«Заттар түріне қарай сұрыпталады»: Mellen, [Unstuff Your Life! ]
«өте өткір сана, бірақ жады жоқтың қасы»: Davis, [Almost No Memory].
есептеудің іргелі принциптерінің бірі: Біздің <span data-term="true"> Caching </span> (кэштеу — жиі қолданылатын деректерді жылдам қолжетімді жерде сақтау) тарихымыз Hennessy және Patterson-ның [Computer Architecture] еңбегіне негізделген, онда компьютер дизайнындағы заманауи кэштеу әдістері де өте жақсы баяндалған.
электрлік «жад органы»: Burks, Goldstine, және von Neumann, [Preliminary Discussion of the Logical Design of an Electronic Computing Instrument].
Англияның Манчестер қаласындағы Atlas деп аталатын суперкомпьютер: Kilburn және т. б. , «One-Level Storage System».
«сөздерді өзіне автоматты түрде жинайды»: Wilkes, «Slave Memories and Dynamic Storage Allocation».
IBM 360/85 суперкомпьютерінде іске асырылды: Conti, Gibson, және Pitkowsky, «Structural Aspects of the System/360 Model 85».
Процессорлардағы транзисторлар саны әр екі жыл сайын екі есе артады: Мурдың 1965 жылғы «Cramming More Components onto Integrated Circuits» мақаласындағы бастапқы болжамы жыл сайын екі еселену болатын; 1975 жылы ол мұны «Progress in Digital Integrated Electronics» мақаласында әр екі жыл сайын екі еселену деп өзгертті.
алты қабатты жад иерархиясы: Регистрлер; L1, L2 және L3 кэштері; RAM (жедел жад) және диск. «Жад қабырғасы» туралы көбірек білу үшін, мысалы, Wulf және McKee, «Hitting the Memory Wall» еңбегін қараңыз.
«пайдалы фактілерді пайдасыз фактілер ығыстырып шығармауы үшін»: Conan Doyle, «A Study in Scarlet: The Reminiscences of John H. Watson».
«сөздер онда шексіз сақталмайды»: Wilkes, «Slave Memories and Dynamic Storage Allocation».
Белади 1928 жылы Венгрияда дүниеге келген: Беладидің жеке тарихы оның 2002 жылы Филип Л. Франаға берген ауызша сұхбатына негізделген (https://conservancy. umn. edu/bitstream/107110/1/oh352lab. pdf сайтында қолжетімді). Оның кэштеу алгоритмдерін талдауы және нәтижелері Bélády, «A Study of Replacement Algorithms for a Virtual-Storage Computer» еңбегінде берілген.
он бес жыл бойы информатика саласындағы ең көп сілтеме жасалған зерттеу: Беладидің өзінен: «Менің 1965 жылы жазған мақалам 15 жыл ішінде бағдарламалық қамтамасыз ету саласындағы Citation Index-тегі ең көп сілтеме жасалған мақалаға айналды». J. A. N. Lee, «Laszlo A. Belady», [Computer Pioneers] ішінде, http://history. computer. org/pioneers/belady. html.
LRU үнемі көріпкелдікке ең жақын нәтиже көрсетті: Бірнеше жылдан кейін Белади FIFO (бірінші келген бірінші кетеді — деректерді келу ретімен өшіру) алгоритмінің кейбір қызықты қосымша кемшіліктері бар екенін көрсетті — атап айтқанда, кэш көлемін арттыру өнімділікті іс жүзінде нашарлататын сирек жағдайлар, бұл құбылыс Bélády’s Anomaly (Белади аномалиясы — кэш көлемі артқанда қателер санының көбейіп кету құбылысы) деп аталады. Bélády, Nelson, және Shedler, «An Anomaly in Space-Time Characteristics of Certain Programs Running in a Paging Machine».
«қағаздарды араластырудың цифрлық баламасы»: Аза Раскин, «Solving the Alt-Tab Problem», http://www. azarask. in/blog/post/solving-the-alt-tab-problem/.
Ығыстыру саясаты (eviction policies) туралы әдебиет: Егер сіз күрделірек кэштеу алгоритмін қолданып көргіңіз келсе, LRU (ең ұзақ қолданылмағанды өшіру — кэш толып кеткенде соңғы рет ең ерте пайдаланылған деректі жою) алгоритмінің кейбір танымал нұсқалары мыналар:
LRU-K: O’Neil, O’Neil, және Weikum, «The LRU-K Page Replacement Algorithm for Database Disk Buffering», ол K-шы ең соңғы қолданылған уақыттан бері өткен уақытты қарастырады. Бұл жиілікке басымдық береді. LRU-2 ең көп таралған. 2Q: Johnson және Shasha, «2Q: A Low Overhead High Performance Buffer Management Replacement Algorithm», ол жиілік туралы аздап ақпарат алу үшін заттарды екі бөлек «кезекке» ұйымдастырады. LRFU: Lee және т.б., «LRFU: A Spectrum of Policies That Subsumes the Least Recently Used and Least Frequently Used Policies», ол әр затқа сандық ұпай беру арқылы уақыт пен жиілікті біріктіреді. Адаптивті алмастыру кэші (ARC): Megiddo және Modha, «Outperforming LRU with an Adaptive Replacement Cache Algorithm», ол 2Q-ға ұқсас екі кезекті қолданады, бірақ өнімділікке негізделген кезектердің ұзындығын бейімдейді.
Сынақтарда бұл алгоритмдердің барлығы LRU-дан асып түсетінін көрсетті.
компьютер мамандарының сүйікті таңдауы: Мысалы, Павел Панчеха 2012 жылы Dropbox блогы үшін мақала жазды, онда ол Dropbox-тың LRU қолдану себептерін баяндайды: https://tech. dropbox. com/2012/10/caching-in-theory-and-practice/.
Gardner Stacks-тың терең жер астында: Біз барған кезде UC Berkeley студенттерінің нақты не оқып жатқанын білгісі келетіндер үшін: Тороның [Walden]; [Song of Myself], Кормак Маккарти, Джеймс Меррилл, Томас Пинчон, Элизабет Бишоп, Дж. Д. Сэлинджер, Анаис Нин және Сьюзен Зонтаг туралы сыни мәтіндер; Жуно Диасның [Drown]; Майкл Чабонның [Telegraph Avenue] және [The Yiddish Policemen’s Union]; Энни Пруның [Bad Dirt] және [Bird Cloud]; Марк Страндтың [Mr. and Mrs. Baby]; Филип К. Диктің [The Man in the High Castle]; Уильям Карлос Уильямстың жинақталған поэзиясы мен прозасы; Чак Паланиктің [Snuff]; Тони Моррисонның [Sula]; Денис Джонсонның [Tree of Smoke]; Джулиана Спардың [The Connection of Everyone with Lungs]; Джори Грэмнің [The Dream of the Unified Field]; Дэвид Седаристің [Naked], [Me Talk Pretty One Day] және [Dress Your Family in Corduroy and Denim]; Сильвия Платтың және Дэвид Мэметтің [Oleanna]; Д. Т. Макстың Дэвид Фостер Уоллес туралы өмірбаяны; С. Д. Райттың [Like Something Flying Backwards], [Translations of the Gospel Back into Tongues] және [Deepstep Come Shining]; Т. С. Элиоттың прозасы; Эдгар Аллан Поның [Eureka]; Герман Мелвиллдің [Billy Budd, Sailor] және поэзия мен проза жинағы; Генри Джеймстің [The Aspern Papers], [The Portrait of a Lady] және [The Turn of the Screw]; Гарольд Блумның [Billy Budd], [Benito Cereno] және [Bartleby the Scrivener] туралы еңбектері; Юджин О'Нилдің пьесалары; Нил Гейманның [Stardust]; Шерман Алексидің [Reservation Blues]; Кормак Маккартидің [No Country for Old Men] және т. б.
«он екі жыл — бұл шек»: Элизабет Дюпюи, жеке сұхбат, 16 қыркүйек, 2014 жыл.
«мильге миль масштабында! »: Carroll, [Sylvie and Bruno Concluded].
Барлық интернет-трафиктің төрттен бірі: Стивен Лудин, «Akamai: Why a Quarter of the Internet Is Faster and More Secure than the Rest», лекция, 19 наурыз, 2014 жыл, Халықаралық информатика институты, Беркли, Калифорния. Akamai өз сайтында мәлімдегендей: «Akamai барлық веб-трафиктің 15–30%-ын жеткізеді» (http://www. akamai. com/html/about/facts_figures. html).
«қашықтық маңызды»: Лудин, «Akamai».
адам түсінетін кез келген ұйымдастыру түрінен бас тарту: Amazon-ның «хаосты сақтау» (chaotic storage) жүйесі мұнда сипатталған: http://www. ssi-schaefer. de/blog/en/order-picking/chaotic-storage-amazon/.
Amazon-ға патент берілді: Жиі сұралатын заттарды алдын ала жөнелтуге арналған патент — АҚШ патенті № 8,615,473, 2013 жылдың 24 желтоқсанында берілген, «Method and system for anticipatory package shipping», Джоэл Р. Спигель, Майкл Т. Маккенна, Гириш С. Лакшман және Пол Г. Нордстром, Amazon Technologies Inc. атынан.
баспасөз оны бірден іліп әкетті: Қараңыз: мысалы, Connor Simpson, «Amazon Will Sell You Things Before You Know You Want to Buy Them», [The Wire], 20 қаңтар, 2014 жыл; Chris Matyszczyk, «Amazon to Ship Things Before You’ve Even Thought of Buying Them? », [CNET], 19 қаңтар, 2014 жыл.
әр штаттың Netflix-тегі «Жергілікті фавориттері»: Micah Mertes, «The United States of Netflix Local Favorites», 10 шілде, 2011 жыл, http://www. slacktory. com/2011/07/united-states-netflix-local-favorites/.
толық метражды HD видеоны құрайтын орасан зор файлдар: 2012 жылы Netflix Akamai сияқты фирмаларға ақша төлеуден шаршағанын және өзінің жаһандық CDN (мазмұнды жеткізу желісі — деректерді пайдаланушыға жақын серверлерде кэштеу жүйесі) желісін құра бастағанын жариялады. Қараңыз: Eric Savitz, «Netflix Shifts Traffic to Its Own CDN», [Forbes], 5 маусым, 2012 жыл. Netflix-тің Open Connect CDN туралы қосымша ақпаратты https://www. netflix. com/openconnect сайтынан табуға болады.
«Кэштеу — бұл өте айқын нәрсе»: Джон Хеннесси, жеке сұхбат, 9 қаңтар, 2013 жыл.
«менің алдыңғы киім шкафымның еденіндегі жәшік»: Morgenstern, [Organizing from the Inside Out].
«диванның артындағы шаңсорғыштың қосымша қаптары»: Jones, [Keeping Found Things Found].
когнитивтік тұрғыдан іздеу жүйелері: Қараңыз: Belew, [Finding Out About].
киім ілгішті (valet stand) қолдануды ұсынды: Рик Белью, жеке сұхбат, 31 қазан, 2013 жыл.
«менің әдісімдегі өте іргелі принцип»: Юкио Ногучи, жеке сұхбат, 17 желтоқсан, 2013 жыл.
«супер» файлдық жүйесі дүниеге келді: Ногучидің файлдық жүйесі оның [Super Organized Method] кітабында сипатталған және бастапқыда ағылшын тілінде аудармашы Уильям Лиз тарапынан ұсынылған. Бұл жүйені сипаттайтын блог мақаласы Лиздің сайтында енді қолжетімді емес, бірақ оны әлі де Internet Archive арқылы көруге болады: https://web. archive. org/web/20031223072329/http://www. lise. jp/honyaku/noguchi. html. Қосымша ақпарат Юкио Ногучимен өткен жеке сұхбаттан алынды, 17 желтоқсан, 2013 жыл.
Өздігінен ұйымдастырылатын тізімдер туралы негізгі ғылыми еңбек: Sleator және Tarjan, «Amortized Efficiency of List Update and Paging Rules», ол сондай-ақ <span data-term="true">LRU</span> (Least Recently Used — ең ұзақ уақыт қолданылмаған элементті бірінші өңдеу принципі) принципінің теориялық қасиеттері бойынша ең анық нәтижелерді берді.
«Қаласаңыз, бұл Құдайдың алгоритмі»: Роберт Тарьян, жеке сұхбат, 17 желтоқсан, 2013 жыл.
Егер сіз LRU принципін ұстансаңыз: LRU принципінің өздігінен ұйымдастырылатын тізімдерге бұл қолданылуы <span data-term="true">Move-to-Front</span> (алдыға жылжыту) алгоритмі ретінде белгілі.
Тек тиімді емес. Бұл іс жүзінде оңтайлы: Бұл сіз санаттарға бөлуден толық бас тартуыңыз керек дегенді білдірмейді. Егер сіз процесті сәл көрнекі етіп, іздеуді жылдамдатқыңыз келсе, Ногучи әртүрлі санаттарға жататын файлдарға түрлі түсті белгілер қоюды ұсынады. Осылайша, егер сіз, айталық, шоттарды іздеп жатсаңыз, сызықтық іздеуді тек сол элементтермен шектей аласыз. Және олар әр санат ішінде Move-to-Front ережесіне сәйкес сұрыпталып тұрады.
Университет кітапханаларының ақпаратты іздеу жүйелері: Андерсонның адам жадына қатысты тұжырымдары Anderson және Milson-ның «Human Memory» еңбегінде және «The Adaptive Character of Thought» кітабында жарияланған. Бұл кітап күнделікті когнитивті процестерді идеалды шешімдер тұрғысынан талдау стратегиясын жасауға ықпал етті, мұны Том және басқа да көптеген зерттеушілер өз жұмыстарында пайдаланады. Anderson және Milson-ның «Human Memory» еңбегі, өз кезегінде, Burrell-дің «A Simple Stochastic Model for Library Loans» атты кітапханадан кітап алудың статистикалық зерттеуіне негізделген.
Сананы зерттеудегі жетіспейтін бөлік: Андерсонның компьютерлік ақпаратты іздеу мен адам жадының ұйымдастырылуы арасындағы байланысты алғашқы зерттеулері адамдардың көбі ақпаратты іздеу жүйелерімен әлі таныс емес және қолданыстағы жүйелер өте қарапайым болған дәуірде жүргізілген. Іздеу жүйелерін зерттеу ақпараттық жүйелердің мүмкіндіктерін кеңейткен сайын, бұл сана мен машина арасындағы ұқсастықтарды ашуға жаңа мүмкіндіктер туғызды. Мысалы, Том және оның әріптестері Google-дың PageRank алгоритмінің идеялары адамның семантикалық жадын (сөздер мен ұғымдар арасындағы мағыналық байланыстар жүйесі) түсінуге қалай қатысты екенін көрсетті. Griffiths, Steyvers және Firl-дің «Google and the Mind» еңбегін қараңыз.
«Мен сол құрылымның алдымда жайылғанын көрдім»: Anderson, «The Adaptive Character of Thought».
Адамның үш ортасын талдады: Адам жады ортасын талдау Anderson және Schooler-дің «Reflections of the Environment in Memory» еңбегінде берілген.
Шындықтың өзі статистикалық құрылымға ие: «Адам жады қоршаған ортада бар құрылымды таңқаларлық дәлдікпен қайталайды». Сонында.
«Адам жадының алдында тұрған міндетті бағалай алмау»: Сонында.
«Үлкен кітап — үлкен келеңсіздік»: Грек тіліндегі «μέγα βιβλίον μέγα κακόν» (mega biblion, mega kakon) дәйексөзі «Үлкен кітап — үлкен зұлымдық» деп те аударылған. Бастапқы нұсқа эпикалық поэзияны кемсіту ретінде айтылған, бірақ кітаптар ондаған футтық шиыршықтар түрінде болған кезде, ғалым үшін үлкен кітаптар эстетикалық тұрғыдан ғана емес, басқа жағынан да қолайсыз болғаны анық. Дәйексөз келтіру тәжірибесі кітаптар нөмірленген беттері бар кодекстер түріне енгенге дейін дұрыс басталмағандығының себебі де осында. Бұл тарихты тамаша баяндау үшін Boorstin-нің «The Discoverers» еңбегін қараңыз.
«Егер сіз қаланы үлкейтсеңіз»: Джон Хеннесси, жеке сұхбат, 9 қаңтар, 2014 жыл.
Ақпарат көлемінің бұлтартпас салдары: Ramscar және т. б. , «The Myth of Cognitive Decline».
«Сана — бұл ақпаратты өңдеудің табиғи құрылғылары»: Майкл Рамскар, Билл Майерспен сұхбат, 19 ақпан, 2014 жыл. http://www. providermagazine. com/news/Pages/0214/Provider-Exclusive-Michael-Ramscar-On-The-Myth-Of-Cognitive-Decline. aspx.
«Күндерімізді қалай өткізсек»: Dillard, «The Writing Life».
«Кітап жазу, соғыс жүргізу сияқты»: Lawler, «Old Stories».
«Біз қайталап істейтін істеріміздің нәтижесіміз»: Шын мәнінде, бұл фраза жиі Аристотельдің өзіне телінгенімен, оны ғалым Уилл Дюрант Аристотельдің ойын қорытындылау ретінде жазған. Durant-тың «The Story of Philosophy» еңбегін қараңыз.
Екі минут немесе одан аз уақыт алатын кез келген тапсырма: Allen, «Getting Things Done».
Ең қиын тапсырмадан бастау: Tracy, «Eat That Frog! ». Кітап өзінің «Таңертең бірінші кезекте тірі бақаны жесең, қалған күні басыңнан бұдан жаман ештеңе өтпейді» деген дәйексөзін Марк Твенге телиді, бірақ бұл апокрифтік болуы мүмкін. Quote Investigator сайты бұған XVIII ғасырдағы француз жазушысы Никола Шамфорды ықтимал дереккөз ретінде көрсетеді. Толығырақ: http://quoteinvestigator. com/2013/04/03/eat-frog/.
Алдымен өзінің әлеуметтік кездесулерін жоспарлау: Fiore, «The Now Habit».
«Аяқталмаған тапсырманың мәңгілік мазаны алуы»: Уильям Джеймс, Карл Штумпфқа хатында, 1 қаңтар, 1886 жыл.
Істерді әдейі бірден істемеу: Partnoy, «Wait».
Гант диаграммаларын жасап шығарды: Тейлор мен Ганттың жоспарлау тарихындағы рөлі Herrmann-ның «The Perspectives of Taylor, Gantt, and Johnson» еңбегінде жинақталған. Тейлор туралы қосымша өмірбаяндық мәліметтер Kanigel-дің «The One Best Way» кітабынан алынған.
Amazon, IKEA және SpaceX сияқты фирмалар: Гант диаграммаларына арналған бағдарламалық қамтамасыз ету шығаратын LiquidPlanner компаниясы Amazon, IKEA және SpaceX-ті өз клиенттері ретінде көрсетеді: http://www. liquidplanner. com/death-to-gantt-charts/.
Бұл мәселенің шешілуі мүмкін екендігі туралы алғашқы ишара: Джонсонның маңызды нәтижесі (қазіргі таңда «flowshop» жоспарлауы деп аталатын, жұмыстар бір машинадан екіншісіне ауысатын жағдай) «Optimal Two- and Three-Stage Production Schedules with Setup Times Included» еңбегінде жарияланды.
Мерзімі ең жақын тапсырмадан бастау: EDD (Earliest Due Date — ең ерте орындалу мерзімі), сондай-ақ Джексон ережесі деп те аталады, Jackson-ның «Scheduling a Production Line to Minimize Maximum Tardiness» еңбегінде негізделген. Джеймс Р. Джексон 1930 жылдары Лос-Анджелесте өсті және UCLA-ның Логистикалық зерттеу жобасында жұмыс істей жүріп, аймақтағы әртүрлі аэроғарыштық компаниялардың машина цехтарында болды. Оның жұмыстардың бір машинадан екіншісіне қалай ауысатыны туралы ойлары ақыры Интернеттегі трафик ағынын бағыттау алгоритмдерін жасауда қолданылатын «желілік ағындарды» талдау математикасын жасауға әкелді. Қысқаша өмірбаяны Production and Operations Management Society-дің «James R. Jackson» бөлімінде берілген.
Мур алгоритмі: Moore-дың «An N Job, One Machine Sequencing Algorithm for Minimizing the Number of Late Jobs» еңбегінде ұсынылған. Мақалада Мур Том Дж. Ходжсон ұсынған жеңілдету мен оңтайландыруды мойындайды. Бүгінде «Мур алгоритмі», «Ходжсон алгоритмі» және «Мур-Ходжсон алгоритмі» терминдері кейде бір-бірінің орнына қолданылады.
Ең жылдам бітетін тапсырманы орындаңыз: SPT (Shortest Processing Time — ең қысқа өңдеу уақыты) немесе Смит ережесі. Бұл орындалу уақыттарының қосындысын азайтатыны Smith-тің «Various Optimizers for Single-Stage Production» еңбегінде дәлелденген.
Жануарлардың азық іздеу зерттеулерінде кездеседі: Stephens және Krebs, «Foraging Theory».
«Қарыз қар кесегі» (debt snowball) ретінде белгілі: Көпшілік арасында автор және спикер Дейв Рэмси бұл стратегияны насихаттаушы ретінде танымал. Академиялық тұрғыдан алғанда, Солтүстік-Батыс университетінің зерттеушілері Gal және McShane-нің 2012 жылғы «Can Small Victories Help Win the War? » мақаласы және Техас A&M экономистері Brown мен Lahey-дің 2014 жылғы «Small Victories» еңбегі «кішігірім жеңістердің» тұтынушылық қарыздан құтылуға тигізетін әсерін зерттеді.
Обсессивті-компульсивті вампир: Бұл «Bad Blood» атты 5-маусымның 12-сериясы, алғаш рет 1998 жылдың 22 ақпанында көрсетілді.
«Прекрастинацияға бейімділік»: Rosenbaum, Gong және Potts, «Pre-Crastination». Прекрастинация — тапсырманы орындау мүмкіндігі туған бойда, тіпті ол қосымша күш талап етсе де, бірден істеп тастауға деген ұмтылыс.
Ривз қателікті «мерзімнің тығыздығына» байланыстырды: Бұл Гленн Ривздің 1997 жылғы 15 желтоқсандағы әріптестеріне жазған «Марста шын мәнінде не болды? » деген хатынан алынған. Толығырақ: http://research. microsoft. com/en-us/um/people/mbj/Mars_Pathfinder/Authoritative_Account. html.
«Егер сен тез тұтанғыш болсаң және аяғың болса»: Хедбергтің әңгімесін оның 1999 жылғы «Strategic Grill Locations» комедиялық альбомынан табуға болады.
«Ең маңызды нәрселер»: Бұл дәйексөздің ағылшын тіліндегі алғашқы көрінісі Covey-дің «How to Succeed with People» еңбегінде Гётеге телінген, бірақ сілтемесіз берілген.
«Мен күн сайын істерімді осылай бітіремін»: Лаура Альберт Маклей, жеке сұхбат, 16 қыркүйек, 2014 жыл.
«Ген бір нәрсені кейінге қалдырып жүр еді»: Ян Карел Ленстра, жеке сұхбат, 2 қыркүйек, 2014 жыл және жеке хат-хабарлар.
Лоулер қызықты, айналмалы жолмен жүрді: Лоулердің өмірбаяны Lawler-дің «Old Stories» және Lenstra-ның «The Mystical Power of Twoness» еңбектерінен алынған.
Компьютерлік ғылымдар факультетінің «әлеуметтік ар-ожданы»: Ричард Карп, «A Personal View of Computer Science at Berkeley», Берклидегі Калифорния университеті, http://www. eecs. berkeley. edu/BEARS/CS_Anniversary/karp-talk. html.
Лоулер атындағы марапат: http://awards. acm. org/lawler/ қараңыз.
Кестені соңынан басына қарай құру: Лоулердің ең үлкен кешігу мәселесіндегі басымдық шектеулерін талдауы Lawler-дің «Optimal Sequencing of a Single Machine Subject to Precedence Constraints» еңбегінде берілген.
Бұл сала мамандары «шешілмейтін» (intractable) деп атайтын нәрсе: Бұл талдау Lawler-дің «Sequencing Jobs to Minimize Total Weighted Completion Time Subject to Precedence Constraints» еңбегінде. Дәлірек айтқанда, мәселе NP-қиын (тиімді шешімі белгісіз және ешқашан болмауы мүмкін есептер) болып табылады.
Жоспарлау теориясының бүкіл ландшафтын картаға түсіру мақсаты: Бұл мақсат 1975 жылдың бір түс қайтасында Лоулер, Ленстра және олардың әріптестері Ричард Карп пен Бен Лагевег Амстердамдағы Mathematisch Centrum-да жоспарлау теориясын талқылап отырғанда туындады. Мүмкін, көршілес Amstel сыра зауытынан шыққан «уыт пен құлмақтың өткір иісі» әсер еткен болар, бірақ топ диссертациясын қорғағалы жатқан досы әрі әріптесі Александр Риннуой Канға барлық жоспарлау мәселелері мен олардың шешілу-шешілмеуін қамтитын тізім-кітапты сыйлауды ұйғарды. (Бұл оқиға Lawler, «Old Stories» және Lenstra, «The Mystical Power of Twoness» еңбектерінде сипатталған. ) Риннуой Кан кейін тек академиялық ортаға ғана емес, сонымен бірге Нидерланды экономикасына да маңызды үлес қосты, ING директорлар кеңесінде болды және De Volkskrant газеті тарапынан үш жыл қатарынан Нидерландыдағы ең ықпалды адам болып танылды. Қараңыз: «Rinnooy Kan weer invloedrijkste Nederlander», De Volkskrant, 4 желтоқсан, 2009 жыл, http://nos. nl/artikel/112743-rinnooy-kan-weer-invloedrijkste-nederlander. html.
Лагевег жоспарлау мәселесінің 4536-ға жуық түрлі нұсқасын тізбектейтін компьютерлік бағдарлама жазды: олар ойлап тапқан көрсеткіштердің (максималды кешігу, кешіккен жұмыстар саны, орындалу уақытының қосындысы және т. б. ) және шектеулердің (салмақтар, басымдықтар, басталу уақыттары және т. б. ) кез келген мүмкін комбинациясы. Бірнеше қызықты күндер ішінде топ «бірінен соң бірі түсініксіз мәселелердің түрлерін шешіп тастаудан ләззат алды».
Олардың жоспарлау мәселелерінің жиынтығын сипаттауға арналған ұйымдастыру схемасы «қысқартуларға толы» тіл болды, оны олар «Schedulese» (Жоспарлау тілі) деп атады (Graham және т. б. , «Optimization and Approximation in Deterministic Sequencing»). Негізгі идея — жоспарлау мәселелері үш айнымалымен сипатталады: машиналардың табиғаты, жұмыстардың табиғаты және жоспарлау мақсаты. Бұл үш айнымалы дәл осы ретпен көрсетіледі, басымдық шектеулері, үзу (preemption), шығу уақыттары және мақсат сияқты факторларды сипаттайтын стандартты кодтар қолданылады. Мысалы, 1|rj|∑Cj («one-arejay-sum-ceejay» деп оқылады) бір машинаны, шығу уақыттарын және орындалу уақытының қосындысын азайту мақсатын білдіреді. Юджин Лоулер айтқандай:
Бұл тілдің бірден пайдасы — мәселе түрлерін өте оңай түсіндіруге мүмкіндік беруі болды. Біздің кеңсеге келген қонақтар кейде мынадай диалогтарды естіп таңғалатын: — 1|rj|∑Cj NP-қиын болғандықтан, бұл 1|pmtn, rj|∑Cj мәселесі де NP-қиын екенін білдіре ме? — Жоқ, ол оңай, есіңде ме? — Жақсы, 1|dj|∑Cj оңай болса, бұл 1|pmtn, dj|∑Cj мәселесінің де оңай екенін білдіреді, сонда біз 1|pmtn, rj, dj|∑Cj туралы не білеміз? — Ештеңе.
Мәселе шешілмейтін (intractable) болып қалады: Шын мәнінде, бұл кеңістікті қалай толтыру туралы компьютер ғылымындағы ең танымал шешілмейтін «рюкзак мәселесіне» (knapsack problem) тең. Бұл жоспарлау мәселесі мен рюкзак мәселесі арасындағы байланыс Lawler-дің «Scheduling a Single Machine to Minimize the Number of Late Jobs» еңбегінде көрсетілген.
Кейбір тапсырмаларды бастаудың белгілі бір уақыты: Біз «басталу уақыты» деп атаған нәрсе әдебиеттерде «шығу уақыты» (release times) деп аталады. Lenstra, Rinnooy Kan және Brucker-дің «Complexity of Machine Scheduling Problems» еңбегі ерікті шығу уақыттарымен орындалу уақыттарының қосындысын азайту және максималды кешігуді азайту екеуі де NP-қиын екенін көрсетті. Ерікті шығу уақыттарымен кешіккен жұмыстар санын азайту жағдайы Lawler-дің «Scheduling a Single Machine to Minimize the Number of Late Jobs» еңбегінде талқыланады.
Жақында жүргізілген сауалнама: Lawler және т. б. , «Sequencing and Scheduling». Бұл тізімнің ең соңғы нұсқасы http://www. informatik. uni-osnabrueck. de/knust/class/ сайтында қолжетімді.
Өте қарапайым өзгертумен: Шығу уақыттары бар максималды кешігуді азайтуға преемпцияның (жұмысты тоқтата тұру мүмкіндігі) әсері Baker және т. б. , «Preemptive Scheduling of a Single Machine» еңбегінде талданған. Шығу уақыттары және үзу мүмкіндігімен орындалу уақытының қосындысын азайту мәселесі Schrage-нің «A Proof of the Optimality of the Shortest Remaining Processing Time Discipline» және Baker-дің «Introduction to Sequencing and Scheduling» еңбектерінде талданған.
Әлі де «Ең ерте орындалу мерзімі» (EDD) алгоритмінің үзу нұсқасы: Ең ерте мерзімі бар жұмысты таңдау арқылы күтілетін максималды кешігуді азайту нәтижесі Pinedo-ның «Scheduling» еңбегінде талқыланады.
«Ең қысқа өңдеу уақыты» (SPT) алгоритмінің үзу нұсқасы: Динамикалық жағдайда өлшенген орындалу уақытының қосындысын азайту үшін өлшенген ең қысқа күтілетін өңдеу уақыты бар жұмысты таңдаудың тиімділігін Sevcik «Scheduling for Minimum Total Loss Using Service Time Distributions» еңбегінде көрсетті.
Сол жұмыстардың өлшенген кешігуінің қосындысы: Pinedo-ның «Stochastic Scheduling with Release Dates and Due Dates» еңбегі бұл алгоритмнің жұмыс уақыты «жадысыз» үлестірімге сәйкес келеді деген (өте күшті) болжам бойынша оңтайлы екенін көрсетті. Стохастикалық жоспарлауда (кездейсоқтық ескерілетін жоспарлау) оңтайлы алгоритмдер кез келген жүктеме үшін мінсіз болмауы мүмкін, бірақ олар тиісті көрсеткіштердің күтілетін мәндерін азайтады.
«"Жоспар" сөзін "болжаммен" алмастырыңыз»: Jason Fried, «Let’s just call plans what they are: guesses», 14 шілде, 2009 жыл.
«Пойыздан түсуге болмайды»: Ullman, «Out of Time».
Кешігулерді де, қателерді де қамтуы мүмкін: Monsell, «Task Switching».
«Менің орныма тек істермен айналысамын»: Kirk Pruhs, жеке сұхбат, 4 қыркүйек, 2014 жыл.
«Менің зейінімнің бір бөлігі ғана сенде»: «The Social Network», Аарон Соркиннің сценарийі; Columbia Pictures, 2010 жыл.
«Ол туралы ешкім ештеңе білмеді»: Питер Деннинг, жеке сұхбат, 22 сәуір, 2014 жыл.
«Қызметтің толық істен шығуына әкелді»: Denning, «Thrashing: Its Causes and Prevention». Трэшинг (thrashing) — жүйенің ресурстарды басқаруға (мысалы, беттерді жадыдан ауыстыруға) тым көп уақыт жұмсап, негізгі пайдалы жұмысты атқара алмай қалуы.
«Ағымдағы жүктеме үшін кэштер қызып тұр»: Питер Зийлстра, жеке сұхбат, 17 сәуір, 2014 жыл.
Жүйе тұралап қалатын кез келген жағдай: Трэшинг дерекқор жүйелерінде де орын алуы мүмкін, онда әртүрлі процестер арасында дерекқорға қол жеткізу үшін «құлыптарды» (locks) алу бәсекелестігі жүйенің жұмысын тоқтатуы мүмкін. Сол сияқты, трэшинг желілік контексттерде пайда болуы мүмкін, онда желі арнасы үшін бәсекелесетін әртүрлі сигналдардың какофониясы кез келген нәрсенің өтуіне кедергі келтіреді. Біз соңғы сценарийді 10-тарауда толығырақ қарастырамыз.
Жоспарлаушыны ауыстырды: 2001 жылғы 2. 4 нұсқасынан бастап Linux қолданған «O(n) жоспарлаушысы» барлық процестерді басымдық бойынша сұрыптады, бұл процесс көп болған сайын көбірек уақыт алатын. Бұл 2003 жылғы Linux 2. 6-дан бастап «O(1) жоспарлаушысына» ауыстырылды, ол процестер санына қарамастан оларды алдын ала белгіленген шелектерге сұрыптады. Алайда, бұл күрделі эвристиканы қажет етті және 2007 жылғы Linux 2. 6. 23-тен бастап ол одан да қарапайым «Completely Fair Scheduler» (CFS — толықтай әділ жоспарлаушы) жүйесімен алмастырылды.
Linux-те бұл ең аз пайдалы үзінді: Бұл мән Linux ядросының «Completely Fair Scheduler» жүйесіндегі `sysctl_sched_min_granularity` айнымалысында анықталған.
«Таймбоксинг» немесе «Помодоро» сияқты әдістер: Таймбоксинг туралы бағдарламалық қамтамасыз етуді әзірлеу топтарын басқару контекстінде көп жазылған; термин Zahniser-дің «Timeboxing for Top Team Performance» еңбегінен шыққан сияқты. «Помодоро техникасы» (итальян тілінде pomodoro — қызанақ) 1980-жылдардың аяғында Франческо Чирилло тарапынан жасалған. Қараңыз: Cirillo, «The Pomodoro Technique».
Бағдарламашылар психологияға жүгінді: Мысалы, Питер Зийлстра, жеке сұхбат, 17 сәуір, 2014 жыл.
Компьютерлердің өздері осыған ұқсас нәрсе жасайды: Linux 2007 жылы таймерлерді біріктіру (timer coalescing) қолдауын қосты; Microsoft оны 2009 жылы Windows 7-ге енгізді; Apple 2013 жылы OS X Mavericks-те солай жасады.
«Алгоритміңіздегі бір жолдық қате ғана»: Питер Норвиг, жеке сұхбат, 17 қыркүйек, 2014 жыл.
«Мен (контекстті) ауыстырмаймын»: Shasha және Lazere, «Out of Their Minds», 101-бет.
«Менің рөлім істердің түбінде болу»: Дональд Кнут, «Knuth versus Email», http://www-cs-faculty. stanford. edu/~uno/email. html.
«Адамның бүкіл білімі белгісіз»: Bertrand Russell, «Human Knowledge: Its Scope and Limits», 1948, 527-бет.
Ол жерде Берлин қабырғасын көрді: Gott, «Implications of the Copernican Principle for Our Future Prospects».
«Деректердің негізсіз тиімділігі»: Баяндама Halevy, Norvig және Pereira-ның «The Unreasonable Effectiveness of Data» еңбегіне негізделген.
«Бұл дәлелдер тек ықтимал болуы керек»: «An Enquiry Concerning Human Understanding», §IV.
Байестің жеке тарихы: Біздің қысқаша өмірбаян Dale-дің «A History of Inverse Probability» және Bellhouse-тың «The Reverend Thomas Bayes» еңбектеріне негізделген.
1746, 47, 48 немесе 49 жылдардың бірінде: Байестің аңызға айналған мақаласы мерзімі көрсетілмеген күйде 1746 және 1749 жылғы екі мақаланың арасында сақталған. Қараңыз: McGrayne, «The Theory That Would Not Die».
Ньютонның жаңадан шыққан «дифференциалдық есебін» қорғау: «An Introduction to the Doctrine of fluxions, and Defence of the Mathematicians against the Objections of the Author of the analyst... ».
«Сақталуға лайық»: Bayes-тің «An Essay Towards Solving a Problem in the Doctrine of Chances» еңбегіне кіріспе.
«Бос билеттердің ұтыстарға қатынасы»: Сонындағы қосымша.
бізге алдымен алға қарай пайымдау қажет: Нақтырақ айтқанда, Байес h гипотезалары мен бақыланған d деректері берілген жағдайда, әрбір h үшін p(d|h) ықтималдығын есептеу арқылы сол гипотезаларды бағалауымыз керек деп тұжырымдаған. (p(d|h) белгісі h ақиқат болған жағдайда d-ның орын алуының шартты ықтималдығын (берілген шарт орындалғандағы оқиға ықтималдығы) білдіреді. ) Мұны әрбір h-ның ақиқат болу ықтималдығына қайта айналдыру үшін біз осы ықтималдықтардың қосындысына бөлеміз.
Лаплас Нормандияда дүниеге келген: Лапластың өмірі мен қызметі туралы толығырақ мәліметті Гиллиспидің «Пьер-Симон Лаплас» (Gillispie, Pierre-Simon Laplace) еңбегінен көре аласыз.
бірыңғай бағалауға дейін жинақталған: Лаплас заңы Байес ұсынған есептеулерді орындау арқылы шығарылады — мұндағы ең қиын бөлігі бөліктеп интегралдауды (күрделі функцияларды интегралдау әдісі) қолдануды талап ететін барлық гипотезалардың қосындысын табу. Лаплас заңының толық қорытындысын Гриффитс, Кемп және Тененбаумның «Танымның байестік модельдері» (Bayesian Models of Cognition) еңбегінен көре аласыз. Қазіргі заманғы байестік статистика тұрғысынан алғанда, Лаплас заңы — біркелкі априорлы үлестірімді (барлық нұсқалар бірдей ықтимал деп есептелетін бастапқы болжам) қолданатын биномдық қарқынның апостериорлы орташа мәні.
Егер сіз бір рет қана байқап көріп, ол сәтті шықса: 2-тараудағы «көпқолды бандиттер» (бірнеше нұсқаның ішінен ең тиімдісін таңдау мәселесі) және зерттеу/пайдалану дилеммасы туралы талқылауымызда тәжірибелер жиынтығына негізделген процестің — ойын автоматының — сәттілік деңгейін бағалауға тоқталғанымыз есіңізде болар. Байес пен Лапластың еңбектері сол тарауда талқыланған көптеген алгоритмдердің, соның ішінде Гиттинс индексінің негізін қалайды. Лаплас заңы сияқты, біз сонда ұсынған Гиттинс индексінің мәндері кез келген сәттілік ықтималдығы бірдей деп есептеді. Бұл 1–0 нәтижесі бар ойын автоматының күтілетін жалпы ұтыс деңгейін жанама түрде үштен екіге тең деп қабылдайды.
«басқаларына қарағанда жүйелірек немесе ақылға қонымды емес»: Адам танымы туралы зерттеу, §IV, «Таным операцияларына қатысты скептикалық күммәндар».
негізгі ауыр жұмысты Лаплас атқарды: Әділдік үшін айтсақ, 1950 жылғы ықпалды мақала (Бэйли, «Сенімділік процедуралары») мұны «Байес ережесінің Лапластық жалпылануы» деп атаған, бірақ бұл атау қалыптаспады. Жаңалықтардың оны ашқан адамнан басқа біреудің атымен аталуы соншалықты жиі кездесетін құбылыс болғандықтан, статистик және тарихшы Стивен Стиглер мұны эмпирикалық заң — Стиглердің эпонимия заңы (ғылыми жаңалықтардың оны ашқан адамның емес, басқаның атымен аталу принципі) деп санау керек деп мәлімдеді. Әрине, Стиглер мұны бірінші болып ашқан жоқ; ол бұл үшін құрметті социолог Роберт К. Мертонға береді. Стиглердің «Стиглердің эпонимия заңы» еңбегін қараңыз.
олардың ықтималдықтарын бір-біріне көбейтіңіз: Математикаға бейім жандар үшін Байес ережесінің толық нұсқасы мынадай. Біз d деректері берілген кезде h гипотезасына қаншалықты ықтималдық беру керектігін есептегіміз келеді. Бізде сол гипотезаның ақиқаттығы туралы p(h) априорлы үлестірімінде (тәжірибеге дейінгі болжам) көрсетілген алдын ала сенімдер бар. Біз есептегіміз келетіні — d арқылы алынған дәлелдер негізінде априорлы үлестірімімізді қалай жаңарту керектігін көрсететін p(h|d) «апостериорлы» үлестірімі (дәлелдерден кейін нақтыланған болжам). Ол мына формуламен беріледі:

мұндағы <span data-term="true">h′</span> қарастырылып отырған гипотезалардың толық жиынтығын қамтиды.
«әсіресе болашақ туралы»: Бұл айтылымның белгісіз шығу тегі Quote Investigator сайтындағы «Болжам жасау қиын, әсіресе болашақ туралы» мақаласында егжей-тегжейлі сипатталған.
тіпті Нью-Йорк қаласы болса да таңқаларлық болар еді: New Yorker журналының мұқабасы — Ричард Макгуайр, «Уақыттың қисаюы», 24 қараша, 2014 ж. Қалалар мен корпорациялардың ықтимал өмір сүру ұзақтығын тереңірек талдау үшін Джеффри Уэст пен Луис Беттенкурттың еңбектерін қараңыз.
сыни хат-хабарлардың тасқыны: Мысалы, Гарретт пен Коулздың «Байестік индуктивті қорытынды және антроптық принциптер» және Бухтың «Болашақ перспективаларды талқылау» еңбектерін қараңыз.
сіз ештеңе білмей келетін лотерея: Статистик Гарольд Джеффрис кейінірек Лапластың (w+1)⁄(n+2) формуласының орнына (w+0. 5)⁄(n+1) формуласын қолдануды ұсынды. Неғұрлым ақпараттандырылған априорлы болжамдарды анықтаудың бір әдісі (w+w′+1)⁄(n+n′+2) түріндегі болжамдарға әкеледі, мұндағы w′ мен n′ — сіздің өткен тәжірибеңіздегі ұқсас процестердің сәттіліктері мен талпыныстарының саны. Осы ережені қолдана отырып, егер сіз бұған дейін тек 10 ұтыс билеті бар 100 лотерея ұтысын көрген болсаңыз (w = 10, n = 100), осы жаңа лотерея үшін бір ғана ұтысты көргеннен кейінгі бағалауыңыз анағұрлым қисынды 12/103 болады (10%-ға жақын). Лаплас заңының нұсқалары компьютерлік лингвистикада бұрын-соңды кездеспеген сөздердің ықтималдығын бағалау үшін кеңінен қолданылады.
немесе бес мыңжылдыққа созылады: 0-ден ∞-ге дейінгі аралықтағы ұзақтық сияқты шама үшін t уақытындағы ақпаратсыз априорлы болжам — бұл p(t) ∝ 1/t ықтималдық тығыздығы. Масштабты өзгерту — t-ның еселігі болатын жаңа s шамасын анықтау — бұл үлестірімнің түрін өзгертпейді: егер s = ct болса, онда p(s) ∝ p(t = s/c) ∝ 1/s. Бұл оның масштабқа тәуелсіз (өлшем бірлігіне немесе ауқымға қарамастан қасиетін сақтау) екенін білдіреді.
Коперник принципі пайда болады: Мұны Готт Бухтың «Болашақ перспективаларды талқылау» мақаласына берген жауабында көрсеткен.
трамвай вагондарының санын анықтау: Джеффрис, Ықтималдық теориясы, §4. 8. Джеффрис бұл мәселені оның назарына аударғаны үшін математик Макс Ньюманға алғыс білдіреді.
танктердің санын бағалауға тырысты: Бұл «Неміс танкі мәселесі» деген атпен танымал болды және көптеген дереккөздерде құжатталған. Мысалы, Гэвин Дэвистің «Статистикалық формула соғыста қалай жеңіске жетті» мақаласын қараңыз.
бақтағы жемістер: Мысалы, 2002 жылғы Жаңа Зеландиялық авокадо өсірушілер қауымдастығының жылдық зерттеу есебі сәуір айына қарай жеміс мөлшерінің профильдері қалыпты үлестірілгенін және бақылау кезеңінің соңына дейін солай қалғанын анықтады.
Қаланың орташа халқы: Бұл көрсеткіш Клаузет, Шализи және Ньюманның «Эмпирикалық деректердегі дәрежелік үлестірімдер» еңбегінен алынған, ол өз кезегінде 2000 жылғы АҚШ халық санағына сілтеме жасайды.
көптеген масштабтарды қамтуы мүмкін: t шамасы бойынша дәрежелік заң (бір шаманың екінші шаманың дәрежесіне пропорционал өзгеруі) үлестірімінің жалпы түрі — p(t) ∝ t^−γ, мұндағы γ мәні t үлкейген сайын оның ықтималдығының қаншалықты тез кемитінін сипаттайды. Ақпаратсыз априорлы болжам сияқты, егер біз s = ct деп алсақ, масштабты өзгерткенімізбен үлестірім түрі өзгермейді.
дәрежелік заңдарға толы сала: Байлықтың дәрежелік функцияға сәйкес үлестірілетіні туралы бақылау Паретоға тиесілі. Халық пен табыстың дәрежелік үлестірімдері туралы тағы бір жақсы талқылауды Саймонның еңбегінен табуға болады.
Америкадағы орташа табыс: Салық декларацияларынан алынған жеке түзетілген жалпы табыстың (AGI) орташа мәні 2009 салық жылы үшін $55,688 деп бағаланған.
АҚШ халқының үштен екісі орташа табыстан аз табады: 2012 жылғы деректер бойынша, $55,688 көлеміндегі табыс шамамен ең жоғарғы 33%-дық топқа жатады.
ең жоғарғы 1% орташа табыстан он есе көп табады: 2012 жылы ең жоғарғы 1% үшін шекті мән $434,682, ал ең жоғарғы 0,01% үшін $12,104,014 болды.
«артықшылықты қосылу» процесі: <span data-term="true">Артықшылықты қосылудан</span> (байдың байи түсуі немесе танымал нәрсенің одан әрі танымал болу принципі) туындайтын дәрежелік үлестірімдер туралы идеяны Барабашидің «Байланысқан» (Linked) кітабынан табуға болады.
«жақсы мағынада "мәңгі жалғаса беруі мүмкін" бе? »: Лернер, Лихтенберг фигуралары.
тиісті болжау стратегиясы — Мультипликативті ереже: Осы бөлімде талқыланған барлық болжау ережелері Гриффитс пен Тененбаумның «Күнделікті танымдағы оңтайлы болжамдар» еңбегінде тұжырымдалған.
өлеңдер дәрежелік заңға жақын нәрсеге сүйенеді: Бұл туралы да жоғарыда аталған еңбекте айтылады.
интервалдардың таралуын формализациялады: Эрланг алғаш рет желідегі телефон қоңырауларының жиілігін Пуассон үлестірімін қолдана отырып модельдеді, кейіннен келіп түсетін қоңыраулар арасындағы интервалдарды модельдеу үшін өзінің атымен аталған Эрланг үлестірімін жасап шығарды.
мүмкіндігі шамамен 20-дан 1-ге дейін: Нақтырақ айтсақ, блэкджек ойынында бірден жеңіске жететін қолдың түсу мүмкіндігіне қарсы коэффициент 2,652-ден 128-ге немесе шамамен 20,7-ден 1-ге тең.
статистиктерге «жадысыз» деген атпен белгілі: Техникалық тұрғыдан алғанда, келесі блэкджекке дейінгі уақыт геометриялық үлестірімге бағынады, ол үнемі кеміп отырады. Бұл қасиет жадысыздық (болашақ оқиғаның ықтималдығы өткен уақытқа тәуелсіз болуы) деп аталады. Егер біз қандай да бір құбылысты оның ұзақтығының кездейсоқ бір сәтінде кездестірсек, онда Эрланг үлестірімі бізге жадысыз Аддитивті ереже бойынша болжамдар береді.
Кенни Роджерс әйгілі кеңес бергендей: «The Gambler» өлеңі Кенни Роджерстің орындауында кең танымал, бірақ оны бастапқыда Дон Шлиц жазған. Бұл ән 1980 жылы Грэмми сыйлығын жеңіп алды.
«Мен жеңілдеп, ұзақ күрсіндім»: Гулд, «Медиана — бұл хабарлама емес».
адамдардан болжам жасауды сұрау: Гриффитс пен Тененбаум, «Күнделікті танымдағы оңтайлы болжамдар».
адамдардың кең ауқымдағы априорлы үлестірімдері: Зерттеулер, мысалы, торлы қабыққа түсетін жарық үлгілерінен қозғалатын фигураларды қалай анықтайтынымызды, объектілердің өзара әрекеттесуінен себеп-салдарлық байланыстарды қалай шығаратынымызды және жаңа сөздердің мағынасын небәрі бірнеше рет көргеннен кейін қалай үйренетінімізді зерттеді.
әйгілі «маршмэллоу тесті»: Мишел, Эббесен және Раскофф Зейсс, «Қанағаттануды кешіктірудегі когнитивтік және назар аудару механизмдері».
бәрі жағдайдың түріне байланысты: Магвайр мен Кейбл, «Шешім қабылдаушылар уақыт аралығы тәжірибесі негізінде мінез-құлық тұрақтылығын реттейді».
анағұрлым табысты ересектер болып өсті: Мишел, Шода және Родригес, «Балалардағы қанағаттануды кешіктіру».
алдыңғы тәжірибелер мінез-құлыққа қалай әсер етуі мүмкін: Кидд, Палмери және Эслин, «Рационалды жеңіл тамақтану».
Карнеги-холлдың тіпті жартысы да толмайды: Авиациялық қауіпсіздік желісінің мәліметтері бойынша, 2000–2014 жылдар аралығында АҚШ-қа тиесілі ірі ұшақтардағы қаза тапқандар саны 1,369-ды құрады. Карнеги-холлдағы әйгілі Исаак Стерн аудиториясы 2,804 адамға арналған.
Вайоминг штатының бүкіл халқынан да көп: Ұлттық жол қозғалысы қауіпсіздігі басқармасының мәліметінше, 2000–2013 жылдары АҚШ-та жол апатынан 543,407 адам қаза тапқан. Бұл Вайоминг штатының халқынан (584,153 адам) асып түседі.
Америкалық жаңалықтардағы қарулы зорлық-зомбылық: Гласснер, «Қорқыныш тудырудың баяндау әдістері».
«Үйлену — Үйлену — Үйлену Q. E. D. »: Дарвиннің бұл жазбасы 1838 жылғы 7 сәуірге жатады.
«Моральдық немесе сақтық алгебрасы»: Франклиннің Джозеф Пристлиге жазған хаты, Лондон, 19 қыркүйек, 1772 ж.
«Сен не істей алсаң, мен оны жақсырақ істей аламын»: «Anything You Can Do», Ирвинг Берлиннің туындысы, 1946 ж.
сіз не білесіз және не білмейсіз: Машиналық оқыту зерттеушілерінің тілінде: <span data-term="true">«жаттығу»</span> (training - модель үйретілетін деректер жиынтығы) және <span data-term="true">«тест»</span> (test - модельдің сапасын тексеруге арналған жаңа деректер).
Германияда жүргізілген соңғы зерттеу: Лукас және басқалары, «Адаптацияны және бақыттың тұрақты деңгейі моделін қайта қарау».
біздің міндетіміз — формуланы табу: Математика әуесқойлары үшін, біз осы байланысты сипаттау үшін ең жақсы көпмүшелік функцияны табуға тырысамыз. Некеден кейінгі уақытты x, ал қанағаттануды y деп алсақ, бір болжағыш моделі — y = ax + b. Екі болжағыш моделі — y = ax^2 + bx + c болады.
диаграммадағы әрбір нүкте арқылы өтетін: Шын мәнінде, кез келген <span data-term="true">n</span> нүкте арқылы әрқашан <span data-term="true">n − 1</span> дәрежелі көпмүшені жүргізуге болатыны — математикалық ақиқат.
адамдардың қанағаттануының бастапқы деңгейі: Лукас және басқалары, «Адаптацияны және бақыттың тұрақты деңгейі моделін қайта қарау».
күрделірек модельді қолдану әрқашан жақсы емес: Статистиктер модельдегі әртүрлі факторларды «болжағыштар» (predictors) деп атайды. Тым қарапайым модель, мысалы, қисықты сипаттауға тырысатын түзу сызық, «ығысуға» (bias - модельдің тым қарапайымдылығынан болатын қателік) ие деп айтылады. Керісінше, модель тым күрделі болғандықтан, деректердегі кішкентай өзгерістерге бола қатты ауытқыса, бұл «дисперсия» (variance - модельдің кездейсоқ шуға бейімділігі) деп аталады.
Таңқаларлығы, бұл екі қателік түрі — ығысу мен дисперсия — бір-бірін толықтыра алады. Ығысуды азайту (модельді икемді және күрделі ету) дисперсияны арттыруы мүмкін. Ал ығысуды арттыру (модельді қарапайым ету) кейде дисперсияны азайтады.
Бөлшектер физикасындағы әйгілі Гейзенбергтің анықталмаушылық принципі сияқты, <span data-term="true">ығысу-дисперсия компромисі</span> (модельдің қарапайымдылығы мен дәлдігі арасындағы тепе-теңдік) модельдің қаншалықты жақсы бола алатынына — нені білуге және болжауға болатынына іргелі шектеу қояды.
Патшалар кітабында: Нехуштан деп аталатын қола жылан Патшалардың 2-жазбасы 18:4-те жойылады.
«татуировканы өшіру үшін қомақты ақша төлеу»: Гилберт, Бақытқа сүріну.
елу жылдан аз уақыт бұрынғы дуэльдер: Егер сіз тым қорқақ болмасаңыз, 1967 жылы болған дуэльдің видеосын интернеттен көре аласыз.
спортшылар өз тактикаларын қайта оқытқан сайын: Фехтование тактикасын әдейі қайта оқытудың (overfitting - нақты жағдайға тым қатты бейімделіп, жалпы тиімділікті жоғалту) қызықты мысалы ретінде Харменбергтің «Epee 2. 0» еңбегін қараңыз.
«Ынталандыру құрылымдары жұмыс істейді»: Брент Шлендер, «Стив Джобстың жоғалған таспалары».
«Бас директор нені өлшеуді шешсе, сол орындалады»: Сэм Альтман, «Стартапты қалай бастау керек».
Риджуэй осындай көптеген жағдайларды каталогқа енгізді: Риджуэй, «Өнімділікті өлшеудің дисфункционалды салдары».
Жұмысқа орналастыру фирмасында: Бұл оқиғада Риджуэй Блаудың «Бюрократия динамикасы» еңбегіне сілтеме жасайды.
«Достар достарына "беттерді қарау" санын өлшеуге жол бермейді»: Авинаш Кашик, «Сіз не өлшесеңіз, соған айналасыз, сондықтан KPI-ларыңызды ақылмен таңдаңыз! ».
«өлген полицейлер табылды»: Гроссман және Кристенсен, Шайқаста. Полицейлер атыс кезінде бос гильзаларды қалтасына салып жатқан, өйткені жаттығу кезінде солай үйретілген. Бұл — жаттығуға «қайта оқытудың» өлімге әкелген мысалы.
офицер инстинктивті түрде қаруды ұстап алды: Жоғарыдағы дереккөз бойынша.
«Егер сіз оны қарапайым түсіндіре алмасаңыз»: Бұл дәйексөз жиі Альберт Эйнштейнге телінеді, бірақ бұл шындыққа жанаспауы мүмкін.
Тихонов бір жауап ұсынды: Тихонов пен Арсенин, Нақты емес қойылған есептерді шешу. Ол регуляризация (модельге күрделілігі үшін айыппұл салу арқылы қайта оқытуды шектеу) әдісінің негізін қалады.
1996 жылы биостатистик Роберт Тибширани ойлап тапқан: Тибширани, «Lasso арқылы регрессиялық жиырылу және таңдау». Lasso — бұл маңызды емес факторларды нөлге дейін қысқартып, модельді қарапайым ететін алгоритм.
адам миы бестен бір бөлігін жағады: Адам миының энергия тұтынуы туралы толығырақ Райхл мен Гуснардтың еңбегінен біле аласыз.
ми нейрондар санын азайтуға тырысады: Осы нейрондық стратегияны (<span data-term="true">«сирек кодтау»</span> деп аталады) қолдана отырып, зерттеушілер визуалды қыртыстағыдай қасиеттері бар жасанды нейрондарды жасап шығарды.
инновациялық «орташа дисперсиялық портфельді оңтайландыру»: Марковиц Нобель сыйлығын алған бұл жұмысы оның «Портфельді таңдау» мақаласында жарияланған.
«Мен өз жарналарымды елу де елу бөліп тастадым»: Гарри Марковиц өзінің Нобель сыйлығын алған теориясын өз инвестицияларына қолданбай, қарапайым ережені пайдаланғанын мойындады.
«аз ақпарат, есептеу және уақыт»: Гигерензер мен Брайтон, Homo Heuristicus.
1990-жылдардың ортасынан 2013 жылға дейін төрт еседен астам өсті: Солтүстік Америка Соя өнімдері қауымдастығының мәліметтері бойынша.
«Жаңғақтар қазір трендте»: Ванесса Вонг, «Ішуге болатын бадам».
2004 жылдан бері таңқаларлық үш жүз есеге артты: Лиза Рулант, «Неліктен кокос суы қазір $1 миллиардтық индустрияға айналды».
«көрінбейтін күйден қашып құтылмас күйге ауысты»: Дэвид Сигал, кокос суының нарықтағы орны туралы.
кейл (бұжыр қырыққабат) нарығы 40%-ға өсті: «Танымал аспаздар денсаулыққа пайдасын насихаттағандықтан, кейл сатылымы күрт өсті».
оны салат-барларына қосқан Pizza Hut: Айла Уити, «Кейл: диетаңызға суперфудтарды қосудың бір оңай жолы».
Ертедегі омыртқалылардың (омыртқа жотасы бар жануарлар) денелері 180 градусқа бұрылған: Кинсборн, «Соматикалық бұрылыс». Примитивті омыртқалылардың денесі мен мүшелерінің құрылымы туралы толығырақ талқылауды Лоу және басқалардың «Хемихордаттардағы дорсовентральды паттернизация» еңбегінен табуға болады. Түсініктірек шолуды Келли Залокускидің «Нейробиологтан сұраңыз: Неліктен жүйке жүйесі декуссацияланады (айқасады — жүйке талшықтарының дененің бір жағынан екінші жағына өтуі)? » атты Стэнфорд нейроблогынан оқи аласыз (12 желтоқсан, 2013 ж. , https://neuroscience. stanford. edu/news/ask-neuroscientist-why-does-nervous-system-decussate).
Жақ сүйектері басқа мақсатқа бейімделген сияқты: Мысалы, «Сүтқоректілердің арғы тектеріндегі жақтардан құлақтарға дейін» мақаласын қараңыз, Эволюцияны түсіну, http://evolution. berkeley. edu/evolibrary/article/evograms_05.
«Маңызды нәрсені өлшей алмаймыз деген алғышарт»: «Мистер Минцбергтің қорқынышты әлемі», Саймон Колкинмен сұхбат, Guardian, 25 қаңтар, 2003 ж. , http://www. theguardian. com/business/2003/jan/26/theobserver. observerbusiness11.
«Бүкіл өмірді жұмысшы ара сияқты өткізу»: Дарвин, Чарльз Дарвиннің хаттары, 2-том: 1837–1843.
«Қашан? Ерте ме әлде кеш пе»: Сонда.
«Пептидті тежегішті сәтті жобалау»: Меган Петерсон (туған тегі Беллоуз), жеке сұхбат, 23 қыркүйек, 2014 ж.
Шамамен 11^107 мүмкін болатын отырғызу жоспары: Дәлірек айтсақ, егер біз әр адам үшін үстелді дербес таңдайтын болсақ, 11^107 мүмкіндік болар еді. Әр үстелге тек 10 адам ғана отыра алады деген шектеуді ескерсек, бұл сан сәл азырақ болады. Бірақ ол бәрібір өте үлкен.
Беллоуз компьютердің нәтижелеріне риза болды: Меган Беллоуздың үйлену тойына қонақтарды отырғызу кестесін шешу үшін қолданған ресми негізі Беллоуз бен Петерсонның «Оңтайлы отырғызу кестесін табу» еңбегінде сипатталған.
Линкольн «дала заңгері» болып жұмыс істеген: Линкольнның аймағы туралы толығырақ Фрейкердің «Нағыз Линкольн тас жолы» еңбегінен оқи аласыз.
«Пошталық хабаршы мәселесі»: Менгердің «Das botenproblem» еңбегінде 1930 жылы 5 ақпанда Венада осы тақырыпта оқыған дәрісі бар. Саяхатшы саудагер есебінің (барлық қалаларды аралап, бастапқы нүктеге оралатын ең қысқа жолды табу есебі) толық тарихын Шрийвердің «Комбинаторлық оңтайландыру тарихы туралы» еңбегінен, сондай-ақ Куктың «Саяхатшы саудагердің ізімен» атты өте түсінікті кітабынан көруге болады.
Математик әріптесі Меррилл Флад: Флад, «Саяхатшы саудагер есебі».
Белгілі атау алғаш рет баспа бетінде пайда болды: Робинсон, «Гамильтон ойыны туралы».
«Мүмкін еместік нәтижелері де құнды болар еді»: Флад, «Саяхатшы саудагер есебі».
«Саяхатшы саудагер есебі үшін жақсы алгоритм жоқ»: Эдмондс, «Оңтайлы тармақталу».
Есепті не іске асыруға болатындай етеді: Кобэм өзінің «Функциялардың ішкі есептеу қиындығы» еңбегінде қандай алгоритмді «тиімді» деп санау керек деген сұрақты нақты қарастырады. Сол сияқты, Эдмондс «Жолдар, ағаштар және гүлдер» еңбегінде қиын есептің шешімі неліктен маңызды екенін түсіндіреді және осы нақты шешімді негіздей отырып, алгоритмдерді не жақсы ететіні туралы жалпы негіз қалайды.
Саланың іс жүзіндегі «ойыннан тыс» белгісі: Шын мәнінде, көпмүшелік уақыттан баяу, бірақ экспоненциалды уақыттан жылдамырақ жұмыс істейтін алгоритмдер бар; бұл <span data-term="true">суперкөпмүшелік</span> орындалу уақыттары да оларды тиімді алгоритмдер жиынынан тыс қалдырады.
Не тиімді шешілетін, не шешілмейтін: Компьютерлік ғылымда тиімді шешілетін есептер жиынтығы P (көпмүшелік уақыт — есептің күрделілігі кіріс деректерінің көлеміне қарай дәрежелі түрде өсетін уақыт) деп аталады. Ал даулы шекаралық есептер жиынтығы NP (бейдетерминистік көпмүшелік) деп аталады. NP тобындағы есептердің шешімі табылғаннан кейін оларды тиімді тексеруге болады, бірақ оңай тексерілетін әрбір есепті оңай шешуге болатын-болмайтыны белгісіз. Мысалы, егер біреу сізге маршрутты көрсетіп, оның 1000 мильден аз екенін айтса, бұл мәлімдемені тексеру оңай — бірақ 1000 мильден аз маршрутты табу немесе оның мүмкін еместігін дәлелдеу мүлдем басқа міндет. P = NP (яғни, NP есептерінің шешімдеріне тиімді өту мүмкін бе) деген сұрақ компьютерлік ғылымдағы ең үлкен шешілмеген жұмбақ болып табылады.
Шешімге қарай негізгі ілгерілеушілік белгілі бір есептердің ерекше мәртебеге ие екенін дәлелдеу болды: егер олардың біреуі тиімді шешілсе, онда NP-дегі кез келген есеп тиімді шешілуі мүмкін және P = NP (Кук, «Теоремаларды дәлелдеу процедураларының күрделілігі»). Олар NP-hard (NP-қиын) есептер деп аталады. P = NP деген сұраққа жауап болмаған жағдайда, NP-дегі есептер тиімді шешілмейді, сондықтан біз оларды «шешілмейтін» деп атаймыз. (Дональд Кнут өзінің «Терминологиялық ұсыныс» еңбегінде NP-қиын есептер үшін осы таңбаны ұсынды, сонымен қатар P = NP екенін дәлелдей алған кез келген адамға тірі күркетауық беруді уәде етті). Юджин Лоулер 5-тарауда кездестірген шешілмейтін жоспарлау есептері осы санатқа жатады. Өзі NP құрамында болатын NP-қиын есеп NP-complete (NP-толық) деп аталады. Саяхатшы саудагер есебінің бір нұсқасының NP-толық екенін көрсететін классикалық нәтиже үшін Карптың «Комбинаторлық есептер арасындағы келтірілуді» қараңыз, ал P және NP туралы түсінікті кіріспе үшін Фортновтың «Алтын билет: P, NP және мүмкін еместікті іздеу» еңбегін қараңыз.
Компьютер ғалымдарының көпшілігі олар жоқ деп санайды: 2002 жылы жүз жетекші теориялық компьютер ғалымдары арасында жүргізілген сауалнамада алпыс бірі P ≠ NP деп ойласа, тек тоғызы ғана P = NP деп есептеген (Гасарч, «P =? NP сауалнамасы»). P = NP екенін дәлелдеу NP-толық есеп үшін көпмүшелік уақыт алгоритмін көрсету арқылы мүмкін болса, P ≠ NP екенін дәлелдеу көпмүшелік уақыт алгоритмдерінің шектеулері туралы күрделі дәлелдерді қажет етеді және сауалнамаға қатысқандар арасында бұл мәселені шешу үшін математиканың нақты қай түрі қажет болатыны туралы ортақ келісім болмады. Бірақ олардың жартысына жуығы бұл мәселе 2060 жылға дейін шешіледі деп есептеді.
Сонымен қатар, көптеген басқа оңтайландыру есептері: Бұған «төбелерді жабу» және «жиынтықты жабу» нұсқалары кіреді — Карптың «Комбинаторлық есептер арасындағы келтірілуі» еңбегінде NP-ге жататындығы анықталған екі есеп, онда жиырма бір есептің осы жиынтыққа кіретіні танымал түрде көрсетілген. 1970 жылдардың соңына қарай компьютер ғалымдары 300-ге жуық NP-толық есептерді анықтады (Гэри және Джонсон, «Компьютерлер және шешілмейтіндік») және содан бері бұл тізім айтарлықтай өсті. Оларға адамдарға жақсы таныс кейбір есептер жатады. 2003 жылы Судоку NP-толық екендігі көрсетілді (Ято және Сета, «Күрделілік және толықтық»), Tetris-те болашақ фигураларды толық біле тұра, жойылған қатарлар санын барынша көбейту де осындай болды (Демайн, Хохенбергер және Либен-Ноуэлл, «Тетрис қиын, тіпті жуықтау үшін де»). 2012 жылы Super Mario Brothers сияқты платформалық ойындарда деңгейдің соңына дейін жолдың бар-жоғын анықтау ресми түрде тізімге қосылды (Алоупис, Демайн және Гуо, «Классикалық Nintendo ойындары (NP-) қиын»).
«Сіз бәрібір онымен күресуіңіз керек»: Ян Карел Ленстра, жеке сұхбат, 2 қыркүйек, 2014 ж.
«Кемелдік — жақсының жауы»: Вольтердің «Оның жазбаларында италиялық данышпан / Жақсының жауы — кемелдік дейді» деген жолдары оның «La Bégueule» поэмасының басында кездеседі. Бұған дейін Вольтер 1764 жылғы «Философиялық сөздігінде» итальяндық «Le meglio è l’inimico del bene» нақылын келтірген болатын.
Олардың ойлары да релаксацияға (босаңсуға) ауады: Шоу, «Релаксация әдістеріне кіріспе»; Хендерсон, «Дискретті релаксация әдістері». Caveat lector (оқырманға ескерту): математикасы соншалықты күрделі болғандықтан, бұл оқулықтарды «босаңсытатын» оқу деп айту қиын.
Линкольнның сот аймағы үшін: Линкольнның сот аймағындағы қалалар «Авраам Линкольн қауымдастығының журналындағы» 8-ші сот аймағының 1847–1853 жылдардағы картасынан алынған. Қараңыз: http://quod. lib. umich. edu/j/jala/images/fraker_fig01a. jpg.
Іс жүзінде мүлдем уақыт кетпейді: Жақсы, сәл ғана уақыт — егер жолыңыз болса, қалалар санына қарай сызықтық, болмаса линеаритмдік (уақыт пен жад көлемі n*log(n) қатынасында өсетін алгоритм). Петти және Рамачандран, «Оңтайлы ең кіші жайылма ағаш алгоритмі».
Ең кіші жайылма ағаш, оның еркін кері қайту мүмкіндігімен: Саяхатшы саудагер есебіне ең кіші жайылма ағаш арқылы келу Кристофидестің «Жаңа эвристиканың ең нашар жағдайын талдау» еңбегінде талқыланады.
Жер бетіндегі әрбір қалаға барады: Дүние жүзіндегі барлық қалаларды қамтитын саяхатшы саудагер есебінің (солай аталатын «World TSP») жағдайы туралы жаңартылған есепті http://www. math. uwaterloo. ca/tsp/world/ сайтынан табуға болады. Жалпы саяхатшы саудагер есебі туралы көбірек білу үшін Куктың «Саяхатшы саудагердің ізімен» еңбегі жақсы анықтамалық болып табылады, ал тереңірек білгісі келетіндер үшін Лоулер және басқалардың «Саяхатшы саудагер есебі» кітабы қолайлы.
Орындардың минималды жиынтығын табу: Бұл классикалық дискретті оңтайландыру есебі <span data-term="true">«жиынтықты жабу»</span> есебі ретінде белгілі.
«Осының жартысын да істей алмасаң»: Лаура Альберт Маклей, жеке сұхбат, 16 қыркүйек, 2014 ж.
Ең аз конверт жалауға мүмкіндік береді: Компьютерлік ғылымда бұл «төбелерді жабу» есебі ретінде белгілі. Бұл жиынтықты жабу есебінің туысы іспеттес, мұнда барлығын қамтитын өрт сөндіру станцияларының ең аз санын іздеудің орнына, барлық қалған адамдармен байланысқан адамдардың ең аз санын табу мақсаты тұрады.
Бұл есептердің үздіксіз нұсқаларын шешу: Көпмүшелік уақытта шешілетін үздіксіз оңтайландыру есептерінің кейбір түрлері бар; ең көрнекті мысалы — сызықтық бағдарламалау (математикалық модельді оңтайландыру әдісі) есептері, мұнда оңтайландырылатын көрсеткіш те, шешімдегі шектеулер де айнымалылардың сызықтық функциясы ретінде көрсетілуі мүмкін. Хачиянның «Сызықтық бағдарламалаудағы көпмүшелік алгоритмдер» және Кармаркардың «Сызықтық бағдарламалауға арналған жаңа көпмүшелік уақыт алгоритмі» еңбектерін қараңыз. Дегенмен, үздіксіз оңтайландыру барлық мәселенің емі емес: үздіксіз оңтайландыру есептерінің де шешілмейтін кластары бар. Мысалы, Пардалос пен Шнитгердің «Шектеулі квадраттық бағдарламалауда жергілікті оңтайлылықты тексеру NP-қиын» еңбегін қараңыз.
Ең көп дегенде екі есе көп шақыру қағазы: Хот және Регев, «Төбелерді жабуды 2-ε дәлдігімен жуықтау қиын болуы мүмкін».
Бізді жайлы шекке тез жеткізеді: Бұл жуықтаулар туралы көбірек білу үшін Вазиранидің «Жуықтау алгоритмдері» еңбегін қараңыз.
Сиқырлы таяқша емес: Үздіксіз релаксацияның ең кіші төбелерді жабу (тойға шақыру) есебі үшін ең жақсы жуықтауды ұсынатыны немесе одан да жақсырақ жуықтауларды табуға болатын-болмайтыны әлі де ашық сұрақ болып қала береді.
«Ақылға сыймайды! »: «Ханшайым келіншек» (The Princess Bride), сценарий авторы Уильям Голдман; 20th Century Fox, 1987.
Лагранж релаксациясы деп аталатын есептеу техникасы: Лагранж релаксациясына (бастапқыда «Lagrangean» деп жазылған) оның атауын UCLA профессоры Артур М. Жеффрион берген. Идеяның өзі 1970 жылы Майкл Хелд (IBM) мен Ричард Карптың (Беркли университеті) саяхатшы саудагер есебі бойынша жұмысында пайда болды деп есептеледі. Дегенмен, бұған дейінгі алғышарттар да бар — мысалы, Лори мен Сэвиджтің «Капиталды нормалаудағы үш мәселе», Эверетт III-тің «Жалпыланған Лагранж мультипликаторы әдісі». Шолу мен пайымдаулар үшін Фишердің «Бүтін сандық бағдарламалау есептерін шешуге арналған Лагранж релаксациясы әдісін», сондай-ақ Жеффрионның «Бүтін сандық бағдарламалауға арналған Лагранж релаксациясын» қараңыз.
«Егер сіз бөлшек ойындармен аяқтасаңыз»: Майкл Трик, жеке сұхбат, 26 қараша, 2013 ж.
«Ойдан шығарылған нәрсе шындықпен ешқашан үйлеспейді»: Кристофер Букер, «Жел энергиясы немесе Еуропалық Одақ сияқты ұлы қиялдар шындықпен соқтығысқанда не болады? », Telegraph, 9 сәуір, 2011 ж.
«Неге және қалай екені мүлдем жұмбақ»: Шаша мен Рабиннің «Майкл Рабинмен сұхбат» еңбегінен үзінді.
Кездейсоқтандырылған алгоритм қолданады: <span data-term="true">Кездейсоқтандырылған алгоритмдер</span> (жұмыс барысында кездейсоқ сандарды пайдаланатын алгоритмдер) Мотвани мен Рагхаванның «Кездейсоқтандырылған алгоритмдер» және Митценмахер мен Упфалдың «Ықтималдық және есептеу» еңбектерінде егжей-тегжейлі талқыланады.
Қызықты ықтималдық талдауы: Бюффон, «Essai d’arithmétique morale».
Қағазға инелерді тастау арқылы: Лаплас, «Ықтималдықтардың аналитикалық теориясы».
Лаззарини 3408 рет ине тастаған көрінеді: Лаззарини, «Un’applicazione del calcolo della probabilità».
Лаззаринидің есебін күмәнді етеді: Лаззарини нәтижелерін одан әрі талқылау үшін Гриджманның «Геометриялық ықтималдық және π саны» және Баджердің «Лаззаринидің π-ді бақытты жуықтауы» еңбектерін қараңыз.
Ол энцефалитпен ауырып қалған еді: Уламның оқиғасы оның «Математиктің шытырман оқиғалары» кітабында жазылған.
«Бірінші дәрежелі интеллекттің сынағы»: Фитцджеральд, «The Crack-Up».
«Бұл әлдеқайда практикалық болуы мүмкін»: Улам, «Математиктің шытырман оқиғалары», 196–197 беттер. Клондайк пасьянсының ұту ықтималдығын есептеу бүгінгі күнге дейін Монте-Карло симуляциясы (кездейсоқ таңдау арқылы нәтижелерді модельдеу) арқылы жүргізілетін зерттеулердің белсенді саласы болып қала береді.
Метрополис бұл тәсілді былай атады: Метрополис бұл атауға құқығын Хердтің «Ертедегі Монте-Карло есептеулері туралы ескертпесінде» жарияланған хатында мәлімдейді.
Раббилердің ұзақ әулетінен шыққан: Шаша мен Лазере, «Ақыл-ойынан тыс».
Ол жүре алатын бірнеше жол: Рабиннің Дана Скоттпен бірлесіп жазған негізгі еңбегі «Шекті автоматтар және олардың шешім қабылдау мәселелері» болды. Біз бұл тұжырымдаманың теориялық компьютерлік ғылымда қаншалықты орталық орын алатынын 8-тарауда саяхатшы саудагер есебінің күрделілік класын талқылағанда көрдік; Рабиннің «бейдетерминистік» есептеу түсінігі — NP-дегі «N» әрпі.
«Ең пайдасыз салалардың бірі»: Дәйексөз Хардидің «Жай сандар» еңбегінен алынған. Жай сандардың криптографиядағы (ақпаратты шифрлау өнері) рөлі туралы көбірек білу үшін Шнайердің «Қолданбалы криптографиясын» қараңыз.
Қазіргі заманғы шифрлауда, мысалы: Жай сандарды көбейтуге негізделген кеңінен қолданылатын алгоритмдердің бірі — RSA (өнеп тапқыштардың есімімен аталған: Рон Ривест, Ади Шамир және Леонард Адлеман). Басқа криптографиялық жүйелер, мысалы, Диффи-Хеллман да жай сандарды қолданады.
Мәселе — жалған оң нәтижелерде: Миллер тәсіліндегі серпіліс осы жалған оң нәтижелердің қаншалықты оңай жойылатынына байланысты болады. Берілген n санына сенімді болу үшін x-тің қанша мәнін тексеру керек? Миллер егер «жалпыланған Риман гипотезасы» шын болса, тексерілуі керек куәгерлердің минималды саны О((log n)^2) болатынын көрсетті — бұл Эратосфен елегі сияқты алгоритмдер талап ететін саннан әлдеқайда аз.

Бірақ бұл жерде бір кедергі бар: жалпыланған Риман гипотезасы әлі күнге дейін дәлелденбеген.
(1859 жылы неміс математигі Бернхард Риман ұсынған Риман гипотезасы Риман дзета-функциясы деп аталатын күрделі математикалық функцияның қасиеттеріне қатысты. Бұл функция жай сандардың таралуымен тығыз байланысты. Егер гипотеза дұрыс болса, онда жай сандар Миллер алгоритмінің тиімділігіне кепілдік беретіндей дәрежеде «тәртіпті» болады. Бірақ оның дұрыстығын ешкім білмейді. Шын мәнінде, Риман гипотезасы — Клэй математикалық институты шешімі үшін 1 миллион доллар «Мыңжылдық сыйлығын» тағайындаған математикадағы алты негізгі ашық мәселенің бірі).
«Майкл, бұл Воган»: Рабин бұл оқиғаны Шаша мен Лазеренің «Ақыл-ойынан тыс» еңбегінде айтып береді.
Тіпті алып жай сандарды да тез анықтайды: Рабиннің жайлықты тексеру туралы «Жайлықты тексеруге арналған ықтималдық алгоритмі» атты еңбегі бірнеше жылдан кейін жарық көрді. Сонымен қатар, Роберт Соловай мен Фолькер Штрассен жай сандар бағынуы тиіс басқа теңдеулер жиынтығына негізделген ұқсас ықтималдық алгоритмін жасап шығарды.
Миллион миллиард миллиардтан бірден аз: OpenSSL құжаттамасы кездейсоқ кіріс үшін ең көп дегенде 2^-80 жалған оң нәтиже беретін Миллер-Рабин ықтималдық тестін орындау функциясын көрсетеді. Сол сияқты, АҚШ-тың Федералдық ақпаратты өңдеу стандарты (FIPS) өзінің Сандық қолтаңба стандарты (DSS) 2^-80 қателік ықтималдығын қабылдайтынын көрсетеді.
Құм түйіршіктерінің саны үшін: Жер бетіндегі құм түйіршіктерінің саны әртүрлі дереккөздер бойынша 10^18 бен 10^24 арасында деп бағаланады.
Тиімді алгоритмнің болу-болмауы: Мұнда «тиімді» деп біз 8-тарауда талқыланған «көпмүшелік уақытты» айтамыз.
Сондай әдістердің бірі табылды: Агравал, Кайал және Саксена, «PRIMES Is in P».
Бірнеше кездейсоқ x-терді жасап, оларды қойып көру: Көпмүшелік теңбе-теңдікті тексерудегі кездейсоқтықтың рөлі туралы негізгі нәтижелердің бірі — «Шварц-Зиппель леммасы» деп аталады.
Бізде бар жалғыз практикалық әдіс: Көпмүшелік теңбе-теңдікті тексеру үшін тиімді детерминистік (әрқашан бірдей нәтиже беретін нақты алгоритм) алгоритм табыла ма? Жалпы алғанда, біз жақсы кездейсоқтандырылған алгоритм тапқан кез келген жерде тиімді детерминистік алгоритм болуы керек пе? Теориялық компьютерлік ғылымда бұл қызықты мәселе және оның жауабы әлі белгісіз.
Кездейсоқтандырылған және детерминистік алгоритмдер арасындағы байланысты зерттеу үшін қолданылатын тәсілдердің бірі дерендомизация (алгоритмнен кездейсоқтықты алып тастау) деп аталады. Іс жүзінде компьютер үшін нағыз кездейсоқтыққа қол жеткізу қиын, сондықтан кездейсоқтандырылған алгоритмді іске асырғанда, адамдар көбінесе нағыз кездейсоқтықтың статистикалық қасиеттеріне бағынатын сандарды жасау үшін детерминистік процедураны қолданады.
Дерендомизацияны зерттеу тиімді кездейсоқтандырылған алгоритмдерді тиімді детерминистік алгоритмдерге айналдыруға болатынын көрсетеді — егер сіз шығысы кездейсоқ болып көрінетіндей күрделі, бірақ тиімді есептелетіндей қарапайым функцияны таба алсаңыз. Толығырақ мәліметтер үшін Импаглиаззо мен Вигдерсонның еңбектерін қараңыз.
Ол оны «бейхабарлық пердесі» деп атады: <span data-term="true">Бейхабарлық пердесі</span> (қоғамдағы өз орныңды білмей тұрып әділеттілік туралы шешім қабылдау концепциясы) Роулздың «Әділеттілік теориясы» еңбегінде ұсынылған.
Роулздың философиялық сыншылары: Роулздың сыншыларының ішіндегі ең көрнектісі экономист Джон Харсани болды; Харсанидің «Максимин принципі моральдың негізі бола ала ма? Джон Роулз теориясына сын» еңбегін қараңыз.
Омелас өркениеті: Ле Гуин, "The Ones Who Walk Away from Omelas".
"Жиіркенішті қорытынды" (repugnant conclusion) деп аталатын ұғым туралы толығырақ Парфиттің "Reasons and Persons" еңбегінен, сондай-ақ, мысалы, Аррениустың "An Impossibility Theorem in Population Axiology" мақаласынан қараңыз.
"философтардан гөрі инженерлердің мәселесі": Ааронсон, "Why Philosophers Should Care About Computational Complexity".
"сіз жиі көре бермейтін нәрсені байқады": Ребекка Ланж, "Why So Few Stories? ", GiveDirectly блогы, 12 қараша, 2014 жыл, https://www. givedirectly. org/blog-post. html? id=2288694352161893466.
"Менің айтқым келгені — <span data-term="true">Негативті қабілет</span> (анықталмағандық пен күмән жағдайында ақиқатқа ұмтылмай-ақ тыныштық сақтау қабілеті)": Джон Китс, Джордж бен Томас Китске хат, 21 желтоқсан, 1817 жыл.
"адам өмірінің мақсаттары үшін жеткілікті сенім": Джон Стюарт Милль, "Бостандық туралы" (1859).
"ішімдік ішу ойыны болуы керек": Майкл Митценмахер, жеке сұхбат. 22 қараша, 2013 жыл.
триллионнан астам түрлі URL мекенжайлары: "We Knew the Web Was Big... " 25 шілде, 2008 жыл, http://googleblog. blogspot. com/2008/07/we-knew-web-was-big. html.
ұзындығы шамамен жетпіс жеті таңбаны құрайды: Кельвин Тан, "Average Length of a URL (Part 2)", 16 амыз, 2010 жыл, http://www. supermind. org/blog/740/average-length-of-a-url-part-2.
URL мекенжайы теңдеулер жиынтығына енгізіледі: Блум, "Space/Time Trade-offs in Hash Coding with Allowable Errors".
жақында шыққан бірқатар веб-браузерлермен бірге жеткізілді: Google Chrome кем дегенде 2012 жылға дейін Блум сүзгісін (жиынтықта элементтің бар-жоғын тексеретін ықтималдық деректер құрылымы) қолданды: қараңыз http://blog. alexyakunin. com/2010/03/nice-bloom-filter-application. html және https://chromiumcodereview. appspot. com/10896048/.
Биткоин сияқты криптовалюталардың бөлігі: Гэвин Андресен, "Core Development Status Report #1", 1 қараша, 2012 жыл, https://bitcoinfoundation. org/2012/11/core-development-status-report-1/.
"Өзен ирелеңдейді": Ричард Кенни, "Hydrology; Lachrymation", "The One-Strand River: Poems, 1994–2007" (Нью-Йорк: Кнопф, 2008) жинағында.
бұл тәсілді кодтардың шешімін табу кезінде қолданыңыз: қараңыз Берг-Киркпатрик пен Клейн, "Decipherment with a Million Random Restarts".
Метрополис алгоритмі (күрделі жүйелердің күйін модельдеуге арналған кездейсоқ таңдау әдісі) деп аталады: Кейде Метрополис-Гастингс алгоритмі деп те аталатын бұл әдіс Метрополис және т. б. , "Equation of State Calculations by Fast Computing Machines" және Гастингс, "Monte Carlo Methods Using Markov Chains and Their Applications" еңбектерінде сипатталған. Метрополис алгоритмін 1950-жылдары Николас Метрополис пен Маршалл және Арианна Розенблют, Эдвард және Августа Теллер есімді екі ерлі-зайыпты топ жасап шығарды. Метрополис алгоритмді сипаттайтын мақаланың бірінші авторы болды, сондықтан бүгінде ол Метрополис алгоритмі ретінде белгілі — бұл екі есе ирония. Бір жағынан, Метрополис алгоритмді жасауға аз үлес қосқан көрінеді, ол есептеу зертханасының басшысы ретінде сыпайылық үшін автор ретінде тізілген (қараңыз Rosenbluth, Marshall Rosenbluth, Interviewed by Kai-Henrik Barth). Оның үстіне, Метрополис заттарға көрнекі атаулар бергенді ұнататын: ол технеций және астатин химиялық элементтеріне, сондай-ақ MANIAC компьютеріне және Монте-Карло әдісінің өзіне де атау бергенін айтқан (Hurd, "Note on Early Monte Carlo Computations").
"Балқымадан жалғыз кристалды өсіру": Киркпатрик, Гелатт және Векки, "<span data-term="true">Имитациялық күйдіру</span> (металды қыздырып, баяу суыту арқылы оңтайлы күйге келтіруге ұқсас алгоритм) арқылы оңтайландыру".
"IBM-дегі ең мықты адам": Скотт Киркпатрик, жеке сұхбат, 2 қыркүйек, 2014 жыл.
Соңында біз тек жоғары қарай жүре бастаймыз: Егер бұл идея — бастапқыда нұсқалар арасында еркін қозғалуға дайын болып, кейін жақсы нұсқаларға көбірек көңіл бөлу — таныс болып көрінсе, ол солай болуы тиіс: күрделі функцияны оңтайландыру зерттеу/пайдалану (explore/exploit) таңдауымен бетпе-бет келуді талап етеді. Ал кездейсоқтық "көпқолды қарақшылар" сияқты мәселелерді, сондай-ақ Киркпатрик айналысқан оңтайландыру мәселелерін шешудің жақсы стратегияларының көзі болып шықты.
Егер есіңізде болса, көпқолды қарақшы (нәтижесі белгісіз бірнеше нұсқаның ішінен ең тиімдісін таңдау мәселесі) бізге әртүрлі, белгісіз табыс әкелетін бірнеше таңдауды — тартуға болатын тұтқаларды ұсынады. Мұндағы басты міндет — жаңа нұсқаларды сынап көру (зерттеу — exploring) мен осы уақытқа дейін табылған ең жақсы нұсқаны таңдау (пайдалану — exploiting) арасындағы тепе-теңдікті табу. Бастапқыда оптимистік көзқараспен көбірек зерттеу жүргізу тиімдірек, ал кейінірек талғампаз болып, табылған мүмкіндікті көбірек пайдалану керек. Балама нұсқаларға деген оптимизмді біртіндеп азайту стратегиясын ұстану сіз үміт күтетін ең жақсы нәтижеге — "өкініштерді" (regrets) азаю қарқынымен жинақтауға мүмкіндік береді, мұнда сіздің жалпы өкінішіңіз уақыттың логарифмдік функциясы ретінде өседі.
Кездейсоқтық оптимизмге балама стратегия ұсынады. Интуитивті түрде айтсақ, егер мәселе зерттеу мен пайдалану арасындағы тепе-теңдікті сақтау болса, неге мұны ашық түрде жасамасқа? Уақытыңыздың бір бөлігін зерттеуге, ал бір бөлігін пайдалануға жұмсаңыз. Көпқолды қарақшылар бойынша мамандар бұл стратегияны дәл осылай Эпсилон-ашкөз (Epsilon Greedy — уақыттың аз бөлігінде кездейсоқ таңдап, қалған уақытта ең жақсысын алу) деп атайды.
Эпсилон-ашкөз стратегиясы екі бөліктен тұрады — Эпсилон және Ашкөз. Эпсилон бөлігі — бұл уақыттың аз ғана бөлігінде (математиктер эпсилон әрпін шағын санды белгілеу үшін қолданады) сіз өз нұсқаларыңыздың ішінен кездейсоқ таңдайсыз. Ашкөз бөлігі — қалған уақытта сіз осы уақытқа дейін тапқан ең жақсы нұсқаны аласыз. Мәселен, мейрамханаға кіріп, жаңа нәрсені байқап көруді шешу үшін тиын тастаңыз (немесе эпсилон мәніне байланысты ойын сүйегін домалатыңыз). Егер ол "иә" десе, көзіңізді жұмып, мәзірден бір тағамды нұсқаңыз. Егер жоқ болса, сүйікті тағамыңыздың дәмін татыңыз.
Өкінішке орай, көпқолды қарақшыларды зерттеушілер Эпсилон-ашкөз стратегиясын аса ұната бермейді. Бұл тиімсіз болып көрінеді — тіпті ең жақсы нұсқа тез анықталса да, сіз уақытыңыздың белгілі бір бөлігін жаңа нәрселерді сынауға жұмсауға мәжбүрсіз. Егер сіз Эпсилон-ашкөз стратегиясын ұстансаңыз, онда сіздің өкінішіңіз ойын санына пропорционалды түрде артады. Әр жолы тамақтанғанда, ең жақсысынан басқа нәрсені таңдау мүмкіндігі болады, сондықтан сіздің орташа өкінішіңіз әр уақытта бірдей мөлшерде өсіп отырады. Бұл сызықтық өсім тиісті деңгейдегі оптимизмге негізделген детерминистік алгоритмдер кепілдік беретін логарифмдік өкініштен әлдеқайда нашар.
Бірақ Эпсилон-ашкөз стратегиясының қарапайымдылығы тартымды болса, жақсы жаңалық бар. Бұл алгоритмнің біз N-ге бөлінген Эпсилон-ашкөз (Epsilon-Over-N Greedy) деп атайтын қарапайым нұсқасы бар, ол логарифмдік өкінішке кепілдік береді және іс жүзінде жақсы нәтиже көрсетеді (қараңыз Auer, Cesa-Bianchi, and Fischer, "Finite-Time Analysis of the Multiarmed Bandit Problem"). Құпиясы — уақыт өте келе жаңа нәрсені сынап көру мүмкіндігін азайтуда. Бірінші рет таңдау жасағанда, сіз кездейсоқ таңдауды 1/1 ықтималдықпен (яғни әрқашан) жасайсыз. Егер сол нұсқа жақсы болса, екінші рет кездейсоқ таңдауды 1/2 ықтималдықпен жасайсыз (тиын тастаңыз: "бүр" жағы түссе сол нұсқаны қалдырасыз, "шігер" жағы түссе жаңасын көресіз). Үшінші рет барғанда, ең жақсысын 2/3 ықтималдықпен таңдап, жаңасын 1/3 ықтималдықпен көруіңіз керек. Мейрамханаға N-ші рет барғанда, сіз 1/N ықтималдықпен кездейсоқ таңдау жасайсыз, әйтпесе осы уақытқа дейін табылған ең жақсы нұсқаны аласыз. Жаңа нәрсені сынау ықтималдығын біртіндеп азайту арқылы сіз зерттеу мен пайдалану арасындағы ең тиімді нүктені табасыз.
Көпқолды қарақшы мәселесін шешуге арналған кездейсоқтықты қолданатын тағы бір күрделірек алгоритм бар. Ол Томпсон таңдамасы (Thompson Sampling — таңдау жасау кезінде ықтималдықтарды қолдану) деп аталады, оны 1933 жылы екі түрлі емдеу әдісінің қайсысын таңдау керектігі туралы мәселені алғаш рет көтерген Йель дәрігері Уильям Р. Томпсонның құрметіне атаған (Thompson, "On the Likelihood That One Unknown Probability Exceeds Another"). Томпсонның шешімі қарапайым болды: Байес ережесін қолдана отырып, әрбір емдеу әдісінің ең жақсы болу ықтималдығын есептеңіз. Содан кейін сол емдеу әдісін дәл сол ықтималдықпен таңдаңыз. Бастапқыда сіз ештеңе білмейсіз, сондықтан кез келген әдісті таңдау ықтималдығы бірдей. Деректер жинақталған сайын сіз бір әдіске көбірек бейімделе бастайсыз, бірақ кейде бәрібір ұнамайтын әдісті таңдап, ойыңызды өзгертуге мүмкіндік аласыз. Бір емдеу әдісіның жақсы екеніне сеніміңіз артқан сайын, сіз әрдайым дерлік сол әдісті қолданатын боласыз. Томпсон таңдамасы зерттеу мен пайдалануды шебер теңестіреді, сонымен қатар өкініштің тек логарифмдік түрде артуына кепілдік береді (қараңыз Agrawal and Goyal, "Analysis of Thompson Sampling").
Томпсон таңдамасының көпқолды қарақшы мәселелерін шешуге арналған басқа алгоритмдерден артықшылығы — оның икемділігінде. Тіпті мәселенің шарттары өзгерсе де — егер сізде бір нұсқаның басқалардан жақсы екенін көрсететін ақпаратыңыз болса, нұсқалар бір-біріне тәуелді болса немесе уақыт өте келе өзгерсе де — Томпсонның қазіргі қолжетімді ең жақсы нұсқаны таңдау ықтималдығына негізделген стратегиясы бәрібір жұмыс істейді. Сондықтан әр жағдай үшін жаңа алгоритм шығарудың орнына, біз жай ғына Байес ережесін қолданып, нәтижелерін пайдалана аламыз. Шын өмірде бұл Байестік есептеулер (ықтималдықтарды жаңа деректер негізінде жаңарту) қиын болуы мүмкін (Томпсонның өзіне небәрі екі нұсқасы бар мәселені шешу үшін күрделі математиканың бірнеше бетін жазуға тура келді). Бірақ ең жақсы нұсқаны таңдауға тырысу және таңдауларыңызға сенімділік деңгейіңізбен реттелетін белгілі бір кездейсоқтық мөлшерін қосу — сізді адастырмайтын алгоритм.
отыз еке мың реттен астам сілтеме жасалған: Жасанды интеллект бойынша негізгі оқулық — "Artificial Intelligence: A Modern Approach" — имитациялық күйдірудің "қазіргі таңда жыл сайын жүздеген мақалалар жарияланатын жеке салаға" айналғанын мәлімдейді (155-бет).
оңтайландырудың ең перспективалы тәсілдерінің бірі: Бір қызығы, 2014 жылғы мақала медузалардың қорек іздеу кезінде имитациялық күйдіру әдісін қолданатынын дәлелдейтін сияқты; қараңыз Reynolds, "Signatures of Active and Passive Optimized Lévy Searching in Jellyfish".
"Өзім құмар ойыншы емеспін": Лурия, "A Slot Machine, a Broken Test Tube", 75-бет. Сондай-ақ Гарфилдтің "Recognizing the Role of Chance" еңбегінде талқыланған.
<span data-term="true">"серендипити"</span> (кездейсоқ жасалған құнды жаңалық) терминін енгізді: Хорас Уолполдың Хорас Маннға жазған хатында (28 қаңтар, 1754 жыл).
"Таңқаларлық параллель": Джеймс, "Great Men, Great Thoughts, and the Environment".
"Соқыр вариация және селективті сақтау процесі": Кэмпбелл, "Blind Variation and Selective Retention".
"Ньютон, Моцарт, Ричард Вагнер және басқалары": Жоғарыда аталған еңбекте келтірілген үзінді.
"сізді шеңберден шығарып тастау жолдары": Брайан Ино, Джулс Холландқа берген сұхбатында, "Later ... with Jools Holland" бағдарламасында, мамыр, 2001 жыл.
"түсініксіз және тұрақты тілек": Сөз — <span data-term="true">saudade</span> (жоғалған немесе қолжетпес нәрсені аңсау сезімі), ал келтірілген анықтама Беллдің "In Portugal" еңбегінен алынған.
"оны бұдан әрі сілкілеу ақымақтық": Тим Адамс, "Dicing with Life", Guardian, 26 тамыз, 2000 жыл.
"байланыстың көптеген мағыналары бар": Серф пен Кан, "A Protocol for Packet Network Intercommunication".
"Тек байланысу": Форстер, "Howards End".
"қолға ұстайтын, портативті, нағыз ұялы телефон": Мартин Купер, "Ұялы телефонды ойлап тапқан адам: Бір күні әркімде осындай болатынын білдік", Тас Анджарваллаға берген сұхбатында, CNN, 9 шілде, 2010 жыл.
Хабарлама "login" болуы керек еді — немесе болар еді: Леонард Клейнрок бұл оқиғаны 2014 жылғы бейне-сұхбатта айтып береді, Чарльз Северенс жүргізген және оны "Len Kleinrock: The First Two Packets on the Internet" сайтынан көруге болады, https://www. youtube. com/watch? v=uY7dUJT7OsU.
ол еріксіз Көне өсиеттегідей салтанатты естілді: Лос-Анджелестегі Калифорния университетінің (UCLA) қызметкері Леонард Клейнрок былай дейді: "Біз мұны жоспарламадық, бірақ бұдан артық хабарлама ойлап табу мүмкін емес еді: қысқа әрі көрегендік". UCLA-дағы Боелтер залының еденіндегі тақташалар, егер олардың түстері екілік 0-дер мен 1-дер ретінде түсіндіріліп, ASCII таңбалары ретінде оқылса, "LO AND BEHOLD! " (Міне, қараңыз! ) деген сөзді құрайды. Бұл құрмет сәулетші Эрик Хагенге тиесілі. Қараңыз, мысалы, Элисон Хьюитт, "Discover the Coded Message Hidden in Campus Floor Tiles", UCLA Newsroom, 3 шілде, 2013 жыл, http://newsroom. ucla. edu/stories/a-coded-message-hidden-in-floor-247232.
гректің protokollon сөзінен бастау алады: Қараңыз, мысалы, "Online Etymology Dictionary", http://www. etymonline. com/index. php? term=protocol.
"Олар атылады! Сосын тынышталады": Леонард Клейнрок, "Computing Conversations: Len Kleinrock on the Theory of Packets", Чарльз Северенспен сұхбат (2013). Қараңыз https://www. youtube. com/watch? v=qsgrtrwydjw сонымен қатар http://www. computer. org/csdl/mags/co/2013/08/mco2013080006. html.
"нағыз бидғат": Джекобсон, "A New Way to Look at Networking".
"Сонымен, кішкентай бала кетіп қалды": Клейнрок, "Computing Conversations".
кейінірек пакеттерді ауыстырып қосу (packet switching — деректерді кішкене блоктарға бөліп жіберу әдісі) ретінде белгілі болды: "Пакеттерді ауыстырып қосу" термині Ұлттық физикалық зертханадан Дональд У. Дэвиске тиесілі, ол сол кездегі пакеттерді ауыстырып қосуды зерттеуге маңызды үлес қосқан тағы бір адам.
"екі соңғы нүктенің арасындағы келісілген елес": Стюарт Чешир, жеке сұхбат, 26 ақпан, 2015 жыл.
байланыс ядролық шабуылдан аман қалуы мүмкін еді: Бэран, "On Distributed Communications".
дамып келе жатқан желі артықшылыққа айналады: Осы мәселеге толығырақ тоқталу және желілердің тарихына (оның ішіндегі қазіргі мәселелерге) кеңірек қарау үшін Джекобсонның "A New Way to Look at Networking" еңбегін қараңыз.
"Құс тасымалдаушылар" арқылы пакеттерді ауыстырып қосу желісі: Құс протоколының сипаттамаларын Уэйтцманның "A Standard for the Transmission of IP Datagrams on Avian Carriers", Уэйтцманның "IP Over Avian Carriers with Quality of Service" және Карпентер мен Хинденнің "Adaptation of RFC 1149 for IPv6" еңбегінен қараңыз, ал 2001 жылдың 28 сәуірінде Норвегияның Берген қаласында жасалған нақты іске асырудың егжей-тегжейлерін http://www. blug. linux. no/rfc1149 сайтынан көріңіз.
"Ешқандай тасымалдау 100 пайыз сенімді бола алмайды": Серф пен Кан, "A Protocol for Packet Network Intercommunication".
<span data-term="true">"Византия генералдарын мәселесі"</span> (бүлінген немесе жалған ақпарат беретін түйіндері бар жүйеде ортақ келісімге келу қиындығы): Лэмпорт, Шостак және Пис, "The Byzantine Generals Problem".
тізбектің қалпына келтірілгені туралы сигнал: Мұнда сипатталған процесс <span data-term="true">"жылдам қайта жіберу"</span> (fast retransmit — пакет жоғалса, күтпей-ақ дереу қайта сұрау) ретінде белгілі.
шығыс Интернет трафигінің шамамен 10%-ы: Джон Бродкин, "Netflix Солтүстік Америка Интернетіндегі шығыс трафиктің 9,5%-ын алады: ACK пакеттері Netflix-ті ең көп көретін сағаттарда жүктеу құбыжығына айналдырады", Ars Technica, 20 қараша, 2014 жыл. Бродкин өз кезегінде Sandvine-нің "Global Internet Phenomena Report" деректеріне сілтеме жасайды, https://www. sandvine. com/trends/global-internet-phenomena/.
"Қабылдағыш істен шықты ма? Олар жай ғана баяу ма? ": Тайлер Трит, "Дәл бір рет жеткізу мүмкін емес", Brave New Geek: Программалық қамтамасыз ету инженерінің ой толғауы, 25 наурыз, 2015 жыл, http://bravenewgeek. com/you-cannot-have-exactly-once-delivery/.
"қалпына келтіру үшін соңғы нүктелер арасындағы қайта жіберулер": Винт Серф, Чарльз Северенспен сұхбат, "Computing Conversations: Vint Cerf on the History of Packets", 2012 жыл.
"сіз жай ғана 'оны тағы бір рет айтыңызшы' дейсіз": Жоғарыда аталған дереккөз.
"Әлемдегі аударуға ең қиын сөз": Оливер Конвей, "Congo Word 'Most Untranslatable'", BBC News, 22 маусым, 2004 жыл.
"Егер басында қолыңнан келмесе": Томас Х. Палмер, "Teacher’s Manual" (1840), "The Oxford Dictionary of Proverbs" сөздігінде расталған, 2009 жыл.
университеттегі жеті кампусты бір-бірімен байланыстыруға тырысу: Абрамсон, "The ALOHA System".
орташа пайдалану деңгейі небәрі 18,6%-дан жоғары: Жоғарыда аталған дереккөз. Шын мәнінде, бұл көрсеткіш 1⁄2e құрайды, бұл 1-тараудағы оңтайлы тоқтау туралы талқылауда берілген n⁄e немесе "37%" көрсеткішінің жартысына тең.
"тек бір ғана схеманың жұмыс істеуіне үміт бар": Джекобсон, "Congestion Avoidance and Control".
HOPE деп аталатын пилоттық бағдарлама: HOPE бағдарламасы Хокен мен Клейманның "Managing Drug Involved Probationers" еңбегінде бағаланған.
"өзгертуге тырысудың қандай ақылға сыйымсыз жолы": Қосымша ақпарат алу үшін қараңыз, мысалы, "Гавайидегі жаңа сынақ мерзімі бағдарламасы статистиканы жеңді", PBS NewsHour, 2 ақпан, 2014 жыл.
"бұл мың еселік кенеттен төмендеу": Джекобсон, "Congestion Avoidance and Control".
"содан кейін ол кенеттен бұзылды": Джекобсон, "Van Jacobson: The Slow-Start Algorithm", Чарльз Северенспен сұхбат (2012), https://www. youtube. com/watch? v=QP4A6L7CEqA.
тасымалдау жылдамдығын қарқынды түрде арттыру: Бұл бастапқы процедура — алдымен сынақ ретіндегі жалғыз пакет, содан кейін "біреуге екеу" үдеуі — TCP-де Баяу іске қосу (Slow Start — желіні жүктемес үшін деректерді алдымен аз мөлшерде жіберу әдісі) ретінде белгілі. Бұл атау жартылай қате: "Баяу іске қосу" тек бір ғана сынақ пакетінен басталуымен "баяу", бірақ одан кейінгі экспоненциалды өсімімен олай емес.
"иерархиясыз басқару": Қараңыз, мысалы, Гордон, "Control without Hierarchy".
құмырсқалардың шешімі де ұқсас: Құмырсқалардың қорек іздеуін "Баяу іске қосу" сияқты ағынды басқару алгоритмдерімен байланыстыратын зерттеулер Прабхакар, Дектар және Гордонның "The Regulation of Ant Colony Foraging Activity without Spatial Information" еңбегінде кездеседі.
"өз құзыретсіздік деңгейіне дейін көтерілуге бейім": Питер мен Халл, <span data-term="true">Питер принципі</span> (қызметкер өзі атқара алмайтын лауазымға дейін өсе береді деген тұжырымдама).
"Әрбір мемлекеттік қызметкердің лауазымы төмендетілуі керек": Түпнұсқа испан тілінде кеңінен таралған бұл афоризм былай оқылады: "Todos los empleados públicos deberían descender a su grado inmediato inferior, porque han sido ascendidos hasta volverse incompetentes. "
жетекші Cravath, Swaine & Moore заң фирмасы әзірлеген: Крават жүйесі (заң фирмаларындағы мансаптық өсу және оқыту моделі) фирманың жеке сайтында ресми түрде құжатталған: http://www. cravath. com/cravathsystem/. Крават жүйесінің "өс немесе кет" (up or out) компоненті онда ашық айтылмаса да, басқа жерлерде, мысалы, Америка заңгерлер қауымдастығында кеңінен сілтеме жасалады: "1920-жылдары Cravath, Swaine & Moore заң мектептерінен жас заңгерлерді олардың көбі серіктес бола алмайтынын ашық ескерте отырып қабылдаған алғашқы заң фирмасы болды. Өз класымен бірге серіктес бола алмаған заңгерлер фирмадан кетуі керек еді. Дегенмен, қажетті жұмысты атқарып, белгіленген жылдар бойы өз жолынан таймаған ең үздік заңгерлер акционер болуды, жалақының біркелкі өсуін және фирмада өмір бойы жұмыс істеуді күте алатын. " (Janet Ellen Raasch, "Making Partner—or Not: Is It In, Up or Over in the Twenty-First Century? ", Law Practice 33, issue 4, маусым 2007. )
АҚШ Қарулы Күштері қабылдады: Қараңыз, мысалы, Росткер және т. б. , "Defense Officer Personnel Management Act of 1980".
"құрамды бақылау" (manning control) деп аталатын әрекетті жүзеге асырды: Қараңыз, мысалы, Майкл Смит, "Army Corporals Forced Out ‘to Save Pension Cash’", Telegraph, 29 шілде, 2002 жыл.
барлық байланыс жазбаша мәтін сияқты болғандай: Бавелас, Коутс және Джонсонның "Listeners as Co-Narrators" еңбегінде айтылғандай, "Тыңдаушылардың көптеген теориялардағы орны өте әлсіз. Көбінесе тыңдаушылар жоқ немесе маңызды емес деп есептеледі, өйткені теория олар туралы мүлдем айтпайды немесе оларды қосалқы нәрсе ретінде қарастырады. Бұл олқылықты жазбаша мәтінді барлық тіл қолданысының прототипі ретінде жанама қолданумен түсіндіруге болады. "
"бір мезгілде сөйлеуге де, тыңдауға да қатысады": Ингве, "On Getting a Word in Edgewise".
"Сәл-пәл қауіп төнген оқиғаларды алаңғасар тыңдаушыларға айтқан әңгімешілер": Бавелас, Коутс және Джонсон, "Listeners as Co-Narrators".
сөйлеушіден тыңдаушыға ақпарат ағынын реттеу: Толинс пен Фокс Три, <span data-term="true">"Адресаттың кері арналары"</span> (backchannels — әңгіме барысында тыңдаушының "иә", "түсінікті" сияқты қысқа реакциялары) әңгіменің дамуына бағыт береді".
"'нашар әңгімешілер' бұған кем дегенде жартылай өз аудиториясын кінәлай алады": Джексон Толинс, жеке хат, 15 қаңтар, 2015 жыл.
"кезектердің себебі мен мағынасы туралы қате түсініктер": Николс пен Джекобсон, "Controlling Queue Delay".
бүгінгі күнге дейін қолданыста жүрген HTTP спецификациясы: Бұл 1999 жылдың маусымындағы RFC 2616 құжатында баяндалған HTTP 1. 1, оны http://tools. ietf. org/html/rfc2616 сайтынан табуға болады.
"Мен көшіріп немесе rsync жасап жатқан едім": Джим Геттис, <span data-term="true">"Bufferbloat"</span> (желідегі артық буферлеу салдарынан болатын кідіріс): Интернеттегі қараңғы буферлер", Google Tech Talk, 26 сәуір, 2011 жыл.
"'Эврика! ' емес, 'бұл қызық'": Бұл дәйексөз Исаак Азимовқа телініп сансыз басылымдарда жарияланған, бірақ оның нақты авторы мен шыққан тегі белгісіз болып қалуда. Ол алғаш рет Азимовқа сілтеме жасай отырып, тағдыр туралы болжамдар стиліндегі дәйексөздерді көрсететін UNIX-тің "fortune" программасының бөлігі ретінде пайда болған сияқты. Қараңыз http://quoteinvestigator. com/2015/03/02/eureka-funny/. Азимов "Эврика феномені" туралы эссе жазғанымен, бұл тіркес онда кездеспейді.
олар әдетте нөлге теңестірілген кезде: Қараңыз Николс пен Джекобсон, "Controlling Queue Delay".
оның туған штаты Калифорниядағы адамдар санынан да көп: АҚШ Халық санағы бюросының 2015 жылғы болжамы бойынша Калифорния халқының саны 39 144 818 адамды құрады. Қараңыз http://www. census. gov/popest/data/state/totals/2015/index. html.
"адамдарға хабарлама қалдырудың ешқандай жақсы жолы болмады": Рэй Томлинсон, Джесси Хикске берген сұхбатында, "Электрондық поштаны ойлап тапқан Рэй Томлинсон: 'Мен электрондық поштаның негізінен мен елестеткендей қолданылып жатқанын көремін'", Verge, 2 мамыр, 2012 жыл, http://www. theverge. com/2012/5/2/2991486/ray-tomlinson-email-inventor-interview-i-see-email-being-used-by-and-large-exactly-the-way-i-envisioned.
келіп түскен барлық хабарламаларды жай ғана қабылдамау: Мұндай тәсілдің бірін, мәселен, Шеффилд университетінің когнитивті психологы Том Стаффорд қолданды. 2015 жылғы шығармашылық демалысы (саббатикал) кезінде оның электрондық поштасына автоматты түрде мынадай жауап келген: «Мен 12 маусымға дейін саббатикалдамын. t. stafford@shef. ac. uk мекенжайына жіберілген хаттар жойылды».
Кептеліс туралы нақты хабарлама немесе ECN (Explicit Congestion Notification — желідегі деректер ағынының шамадан тыс жүктелуін алдын ала ескерту жүйесі): ECN-ге арналған RFC (Request for Comments) құжаты — бұл Рамакришнан, Флойд және Блэктің «IP-ге кептеліс туралы нақты хабарламаны (ECN) қосу» еңбегі, ол Рамакришнан мен Флойдтың «IP-ге кептеліс туралы нақты хабарламаны (ECN) қосу туралы ұсынысының» қайта қаралған нұсқасы болып табылады. Түпнұсқа ұсыныс 1990-шы жылдардан басталғанымен, ECN бүгінгі таңда стандартты желілік жабдықтарда әлі де енгізілмеген (Стюарт Чешир, жеке сұхбат, 26 ақпан, 2015 жыл).
«Бұл — ұзаққа созылатын батпақ»: Джим Геттис, жеке сұхбат, 15 шілде, 2014 жыл.
«Boeing 747 ұшағын үш есе «жылдамырақ» деп айтар ма едіңіз»: Бұл Чеширдің 1996 жылғы әйгілі «Бұл кідіріс қой, ақымағым» атты жазбасынан алынған. [LINK url=”http://stuartcheshire. org/rants/Latency. html”]http://stuartcheshire. org/rants/Latency. html[LINK] қараңыз. Жиырма жыл өтсе де, бұл пікір әлі де өзекті.
«Мен адамдардың асыл және құрметті екеніне сенемін»: Стив Джобс, Гэри Вулфқа берген сұхбаты, Wired, ақпан 1996 жыл.
адам табиғатқа қарсы: ХХІ ғасырдағы мектеп оқушылары «адам табиғатқа қарсы», «адам өзіне қарсы», «адам адамға қарсы» және «адам қоғамға қарсы» деген ұғымдарды көбірек үйренуде.
«ақылды адам уды өз тостағанына құяды»: «Ханшайым келін» (The Princess Bride), Уильям Голдманның сценарийі; 20th Century Fox, 1987 жыл.
«өзгелердің күткенін күту»: Кейнске телінеді, Грегори Бергман, Isms, Adams Media, 2006 жыл.
Тьюрингке шабыт берген тоқтау мәселесі (алгоритмнің берілген деректермен жұмысын аяқтайтынын немесе шексіз циклге түсетінін алдын ала анықтаудың мүмкін еместігі) болды: Алан Тьюринг тоқтау мәселесін қарастырып, Тьюринг машинасын «Есептелетін сандар туралы, Entscheidungsproblem-ге қолданылуымен» және «Есептелетін сандар туралы, Entscheidungsproblem-ге қолданылуымен. Түзету» еңбектерінде ұсынады.
«покер ойыншылары оны «деңгейлеу» (leveling) деп атайды»: Дан Смит, жеке сұхбат, 11 қыркүйек, 2014 жыл.
«Сенде екілік пен жетілік жоқ»: Бұл оқиға 2009 жылдың 17-19 қарашасында Лондондағы Les Ambassadeurs клубында өткен және Sky Sports арнасынан көрсетілген «Full Tilt Poker Durrrr Million Dollar Challenge» турнирінде болды.
«қарсыласыңнан тек бір деңгей жоғары ойнағың келеді»: Ванесса Руссо, «Leveling Wars», [LINK url=”https://www. youtube. com/watch? v=Yt5ALnFrwR4”]https://www. youtube. com/watch? v=Yt5ALnFrwR4[LINK].
«Нэштің не екенін білу немесе білуге тырысу»: Дан Смит, жеке сұхбат, 11 қыркүйек, 2014 жыл.
тепе-теңдік деп аталатын: Ойындар теориясындағы тепе-теңдік ұғымы — және ойындар теориясының өзі — Принстон университетінің ғалымдары Джон фон Нейман мен Оскар Моргенштерннің «Ойындар теориясы және экономикалық мінез-құлық» еңбегінен бастау алады.
Мысалы, тас-қайшы-қағаз ойынында: Тас-қайшы-қағаз (RPS) турнирлеріне, соның ішінде «Көшкін» (ТТТ), «Бюрократ» (ҚҚҚ) және «Бір уыс доллар» (ТҚҚ) сияқты түрлі үш жүрістік гамбиттердің глоссарийіне қызықты шолу жасау үшін [LINK url=”http://worldrps. com”]http://worldrps. com[LINK] сайтын ұсынамыз. Компьютерлік RPS ойыны үшін Тас-қайшы-қағаз бағдарламалау жарысын тексеріңіз: [LINK url=”http://www. rpscontest. com”]http://www. rpscontest. com[LINK].
аталмыш қол қимылдарының бірін мүлдем кездейсоқ таңдау: Осы сияқты кездейсоқтықты қамтитын стратегия «аралас» стратегия деп аталады. Баламасы — әрқашан бірдей нұсқаны таңдауды көздейтін «таза» стратегия; бұл тас-қайшы-қағаз ойынында ұзаққа бармайтыны анық. Аралас стратегиялар көптеген ойындардағы тепе-теңдіктің бөлігі ретінде көрінеді, әсіресе ойыншылардың мүдделері бір-біріне тікелей қарама-қайшы келетін «нөлдік қосындылы» ойындарда.
әрбір екі ойыншылы ойында кем дегенде бір тепе-теңдік болады: Нэш, «N-адам қатысатын ойындардағы тепе-теңдік нүктелері»; Нэш, «Кооперативтік емес ойындар».
Нэш тепе-теңдігінің әрқашан болатындығы: Дәлірек айтсақ, жоғарыда аталған еңбекте шекті ойыншылар саны мен шекті стратегиялар саны бар кез келген ойынның кем дегенде бір аралас стратегиялық <span data-term="true">Нэш тепе-теңдігі</span> (ешбір ойыншы өз стратегиясын өзгерту арқылы ұтысын арттыра алмайтын жағдай) болатыны дәлелденген.
«іргелі және жан-жақты әсер етті»: Майерсон, «Нэш тепе-теңдігі және экономикалық теория тарихы».
«компьютер маманының басты мәселесі»: Пападимитриу, «Алғысөз».
«Бізге қолдануға болатын бірдеңе беріңіздер»: Тим Рафгарден, «Алгоритмдік ойындар теориясы, 1-дәріс (Кіріспе)», күз 2013 жыл, [LINK url=”https://www. youtube. com/watch? v=TM_QFmQU_VA”]https://www. youtube. com/watch? v=TM_QFmQU_VA[LINK].
барлығы да шешілмейтін (интрактабельді) мәселелер екені дәлелденді: Гилбоа және Земель, «Нэш және корреляцияланған тепе-теңдіктер».
Нэш тепе-теңдігін табудың өзі қиын: Атап айтқанда, Нэш тепе-теңдігін табу PPAD (Полиномды бағытталған графиктердегі паритеттік дәлелдер — күрделілік класы) деп аталатын мәселелер класына жататыны көрсетілді, ол (NP сияқты) шешілуі қиын деп есептеледі. Нэш тепе-теңдігі мен PPAD арасындағы байланыс Даскалакис, Голдберг және Пападимитриудың «Нэш тепе-теңдігін есептеудің күрделілігі» және Голдберг пен Пападимитриудың «Тепе-теңдік мәселелері арасындағы келтірілу» еңбектерінде орнатылды, содан кейін Чен мен Дэннің «Екі ойыншылы Нэш тепе-теңдігінің күрделілігін шешу» еңбегінде екі ойыншылы ойындарға дейін кеңейтілді. Пападимитриу бұл мәселелер класын өзінің «Күрделілік шектелген рационалдық ретінде» атты еңбегінде атаған болатын және ол бұл атаудың өз есіміне ұқсастығы жай ғана кездейсоқтық екенін айтады. (Христос Пападимитриу, жеке сұхбат, 4 қыркүйек, 2014 жыл. )
PPAD класына «ветчинасы бар сэндвич мәселесі» сияқты басқа да қызықты мәселелер кіреді: n өлшемдегі 2n нүктеден тұратын n жиынтық берілсе, әрбір жиынтықты тең екіге бөлетін жазықтықты табыңыз. (n = 3 болғанда, бұл үш жиынтықты — мысалы, екі тілім нан мен бір тілім ветчинаны — дәл ортасынан кесетін пышақтың жолын анықтауды білдіреді. ) Нэш тепе-теңдігін табу іс жүзінде PPAD-толық болып табылады, яғни егер оны шешудің тиімді алгоритмі болса, осы кластағы барлық басқа мәселелерді (соның ішінде әлемдегі ең ұқыпты сэндвичтерді жасауды) тиімді шешуге болар еді. Бірақ PPAD-толық болу NP-толық болу сияқты жаман емес. Тиімді шешілетін мәселелер класы P, NP-ге тең болмай-ақ PPAD-қа тең болуы мүмкін. Қазіргі уақытта бұл мәселе әлі ашық: біреу Нэш тепе-теңдігін табудың тиімді алгоритмін ойлап табуы теориялық тұрғыдан мүмкін, бірақ сарапшылардың көбі бұған үміт артып отырған жоқ.
«болжам ретіндегі сенімділігінің көп бөлігі»: Христос Пападимитриу, «Нэш тепе-теңдігін табудың күрделілігі», Нисан және т. б. , Алгоритмдік ойындар теориясы.
«сонымен қатар өзекті деп есептелуі керек»: Ааронсон, «Неліктен философтар есептеу күрделілігіне мән беруі керек».
«Егер сіздің ноутбугіңіз оны таба алмаса»: Христос Пападимитриу, «Нэш тепе-теңдігін табудың күрделілігі», Нисан және т. б. , Алгоритмдік ойындар теориясы, 30-бет.
«тұтқындар дилеммасы»: Тұтқындар дилеммасын алғаш рет RAND корпорациясында Меррилл Флуд (хатшы мәселесі және коммивояжер мәселесімен танымал) мен Мелвин Дрешер ойлап тапқан. 1950 жылы қаңтарда олар UCLA-дан Армен Алчиан мен RAND-тан Джон Д. Уильямс арасында тұтқындар дилеммасына ұқсас төлемдері бар ойын ұйымдастырды (Флуд, «Кейбір тәжірибелік ойындар»). Принстондық Альберт Такер бұл тәжірибеге қызығушылық танытып, сол жылдың мамыр айында Стэнфордтағы дәрісінде бұл мәселеге қазіргі танымал «түрме» тұжырымдамасы мен атауын берді. Ойындар теориясының шығу тегі мен оның RAND корпорациясындағы дамуының егжей-тегжейлі тарихын Паундстоунның «Тұтқындар дилеммасы» кітабынан табуға болады.
анархия бағасы (өзімшілдік нәтижесінде жүйе тиімділігінің төмендеу көрсеткіші) небары 4/3-ке тең: Рафгарден және Тардос, «Өзімшіл бағыттау қаншалықты жаман? ». Рафгарденнің 2002 жылғы Корнеллдегі PhD диссертациясы да өзімшіл бағыттау тақырыбына арналған.
«пессимист мұның шындық екенінен қорқады»: Кейбелл, Күміс айғыр.
қоғамдық көгалдың «ортақ пайдаланылуын» елестетіңіз: Хардин, <span data-term="true">«Ортақ ресурстар қасіреті»</span> (жеке мүдделердің ортақ ресурсты сарқуы).
«қорғасынды бензин деген нәрсе болатын»: Аврим Блум, жеке сұхбат, 17 желтоқсан, 2014 жыл.
бас тақырып мәселені қысқаша түйіндеді: Скотт К. Джонсон, «Тұрақты климат қазба отындарының көп бөлігінің жер астында қалуын талап етеді, бірақ кімдікі? », Ars Technica, 8 қаңтар, 2015 жыл.
«жұмыстың құны бұдан жоғары жер жоқ»: «Жоғалған уақытты іздеуде», Economist, 20 желтоқсан, 2014 жыл.
15%-ы мүлдем демалыс алмайды: Glassdoor зерттеуі, жоғарыда аталған дереккөзде келтірілген.
«Адамдар демалыс алуға тартынатын болады»: Матиас Мейер, «Ашық (шексіз) демалыстан минималды демалыс саясатына», 10 желтоқсан, 2014 жыл, [LINK url=”http://www. paperplanes. de/2014/12/10/from-open-to-minimum-vacation-policy. html”]http://www. paperplanes. de/2014/12/10/from-open-to-minimum-vacation-policy. html[LINK].
«Дүкендер бұрынғыдан да ерте ашылуда»: Николь Массабрук, «2014 жылғы Алғыс айту күнінде ашылатын дүкендер: Walmart, Target, Best Buy және Күркетауық күніндегі басқа дүкен сағаттары», International Business Times, 26 қараша, 2014 жыл.
«Ойыншыны кінәлама, ойынды кінәла»: Ice-T, «Don’t Hate the Playa», The Seventh Deadly Sin, 1999 жыл.
«Ешқашан ешкімнің жағына шығып, отбасыңа қарсы тұрма»: «Өкіл әке» (The Godfather), Марио Пьюзо мен Фрэнсис Форд Копполаның сценарийі, Paramount Pictures, 1972 жыл.
«ынтымақтастықтың пайда болуына қарсы бағытталған»: Бинмордың бұл дәйексөзі бірнеше дереккөздерде, соның ішінде Бинмор, «Табиғи әділдік» және Бинмор, «Ойындар теориясы» еңбектерінде кездеседі. Канттың «категориялық императиві» оның 1785 жылғы «Мораль метафизикасының негіздері» еңбегінен бастау алады және оның 1788 жылғы «Практикалық ақыл-ойды сынау» еңбегінде талқыланады.
демалыс алғаны үшін мың доллар нақты ақша: Либин мың доллар берудің себептерін, мәселен, Адам Брайантқа берген сұхбатында талқылайды, «Телефондар сөндірулі, бірақ робот жұмыста», New York Times, 7 сәуір, 2012 жыл.
демалыстың белгілі бір минималды мөлшерін міндетті ету: Міндетті демалыс қаржы саласында моральдық жағдайдан гөрі, алаяқтықты анықтау мақсатында бұрыннан қалыптасқан стандартты тәжірибе болып табылады. Міндетті демалыс пен алаяқтық туралы толығырақ: Филип Делвес Бротон, «Сол екі апталық демалысты ал — әйтпесе көресің», Wall Street Journal, 28 тамыз, 2012 жыл.
ақылы демалыс бойынша федералды талаптарсыз: Ребекка Рэй, Милла Сейнс және Джон Шмитт, «Демалыссыз ұлтқа қайта оралу», Экономикалық және саяси зерттеулер орталығы, мамыр 2013 жыл, [LINK url=”http://www. cepr. net/index. php/publications/reports/no-vacation-nation-2013”]http://www. cepr. net/index. php/publications/reports/no-vacation-nation-2013[LINK].
«Компьютер маманы сирек айтатын нәрселер»: Дональд Э. Кнут.
«Жүректің өз себептері бар»: Паскаль айтқандай: «Le cœur a ses raisons, que la raison ne connaît point» (Жүректің ақыл білмейтін өз себептері бар).
«Орман шатырын әуедегі шабындық деп санауға болады»: Докинз, «Эволюция дәлелдері».
тышқандарды мысықтардан қорқу сезімінен біржола айырады: Инграм және т. б. , «Toxoplasma Gondii-дің төмен вирулентті штаммдары жұққан тышқандар».
«Мораль — бұл жеке адамдағы табын инстинкті»: «Көңілді ғылым», §116, ауд. Вальтер Кауфман.
«Егер адамдар бізден иррационалды жауап күтсе»: Франк, «Ақыл аясындағы құмарлықтар».
«Адамдар қарым-қатынастан кетеді деген қауіп»: Сонда.
«сізге айырылысқыңыз келмейтін сезім керек»: Роберт Франк, жеке сұхбат, 13 сәуір, 2015 жыл.
«Егер тұтқын бақытты болса, оны неге қамап қою керек? »: Шоу, «Адам және асқан адам».
табысының 90%-дан астамын жарнама сатудан табады: Google-дың 2014 жылғы жарнамадан түскен табысы 59,6 миллиард долларды құрады, бұл оның 66 миллиард долларлық жалпы табысының шамамен 90,3%-ы. [LINK url=”https://investor. google. com/financial/tables. html”]https://investor. google. com/financial/tables. html[LINK] қараңыз.
ондаған миллиард доллар табыс әкелуде: 2015 жылдың 29 қаңтарында аяқталған AWS-3 аукционы жалпы сомасы 44,899 миллиард долларды құрайтын жеңімпаз өтінімдермен аяқталды. [LINK url=”http://wireless. fcc. gov/auctions/default. htm? job=auction_factsheet&id=97”]http://wireless. fcc. gov/auctions/default. htm? job=auction_factsheet&id=97[LINK] қараңыз.
олар өз ставкаларын сіздің болжамыңызға негіздеп түзетеді! : Екі ойыншы қатысатын жабық бірінші баға бойынша аукционның тепе-теңдік стратегиясы — заттың құны қанша деп ойласаңыз, соның дәл жартысын ұсыну. Жалпы алғанда, n ойыншысы бар мұндай аукцион форматында сіз заттың құнының (n−1)⁄n бөлігін ұсынуыңыз керек. Бұл стратегия Нэш тепе-теңдігі болып табылады, бірақ доминантты стратегия емес. Сондай-ақ, егер сіз аукционға қатысушылардың санын білмесеңіз, оңтайлы стратегия бірден күрделеніп кетеді.
әлемдегі ең үлкен гүл аукционы: Aalsmeer гүл аукционы туралы толығырақ: [LINK url=”http://www. floraholland. com/en/about-floraholland/visit-the-flower-auction/”]http://www. floraholland. com/en/about-floraholland/visit-the-flower-auction/[LINK].
бір топ адамның бірге құздан құлауы: Кейде бұл құздар тым шынайы болып келеді. Мысалы, New York Times газеті Вашингтон штатында тәжірибелі бірнеше шаңғышының қаза болғаны туралы хабарлады. Тірі қалғандардың айтуынша, өте білікті шаңғышылар тобы барлық мүшелері іштей жаман сезінген нәрсені қалай жасап қойғандарын айтып берді. «Егер маған байланысты болса, мен ешқашан он екі адаммен тауға шықпас едім», — деді тірі қалғандардың бірі.
<span data-term="true">«ақпараттық каскад»</span> (адамдардың өз ақпаратына қарағанда, өзгелердің әрекетіне сүйеніп шешім қабылдауы) ретінде белгілі: Бикчандани, Хиршлейфер және Уэлш, «Сән теориясы».
«қоғамдық ақпарат қоры енді өспейді»: Дэвид Хиршлейфер, жеке сұхбат, 27 тамыз, 2014 жыл.
сату бағасы 23 миллион доллардан астам: Amazon-дағы бұл кітаптың бағасын UC Berkeley биологы Майкл Эйзен байқап, хабарлады; Эйзеннің блогындағы «Amazon-дағы шыбындар туралы $23,698,655. 93 тұратын кітап» жазбасын қараңыз.
нарықтың иррационалдығын нашарлатады: Мәселен, Колумбия университетінің экономисі Раджив Сетхидің «flash crash» (лезде құлдырау) оқиғасынан кейінгі реакцияларын қараңыз.
бүкіл табынды апаттан сақтап қалу: Мұны механизмдер дизайны және эволюция тұрғысынан да қарастыруға болады. Кез келген адам үшін сақ табын соңынан еруші болу орташа есеппен тиімдірек болса да, топта қырсық әрі батыл адамдардың болуынан бәрі ұтады. Осылайша, өзіне тым сенімді болуды альтруизмнің бір түрі деп санауға болады.
механизмдер дизайнын қайта қарау тәсілі: <span data-term="true">«Алгоритмдік механизмдер дизайны»</span> (тиімді нәтижеге жету үшін ойын ережелерін есептеуіш тұрғыдан құру) термині алғаш рет Нисан мен Роненнің еңбегінде пайда болды.
Ол <span data-term="true">Викри аукционы</span> (жеңімпаз ең жоғары ставканы бергенімен, екінші ең жоғары бағаны төлейтін аукцион түрі) деп аталады: Викри, «Контрспеккуляция, аукциондар және бәсекелестік жабық тендерлер».
«стратегияға төзімді» (strategy-proof) немесе жай ғана «шынайы»: Стратегияға төзімді ойындар сонымен қатар «ынталандыруға сәйкес» (incentive-compatible) деп те аталады.
адалдық — доминантты стратегия: Ойындар теориясы тұрғысынан бұл Викри аукционын «доминантты стратегиялық ынталандыруға сәйкес» (DSIC) етеді. Ал алгоритмдік ойындар теориясындағы «Майерсон леммасы» деп аталатын маңызды нәтиже тек бір ғана DSIC төлем механизмі мүмкін екенін растайды.
ойындар теориясының «кіріс эквиваленттілігі» деп аталатын принципі: Кіріс эквиваленттілігі теоремасы Викриден бастау алып, Майерсон, Райли және Сэмюэлсон еңбектерінде жалпыланды.
Викри аукционы — «керемет»: Тим Рафгарден, «Алгоритмдік ойындар теориясы, 3-дәріс (Майерсон леммасы)», 2013 жыл.
«Меніңше, бұл шынымен де ғажап»: Ноам Нисан, жеке сұхбат, 13 сәуір, 2015 жыл.
«сіз көре алатын ең жақсы нәрселердің бірі»: Пол Милгром, жеке сұхбат, 21 сәуір, 2015 жыл.
«Тозақ — бұл басқа адамдар»: Сартр, «Шығар жол жоқ».
ҚОРЫТЫНДЫ
«бірге жақсы өмір сүруді үйрену»: Флуд, «Интеллектуалды машиналарды не күтіп тұр? ».
«мұны ең ақылды әрекет деп анықтау»: Рассел, «Этика элементтері».
есептеуіш <span data-term="true">стоицизм</span> (сыртқы факторларға емес, шешім қабылдау процесінің сапасына назар аудару): Мәселен, Балтцли, «Стоицизм».
жақсы әнді естігенде тани білу: Бұл сонымен қатар P және NP кластары арасындағы айырмашылық болып табылады.
олардың ешқайсысы корриданы көргісі келмеген: Осыған ұқсас сценарийлер кейде <span data-term="true">«Абилин парадоксы»</span> (топ мүшелері өздеріне ұнамайтын шешімді, басқаларға ұнайды деп қате ойлап, бәрі болып қабылдауы) деп аталады.
топты шешімге қарай бағыттау: Бұл пікірді Тим Феррисс те айтқан: «Ұсыныстар немесе шешімдер сұрауды тоқтатып, оларды ұсына бастаңыз. Кішкентай нәрселерден бастаңыз. Келесі аптада біреуден қашан кездесетініңізді сұраудың орнына, өзіңізге қолайлы уақыттарды ұсыныңыз. „Қайда тамақтанамыз? “, „Қай фильмді көреміз? “ деген сияқты сұрақтарға „Өзің қайда қалайсың? “ деп жауап бермеңіз. Шешім ұсыныңыз».
бір немесе екі нақты ұсыныс айту: Ең дұрысы, топтағы әрбір адамның барлық нұсқаларға беретін құндылығын білу және соның негізінде шешім қабылдау саясатын ұстану. Бір тәсіл — әркім берген құндылықтардың көбейтіндісін барынша арттыратын нұсқаны таңдау. Бұл стратегияның тиімді екендігі туралы Джон Нэштен бастау алатын экономикалық дәлелдер бар.
тиындар санын азайту: Шаллит, «Бұл елге 18 центтік тиын қажет».
ыңғайсыз номиналдар қайтарым жасауды қиындатады: Люкер белгілі бір шарттар аясында тиындардың ең аз санымен қайтарым жасау NP-қиын (NP-hard) екенін көрсетті. Бұл нәтиже тиындар екілік немесе ондық жүйеде болса сақталады, бірақ бірлік (unary) жүйесінде болса, тиімді шешімі болады.
Үлкен автотұрақты елестетіп көріңіз:
Кассади мен Кобзаның «Автотұрақ орнын таңдау стратегияларын бағалаудың ықтималдық тәсілі» атты еңбегінде «Қатарды таңда, ең жақын орын» (PRCS) және «Айналым» (CYC) алгоритмдері салыстырылады. Неғұрлым күрделі CYC оңтайлы тоқтау ережесін (таңдау процесін тоқтатудың ең тиімді сәтін анықтайтын математикалық әдіс) қамтиды, ал PRCS межелі жерден бастап, одан алыстай отырып, кездескен ең бірінші бос орынды иемденеді. Агрессивті CYC орташа есеппен жақсырақ орындар тапқанымен, қарапайым PRCS жұмсалған жалпы уақыт тұрғысынан тиімдірек болды. CYC алгоритмін қолданған жүргізушілер жақсырақ орын іздеуге көп уақыт жіберіп алғандықтан, ол орынның баратын жерге жақындығы үнемдеген уақыттан асып кетті. Авторлар мұндай зерттеулер автотұрақтарды жобалауда пайдалы болуы мүмкін екенін атап өтеді. Автотұрақтың есептеу модельдері, сондай-ақ, мысалы, Бененсон, Мартенс және Бирфирдің «PARKAGENT: Қаладағы тұрақтың агентке негізделген моделі» еңбегінде де зерттелген.
«Спиннинг» және «блоктау»:
Спиннинг (есептеуіш жүйелерде ресурстың босауын күту кезінде процессордың бос жұмыс істеуі) және блоктау (ресурс босағанша процесті тоқтата тұру) әрекеттерінің қайсысын таңдау керектігін тереңірек түсіну үшін, мысалы, Богуславский және басқалардың «Спиннинг пен блоктаудың оңтайлы стратегиялары» атты еңбегін қараңыз. (Бұл 1-тарауда су шаңғысы саяхатында қысқаша кездестірген сол Леонид Богуславский екенін ескеріңіз. )
Библиография
Aaronson, Scott. “Reasons to Believe” Shtetl-Optimized (blog), September 4, 2006. http://www.scottaaronson.com/blog/?p=122/.
______. “Why Philosophers Should Care About Computational Complexity.” arXiv preprint arXiv:1108.1791, 2011.
Abramson, Norman. “The ALOHA System: Another Alternative for Computer Communications.” In Proceedings of the November 17–19, 1970, Fall Joint Computer Conference, 1970, 281–285.
Ackley, David H. “Beyond Efficiency.” Communications of the ACM 56, no. 10 (2013): 38–40.
Agrawal, Manindra, Neeraj Kayal, and Nitin Saxena. “PRIMES Is in P.” Annals of Mathematics 160 (2004): 781–793.
Agrawal, Rajeev. “Sample Mean Based Index Policies with O(log n) Regret for the Multi-Armed Bandit Problem.” Advances in Applied Probability 27 (1995): 1054–1078.
Agrawal, Shipra, and Navin Goyal. “Analysis of Thompson Sampling for the Multi-armed Bandit Problem.” In Proceedings of the 25th Annual Conference on Learning Theory, 2012.
Akerlof, George A. “Loyalty Filters.” American Economic Review 1983, 54–63.
Allen, David. Getting Things Done: The Art of Stress-Free Productivity. New York: Penguin, 2002.
Aloupis, Greg, Erik D. Demaine, and Alan Guo. “Classic Nintendo Games Are (NP-) Hard.” arXiv preprint arXiv:1203.1895, 2012.
An, Yonghong, Yingyao Hu, and Matthew Shum. “Estimating First-Price Auctions with an Unknown Number of Bidders: A Misclassification Approach.” Journal of Econometrics 157, no. 2 (2010): 328–341.
Anderson, John R. The Adaptive Character of Thought. Hillsdale, NJ: Erlbaum, 1990.
Anderson, John R., and Robert Milson. “Human Memory: An Adaptive Perspective.” Psychological Review 96, no. 4 (1989): 703–719.
Anderson, John R., and Lael J. Schooler. “Reflections of the Environment in Memory.” Psychological Science 2, no. 6 (1991): 396–408.
Ariely, Dan, and Simon Jones. Predictably Irrational. New York: HarperCollins, 2008.
Arrhenius, Gustaf. “An Impossibility Theorem in Population Axiology with Weak Ordering Assumptions.” Philosophical Studies 49 (1999): 11–21.
Auer, Peter, Nicolò Cesa-Bianchi, and Paul Fischer. “Finite-Time Analysis of the Multiarmed Bandit Problem.” Machine Learning 47 (2002): 235–256.
Austen, Jane. Emma. London: John Murray, 1815.
Austrian, Geoffrey D. Herman Hollerith: Forgotten Giant of Information Processing. New York: Columbia University Press, 1982.
Bachmann, Paul. Die analytische zahlentheorie. Leipzig: Teubner, 1894.
Badger, Lee. “Lazzarini’s Lucky Approximation of π.” Mathematics Magazine 67 (1994): 83–91.
Bailey, Arthur L. Credibility Procedures: Laplace’s Generalization of Bayes’ Rule and the Combination of Collateral Knowledge with Observed Data. New York: New York State Insurance Department, 1950.
Baker, Kenneth R. Introduction to Sequencing and Scheduling. New York: Wiley, 1974.
Baker, Kenneth R., Eugene L. Lawler, Jan Karel Lenstra, and Alexander H. G. Rinnooy Kan. “Preemptive Scheduling of a Single Machine to Minimize Maximum Cost Subject to Release Dates and Precedence Constraints.” Operations Research 31, no. 2 (1983): 381–386.
Baltzly, Dirk. “Stoicism.” In The Stanford Encyclopedia of Philosophy (spring 2014 edition). Edited by Edward N. Zalta. http://plato.stanford.edu/archives/spr2014/entries/stoicism/.
Banks, Jeffrey S., and Rangarajan K Sundaram. “Switching Costs and the Gittins Index.” Econometrica 62 (1994): 687–694.
Barabási, Albert-László. Linked: How Everything Is Connected to Everything Else and What It Means for Business, Science, and Everyday Life. New York: Penguin, 2002.
Baran, Paul. “On Distributed Communications.” Volumes I–XI, RAND Corporation Research Documents, August 1964, 637–648.
Barnard, Chester I. The Functions of the Executive. Cambridge, MA: Harvard University Press, 1938.
Bartlett, Robert H., Dietrich W. Roloff, Richard G. Cornell, Alice French Andrews, Peter W. Dillon, and Joseph B. Zwischenberger. “Extracorporeal Circulation in Neonatal Respiratory Failure: A Prospective Randomized Study.” Pediatrics 76, no. 4 (1985): 479–487.
Baumgardt, Carola. Johannes Kepler: Life and Letters. New York: Philosophical Library, 1951.
Bavelas, Janet B., Linda Coates, and Trudy Johnson. “Listeners as Co-Narrators.” Journal of Personality and Social Psychology 79, no. 6 (2000): 941–952.
Bayes, Thomas. “An Essay Towards Solving a Problem in the Doctrine of Chances.” Philosophical Transactions 53 (1763): 370–418.
Bearden, Neil. “A New Secretary Problem with Rank-Based Selection and Cardinal Payoffs.” Journal of Mathematical Psychology 50 (2006): 58–59.
Bélády, Laszlo A. “A Study of Replacement Algorithms for a Virtual-Storage Computer.” IBM Systems Journal 5 (1966): 78–101.
Bélády, Laszlo A., Robert A Nelson, and Gerald S. Shedler. “An Anomaly in Space-Time Characteristics of Certain Programs Running in a Paging Machine.” Communications of the ACM 12, no. 6 (1969): 349–353.
Belew, Richard K. Finding Out About: A Cognitive Perspective on Search Engine Technology and the WWW. Cambridge, UK: Cambridge University Press, 2000.
Bell, Aubrey F. G. In Portugal. New York: John Lane, 1912.
Bellhouse, David R. “The Reverend Thomas Bayes, FRS: A Biography to Celebrate the Tercentenary of His Birth.” Statistical Science 19 (2004): 3–43.
Bellman, Richard. Dynamic Programming. Princeton, NJ: Princeton University Press, 1957.
______. “A Problem in the Sequential Design of Experiments.” Sankhyā: The Indian Journal of Statistics 16 (1956): 221–229.
Bellows, Meghan L., and J. D. Luc Peterson. “Finding an Optimal Seating Chart.” Annals of Improbable Research (2012).
Benenson, Itzhak, Karel Martens, and Slava Birfir. “PARKAGENT: An Agent-Based Model of Parking in the City.” Computers, Environment and Urban Systems 32, no. 6 (2008): 431–439.
Berezovsky, Boris, and Alexander V. Gnedin. Problems of Best Choice (in Russian). Moscow: Akademia Nauk, 1984.
Berg-Kirkpatrick, Taylor, and Dan Klein. “Decipherment with a Million Random Restarts.” In Proceedings of the Conference on Empirical Methods in Natural Language Processing (2013): 874–878.
Bernardo, Antonio E., and Ivo Welch. “On the Evolution of Overconfidence and Entrepreneurs.” Journal of Economics & Management Strategy 10, no. 3 (2001): 301–330.
Berry, Donald A. “A Bernoulli Two-Armed Bandit.” Annals of Mathematical Statistics 43 (1972): 871–897.
______. “Comment: Ethics and ECMO.” Statistical Science 4 (1989): 306–310.
Berry, Donald A., and Bert Fristed. Bandit Problems: Sequential Allocation of Experiments. New York: Chapman and Hall, 1985.
Bettencourt, Luís M. A., José Lobo, Dirk Helbing, Christian Kühnert, and Geoffrey B. West. “Growth, Innovation, Scaling, and the Pace of Life in Cities.” Proceedings of the National Academy of Sciences 104, no. 17 (2007): 7301–7306.
Bikhchandani, Sushil, David Hirshleifer, and Ivo Welch. “A Theory of Fads, Fashion, Custom, and Cultural Change as Informational Cascades.” Journal of Political Economy 100, no. 5 (1992): 992–1026.
______. “Learning from the Behavior of Others: Conformity, Fads, and Informational Cascades.” Journal of Economic Perspectives 12, no. 3 (1998): 151–170.
Binmore, Ken. Game Theory: A Very Short Introduction. New York: Oxford University Press, 2007.
______. Natural Justice. New York: Oxford University Press, 2005.
Bjarnason, Ronald, Alan Fern, and Prasad Tadepalli. “Lower Bounding Klondike Solitaire with Monte-Carlo Planning.” In Proceedings of the 19th International Conference on Automated Planning and Scheduling, ICAPS 2009.
Blau, Peter Michael. The Dynamics of Bureaucracy: A Study of Interpersonal Relations in Two Government Agencies. Chicago: University of Chicago Press, 1955.
Bloom, Burton H. “Space/Time Trade-offs in Hash Coding with Allowable Errors.” Communications of the ACM 13, no. 7 (1970): 422–426.
Boguslavsky, Leonid, Karim Harzallah, A. Kreinen, K. Sevcik, and Alexander Vainshtein. “Optimal Strategies for Spinning and Blocking.” Journal of Parallel and Distributed Computing 21, no. 2 (1994): 246–254.
Boorstin, Daniel J. The Discoverers: A History of Man’s Search to Know His World and Himself. New York: Random House, 1983.
Bradt, Russell N., S. M. Johnson, and Samuel Karlin. “On Sequential Designs for Maximizing the Sum of N Observations.” Annals of Mathematical Statistics 27 (1956): 1060–1074.
Branch, John. “Snow Fall: The Avalanche at Tunnel Creek.” New York Times, December 20, 2012.
Brown, Alexander L., and Joanna N. Lahey. Small Victories: Creating Intrinsic Motivation in Savings and Debt Reduction. Technical report. Cambridge, MA: National Bureau of Economic Research, 2014.
Brush, Eleanor R., David C. Krakauer, and Jessica C. Flack. “A Family of Algorithms for Computing Consensus About Node State from Network Data.” PLoS Computational Biology 9, no. 7 (2013).
Bruss, F. Thomas. “A Unified Approach to a Class of Best Choice Problems with an Unknown Number of Options.” Annals of Probability 12 (1984): 882–889.
Buch, P. “Future Prospects Discussed.” Nature 368 (1994): 107–108.
Buffon, Georges-Louis Leclerc, Comte de. “Essai d’arithmétique morale.” Supplément à l’Histoire naturelle, générale et particuliére 4 (1777): 46–148.
Burks, Arthur W., Herman H. Goldstine, and John von Neumann. Preliminary Discussion of the Logical Design of an Electronic Computing Instrument. Princeton, NJ: Institute for Advanced Study, 1946.
Burrell, Quentin. “A Simple Stochastic Model for Library Loans.” Journal of Documentation 36, no. 2 (1980): 115–132.
Burthe Jr., Ronald. “Further Investigations with the Strong Probable Prime Test.” Mathematics of Computation of the American Mathematical Society 65, no. 213 (1996): 373–381.
Cabell, James Branch. The Silver Stallion. New York: Robert M. McBride, 1926.
Campbell, Donald T. “Blind Variation and Selective Retention in Creative Thought as in Other Knowledge Processes.” Psychological Review 67 (1960): 380–400.
Carpenter, Brian, and Robert Hinden. Adaptation of RFC 1149 for IPv6. Technical report. RFC 6214, April 2011.
Carroll, Lewis. Sylvie and Bruno Concluded. London: Macmillan, 1893.
Carstensen, Laura L. “Social and Emotional Patterns in Adulthood: Support for Socioemotional Selectivity Theory.” Psychology and Aging 7 (1992): 331–338.
Cassady, C. Richard, and John E. Kobza. “A Probabilistic Approach to Evaluate Strategies for Selecting a Parking Space.” Transportation Science 32, no. 1 (1998): 30–42.
Cawdrey, Robert. A Table Alphabeticall. London: Edmund Weaver, 1604.
Cayley, Arthur. “Mathematical Questions with Their Solutions.” Educational Times 23 (1875): 18–19.
______. The Collected Mathematical Papers of Arthur Cayley 10: 587–588. Cambridge, UK: Cambridge University Press, 1896.
Cerf, Vinton G., and Robert E. Kahn. “A Protocol for Packet Network Intercommunication.” IEEE Transactions on Communications 22, no. 5 (1974): 637–648.
Chabert, Jean-Luc, Evelyne Barbin, and Christopher John Weeks. A History of Algorithms: From the Pebble to the Microchip. Berlin: Springer, 1999.
Charles, Susan T., and Laura L. Carstensen. “Social and Emotional Aging.” Annual Review of Psychology 61 (2010): 383–409.
Chen, Stanley F., and Joshua Goodman. “An Empirical Study of Smoothing Techniques for Language Modeling.” In Proceedings of the 34th Annual Meeting of the Association for Computational Linguistics, 1996, 310–318.
Chen, Xi, and Xiaotie Deng. “Settling the Complexity of Two-Player Nash Equilibrium.” In Foundations of Computer Science, 2006, 261–272.
Chow, Y. S., and Herbert Robbins. “A Martingale System Theorem and Applications.” In Proceedings of the Fourth Berkeley Symposium on Mathematical Statistics and Probability. Berkeley: University of California Press, 1961.
______. “On Optimal Stopping Rules.” Probability Theory and Related Fields 2 (1963): 33–49.
Chow, Y. S., Sigaiti Moriguti, Herbert Robbins, and S. M. Samuels. “Optimal Selection Based on Relative Rank (the ‘Secretary Problem’).” Israel Journal of Mathematics 2 (1964): 81–90.
Christian, Brian. “The A/B Test: Inside the Technology That’s Changing the Rules of Business.” Wired Magazine 20, no. 5 (2012).
Christofides, Nicos. Worst-Case Analysis of a New Heuristic for the Travelling Salesman Problem. Technical report 388. Pittsburgh: Carnegie Mellon University, 1976.
Churchill, Winston. Winston S. Churchill: His Complete Speeches, 1897–1963. Edited by Robert Rhodes James. London: Chelsea House, 1974.
Cirillo, Francesco. The Pomodoro Technique. Raleigh, NC: Lulu, 2009.
Clarke, Donald D., and Louis Sokoloff. “Circulation and Energy Metabolism of the Brain.” In Basic Neurochemistry, 6th ed. Philadelphia: Lippincott-Raven, 1999, 637–669.
Clauset, Aaron, Cosma Rohilla Shalizi, and Mark E. J. Newman. “Power-Law Distributions in Empirical Data.” SIAM Review 51, no. 4 (2009): 661–703.
Cobham, Alan. “The Intrinsic Computational Difficulty of Functions.” In Proceedings of the 1964 Congress on Logic, Methodology and Philosophy of Science. Amsterdam: North Holland, 1964.
Conan Doyle, Arthur. “A Study in Scarlet: The Reminiscences of John H. Watson.” In Beeton’s Christmas Annual, vol. 29. London: Ward, Lock, 1887.
Connor, James A. Kepler’s Witch. New York: HarperCollins, 2004.
Conti, Carl J., Donald H. Gibson, and Stanley H. Pitkowsky. “Structural Aspects of the System/360 Model 85, I: General Organization.” IBM Systems Journal 7 (1968): 2–14.
Cook, Stephen A. “The Complexity of Theorem-Proving Procedures.” In Proceedings of the Third Annual ACM Symposium on Theory of Computing, 1971, 151–158.
Cook, William. In Pursuit of the Traveling Salesman. Princeton, NJ: Princeton University Press, 2012.
Covey, Stephen R. How to Succeed with People. Salt Lake City: Shadow Mountain, 1971.
Craig, J. V. Aggressive Behavior of Chickens. Presented at the 27th Annual National Breeder’s Roundtable, Kansas City, MO, 1978.
Dale, Andrew I. A History of Inverse Probability. New York: Springer, 1999.
Daly, Lloyd W. Contributions to a History of Alphabetization in Antiquity and the Middle Ages. Brussels: Latomus, 1967.
Damgård, Ivan, Peter Landrock, and Carl Pomerance. “Average Case Error Estimates for the Strong Probable Prime Test.” Mathematics of Computation 61, no. 203 (1993): 177–194.
Daniels, Bryan C., David C. Krakauer, and Jessica C. Flack. “Sparse Code of Conflict in a Primate Society.” Proceedings of the National Academy of Sciences 109, no. 35 (2012): 14259–14264.
Darwin, Charles. The Correspondence of Charles Darwin, Volume 2: 1837–1843. Cambridge, UK: Cambridge University Press, 1987.
Daskalakis, Constantinos, Paul W. Goldberg, and Christos H. Papadimitriou. “The Complexity of Computing a Nash Equilibrium.” ACM Symposium on Theory of Computing, 2006, 71–78.
______. “The Complexity of Computing a Nash Equilibrium.” SIAM Journal on Computing 39, no. 1 (2009): 195–259.
Davis, Lydia. Almost No Memory: Stories. New York: Farrar, Straus & Giroux, 1997.
Dawkins, Richard. The Evidence for Evolution, the Greatest Show on Earth. New York: Free Press, 2009.
DeDeo, Simon, David C. Krakauer, and Jessica C. Flack. “Evidence of Strategic Periodicities in Collective Conflict Dynamics.” Journal of The Royal Society Interface, 2011.
DeGroot, Morris H. Optimal Statistical Decisions. New York: McGraw-Hill, 1970.
Demaine, Erik D., Susan Hohenberger, and David Liben-Nowell. “Tetris Is Hard, Even to Approximate.” In Computing and Combinatorics, 351–363. New York: Springer, 2003.
DeMillo, Richard A., and Richard J. Lipton. “A Probabilistic Remark on Algebraic Program Testing.” Information Processing Letters 7, no. 4 (1978): 193–195.
Denning, Peter J. “Thrashing: Its Causes and Prevention.” In Proceedings of the December 9–11, 1968, Fall Joint Computer Conference, 1968, 915–922.
Diffie, Whitfield, and Martin E. Hellman. “New Directions in Cryptography.” Information Theory, IEEE Transactions on 22, no. 6 (1976): 644–654.
Dillard, Annie. Pilgrim at Tinker Creek. New York: Harper’s Magazine Press, 1974.
______. The Writing Life. New York: Harper & Row, 1989.
Dodgson, Charles Lutwidge. “Lawn Tennis Tournaments: The True Method of Assigning Prizes.” St. James’s Gazette, August 1, 1883: 5–6.
Durant, Will. The Story of Philosophy. New York: Simon & Schuster, 1924.
Edmonds, Jack. “Optimum Branchings.” Journal of Research of the National Bureau of Standards 71B, no. 4 (1967): 233–240.
______. “Paths, Trees, and Flowers.” Canadian Journal of Mathematics 17, no. 3 (1965): 449–467.
Erlang, Agner Krarup. “Solution of Some Problems in the Theory of Probabilities of Significance in Automatic Telephone Exchanges.” Elektrotkeknikeren 13 (1917): 5–13.
______. “The Theory of Probabilities and Telephone Conversations.” Nyt Tidsskrift for Matematik B 20 (1909): 16.
Everett III, Hugh. “Generalized Lagrange Multiplier Method for Solving Problems of Optimum Allocation of Resources.” Operations Research 11, no. 3 (1963): 399–417.
Feldman, Dorian. “Contributions to the ‘Two-Armed Bandit’ Problem.” Annals of Mathematical Statistics 33 (1962): 847–856.
Ferguson, Thomas S. Optimal Stopping and Applications. http://www.math.ucla.edu/~tom/Stopping/.
______. “Stopping a Sum During a Success Run.” Annals of Statistics 4 (1976): 252–264.
______. “Who Solved the Secretary Problem?” Statistical Science 4 (1989): 282–289.
Ferguson, Thomas S., Janis P. Hardwick, and Mitsushi Tamaki. “Maximizing the Duration of Owning a Relatively Best Object.” In Strategies for Sequential Search and Selection in Real Time, 37–57. Providence: American Mathematical Society, 1992.
Ferriss, Timothy. The 4-Hour Workweek. New York: Crown, 2007.
Fiore, Neil A. The Now Habit. New York: Penguin, 2007.
Фишер, Маршалл Л. «Бүтін санды бағдарламалау есептерін шешуге арналған Лагранждық релаксация (күрделі шектеулерді мақсатты функцияға ауыстыру арқылы математикалық есептерді жеңілдету әдісі) әдісі». Менеджмент ғылымы 27, № 1 (1981): 1–18.
Фицджеральд, Ф. Скотт. «Күйреу». Esquire 5, № 2–4 (1936).
______. «Күйреу және басқа жинақталмаған шығармалар». Нью-Йорк: New Directions, 1956.
Флад, Меррилл М. «Жұмсақ жаңалықтар». Datamation 30, № 20 (1984): 15–16.
______. «Кейбір эксперименттік ойындар». RM-789 зерттеу меморандумында. Санта-Моника, Калифорния: RAND, 1952.
______. «Коммивояжер есебі» (бірқатар қалаларды аралап, бастапқы нүктеге ең қысқа жолмен оралудың ең тиімді бағытын табу мәселесі). Операцияларды зерттеу 4, № 1 (1956): 61–75.
______. «Интеллектуалды машиналардың болашағы қандай?». Аудиовизуалды байланыс шолуы 11, № 6 (1963): 260–270.
Форстер, Эдвард М. «Говардс Энд». Лондон: Эдвард Арнольд, 1910.
Фортнау, Лэнс. «Алтын билет: P, NP және мүмкін емес нәрсені іздеу». Принстон, Нью-Джерси: Princeton University Press, 2013.
Фрейкер, Гай С. «Нағыз Линкольн тас жолы: ұмытылған Линкольн айналма жолының белгілері». Авраам Линкольн қауымдастығының журналы 25 (2004): 76–97.
Франк, Роберт Х. «Егер Homo Economicus өзінің пайдалылық функциясын өзі таңдай алса, ол ар-ожданы бар функцияны қалар ма еді?». Америкалық экономикалық шолу 1987, 593–604.
______. «Ақыл шеңберіндегі құштарлықтар: эмоциялардың стратегиялық рөлі». Нью-Йорк: Norton, 1988.
Фредриксон, Барбара Л. және Лаура Л. Карстенсен. «Әлеуметтік серіктестерді таңдау: қарттық пен күтілетін аяқталулар адамдарды қалай талғампаз етеді». Психология және қартаю 5 (1990): 335–347.
Фримен, П. Р. «Хатшы есебі және оның кеңейтілімдері: шолу». Халықаралық статистикалық шолу 51 (1983): 189–206.
Фунг, Хелен Х., Лаура Л. Карстенсен және Эми М. Лутц. «Уақыттың әлеуметтік артықшылықтарға әсері: өмір бойғы даму үшін маңызы». Психология және қартаю 14 (1999): 595–604.
Гал, Дэвид және Блейкли Б. Макшейн. «Кішігірім жеңістер соғыста жеңуге көмектесе ала ма? Тұтынушылық қарызды басқарудан айғақтар». Маркетингтік зерттеулер журналы 49 (2012): 487–501.
Галлахер, П. және С. Керри. «Сандық қолтаңба стандарты». FIPS PUB 186-4, 2013.
Гэри, Майкл Р. және Дэвид С. Джонсон. «Компьютерлер және шешілмейтіндік: NP-толықтыққа (есептеу қиындығы бойынша ең жоғары деңгейдегі есептер класы) нұсқаулық». Нью-Йорк: W. H. Freeman, 1979.
Гарфилд, Юджин. «Кездейсоқтықтың рөлін тану». Scientist 2, № 8 (1988): 10.
Гарретт, А. Дж. М. және П. Коулз. «Байестік индуктивті қорытынды және антроптық космологиялық принцип». Астрофизика бойынша түсініктемелер. 17 (1993): 23–47.
Гасарч, Уильям И. «P =? NP сауалнамасы». SIGACT News 33, № 2 (2002): 34–47.
Готье, Давид П. «Келісім бойынша мораль». Нью-Йорк: Oxford University Press, 1985.
Геман, Стюарт, Эли Биненсток және Рене Дурсат. «Нейрондық желілер және ауытқу/дисперсия дилеммасы» (модельдің тым қарапайым немесе тым күрделі болуы арасындағы теңгерім). Нейрондық есептеу 4, № 1 (1992): 1–58.
Джоффрион, Артур М. «Бүтін санды бағдарламалауға арналған Лагранждық релаксация». Математикалық бағдарламалауды зерттеу 2 (1974): 82–114.
______. «Бүтін санды бағдарламалауға арналған Лагранждық релаксация». 50 жылдық бүтін санды бағдарламалау 1958–2008: Алғашқы жылдардан қазіргі заманғы деңгейге дейін. Редакторлар: Майкл Юнгер және т.б. Берлин: Springer, 2010, 243–281.
Гигеренцер, Герд және Генри Брайтон. «Homo Heuristicus: Неліктен біржақты сана жақсырақ қорытынды жасайды». Когнитивтік ғылым тақырыптары 1, № 1 (2009): 107–143.
Гилберт, Дэниел. «Бақытқа сүріну». Нью-Йорк: Knopf, 2006.
Гилберт, Джон П. және Фредерик Мостеллер. «Тізбектің максимумын тану». Америкалық статистикалық қауымдастық журналы 61 (1966): 35–75.
Гилбоа, Ицхак және Эйтан Земель. «Нэш және корреляцияланған тепе-теңдіктер: күрделілік туралы кейбір ойлар». Ойындар және экономикалық мінез-құлық 1, № 1 (1989): 80–93.
Гиллиспи, Чарльз Кулстон. «Пьер-Симон Лаплас, 1749–1827: Нақты ғылымдағы өмір». Принстон, Нью-Джерси: Princeton University Press, 2000.
Гилмор, Пол С. және Ральф Е. Гомори. «Материалды пішу есебіне сызықтық бағдарламалау тәсілі, II бөлім». Операцияларды зерттеу 11, № 6 (1963): 863–888.
Гилович, Томас. «Біз шындыққа жанаспайтын нәрселерді қалай білеміз». Нью-Йорк: Simon & Schuster, 2008.
Гинзберг, Аллен. «Ұлы және басқа өлеңдер». Сан-Франциско: City Lights Books, 1956.
Гиттинс, Джон К. «Бандиттік процестер және динамикалық бөлу индекстері». Корольдік статистикалық қауымдастық журналы, В сериясы (әдістемелік) 41 (1979): 148–177.
Гиттинс, Джон К., Кевин Глейзбрук және Ричард Вебер. «Көпқолды бандиттерді бөлу индекстері», 2-бас. Чичестер, Ұлыбритания: Wiley, 2011.
Гиттинс, Джон К. және Д. Джонс. «Эксперименттерді дәйекті жобалауға арналған динамикалық бөлу индексі». Статистика прогресінде. Амстердам: North Holland, 1974, 241–266.
Гласснер, Барри. «Қорқыныш тудырудың баяндау әдістері». Әлеуметтік зерттеулер 71 (2004): 819–826.
Голдберг, Пол У. және Христос Х. Пападимитриу. «Тепе-теңдік есептері арасындағы келтірілушілік». Есептеу теориясы бойынша ACM симпозиумы 2006, 62–70.
Гуд, Ирвинг Джон. «Жақсы ойлау: ықтималдық негіздері және оның қолданылуы». Миннеаполис: University of Minnesota Press, 1983.
Гопник, Элисон, Эндрю Н. Мельцофф және Патриция К. Куль. «Бесіктегі ғалым». Нью-Йорк: Morrow, 1999.
Гордон, Дебора М. «Иерархиясыз бақылау». Nature 446, № 7132 (2007): 143.
Готт, Дж. Р. «Болашақ перспективалар талқыланды». Nature 368 (1994): 108.
______. «Коперниктік принциптің біздің болашақ перспективаларымыз үшін маңызы». Nature 363 (1993): 315–319.
Гулд, Стивен Джей. «Медиана (мәліметтер жиынтығын тең екіге бөлетін орташа мән) хабарлама емес». Discover 6, № 6 (1985): 40–42.
Грэм, Рональд Л., Юджин Л. Лоулер, Ян Карел Ленстра және Александр Х. Г. Риннуи Кан. «Детерминистік тізбектілік пен жоспарлаудағы оңтайландыру және жуықтау: шолу». Дискретті математика жылнамасы 5 (1979): 287–326.
Гренандер, Ульф. «Стохастикалық процестерді эмпирикалық спектрлік талдау туралы». Математика мұрағаты 1, № 6 (1952): 503–531.
Гриджеман, Т. «Геометриялық ықтималдық және π саны». Scripta Mathematika 25, № 3 (1960): 183–195.
Гриффитс, Томас Л., Чарльз Кемп және Джошуа Б. Тененбаум. «Танымның Байестік модельдері». Есептеуіш когнитивтік модельдеу бойынша Кембридж анықтамалығында. Редактор: Рон Сан. Кембридж: Cambridge University Press, 2008.
Гриффитс, Томас Л., Фальк Лидер және Ноа Д. Гудман. «Когнитивтік ресурстарды ұтымды пайдалану: есептеуіш және алгоритмдік деңгейлер арасындағы талдау». Когнитивтік ғылым тақырыптары 7 (2015): 217–229.
Гриффитс, Томас Л., Дэвид М. Собель, Джошуа Б. Тененбаум және Элисон Гопник. «Байес және Бликеттер: Білімнің балалар мен ересектердегі себеп-салдарлық индукцияға әсері». Когнитивтік ғылым 35 (2011): 1407–1455.
Гриффитс, Томас Л., Марк Стейверс және Алана Фирл. «Google және сана: PageRank көмегімен еркіндікті болжау». Психологиялық ғылым 18 (2007): 1069–1076.
Гриффитс, Томас Л. және Джошуа Б. Тененбаум. «Күнделікті танымдағы оңтайлы болжамдар». Психологиялық ғылым 17 (2006): 767–773.
Гроссман, Дэйв және Л. У. Кристенсен. «Шайқас туралы». Бельвиль: PPCT Research Publications, 2004.
Хэггстром, Гас У. «Бірден көп тоқтау қажет болған жағдайдағы оңтайлы дәйекті процедуралар». Математикалық статистика жылнамасы 38 (1967): 1618–1626.
Халеви, Алон, Питер Норвиг және Фернандо Перейра. «Мәліметтердің қисынсыз тиімділігі». Интеллектуалды жүйелер, IEEE 24, № 2 (2009): 8–12.
Хардин, Гарретт. «Жалпы пайдаланудағы ресурстар трагедиясы». Science 162, № 3859 (1968): 1243–1248.
Харди, Г. Х. Жинақталған еңбектер. II том. Оксфорд: Oxford University Press, 1967.
______. «Жай сандар». Британ қауымдастығының есебі 10 (1915): 350–354.
Харменберг, Й. «Шпага 2.0: Семсерлесудің жаңа парадигмасының тууы». Нью-Йорк: SKA Swordplay Books, 2007.
Харсани, Джон С. «Максимин принципі мораль негізі бола ала ма? Джон Роулздың теориясына сын». Америкалық саяси ғылымдар шолуы 69, № 2 (1975): 594–606.
Харви, Джерри Б. «Абилин парадоксы: келісімді басқару». Ұйымдастырушылық динамика 3, № 1 (1974): 63–80.
Хастингс, У. К. «Марков тізбектерін пайдаланатын Монте-Карло әдістері (кездейсоқ таңдау арқылы күрделі есептерді шешу алгоритмдері) және олардың қолданылуы». Biometrika 57 (1970): 97–109.
Хокен, Анджела және Марк Клейман. «Есірткіге қатысы бар сынақ мерзіміндегілерді тез әрі нақты санкциялармен басқару: Гавайидің HOPE бағдарламасын бағалау». Ұлттық әділет институтына ұсынылған есеп. 2009. http://www.ncjrs.gov/pdffiles1/nij/grants/229023.pdf.
Хелд, Майкл және Ричард М. Карп. «Коммивояжер есебі және минималды жайылған ағаштар». Операцияларды зерттеу 18, № 6 (1970): 1138–1162.
______. «Коммивояжер есебі және минималды жайылған ағаштар: II бөлім». Математикалық бағдарламалау 1, № 1 (1971): 6–25.
Хендерсон, Т. «Дискретті релаксация әдістері». Оксфорд, Ұлыбритания: Oxford University Press, 1989.
Хеннесси, Джон Л. және Дэвид А. Паттерсон. «Компьютер архитектурасы: Сандық тәсіл». Нью-Йорк: Elsevier, 2012.
Херрманн, Джеффри У. «Тейлор, Гант және Джонсонның көзқарастары: өндірістік жоспарлауды қалай жақсартуға болады». Операциялар мен сапаны басқарудың халықаралық журналы 16 (2010): 243–254.
Хейд, С. С. «Агнер Краруп Эрланг». Ғасырлар статистиктерінде. Редакторлар: С. С. Хейд және т.б., 328–330. Нью-Йорк: Springer, 2001.
Хилл, Теодор. «Қашан тоқтау керектігін білу». American Scientist 97 (2009): 126–131.
Хиллис, У. Даниэль. «Тастағы өрнек: Компьютерлердің жұмысын қамтамасыз ететін қарапайым идеялар». Нью-Йорк: Basic Books, 1998.
Хиршлейфер, Джек. «Эмоциялар қауіптер мен уәделердің кепілі ретінде». Ең жақсылар туралы соңғы мәліметтер: эволюция және оңтайлылық туралы эсселер. Редактор: Джон Дюпре, 307–326. Кембридж: MIT Press, 1987.
Хоффман, Дэвид. «Олигархтар: Жаңа Ресейдегі байлық пен билік». Нью-Йорк: PublicAffairs, 2003.
Хорвиц, Эрик және Шломо Зилберштейн. «Шектеулі ресурстар жағдайындағы есептеуіш ымыралар». Жасанды интеллект 126 (2001): 1–4.
Хоскен, Джеймс С. «Сұрыптау әдістерін бағалау». 1955 жылғы 7–9 қарашадағы шығыс бірлескен AIEE-IRE компьютерлік конференциясында ұсынылған мақалалар мен талқылаулар: Бизнес пен өндірістік жүйелердегі компьютерлер, 39–55.
Херд, Катберт С. «Ертедегі Монте-Карло есептеулері және ғылыми кездесулер туралы жазба». IEEE Есептеу техникасы тарихының жылнамасы 7, № 2 (1985): 141–155.
Импальяццо, Рассел және Ави Вигдерсон. «Егер Е экспоненциалды схемаларды қажет етсе, P = BPP: XOR леммасын дерандомизациялау». Жиырма тоғызыншы жылдық есептеу теориясы бойынша ACM симпозиумының еңбектері, 1997, 220–229.
______. «Кездейсоқтық пен уақытқа қарсы: біркелкі жорамал бойынша дерандомизация». Компьютерлік ғылым негіздері бойынша 39-шы жылдық симпозиумның еңбектері, 1998, 734–743.
Инграм, Венди Мари және т.б. «Toxoplasma Gondii-дің әлсіз штаммдарымен жұқтырылған тышқандар мысық зәріне деген туа біткен жиіркенішті жоғалтады». PLOS ONE, № 9 (2013).
Джексон, Джеймс Р. «Максималды кешігуді азайту үшін өндірістік желіні жоспарлау». Техникалық есеп 43. Менеджмент ғылымының зерттеу жобасы, Калифорния университеті, Лос-Анджелес, 1955.
Джекобсон, Ван. «Кептелісті болдырмау және бақылау». ACM SIGCOMM Компьютерлік байланыс шолуы 18, № 4 (1988): 314–329.
______. «Желіге жаңаша көзқарас». Google-дағы лекция, Маунтин-Вью, Калифорния, тамыз 2006. https://www.youtube.com/watch?v=oCZMoY3q2uM.
Джеймс, Уильям. «Ұлы адамдар, ұлы ойлар және қоршаған орта». Atlantic Monthly 46 (1880): 441–459.
______. Психология: қысқаша курс. Нью-Йорк: Holt, 1892.
Джей, Фрэнсин. «Аз нәрсенің қуанышы: Минималистік өмір нұсқаулығы». Медфорд: Anja Press, 2010.
Джеффрис, Гарольд. «Бағалау есептеріндегі априорлық ықтималдықтың инвариантты түрі». Лондон Корольдік қауымдастығының еңбектері. А сериясы. 186 (1946): 453–461.
______. Ықтималдық теориясы, 3-бас. Оксфорд: Oxford University Press, 1961.
Джонсон, Селмер Мартин. «Орнату уақыты ескерілген оңтайлы екі және үш кезеңді өндірістік жоспарлар». Әскери-теңіз логистикалық тоқсан сайынғы журналы 1, № 1 (1954): 61–68.
Джонсон, Теодор және Деннис Шаша. «2Q: Төмен шығынды жоғары өнімді буферді басқарудың ауыстыру алгоритмі». VLDB ’94 еңбектері, 1994, 439–450.
Джонс, Томас Б. және Дэвид Х. Экли. «Сұрыптау алгоритмдеріндегі салыстыру сындарлылығы». Сенімді жүйелер мен желілер бойынша 44-ші IEEE/IFIP халықаралық конференциясы (DSN), маусым 2014, 726–731.
Джонс, Уильям. «Табылған заттарды сақтау: Жеке ақпаратты басқаруды зерттеу және тәжірибесі». Берлингтон: Morgan Kaufmann, 2007.
Кэлблинг, Лесли Пэк. «Ендірілген жүйелерде оқыту». Кембридж: MIT Press, 1993.
Кэлблинг, Лесли Пэк, Майкл Л. Литтман және Эндрю У. Мур. «Қосымша оқыту (reinforcement learning — қоршаған ортамен әрекеттесу арқылы оңтайлы мінез-құлықты үйрену): шолу». Жасанды интеллект зерттеулері журналы 4 (1996): 237–285.
Канигель, Роберт. «Ең жақсы жол: Фредерик Уинслоу Тейлор және тиімділік жұмбағы». Нью-Йорк: Viking Penguin, 1997.
Кант, Иммануил. «Мораль метафизикасының негіздері». Рига: Johann Friedrich Hartknoch, 1785.
______. «Практикалық ақылға сын». Рига: Johann Friedrich Hartknoch, 1788.
Кармаркар, Нарендра. «Сызықтық бағдарламалауға арналған жаңа полиномиалды-уақыт алгоритмі». Жиырма алтыншы жылдық есептеу теориясы бойынша ACM симпозиумының еңбектері, 1984, 302–311.
Карп, Ричард М. «Кездейсоқ алгоритмдерге кіріспе». Дискретті қолданбалы математика 34, № 1 (1991): 165–201.
______. «Комбинаторлық есептер арасындағы келтірілушілік». Компьютерлік есептеулердің күрделілігінде, 85–103. Нью-Йорк: Plenum, 1972.
Катаяйнен, Юрки және Йеспер Ларссон Трэфф. «Біріктіру арқылы сұрыптау бағдарламаларын мұқият талдау». Алгоритмдер мен күрделілік бойынша үшінші итальяндық конференцияда CIAC ’97. Берлин: Springer, 1997.
Катехакис, Майкл Н. және Герберт Роббинс. «Бірнеше популяциядан дәйекті таңдау». Ұлттық ғылым академиясының еңбектері 92 (1995): 8584–8585.
Келли, Ф. П. «Дисконттау коэффициенті бірге жақын көпқолды бандиттер: Бернулли жағдайы». Статистика жылнамасы 9 (1981): 987–1001.
Келли, Джон Л. «Ақпарат жылдамдығының жаңа интерпретациясы». Ақпарат теориясы, IRE Transactions on 2, № 3 (1956): 185–189.
Хачиян, Леонид Г. «Сызықтық бағдарламалаудағы полиномиалды алгоритмдер». КСРО есептеуіш математика және математикалық физика 20, № 1 (1980): 53–72.
Хот, Субхаш және Одед Регев. «Төбелерді жабуды 2-ε шегінде жуықтау қиын болуы мүмкін». Компьютерлік және жүйелік ғылымдар журналы 74, № 3 (2008): 335–349.
Кидд, Селеста, Холли Палмери және Ричард Н. Аслин. «Ұтымды тағам: кішкентай балалардың зефир тестінде шешім қабылдауы қоршаған ортаның сенімділігіне байланысты болады». Cognition 126, № 1 (2013): 109–114.
Килберн, Том, Дэвид Б. Г. Эдвардс және т.б. «Бір деңгейлі сақтау жүйесі». Электрондық компьютерлер бойынша IRE транзакциялары (1962): 223–235.
Кинсборн, Марсель. «Соматикалық бұралу: Декуссация эволюциясының моделі». Нейропсихология 27, № 5 (2013): 511.
Кирби, Крис Н. «Болашаққа бәс тігу: Кейінге қалдырылған марапаттарды нормативтік дисконттауға қарсы айғақтар». Эксперименттік психология журналы: Жалпы 126, № 1 (1997): 54–70.
Киркпатрик, Скотт, С. Д. Джелатт және М. П. Веччи. «Модельденген шынықтыру арқылы оңтайландыру». Science 220, № 4598 (1983): 671–680.
Кнут, Дональд Е. «Ежелгі Вавилон алгоритмдері». ACM коммуникациялары 15, № 7 (1972): 671–677.
______. Компьютерлік бағдарламалау өнері, 1-том: Негізгі алгоритмдер, 3-бас. Бостон: Addison-Wesley, 1997.
______. Компьютерлік бағдарламалау өнері, 3-том: Сұрыптау және іздеу, 3-бас. Бостон: Addison-Wesley, 1997.
______. «Терминологиялық ұсыныс». ACM SIGACT News 6, № 1 (1974): 12–18.
______. «2014 жылғы TeX баптауы». TUGboat 35, № 1 (2014).
______. Компьютер маманы сирек айтатын нәрселер. Стэнфорд: Center for the Study of Language/Information, 2001.
______. «Фон Нейманның алғашқы компьютерлік бағдарламасы». ACM есептеу шолулары 2, № 4 (1970): 247–260.
Кестлер, Артур. «Суайрық: Иоганн Кеплердің өмірбаяны». Гарден-Сити, Нью-Йорк: Doubleday, 1960.
Козен, Декстер және Шмуэль Закс. «Ақшаны ұсақтау есебінің оңтайлы шектері». Автоматтар, тілдер және бағдарламалауда, 700: 150–161. Берлин: Springer, 1993.
Лай, Це Леунг және Герберт Роббинс. «Асимптотикалық тиімді бейімделгіш бөлу ережелері». Қолданбалы математикадағы жетістіктер 6 (1985): 4–22.
Лампорт, Лесли, Роберт Шостак және Маршалл Пиз. «Византиялық генералдар есебі». Бағдарламалау тілдері мен жүйелері бойынша ACM транзакциялары 4, № 3 (1982): 382–401.
Лаплас, Пьер-Симон. Ықтималдықтар туралы философиялық эссе. 1812. Қайта басылым, Нью-Йорк: Dover, 1951.
______. «Оқиғалар себептерінің ықтималдығы туралы мемуар». Статистика ғылымы 1 (1774/1986): 364–378.
______. Ықтималдықтардың аналитикалық теориясы. Париж: Mme Ve Courcier, 1812.
Лоулер, Юджин Л. «Ескі оқиғалар». Математикалық бағдарламалау тарихында. Реминисценциялар жинағы. Амстердам: CWI/North-Holland, 1991.
______. «Басымдық шектеулері бар жалғыз машинаны оңтайлы тізбектеу». Менеджмент ғылымы 19, № 5 (1973): 544–546.
______. Кешіктірілген жұмыстардың санын азайту үшін жалғыз машинаны жоспарлау. Техникалық есеп. Беркли: University of California, 1983.
______. «Кешіктірілген жұмыстардың санын азайту үшін жалғыз машинаны жоспарлау», № UCB/CSD-83-139 (1983). http://www.eecs.berkeley.edu/Pubs/TechRpts/1983/6344.html.
______. «Басымдық шектеулері бар жалпы салмақталған аяқталу уақытын азайту үшін жұмыстарды тізбектеу». Дискретті математика жылнамасы 2 (1978): 75–90.
Лоулер, Юджин Л., Ян Карел Ленстра және Александр Х. Г. Риннуи Кан. «Александрға сыйлық!: Жоспарлау теориясы аясындағы ойын». Optima 7 (1982): 1–3.
Лоулер, Юджин Л., Ян Карел Ленстра, Александр Х. Г. Риннуи Кан және Дэвид Б. Шмойс. «Тізбектеу және жоспарлау: алгоритмдер мен күрделілік». Операцияларды зерттеу және менеджмент ғылымы бойынша анықтамалықтарда, 4-том. Амстердам: North Holland, 1993.
______. Коммивояжер есебі: Комбинаторлық оңтайландыру бойынша нұсқаулық. Нью-Йорк: Wiley, 1985.
Лаззарини, Марио. «π санының жуық мәнін эксперименттік зерттеуде ықтималдықтар есебін қолдану». Periodico di Matematica 4 (1901): 140–143.
Ли, Донхи және т.б. «LRFU: Ең аз қолданылған және ең аз жиілікте қолданылған саясаттарды қамтитын саясаттар спектрі». IEEE есептеу машиналары бойынша транзакциялар 50 (2001): 1352–1361.
Ле Гуин, Урсула К. «Омеластан кететіндер». Жаңа өлшемдер 3-те. Редактор: Роберт Силверберг. Нью-Йорк: Signet, 1973.
Ленстра, Ян Карел. «Екіліктің мистикалық күші: Юджин Л. Лоулерді еске алу». Жоспарлау журналы 1, № 1 (1998): 3–14.
Ленстра, Ян Карел, Александр Х. Г. Риннуи Кан және Петер Брукер. «Машиналық жоспарлау есептерінің күрделілігі». Дискретті математика жылнамасы 1 (1977): 343–362.
Лернер, Бен. «Лихтенберг фигуралары». Порт-Таунсенд, Вашингтон: Copper Canyon Press, 2004.
Линдли, Денис В. «Динамикалық бағдарламалау және шешім қабылдау теориясы». Қолданбалы статистика 10 (1961): 39–51.
Липпман, Стивен А. және Джон Дж. Макколл. «Жұмыс іздеу экономикасы: шолу». Экономикалық зерттеу 14 (1976): 155–189.
Лори, Джеймс Х. және Леонард Дж. Сэвидж. «Капиталды нормалаудағы үш мәселе». Бизнес журналы 28, № 4 (1955): 229–239.
Лоу, Кристофер Дж. және т.б. «Жартылай хордалылардағы дорсовентральды үлгілер: ерте хордалылар эволюциясы туралы мәліметтер». PLoS Biology 4, № 9 (2006).
Лукас, Ричард Е. және т.б. «Бейімделуді және бақыттың белгіленген нүктесі моделін қайта қарау: неке мәртебесіндегі өзгерістерге реакциялар». Тұлға және әлеуметтік психология журналы 84, № 3 (2003): 527–539.
Lueker, George S. “Теріс емес бүтін санды бағдарламалаудағы екі NP-толық (NP-complete — шешімі тез тексерілетін, бірақ табуы қиын есептер класы) есеп.” Техникалық есеп TR-178, Принстон университеті, Компьютерлік ғылымдар зертханасы, 1975.
Luria, Salvador E. Ойын автоматы, сынған сынауық: Автобиография. Нью-Йорк: Harper & Row, 1984.
MacQueen, J., және R. G. Miller. “Оңтайлы табандылық саясаты.” Operations Research 8 (1960): 362–380.
Malthus, Thomas Robert. Халықтың қоныстану принципі туралы эссе. Лондон: J. Johnson, 1798.
Marcus, Gary. Клюдж: Адам санасының бейберекет эволюциясы. Нью-Йорк: Houghton Mifflin Harcourt, 2009.
Markowitz, Harry. “Портфельді таңдау (инвестициялық активтерді тәуекел мен табыс бойынша оңтайлы бөлу).” Journal of Finance 7, № 1 (1952): 77–91.
______. Портфельді таңдау: Инвестицияларды тиімді әртараптандыру. Нью-Йорк: Wiley, 1959.
Martin, Thomas Commerford. “Ұлтты электр энергиясымен санау.” Electrical Engineer 12, № 184 (1891): 521–530.
McCall, John. “Ақпарат экономикасы және жұмыс іздеу.” Quarterly Journal of Economics 84 (1970): 113–126.
McGrayne, Sharon Bertsch. Өлмейтін теория: @@INLINE0@@ (оқиғалар ықтималдығын жаңа деректер бойынша түзету әдісі) Энигма кодын қалай бұзды, ресейлік сүңгуір қайықтарды қалай іздеді және екі ғасырлық талас-тартыстан қалай жеңімпаз болып шықты. Нью-Хейвен, КТ: Yale University Press, 2011.
McGuire, Joseph T., және Joseph W. Kable. “Шешім қабылдаушылар уақыт аралығындағы тәжірибе негізінде мінез-құлық табандылығын реттейді.” Cognition 124, № 2 (2012): 216–226.
______. “Рационалды уақытша болжамдар ләззатты кейінге қалдырудағы айқын сәтсіздіктердің негізі болуы мүмкін.” Psychological Review 120, № 2 (2013): 395.
Megiddo, Nimrod, және Dharmendra S. Modha. “ARC (Adaptive Replacement Cache — деректерді кэштеудің бейімделгіш алгоритмі) алгоритмімен LRU-дан асып түсу.” Computer 37, № 4 (2004): 58–65.
Mellen, Andrew. Өміріңізді реттеңіз! Бос әурешіліктен арылыңыз және өміріңізді біржола толық ұйымдастырыңыз. Нью-Йорк: Avery, 2010.
Menezes, Alfred J., Paul C. Van Oorschot, және Scott A Vanstone. Қолданбалы криптография анықтамалығы. Бока-Ратон, Флорида: CRC Press, 1996.
Menger, Karl. “Шабарман мәселесі.” Ergebnisse eines mathematischen kolloquiums 2 (1932): 11–12.
Metropolis, Nicholas, Arianna W. Rosenbluth, Marshall N. Rosenbluth, Augusta H. Teller, және Edward Teller. “Жылдам есептеуіш машиналар арқылы күй теңдеуін есептеу.” Journal of Chemical Physics 21, № 6 (1953): 1087–1092.
Meyer, Robert J., және Yong Shi. “Түсініксіздік жағдайындағы дәйекті таңдау: Көп қарулы бандит мәселесінің интуитивті шешімдері.” Management Science 41 (1995): 817–834.
Millard-Ball, Adam, Rachel R. Weinberger, және Robert C. Hampshire. “Жиек 80%-ға толы ма, әлде 20%-ға бос па? Сан-Францискодағы тұрақ бағасы экспериментінің әсерін бағалау.” Transportation Research Part A: Policy and Practice 63 (2014): 76–92.
Mischel, Walter, Ebbe B. Ebbesen, және Antonette Raskoff Zeiss. “Ләззатты кейінге қалдырудағы когнитивті және зейін механизмдері.” Journal of Personality and Social Psychology 21, № 2 (1972): 204.
Mischel, Walter, Yuichi Shoda, және Monica I. Rodriguez. “Балалардағы ләззатты кейінге қалдыру.” Science 244, № 4907 (1989): 933–938.
Mitzenmacher, Michael, және Eli Upfal. Ықтималдық және есептеу: Рандомизацияланған алгоритмдер мен ықтималдық талдау. Кембридж, Ұлыбритания: Cambridge University Press, 2005.
Monsell, Stephen. “Тапсырмаларды ауыстыру.” Trends in Cognitive Sciences 7, № 3 (2003): 134–140.
Moore, Gordon E. “Интегралдық схемаларға көбірек компоненттерді сыйғызу.” Electronics Magazine 38 (1965): 114–117.
______. “Цифрлық интегралдық электроникадағы прогресс.” International Electronic Devices Meeting 1975 Technical Digest-де, 1975, 11–13.
Moore, J. Michael. “Кешіктірілген тапсырмалар санын азайтуға арналған N тапсырма, бір машиналы дәйекті алгоритм.” Management Science 15, № 1 (1968): 102–109.
Morgenstern, Julie. Іштен сыртқа қарай ұйымдастыру: Үйіңізді, кеңсеңізді және өміріңізді ұйымдастырудың мінсіз жүйесі. Нью-Йорк: Macmillan, 2004.
Moser, L. “Кэйли мәселесі туралы.” Scripta Mathematica 22 (1956): 289–292.
Motwani, Rajeev, және Prabhakar Raghavan. Рандомизацияланған алгоритмдер. Кембридж, Ұлыбритания: Cambridge University Press, 1995.
______. “Рандомизацияланған алгоритмдер.” ACM Computing Surveys (CSUR) 28, № 1 (1996): 33–37.
Mucci, A. G. “Хатшы мәселелерінің класы туралы.” Annals of Probability 1 (1973): 417–427.
Murray, David. Бухгалтерлік есеп, есеп беру және коммерциялық арифметика тарихының тараулары. Глазго, Ұлыбритания: Jackson, Wylie, 1930.
Myerson, Roger B. “Нэш тепе-теңдігі (ойын теориясындағы қатысушылардың өзара оңтайлы қалыптасуы) және экономикалық теорияның тарихы.” Journal of Economic Literature 1999, 1067–1082.
______. “Оңтайлы аукцион дизайны.” Mathematics of Operations Research 6, № 1 (1981): 58–73.
Nash, John F. “N-тұлғалы ойындардағы тепе-теңдік нүктелері.” Proceedings of the National Academy of Sciences 36, № 1 (1950): 48–49.
______. “Кооперативті емес ойындар.” Annals of Mathematics 54, № 2 (1951): 286–295.
______. “Саудаласу мәселесі.” Econometrica 18, № 2 (1950): 155–162.
Navarro, Daniel J., және Ben R. Newell. “Өзгеретін әлемдегі ақпарат пен сыйақы арасындағы қайшылық.” Proceedings of the 36th Annual Conference of the Cognitive Science Society-де, 2014, 1054–1059.
Neumann, John von, және Oskar Morgenstern. Ойындар теориясы және экономикалық мінез-құлық. Принстон, Нью-Джерси: Princeton University Press, 1944.
Neyman, Jerzy. “Классикалық ықтималдық теориясына негізделген статистикалық бағалау теориясының контуры.” Philosophical Transactions of the Royal Society of London. Series A 236, № 767 (1937): 333–380.
Nichols, Kathleen, және Van Jacobson. “Кезектегі кідірісті бақылау: Заманауи AQM (Active Queue Management — белсенді кезекті басқару) — буфердің толып кету мәселесін шешудің бір бөлігі ғана.” ACM Queue Networks 10, № 5 (2012): 20–34.
Nisan, Noam, және Amir Ronen. “Алгоритмдік механизм дизайны.” Proceedings of the Thirty-First Annual ACM Symposium on Theory of Computing-де, 1999, 129–140.
Olshausen, Bruno A., және David J. Field. “Табиғи бейнелер үшін сирек кодты үйрену арқылы қарапайым жасушалы рецепторлық өріс қасиеттерінің пайда болуы.” Nature 381 (1996): 607–609.
O’Neil, Elizabeth J., Patrick E. O’Neil, және Gerhard Weikum. “Дерекқор дискісін буферлеуге арналған LRU-K (соңғы К рет қолданылғанды есепке алу алгоритмі) бетті ауыстыру алгоритмі.” ACM SIGMOD Record 22, № 2 (1993): 297–306.
Papadimitriou, Christos. “Алғы сөз.” Algorithmic Game Theory-де. Редакторлар: Noam Nisan, Tim Roughgarden, Éva Tardos және Vijay V. Vazirani. Кембридж, Ұлыбритания: Cambridge University Press, 2007.
Papadimitriou, Christos H., және John N. Tsitsiklis. “Оңтайлы кезекте тұру желісін басқарудың күрделілігі.” Mathematics of Operations Research 24 (1999): 293–305.
Papadimitriou, Christos H., және Mihalis Yannakakis. “Шектеулі рационалдылық ретіндегі күрделілік туралы.” Proceedings of the Twenty-Sixth Annual ACM Symposium on Theory of Computing-де, 1994, 726–733.
Pardalos, Panos M., және Georg Schnitger. “Шектелген квадраттық бағдарламалауда жергілікті оңтайлылықты тексеру — NP-қиын (NP-hard — ең күрделі есептер санаты).” Operations Research Letters 7 (1988): 33–35.
Pareto, Vilfredo. Саяси экономика курсы. Лозанна: F. Rouge, 1896.
Parfit, Derek. Себептер мен тұлғалар. Оксфорд, Ұлыбритания: Oxford University Press, 1984.
Partnoy, Frank. Күте тұрыңыз: Кідіріс өнері мен ғылымы. Нью-Йорк: PublicAffairs, 2012.
Pascal, Blaise. Дін және басқа да кейбір тақырыптар туралы ойлар. Париж: Guillaume Desprez, 1670.
Peter, Laurence J., және Raymond Hull. Питер принципі: Неліктен бәрі әрқашан дұрыс болмайды. Нью-Йорк: Morrow, 1969.
Petruccelli, Joseph D. “Таңдау белгісіздігі мен бақылауларды еске түсіруге байланысты ең жақсы таңдау мәселелері.” Journal of Applied Probability 18 (1981): 415–425.
Pettie, Seth, және Vijaya Ramachandran. “Оңтайлы ең төменгі жайылма ағаш алгоритмі.” Journal of the ACM 49, № 1 (2002): 16–34.
Pinedo, Michael. Жоспарлау: Теория, алгоритмдер және жүйелер. Нью-Йорк: Springer, 2012.
______. “Шығу және орындалу мерзімдері бар стохастикалық жоспарлау.” Operations Research 31, № 3 (1983): 559–572.
Pirsig, Robert M. Дзен және мотоциклге техникалық қызмет көрсету өнері. Нью-Йорк: Morrow, 1974.
Poundstone, William. Фортуна формуласы: Казино мен Уолл-стритті жеңген ғылыми бәс тігу жүйесінің айтылмаған тарихы. Нью-Йорк: Macmillan, 2005.
______. Тұтқынның дилеммасы: Джон фон Нейман, ойын теориясы және бомба жұмбағы. Нью-Йорк: Doubleday, 1992.
Prabhakar, Balaji, Katherine N. Dektar, және Deborah M. Gordon. “Кеңістіктік ақпаратсыз құмырсқалар колониясының қорек іздеу белсенділігін реттеу.” PLoS Computational Biology 8, № 8 (2012): e1002670.
Presman, Ernst L’vovich, және Isaac Mikhailovich Sonin. “Нысандардың кездейсоқ саны үшін ең жақсы таңдау мәселесі.” Teoriya Veroyatnostei i ee Primeneniya 17 (1972): 695–706.
Production and Operations Management Society. “Джеймс Р. Джексон.” Production and Operations Management 17, № 6 (2008): i–ii.
Rabin, Michael O. “Жай санды тексеруге арналған ықтималдық алгоритмі.” Journal of Number Theory 12, № 1 (1980): 128–138.
Rabin, Michael O., және Dana Scott. “Шекті автоматтар және олардың шешім қабылдау мәселелері.” IBM Journal of Research and Development 3 (1959): 114–125.
Raichle, Marcus E., және Debra A. Gusnard. “Мидың энергия бюджетін бағалау.” Proceedings of the National Academy of Sciences 99, № 16 (2002): 10237–10239.
Ramakrishnan, Kadangode, және Sally Floyd. IP-ге кептеліс туралы нақты хабарламаны (ECN) қосу туралы ұсыныс. Техникалық есеп. RFC 2481, қаңтар 1999.
Ramakrishnan, Kadangode, Sally Floyd, және David Black. IP-ге кептеліс туралы нақты хабарламаны (ECN) қосу. Техникалық есеп. RFC 3168, қыркүйек 2001.
Ramscar, Michael, Peter Hendrix, Cyrus Shaoul, Petar Milin, және Harald Baayen. “Когнитивті құлдырау туралы миф: Өмір бойы оқудың сызықтық емес динамикасы.” Topics in Cognitive Science 6, № 1 (2014): 5–42.
Rasmussen, Willis T., және Stanley R. Pliska. “Дисконттау функциясы бар реттіліктен максимумды таңдау.” Applied Mathematics and Optimization 2 (1975): 279–289.
Rawls, John. Әділеттілік теориясы. Кембридж, Массачусетс: Harvard University Press, 1971.
Revusky, Samuel H., және Erwin W. Bedarf. “Аурудың бұрын ішілген жаңа тағамдармен байланысы.” Science 155, № 3759 (1967): 219–220.
Reynolds, Andy M. “Медузалардағы белсенді және пассивті оңтайландырылған Леви іздеуінің белгілері.” Journal of the Royal Society Interface 11, № 99 (2014): 20140665.
Ridgway, Valentine F. “Өнімділік өлшемдерінің дисфункциялық салдары.” Administrative Science Quarterly 1, № 2 (1956): 240–247.
Riley, John G., және William F. Samuelson. “Оңтайлы аукциондар.” American Economic Review 71, № 3 (1981): 381–392.
Rittaud, Benoît, және Albrecht Heeffer. “Кептер ұясы принципі, Дирихлеге дейін екі ғасыр бұрын.” Mathematical Intelligencer 36, № 2 (2014): 27–29.
Rivest, Ronald L., Adi Shamir, және Leonard Adleman. “Цифрлық қолтаңбалар мен ашық кілтті криптожүйелерді алу әдісі.” Communications of the ACM 21, № 2 (1978): 120–126.
Robbins, Herbert. “Эксперименттердің дәйекті дизайнының кейбір аспектілері.” Bulletin of the American Mathematical Society 58 (1952): 527–535.
Robinson, Julia. Гамильтон ойыны туралы (коммивояжер есебі). Техникалық есеп RAND/RM-303. Санта-Моника, Калифорния: RAND, 1949.
Rogerson, Richard, Robert Shimer, және Randall Wright. Еңбек нарығының іздеу-теориялық модельдері: Шолу. Техникалық есеп. Кембридж, Массачусетс: National Bureau of Economic Research, 2004.
Rose, John S. “Оңтайлы таңдау және тағайындау мәселесі.” Operations Research 30 (1982): 172–181.
Rosenbaum, David A., Lanyun Gong, және Cory Adam Potts. “Прекрастинация (қосымша күш жұмсау есебінен аралық мақсаттарды ерте аяқтауға ұмтылу): Қосымша физикалық күш жұмсау арқылы қосалқы мақсатты орындауды тездету.” Psychological Science 25, № 7 (2014): 1487–1496.
Rosenbluth, Marshall. Маршалл Розенблют, сұхбат берген: Кай-Хенрик Барт. 11 тамыз, 2003, Колледж-Парк, Мэриленд.
Rostker, Bernard D., Harry J. Thie, James L. Lacy, Jennifer H. Kawata, және Susanna W. Purnell. 1980 жылғы Қорғаныс офицерлерінің кадрлық менеджменті туралы заң: Ретроспективті бағалау. Санта-Моника, Калифорния: RAND, 1993.
Roughgarden, Tim, және Éva Tardos. “Эгоистік бағыттау қаншалықты жаман?” Journal of the ACM 49, № 2 (2002): 236–259.
Russell, Bertrand. “Этика элементтері.” Philosophical Essays-де, 13–59. Лондон: Longmans, Green, 1910.
Russell, Stuart, және Peter Norvig. Жасанды интеллект: Заманауи тәсіл, 3-басылым. Аппер-Сэддл-Ривер, Нью-Джерси: Pearson, 2009.
Russell, Stuart, және Eric Wefald. Дұрыс нәрсені істе. Кембридж, Массачусетс: MIT Press, 1991.
Sagan, Carl. Брока миы: Ғылым романтикасы туралы ойлар. Нью-Йорк: Random House, 1979.
Sakaguchi, Minoru. “Ақпаратсыз хатшы мәселесіне қатысты екі жақты дәйекті ойындар.” Mathematica Japonica 29 (1984): 961–974.
______. “Кейбір дәйекті таңдау дизайнының динамикалық бағдарламалануы.” Journal of Mathematical Analysis and Applications 2 (1961): 446–466.
Sakaguchi, Minoru, және Mitsushi Tamaki. “Орындар кездейсоқ пайда болатын оңтайлы тұрақ мәселесі туралы.” Bulletin of Informatics and Cybernetics 20 (1982): 1–10.
Sartre, Jean-Paul. Шығар жол жоқ: Бір актілі пьеса. Нью-Йорк: Samuel French, 1958.
Schelling, Thomas C. “Альтруизм, қатыгездік және басқа да ықтимал стратегиялық мінез-құлықтар.” American Economic Review 68, № 2 (1978): 229–230.
______. Қақтығыс стратегиясы. Кембридж, Массачусетс: Harvard University Press, 1960.
Schneier, Bruce. Қолданбалы криптография. Нью-Йорк: Wiley, 1994.
Schrage, Linus. “SRPT (Shortest Remaining Processing Time — ең қысқа қалған уақытты бірінші орындау) тәртібінің оңтайлылығының дәлелі.” Operations Research 16, № 3 (1968): 687–690.
Schrijver, Alexander. “Комбинаторлық оңтайландыру тарихы туралы (1960 жылға дейін).” Handbooks in Operations Research and Management Science: Discrete Optimization-да. Редакторлар: Karen Aardal, George L. Nemhauser және Robert Weismantel. Амстердам: Elsevier, 2005, 1–68.
Schwartz, Jacob T. “Көпмүшелік теңдіктерді тексеруге арналған жылдам ықтималдық алгоритмдері.” Journal of the ACM 27, № 4 (1980): 701–717.
Seale, Darryl A., және Amnon Rapoport. “Салыстырмалы рангтармен дәйекті шешім қабылдау: «Хатшы мәселесін» эксперименталды зерттеу.” Organizational Behavior and Human Decision Processes 69 (1997): 221–236.
Sen, Amartya. “Мақсаттар, міндеттемелер және сәйкестік.” Journal of Law, Economics, and Organization 1 (1985): 341–355.
Sethi, Rajiv. “Алгоритмдік сауда және баға тұрақсыздығы.” Rajiv Sethi (блог), 7 мамыр, 2010.
Sevcik, Kenneth C. “Қызмет көрсету уақытының үлестірімін пайдалана отырып, жалпы шығынды азайту үшін жоспарлау.” Journal of the ACM 21, № 1 (1974): 66–75.
Shallit, Jeffrey. “Бұл елге 18 центтік тиын қажет.” Mathematical Intelligencer 25, № 2 (2003): 20–23.
Shasha, Dennis, және Cathy Lazere. Есінен адасқандар: 15 ұлы компьютерлік ғалымның өмірі мен жаңалықтары. Нью-Йорк: Springer, 1998.
Shasha, Dennis, және Michael Rabin. “Майкл Рабинмен сұхбат.” Communications of the ACM 53, № 2 (2010): 37–42.
Shaw, Frederick S. Релаксация әдістеріне кіріспе. Нью-Йорк: Dover, 1953.
Shaw, George Bernard. Адам және асқан адам: Комедия және философия. Кембридж, Массачусетс: Harvard University Press, 1903.
Shoup, Donald. Тегін тұрақтың жоғары құны. Чикаго: APA Planners Press, 2005.
Simon, Herbert A. “Рационалды таңдаудың мінез-құлық моделі.” Quarterly Journal of Economics 69, № 1 (1955): 99–118.
______. Адам модельдері. Нью-Йорк: Wiley, 1957.
______. “Қисық үлестірім функцияларының класы туралы.” Biometrika, 1955, 425–440.
Siroker, Dan. “Обама қарапайым эксперимент жүргізу арқылы қалай 60 миллион доллар жинады.” The Optimizely Blog, 29 қараша, 2010.
Siroker, Dan, және Pete Koomen. @@INLINE0@@ (екі нұсқаны салыстыру арқылы тиімдісін анықтау): Кликті тұтынушыға айналдырудың ең күшті жолы. Нью-Йорк: Wiley, 2013.
Sleator, Daniel D., және Robert E. Tarjan. “Тізімді жаңарту және беттеу ережелерінің амортизацияланған тиімділігі.” Communications of the ACM 28 (1985): 202–208.
Smith, Adam. Моральдық сезімдер теориясы. Эдинбург, 1759.
Smith, M. H. “Белгісіз жұмыспен қамтылған хатшы мәселесі.” Journal of Applied Probability 12, № 3 (1975): 620–624.
Smith, Wayne E. “Бір сатылы өндіріс үшін әртүрлі оңтайландырушылар.” Naval Research Logistics Quarterly 3, № 1–2 (1956): 59–66.
Solovay, Robert, және Volker Strassen. “Жай сандарды тексеруге арналған жылдам Монте-Карло тесті (кездейсоқ сандарға негізделген модельдеу).” SIAM Journal on Computing 6 (1977): 84–85.
Starr, Norman. “Егер қажет болса, соғыста қалай жеңуге болады: Сәттілікке негізделген оңтайлы тоқтау.” Annals of Mathematical Statistics 43, № 6 (1972): 1884–1893.
Stephens, David W., және John R. Krebs. Қорек іздеу теориясы. Принстон, Нью-Джерси: Princeton University Press, 1986.
Stewart, Martha. Марта Стюарттың үй шаруашылығы анықтамалығы. Нью-Йорк: Clarkson Potter, 2006.
Steyvers, Mark, Michael D. Lee, және Eric-Jan Wagenmakers. “Бандит мәселелері бойынша адамның шешім қабылдауын Байестік талдау.” Journal of Mathematical Psychology 53 (2009): 168–179.
Stigler, George J. “Ақпарат экономикасы.” Journal of Political Economy 69 (1961): 213–225.
______. “Еңбек нарығындағы ақпарат.” Journal of Political Economy 70 (1962): 94–105.
Stigler, Stephen M. “Стиглердің эпонимия заңы.” Transactions of the New York Academy of Sciences 39 (1980): 147–157.
Tamaki, Mitsushi. “Кейбір тоқтау мәселелеріне бейімделгіш тәсіл.” Journal of Applied Probability 22 (1985): 644–652.
______. “Оңтайлы тұрақ мәселесі.” Journal of Applied Probability 19 (1982): 803–814.
______. “Кері бұрылу мүмкіндігі бар тұрақ мәселесіндегі оңтайлы тоқтау.” Journal of Applied Probability 25 (1988): 363–374.
Thomas, Helen. Ақ үйдің алдыңғы қатары: Менің өмірім мен уақытым. Нью-Йорк: Simon & Schuster, 2000.
Thompson, William R. “Екі үлгінің дәлелдеріне сүйене отырып, бір белгісіз ықтималдықтың екіншісінен асып түсу ықтималдығы туралы.” Biometrika 25 (1933): 285–294.
Thoreau, Henry David. “Серуендеу.” Atlantic Monthly 9 (1862): 657–674.
Tibshirani, Robert. “Lasso (деректерді іріктеу және реттеу әдісі) арқылы регрессиялық қысқарту және таңдау.” Journal of the Royal Statistical Society 58, № 1 (1996): 267–288.
Tikhonov, A. N., және V. Y. Arsenin. Дұрыс қойылмаған есептердің шешімі. Вашингтон, Колумбия округі: Winston, 1977.
Todd, Peter M. “Жұп іздеудегі бірлесіп дамыған когнитивті механизмдер.” Evolution and the Social Mind 9 (2007): 145–159.
Todd, Peter M., және G. F. Miller. “Мақтаныш пен нанымнан сендіруге дейін: Жұп іздеудегі қанағаттану.” Simple Heuristics That Make Us Smart-да. Нью-Йорк: Oxford University Press, 1999, 287–308.
Tolins, Jackson, және Jean E. Fox Tree. “Адресаттың кері байланысы баяндаудың дамуын бағыттайды.” Journal of Pragmatics 70 (2014): 152–164.
Tracy, Brian. Сол бақаны жеңіз! Прокрастинацияны тоқтатудың және аз уақытта көп жұмыс істеудің 21 жақсы жолы. Окленд, Калифорния: Berrett-Koehler, 2007.
Turing, Alan M. “Entscheidungsproblem (шешім қабылдау мәселесі) қолданбасымен есептелетін сандар туралы.” Proceedings of the London Mathematical Society 42, № 1 (1937): 230–265.
______. “Есептелетін сандар туралы: Түзету.” Proceedings of the London Mathematical Society 43, № 1 (1938): 544–546.
Tversky, Amos, және Ward Edwards. “Екілік таңдаудағы ақпарат пен сыйақы.” Journal of Experimental Psychology 71 (1966): 680–683.
Ulam, Stanislaw M. Математиктің бастан кешкендері. Нью-Йорк: Scribner, 1976.
Ullman, Ellen. “Уақыттан тыс: Бағдарламалау өмірі туралы ойлар.” Educom Review 31 (1996): 53–59.
UK Collaborative ECMO Group. “Біріккен Ұлыбританиялық ECMO сынағы: 1 жасқа дейінгі бақылау.” Pediatrics 101, № 4 (1998): e1.
Vazirani, Vijay V. Жуықтау алгоритмдері. Нью-Йорк: Springer, 2001.
Vickrey, William. “Қарсы спекуляция, аукциондар және бәсекелестік жабық тендерлер.” Journal of Finance 16, № 1 (1961): 8–37.
Waitzman, David. Құстар арқылы IP датаграммаларын тасымалдау стандарты. Техникалық есеп. RFC 1149, сәуір 1990.
______. Қызмет көрсету сапасы бар құстар арқылы IP тасымалдау. Техникалық есеп. RFC 2549, сәуір 1999.
Ware, James H. “Үлкен пайдасы болуы мүмкін терапияларды зерттеу: ECMO.” Statistical Science 4 (1989): 298–306.
Уэйр, Джеймс Х., және Майкл Ф. Эпштейн. «Р. Х. Бартлетт және т.б. жазған "Жаңа туған нәрестелердің тыныс алу жетіспеушілігіндегі экстракорпоральды қан айналымы: перспективалық рандомизацияланған зерттеу" мақаласына түсініктемелер». Pediatrics 76, № 5 (1985): 849–851.
Уорхол, Энди. Энди Уорхолдың философиясы (А-дан Б-ға дейін және кері қарай). Нью-Йорк: Harcourt Brace Jovanovich, 1975.
Вайсс, Яир, Ээро П. Симончелли, және Эдвард Х. Адельсон. «Қозғалыс иллюзиялары оңтайлы қабылдау ретінде». Nature Neuroscience 5 (2002): 598–604.
Уиттакер, Стив, және Кэндис Сиднер. «Электрондық поштаның шамадан тыс жүктелуі: электрондық поштаның жеке ақпаратты басқаруын зерттеу». SIGCHI есептеу жүйелеріндегі адам факторлары жөніндегі конференция материалдарында, 1996, 276–283.
Уиттакер, Стив, Тара Мэттьюс, Джулиан Серрути, Эрнан Баденес, және Джон Танг. «Электрондық поштаны ретке келтіруге уақытымды босқа кетіріп жатырмын ба? Электрондық поштаны қайта табуды зерттеу». SIGCHI есептеу жүйелеріндегі адам факторлары жөніндегі конференция материалдарында, 2011, 3449–3458.
Уиттл, Питер. Уақыт бойынша оңтайландыру: динамикалық бағдарламалау және стохастикалық басқару. Нью-Йорк: Wiley, 1982. Динамикалық бағдарламалау (күрделі есепті кішігірім қосалқы есептерге бөлу арқылы шешу әдісі). Стохастикалық басқару (белгісіздік жағдайында жүйелерді басқару теориясы).
Уиттл, Питер. «Мазасыз бандиттер: өзгермелі әлемдегі іс-әрекеттерді бөлу». Journal of Applied Probability 25 (1988): 287–298. Мазасыз бандиттер (ресурстарды бірнеше өзгермелі нысандар арасында оңтайлы бөлу мәселесі).
Вигдерсон, Ави. «Білім, шығармашылық және P мен NP мәселесі». http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/AW09/AW09.pdf, 2009. P мен NP мәселесі (есептеу қиындығы теориясындағы шешімі тез тексерілетін есептердің тез шешілетіндігі туралы негізгі сұрақ).
Уилкс, Морис В.. «Бағынышты жад және жадты динамикалық бөлу». IEEE Transactions on Electronic Computers 14 (1965): 270–271.
Райт, Дж. У.. «Ұсақ ақша айырбастау мәселесі». Journal of the Association of Computing Machinery 22 (1975): 125–128.
Вульф, Уильям Аллан, және Салли А. Макки. «Жад кедергісіне тап болу: анық нәрселердің салдары». ACM SIGARCH Computer Architecture News 23, № 1 (1995): 20–24.
Сюй, Фэй, және Джошуа Б. Тененбаум. «Сөздерді үйрену байестік қорытынды ретінде». Psychological Review 114 (2007): 245–272. Байестік қорытынды (жаңа деректер негізінде ықтималдық болжамдарын жаңарту әдісі).
Янг, Марк С. К.. «Кері сұраныс арқылы салыстырмалы ранг негізінде кездейсоқ тізбектің максимумын тану». Journal of Applied Probability 11 (1974): 504–512.
Ято, Такаюки, және Такахиро Сета. «Басқа шешімді табудың күрделілігі мен толықтығы және оның басқатырғыштарға қолданылуы». IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences 86, № 5 (2003): 1052–1060.
Ингве, Виктор Х.. «Сөзге араласу туралы». Chicago Linguistics Society, 6th Meeting, 1970, 567–578.
Занизер, Рик. «Команданың жоғары өнімділігі үшін таймбоксинг». Software Development 3, № 3 (1995): 34–38. Таймбоксинг (тапсырманы орындау үшін қатаң уақыт шегін белгілеу әдісі).
Запол, Уоррен М., Майкл Т. Снайдер, Дж. Дональд Хилл, Роберт Дж. Фаллат, Роберт Х. Бартлетт, Л. Генри Эдмундс, Алан Х. Моррис, Э. Конверс Пирс, Артур Н. Томас, Герберт Дж. Проктор және т.б. «Ауыр жедел тыныс алу жетіспеушілігіндегі экстракорпоральды мембраналық оксигенация: рандомизацияланған перспективалық зерттеу». Journal of the American Medical Association 242, № 20 (1979): 2193–2196. Экстракорпоральды мембраналық оксигенация (қанды жасанды жолмен оттегімен қанықтыру әдісі).
Зелен, Марвин. «"Жеңімпазбен ойна" ережесі және бақыланатын клиникалық сынақ». Journal of the American Statistical Association 64, № 325 (1969): 131–146.
Зиппель, Ричард. «Сирек көпмүшелерге арналған ықтималдық алгоритмдері». EUROSAM ’79 Proceedings of the International Symposium on Symbolic and Algebraic Computation. Лондон: Springer, 1979, 216–226.
Алғыс хат
Ең алдымен, бізбен кездесуге уақыт бөліп, өз жұмыстары мен кең ауқымды көзқарастарын талқылаған зерттеушілерге, практиктерге және сарапшыларға алғыс айтамыз: Дейв Эклиге, Стив Альбертке, Джон Андерсонға, Джефф Атвудқа, Нил Бирденге, Рик Бельюге, Дональд Берриге, Аврим Блумға, Лаура Карстенсенге, Ник Чейтерге, Стюарт Чеширге, Парас Чопраға, Герберт Кларкқа, Рут Корбинге, Роберт С. Кринглиге, Питер Деннингке, Рэймонд Донгқа, Элизабет Дюпюиге, Джозеф Дуайерге, Дэвид Эстлундқа, Кристина Фангқа, Томас Фергюсонға, Джессика Флакқа, Джеймс Фогартиге, Джин Э. Фокс Триге, Роберт Франкқа, Стюарт Геманға, Джим Геттиске, Джон Гиттинске, Элисон Гопникке, Дебора Гордонға, Майкл Готтлибке, Стив Хановқа, Эндрю Харбисонға, Айзек Хэкстонға, Джон Хеннессиге, Джефф Хинтонға, Дэвид Хиршлиферге, Джордан Хоға, Тони Хоарға, Камал Джейнге, Крис Джонсқа, Уильям Джонсқа, Лесли Кэлблингке, Дэвид Каргерге, Ричард Карпқа, Скотт Киркпатрикке, Байрон Ноллға, Кон Коливасқа, Майкл Лиге, Ян Карел Ленстраға, Пол Линчқа, Престон Макафиге, Джей Макклелландқа, Лаура Альберт Маклейге, Пол Милгромға, Энтони Мирандаға, Майкл Митценмахерге, Роземари Нагельге, Кристоф Нейманға, Ноам Нисанға, Юкио Ногучиге, Питер Норвигке, Кристос Пападимитриуға, Меган Питерсонға, Скотт Плагенхофқа, Анита Померанцқа, Баладжи Прабхакарға, Кирк Прухсқа, Амнон Рапопортқа, Рональд Ривестке, Рут Розенхольцқа, Тим Рафгарденге, Стюарт Расселге, Рома Шахқа, Дональд Шоупқа, Стивен Скиенаға, Дэн Смитке, Пол Смоленскийге, Марк Стейверске, Крис Стуччиоға, Милинд Тамбеге, Роберт Тарьянға, Джефф Торпқа, Джексон Толинске, Майкл Трикке, Хэл Варианға, Джеймс Уэрге, Лонгхейр Уорриорға, Стив Уиттакерге, Ави Вигдерсонға, Джейкоб Уобброкқа, Джейсон Вулфқа және Питер Зейлстраға.
Кинг округінің қоғамдық кітапханасына, Сиэтл қоғамдық кітапханасына, Солтүстік аймақтық кітапханасына және Берклидегі Калифорния университетінің (UC Berkeley) кітапханаларына өз жұмыс процестерімен танысуға мүмкіндік бергендері үшін алғыс айтамыз.
Бізге зерттеуге тұрарлық бағыттарды көрсеткен және хат алмасқан жандарға алғыс білдіреміз, олардың қатарында: Шэрон Гетц, Майк Джонс, Тевье Крынски, Элиф Куш, Фальк Лидер, Стивен А. Липпман, Филип Моган, Сэм Маккензи, Харро Рантер, Дэррил А. Сил, Стивен Стиглер, Кевин Томсон, Питер Тодд, Сара М. Уотсон және Шелдон Зедек бар.
Осы кітаптағы көптеген түсініктерге жол ашқан әңгімелеріміз үшін келесі жандарға алғыс айтамыз (бұл тізім толық емес болуы мүмкін): Эллиот Агилар, Бен Бакус, Лиат Бердуго, Дейв Блей, Бен Блум, Джо Дамато, Ева де Вальк, Эмили Друри, Питер Экерсли, Джесси Фармер, Алан Файнберг, Крикс Финн, Лукас Фоглия, Джон Гонт, Ли Гилман, Мартин Глейзер, Адам Голдштейн, Сара Гринлиф, Графф Хейли, Бен Хьертманн, Грег Дженсен, Генри Каплан, Шармин Карим, Фальк Лидер, Пол Линке, Роуз Линке, Таня Ломброзо, Брэндон Мартин-Андерсон, Сэм Маккензи, Илон Маск, Колумбия университетіндегі Neuwrite тобы, Ханна Ньюман, Эйб Отман, Сью Пенни, Диллон Планкетт, Кристин Поллок, Диего Понториеро, Ави Пресс, Мэтт Ричардс, Энни Роуч, Фелисити Роуз, Андерс Сандберг, Клэр Шрайбер, Гейл және Рик Шэнли, Макс Шрон, Чарли Симпсон, Наджиб Тарази, Джош Таненбаум, Питер Тодд, Питер ван Весеп, Шон Вен, Джеред Вержбицки, Майя Уилсон және Кристен Янг.
Осы жұмыстың жүзеге асуына мүмкіндік берген кейбір керемет еркін және ашық бастапқы кодты бағдарламалық жасақтамаларға алғыс айтамыз: бастапқыда Git, LaTeX, TeXShop және TextMate 2.
Түрлі бағыттарда өз дағдылары мен күш-жігерін аямаған жандарға: библиографиялық және мұрағаттық ізденістері үшін Линдси Баггетке, Дэвид Буржэнге және Таня Ломброзоға алғыс айтамыз.
Дарвиннің керемет күнделік бетін басып шығаруға рұқсат бергені үшін Кембридж университетінің кітапханасына және оны ұқыпты қалпына келтіргені үшін Майкл Ланганға алғыс айтамыз.
Әсерлі портрет үшін Генри Янгқа алғыс айтамыз.
Кітаптың нұсқаларын оқып, құнды пікірлерін білдірген жандарға алғыс айтамыз: Бен Блумға, Винт Серфке, Элизабет Кристианға, Рэнди Кристианға, Питер Деннингке, Питер Экерслиге, Крикс Финнге, Рик Флетчерге, Адам Голдштейнге, Элисон Гопникке, Сара Гринлифке, Графф Хейлиге, Грег Дженсенге, Чарльз Кемпке, Рафаэль Лиге, Роуз Линке, Таня Ломброзоға, Ребека Оттоға, Диего Понториероға, Даниэль Рейхманға, Мэтт Ричардсқа, Фил Ричермге, Мелисса Рисс Джеймске, Катя Савчукке, Самир Шарифке, Джанет Сильверге, Наджиб Таразиге және Кевин Томсонға. Олардың қырағылығы мен ой-пікірлерінің арқасында кітап айтарлықтай жақсарды.
Біздің агентіміз Макс Брокманға және Brockman Inc. ұжымына осы жұмыстың қырағы әрі жалынды қолдаушылары болғаны үшін алғыс айтамыз.
Редакторымыз Григорий Товбиске және Henry Holt баспасының ұжымына кітаптың барынша жақсы болуына атсалысқан зерек, қажымас әрі ынталы еңбектері үшін және оны әлемге мақтанышпен паш еткендері үшін алғыс айтамыз.
Бала күтіміне бірнеше рет көмектескен Таня Ломброзоға, Вивиана Ломброзоға, Энрике Ломброзоға, Джуди Гриффитске, Род Гриффитске және Джулиет Мореноға, сондай-ақ Ломброзо Гриффитс отбасына, Берклидегі Калифорния университетінің Есептеуіш когнитивтік ғылым зертханасының мүшелеріне және кітап жазуға байланысты уақыт тығыздығына түсіністік пен шыдамдылық танытқандардың барлығына рақмет айтамыз.
Тікелей және жанама қолдау көрсеткен түрлі мекемелерге алғыс айтамыз. Ең алдымен, Берклидегі Калифорния университетіне: Когнитивтік және ми туралы ғылымдар институтындағы шақырылған ғалымдар бағдарламасына (Visiting Scholar Program) нәтижелі екі жылдық кезең үшін және Психология факультетіне тұрақты қолдауы үшін алғыс айтамыз. Филадельфия еркін кітапханасына, Берклидегі Калифорния университетінің кітапханасына, Механика институтының кітапханасына және Сан-Франциско қоғамдық кітапханасына жұмыс істеуге орын бергені және кітаптары үшін алғыс айтамыз. Пенсильвания университетінің Фишер бейнелеу өнері кітапханасына студент емес адамды күн сайын кіргізгені үшін алғыс айтамыз. Yaddo корпорациясына, MacDowell Colony-ге және Порт-Таунсенд жазушылар конференциясына тамаша, шабыттандыратын және жемісті резиденциялары үшін рақмет. USPS Media Mail тарифіне сия мен қағазға негізделген көшпелі өмір салтын мүмкін еткені үшін алғыс. Когнитивтік ғылымдар қоғамына және Жасанды интеллектті дамыту қауымдастығына жыл сайынғы конференцияларына шақырту бергені үшін алғыс айтамыз, онда көптеген тұлғааралық, пәнаралық және жартышар аралық байланыстар орнатылды. Сан-Францискодағы кофесін музыкасыз ұсынатын біз білетін жалғыз орын болғаны үшін Borderlands Cafe-ге рақмет. Әрқашан гүлдене беріңіздер.
Роуз Линкеге —
Таня Ломброзоға —
— оқырман, серік, қолдаушы және шабыт беруші ретінде әрқашан алғысымыз шексіз.
СОНДАЙ-АҚ БРАЙАН КРИСТИАННЫҢ АВТОРЛЫҒЫМЕН:
The Most Human Human: What Artificial Intelligence Teaches Us About Being Alive
Авторлар туралы

БРАЙАН КРИСТИАН — Wall Street Journal бестселлері, New York Times редакторларының таңдауы және New Yorker журналының жылдың таңдаулы кітабы деп танылған «The Most Human Human» кітабының авторы. Оның еңбектері The New Yorker, The Atlantic, Wired, The Wall Street Journal, The Guardian және The Paris Review сияқты басылымдарда, сондай-ақ Cognitive Science сияқты ғылыми журналдарда жарияланған және он бір тілге аударылған. Ол Сан-Францискода тұрады.
ТОМ ГРИФФИТС — Берклидегі Калифорния университетінің (UC Berkeley) психология және когнитивтік ғылымдар профессоры, онда Есептеуіш когнитивтік ғылым зертханасын (адам санасының жұмысын математикалық және компьютерлік модельдеумен айналысатын ғылыми орталық) басқарады. Ол когнитивтік психологиядан мәдени эволюцияға дейінгі тақырыптарда 150-ден астам ғылыми мақала жариялаған. Ұлттық ғылым қорының, Слоун қорының, Америка психологиялық қауымдастығының және Психономиялық қоғамның марапаттарына ие болған. Ол Берклиде тұрады.
Пікірлер (0)
Пікір жазу үшін аккаунтқа кіріңіз. Кіру