Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Основы искусственного интеллекта

Покупка
Артикул: 613623.02.99
Учебное пособие знакомит читателей с историей искусственного интеллекта, моделями представления знаний, экспертными системами и нейронными сетями. Описаны основные направления и методы, применяемые при анализе, разработке и реализации интеллектуальных систем. Рассмотрены модели представления знаний и методы работы с ними, методы разработки и создания экспертных систем. Книга поможет читателю овладеть навыками логического проектирования баз данных предметной области и программирования на языке ProLog. Для студентов и преподавателей педагогических вузов, учителей общеобразовательных школ, гимназий, лицеев.
Боровская, Е. В. Основы искусственного интеллекта : учебное пособие / Е. В. Боровская, Н. А. Давыдова. - 4-е изд. - Москва : Лаборатория знаний, 2020. - 130 с. - (Педагогическое образование). - ISBN 978-5-00101-908-4. - Текст : электронный. - URL: https://znanium.com/catalog/product/1201358 (дата обращения: 26.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
ОСНОВЫ
ИСКУССТВЕННОГО
ИНТЕЛЛЕКТА

ОСНОВЫ
ИСКУССТВЕННОГО
ИНТЕЛЛЕКТА

Е. В. Боровская
Н. А. Давыдова

Учебное пособие

4-е издание, электронное

Москва
Лаборатория знаний
2020

ПЕДАГОГИЧЕСКОЕ  ОБРАЗОВАНИЕ

УДК 004.8
ББК 32.813
Б83

С е р и я о с н о в а н а в 2007 г.
Боровская Е. В.
Б83
Основы искусственного интеллекта : учебное пособие
/
Е. В. Боровская,
Н. А. Давыдова. — 4-е
изд.,
электрон. — М. : Лаборатория знаний, 2020. — 130 с. —
(Педагогическое
образование). — Систем.
требования:
Adobe Reader XI ; экран 10". — Загл. с титул. экрана. —
Текст : электронный.
ISBN 978-5-00101-908-4
Учебное
пособие
знакомит
читателей
с
историей
искусственного интеллекта, моделями представления знаний,
экспертными
системами
и
нейронными
сетями.
Описаны
основные
направления
и
методы,
применяемые
при
анализе, разработке и реализации интеллектуальных систем.
Рассмотрены модели представления знаний и методы работы
с ними, методы разработки и создания экспертных систем.
Книга поможет читателю
овладеть навыками логического
проектирования баз данных предметной области и программирования на языке ProLog.
Для студентов и преподавателей педагогических вузов,
учителей общеобразовательных школ, гимназий, лицеев.
УДК 004.8
ББК 32.813

Деривативное издание на основе печатного аналога: Основы искусственного интеллекта : учебное пособие / Е. В. Боровская, Н. А. Давыдова. — М. : БИНОМ. Лаборатория знаний, 2010. — 127 с. : ил. — (Педагогическое образование). —
ISBN 978-5-94774-480-4.

В
соответствии
со
ст. 1299
и
1301
ГК
РФ
при
устранении
ограничений, установленных техническими средствами защиты
авторских прав, правообладатель вправе требовать от нарушителя
возмещения убытков или выплаты компенсации

ISBN 978-5-00101-908-4
c○ Лаборатория знаний, 2015

2

Глава 1. Искусственный интеллект . . . . . . . . . . . . . . . . 5

1.1. Введение в системы искусственного интеллекта . . . . . . . . 5

1.1.1. Понятие об искусственном интеллекте . . . . . . . . . . 5
1.1.2. Искусственный интеллект в России. . . . . . . . . . . . 11
1.1.3. Функциональная структура системы
искусственного интеллекта . . . . . . . . . . . . . . . . . . 13

1.2. Направления развития искусственного интеллекта . . . . 14
1.3. Данные и знания. Представление знаний
в интеллектуальных системах. . . . . . . . . . . . . . . . . . . . . 17
1.3.1. Данные и знания. Основные определения . . . . . . . 17
1.3.2. Модели представления знаний. . . . . . . . . . . . . . . . 19

1.4. Экспертные системы . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

1.4.1. Структура экспертной системы . . . . . . . . . . . . . . . 28
1.4.2. Разработка и использование экспертных систем . . . 30
1.4.3. Классификация экспертных систем. . . . . . . . . . . . 31
1.4.4. Представление знаний в экспертных системах . . . 35
1.4.5. Инструментальные средства построения
экспертных систем . . . . . . . . . . . . . . . . . . . . . . . . 36

1.4.6. Технология разработки экспертной системы . . . . . 38

Контрольные вопросы и задания к главе 1 . . . . . . . 43
Литература к главе 1 . . . . . . . . . . . . . . . . . . . . . . . 44

Глава 2. Логическое программирование. . . . . . . . . . . . 45

2.1. Методологии программирования. . . . . . . . . . . . . . . . . . . 45

2.1.1. Методология императивного программирования . . . 46
2.1.2. Методология объектно-ориентированного
программирования . . . . . . . . . . . . . . . . . . . . . . . . 48

2.1.3. Методология функционального
программирования . . . . . . . . . . . . . . . . . . . . . . . . 50

2.1.4. Методология логического программирования . . . . 51
2.1.5. Методология программирования в ограничениях . . . 53
2.1.6. Методология нейросетевого программирования. . . 54

2.2. Краткое введение в исчисление предикатов
и доказательство теорем . . . . . . . . . . . . . . . . . . . . . . . . . 55

2.3. Процесс логического вывода в языке Prolog . . . . . . . . . . 58

ОГЛАВЛЕНИЕ

2.4. Структура программы на языке Prolog . . . . . . . . . . . . . . 62

2.4.1. Использование составных объектов . . . . . . . . . . . . 67
2.4.2. Использование альтернативных доменов . . . . . . . . 68

2.5. Организация повторений в языке Prolog. . . . . . . . . . . . . 69

2.5.1. Метод отката после неудачи. . . . . . . . . . . . . . . . . . 70
2.5.2. Метод отсечения и отката . . . . . . . . . . . . . . . . . . . 72
2.5.3. Простая рекурсия . . . . . . . . . . . . . . . . . . . . . . . . . 73
2.5.4. Метод обобщенного правила рекурсии (ОПР). . . . . 73

2.6. Списки в языке Prolog . . . . . . . . . . . . . . . . . . . . . . . . . . 75

2.6.1. Операции над списками. . . . . . . . . . . . . . . . . . . . . 80

2.7. Строки в языке Prolog . . . . . . . . . . . . . . . . . . . . . . . . . . 86

2.7.1. Операции над строками . . . . . . . . . . . . . . . . . . . . . 87

2.8. Файлы в языке Prolog. . . . . . . . . . . . . . . . . . . . . . . . . . . 90

2.8.1. Предикаты Prolog для работы с файлами . . . . . . . 90
2.8.2. Описание файлового домена. . . . . . . . . . . . . . . . . . 92
2.8.3. Запись в файл . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
2.8.4. Чтение из файла . . . . . . . . . . . . . . . . . . . . . . . . . . 93
2.8.5. Модификация существующего файла . . . . . . . . . . 94
2.8.6. Дозапись в конец уже существующего файла . . . . 94

2.9. Создание динамических баз данных в языке Prolog . . . . 98

2.9.1. Базы данных на Prolog . . . . . . . . . . . . . . . . . . . . . 98
2.9.2. Предикаты динамической базы данных
в языке Prolog . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

2.10. Создание экспертных систем . . . . . . . . . . . . . . . . . . . . 103

2.10.1. Структура экспертной системы . . . . . . . . . . . . . 103
2.10.2. Представление знаний . . . . . . . . . . . . . . . . . . . . 104
2.10.3. Методы вывода . . . . . . . . . . . . . . . . . . . . . . . . . 105
2.10.4. Система пользовательского интерфейса . . . . . . . 105
2.10.5. Экспертная система, базирующаяся на правилах. . 106

Контрольные вопросы и задания к главе 2. . . . . 109
Литература к главе 2 . . . . . . . . . . . . . . . . . . . . . 111

Глава 3. Нейронные сети . . . . . . . . . . . . . . . . . . . . . . 112

3.1. Введение в нейронные сети . . . . . . . . . . . . . . . . . . . . . . 112
3.2. Искусственная модель нейрона . . . . . . . . . . . . . . . . . . . 118
3.3. Применение нейронных сетей . . . . . . . . . . . . . . . . . . . . 122
3.4. Обучение нейросети . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

Контрольные вопросы и задания к главе 3 . . . . . 127
Литература к главе 3 . . . . . . . . . . . . . . . . . . . . . 127

4
Оглавление

1.1. Введение в системы
искусственного интеллекта

1.1.1. Понятие об искусственном интеллекте

Система искусственного интеллекта (ИИ) — это программная система, имитирующая на компьютере процесс мышления человека. Для создания такой системы необходимо
изучить сам процесс мышления человека, решающего определенные задачи или принимающего решения в конкретной
области, выделить основные шаги этого процесса и разработать программные средства, воспроизводящие их на компьютере. Следовательно, методы ИИ предполагают простой структурный подход к разработке сложных программных систем
принятия решений [5].
Искусственный интеллект — это направление информатики, целью которого является разработка аппаратно-программных средств, позволяющих пользователю-непрограммисту ставить и решать свои традиционно считающиеся интеллектуальными задачи, общаясь с ЭВМ на ограниченном подмножестве
естественного языка.

Идея создания искусственного подобия человека для решения сложных задач и моделирования человеческого разума, что называется, «витала в воздухе» еще в древнейшие
времена. Родоначальником искусственного интеллекта считается средневековый испанский философ, математик и
поэт Раймонд Луллий, который еще в XIII в. пытался создать механическое устройство для решения различных задач на основе разработанной им всеобщей классификации
понятий.

ГЛАВА 1

ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ

Позже Лейбниц и Декарт независимо друг от друга продолжили эту идею, предложив универсальные языки классификации для всех наук. Эти работы можно считать первыми теоретическими работами в области искусственного интеллекта.
Однако окончательное рождение искусственного интеллекта как научного направления произошло только после
создания ЭВМ в 1940-х гг., когда Норберт Винер создал свои
основополагающие работы по новой науке — кибернетике.
Термин «искусственный интеллект» (ИИ; англ. AI —
«Artificial Intelligence») был предложен в 1956 г. на семинаре с аналогичным названием в Дартмутском колледже
(США). Этот семинар был посвящен разработке методов решения логических (а не вычислительных) задач. Заметим,
что в английском языке данное словосочетание не имеет той
слегка фантастической антропоморфной окраски, которую
оно приобрело в довольно неудачном русском переводе. Слово «intelligence» означает всего лишь «умение рассуждать
разумно», а вовсе не «интеллект» (для которого есть отдельный английский аналог «intellect»).
Вскоре после признания искусственного интеллекта особой областью науки произошло его разделение на два направления: нейрокибернетику и кибернетику «черного ящика».
Эти направления развивались практически независимо, существенно различаясь как в методологии, так и технологически. И только в настоящее время стали заметны тенденции к объединению этих частей вновь в единое целое.

Нейрокибернетика

Основную идею этого направления можно сформулировать
следующим образом: «Единственный объект, способный
мыслить, — это человеческий мозг, поэтому любое мыслящее устройство должно так или иначе воспроизводить его
структуру». Таким образом, нейрокибернетика ориентирована на программно-аппаратное моделирование структур,
подобных структуре мозга. Усилия нейрокибернетики были
сосредоточены на создании элементов, аналогичных нейронам, и на их объединении в функционирующие системы —
нейронные сети [2].

6
Глава 1

Первые нейросети были созданы в 1956–1965-х гг. Это
были не очень удачные попытки создать системы, моделирующие человеческий глаз и его взаимодействие с мозгом.
Постепенно в 1970–1980-х гг. количество работ по этому направлению искусственного интеллекта стало снижаться, —
слишком уж неутешительными были первые результаты.
Обычно авторы разработок объясняли свои неудачи малой памятью и низким быстродействием существующих в то
время компьютеров.
Первый нейрокомпьютер был создан в Японии в рамках
проекта «ЭВМ пятого поколения». К этому времени ограничения по памяти и быстродействию ЭВМ были практически
сняты. Появились транспьютеры — компьютеры с большим количеством процессоров, реализующих параллельные
вычисления. Транспьютерная технология — это один из десятка новых подходов к аппаратной реализации нейросетей,
которые моделируют иерархическую структуру мозга человека.
В целом сегодня можно выделить три основных разновидности подходов к созданию нейросетей: аппаратный (создание специальных компьютеров, нейрочипов, плат расширения, наборов микросхем), программный (создание программ
и программных инструментариев, рассчитанных на высокопроизводительные компьютеры; такие сети создаются «виртуально», в памяти компьютера, тогда как всю работу выполняют его собственные процессоры) и гибридный (комбинация первых двух способов).

Кибернетика «черного ящика» и искусственный интеллект

В основу этого подхода заложен принцип, противоположный нейрокибернетике. Здесь уже не имеет значения, как
именно устроено «мыслящее» устройство, — главное, чтобы
на заданные входные воздействия оно реагировало так же,
как и человеческий мозг.
Сторонники этого направления мотивировали свой подход тем, что человек не должен слепо следовать природе
в своих научных и технологических поисках. К тому же пограничные науки о человеке не смогли внести существенно
Искусственный интеллект
7

го теоретического вклада, объясняющего (хотя бы приблизительно), как протекают интеллектуальные процессы у
человека, как устроена его память и как человек познает
окружающий мир [2].
Это направление искусственного интеллекта было ориентировано на поиск алгоритмов решения интеллектуальных
задач на существующих моделях компьютеров. Существенный вклад в становление новой науки внесли такие ее
пионеры, как Маккарти, Минский, Ньюэлл, Саймон, Шоу,
Хант и др.
В 1956–1963-х гг. велись интенсивные поиски моделей и
алгоритмов человеческого мышления и разработка первых
программ
на
их
основе.
Представители
гуманитарных
наук — философы, психологи, лингвисты — ни тогда, ни
сейчас не смогли предложить такие алгоритмы, тогда кибернетики начали создавать собственные модели.
Так последовательно были созданы и опробованы различные подходы.
В конце 1950-х гг. появилась модель лабиринтного поиска. Этот подход представляет задачу как некоторое пространство состояний в форме графа, после чего в этом графе
производится поиск оптимального пути от входных данных
к результирующим. Была проделана большая работа по созданию такой модели, но для решения практических задач
эта идея все же не нашла широкого применения.
Начало 1960-х гг. стало эпохой эвристического программирования. Эвристика — это некоторое правило, теоретически не обоснованное, но позволяющее сократить количество
переборов в пространстве поиска. Эвристическое программирование — это разработка стратегии действий на основе
известных, заранее заданных эвристик.
В 1963–1970-х гг. к решению задач стали подключать методы математической логики. Робинсон разработал метод
резолюций, который позволяет автоматически доказывать
теоремы при наличии набора исходных аксиом. Примерно
в это же время выдающийся отечественный математик
Ю. С. Маслов предложил так называемый обратный вывод
(впоследствии названный его именем), решающий аналогичную задачу другим способом. На основе метода резолюций

8
Глава 1

француз Альбер Кольмероэ в 1973 г. создал язык логического программирования Prolog. Большой резонанс в научном сообществе вызвала программа «Логик-теоретик», созданная Ньюэллом, Саймоном и Шоу, которая доказывала
школьные теоремы. Однако большинство реальных задач
не сводится к набору аксиом, а человек, решая производственные задачи, далеко не всегда использует классическую
логику, поэтому логические модели при всех своих преимуществах имеют существенные ограничения по классам решаемых задач.
История искусственного интеллекта полна драматических событий, одним из которых стал в 1973 г. так называемый «доклад Лайтхилла», который был подготовлен в
Великобритании по заказу Британского совета научных исследований. Известный математик Лайтхилл, никак с искусственным интеллектом профессионально не связанный,
подготовил обзор состояния дел в этой области. В докладе
были признаны определенные достижения, однако их уровень определялся как «разочаровывающий», а общая оценка была отрицательной с позиций практической значимости. Этот отчет отбросил европейских исследователей примерно на пять лет назад, так как финансирование работ
существенно сократилось.
Примерно в это же время существенный прорыв в развитии практических приложений искусственного интеллекта
произошел в США, когда в середине 1970-х гг. на смену поиску универсального алгоритма мышления пришла идея
моделировать конкретные знания специалистов-экспертов.
В США появились первые коммерческие системы, основанные на знаниях, или экспертные системы (ЭС). Стал применяться и новый подход к решению задач искусственного
интеллекта — представление знаний. Были созданы две первые экспертные системы для медицины и химии — Mycin
и Dendral, ставшие классическими. Существенный финансовый вклад внес и Пентагон, предлагая базировать новую
программу министерства обороны США на принципах искусственного интеллекта. Уже вдогонку упущенных возможностей Европейский союз в начале 1980-х гг. объявил о
глобальной программе развития новых технологий ESPRIT,

Искусственный интеллект
9

в которую была включена проблематика искусственного интеллекта.
В конце 1970-х гг. в гонку включается Япония, объявив
о начале проекта машин пятого поколения, основанных на
знаниях. Проект был рассчитан на десять лет и объединял лучших молодых специалистов крупнейших японских
компьютерных корпораций. Для этих специалистов был
специально создан новый институт ICOT и предоставлена
полная свобода действий (правда, без права публикации
предварительных результатов). В результате они создали достаточно громоздкий и дорогой символьный процессор, программно реализующий пролого-подобный язык, но не получивший широкого признания. Однако положительный эффект от этого проекта был очевиден. В Японии появилась
значительная группа высококвалифицированных специалистов в области искусственного интеллекта, которая добилась
существенных результатов в различных прикладных задачах. К середине 1990-х гг. японская ассоциация искусственного интеллекта насчитывала уже 40 тыс. человек.
Начиная с середины 1980-х гг. повсеместно происходила
коммерциализация искусственного интеллекта. Росли ежегодные капиталовложения, создавались промышленные экспертные системы. Рос интерес к самообучающимся системам. Издавались десятки научных журналов, ежегодно собирались международные и национальные конференции по
различным направлениям искусственного интеллекта, который становился одной из наиболее перспективных и престижных областей информатики.

В настоящее время различают два основных подхода
к моделированию искусственного интеллекта: машинный
интеллект, заключающийся в строгом задании результата
функционирования, и искусственный разум, направленный
на моделирование внутренней структуры системы. Моделирование систем первой группы достигается за счет использования законов формальной логики, теории множеств,
графов, семантических сетей и других достижений науки
в области дискретных вычислений, а основные результаты
заключаются в создании экспертных систем, систем разбора

10
Глава 1

естественного языка и простейших систем управления вида
«стимул — реакция». Системы же второй группы базируются на математической интерпретации деятельности нервной
системы (прежде всего мозга человека) и реализуются в виде
нейроподобных сетей на базе нейроподобного элемента —
аналога нейрона [1].

1.1.2. Искусственный интеллект в России

В 1954 г. в МГУ начал работу семинар «Автоматы и мышление» под руководством академика А. А. Ляпунова (1911–
1973), одного из основателей российской кибернетики.
В этом семинаре принимали участие физиологи, лингвисты,
психологи, математики. Принято считать, что именно в это
время родился искусственный интеллект в России. Как и за
рубежом, в нем выделились два основных направления —
нейрокибернетика и кибернетика «черного ящика».
В 1954–1964-х гг. создавались отдельные программы и
проводились исследования в области поиска решения логических задач. В ЛОМИ (Ленинградском отделении Математического института им. Стеклова) была создана программа
АЛПЕВ ЛОМИ, автоматически доказывающая теоремы,
которая основана на оригинальном обратном выводе Маслова, аналогичном методу резолюций Робинсона. Среди наиболее значимых результатов, полученных отечественными
учеными в 1960-е гг., следует отметить алгоритм «Кора»
М. М. Бонгарда, моделирующий деятельность человеческого
мозга при распознавании образов. Большой вклад в становление российской школы искусственного интеллекта внесли
и такие выдающиеся ученые, как М. Л. Цетлин, В. Н. Пушкин, М. А. Гаврилов, чьи ученики стали пионерами этой
науки в России.
В 1965–1980-х гг. родилось новое направление ИИ — ситуационное (соответствующее представлению знаний в западной
терминологии). Основателем этой научной школы стал профессор Д. А. Поспелов. Были разработаны и специальные
модели представления ситуаций (представления знаний).
При том, что отношение к новым наукам в советской
России всегда было настороженным, наука с таким «вызы
Искусственный интеллект
11

вающим» названием тоже не избежала этой участи и была
встречена в Академии наук «в штыки». К счастью, среди
членов Академии наук СССР нашлись люди, не испугавшиеся столь необычного словосочетания в качестве названия
нового научного направления. Однако только в 1974 г. при
Комитете по системному анализу при президиуме АН СССР
был создан научный совет по проблеме «Искусственный интеллект», его возглавил Д. А. Поспелов. По инициативе этого совета было организовано пять комплексных научных
проектов, возглавляемых ведущими специалистами в данной области: «Диалог» (работы по пониманию естественного
языка), «Ситуация» (ситуационное управление), «Банк»
(банки данных), «Конструктор» (поисковое конструирование) и «Интеллект робота».
В 1980–1990-х гг. в нашей стране проводились активные
исследования в области представления знаний, разрабатывались языки представления знаний и экспертные системы;
в МГУ был создан язык Рефал.
В 1988 г. была сформирована Ассоциация искусственного
интеллекта (АИИ), президентом которой единогласно был
избран Д. А. Поспелов. В рамках этой ассоциации проводилось большое количество исследований, были организованы
школы для молодых специалистов, семинары, симпозиумы,
раз в два года проводились объединенные конференции, издавался научный журнал.
Следует отметить, что уровень теоретических исследований по искусственному интеллекту в России всегда был ничуть не ниже общемирового. Однако, к сожалению, начиная
с 1980-х гг. на прикладных работах начинало сказываться
постепенное отставание в технологии. На данный момент
отставание в области разработки промышленных интеллектуальных систем составляет примерно 3–5 лет.
Основные области применения систем ИИ: доказательство теорем, игры, распознавание образов, принятие решений, адаптивное программирование, сочинение машинной
музыки, обработка данных на естественном языке, обучающиеся сети (нейросети), вербальное концептуальное обучение.

12
Глава 1