“Побудова систем штучного інтелекту”
Слово «кібернетика» (грец. kybernetes — рульовий, штурман, керманич) було запропоноване американським вченим Норбертом Вінером (1894— 1964) як найбільш придатне для вираження ідеї всеохоплюючого мистецтва регулювання й управління, що застосовується у найрізноманітніших галузях. Значного поширення це слово набуло після виходу у світ у 1948 р. книги Вінера «Кібернетика. Управління і зв'язок у тварині і машині». Один із перших теоретиків кібернетики У. Р. Ешбі якось дуже точно зауважив, що кібернетика стосується реальних машин приблизно так само, як геометрія — фізичних об'єктів. За його словами, сучасна геометрія не обмежується уявленнями про тривимірні земні тіла і їх відображенням у двовимірному просторі креслень. Вона вільно розглядає різноманітність форм і просторів. Ця різноманітність набагато перевершує можливості наочного мислення людини. Те саме можна сказати й про кібернетику, предметом якої є область «усіх можливих машин», а не тільки тих, що доступні сучасній промисловості. Тому кібернетики не бояться критиків, які вказують на те, що деякі з кібернетичних ідей нині не мають реального фізичного смислу. Спростовуючи таку критику, кібернетики посилаються на теорію інформації, яка характеризується тим, що завжди має справу з певними можливостями.
За книгою Вінера, кібернетика містить такі теорії:
інформації;
негативного зворотного зв'язку;
автоматів;
складних машин та ін.
Учені стверджують, що Вінер першим зрозумів необхідність виділити й вивчити задачі, що є загальними для проблем управління і зв'язку, які цікавлять фізиків, електротехніків, математиків, філософів, психологів, біологів та ін. На думку Вінера, усі ці задачі мають загальні властивості й вивчаються кібернетикою. Тому про кібернетику можна говорити як про міждисциплінарну науку, основу якої становлять математика й математична логіка.
Кібернетиків логіка зацікавила передусім у зв'язку з так званими кінцевими автоматами, що є в певному розумінні продуктами розвитку логічних систем.
Торкаючись питання про кінцеві автомати, повертаємося до відомої теорії релейних пристроїв, яку ще називають теорією дискретних автоматів. Створення подібної теорії багато в чому зумовлене пошуком різних можливостей переробки інформації у кібернетичних системах, а також аналізом і синтезом складних релейних схем та конструюванням цифрових електронно-обчислювальних машин.
Між іншим, методи теорії автоматів використовуються для доведення теорем, пов'язаних з основами математики.
Розглянемо найпростіший з дискретних автоматів, вхідні й вихідні величини якого позначаються двома символами — «0» і «1». Перетворення таким автоматом вхідних величин у вихідні еквівалентні перетворенням, що здійснюються в логіці, тому їх можна назвати логічними автоматами, а функції, що описують такі перетворення, — логічними функціями.
З елементарних логічних функцій будуються складні функції, котрі описують властивості різних логічних автоматів.
Великий внесок у теорію логічних автоматів зробив англійський вчений А. М. Тьюрінг (1912— 1954), який у 1937 р. довів, що універсальна обчислювальна машина теоретично можлива і їй під силу розв'язання практично необмеженого числа різних задач. Придуманий ним гіпотетичний пристрій, названий потім «універсальною машиною Тьюрінга», рухаючись вперед і назад по стрічці, на якій записані дані та програма, щось зчитує й щось переписує доти, доки не виникає відповідь.
За словами Д. Мічі, особисті спроби Тьюрінга побудувати машину закінчилися безрезультатно, та його ідея про те, як це зробити, виявилася неперевершеною.
«Машина Тьюрінга» — це не машина у власному значенні слова, а тільки її теорія. Згідно з цією теорією обчислювальна машина має містити кінцевий автомат, з'єднаний з головкою, що читає та пише. Ця головка може записувати символи на паперовій стрічці й зчитувати їх. Стрічка поділена на комірки, де зафіксовано відповідні символи (наприклад: «0» і «1»), і виступає вданій «машині» як запам'ятовувальний пристрій.
Слід підкреслити, що пам'ять є найважливішою частиною будь-якого комп'ютера, її можна використовувати для зберігання команд, завдяки чому комп'ютер має можливість працювати сам із собою. Послідовність команд утворює те, що називається програмою.
Кілька тисяч однакових регістрів (комірок) утворюють внутрішню пам'ять машини. Регістри — це електронні схеми, в яких зберігаються числа, оскільки у себе всередині машина має справу виключно з числами.
У пам'яті машини записуються команди й дані, з якими ця машина має працювати. Оскільки зовні такі команди й дані однакові (для машини кожна команда, як і дані, є числом), перед машиною стоїть завдання стежити затим, де записані команди, аде — дані. Розв'язання цієї задачі здійснюється за допомогою лічильника команд. Лічильник містить адресу команди.
Закодовані у вигляді чисел команди утворюють машинні коди. Взагалі програми для машин можна складати прямо в машинних кодах, але ця робота є дуже трудомісткою й надзвичайно складною для програміста. Тому було винайдено машинні мови, в яких вирази природної мови представлені машинним кодом за допомогою окремої програми, записаної у пам'яті машини.
Найпоширеніші мови програмування містять багато слів природної мови. Наприклад, у мові АЛГОЛ використовуються слова «почати», «кінець», «для», «поки», «якщо», «то», «інакше». Деякі з цих слів містять також мови ФОРТРАН і БЕЙСІК. Машинні мови, що містять такі слова, істотно полегшують задачу програмування.
Теоретично «машина Тьюрінга» може розв'язувати задачі якої завгодно складності, але практичне застосування автоматів, побудованих за схемою цієї «машини», недоцільне, оскільки число кроків, потрібних для розв'язування складних задач, надто велике. Теорія «машини Тьюрінга» має велике значення для з'ясування таких важливих питань, як існування алгоритму розв'язання того чи іншого класу задач і визначення, які функції можуть, а які не можуть виконуватися автоматично.
Існує тісний зв'язок між теорією