190 likes | 455 Views
Лекция 12. Инструментальные средства разработки экспертных систем. Ученые вопросы :. Оболочки экспертных систем Языки программирования высокого уровня Среда программирования, поддерживающая несколько парадигм Дополнительные модули. Проектирования на базе использования прототипов.
E N D
Лекция 12 Инструментальные средства разработки экспертных систем
Ученые вопросы: • Оболочки экспертных систем • Языки программирования высокого уровня • Среда программирования, поддерживающая несколько парадигм • Дополнительные модули
Проектирования на базе использования прототипов При разработке практически всех инструментальных средств за основу принимается методология автоматизации проектирования на базе использования прототипов. По отношению к программному обеспечению термин прототип означает "работающую модель программы, которая функционально эквивалентна подмножеству конечного продукта" . Идея состоит в том, чтобы на ранней стадии работы над проектом разработать упрощенную версию конечной программы, которая могла бы послужить доказательством продуктивности основных идей, положенных в основание проекта.
Категории инструментальных программ • (1) Оболочки экспертных систем (expertsystemshells). При создании оболочки из системы-прототипа удаляются компоненты, слишком специфичные для области ее непосредственного применения, и оставляются те, которые не имеют узкой специализации (например, система EMYCIN). • (2) Языки программирования высокого уровня. Избавляют разработчика от необходимости углубляться в детали реализации системы - способы эффективного распределения памяти, низкоуровневые процедуры доступа и манипулирования данными (OPS5). • (3) Среда программирования, поддерживающая несколько парадигм. Средства этой категории включают несколько программных модулей, что позволяет пользователю комбинировать в процессе разработки экспертной системы разные стили программирования (исследовательская программа LOOP) • (4) Дополнительные модули. Средства этой категории представляют собой автономные программные модули, предназначенные для выполнения специфических задач в рамках выбранной архитектуры системы решения проблем.
Создание оболочки Разработанная система EMYCIN предназначена для таких проблем медицинского диагностирования с большими объемами данных, которые поддаются решению с помощью дедуктивного подхода в предположении, что пространство диагностических категорий стационарно. При создании оболочки из системы-прототипа удаляются компоненты, слишком специфичные для области ее непосредственного применения, и оставляются те, которые не имеют узкой специализации.
Языки программирования высокого уровня Языки программирования высокого уровня могут быть эффективным средством быстрого создания прототипов экспертных систем. Они позволяют обеспечить гибкость процесса разработки, минимизации материальных затрат и сроков выполнения проекта. Инструментальные средства этой категории лишают разработчика необходимости углубляться в детали реализации системы, такие как способы эффективного распределения памяти, низкоуровневые процедуры доступа к данным и манипулирования ими.
Виды языков программирования высокого уровня • Язык программирования OPS5 (язык описания продукционных правил) -характерным признаком является трудности при реализации некоторых типов структур управления ходом выполнения. • Объектно-ориентированные языки программирования - языками объектно-ориентированного программирования создается программная среда для организации знаний в терминах декларативного представления объектов предметной области. • Языки логического программирования - Типичной языку логического программирования экспертных систем является PROLOG.
PROLOG обладает достаточно полезными возможностями, а именно: • встроенный в PROLOG режим управления примерно соответствует стратегии обратной логического вывода; • индексированную базу данных фраз языка PROLOG можно использовать для представления правил; • рекурсивные структуры данных (графы и деревья) можно организовать с помощью фраз языка PROLOG; • универсальный механизм сопоставления языка PROLOG позволяет выполнять сопоставление данных и шаблонов, включающих переменные; • языковые средства PROLOG позволят программисту разработать собственный механизм обработки неопределенности.
Среда программирования, поддерживающая несколько парадигм • процедурно-ориентированное программирование. Язык LISP, в котором активным компонентом являются процедуры, а пассивным – данные. • программирование, ориентированное на правила. Принцип аналогичен предыдущему, но роль процедур играют правила "условие-действие". • объектно-ориентированное программирование. Структурированные объекты обладают свойствами и процедур, и данных, причем побочные эффекты обычно локализуются в пределах объекта. • программирование, ориентированное на данные. Доступ к данным и их обновление запускает определенные процедуры, причем не имеет значения, почему изменен компонент данных.
Дополнительные модули Под дополнительными модулями понимаются те полезные программы, которые можно выполнять вместе с приложением. Такие программы реализуют некоторые специальные функции, причем для обращения к таким функциям не требуется что-либо программировать в основном приложении или заниматься его индивидуальной настройкой. Одним из примеров такого рода дополнительного модуля может служить программный пакет Simkit из комплекта среды КЕЕ.
Механизм обработки множества контекстов логических рассуждений Имеются два правила, в каждом из которых условная часть удовлетворяется в текущем контексте рассуждений. [Правило 1] ЕСЛИ: сегодня рабочий день И нет признаков недомогания, ТО: посетить занятия по инструментальным средствам информационных систем. [Правило 2] ЕСЛИ: сегодня рабочий день И погода прекрасна, ТО: покататься на велосипеде. Выбор того единственного правила, которое будет активизировано, зависит от реализуемой стратегии разрешения конфликтов.
Но можно в процессе обработки попасть в такую ситуацию, которая расценивается как неудача процесса вывода, например нарушение исходных ограничений. [Правило 3] ЕСЛИ: не посещать занятия по инструментальным средствам информационных систем, ТО: экзамен по инструментальным средствам информационных систем будет провален. Получение такого заключения должно было бы привести к тому, что линию рассуждений, порожденную, правилом 2, следует исключить из рассмотрения.