Сценарий – формализованное описание стандартной последовательности взаимосвязанных фактов, определяющих типичную ситуацию предметной области. Это может быть описание целей, процедур их достижения (обед в ресторане, командировка, посадка в самолет, поступление в ВУЗ…)
Сценарии используются для понимания естественно-языковых текстов, планирование поведения, обучение, принятия решений, управления изменениями среды и т. д.
Введено понятие Р. Шенком и Р. Абельсоном (R. Schank, … 1975 R. Abelson)*. По форме сценария представленными некоторыми фреймами Шенк с их помощью связывал события истории.
Пример:
сценарий
ресторан
роли
посетитель, официант
цель
принятие пищи
сцена 1
вход в ресторан войти в ресторан осмотреть места выбрать свободное место пройти к свободному столику сесть
сцена 2
заказ взять меню прочитать меню решить, что заказать заказ меню официанту
сцена 3
прием пищи …
сцена 4
уход просьб рассчитаться расчет выход из ресторана
В каждой сцене есть последовательность действий (каузальные цепочки).
Дальнейшее развитие в 80 – 90 г. г. сценарии получили в трудах Д. Поспелова, Л. Литвинцевой. О ситуации знания пополняются.
Начали рассматривать сети фреймов.
В ролях уточнены: деятель, участники сценария, цели и мотивы поведения, ключевые события ?? посылки и следствия ключевого события, место, время, средства проведения события.
Каузальные сценарии (КСЦ):
<значение слота>:: =<спецификация знания слота>:
<значение>│<спецификация значения>: <последовательность значения >│NIL
<спецификация значения слота>::= n│s│p│СЦ│f│v│low│sys
<значение>::= <имя>
<последовательность значения >::=(<значение>,<значение>,… <значение>)
(<значение>R1 <значение>R2 …)
Классы значений:
n – числа
s – субъекты действий
p – события
СЦ – сценарии
f – процедуры
v – объекты
low – закономерности
SYS – системные имена
R1,...,Rk – задают временные соотношения
NIL – неопределенные значения
СЦ «Посадка в самолет»: № рейса (n: 861);
Деятель (s: дежурная);
Участники (s: пассажиры);
Цель деятеля (p: нахождение пассажира в самолете);
Цель участника (нахождение пассажира в конечном пункте полета);
Время (f: расчетное время проведения посадки);
Посылки (СЦ: (регистрация пассажиров R1 сбор на посадку R2 прохождение контроля R3 подача автобуса R4 подача трека));
Ключ (p: посадка в самолет);
Следствие (p: нахождение пассажира в самолете);
Побочные действия (СЦ (формирование багажа R5 погрузка багажа на рейс));
R1 – отношение быть раньше на время...Ключ - основное событие, его реализация – достижение цели.
Посылки: необходимые условия реализации сценария (последовательность действий, которые надо выполнить).
Следствие – результаты выполнения ключевого события.
Побочное действие – параллельно.
Сценарий завершен, если цель достигнута. Т. о. Может быть построена система моделирования сценария.
Формальная система: четверка - M=<T, P,A, B>
T - множество базовых элементов различной природы. Например, слов с некоторого ограниченного словаря, деталей и т. п. Для T существующий метод определяет принадлежность к этому множеству за конечное число??????? П (T)
P – множество синтаксических правил ????????????????????????????????????
Существует П (P) – за конечное число шагов является ли X синтаксически правильной конструкцией.
А – подмножество синтаксических правил конструкций – аксиомы П (А)
B – множество правил вывода, применяя их к А можно получить новые синтаксические правила совокупности, к которым можно применять B.
C множеств выводимых в данной системе ??????????????
Если существует П (B) – является ли данная конструкция выводимой, то система разрешима.
A – все информационные единицы внешнего множества
далее – новые значения.
фреймы представление процедурных знаний
Сценарии
Особую роль в системах представления знаний играют стереотипные знания, описывающие известные стандартные ситуации реального мира. Хотя их можно описывать продукциями или логическими моделями (аксиомами и правилами вывода), но более удобной и естественной формой являются сценарии.
Сценарий – формализованное описание стандартной последовательности взаимосвязанных фактов, определяющих типичную ситуацию предметной области. Обычно это – последовательности действий или процедур, описывающих способ достижения конечной цели (приготовление блюда, посадки в самолет, поступление в институт, и т. д.).
Сценарии используются для планирования действий, решения каких-либо задач, понимания естественно-языковых текстов, обучения и др.
Впервые понятие сценария было введено в 1975 Шенком и Абельсоном (Schank, Abelson) – Кембриджский университет.
Сцены являются крупными (обобщенными) действиями, разбивающимися в свою очередь, на последовательность более мелких процедур. Каждое последующее действие выполняется при условии завершения предыдущего, которое и создает условия для выполнения. Т. о. Процедуры связаны между собой причинно–следственными связями. Сцены так же ими связаны и обычно следуют одна за другой.
Пример:
Сценарий:
Посадка в самолет.
Роли
Дежурная, пассажиры, контролер, регистратор.
Цель
Размещение пассажиров в самолете, отправляющемся в рейс.
Сцена 1
Регистрация
Подход к стойке (пассажиры)
Взвешивание вещей (пассажиры, регистратор)
Классификация багажа (регистратор)
Проверка и регистрация билета (регистратор)
Сцена 2
Контроль
Подход к пункту контроля (пассажиры)
Проверка документов (контролер)
Проверка вещей (контролер)
Выход в посадочный терминал (пассажиры)
Сцена 3
Посадка
Выход на перрон (пассажиры, дежурная)
Подход к самолету (пассажиры, дежурная)
Проверка билетов и пропуск в самолет
Определение места и размещение в кресле
Были предложены более развернутые схемы, характеризующие сценарий (Литвинцева, Кондрашин). Они были названы каузальными сценариями (причинно / следственными).
В них среди ролей выделены: деятель, участники сценария (главный действующий объект).
Цель
Деятеля
Цель
Участника
Время
Посылки
Ключ (цель)
Следствие
Побочные действия
Закономерности
Системное имя
Значения слотов делятся на классы:
n –
S –
P –
СЦ –
F –
O –
Low –
SYS -
Числовые
Субъекты действий
События
Сценарии
Процедуры
Объекты
Закономерности
Системные имена
Пример:
R1 – отношение «быть раньше»
КСЦ «посадка на рейс»:
№ рейса (n: 861);
Деятель (S: дежурная);
Участники (S: пассажиры);
Цель деятеля (p: нахождение пассажиров в самолете);
Цель участника (p: нахождение пассажиров в кресле внутри самолета);
Время час(n: 1);
Необходимые условия реализации сценария
Посылки (СЦ: (регистрация R1 контроль R1 посадка));
Основное событие, определяющее тип ситуации, его реализация обеспечивает достижение целей деятеля и участников
Ключ (p: посадка в самолет);
Результаты выполнения сценария
Следствие (p: нахождение внутри самолета);
Действия, параллельные с выполнением действия
Побочные действия (СЦ: (формирование багажа R1 погрузка багажа));
Сценарий считается завершенным, если основное (ключевое) событие реализовано и цель достигнута. При декомпозиции цели на подцели в виде дерева имеем дерево сценариев. Обычно именно оно используется при планировании действий.
Планирование решения задач. Перспективы развития ЭС.
Планирование в пространстве состояний (SS - проблема) планирование в пространстве задач (PR - проблема).
SS: Задано некоторое пространство ситуаций (состояние внешнего мира и состояние ЭС) – какие-то параметры. Ситуации образуют обобщенные состояния. Действия ЭС или изменения во внешней среде приводят к изменению состояний. Начальные состояния → конечные (целевые) состояния. Поиск пути, ведущего из начального состояния в конечное.
PR: Пространство образуется за счет введения на множестве задач отношений часть/целое, род/вид, Декомпозиция задач на цели/подцели, решение которых известно.
Пример:
1.Планирование по состояниям: каждое описание задается строками, векторами, двухмерными массивами, деревьями, списками и т. д. Операторы одно состояние → в другое. Поиск на графе пути из A в B (обычно графы генерируются). Слепые и направленные методы поиска (поиск вглубь и поиск вширь).
Реализация фреймовых систем.
Фреймовые системы могут быть реализованы различными способами. Структура фрейма может быть представлена конструкцией: f = [<S1, V1>,<S2, V2>,…<Sn,Vn>], где f – имя фрейма; Si – имя i–го слота; Vi – значение слота.
С каждым слотом может быть сцеплена (по активизации) процедура (одна или любая комбинация) из следующих классов: 1) IF – ADDED – (ЕСЛИ – ДОБАВЛЕНО) - вызывается, при занесении нового значения в слот.
2) IF – DELETED – (ЕСЛИ – УДАЛЕНО) - вызывается при удалении значения из слота («очистка» слота).
3) IF – NEEDED: - (ЕСЛИ – НУЖНО) – вызывается при обращении к пустому слоту, т. е. при необходимости определения значения слота по уже имеющимся значениям других слотов или независимо от этого, например, путем запроса значения у пользователя.
Часть значений слотов фрейма может приниматься по умолчанию, если нет явных указаний о присваивании слоту конкретного значения.
Фрейм с пустыми значениями слотов или со значениями по умолчанию называется фреймом-прототипом. Фрейм с заполненными значениями – фреймом-экземпляром.
В качестве фреймов-прототипов могут быть фреймы-описания объектов, ????, ситуаций, а также процедур. В последнем случае вызов фрейма по имени соответствует обычному вызову процедуры (с параметрами или без них).
Поддержку работы с фреймами пользователь может писать на любом языке высокого уровня (C, Modula-2, Pascal), а также на специальных языках: работы со списками LISP, логического программирования PROLOG, объектно-ориентированного программирования Small talk-80, C++, и других.
Имеются также специальные языки работы с фреймами: RLL, KRL, FRL и другие. Часто фреймовые представления объединяются с сетевыми и продукционными языки ART и другие.
Если структура фреймов будет изменяться в процессе функционирования, то лучше всего использовать динамические структуры в виде списков.
Для фреймов фиксированной структуры возможна реализация записями или наборами массивов.
Процесс инициализации работы фреймовой системы начинается с занесении информации в какой-либо слот одного из фреймов прототипов, либо непосредственным вызовом процедурного фрейма.
При этом выполняются процедуры, либо сцепленные с соответствующими значениями слотов, либо непосредственно описанные во фрейме в качестве значений слотов- условий и слотов- действий.
Пример использования фреймов. Язык RRL
Примером фреймового языка является RLL (Representation Language, Language) – авторы Грейнер Р.; Ленат Д.;1980. (Greiner R., Lenat D.)
Этот язык является инструментальной средой для создания специализированных языков представления знаний.
Язык содержит базисные примитивы и средства конструирования более сложных структур из простых (специализирование языков). При этом технология конструирования сведется в основном к редактированию предлагаемых форм (заготовок) и последующей их перетрансляции в лист-представления.
Базисной конструкцией является фрейм-подобный RLL- элемент содержащий ряд слотов. Все структуры (декларативные и процедурные) описываются единообразно парами имя слота/значение.
Set
(физический объект,…)
(M6-2, M6-3,…)
Так описываются все люки
Типовой люк
(К_нему, От_него, расположен – под)
К_нему
ISA:
Description:
Inverse:
…
To_compute
Slot
Втекающий поток
От_него
(Lambda (m) one of (Remove(m(…))))
RLL – элементами описываются не только понятия предметной области, но и сами процедуры, слоты и другие компоненты RLL – среды.
Отношения род/вид (обобщения) задаются многосвязными списками. Используется и аппарат присоединенных процедур, задаваемых в описании слота. (To_compute – процедура типа IF - NEEDED)
Правила обработки также являются RLL – элементами, содержащими слоты IF и THEN. Пример:
Правило # 322
Тип ISA:
Description (описание):
Rule (правило)
При работе с токсичными материалами применять специальные меры (сообщить пользователю об опасности)
IF Если_потенциально – ???
(химическая активность высокая?)
IF Если_действительно – ???
(химическая активность непосредственно около человека)
THEN То сказать пользователю:
Старайся не вдыхать, химическая активность!
THEN То добавить_к_цели:
(список подцелей, системные указания, работа с которыми не превысит
Приоритет:
Стоимость:
Среднее время выполнения:
Частота использования:
Высокий
0.1с
рассматривалось 985 раз, использовалось 4 раза