Попытки формализовать мышление человека, построить адекватную модель рассуждений, выявить способы творческого разрешения проблемных ситуаций предпринимались учеными с древних времен. Платон, Аристотель, Сенека, Р. Декарт, Г. В. Лейбниц, Дж. Буль, Н. Лобачевский и многие другие исследователи стремились описать мышление как набор некоторых элементарных правил и операций, смоделировать интеллектуальную деятельность.
Искусственный интеллект (ИИ) как самостоятельное научное направление появился во второй половине XX века. Во многом это было связано с развитием кибернетики, которая изучает управление и связь в сложных системах, в том числе управление (а также самоуправление, самоорганизацию) в такой системе, как человек, и в социальных системах. Управление связано с принятием решений на основе анализа, сравнения, переработки информации, выдвижением предположений, доказательством правильности гипотез, то есть с теми операциями, которые традиционно относятся к области интеллектуальной деятельности.
Исследования в области ИИ развиваются по двум основным направлениям. Это связано с тем, что ответить на вопрос, что такое интеллектуальная система, можно двояко.
С одной стороны, систему можно считать интеллектуальной, если процесс ее «рассуждений», способы формирования разумного поведения подобны естественному мышлению. В этом случае искуственный интеллект создается на основе скурпулезного изучения и моделирования принципов и конкретных особенностей функционирования биологических объектов.
С другой стороны, систему можно считать интеллектуальной, если достигнутый ею результат подобен результату, который в тех же условиях получает человек. Что касается внутренних механизмов формирования поведения, то разработчик ИИ вовсе не должен копировать особенности «живых аналогов ».
Первое направление, которое чаще называют искусственным разумом, использует данные о нейрофизиологических и психологических механизмах интеллектуальной деятельности. Разработчики стремятся воспроизвести эти механизмы с помощью технических устройств.
Второе направление, называемое машинным интеллектом, рассматривает продукт интеллектуальной деятельности человека (решение задач, доказательство теорем, игры со сложной стратегией и пр.), изучает его структуру и стремится воспроизвести этот продукт средствами вычислительной техники. Успехи этого направления тесно связаны с развитием компьютеров и искусством программирования.
Оба направления активно используют методы моделирования — имитационного и структурного, математического и компьютерного и др.
Пример. В замечательной книге «Маленькая энциклопедия о большой кибернетике» В. Пекелис, описывая исследования в области бионики, задает вопрос: мог ли человек пройти мимо заманчивой идеи — создать своими руками то, что уже создала природа? Тем более, что он подмечает много преимуществ в творениях природы перед своими собственными созданиями. При этом ученые стремятся не к слепому подражанию, не к заимствованию всех характеристик биологических объектов, а к критическому, строгому отбору только полезных для техники свойств. Моделировать деятельность живых организмов интересно и нужно, особенно те функции, которые повышают гибкость, надежность, экономичность системы или процесса.
Самой сложной биологической системой, выполняющей разнообразные функции по переработке сигналов и управлению, издавна признана нервная система. Многие ее особенности связаны со структурными особенностями нервных клеток — нейронов и нейронной сетью, поэтому они нередко являются объектами моделирования при иследованиях в области искусственного интеллекта.
Кора больших полушарий головного мозга человека содержит около 14 миллиардов нейронов, образующих сложнейшее переплетение связей. Устройство и законы функционирования самого нейрона также очень сложны, что позволяет использовать для его описания только упрощенные модели. Такие модели носят название нейроноподобных сетей. Используются они для построения систем управления различными робототехническими устройствами. Нейронопо-
добные сети являются устройствами параллельной обработки информации и имеют преимущества при построении систем, предназначенных для работы в реальном масштабе времени.
Пример. Первый в нашей стране транспортный робот ТАИР с сетевой системой управления был построен еще в 1975 году. Он мог целенаправленно двигаться в естественной среде (в парке), объезжать препятствия, избегать опасных мест, поддерживать внутренние параметры в заданных пределах. При этом робот достигал цели с минимальными энергетическими и временными затратами. Нейронопо-добная сеть, составляющая основу управления, содержала 100 узлов и отвечала за шесть видов деятельности: распознавание и оценку ситуации, решения, маневры верхнего и нижнего уровня, элементарные двигательные действия. Исследования ТАИРа и его «последователя» — лабороторного робота МАЛЫШ, обладающего более развитой системой технического зрения и нейроноподобной сетью, обрабатывающей данные восприятия, стали основой построения промышленного транспортного робота широкого назначения ГРУЗ-2Т.
Существующие и разрабатываемые в настоящее время роботы значительно отличаются друг от друга по своему назначению и функциональным возможностям. Некоторые из них имеют системы восприятия визуальной, аудиальной, тактильной информации из внешней среды и системы воздействия на внешние объекты — различные манипуляторы, захваты, толкатели и пр. Многие роботы снабжаются системами, обеспечивающими их перемещения — это колесные, плавающие, летающие, шагающие платформы и аппараты. Роботы, снабженные системами целеполагания и планирования действий, а также системами коммуникации с человеком-оператором относятся к классу роботов с искуственным интеллектом. Разработка таких роботов ведется в настояще время.
Особое внимание в исследованиях по машинному интеллекту уделяется проблемам распознавания образов и организации речевого «общения».
Одна из удивительнейших способностей человека — способность узнавать. Едва бросив взгляд, мы узнаем, что перед нами кот или собака, корабль или бабочка, буква «ч» или «у». Узнаем, как правило, безошибочно, будь то сам «оригинал» или его уменьшенное или увеличенное изображение. Способностью узнавать человек обладает испокон веков. И все-таки до сего времени ученые в точности не знают, как же человек узнает.
Пример. Попробуйте объяснить, по каким формальным признакам вы отличаете кота от собаки. Спутаете ли вы их, если оба они спят, свернувшись клубочком? По каким признакам вы их отличите теперь?
Ученые считают, что восприятие окружающего мира в форме образов дают возможность человеку (и животным) более экономно использовать память.
Задачи распознавания образов очень разнообразны. Наиболее простые из них решаются, например, в программах оптического распознавания символов (OCR — optical character recognition), предназначенных для ввода печатного или рукописного текста, в частности, с помощью сканера. Распознавание символов, даже будучи «наиболее простым» в классе задач распознавания образов, тем не менее достаточно сложны для их формализованного описания.
Пример На рис. 2.5.1. приведены различные изображения буквы «А». У них разные начертание, цвет, наклон. Какие формальные признаки, присущие только этой букве и никакой другой, можно выделить? Просто ли перевести их на строгий алгоритмический язык?
Рис. 2.5.1
Изображения буквы «А»
В робототехнике распознавание образов осуществляется системами технического зрения. Они используются в системах технического контроля для обнаружения дефектов в заготовках и изделиях, в станках с программным управлением при управлении позиционированием деталей, сборкой, сваркой и т. п. В широко разрабатывающихся сейчас алгоритмах по распознаванию и «пониманию» сложных сцен, включающих несколько произвольно расположенных в пространстве трехмерных объектов, используется информация о расположении и конфигурации теней, полутонов, об особенностях отражения света материалами различных текстур (металл, дерево, ткань) и т. п.
Автоматическое распознавание речи необходимо для создания средств речевого ввода команд и текстов, автоматического перевода, реферирования текстов, построения справочных и информационно-поисковых систем. Синтез речи является одним из функциональных узлов различных роботов связи.
Пример. Существуют системы, которые могут сообщение, присланное по электронной почте, преобразовать в «голосовое» и передать по нужному телефону в заданный промежуток времени.
Другие системы по названному телефонному номеру (входящему в зараннее определенный список) обеспечивают услуги выдачи адресов, маршрутов проезда и т. п.
Интересна история исследований по машинному интеллекту.
Практически с момента появления ЭВМ появился интерес к автоматизации решения трудноформализуемых задач, в частности, процесса доказательства теорем, к познанию закономерностей творческой деятельности.
С самого начала использования ЭВМ для решения задач стало ясно, что одними точными математическими методами не обойтись. Для многих задач, которые люди умеют решать (играть в шахматы, сочинять стихи, строить научные теории), точных методов не существует. В этом случае можно попробовать воспроизводить компьютерными средствами те правила и приемы, которыми пользуется человек при решении аналогичных задач. Эти специфические для человека правила и приемы называются эвристиками, а методы решения задач, опирающиеся на них, эвристическими методами.
Компьютеры позволяют изучать эвристическую деятельность человека с помощью моделей. Среди них важную роль занимают игры, особенно, шахматы, которые выступают «пробным камнем» моделирования мышления. В процессе шахматной игры человек анализирует множество условий и оценивает множество возможностей: на 64 клетках шахматной доски возникает огромное число комбинаций фигур. Конечно, человек перебирает не все возможные варианты, он пользуется выработанной стратегией. Аналогичные модели перебора множества возможных вариантов возникают при решении самых разнообразных задач, например, при поиске пути в лабиринте или определение стратегии размещения ценных бумаг.
На компьютере модели поведения человека в ситуации выбора из множества вариантов, реализуются с помощью эвристического программирования. Главное в эвристической программе — стратегия поиска решений. В процессе выполнения программы машина по результатам промежуточных действий как бы судит о своей деятельности, дополнительно собирает необходимую ей информацию. Эвристические программы
не рассматривают вариантов бесперспективного поиска, а ищут решение только в том направлении, где оно возможно.
Эвристическое программирование используется при создании систем искусственного интеллекта, называемых решателями задач. Обычно программы-решатели строятся для задач, связаных с преобразованием ситуаций, когда заданы исходная и желаемая ситуация, а также набор операторов или действий, которые могут строго определенным образом изменять ситуации. Чаще всего решатели используются как составная часть систем автоматизации управления сложными объектами, в частности, роботами.
К системам ИИ относятся и системы машинного перевода, которые включают в себя лингвистические описания входного и выходного языков, базы данных — словари, алгоритмы, на основе которых осуществляется непосредственно перевод. Первые системы машинного перевода осуществляли перевод пословно, не «вникая» в смысл предложения. Предназначены они были для перевода технической документации, патентов и т. п. Развитые системы машинного перевода работают по многоэтапной схеме. Основные этапы — это анализ переводимого (исходного) текста и синтез перевода. Перевод осуществляется обычно пофразно.
Этапы анализа таковы:
• выделение из текста очередной фразы;
• лексический анализ — выделение слов и частей речи;
• поверхностный синтаксический анализ — выделение членов предложения;
• глубинный синтаксический анализ, учитывающий смысловые связи между словами.
В результате анализа строится внутреннее представление фразы, отражающее ее смысл.
Синтез перевода включает следующие этапы:
• подбор слов выходного языка для передачи внутреннего представления фразы;
• расстановка слов в нужном порядке с извлечением из словаря внешней лексической формы слов;
• формирование окончательного вида переведенной фразы.
Почему машинный перевод относится к классу систем ис
кусственного интеллекта? Одна из причин — многознач
ность большинства естественных языков, когда смысл фра
зы можно определить только из контекста.
Пример. Можно ли однозначно понять и перевести следующие фразы вне контекста?
«Не валяй дурака»; «Вот где собака зарыта»; «Остался с носом»; «Он на этом собаку съел».
Одной из ключевых проблем создания систем ИИ является проблема представления и использования знаний о той предметной области, в которой система решает те или иные задачи. Общий круг задач, решаемых в этой связи, относится к разделу ИИ, называемому инженерией знаний. Важным элементом любой системы управления являтся база знаний. Идея баз знаний сформировалась в ходе исследований по созданию принципов и методов работы с большими базами данных. Оказалось, что эффективность использования баз данных может быть существенно повышена, если связывать хранящуюся информацию не только за счет форм (таблиц, списков, деревьев), но и за счет тех отношений, которые существуют между фактами. Причем, отношения эти должны быть не случайными, ситуативными, а отражать существенные связи объекта. Такие базы данных получили название интеллектуальных баз данных или баз знаний.
Знания о предметной области и способах решения задач из нее могут быть декларативные и процедурные. Декларативные знания описывают объект (отвечают на вопросы типа: «Что есть X?», «Как связаны X и Y?», «Почему X?»). Процедурные знания описывают последовательность действий, которые могут использоваться при решении задач (отвечают на вопросы типа: «Как сделать X?»).
Базы знаний строятся на основе моделей, разработанных в когнитивной психологии (психологии познания). Основных моделей три: логическая, сетевая, продукционная.
Логическая модель широко использует аппарат математической логики. Декларативные знания представляются в виде формул, а использование логических операций позволяет записать процедурные знания.
Пример. Суждение «Я обязательно поеду на матч, если достану билет или меня пригласит товарищ и если не будет дождя» можно записать следующим образом:
(A v В) л чС => D. Здесь:
А — «Я достану билет»; В = «Меня пригласит товарищ»; С = «Будет дождь»; D = «Я поеду на матч»; v — логическая операция «или»;
л — логическая операция «И»; -1 — логическая операция «НЕ»; => — логическая операция «ЕСЛИ..., ТО...». Возможна и такая форма записи: (ИМЕТЬ (я, билет) v ПРИГЛАСИТЬ (товарищ, я)) л -, ИМЕТЬ МЕСТО (дождь) => ПОЙТИ (я, матч).
В основе сетевой модели лежит идея о том, что любые знания можно представить в виде совокупности объектов (понятий) и связей (отношений) между ними. Знания, представленные таким образом, носят название семантические сети.
Пример. Фраза «девочка ищет в комнате большой красный мяч, который лежит под письменным столом» может быть представлена в виде семантической сети, изображенной на рис. 2.5.2.
Рис. 2.5.2
Семантическая сеть
Заметим, что блок-схемы алгоритмов также представляют собой семантические сети. Вершины этих сетей — процедуры, а дуги означают действие «перейти к процедуре» («передать управление процедуре»).
Понятия, входящие в сеть, описываются в виде фреймов. Фрейм — это минимально возможное (так, чтобы не «потерялся» сам объект) описание сущности какого-либо явления, процесса, ситуации. Компоненты фрейма называются слотами. Изображается фрейм в виде цепочки слотов, причем исключение из фрейма любого слота делает его неполным, иногда бессмысленным.
Пример
Описание фрейма | «Заполненный» фрейм |
(фрейм-прототип) | (фрейм-экземпляр) |
Битва = <кто?> <с кем?> <ког- | Битва 1 = <СССР> <Германия> |
да?> <где?> <результат> | <декабрь 1941> <Сталинград> <победил> |
Битва2 = <Иван Царевич> | |
<Кощей Бессмертный> <утром> | |
<в чистом поле> <победил> | |
Книга = <Автор(ы)> <назва- | Книга1 = <Стругацкий А., Стругацкий Б.> |
ние> <жанр> <издательство> | <Понедельник начинается в субботу> |
<год издания> <кол-во стр.> | <Фантастические повести> <Москва: Дет- |
ская литература> <1987> <496> |