Главная страница / 34. Базовые понятия ИИ: 34.1. Различные подходы к...
34.1. Различные подходы к построению систем ИИ
← 34.Введение | 34.2. Экспертные системы → |
Существуют различные подходы к построению систем ИИ. Это разделение не является историческим, когда одно мнение постепенно сменяется другим, – по-разному подходят к проблеме. Кроме того, поскольку по-настоящему полных систем ИИ в настоящее время нет, то нельзя сказать, что какой-то подход является правильным, а какой-то ошибочным.
Для начала кратко рассмотрим логический подход. Основой для него служит булева алгебра. Каждый программист знаком с нею и с логическими операторами с тех пор, когда он осваивал оператор IF. Свое дальнейшее развитие булева алгебра получила в виде исчисления предикатов, в котором она расширена за счет введения предметных символов, отношений между ними, кванторов существования и всеобщности. Практически каждая система ИИ, построенная на логическом принципе, представляет собой машину доказательства теорем. При этом исходные данные хранятся в базе данных в виде аксиом, правила логического вывода как отношения между ними. Кроме того, каждая такая машина имеет блок генерации цели, и система вывода пытается доказать данную цель как теорему. Если цель доказана, то трассировка примененных правил позволяет получить цепочку действий, необходимых для реализации поставленной цели. Мощность такой системы определяется возможностями генератора целей и машиной доказательства теорем.
Добиться большей выразительности логическому подходу позволяет такое сравнительно новое направление, как нечеткая логика. Основным ее отличием является то, что правдивость высказывания может принимать в ней кроме «да/нет» (1/0) еще и промежуточные значения – «не знаю» (0.5), «пациент скорее жив, чем мертв» (0.75), «пациент скорее мертв, чем жив» (0.25). Данный подход больше похож на мышление человека, поскольку он на вопросы редко отвечает только «да» или «нет». Хотя правда на экзамене будут приниматься только ответы из разряда классической булевой алгебры.
Для большинства логических методов характерна большая трудоемкость, поскольку во время поиска доказательства возможен полный перебор вариантов. Поэтому данный подход требует эффективной реализации вычислительного процесса, и хорошая работа обычно гарантируется при сравнительно небольшом размере базы данных.
Под структурным подходом мы подразумеваем здесь попытки построения ИИ путем моделирования структуры человеческого мозга. Одной из первых таких попыток был перцептрон Розенблатта. Основной моделируемой структурной единицей в перцептронах (как и в большинстве других вариантов моделирования мозга) является нейрон.
Позднее возникли и другие модели, которые в простонародье обычно известны под термином нейронные сети (НС). Эти модели различаются по строению отдельных нейронов, по топологии связей между ними и по алгоритмам обучения. Среди наиболее известных сейчас вариантов НС можно назвать НС с обратным распространением ошибки, сети Хопфилда, стохастические нейронные сети.
НС наиболее успешно применяются в задачах распознавания образов, в том числе сильно зашумленных, однако имеются примеры успешного применения их и для построения собственно систем ИИ.
Для моделей, построенных по мотивам человеческого мозга, характерна не слишком большая выразительность, легкое распараллеливание алгоритмов и связанная с этим высокая производительность параллельно реализованных НС. Также для таких сетей характерно одно свойство, которое очень сближает их с человеческим мозгом, – нейронные сети работают даже при условии неполной информации об окружающей среде, т. е. как и человек, они на вопросы могут отвечать не только «да» и «нет» но и «не знаю точно, но скорее да».
Довольно большое распространение получил и эволюционный подход. При построении систем ИИ по данному подходу основное внимание уделяется построению начальной модели и правилам, по которым она может изменяться (эволюционирвать). Причем модель может быть составлена по самым различным методам, это может быть и НС, и набор логических правил, и любая другая модель. После этого мы включаем компьютер, и он, проверив модели, отбирает самые лучшие из них, на основании которых по самым различным правилам генерируются новые модели, из которых опять выбираются самые лучшие, и т. д.
В принципе можно сказать, что эволюционных моделей как таковых не существует, есть только эволюционные алгоритмы обучения, но модели, полученные при эволюционном подходе имеют некоторые характерные особенности, что позволяет выделить их в отдельный класс.
Такими особенностями являются перенесение основной работы разработчика с построения модели на алгоритм ее модификации и то, что полученные модели практически не сопутствуют извлечению новых знаний о среде, окружающей систему ИИ, т. е. она становится как бы вещью в себе.
Еще один широко используемый подход к построению систем ИИ – имитационный. Данный подход является классическим для кибернетики с одним из ее базовых понятий – «черным ящиком» (ЧЯ). ЧЯ – устройство, программный модуль или набор данных, информация о внутренней структуре и содержании которых отсутствуют полностью, но известны спецификации входных и выходных данных. Объект, поведение которого имитируется, как раз и представляет собой такой «черный ящик». Нам не важно, что у него и у модели внутри и как он функционирует, главное, чтобы наша модель в аналогичных ситуациях вела себя точно так же.
Основным недостатком имитационного подхода является низкая информационная способность большинства моделей, построенных с его помощью.
Заканчивая беглое ознакомление с различными методами и подходами к построению систем ИИ, хотелось бы отметить, что на практике очень четкой границы между ними нет. Очень часто встречаются смешанные системы, где часть работы выполняется по одному типу, а часть – по другому.
Распознание образов – раздел кибернетики, развивающий теоретические основы и методы классификации и идентификации предметов, явлений, процессов, сигналов, ситуаций и тому подобных объектов, которые характеризуются конечным набором некоторых свойств и признаков. Такие задачи решаются довольно часто, например, при переходе или проезде улицы по сигналам светофора. Распознавание цвета загоревшейся лампы светофора и знание правил дорожного движения позволяют принять правильное решение о том, можно или нельзя переходить улицу в данный момент.
В процессе биологической эволюции многие животные с помощью зрительного и слухового аппарата решили задачи распознавания образов достаточно хорошо. Создание искусственных систем распознавания образов остается сложной теоретической и технической проблемой. Необходимость в таком распознавании возникает в самых разных областях – от военного дела и систем безопасности до оцифровки всевозможных аналоговых сигналов.
Примеры задач распознавания образов
- Распознавание букв.
- Распознавание штрих-кодов.
- Распознавание автомобильных номеров.
- Распознавание лиц.
- Распознавание речи.
- Распознавание изображений.
- Распознавание локальных участков земной коры, в которых находятся месторождения полезных ископаемых.
Методы распознавания образов
Для оптического распознавания образов можно применить метод перебора вида объекта под различными углами, масштабами, смещениями и т. д. Для букв нужно перебирать шрифт, свойства шрифта и т. д.
Другой метод – найти контур объекта и исследовать его свойства (связность, наличие углов и т. д.).
Еще один метод – использовать искусственные нейронные сети. Этот метод требует либо большого количества примеров задачи распознавания (с правильными ответами), либо специальной структуры нейронной сети, учитывающей специфику данной задачи.
Автоматическое доказательство теорем — доказательство теорем, реализуемое программно. В основе лежит аппарат математической логики. Используются идеи теории искусственного интеллекта. Процесс доказательства основывается на логике высказываний и логике предикатов. В настоящее время автоматическое доказательство теорем в промышленности применяется в основном при разработке и верификации интегральных схем. После того как была обнаружена ошибка деления в процессорах Пентиум, сложные модули операций с плавающей запятой современных микропроцессоров разрабатываются с особой тщательностью. В новых процессорах AMD, Intel и других фирм автоматическое доказательство теорем используется для проверки того, что деление и другие операции выполняются корректно.
Игровой искусственный интеллект (англ. Game artificial intelligence) – набор программных методик, которые используются в компьютерных играх для создания иллюзии интеллекта в поведении персонажей, управляемых компьютером. Игровой ИИ, помимо методов традиционного искусственного интеллекта, включает также алгоритмы теории управления, робототехники, компьютерной графики и информатики в целом. Реализация ИИ сильно влияет на ход компьютерной игры, системные требования и бюджет игры, и разработчики балансируют между этими требованиями, стараясь сделать интересный и нетребовательный к ресурсам ИИ малой ценой. Поэтому подход к игровому ИИ серьезно отличается от подхода к традиционному ИИ – широко применяются разного рода упрощения, обманы и эмуляции. Например, с одной стороны, в шутерах от первого лица безошибочное движение и мгновенное прицеливание, присущее ботам, не оставляет ни единого шанса человеку, так что эти способности искусственно снижаются. С другой – боты должны делать засады, действовать командой и т. д., для этого применяются «костыли» в виде контрольных точек, расставленных на уровне.
← 34.Введение | 34.2. Экспертные системы → |