Программирование искусственного интеллекта в приложениях
Покупка
Тематика:
Программирование и алгоритмизация
Издательство:
ДМК Пресс
Автор:
Джонс Тим
Перевод:
Осипов А. И.
Год издания: 2018
Кол-во страниц: 312
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Дополнительное образование
ISBN: 978-5-97060-579-0
Артикул: 616465.02.99
Данная книга посвящена вопросам искусственного интеллекта (ИИ), то есть методам и технологиям, призванным сделать ПО более умным и полезным. Рассмотренные алгоритмы в основном предназначены для встраивания в другое программ ное обеспечение, что позволяет создавать программы, гибко подстраивающиеся под требования и привычки пользователя. Здесь описан ряд алгоритмов ИИ - нейронные сети, генетические алгоритмы,
системы, основанные на правилах, нечеткая логика, алгоритмы муравья и умные агенты. Для каждого алгоритма приведены примеры реализации. Некоторые из этих приложений применяются на практике, другие относятся скорее к теоретическим изысканиям. Так или иначе, автор раскрывает секреты наиболее интересных алгоритмов ИИ, что делает их доступными для более широкой аудитории. Предполагается, что благодаря подробному описанию алгоритмов методики и технологии ИИ займут свое место в списке традиционных программ. Книга призвана помочь разработчикам использовать технологии ИИ при создании более умного программного обеспечения.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 10.03.01: Информационная безопасность
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Программирование искусственного интеллекта в приложениях М. Тим Джонс
Al Application Programming M. Tim Jones CHARLES RIVER MEDIA, INC. Hingham, Massachusetts
Москва, 2018 Программирование искусственного интеллекта в приложениях М. Тим Джонс
УДК 004.8 ББК 32.813 Д42 Джонс М. Т. Программирование искусственного интеллекта в приложениях / М. Тим Джонс ; Пер. с англ. Осипов А. И. – М. : ДМК Пресс, 2018. – 312 с.: ил. ISBN 978-5970605790 Д42 ISBN 1584502789 (англ.) CHARLIES RIVER MEDIA ISBN 978-5970605790 (рус.) © Издание на русском языке, перевод на русский язык, оформление. ДМК Пресс Данная книга посвящена вопросам искусственного интеллекта (ИИ), то есть методам и технологиям, призванным сделать ПО более умным и полезным. Рассмотренные алгоритмы в основном предназначены для встраивания в другое программное обеспечение, что позволяет создавать программы, гибко подстраивающиеся под требования и привычки пользователя. Здесь описан ряд алгоритмов ИИ – нейронные сети, генетические алгоритмы, системы, основанные на правилах, нечеткая логика, алгоритмы муравья и умные агенты. Для каждого алгоритма приведены примеры реализации. Некоторые из этих приложений применяются на практике, другие относятся скорее к теоретическим изысканиям. Так или иначе, автор раскрывает секреты наиболее интересных алгоритмов ИИ, что делает их доступными для более широкой аудитории. Предполагается, что благодаря подробному описанию алгоритмов методики и технологии ИИ займут свое место в списке традиционных программ. Книга призвана помочь разработчикам использовать технологии ИИ при создании более умного программного обеспечения. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. 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