Смекни!
smekni.com

Программа-минимум кандидатского экзамена по специальности 05.13.17 «Теоретические основы информатики» (стр. 13 из 29)

Вывод бывает прямой (от данных к поиску цели) и обратный (от цели для ее подтверждения - к данным).

Пример.

База знаний:

/1: Если "отдых - летом" и "человек - активный", то "ехать в горы",

/2: Если "любит солнце", то "отдых летом",

Данные:

"человек активный" и "любит "солнце«

Процедуры управления функционированием продукционной системы выполняют следующие задачи:

а) выявление совокупности активных правил - продукций, условия для применения которых выполнены (правил, которые могут действовать);

б) разрешение конфликтов между правилами (с учетом приоритетов, эффективности, эвристик) и выбор правила для применения (правила, которое должно действовать);

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

В общем виде под продукцией понимается выражение следующего вида: (i); Q;P;AЮB;N.

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

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

Основным элементом продукции является ее ядро: AЮB. Интерпретация ядра продукции может быть различной и зависит от того, что стоит слева и справа от знака секвенции Ю. Обычное прочтение ядра продукции выглядит так: ЕСЛИ А, ТО В, более сложные конструкции ядра допускают в правой части альтернативный выбор, например , ЕСЛИ А, ТО В1, ИНАЧЕ B2. Секвенция может истолковываться в обычном логическом смысле как знак логического следования В из истинного А (если А не является истинным выражением, то о В ничего сказать нельзя). Возможны и другие интерпретации ядра продукции, например А описывает некоторое условие, необходимое для того, чтобы можно было совершить действие В.

Элемент Р есть условие применимости ядра продукции. Обычно Р представляет собой логическое выражение (как правило предикат). Когда Р принимает значение "истина", ядро продукции активизируется. Если Р "ложно", то ядро продукции не может быть использовано.

Элемент N описывает постусловия продукции. Они актуализируются только в том случае, если ядро продукции реализовалось. Постусловия продкции описывают действия и процедуры, которые необходимо выполнить после реализации В. Выполнение N может проиходить сразу после реализации ядра продукции.

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

Классификация ядер продукции.

Ядра продукции можно классифицировать по различным основаниям. Прежде всего все ядра делятся на два больших типа: детерминированные и недетерминированные. В детерминированных ядрах при актуализации ядра и при выполнимости А правая часть ядра выполняется обязательно; в недетерминированных ядрах В может выполняться и не выполняться. Таким образом, секвенция Ю в детерминированных ядрах реализуется с необходимостью, а в недетерминированных - с возможностью. Интерпретация ядра в этом случае может, например, выглядеть так: ЕСЛИ А, ТО ВОЗМОЖНО В.

Возможность может определяться некоторыми оценками реализации ядра. Например, если задана вероятность выполнения В при актуализации А, то продукция может быть такой: ЕСЛИ А, ТО С ВЕРОЯТНОСТЬЮ р РЕАЛИЗОВАТЬ В. Оценка реализации ядра может быть лингвистической, связанной с понятием терм-множества лингвистической переменной, например: ЕСЛИ А, ТО С БОЛЬШЕЙ ДОЛЕЙ УВЕРЕННОСТИ В. Возможны иные способы реализации ядра.

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

Особым типом являются прогнозирующие продукции, в которых описываются последствия, ожидаемые при актуализации А, например: ЕСЛИ А, ТО С ВЕРОЯТНОСТЬЮ р МОЖНО ОЖИДАТЬ В.

Продукционная модель чаще всего применяется в промышленных экспертных системах.

Преимущества: наглядность, высокая модульность, легкость внесения дополнений и изменений, простота механизма логического вывода.

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

Имеется большое число программных средств, реализующих продукционный подход (язык OPS 5 [8]; "оболочки" или "пустые" ЭС - EXSYS [10], ЭКСПЕРТ [2]; инструментальные системы 11ИЭС [1!] и СПЭИС [3] и др.), а также промышленных ЭС на его основе (ФИАКР [8]) и др.

В ряде ИС используется комбинация сетевых и продукционных моделей (продукционная система над семантической сетью). Декларативные знания описываются в сетевом компоненте, а процедурные знания – в продукционном.

Канонические системы Поста.

Порождения (правила переписывания, правила вывода, продукции) грамматические правила манипулирования строками символов.

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

Каноническая система — это разновидность формальной системы, основанной на следующих компонентах:

- алфавит А, из символов которого формируются строки;

- некоторое множество строк, которые рассматриваются как аксиомы,

- множества порождений в форме

а1$1 ... am$m->b1$'1...bn$'1...bn$'n.

Канонические системы Поста: все продукции которых имеют вид S1gS2–®S1hS2. Они образуют модели грамматик формальных языков. Они отражают способ, с помощью которого сложные предложения языка строятся из некоторых основных единиц в соответствии с правилами грамматики.

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

Представление неформальных знаний.

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

Решение задач методом редукции часто приводит к хорошим результатам потому, что часто решение задач имеет иерархическую структуру.

Цель состоит в том, чтобы представить сложную задачу как совокупность более простых относительно независимо решаемых задач.

Представление данных

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

Структуры данных.

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

Структуры данных бывают физическими и абстрактными.

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

Пример: стек, очередь FIFO, дек, словарь

Физические структуры данных разделяются на статические (массив) и динамические (список, каждый элемент содержит данные и связку).

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

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

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

Различные виды структур данных подходят для различных приложений; некоторые из них имеют узкую специализацию для определённых задач. Например, Б-деревья обычно подходят для создания баз данных, в то время как хэш-таблицы используются повсеместно для создания различного рода словарей, например, для отображения доменных имён в интернет адреса компьютеров.