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

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

Покупка
Артикул: 616465.02.99
Доступ онлайн
399 ₽
В корзину
Данная книга посвящена вопросам искусственного интеллекта (ИИ), то есть методам и технологиям, призванным сделать ПО более умным и полезным. Рассмотренные алгоритмы в основном предназначены для встраивания в другое программ ное обеспечение, что позволяет создавать программы, гибко подстраивающиеся под требования и привычки пользователя. Здесь описан ряд алгоритмов ИИ - нейронные сети, генетические алгоритмы, системы, основанные на правилах, нечеткая логика, алгоритмы муравья и умные агенты. Для каждого алгоритма приведены примеры реализации. Некоторые из этих приложений применяются на практике, другие относятся скорее к теоретическим изысканиям. Так или иначе, автор раскрывает секреты наиболее интересных алгоритмов ИИ, что делает их доступными для более широкой аудитории. Предполагается, что благодаря подробному описанию алгоритмов методики и технологии ИИ займут свое место в списке традиционных программ. Книга призвана помочь разработчикам использовать технологии ИИ при создании более умного программного обеспечения.
Джонс, Т. Программирование искусственного интеллекта в приложениях : практическое руководство / Т. Джонс ; пер. с англ. А. И. Осипов. - Москва : ДМК Пресс, 2018. - 312 с. - ISBN 978-5-97060-579-0. - Текст : электронный. - URL: https://znanium.com/catalog/product/2012525 (дата обращения: 02.07.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Программирование искусственного интеллекта

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

М. Тим Джонс

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

Содержание
11

Примеры .......................................................................................... 240
Авторство ........................................................................................ 241
Итоги ................................................................................................ 241
Литература и ресурсы .................................................................... 241

Глава 11. Программное обеспечение,
основанное на использовании агентов ................................ 243

Что представляет собой агент ....................................................... 243

Свойства агентов ........................................................................... 243
Строение агентов .......................................................................... 245

Как сделать агентов разумными ................................................... 247
Пример применения ....................................................................... 248

Разработка Webагента .................................................................. 248
Свойства Webагента ..................................................................... 249

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

Webинтерфейсы ........................................................................... 252
Сбор и фильтрация новостей ........................................................... 272
Пользовательский интерфейс ......................................................... 279
Основная функция ......................................................................... 295

Другие области применения ......................................................... 296
Итоги ................................................................................................ 296
Литература и ресурсы .................................................................... 297

Глава 12. Искусственный интеллект сегодня ..................... 298

Сверху вниз и снизу вверх ............................................................. 298
Построение искусственной жизни ................................................ 299
Разумные рассуждения и проект CYC ........................................... 299
Автономное программирование ................................................... 300
ИИ и научные открытия .................................................................. 300
Программирование эмоций .......................................................... 301
Семантическая сеть Internet .......................................................... 302
Литература и ресурсы .................................................................... 303

Приложение. Архив с примерами ........................................... 305

Алгоритм отжига ............................................................................. 305
Теория адаптивного резонанса ..................................................... 305
Алгоритмы муравья ........................................................................ 305
Алгоритм обратного распространения ........................................ 305

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

Генетические алгоритмы
и генетическое программирование .............................................. 306
Искусственная жизнь
и разработка нейронных сетей ..................................................... 306
Экспертные системы ...................................................................... 306
Нечеткая логика .............................................................................. 307
Скрытые модели Маркова ............................................................. 307
Умные агенты .................................................................................. 307
Системные требования .................................................................. 307

Предметный указатель ................................................................ 308

Эта книга посвящается моей жене

Джилл (Jill) и детям Меган (Megan),
Элизе (Elise) и Марку (Marc). Их терпение и поддержка сделали возможным написание данной книги.

Благодарности

Над созданием данной книги работало очень много людей. Когда я писал примеры для книги, алгоритмы разрабатывались и развивались большой группой
исследователей и практиков. Хочется особо отметить работу Алана Туринга
(Alan Turing), Джона МакКарти (John McCarthy), Артура Самуэля (Arthur
Samuel), Н. Метрополис (N. Metropolis), Гейла Карпентера (Gail Carpenter), Стефена Гроссберга (Stephen Grossberg), Марко Дориго (Marco Dorigo), Дэвида Румельхарта (David Rumelhart), Джоффри Хинтона (Geoffrey Hinton), Джона Ван
Ньюмена (John van Neumann), Дональда Хеббса (Donald Hebbs), Тейво Конена
(Teuvo Kohonen), Джона Хопфилда (John Hopfield), Уоррена МакКуллоча (Warren
McCulloch), Вальтера Питтса (Walter Pitts), Марвина Мински (Marvin Minski),
Сеймура Паперта (Seymour Papert), Джона Холланда (John Holland), Джона Коза
(John Koza), Томаса Бэка (Thomas Back), Брюса МакЛеннана (Bruce MacLennan),
Патрика Уинстона (Patrick Winston), Чарльза Форги (Charles Forgy), Лотфи Заде
(Lotfi Zadeh), Родни Брукса (Rodney Brooks), Андрея Маркова (Andrey Markov),
Джеймса Бэйкера (James Baker), Дуга Лената (Doug Lenat), Клода Шэннона
(Claud Shannon) и Алана Кэй (Alan Kay). Также хочу поблагодарить Дэна Клэйна
(Dan Klein) за полезные обзоры ранних изданий данной книги.

Вступление

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

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

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

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

делает их доступными для более широкой аудитории. Я надеюсь, что благодаря
подробному описанию алгоритмов в данной книге методики и технологии ИИ
займут свое место в списке более традиционных программ. ИИ будет развиваться
понастоящему только при условии, что ему найдется практическое применение.
Поэтому я рассчитываю, что эта книга поможет разработчикам использовать технологии ИИ при создании более умного программного обеспечения. Со мной вы
можете связаться по адресу mtj@mtjones.com.

Обозначения, используемые в книге

В книге используются следующие шрифтовые выделения:

курсивом помечены смысловые выделения в тексте;

названия переменных, команд и других элементов языка программирования
набраны моноширинным шрифтом;

специальным стилем оформлена дополнительная информация;

все Internetадреса подчеркнуты;

каждый листинг имеет порядковый номер (например, листинг 1.1). Тот же код
без номера можно загрузить с сайта издательства «ДМК Пресс» www.dmk.ru.

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

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

Что такое искусственный интеллект

Искусственным интеллектом, или ИИ (Artificial Intelligence – AI), называют
процесс создания машин, которые способны действовать таким образом, что будут восприниматься человеком как разумные. Это может быть повторение поведения человека или выполнение более простых задач, например, выживание в динамически меняющейся обстановке.
Для некоторых исследователей результат данного процесса состоит в том,
чтобы научиться лучше понимать нас самих. Для других это база, на основе которой можно научить искусственные системы вести себя разумно. В любом случае ИИ обладает таким потенциалом для изменения мира, которого нет ни у одной другой технологии.
В период становления ИИ его разработчики обещали достичь очень многого,
а добились несравненно меньшего. В то время создание разумных систем казалось очень простой задачей, которая так и не была решена. В наше время цели
создания ИИ стали намного практичнее. ИИ был разделен на несколько частей,
имеющих различные цели и средства их достижения.
Проблема ИИ заключается в том, что технологии, которые исследуются в его
рамках, становятся обычными сразу после их внедрения. Например, построение
машины, которая смогла бы различать человеческую речь, когдато считалось частью разработки ИИ. Теперь такие технологии, как нейронные сети и скрытые
модели Маркова, уже никого не удивляют и не рассматриваются как разработка
ИИ. Родни Брукс (Rodney Brooks) описывает этот феномен как «эффект ИИ».
После того как технология ИИ находит применение, она перестает быть технологией ИИ. Поэтому сочетание букв ИИ также получило расшифровку как «Почти
применено» (Almost Implemented), поскольку после своего создания эта технология перестает быть чудом и используется повсеместно.

История искусственного интеллекта
16

Сильный и слабый ИИ

Так как искусственный интеллект поразному понимается разными людьми,

было принято решение использовать другую классификацию. Сильный ИИ (Strong
AI) представляет собой программное обеспечение, благодаря которому компьютеры смогут думать так же, как люди. Помимо возможности думать, компьютер
обретет и сознание разумного существа.

Слабый ИИ (Weak AI) представляет собой широкий диапазон технологий ИИ.

Эти функции могут добавляться в существующие системы и придавать им различные «разумные» свойства. Данная книга фокусируется на слабом ИИ и методиках, используемых для встраивания в другие системы.

Результат внедрения ИИ

Исследование ИИ привело к появлению многих технологий, которые мы сейчас принимаем как должное. Вспомните, что в ранние 1960е разработки в области миниатюризации при создании космической системы «Аполлон» способствовали изобретению и внедрению интегрированных схем, которые играют такую
важную роль в современных технологиях. Системы распознавания голоса и письма также обязаны своим возникновением ИИ.

В настоящее время многие коммерческие продукты включают технологии ИИ.

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

Примечание
Нечеткая логика подробно описывается в главе 9.

История развития ИИ

Об истории и развитии ИИ можно написать очень много. В этом разделе представлены важнейшие вехи в развитии ИИ, а также кратко рассказано о людях,
которые внесли в этот процесс свой вклад. Рассмотрение истории ИИ включает в себя
современную точку зрения о том, как развивалась данная технология с 1940х гг.
(Stottler Henke, 2002).

Рождение компьютера, 1940е

Эра разумных машин наступила вскоре после появления первых компьютеров. Большинство компьютеров были созданы для того, чтобы взломать немецкие шифры во время Второй мировой войны. В 1940 г. был построен первый

рабочий компьютер на электромагнитных реле – Робинсон (Robinson). Он
предназначался для расшифровки военных переговоров немцев, которые были
зашифрованы с помощью машины Энигма (Enigma). Робинсон назван в честь
создателя мультипликационных трюков, Хита Робинсона (Heath Robinson).
Три года спустя вакуумные трубки заменили электромагнитные реле, что позволило построить Колосс (Colossus). Этот более быстрый компьютер был создан для
взлома новых усовершенствованных кодов. В 1945 г. в Университете Пенсильвании доктор Джон В. Мохли (Dr. John W. Mauchly) и Д. П. Экерт (J. P. Eckert, Jr.)
разработали более известный компьютер, ENIAC. Его задачей было рассчитать
баллистические таблицы времен Второй мировой войны.

Нейронные сети с обратной связью построены Вальтером Питтсом (Walter

Pitts) и Уорреном МакКуллочем (Warren McCulloch) в 1945 г., чтобы показать
возможности их применения при расчетах. Эти ранние сети были электронными
и весьма поспособствовали росту энтузиазма у создателей технологии. Примерно
в то же время Норберт Винер (Norbert Wiener) создал область кибернетики, которая включала математическую теорию обратной связи для биологических и инженерных систем. Важным аспектом данного открытия стала концепция о том,
что разум – это процесс получения и обработки информации для достижения определенной цели.

Наконец в 1949 г. Дональд Хеббс (Donald Hebbs) открыл способ создания самообучающихся искусственных нейронных сетей. Этот процесс (получивший название «Обучение по Хеббсу») позволяет изменять весовые коэффициенты в нейронной сети так, что данные на выходе отражают связь с информацией на входе.
Хотя использование этого метода не избавляло от проблем, почти все свободные
процедуры обучения основаны на обучении по Хеббсу.

Рождение ИИ, 1950е
1950е отмечены в истории как годы рождения ИИ. Алан Тьюринг (Alan

Turing) предложил специальный тест (который впоследствии получил название
«Тест Тьюринга») в качестве способа распознать разумность машины. В этом тесте один или несколько людей должны задавать вопросы двум тайным собеседникам и на основании ответов определять, кто из них машина, а кто человек. Если не
удавалось раскрыть машину, которая маскировалась под человека, предполагалось, что машина разумна. Существует и дополнение к тесту Тьюринга (так называемый «Приз Лебнера»), которое представляет собой соревнование по выявлению лучшего имитатора человеческого разговора.

В 1950е гг. ИИ по своей природе был в первую очередь символичным. Именно в то время сделано открытие, что компьютеры могут управлять символами так
же, как и числовыми данными. Это привело к разработке таких программ, как
предназначавшаяся для доказательства теорем Logic Theorist (авторы – Ньюэлл
(Newell), Симон (Simon) и Шоу (Shaw)) и General Problem Solver (создатели –
Ньюэлл и Симон), использовавшаяся для анализа нерешаемых проблем. Наверное, самым крупным открытием в программной области в 1950е было создание

История развития ИИ

История искусственного интеллекта
18

Артуром Самуэлем программы для игры в шашки, которая постепенно научилась
обыгрывать своего создателя.

В 1950е гг. были также разработаны два языка ИИ. Первый, язык IPL, был

создан Ньюэллом, Симоном и Шоу для программы Logic Theorist. IPL являлся
языком обработки списка данных и привел к созданию более известного языка
LISP. LISP появился в конце 1950х и вскоре заменил IPL, став основным языком
приложений ИИ. Язык LISP был разработан в лабораториях Массачусетсткого
технологического института (MIT). Его автором был Джон МакКарти, один из
первых разработчиков ИИ.

Джон МакКарти представил концепцию ИИ как часть своего предложения

для Дормутской конференции по проблемам ИИ. В 1956 г. разработчики ИИ
встретились в Дормутском колледже, чтобы обсудить дальнейшее развитие разумных машин. В своем предложении Джон МакКарти написал: «Задача заключается в том, чтобы работать на основе предположения, что любой аспект обучения
или другой функции разума может быть описан так точно, чтобы машина смогла
его симулировать. Мы попытаемся определить, как сделать так, чтобы машины
смогли пользоваться языком, формулировать абстракции и концепции, решать
задачи, которыми сейчас занимаются только люди, а также заниматься самообучением».

Дормутская конференция позволила впервые встретиться всем разработчикам ИИ, однако общее решение по ИИ принято не было.

В конце 1950х Джон МакКарти и Марвин Мински основали в MIT лабораторию искусственного интеллекта, которая работает и по сей день.

Подъем ИИ, 1960е

В 1960е гг. произошел скачок в развитии ИИ, вызванный прогрессом в компьютерных технологиях, а также увеличением количества разработок в данной
области. Наверное, самым важным показателем того, что ИИ достиг приемлемого
уровня, стало появление критиков. К этому времени относится написание двух
книг: «Компьютеры и здравый смысл: миф о мыслящих машинах» Мортимера
Тауба (Mortimer Taub) и «Алхимия и ИИ» Хуберта и Стюарта Дрейфус (Hubert
and Stuart Dreyfus).

В 1960е наиболее важным было представление знаний, так как сильный ИИ

продолжал оставаться главной темой в разработках ИИ. Были построены игрушечные миры, например, «Blocks Microworld Project» Мински и Паперта в MIT,
а также SHRDLU Терри Винограда (Terry Winograd). С помощью этих миров создавалась окружающая среда, в которой тестировались идеи по компьютерному
зрению, роботехнике и обработке человеческого языка.

В начале 1960х Джон МакКарти основал лабораторию ИИ в Стэндфордском

университете. Сотрудники лаборатории, помимо прочего, создали робота Шейки
(Shakey), который мог перемещаться по искусственному миру и выполнять простые приказания.

Разработки нейронных сетей процветали до конца 1960х, ровно до тех пор,

пока не была издана книга Мински и Паперта «Перцептроны: введение в вычислительную геометрию». Авторы описали ограничения по использованию простых

Доступ онлайн
399 ₽
В корзину