Промышленность производство : Курсовая работа: Проблематика штучного інтелекту
Курсовая работа: Проблематика штучного інтелекту
М і н і с т е р с т в о о с в і т и і н а у к и
У к р а ї н и
Н а ц і о н а л ь н и й у н і в е р с и т е т “Львівська
політехніка”
Кафедра „ІСМ”

Курсова робота
на тему: „Проблематика штучного інтелекту”
з дисципліни: Системи штучного інтелекту
Виконав:
ст. гр. ФЛ-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=<P(B\A)=<1,
маємо
ау=<Р(В) =< |