Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция1.doc
Скачиваний:
35
Добавлен:
11.09.2019
Размер:
2.75 Mб
Скачать

3. 5 Интегральный подход к решению задачи

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

Рассмотрим подход, основанный на взаимодействии различных средств (методов), применяемых к решению задач одного и того же класса или пересекающихся i классов [14]. К этим средствам относятся средства (ме- ' тод) программируемых доказательств, средства концептуального решателя и средства базового решателя, непосредственно взаимодействующего с прикладными программными модулями. Функциональная схема взаимодействия средств представлена на рис. 3.2. Средства программируемых доказательств — логический решатель — рассмотрены в § 3.4, здесь же остановимся на двух последних.

Рис. 3.2. Схема взаимодействия решателей различных типов

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

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

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

• Структуризация ПП на базе функциональных зависимостей позволяет решателю оперировать только с адекватной информацией и резко уменьшает перебор при поиске решения.

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

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

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

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

Рассмотрим кратко функционирование к о н ц е п т у а л ь н о г о р е ш а т е л я при решении простых задач, когда схема рассуждения может быть фиксирована, а ПП заранее достаточно детально структурировано, . т. е. заранее построена модель функциональных зависимостей (функциональная модель) для заданного класса задач. Пусть в качестве поиска используется широко .распространенная обратная стратегия «слева направо, ,- сначала в глубину» (см. § 3.1). В этом случае поиск ^решения осуществляется от неизвестных параметров, заданных в условиях решаемой задачи. Поиск происходит на модели функциональных зависимостей, что эквивалентно процедуре поиска на неориентированном графе подзадач И/ИЛИ, узлами которого служат вершины типа И и ИЛИ, соответствующие описаниям конъюнктивных и дизъюнктивных подзадач для данной родительской задачи.

Первоначально происходит отбор тех функциональных зависимостей (ФЗ), в параметры которых входят неизвестные из искомой задачи. Далее происходит опробование выбранных кандидатов - функциональных зависимостей, т. е. сопоставление условий применимости ФЗ с условиями исходной задачи. При успешном исходе задача считается решенной, при неуспешном - осуществляется переход вглубь по функциональной модели начиная с первой левой ФЗ. Этот переход порождает новые - неизвестные параметры — подцели. Процесс интеративно продолжается либо до получения нужного результата, либо до прерывания, после которого построенное дерево поиска через блок пояснения решений представляется пользователю для анализа. В результате успешного функционирования концептуального решателя на его выходе формируется план решения искомой задачи L„ представляющей собой частично упорядоченную совокупность подзадач:

Базовый решатель в описываемом подходе может функционировать в двух режимах: 1) как нижний уровень концептуального решателя (рис 3.2); 2) автономно.

В первом режиме на его вход поступает план решения задачи [см. (3.10)], во втором режиме—условия подзадачи, выражаемые на анкетно-форматном языке не- ' процедурного типа, причем первый режим является част- ' ным случаем второго.

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

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

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

— передача управления и данных прикладным модулям (или модулю), решающим требуемую задачу;

— возврат управления и данных в управляющую программу;

— преобразование результатов решения задачи к стандартному виду и передача их пользователю.

Входной текст на анкетно-форматном языке (АФЯ) состоит из совокупности предложений, которые можно разделить на три раздела: императивный (задается символом А), декларативный (задается символом D) и дополнительный (задается символом R) Императивный раздел служит для описания подзадачи (целевого условия), декларативный — для описания данных, а дополнительный — для уточнения формулировки подзадачи, указания простых операций и предпочтительного метода решения. Предложения АФЯ состоят из фрагментов, которые, в свою очередь, состоят из лексем, являющихся простейшими конструкциями АФЯ.

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]