Проблематика штучного інтелекту
Аристотелем було запропоновано декілька формальних конструкційсилогізмів, які він вважав достатньо універсальними. Лише у XIX столітті почала розвиватися сучасна математична логіка, яка розглядає силогізми Аристотеля як один із часткових випадків. Основою більшості сучасних систем, призначених для автоматизації логічних побудов, є метод резолюцій Робінсона. Він буде описаний пізніше. Але… Читати ще >
Проблематика штучного інтелекту (реферат, курсова, диплом, контрольна)
М і н і с т е р с т в о о с в і т и і н, а у к и У к р, а ї н и Н, а ц і о н, а л ь н и й у н і в е р с и т е т «Львівська політехніка«
Кафедра «ІСМ»
Курсова робота
на тему: «Проблематика штучного інтелекту»
з дисципліни: Системи штучного інтелекту Виконав:
ст. гр. ФЛ-44
Водарський Я.Є.
Прийняв:
Марковець О.В.
Львів-2007
Зміст курсової роботи
Вступ 3
1.1. Інтуїтивне розуміння поняття «інтелект» 4
1.2. Деякі визначення та їх критика 7
2.1 Основні проблемні середовища штучного інтелекту 8
2.2 Проблема винятків 9
2.3 Проблема неточних і неповних знань 11
2.4 Деякі проблеми виведення 12
3.1 Деякі інтелектуальні задачі 13
3.2 Тест Тьюринга і фатичний діалог 17
3.3 Метод комп’ютерної реалізації фатичного діалогу 18
3.4 Групові залежності. Проблемні сфери. 20
3.5 Принцип віртуальної семантичної сітки. 21
4.1 Продукційні правила 22
4.2 Компонент виведення 22
4.3 Нечітке виведення 22
5. Фрейми 24
6.1 Семантичні мережі 25
6.2 Різні способи задання семантичних мереж: переваги і недоліки 27
7. Нейронні мережі 30
8. Генетичні алгоритми 32
Висновок 34
Використана література 35
Вступ
Основним завдвнням цієї курсової роботи є знаходження і розкриття суттєвих проблемних середовищ штучного інтелекту, з якими ми стикаємося при розвязанні інтелектуальних задач.
Можна стверджувати, що «штучний» інтелект у тому чи іншому розумінні повинен наближатися до інтелекту природного і у ряді випадків використовуватися замість нього; так само, як, наприклад, штучні нирки працюють замість природних. Чим більше буде ситуацій, у яких штучні інтелектуальні системи зможуть замінити людей, тим більш інтелектуальними будуть вважатися ці системи.
Центральні задачі ШІ полягають в тому, щоб зробити ОМ більш корисними і щоб зрозуміти принципи, що лежать в основі інтелекту. Оскільки одна із задач полягає в тому, щоб зробити ОМ більш корисними, вченим і інженерам, що спеціалізуються в обчислювальній техніці, необхідно знати, яким чином ШІ може допомогти їм в розв" язку важких проблем.
Досліджувана тема стає все більш актуальною, оскільки область застосування систем штучного інтелекту поширюється в різних галузях і включає: доведення теорем; ігри; розпізнавання образів; прийняття рішень; адаптивне програмування; створення машинної музики; обробка даних природною мовою; мережі, що навчаються (нейромережі); вербальні концептуальні навчання та ін.
1.1. Інтуїтивне розуміння поняття «інтелект»
З давніх-давен людині були необхідні помічники для полегшення виконання тих чи інших операцій. Були винайдені різноманітні механізми, машини і т.п. Поява електронно-обчислювальних машин дала змогу автоматизувати виконання трудомістких розрахункових робіт. Згодом стало ясно, що ці машини можна використовувати не тільки для обчислень, але й для керування різними пристроями, складними автоматизованими виробництвами тощо. Широкого поширення набули роботи — програмно керовані пристрої, здатні безпосередньо взаємодіяти з фізичним світом та виконувати в ньому певні дії [Крин]. Такі роботи широко використовуються у виробництві.
Природня мова на сучасному етапі малопридатна для цього через свою складність та неоднозначність. Один із шляхів вирішення цієї задачі є формулювання інструкцій мовою, зрозумілою виконавцю, тобто написання програм. Програмування полягає у перекладі інструкцій, написаних мовою, близької до природної, на мову, яку здатна сприйняти обчислювальна система. Відомі складності сучасного програмування, пов’язані з необхідністю надмірної алгоритмізації, тобто детального ретельного розписування інструкцій з урахуванням усіх можливих ситуацій. З цієї ситуації існує єдиний вихід — підвищення рівня «розумності», інтелектуальності сучасних комп’ютерів та роботів. Постає питання, що розуміється під такими поняттями, як «інтелектуалізація», «штучний інтелект» ?
Можна стверджувати, що «штучний» інтелект у тому чи іншому розумінні повинен наближатися до інтелекту природного і у ряді випадків використовуватися замість нього; так само, як, наприклад, штучні нирки працюють замість природних. Чим більше буде ситуацій, у яких штучні інтелектуальні системи зможуть замінити людей, тим більш інтелектуальними будуть вважатися ці системи.
Навряд чи є сенс протиставляти поняття штучного інтелекту і інтелекту взагалі. Тому слід спробувати визначити поняття інтелекту, незалежно від його походження.
Людина вважається інтелектуальною «від природи», і цей інтелект був вироблений на протязі мільйонів років еволюції. Людина вміє вирішувати багато інтелектуальних задач. Кожна людина вважає, що вона розуміє значення слова «інтелект», але якщо попросити дати визначення цього слова, в переважній більшості чіткої відповіді не буде. І дійсно, дати визначення поняття інтелекту, яке б задовольняло всіх, очевидно, неможливо. Далі будуть проаналізовані деякі спроби визначення цього поняття та їх критика. Але відсутність чіткого визначення не заважає оцінювати інтелектуальність на інтуїтивному рівні. Можна навести як мінімум два методи такої оцінки: метод експертних оцінок іметод тестування [Посп ].
При застосуванні методу експертних оцінок рішення про ступінь інтелектуальності приймає досить велика група експертів (незалежно або у взаємодії між собою); відомо багато способів організації взаємодії між експертами.
При застосуванні методу тестування пропонується розв’язати ті чи інші тестові завдання. Існує значна кількість інтелектуальних тестів, апробованих практикою, для оцінки рівня розумових здібностей людини, що знайшли застосування в психології та психіатрії [ Айзенк, Дюк, Клайн]. Наведемо декілька прикладів.
Приклад 1.1. Вставте число, яке пропущене:
36 30 24 18 6
Приклад 1.2. Викресліть зайве слово:
лев лисиця жираф щука собака Потрібно наголосити, що поняття «штучний інтелект» не можна зводити лише до створення пристроїв, які повністю або частково імітують діяльність людини. Не менш важливою є інша задача: виявити механізми, які лежать в основі діяльності людини, щоб застосувати їх при вирішенні конкретних науково-технічних задач. І це лише одна з можливих проблем.
Отже, штучний інтелект (ШІ) — це наука про концепції, що дозволяють обчислювальним машинам (ОМ) робити такі речі, які у людей виглядають розумними. Але що ж являє собою інтелект людини? Чи є у них здатність роздумувати? Чи є здатність засвоювати і використовувати знання? Чи є здатність оперувати і обмінюватися ідеями? Безсумнівно, всі ці здібності являють собою частину того, що є інтелектом. Насправді дати визначення в звичайному значенні цього слова, мабуть, неможливо, тому що інтелект — це сплав багатьох навичок в області обробки і представлення інформації.
Центральні задачі ШІ полягають в тому, щоб зробити ОМ більш корисними і щоб зрозуміти принципи, що лежать в основі інтелекту. Оскільки одна із задач полягає в тому, щоб зробити ОМ більш корисними, вченим і інженерам, що спеціалізуються в обчислювальній техніці, необхідно знати, яким чином ШІ може допомогти їм в розв" язку важких проблем.
Область застосування.
· Доведення теорем;
· Ігри;
· Розпізнавання образів;
· Прийняття рішень;
· Адаптивне програмування;
· Створення машинної музики;
· Обробка даних природною мовою;
· Мережі, що навчаються (нейромережі);
· Вербальні концептуальні навчання.
На початку 80-х років у дослідженнях зі штучного інтелекту сформувався самостійний напрямок, що одержав назву «експертні системи» (ЕС).
Експертна система — це програмний засіб, що використовує експертні знання для забезпечення високоефективного вирішення неформалізованих задач у вузькій предметній області. Основу ЕС складає база знань (БЗ) про предметну область, що накопичується в процесі побудови й експлуатації ЕС. Нагромадження й організація знань — найважливіша властивість усіх ЕС.
1.2. Деякі визначення та їх критика
Було зроблено чимало спроб дати формальне визначення поняття інтелекту, зокрема, штучного. Очевидно, найбільш відомим є визначення предмету теорії штучного інтелекту, яке було введене видатним дослідником у галузі штучного інтелекту Марвіном Мінським. Воно потрапило до багатьох словників та енциклопедій з невеликими змінами і відображає таку основну думку: «штучний інтелект є дисципліна, що вивчає можливість створення програм для вирішення задач, які при вирішенні їх людиною потребують певних інтелектуальних зусиль». Але і це визначення має вади. Головна з них полягала в поганій формалізації поняття «певні інтелектуальні зусилля». «Певних інтелектуальних зусиль» вимагає, наприклад, виконання простих арифметичних операцій, але чи можна вважати інтелектуальною програму, яка здатна до виконання тільки таких операцій? Відтак у ряді книг та енциклопедій до наведеного визначення додається поправка: «сюди не входять задачі, для яких відома процедура їх розв’язку». Важко вважати таке формулювання задовільним. Розвиваючи цю думку далі, можна було б продовжити: отже, якщо я не знаю, як виконувати деяку задачу, то вона є інтелектуальною, а якщо знаю — то ні. Наступний крок — це відомі слова Л. Теслера: «Штучний інтелект — це те, чого ще не зроблено» [Мичи]. Цей парадоксальний висновок лише підкреслює дискусійність проблеми.
Є деякі більш конструктивні визначення інтелекту. Наприклад, в [Ендрю] наводиться одне з них: «інтелект є здатність правильно реагувати на нову ситуацію». Там же наводиться і критика цього визначення: не завжди зрозуміло, що слід вважати новою ситуацією. Уявіть собі, наприклад, звичайний калькулятор. Цілком імовірно, що на ньому ніколи не обчислювали суму двох нулів. Тоді завдання «обчислити нуль плюс нуль» можна вважати ситуацією, новою для калькулятора. Безумовно, він з нею впорається («правильно відреагує на нову ситуацію»), але чи можна на цій підставі вважати його інтелектуальною системою?
2.1 Основні проблемні середовища штучного інтелекту
Виділимо декілька типів проблемних середовищ, що найбільш часто зустрічаються.
Тип 1. Статичне проблемне середовище: статична предметна область; сутності представляються як сукупність атрибутів і їхніх значень; склад сутностей незмінний; БЗ не структуровані; вирішуються статичні задачі аналізу, використовуються тільки спеціалізовані що виконуються твердження.
Тип 2. Статичне проблемне середовище: статична предметна область; сутності представляються у виді атрибутів із значеннями або вироджених об'єктами (фреймів); склад сутностей незмінний; ієрархія БЗ або відсутня, або слабко виражена (нема спадкування властивостей); вирішуються статичні задачі аналізу, використовуються спеціалізовані твердження, що виконуються.
Тип 3. Статичне проблемне середовище: статична предметна область; сутності представляються у виді об'єктів; склад сутностей змінюваний; БЗ структуровані; вирішуються статичні задачі аналізу і синтезу, використовуються загальні і спеціалізовані що виконуються твердження.
Тип 4. Динамічне проблемне середовище: динамічна предметна область; сутності представляються сукупністю атрибутів і їхніх значень; склад сутностей незмінний; БЗ не структуровані; вирішуються динамічні задачі аналізу, використовуються спеціалізовані твердження, що виконуються.
Тип 5. Динамічне проблемне середовище: динамічна предметна область; сутності представляються у виді об'єктів; змінюваний склад сутностей; БЗ структуровані; вирішуються динамічні задачі аналізу і синтезу; використовуються загальні і спеціалізовані що виконуються твердження.
2.2 Проблема винятків
З успадкуванням пов’язана дуже серйозна проблема — проблема винятків. Вона полягає в тому, що деякі підкласи можуть не успадковувати ті чи інші властивості надкласів. Інакше кажучи, характерні риси класу успадковуються всіма його підкласами, крім деяких.
Нехай відомо, що літають всі птахи, крім пінгвінів (існують деякі інші види птахів, які не літають. Але для наших цілей це не має суттєвого значення). Якби це твердження відразу потрапило до бази знань саме в такому вигляді, особливих проблем не виникало б (хоча і в цьому випадку треба було б передбачити належну обробку винятків).
Але, як було зазначено раніше, експерт не завжди може сформулювати свої знання в явному вигляді. Зокрема, він може не знати або не пам"ятати всіх винятків. Тому він може спочатку включати до бази знань твердження про те, що всі птахи літають, а потім пригадати, що пінгвіни не літають, і додати це до бази знань.
У результаті ми могли б отримати базу знань, подібну до такої:
Рис. 1. Ілюстрація наслідування та обробки виключень
Усі птахи літають.
Ластівка є птахом.
Юкко є ластівкою.
Пінгвін є птахом.
Пінгвіни не літають.
Бакс є пінгвіном.
Якби три останні твердження не були включені до бази знань, система просто дійшла б хибного висновку, що Бакс літає. Але включення даних відомостей до бази знань ще більше ускладнює ситуацію. Система знань стає суперечливою: зодного боку, система повинна дійти висновку, що Бакс літає, а з іншого — що Бакс не літає. У даному випадку кажуть про втрату монотонності дедуктивної системи.
Система дедуктивного виведення називається монотонною, якщо виконується така властивість: якщо з набору тверджень (q1,…, qn) випливає твердження v, то v випливає і з набору тверджень (q1,…, qn, r).
Інакше кажучи, в монотонній теорії додавання нових фактів і правил не повинно впливати на істинність висновків, які могли бути отримані без них.
Додавання ж винятків до наявної бази знань може порушити монотонність. Існує багато підходів до вирішення цієї проблеми. Розробляються спеціальні немонотонні логіки: Рейтера, Мак-Дермотта та інші. Проте існують досить прості практичні прийоми. Наприклад, список виключень можна підтримувати явним чином. Інший корисний сформульований прийом: у разі виникнення суперечностей підклас успадковує відповідну властивість лише від найблищого попередника, тобто від класу, найближчого до нього в ієрархії класів.
Далі буде показано, як проблема винятків може вирішуватись в рамках продукційних систем і семантичних мереж.
У семантичних мережах можна також вводити зв’язки, що задають імплікацію, явно.
Слід відмітити, що формалізм семантичних мереж є зручним для задання знань і не дуже зручним для формалізації логічного виведення. Деякі конкретні методи логічного виведення на семантичних мережах описані в [Иск.интел, Вагин, Предст. зн]. Багато з них спираються на механізми дедуктивного виведення, характерні для логічних моделей та продукційних систем (в першу чергу — метод резолюцій). Ряд методик використовує співставлення зі зразком; таке співставлення є більш характерним для фреймових моделей. Але існують і методики, специфічні для семантичних мереж як графових моделей. В основі цих методик лежить інтерпретація логічного виведення та пошуку потрібної інформації в базі знань, яка задана семантичною мережею, як пошуку на графі. Зокрема, в [Предст.зн.] коротко описаний спосіб виведення, який називається перехресним пошуком. Відповідь на запитання формується на основі знаходження та аналізу шляхів між об'єктами, які фігурують у запитанні.
Наприклад, при аналізі мережі, зображеної на рис. 1, на запитання «Що спільного між Баксом та Юкко?» система може відповісти «Обидва вони птахи, але різних видів».
2.3 Проблема неточних і неповних знань
Раніше ми розглядали проблеми, які необхідно було вирішувати при проектуванні та розробці баз знань. Серед інших проблем можна відмітити такі.Знання можуть бути неповними. Це означає, що для доведення або спростування певного твердження може не вистачати інформації. У багатьох системах логічного виведення прийнято постулат замкненості світу. Це означає, що на запит про істинність деякого твердження система відповідає «так» тоді і тільки тоді, коли його можна довести; якщо ж довести це твердження неможливо, система відповідає «ні». Водночас «неможливо довести через нестачу інформації» і «доведено, що ні» — це зовсім не одне й те саме. З огляду на це бажано, щоб експертна система запитувала у користувача про факти, яких не вистачає.
Знання можуть бути недостовірними. Наприклад, на результат виконання продукції можуть впливати випадкові чинники (об"єктивна невизначенність) або ж експерт може бути не зовсім впевненим у деякому факті чи правилі виведення (суб"єктивна невизначенність).
Ненадійність знань і недостовірність наявних фактів обов"язково повинні враховуватися в процесі логічних побудов. Звичайно, можна було б просто відкидати факти та првила виведення, які викликають сумнів, але тоді довелося б відмовитися від цінної інформації. Тому необхідно розвивати процедури, які дозволяють здійснювати логічні побудови при недостовірних даних, і використовувати ці процедури в експертних системах. Необхідно враховувати модальність, а саме: необхідність або можливість того чи іншого факту, ставлення суб"єкта до деякого твердження і т.п. Крім того, в таких системах часто доводиться мати справу з неточно визначеними, нечіткими поняттями, такими, як «великий», «маленький» тощо.
2.4 Деякі проблеми виведення
Нехай ми маємо продукційне правило А=>В (якщо А, то В), при цьому коефіціент упевненості цього правила дорівнює (y). Зпогляду теорії ймовірностей цей коефіцент упевненості можна проінтерпретувати як Р (ВА) — умовну ймовірність В за умови А.
Нехай коефіціент упевненості твердження, А дорівнює (а). Тут ми розглядаємо коефіціенти упевненості окремих тверджень як їх ймовірності.
Чому (в) дорівнює = Р (В) — коефіціент упевненості висновку В? Зразу ж необхідно сказати, що ми не можемо обчислити Р (В) точно — для цього не вистачає інформації. Натомість ми можемо обчислити інтервал, до якого потрапить ця ймовірність.
Очевидно, події А та, А складають повну групу подій. Тоді відповідно до формули повної ймовірності маємо:
в=Р (В)=Р (А)Р (ВА)+Р (А)Р (ВА)=ау+(1-а)*Р (ВА).
У цій формулі фігурує невідоме значення Р (ВА), і саме тому точне обчислення (в) не є можливим. Але, оскільки 0=
<�ау+(1-а),
в Є[ay, ay+(1-a)].
Отже, інтервал невизначенності для висновку В є тим меншим, чим юільшим є коефіціент упевненості умови А. Якщо а=1, (в) визначається точно.
Якщо ж а=0, інтервал невизначенності для (в) становить [0,1], а це еквівалентно повній відсутності будь-якої корисної інформації.
Ми бачимо, що навіть у найпростіших випадках пряме застосування теоретико-ймовірнісних співвідношень спричиняє проблеми. Ситуація ще більше ускладнюється, якщо невизначеність носить «суб"єктивний» характер. Тому необхідно мати наближені, але простіші методики обчислення коефіціентів упевненості, які у більшості випадків давали б прийнятний результат.
3.1 Деякі інтелектуальні задачі
Розглянемо і проаналізуємо в загальних рисах деякі проблеми, які доводиться постійно вирішувати людському розумові: розпізнавання образів, мислення та обчислювальні задачі.
На інтуїтивному рівні можна сформулювати декілька типових задач розпізнаванняобразів (або просто розпізнавання):
n задача ідентифікації полягає в тому, що об'єкт, якийспостерігається людиною, потрібно вирізнити серед інших (наприклад, побачивши іншу людину, впізнати у ній свою дружину);
n проблема розпізнавання в класичній постановці: об'єкту, що спостерігається, до одного з заздалегідь відомих класів об'єктів (наприклад, відрізнити легковий автомобіль від вантажного).
Людина робить класифікацію просто. Наприклад, чоловік, повернувшись додому з роботи, відразу ж пізнає свою дружину, але більшість людей в повному обсязі не зможе пояснити, як він це робить. Як правило, раціонального пояснення немає. Теорія розпізнавання, яка інтенсивно розвивається, необхідна для того, щоб навчити розв’язувати задачі розпізнавання штучні інтелектуальні системи на основі досвіду розпізнавання людиною. Зокрема, сформульовано такий ключовий принцип [Хант)]: будь-який об`єкт у природі - унікальний; унікальні об`єкти — типізовані. У відповідності до цього принципу, розпізнавання здійснюється на основі аналізу певних характерних ознак. Вважається, що в природі не існує двох об'єктів, для яких співпадають абсолютно всі ознаки, і це теоретично дозволяє здійснювати ідентифікацію. Якщо ж для деяких об'єктів співпадають деякі ознаки, ці об'єкти теоретично можна об'єднувати в групи, або класи, за цими співпадаючими ознаками. Проблема полягає у тому, що різноманітних ознак існує незліченна кількість. Незважаючи на легкість, з якою людина проводить розпізнавання, вона дуже рідко в змозі виділити ознаки, суттєві для цього. До того ж, об'єкти, як правило, змінюються з часом. Ми далі спробуємо показати, що розпізнавання об'єктів і ситуацій має виняткове значення для орієнтації людини в навколішньому світі і для прийняття вірних рішень. Розпізнавання, як правило, здійснюється людиною на інтуїтивному, підсвідомому рівні, людина навчилася цьому за мільйони років еволюції.
Інша інтелектуальна задача — моделювання мислення;.Можна виділити два типи процесів мислення:
n підсвідоме інтуїтивне мислення, механізми якого на сучасному етапі вивчені недостатньо і яке дуже важко формалізувати та автоматизувати;
n дедуктивнілогічні побудови за формалізованими законами логіки. Дедукцією називається перехід від загального до часткового, виведення часткових наслідків з загальних правил.І тут пересічна людина рідко в змозі пояснити, за якими алгоритмами вона здійснює логічне виведення. Але методики таалгоритми, за якими можна автоматизувати виведення наслідків з фактів або логічну перевірку тих чи інших фактів, досить відомі.
Перш за все, це формальна логіка Аристотеля на основі конструкцій, які отримали назву силогізмів. Вони практично неподільно панували в логіці аж до початку XIX століття, тобто до появи булевої алгебри. Немає ніякої необхідності давати якісь формальні визначення силогізмів. Наведемо лише один класичний приклад.
Перше твердження. Усі люди смертні.
Друге твердження. Сократ — людина.
Висновок: Сократ смертний.
Якщо перше та друге твердження у силогізмі істинні та задовольняють певним загальним формальним вимогам, тоді і висновок буде істинним незалежно від змісту тверджень, що входять до силогізму. При порушенні цих формальних вимог легко припуститися логічних помилок, подібних до таких:
Всі студенти вузу, А знають англійську мову Петров знає англійську мову.
Отже, Петров — студент вузу А.
Або:
Іванов не готувався до іспиту і отримав двійку.
Сидоров не готується до іспиту.
Отже, і Сидоров отримає двійку.
Аристотелем було запропоновано декілька формальних конструкційсилогізмів, які він вважав достатньо універсальними. Лише у XIX столітті почала розвиватися сучасна математична логіка, яка розглядає силогізми Аристотеля як один із часткових випадків. Основою більшості сучасних систем, призначених для автоматизації логічних побудов, є метод резолюцій Робінсона. Він буде описаний пізніше. Але практична реалізація логічних зіткнулася з серйозними проблемами. Головна з них — це феномен, який Річард Беллман назвав прокляттям розмірності. На перший погляд, описати знання про зовнішній світ можна було б, наприклад, таким чином: «об'єкт, А має рисиX, Y, Z. В відрізняється від, А тим, що має рису Н, і т. д».Але зовнішній світ є винятково складним переплетінням різноманітних об'єктів та зв’язків між ними. Для того, щоб тільки ввести всю цю інформацію до пам’яті інтелектуального пристрою, може знадобитися не одна тисяча років. Ще більше років буде потрібно, щоб врахувати всі необхідні факти при логічному виведенні. Реальні програми, що здійснюють логічне виведення (вони часто називаються експертними системами) мають досить обмежене застосування. Вони мають обмежений набір фактів та правил з певної, більш-менш чітко окресленої предметної галузі і можуть використовуватися лише у цій галузі. Що ж стосується людини, то якість її логічного мислення також часто буває далекою від бездоганної. Люди часто роблять логічні помилки, а інколи взагалі керуються принципами, невірними з точки зору нормальної логіки. Дуже часто свідоме логічне виведення на певному етапі обривається, і рішення знову-ж таки приймається на підсвідомому, інтуїтивному рівні. Зрозуміло, що таке рішення може бути помилковим. Але, якби в основі поведінки людини лежали спроби проводити дедуктивні побудови з логічного початку до логічного кінця, людина була б практично не здатною до будь-якої діяльності: фізичноїабо розумової - це вимагало б значного часу аналізу. Спільною рисою згаданих вище проблем була їх погана формалізованість, відсутність або незастосовністьчітких алгоритмів розв’язку. Вирішення подібних задач і є основним предметом розгляду в теорії штучного інтелекту. До зовсім іншого класу відносяться задачі, пов’язані з обчисленнями. В принципі, важко відповісти на запитання, як саме людина здійснює ті чи інші обчислення. Добре відомими є і низька швидкість, і невисока надійність цього виду людської діяльності. Але були запропоновані ефективні принципи комп’ютерних обчислень, які радикально відрізняються від тих, які застосовуються людиною.і добре формалізовані, алгоритмічні методики забезпечили рівень вирішення обчислювальних задач, абсолютно недосяжний для людського інтелекту. Водночас цей високий рівень алгоритмізації значною мірою зумовив слабкість традиційних комп’ютерних систем при розв’язанні тих інтелектуальних задач, з якими людина справляється непогано. З появою таких обчислювальних потужностей мрійники шістедесятих — сімдесятих років ХХ століття ставили задачу моделювання в повному обсязі роботу людського мозку. Теоретично, цю задачу з певними обмеженнями можна було б вирішити. Але складність потрібних обчислень виявилася такою, що змусила більшість дослідників відійти від поставленої задачі і перейти до більш простих задач; моделювання принципів роботи людського мозку при розв’язку конкретно визначених типів задач.
3.2 Тест Тьюринга і фатичний діалог
Відомий англійський учений Алан Tьюринг сформулював тезу, спрямовану на визначення моменту, з якого машину можна вважати інтелектуальною [ Поспелов]. Нехай експерт за допомогою телефону або подібного віддаленого пристрою спілкується з кимось (або чимось), що може бути як людиною, так і машиною. Експерт дає певні тести-завдання. За результатами відповідей він повинен визначити, з ким він має справу — з людиною чи з ЕОМ. Якщо він приймає комп’ютер за людину, комп’ютер може вважатися інтелектуальним. Така перевірка дістала назву тесту Тьюринга. Багато спеціалістів вважали, що тест Тьюринга є цілком задовільним для визначення рівня інтелектуальності комп’ютерної системи. Але виявилось, що це не зовсім так. В основі тесту Тьюринга лежить неявне припущення про те, що необхідною умовою ведення діалогу є розуміння співрозмовника. Але у кінці 60-х рр. американський кібернетик Дж. Вейценбаум створив дві програми — ЕЛІЗА і ДОКТОР для використання в психіатрії. Виявилось, що вони можуть невірно зорієнтувати експерта в умовах тесту Тьюринга. В основі побудови цих програм лежить ідея фатичного діалогу.
Визначення. Фатичним діалогом називається діалог без розуміння співрозмовника, на основі формального перефразування почутого.
Так, наприклад, на висловлення пацієнта «Ви не відверті зі мною» програма може відповісти «Чому Ви думаєте, що я не відверта з Вами?» У ряді випадків програма може видати заздалегідь заготовлену фразу. Так, на слова пацієнта «Мій батько мене не любив» вона може відповісти «Розкажіть мені про Вашу сім'ю» .
Звичайно, це не має ніякого відношення ні до розуміння, ні до інтелекту, але багато людей, які проводили з цими програмами тест Тьюринга, вирішили, що мають справу з людиною.
3.3 Метод комп’ютерної реалізації фатичного діалогу
В основіпсевдоінтелектуальних програм, які можуть підтримувати фатичний діалог з людиною або з іншими аналогічними програмами, можуть лежати дуже прості алгоритми співставлення зі зразками. Тут описується класичний метод, що дозволяє писати подібні програми [Уїнстон].
Розглянемо «анатомію» програми ДОКТОР у дещо спрощеному вигляді. Діалог з цією програмою може бути, наприклад, таким:
ДОКТОР: Я Вас слухаю.
ЛЮДИНА: Мене бентежить погода.
ДОКТОР: Як давно Вас бентежить погода?
ЛЮДИНА: Відтоді, як померла моя мати.
ДОКТОР: Розкажіть про Вашу сім'ю.
ЛЮДИНА: Всі вони захоплюються комп’ютерами.
ДОКТОР: Машини Вас лякають.
ЛЮДИНА: Ні.
ДОКТОР: Будь ласка, не будьте так небагатослівні…
І так далі до нескінченності.
В основі методу, необхідного для реалізації такого діалогу, можележати механічне порівняння речень, які вводяться людиною, зі зразками (шаблонами) речень, що зберігаються програмою. Якщо речення співпало в повній мірі з одним із зразків, видається одна з відповідей, заздалегідь заготовлених для цього зразка.
Можна розглянути декілька варіантів порівнянь, кожний з них може бути легко запрограмований.
Варіант 1(повний збіг). Якщо речення, що вводиться, повністю збігається з одним із зразків, може бути відповідь: «Так, Ви маєте рацію», або навпаки: «Ви помиляєтесь, тому що…», і після «рацію» або «тому що» програміст може написати будь-який текст, що імітує глибоке розуміння специфіки предметної області. Наприклад, дуже непогано буде виглядати такий діалог:
Людина: Квадрат гіпотенузи дорівнює сумі квадратів катетів.
Програма: Так, але є подібний результат і для непрямокутних трикутників; це теорема косинусів.
Навряд чи після декількох подібних відповідей у когось залишаться сумніви в інтелектуальних здібностях програми. Але, звичайно, повні збіги бувають дуже рідко. Тому доводиться використовувати інші типи порівнянь.
Варіант 2(використання замінювачів). Типовим є використання замінювачів * і ?. З замінювачем * співставляється довільний фрагмент тексту, з замінювачем? співставляється будь-яке окреме слово. Наприклад, шаблон (* комп’ютери*) успішно співставляється з будь-яким реченням, в якому згадується про комп’ютери; шаблон (Я люблю? яблука) — з такими реченнями, як (Я люблю червоні яблука), (Я люблю солодкі яблука), тощо (але не з реченням (Я люблю їсти зелені яблука)).
Варіант 3(надання значень змінним в процесі співставлення). При цьому можливості програми, що реалізує фатичний діалог, значно розширюються. Вона набуває здібності до генерації відповідей, що залежать від запитань. Так, правило
Іванов — Є - Студент Ісп1 — Є - Іспит Ісп1 — Хто_Здав_ - Іванов Ісп1 — Предмет — Шт.Інт Ісп1 — Оцінка — 5 | Іванов — Є - Студент Ісп2 — Є - Іспит Ісп2 — Хто_Здав — Іванов Ісп2 — Предмет — Лісп Ісп2 — Оцінка — 2 | |
Зверніть особливу увагу на номери в предикатних іменах: кожному фактові здачі іспиту відповідає свій номер, для іншого студента або для іншого предмету предикатне ім'я буде іншим (інакше при описі відношення «багато до багатьох» знову виникне неоднозначність.
7. Нейронні мережі
Нейронні мережі, або штучні нейронні мережі, являють собою розвиток моделей, які виникли в результаті спроб імітування механізму мислення людини. Для визначення класів задач штуч-ного інтелекту (насамперед, розпізнавання, інтелектуального управління динамікою складних механічних систем тощо) нейромережні моделі часто забезпечують ефективніше рішення, ніж традиційні символьні підходи.
У самих загальних рисах результатом функціонування нейронної мережі є сигнал, що ідентифікує належність вхідного зоб-раження до одного з кількох класів (тобто мережа здійснює категоризацію зображень).