Задачи и области применения систем ИИ

Адаптивные информационные системы

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

l адекватно отражать знания проблемной области в каждый момент времени;

l быть пригодными для легкой и быстрой реконструкции при изменении проблемной среды.

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

В процессе разработки адаптивных информационных систем применяется оригинальное или типовое проектирование. Ориги­нальное проектирование предполагает разработку информационной системы с «чистого листа» на основе сформулированных требований. Реализация этого подхода основана на использова­нии систем автоматизированного проектирования, или САSЕ-технологии (Designer 2000, SilverRun и др.).

При типовом проектировании осуществляется адаптация новых разработок к особенностям проблемной области. Для реализации этого подхода применяются инструментальные средства компонентного (сборочного) проектирования информационных систем (R/3, ВААN IV, Рrodis и др.).

Главное отличие подходов состоит в том, что при использова­нии САSЕ-технологии на основе репозитория при изменении проблемной области каждый раз выполняется генерация про­граммного обеспечения, а при использовании сборочной техно­логии — конфигурирование программ и только в редких случаях — их переработка.
Лекция 3.

Области приме­нения систем искусственного интеллекта (практический аспект)

Обработка естественного языка.Когда люди общаются между собой на естественном языке (ЕЯ), они практически без всяких усилий используют сложные и пока малопонятные процессы. Оказалось, что построить машины, способные “понимать” хотя бы фрагменты ЕЯ, чрезвычайно трудно. Одной из причин является то обстоятельство, что ЕЯ возник как средство общения интеллектуальных существ. При таком общении происходит как бы передача некоторой порции “умственной структуры” от одного мозга к другому в условиях, когда каждый мозг располагает большими и весьма подобными друг другу “умственными структурами”, служащими в качестве общего контекста. Это позволяет участникам разговора использовать колоссальные интеллектуальные ресурсы и совместные знания для создания и восприятия чрезвычайно сжатых сообщений.

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

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

Извлечение информации из баз данных. Базы данных (БД) представляют собой программные пакеты, в которых хранятся большие объемы сведений, относящихся к определенной предметной области. БД формируется таким образом, чтобы из нее можно было извлекать нужные сведения в виде ответов на вопросы по данной предметной области. В настоящее время существует много разнообразных приемов построения БД и способов извлечения информации из них. В рамках дисциплины ИИ нас интересует постановка вопроса по БД, а именно - как извлечь из БД ответ на вопрос, для которого необходимо провести дедуктивные рассуждения со сведениями, хранящимися в БД.

Здесь возникает несколько проблем.

Проблема 1. Построение системы, способной воспринимать вопросы на ЕЯ. (Об этом только что шла речь по первой прикладной области ИИ).

Частичное, обходное решение этой проблемы состоит в создании некоторого формального, понятного машине языка запросов из БД.

Проблема 2. Логический дедуктивный вывод ответа на поставленный вопрос, исходя из хранящихся в БД сведений.

Проблема 3. Для понимания вопроса и вывода ответа может потребоваться информация, выходящая за рамки той, которая в явном виде представлена в БД предметной области.

Пример. В БД отдела кадров некоторой фирмы среди прочих имеются следующие сведения:

1. Джон Смит работает в отделе закупок.

2. Джон Смит поступил на работу 8 октября 1997 г.

3. В отделе закупок 17 сотрудников.

4. Роберт Стейк является главой отдела закупок.

В систему поступает вопрос:

“Кто является боссом Джона Смита?”

Для того чтобы правильно ответить на поставленный вопрос: “Роберт Стейк” система должна каким-то образом знать, что глава некоторого отдела является боссом для людей, работающих в этом отделе. Каким образом представлять и извлекать необходимые знания, является одной из важнейших задач, для решения которой могут быть привлечены методы ИИ.

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

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

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

Доказательство теорем. Поиск доказательства (или опровержения) для некоторой математической теоремы, несомненно, может рассматриваться как пример интеллектуальной задачи. Во-первых, потому что для доказательства требуется способность провести дедукцию, исходя из гипотез. Во-вторых, для построения доказательства необходимы интуитивные навыки, такие как построение догадки о том, какие промежуточные леммы следует доказать, чтобы способствовать доказательству основной теоремы. Опытный математик, опираясь на некоторое собственное суждение, основанное на большом объеме специальных знаний, высказывает точную догадку, какие из ранее доказанных теорем в рассматриваемой предметной области будут полезны для искомого доказательства, выделяет в главной проблеме подзадачи, над которыми можно работать независимо друг от друга. В рамках ИИ был разработан ряд программ, которые в какой-то степени обладают некоторыми из таких способностей.

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

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

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

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

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

Автоматическое программирование. Существующие компиляторы в некотором смысле уже осуществляют автоматическое программирование. Они воспринимают полную спецификацию того, что программа должна делать, во входном коде и пишут программу в объектном коде. Под автоматическим программированием понимается некий “суперкомпилятор”, или программа, которая могла бы воспринимать описание на очень высоком уровне, вплоть до ЕЯ, того, что требуется от искомой программы. При этом, учитывая высокий уровень входного описания, и, следовательно, наличие неоднозначностей в этом описании, автоматическое программирование потребует, очевидно, дополнительного диалога между системой и пользователем для исключения неоднозначностей.

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

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

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

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

Некоторые из этих задач (включая задачу коммивояжера) относятся теоретиками к NP-полным. Так, в задаче коммивояжера характеристикой объема задачи является число городов. Степень возрастания комбинаций в задачах может быть линейной, полиномиальной и экспоненциальной. Так вот, время решения NP-полных задач растет экспоненциально с увеличением объема задачи. Пока еще не установлено, существует ли более быстрый, чем экспоненциальный метод решения NP-полных задач, но установлено, что если он существует хотя бы для одной NP-полной задачи, то аналогичные методы можно найти и для других NP-полных задач.

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

Интересные результаты в решении NP-полных задач достигнуты с помощью полносвязных нейронных сетей Хопфилда.

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

Смысл процесса машинного восприятия состоит в создании сжатого представления о реальных входных сценах и образах, с которыми машина не в состоянии работать из-за громадного объема описывающей их информации. Характер и качество окончательного представления зависит от целей воспринимающей системы: (что является важным: цвета, пространственные соотношения и размеры, наличие определенных признаков и т.д.).

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

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

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

Представленный перечень приложений ИИ является далеко не полным и имеет тенденцию быстро расширяться.

Задачи интеллектуальных информационных систем (теоретический аспект)

1. Представление знаний

2. Манипулирование знаниями

3. Общение

4. Восприятие

5. Обучение

Такой подход можно также интерпретировать как определенный набор способностей некой целостной, интегральной, интеллектуальной системы (ИС).

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

Остановимся кратко на каждом из перечисленных понятий.

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

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

3. Общение. В круг задач этого направления входят: проблема понимания связных текстов на ограниченном и неограниченном ЕЯ, синтез связных текстов, понимание речи и синтез речи, теория моделей коммуникации между человеком и ИС. К этому же кругу проблем примыкают задачи формирования объяснений действий ИС, которые она должна уметь порождать по просьбе человека; комплекс задач, связанных с интеграцией в единый внутренний образ сообщений различной модальности (текстовых, речевых, зрительных и т.п.), полученных в процессе коммуникации. На основе исследований в этом направлении формируются методы построения лингвистических процессоров, вопросно-ответных систем, диалоговых систем и других ИС, целью которых является обеспечение комфортных условий для общения человека с ИС.

4. Восприятие. Об этом направлении уже упоминалось в контексте прикладных областей. Как видите, в ИИ тесно переплетены и теоретические прикладные направления.

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

6. Поведение. ИС должны действовать в некоторой окружающей среде. Поэтому возникает задача разработки специальных поведенческих процедур, которые позволили бы ИС адекватно взаимодействовать с окружающей средой, другими ИС (коллективы роботов) и людьми. Для достижения такого взаимодействия необходимо провести исследование в ряде направлений и создать: модели целесообразного поведения, нормативного поведения, ситуационного поведения, специальные методы многоуровневого планирования и коррекции планов в динамических ситуациях. Лишь после этого можно будет говорить о возможности привычного взаимодействия между людьми и ИС.