Тьюринг компьютерлердің пайда болуын қалай болжады
Мазмұны
Ғылым тарихында теориялық идеялар өз дәуірінің техникалық мүмкіндіктерінен ондаған жылдарға озып кеткен жағдайлар аз емес. Алайда мұны дәлдігі мен салдары жағынан Алан Тьюринг сияқты айқын көрсеткен ғалымдар өте сирек. ХХ ғасырдың басында «компьютер» сөзі қолмен есептеулер жүргізетін адамды білдірген кезеңде жұмыс істеген британдық математик алғашқы электрондық құрылғылар жасалмай тұрып-ақ әмбебап есептеу машинасының принциптерін сипаттай алды. Оның 1930-жылдардағы еңбектері кейін бүкіл қазіргі информатика саласының негізіне айналған математикалық іргетасты қалыптастырды. Тьюринг компьютерлердің пайда болуын жай ғана болжаған жоқ — ол олардың мүмкіндіктерінің теориялық шекараларын нақты машиналар әлі жобалау сызбаларынан шықпай тұрған кезде-ақ анықтап берді. Бұл көрегендіктің ауқымын түсіну үшін абстрактілі логикалық жұмбақтан бастап бүкіл өркениетті өзгерткен тұжырымдамаға дейінгі жолды қарастыру қажет.
Дәуірдің интеллектуалдық контексті
Тьюрингтің көрегендігін толық түсіну үшін оның қандай интеллектуалдық ортада жұмыс істегенін білу маңызды. 1930-жылдардағы математика ғылымы өзінің негіздері туралы терең дағдарысты бастан өткеріп жатты — сол кездегі ең көрнекті ғалымдар дәлелдің табиғаты, есептердің шешілетіндігі және формалды ойлаудың шектері туралы сұрақтарға жауап іздеді.
Тьюрингтің еңбектері пайда болған интеллектуалдық жағдай бірнеше өзара байланысты мәселелермен анықталды:
- неміс математигі Давид Гильберт ұсынған барлық математиканы толық және қайшылықсыз формалды жүйеге келтіру туралы «Гильберт бағдарламасы» 1931 жылы Курт Гёдельдің толық емес теоремалары арқылы жоққа шығарылды;
- сол Гильберт қойған «шешімділік мәселесі» — Entscheidungsproblem — кез келген математикалық тұжырымның ақиқаттығын шектеулі қадамдар арқылы анықтай алатын алгоритм бар ма деген сұрақты қойды;
- математиканың логикалық негіздерін Бертран Рассел, Альфред Уайтхед және басқа да ойшылдар зерттеп, барлық математикалық білімді қатаң формалды жүйелерге келтіруге тырысты;
- «алгоритм» ұғымы интуитивті түрде қолданылғанымен, оның нақты математикалық анықтамасы болмады — бұл нақты есептердің шешілетін немесе шешілмейтін екенін дәл айтуға мүмкіндік бермеді.
Осындай жағдайда жиырма үш жастағы Тьюринг бір мақаласын жазды. Бұл еңбек бір мезгілде шешімділік мәселесін шешіп, болашақ компьютерлердің теориялық негізін қалады. Бір қызығы, автордың өзі инженерлік қолданулар туралы ойлаған жоқ — оның мақсаты таза математикалық мәселені шешу еді.
Тьюринг машинасы: шындыққа айналған абстракция
1936 жылы Алан Тьюринг «Есептелетін сандар туралы және оны шешімділік мәселесіне қолдану» атты мақаласын жариялады. Ғылым тарихшылары бұл еңбекті ХХ ғасыр математикасының ең маңызды еңбектерінің бірі деп бірауыздан мойындайды. Ондағы негізгі құрал ретінде ойша елестетілген есептеу машинасы қолданылды — бұл абстрактілі құрылғы соншалық дәл сипатталды, кейін он жыл өткен соң оның идеялары нақты құрылғыларда жүзеге асырылды.
Бұл ойша жасалған машинаның құрылымы әдейі барынша қарапайым етіп жасалған — дәл осы қарапайымдылық оны әмбебап етті.
- Шексіз лента ақпарат тасымалдаушысы қызметін атқарады. Лента жеке ұяшықтарға бөлінген және әр ұяшықта шектеулі таңбалардың бірі жазылуы мүмкін — ең қарапайым жағдайда «0» немесе «1». Лента екі бағытта да шексіз деп қарастырылады, бұл теориялық тұрғыдан шексіз жадты білдіреді. Шын өмірде мұндай жад болмайды, бірақ есептеуді дұрыс сипаттау үшін мұндай ұғым қажет.
- Оқу-жазу басы лента бойымен екі бағытта қозғалып, ағымдағы ұяшықтағы таңбаларды оқып немесе өзгерте алады. Әр қадам машинаның ағымдағы күйіне және бас тұрған ұяшықтағы таңбаға ғана байланысты. Әрбір әрекеттің осындай қарапайымдылығы, бірақ олардың санының шектеусіз болуы кез келген алгоритмді орындауға жеткілікті болып шықты.
- Өту кестесі — «егер X күйінде болып, Y таңбасын көрсең, онда Z таңбасын жазып, W күйіне өт және солға немесе оңға жылжы» деген түрдегі ережелер жиынтығы — машинаның бүкіл жұмысын анықтайды. Бұл кесте қазіргі түсініктегі бағдарламаның дәл баламасы болып табылады. Физикалық құрылғы өзгермей, тек осы кестені өзгерту арқылы мүлде басқа есептерді шешуге болады.
- Машинаның ішкі күйлерінің шектеулі жиынтығы болады, оның ішінде «қабылданды» және «қабылданбады» сияқты арнайы күйлер бар. Бұл күйлер машинаның есептеуді белгілі бір нәтижемен аяқтауына мүмкіндік береді. Күйлер саны қаншалықты көп болса да, ол әрқашан шектеулі болып қалады, ал лента теориялық тұрғыдан шексіз болуы мүмкін. Шектеулі бағдарлама мен шексіз деректер арасындағы осы айырмашылық қазіргі процессор архитектурасының негізгі принциптерінің бірі болып саналады.
Тьюринг өзінің абстрактілі машинасы есептелетін барлық нәрсені есептей алатынын дәлелдеді. Бұл тұжырым тарихта Чёрч–Тьюринг тезисі деген атпен белгілі болды және бүгінге дейін теориялық информатиканың негізгі қағидаларының бірі болып келеді.
Әмбебап машина және сақталатын бағдарлама принципі
1936 жылғы еңбектің ең көреген тұстарының бірі — «әмбебап Тьюринг машинасы» тұжырымдамасы. Бұл машина осы кластағы кез келген басқа машинаның жұмысын имитациялай алады. Ол үшін тек лентаға сол машинаның сипаттамасын және бастапқы деректерін жазу жеткілікті.
Бұл идея қазіргі компьютерлердің архитектурасының негізі болып табылатын сақталатын бағдарлама принципінің тікелей теориялық бастауы болып табылады.
Әмбебап машина тұжырымдамасының маңызы бірнеше маңызды салдар арқылы түсіндіріледі:
- бағдарлама құрылғының ішіне физикалық түрде «тігіліп» қойылатын нәрсе болмайды, ол деректердің бір түріне айналады, яғни оны сақтауға, өзгертуге және тасымалдауға болады;
- бір ғана физикалық құрылғы аппараттық өзгеріссіз шексіз көп әртүрлі есептерді орындай алады;
- «машина» мен «бағдарлама» арасындағы шекара жойылады — кез келген бағдарлама арнайы машина ретінде қарастырылуы мүмкін, ал кез келген машина белгілі бір бағдарламаның жүзеге асуы ретінде қарастырылады;
- «есептелетіндік» ұғымы нақты техникалық құрылғыға тәуелсіз математикалық анықтама алады.
1945 жылы алғашқы электрондық компьютерлердің архитектурасын жасаған Джон фон Нейман дәл осы идеяларға сүйенді. Бағдарламаны деректермен бірге бір жадта сақтау принципі — фон Нейман архитектурасы — әмбебап машина идеясын техникалық түрде жүзеге асырды. Шын мәнінде, қазіргі кез келген процессор Тьюринг 1936 жылы абстрактілі түрде сипаттаған идеяны іске асырады.
Тоқтау мәселесі және есептелудің шектері
Тьюринг есептелу ұғымын анықтаумен қатар принципті түрде шешілмейтін есептердің бар екенін дәлелдеді. Бұл жаңалық компьютерлердің табиғатын түсіну үшін олардың теориялық сипаттамасы сияқты маңызды болды.
Мұндай есептердің ең белгілі мысалы — «тоқтау мәселесі». Бұл мәселе кез келген бағдарлама мен бастапқы деректер үшін сол бағдарлама жұмысын тоқтата ма, әлде шексіз орындала бере ме дегенді анықтайтын алгоритм жасауға бола ма деген сұрақтан тұрады. Тьюринг мұндай алгоритмнің болмайтынын дәлелдеді — бір машина жалпы жағдайда басқа машинаның болашақ әрекетін дәл болжай алмайды.
Бұл дәлел «қайшылық арқылы дәлелдеу» әдісіне негізделді. Егер мұндай алгоритм бар деп қабылдасақ, онда оның болжауына қарсы әрекет ететін арнайы бағдарлама құрастыруға болады. Бұл тәсіл жиындар теориясындағы парадокстар мен Гёдель теоремаларына ұқсас логикалық әдіске негізделген.
Бұл теореманың практикалық салдары да айтарлықтай нақты болды:
- бағдарламаларды талдайтын құралдар кез келген бағдарламадағы барлық шексіз циклдерді анықтай алмайды — бұл техникалық шектеу емес, математикалық түрде дәлелденген мүмкінсіздік;
- антивирустық бағдарламалар кодты орындамай тұрып оның зиянды екенін толық сенімділікпен анықтай алмайды, бұл киберқауіпсіздік саласында маңызды дилемма туғызады;
- бағдарламалардың толық математикалық дұрыстығын дәлелдеу тек шектеулі есептер класына ғана мүмкін;
- автоматты теорема дәлелдеу жүйелері де Гёдель мен Тьюринг анықтаған принциптік шектеулерге тап болады.
Компьютерлердің не істей алатынын түсіну қаншалық маңызды болса, олардың не істей алмайтынын түсіну де дәл сондай маңызды.
Теориядан практикаға: Блетчли-парк және алғашқы машиналар
Тьюринг тек теориямен шектеліп қалған жоқ. Екінші дүниежүзілік соғыс оған өзінің абстрактілі идеяларын нақты құрылғыларда қолдану мүмкіндігін берді. Блетчли-парктегі дешифрлау орталығындағы жұмысы математикалық теория мен нақты есептеу машиналары арасындағы көпірге айналды.
Немістің «Энигма» шифрлау жүйесі мүмкін комбинацияларының саны астрономиялық болатын кодтарды қолданды. Мұндай кодтарды қолмен тексеру мүмкін емес еді. Тьюринг «Бомба» деп аталған электромеханикалық машинаны жасау жобасын басқарды. Бұл құрылғы ықтимал шешімдерді статистикалық түрде қысқарту алгоритмін қолданды.
Бұл жұмыстың нәтижелері бірнеше тұрғыдан тарихи маңызға ие болды.
- «Бомба» британ барлау қызметіне бірнеше жыл бойы неміс хабарламаларын оқуға мүмкіндік берді. Тарихшылардың бағалауынша, бұл жұмыс соғыстың ұзақтығын кемінде екі жылға қысқартып, миллиондаған адамның өмірін сақтап қалды.
- «Колосс» деп аталатын алғашқы бағдарламаланатын электрондық компьютерді жасауға қатысу Тьюрингке нақты есептеу машиналарымен жұмыс істеу тәжірибесін берді. Бұл құрылғы толық әмбебап компьютер болмаса да, оның көптеген принциптері Тьюринг сипаттаған теориялық идеяларға сәйкес келді.
- Соғыстан кейін Ұлттық физикалық зертханада және Манчестер университетінде Тьюринг әмбебап компьютерлер жасау жобаларымен айналысты. Оның ACE — «Automatic Computing Engine» — жобасы сақталатын бағдарламасы бар компьютердің толық техникалық сипаттамасын қамтыды.
- 1948 жылы Манчестердегі «Baby» деп аталатын компьютер алғаш рет жадта сақталған бағдарламаны орындады. Тьюринг осы кезеңде университетте жұмыс істеп, келесі нұсқа — Манчестер «Mark I» компьютерінің бағдарламалық жасақтамасын әзірлеуге қатысты. 1936 жылғы абстрактілі модельден нақты жұмыс істейтін компьютерге дейінгі жол небәрі он екі жылды алды.
Тьюринг тесті және жасанды интеллект туралы көзқарасы
Компьютерлердің теориялық негізін жасап, нақты машиналардың құрылуына қатысқаннан кейін Тьюринг жаңа сұрақ қойды: бұл машиналар ойлай ала ма? 1950 жылы ол «Есептеу машиналары және ақыл» атты мақаласын жариялады. Онда ол «Машиналар ойлай ала ма?» деген сұрақты қарастыруды ұсынды.
Тьюринг ұсынған критерий кейін «Тьюринг тесті» деген атпен белгілі болды.
Бұл тесттің мәні бірнеше қағида арқылы түсіндіріледі:
- адам-судья мәтіндік хабарламалар арқылы бір уақытта басқа адаммен және компьютермен сөйлеседі, бірақ қайсысы адам, қайсысы машина екенін білмейді;
- егер судья машинаны адамнан сенімді түрде ажырата алмаса, онда машина адамға ұқсас интеллектуалдық мінез-құлық көрсетеді деп есептеледі;
- Тьюринг 2000 жылға қарай машиналар адам оларды тек 70 пайыз жағдайда ғана дұрыс анықтай алатын деңгейге жетеді деп болжаған;
- тест «ойлау деген не» деген философиялық сұрақтан әдейі бас тартып, мінез-құлыққа негізделген практикалық критерийді қолданады.
Бұл идеядан басталған пікірталас бүгінге дейін жалғасып келеді. Қазіргі тілдік модельдердің пайда болуы бұл мәселені бұрынғыдан да өзекті етті.
Тьюринг 1954 жылы өмірден өтті. Ол компьютерлердің жаппай таралғанын көре алмады және өзінің аты есептеу ғылымының символына айналатынын да білмеді. Бүгінде оның атымен аталатын Тьюринг сыйлығы — информатикадағы ең беделді марапаттардың бірі. Оның еңбектері терең абстрактілі теория мен практикалық технологиялардың бір-біріне қарсы емес екенін көрсетеді. Керісінше, математикалық идеялар бүкіл адамзат өмірін өзгерткен құрылғылардың ең сенімді негізіне айналды.