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

Программирование искусственного интеллекта в приложениях

Покупка
Артикул: 616465.01.99
К покупке доступен более свежий выпуск Перейти
Данная книга посвящена вопросам искусственного интеллекта (ИИ), то есть методам и технологиям, призванным сделать ПО более умным и полезным. Рассмотренные алгоритмы в основном предназначены для встраивания в другое программное обеспечение, что позволяет создавать программы, гибко подстраивающиеся под требования и привычки пользователя. Здесь описан ряд алгоритмов ИИ - нейронные сети, генетические алгоритмы, системы, основанные на правилах, нечеткая логика, алгоритмы муравья и умные агенты. Для каждого алгоритма приведены примеры реализации. Некоторые из этих приложений применяются на практике, другие относятся скорее к теоретическим изысканиям. Так или иначе, автор раскрывает секреты наиболее интересных алгоритмов ИИ, что делает их доступными для более широкой аудитории. Предполагается, что благодаря подробному описанию алгоритмов методики и технологии ИИ займут свое место в списке традиционных программ. Книга призвана помочь разработчикам использовать технологии ИИ при создании более умного программного обеспечения.
Джонс, М. Т. Программирование искусственного интеллекта в приложениях [Электронный ресурс] / М. Тим Джонс ; Пер. с англ. А. И. Осипов. - 2-е изд. - Москва : ДМК Пресс, 2011. - 312 с.: ил. - ISBN 978-5-94074-746-8. - Текст : электронный. - URL: https://znanium.com/catalog/product/410211 (дата обращения: 28.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Программирование искусственного интеллекта

в приложениях

М. Тим Джонс

Второе издание

Al Application
Programming

M. Tim Jones

CHARLES RIVER MEDIA, INC.
Hingham, Massachusetts

Москва, 2011

Программирование

искусственного

интеллекта

в приложениях

М. Тим Джонс

Второе издание

УДК 004.8
ББК 32.813

Д42

Джонс М. Т.
Программирование искусственного интеллекта в приложениях / М. Тим
Джонс ; Пер. с англ. Осипов А. И. – М. : ДМК Пресс, 2011. – 312 с.: ил.

ISBN 978-5940747468

Д42

ISBN 1584502789 (англ.)
CHARLIES RIVER MEDIA

ISBN 978-5940747468 (рус.)
© Издание на русском языке, перевод на русский
язык, оформление. ДМК Пресс

Данная книга посвящена вопросам искусственного интеллекта (ИИ), то есть

методам и технологиям, призванным сделать ПО более умным и полезным. Рассмотренные алгоритмы в основном предназначены для встраивания в другое программное обеспечение, что позволяет создавать программы, гибко подстраивающиеся под
требования и привычки пользователя.

Здесь описан ряд алгоритмов ИИ – нейронные сети, генетические алгоритмы,

системы, основанные на правилах, нечеткая логика, алгоритмы муравья и умные
агенты. Для каждого алгоритма приведены примеры реализации. Некоторые из этих
приложений применяются на практике, другие относятся скорее к теоретическим
изысканиям. Так или иначе, автор раскрывает секреты наиболее интересных алгоритмов ИИ, что делает их доступными для более широкой аудитории. Предполагается, что благодаря подробному описанию алгоритмов методики и технологии ИИ
займут свое место в списке традиционных программ.

Книга призвана помочь разработчикам использовать технологии ИИ при создании более умного программного обеспечения.

Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то

ни было форме и какими бы то ни было средствами без письменного разрешения владельцев
авторских прав.

Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность

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

Copyright ©  by

Содержание

Глава 1. История искусственного интеллекта ...................... 15

Что такое искусственный интеллект ............................................... 15
Сильный и слабый ИИ ...................................................................... 16
Результат внедрения ИИ .................................................................. 16
История развития ИИ ....................................................................... 16

Рождение компьютера, 1940е ........................................................... 16
Рождение ИИ, 1950е ....................................................................... 17
Подъем ИИ, 1960е .......................................................................... 18
Спад исследований ИИ, 1970е .......................................................... 19
Подъем и спад ИИ, 1980е ................................................................. 19
Постепенный прогресс ИИ, 1990е и настоящее время ......................... 20
Направления ИИ ............................................................................... 21
Основоположники ............................................................................. 21

Алан Тьюринг .................................................................................. 21
Джон МакКарти ............................................................................... 21
Марвин Мински ............................................................................... 22

Артур Самуэль ................................................................................. 22
Философские, моральные и социальные аспекты ........................ 22
Структура данной книги ................................................................... 23
Литература и ресурсы ...................................................................... 24

Глава 2. Алгоритм отжига ............................................................. 25

Естественная мотивация ................................................................. 25
Алгоритм отжига ............................................................................... 25

Начальное решение ......................................................................... 26

Оценка решения .............................................................................. 26
Случайный поиск решения ................................................................ 26
Критерий допуска ............................................................................ 27
Снижение температуры .................................................................... 28
Повтор ........................................................................................... 28

Программирование ИИ в приложениях
6

Пример итерации ............................................................................. 28
Пример задачи .................................................................................. 29

Представление решения ................................................................... 30
Энергия .......................................................................................... 30
Температура ................................................................................... 30
Исходный код .................................................................................... 32
Пример выполнения ......................................................................... 38
Оптимизация алгоритма .................................................................. 40

Начальная температура .................................................................... 40
Конечная температура ...................................................................... 40
Функция изменения температуры ...................................................... 40
Количество итераций при одном значении температуры ....................... 40
Другие области применения .......................................................... 41
Итоги .................................................................................................. 41
Литература и ресурсы ..................................................................... 41

Глава 3. Введение в теорию адаптивного резонанса ....... 43

Алгоритмы кластеризации ............................................................... 43
Биологическая мотивация ............................................................... 43
Алгоритм ART1 .................................................................................. 44

ART1 в деталях ................................................................................ 44
Разбор выполнения алгоритма .......................................................... 47

Обучение в ART1 .............................................................................. 48
Преимущества ART1 по сравнению
с другими алгоритмами кластеризации .............................................. 48
Семейство алгоритмов ART ............................................................... 48
Использование ART1 для персонализации .................................... 48

Определение персонализации .......................................................... 49
Применение персонализации ............................................................ 49
Персонализация с использованием ART1 ............................................ 49
Исходный код .................................................................................... 50
Оптимизация алгоритма .................................................................. 59
Пример запуска ................................................................................ 59
Аспекты соблюдения конфиденциальности .................................. 60
Другие области применения .......................................................... 61
Итоги .................................................................................................. 61
Литература и ресурсы ...................................................................... 62

Содержание
7

Глава 4. Алгоритмы муравья ....................................................... 63

Естественная мотивация ................................................................. 63
Алгоритм муравья ............................................................................. 65

Граф .............................................................................................. 65
Муравей ......................................................................................... 67
Начальная популяция ....................................................................... 67
Движение муравья ........................................................................... 67
Путешествие муравья ....................................................................... 67
Испарение фермента ....................................................................... 68
Повторный запуск ............................................................................ 68
Пример итерации ............................................................................. 68
Пример задачи .................................................................................. 71
Исходный код .................................................................................... 71
Примеры запуска .............................................................................. 80
Изменение параметров алгоритма ................................................. 82

Alpha (α) / Beta (β) ............................................................................ 82
Rho (ρ) ............................................................................................ 82

Количество муравьев ....................................................................... 82
Другие области применения .......................................................... 83
Итоги .................................................................................................. 83
Литература и ресурсы ...................................................................... 83

Глава 5. Введение в архитектуру нейронных сетей
и алгоритм обратного распространения ............................... 85

Нейронные сети в биологической перспективе ............................ 85

Однослойные перцептроны ............................................................... 86
Моделирование булевых выражений с помощью SLP ............................ 87
Многослойные сети ......................................................................... 88
Обучение с помощью
алгоритма обратного распространения ......................................... 90

Алгоритм обратного распространения ................................................ 90
Пример алгоритма обратного распространения .................................. 91
Расчет поведения ИИ для компьютерных игр ................................ 94

Архитектура нейроконтроллера ......................................................... 96
Обучение нейроконтроллера ............................................................. 98
Данные для тестирования ................................................................. 98
Обсуждение исходного кода ............................................................ 100

Программирование ИИ в приложениях
8

Обучение нейроконтроллера ........................................................ 109
Память нейроконтроллера ............................................................. 110
Другие области применения ......................................................... 110
Итоги ................................................................................................ 110
Литература и ресурсы .................................................................... 111

Глава 6. Введение в генетические алгоритмы ................... 112

Биологическое побуждение .......................................................... 112
Генетический алгоритм .................................................................. 112

Инициализация ............................................................................. 113
Оценка ......................................................................................... 114
Отбор ........................................................................................... 114
Рекомбинирование ........................................................................ 115
Генетические операторы ............................................................... 116

Перекрестное скрещивание ............................................................ 116

Мутация ....................................................................................... 117
Пример выполнения генетического алгоритма .......................... 118
Пример задачи ................................................................................ 120

Обзор .......................................................................................... 120
Кодировка решения ....................................................................... 120
Оценка здоровья ........................................................................... 120
Рекомбинирование ........................................................................ 121
Обсуждение кода ............................................................................ 121

Реализация виртуальной машины .................................................... 121
Применение генетического алгоритма .............................................. 124
Примеры запуска ............................................................................ 134
Настройка параметров и процессов ............................................. 136

Метод отбора ................................................................................ 136
Размер популяции ......................................................................... 136
Генетические операторы ................................................................ 136
Другие механизмы ......................................................................... 137
Вероятности ................................................................................. 137
Недостатки генетического алгоритма .......................................... 138

Преждевременное схождение ......................................................... 138
Эпистазис ..................................................................................... 138
Теорема «не бывает бесплатных обедов» .......................................... 139
Другие области применения ........................................................ 139
Итоги ................................................................................................ 139
Литература и ресурсы .................................................................... 140

Содержание
9

Глава 7. Искусственная жизнь .................................................. 141

Введение ......................................................................................... 141

Моделирование пищевых цепочек .................................................... 141
Модель пищевой цепочки ............................................................. 142

Обзор .......................................................................................... 142
Окружающая среда ........................................................................ 142
Анатомия агента ............................................................................ 143
Энергия и метаболизм ................................................................... 145
Воспроизведение .......................................................................... 147

Смерть ......................................................................................... 147
Соревновательность ...................................................................... 147
Пример итерации ........................................................................... 147

Исходный код ................................................................................ 151
Примеры функционирования модели .......................................... 171
Интересные стратегии ................................................................... 173
Изменение параметров ................................................................. 173
Итоги ................................................................................................ 174
Литература и ресурсы .................................................................... 174

Глава 8. Введение в системы,
основанные на правилах ............................................................. 175

Введение ......................................................................................... 175
Архитектура системы, основанной на правилах .......................... 175

Рабочая память ............................................................................. 176
База знаний .................................................................................. 176
Система логического вывода ........................................................... 177
Типы систем, основанных на правилах ........................................ 177

Система обратного вывода ............................................................. 177
Система прямого вывода ................................................................ 177
Фазы работы системы, основанной на правилах ........................ 178

Фаза соответствия ......................................................................... 178

Фаза разрешения конфликтов ......................................................... 178
Фаза действия .............................................................................. 179
Простой пример .............................................................................. 179
Пример использования .................................................................. 181

Устойчивость к ошибкам ................................................................. 181
Определение правил ...................................................................... 182
Обсуждение исходного кода ......................................................... 185

Программирование ИИ в приложениях
10

Построение базы правил ............................................................... 207
Область применения ...................................................................... 207
Недостатки систем, основанных на правилах ............................. 208
Итоги ................................................................................................ 208
Литература и ресурсы .................................................................... 209

Глава 9. Введение в нечеткую логику .................................... 210

Введение ......................................................................................... 210
Пример нечеткой логики ................................................................ 210
Функции принадлежности ............................................................. 211
Нечеткое управление ..................................................................... 212
Визуальный пример нечеткой логики ........................................... 213
Аксиомы нечеткой логики .............................................................. 215
Функции ограничения .................................................................... 216
Зачем использовать нечеткую логику .......................................... 216
Пример использования .................................................................. 216

Управление зарядкой батареи с помощью нечеткой логики ................. 217
Функции принадлежности при зарядке батареи
с помощью нечеткой логики ............................................................ 217
Обсуждение исходного кода ......................................................... 219

Механизм нечеткой логики .............................................................. 219
Функции принадлежности для модели зарядного устройства ............... 221
Функция управления
в модели зарядного устройства для батарей ..................................... 223

Главный цикл модели ..................................................................... 224
Преимущества использования нечеткой логики ......................... 225
Другие области применения ......................................................... 226
Итоги ................................................................................................ 226
Литература и ресурсы .................................................................... 226

Глава 10. Модель состояний ..................................................... 227

Введение ........................................................................................ 227
Скрытые модели Маркова ............................................................. 228
Интересные области применения ................................................ 229

Распознавание речи ....................................................................... 229
Моделирование текста ................................................................... 230
Моделирование музыки .................................................................. 231
Пример применения ....................................................................... 231

Обсуждение исходного кода ........................................................... 231

К покупке доступен более свежий выпуск Перейти