Создание экспертной системы для предметной области "Строительство бани на дачном участке"

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 26.08.2012
Размер файла 867,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Содержание

1. Постановка задачи

2. Описание структуры экспертной системы, ее блоков и основного алгоритма функционирования

3. Понятие о модели предметной области: структура, состав, концептуальная модель, База знаний

4. Понятийно-объектная модель предметной области

5. Концептуальная модель заданной предметной области

6. Отчет с описанием прототипа экспертной системы и примерами состояний и вывода решений

6.1 Прототип экспертной системы

6.2 Расчет покрываемости

6.3 Примеры решений

6.3.1 Пример 1

6.3.2 Пример 2

7. Фрагмент модели предметной области в формате исчисления высказываний

8. Фрагмент модели предметной области в формате исчисления предикатов первого порядка

9. Фрагмент модели предметной области в формате семантической сети

Библиографический список

1. Постановка задачи

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

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

2. Описание структуры экспертной системы, ее блоков и основного алгоритма функционирования

Экспертная система (ЭС) - система, вырабатывающая решения, основанные на базе знаний (БЗ) (в частности на продукционных).

Продукционная система (ПС) или Продукция = {РБД, МВ, БЗ}

Общая структура экспертной системы (ЭС) показана на рисунке.

Она состоит из блока объяснений, РБД (рабочей базы данных), блока МВ, базы знаний, блока приобретения знаний и интерфейса.

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

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

С помощью блока объяснения решений происходит отображение промежуточных и окончательных решений и объяснение пользователю действий ЭС в процессе логического вывода. Как правило, ЭС отвечает на вопросы «как» и «почему», т.е. на вопросы типа «как достигнуто то или иное заключение», «почему оно было достигнуто» и др.

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

Обобщённый алгоритм принятия решения.

1. Идентифицировать наличие проблемы

2. Сформулировать задачу принятия решения

3. Определить множество альтернатив

4. Определить множество критериев

5. Произвести оценку альтернатив по сформулированным критериям

6. Выбрать наиболее подходящее решение по результату оценки

7. Реализовать решение

8. Сравнить полученные результаты с предполагаемыми

9. По результату сравнения можно внести изменения в систему критериев (для циклов)

3. Понятие о модели предметной области: структура, состав, концептуальная модель, База знаний

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

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

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

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

Предметная область задачи представляется в виде совокупности следующих множеств: X, C, R, G, F , где:

- множество имен объектов (предметов и сущностей внешнего мира), с которыми мы имеем дело при решении задачи;

- множество имен свойств объектов из множества X (характерных признаков этих объектов). Каждый объект из множества Х получает свое содержание в виде совокупности необходимых для решения данной задачи свойств, т.е.:

, где для каждого свойства определяются области значений: , …, ;

- множество имен отношений, в которые могут вступать объекты моделируемой ПО;

- множество имен действий (операций), которые допустимы над этими объектами путем изменение значений их свойств и отношений между ними.

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

(1)

Совокупность всех возможных состояний образует пространство состояний данной ПО. Каждому действию из множества G соответствует состояние-предусловие, т.е. состояние ПО, к которому применимо данное действие. В результате выполнения этого действия изменяются значения некоторых элементов множеств C и R, связанных с применяемым действием, т.е. формируются новые факты. Получившееся новое состояние является состоянием-постусловием данного действия. Таким образом, каждое действие представляет собой функциональное отображение одного (или нескольких) состояний в другое (другие). В зависимости от описываемого выражением (1) предусловия на момент ti [tнач, tкон] выбирается то действие, которое необходимо для решения задачи. Обозначим через F множество взаимоотображений пространства состояний и множества действий:

или

(2)

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

Z = (Sн Sц)(3)

А целевое состояние выражением:

Sц = gi (gn(gm(…….gk( Sн ))))

Последовательность (gk, …, gm, gn, gi) и представляет собой алгоритм решения задачи, поиском которого занимается экспертная система.

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

ПО и функции разрабатываемой интеллектуальной системы (ИС).

Каждое действие описывается через имя и набор объектов:

· объект, над которым совершается действие

· субъект, который его выполняет

· компоненты - другие объекты, которые в нем участвуют

В результате формируется определенное понятийное пространство соответствующей ПО, содержащее пространство объектов и пространство действий.

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рисунок 1. Структура действий КМПО

Пространство объектов порождает пространство состояний ПО, а пространство действий - пространство решений, возможных в данной задаче.

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

4. Понятийно-объектная модель предметной области

1. Понятия-действия:

1.1 Составить

объект: План

субъект: Менеджер

компоненты:

Заявка

поддействия:

условия активизации:

Заявка Обработано = true

Заявка Подано = true

План Составлено = false

результат:

План Составлено = true

действие верхнего уровня:

1.2 Оформить

объект: Заказ

субъект: Менеджер

компоненты:

План

поддействия:

условия активизации:

Заказ Оформлено = false

План Составлено = true

результат:

Заказ Оформлено = true

действие верхнего уровня:

1.3 Разгрузить

объект: Кровельные_материалы

субъект: Отдел_доставки

компоненты:

Заказ

поддействия:

условия активизации:

Заказ Оформлено = true

Кровельные_материалы Разгружено = false

результат:

Кровельные_материалы Разгружено = true

действие верхнего уровня:

1.4 Построить

объект: Печь

субъект: Печник

компоненты:

Кровельные_работы

Фундамент_печи

поддействия:

условия активизации:

Кровельные_работы Произведено = true

Печь На Фундамент_печи = ложь

Печь Построено = false

результат:

Печь На Фундамент_печи = истина

Печь Построено = true

действие верхнего уровня:

1.5 Возвести

объект: Стены

субъект: Монтажники

компоненты:

Бревна

Каркас_крыши

Обвязка

Фундамент

поддействия:

условия активизации:

Бревна Разгружено = true

Каркас_крыши Установлено = false

Обвязка На Фундамент = истина

Стены Возведено = false

результат:

Каркас_крыши Установлено = true

Стены Возведено = true

действие верхнего уровня:

1.6 Установить

объект: Фундамент

субъект: Плотники

компоненты:

Фундамент_здания

Фундамент_печи

поддействия:

условия активизации:

Фундамент Установлено = false

Фундамент_здания Установлено = true

Фундамент_печи Установлено = true

результат:

Фундамент Установлено = true

действие верхнего уровня:

1.7 Утеплить

объект: Здание

субъект: Отделочники

компоненты:

Отделочные_материалы

Печь

Фундамент_печи

поддействия:

условия активизации:

Здание Утеплено = false

Отделочные_материалы Разгружено = true

Печь На Фундамент_печи = истина

результат:

Здание Утеплено = true

действие верхнего уровня:

1.8 Расчистить

объект: Территория

субъект: Рабочие

компоненты:

Заказ

поддействия:

условия активизации:

Заказ Оформлено = true

Территория Расчищено = false

результат:

Территория Расчищено = true

действие верхнего уровня:

1.9 Установить

объект: Фундамент_здания

субъект: Плотники

компоненты:

Грунт

Кирпич

поддействия:

условия активизации:

Грунт Выкопано = true

Кирпич Разгружено = true

Фундамент_здания Установлено = false

результат:

Фундамент_здания Установлено = true

действие верхнего уровня:

1.10 Установить

объект: Фундамент_печи

субъект: Плотники

компоненты:

Грунт

Кирпич

поддействия:

условия активизации:

Грунт Выкопано = true

Кирпич Разгружено = true

Фундамент_печи Установлено = false

результат:

Фундамент_печи Установлено = true

действие верхнего уровня:

1.11 Построить

объект: Баня

субъект: Строительная_компания

компоненты:

Канализационная_система

Электромонтажные_работы

поддействия:

условия активизации:

Баня Построена = false

Канализационная_система Установлено = true

Электромонтажные_работы Произведено = true

результат:

Баня Построена = true

действие верхнего уровня:

1.12 Произвести

объект: Кровельные_работы

субъект: Монтажники

компоненты:

Черепица

Каркас_крыши

Кровельные_материалы

Стены

поддействия:

условия активизации:

Черепица Прикреплена_к Каркас_крыши = истина

Кровельные_материалы Разгружено = true

Кровельные_работы Произведено = false

Стены Возведено = true

результат:

Кровельные_работы Произведено = true

действие верхнего уровня:

1.13 Установить

объект: Канализационная_система

субъект: Рабочие

компоненты:

Канализационная_яма

Кольца

Коммуникации

поддействия:

условия активизации:

Канализационная_система Установлено = false

Кольца В Канализационная_яма = истина

Коммуникации Смонтировано = true

результат:

Канализационная_система Установлено = true

действие верхнего уровня:

1.14 Произвести

объект: Отделочные_работы

субъект: Отделочники

компоненты:

Внутренние_отделочные_работы

Наружные_отделочные_работы

поддействия:

условия активизации:

Внутренние_отделочные_работы Произведено = true

Наружные_отделочные_работы Произведено = true

Отделочные_работы Произведено = false

результат:

Отделочные_работы Произведено = true

действие верхнего уровня:

1.15 Произвести

объект: Внутренние_отделочные_работы

субъект: Отделочники

компоненты:

Парилка

Предбанник

поддействия:

условия активизации:

Внутренние_отделочные_работы Произведено = false

Парилка Отделано = true

Предбанник Отделано = true

результат:

Внутренние_отделочные_работы Произведено = true

действие верхнего уровня:

1.16 Составить

объект: План_электромонтажных_работ

субъект: Электрик

компоненты:

Заказ

поддействия:

условия активизации:

Заказ Оформлено = true

План_электромонтажных_работ Составлено = false

результат:

План_электромонтажных_работ Составлено = true

действие верхнего уровня:

1.17 Смонтировать

объект: Коммуникации

субъект: Рабочие

компоненты:

Стены

поддействия:

условия активизации:

Коммуникации Смонтировано = false

Стены Возведено = true

результат:

Коммуникации Смонтировано = true

действие верхнего уровня:

1.18 Произвести

объект: Наружные_отделочные_работы

субъект: Отделочники

компоненты:

Сайдинг

Цоколь

поддействия:

условия активизации:

Наружные_отделочные_работы Произведено = false

Сайдинг Набито = true

Цоколь Отделано = true

результат:

Наружные_отделочные_работы Произведено = true

действие верхнего уровня:

1.19 Завести

объект: Строительные_материалы

субъект: Отдел_доставки

компоненты:

Бревна

Кирпич

Кровельные_материалы

Отделочные_материалы

поддействия:

условия активизации:

Бревна Разгружено = true

Кирпич Разгружено = true

Кровельные_материалы Разгружено = true

Отделочные_материалы Разгружено = true

Строительные_материалы Завезено = false

результат:

Строительные_материалы Завезено = true

действие верхнего уровня:

1.20 Произвести

объект: Монтаж_силовых_линий

субъект: Электрик

компоненты:

Отделочные_работы

План_электромонтажных_работ

поддействия:

условия активизации:

Монтаж_силовых_линий Произведено = false

Отделочные_работы Произведено = true

План_электромонтажных_работ Составлено = true

результат:

Монтаж_силовых_линий Произведено = true

действие верхнего уровня:

1.21 Разгрузить

объект: Кирпич

субъект: Отдел_доставки

компоненты:

Заказ

поддействия:

условия активизации:

Заказ Оформлено = true

Кирпич Разгружено = false

результат:

Кирпич Разгружено = true

действие верхнего уровня:

1.22 Набить

объект: Сайдинг

субъект: Отделочники

компоненты:

Здание

поддействия:

условия активизации:

Здание Утеплено = true

Сайдинг Набито = false

результат:

Сайдинг Набито = true

действие верхнего уровня:

1.23 Произвести

объект: Электромонтажные_работы

субъект: Электрик

компоненты:

Ввод_в_здание

Монтаж_осветительных_линий

Монтаж_силовых_линий

поддействия:

условия активизации:

Ввод_в_здание Осуществлено = true

Монтаж_осветительных_линий Произведено = true

Монтаж_силовых_линий Произведено = true

Электромонтажные_работы Произведено = false

результат:

Электромонтажные_работы Произведено = true

действие верхнего уровня:

1.24 Произвести

объект: Монтаж_осветительных_линий

субъект: Электрик

компоненты:

Отделочные_работы

План_электромонтажных_работ

поддействия:

условия активизации:

Монтаж_осветительных_линий Произведено = false

Отделочные_работы Произведено = true

План_электромонтажных_работ Составлено = true

результат:

Монтаж_осветительных_линий Произведено = true

действие верхнего уровня:

1.25 Осуществить

объект: Ввод_в_здание

субъект: Электрик

компоненты:

Отделочные_работы

План_электромонтажных_работ

поддействия:

условия активизации:

Ввод_в_здание Осуществлено = false

Отделочные_работы Произведено = true

План_электромонтажных_работ Составлено = true

результат:

Ввод_в_здание Осуществлено = true

действие верхнего уровня:

1.26 Выкопать

объект: Грунт

субъект: Рабочие

компоненты:

Территория

поддействия:

условия активизации:

Грунт Выкопано = false

Территория Расчищено = true

результат:

Грунт Выкопано = true

действие верхнего уровня:

1.27 Отделать

объект: Предбанник

субъект: Отделочники

компоненты:

Здание

поддействия:

условия активизации:

Здание Утеплено = true

Предбанник Отделано = false

результат:

Предбанник Отделано = true

действие верхнего уровня:

1.28 Выкопать

объект: Канализационная_яма

субъект: Рабочие

компоненты:

Заказ

Кольца

поддействия:

условия активизации:

Заказ Оформлено = true

Канализационная_яма Выкопано = false

Кольца В Канализационная_яма = ложь

результат:

Канализационная_яма Выкопано = true

Кольца В Канализационная_яма = истина

действие верхнего уровня:

1.29 Отделать

объект: Парилка

субъект: Отделочники

компоненты:

Здание

поддействия:

условия активизации:

Здание Утеплено = true

Парилка Отделано = false

результат:

Парилка Отделано = true

действие верхнего уровня:

1.30 Отделать

объект: Цоколь

субъект: Отделочники

компоненты:

Стены

поддействия:

условия активизации:

Стены Возведено = true

Цоколь Отделано = false

результат:

Цоколь Отделано = true

действие верхнего уровня:

1.31 Разгрузить

объект: Бревна

субъект: Отдел_доставки

компоненты:

Заказ

поддействия:

условия активизации:

Бревна Разгружено = false

Заказ Оформлено = true

результат:

Бревна Разгружено = true

действие верхнего уровня:

1.32 Разгрузить

объект: Отделочные_материалы

субъект: Отдел_доставки

компоненты:

Заказ

поддействия:

условия активизации:

Заказ Оформлено = true

Отделочные_материалы Разгружено = false

результат:

Отделочные_материалы Разгружено = true

действие верхнего уровня:

2. Понятия-объекты:

2.1 Обвязка

суперкласс:

свойства:

отношения:

На Фундамент

начальное значение: 'ложь'

2.2 План

суперкласс:

свойства:

Составлено

тип: Boolean

начальное значение: false

отношения:

2.3 Менеджер

суперкласс:

свойства:

отношения:

2.4 Фундамент

суперкласс:

свойства:

Установлено

тип: Boolean

начальное значение: false

отношения:

2.5 Печник

суперкласс:

свойства:

отношения:

2.6 Монтажники

суперкласс:

свойства:

отношения:

2.7 Внутренние_отделочные_работы

суперкласс:

свойства:

Произведено

тип: Boolean

начальное значение: false

отношения:

2.8 Рабочие

суперкласс:

свойства:

отношения:

2.9 Территория

суперкласс:

свойства:

Расчищено

тип: Boolean

начальное значение: false

отношения:

2.10 Каркас_крыши

суперкласс:

свойства:

Установлено

тип: Boolean

начальное значение: false

отношения:

2.11 Электромонтажные_работы

суперкласс:

свойства:

Произведено

тип: Boolean

начальное значение: false

отношения:

2.12 Здание

суперкласс:

свойства:

Утеплено

тип: Boolean

начальное значение: false

отношения:

2.13 Предбанник

суперкласс:

свойства:

Отделано

тип: Boolean

начальное значение: false

отношения:

2.14 Отделочные_работы

суперкласс:

свойства:

Произведено

тип: Boolean

начальное значение: false

отношения:

2.15 Ввод_в_здание

суперкласс:

свойства:

Осуществлено

тип: Boolean

начальное значение: false

отношения:

2.16 Канализационная_яма

суперкласс:

свойства:

Выкопано

тип: Boolean

начальное значение: false

отношения:

2.17 Фундамент_здания

суперкласс:

свойства:

Установлено

тип: Boolean

начальное значение: false

отношения:

2.18 Коммуникации

суперкласс:

свойства:

Смонтировано

тип: Boolean

начальное значение: false

отношения:

2.19 Канализационная_система

суперкласс:

свойства:

Установлено

тип: Boolean

начальное значение: false

отношения:

2.20 Монтаж_осветительных_линий

суперкласс:

свойства:

Произведено

тип: Boolean

начальное значение: false

отношения:

2.21 Сайдинг

суперкласс:

свойства:

Набито

тип: Boolean

начальное значение: false

отношения:

2.22 Отдел_доставки

суперкласс:

свойства:

отношения:

2.23 Отделочники

суперкласс:

свойства:

отношения:

2.24 Баня

суперкласс:

свойства:

Построена

тип: Boolean

начальное значение: false

отношения:

2.25 Цоколь

суперкласс:

свойства:

Отделано

тип: Boolean

начальное значение: false

отношения:

2.26 Черепица

суперкласс:

свойства:

отношения:

Прикреплена_к Каркас_крыши

начальное значение: 'ложь'

2.27 Парилка

суперкласс:

свойства:

Отделано

тип: Boolean

начальное значение: false

отношения:

2.28 Кольца

суперкласс:

свойства:

отношения:

В Канализационная_яма

начальное значение: 'ложь'

2.29 Строительные_материалы

суперкласс:

свойства:

Завезено

тип: Boolean

начальное значение: false

отношения:

2.30 Наружные_отделочные_работы

суперкласс:

свойства:

Произведено

тип: Boolean

начальное значение: false

отношения:

2.31 Электрик

суперкласс:

свойства:

отношения:

2.32 Бревна

суперкласс:

свойства:

Разгружено

тип: Boolean

начальное значение: false

отношения:

2.33 Грунт

суперкласс:

свойства:

Выкопано

тип: Boolean

начальное значение: false

отношения:

2.34 Монтаж_силовых_линий

суперкласс:

свойства:

Произведено

тип: Boolean

начальное значение: false

отношения:

2.35 План_электромонтажных_работ

суперкласс:

свойства:

Составлено

тип: Boolean

начальное значение: false

отношения:

2.36 Кирпич

суперкласс:

свойства:

Разгружено

тип: Boolean

начальное значение: false

отношения:

2.37 Строительная_компания

суперкласс:

свойства:

отношения:

2.38 Заявка

суперкласс:

свойства:

Обработано

тип: Boolean

начальное значение: true

Подано

тип: Boolean

начальное значение: true

отношения:

2.39 Кровельные_материалы

суперкласс:

свойства:

Разгружено

тип: Boolean

начальное значение: false

отношения:

2.40 Фундамент_печи

суперкласс:

свойства:

Установлено

тип: Boolean

начальное значение: false

отношения:

2.41 Заказ

суперкласс:

свойства:

Оформлено

тип: Boolean

начальное значение: false

отношения:

2.42 Стены

суперкласс:

свойства:

Возведено

тип: Boolean

начальное значение: false

отношения:

2.43 Печь

суперкласс:

свойства:

Построено

тип: Boolean

начальное значение: false

отношения:

На Фундамент_печи

начальное значение: 'ложь'

2.44 Кровельные_работы

суперкласс:

свойства:

Произведено

тип: Boolean

начальное значение: false

отношения:

2.45 Плотники

суперкласс:

свойства:

отношения:

2.46 Отделочные_материалы

суперкласс:

свойства:

Разгружено

тип: Boolean

начальное значение: false

отношения:

3. Понятия-свойства:

3.1 Возведено

объекты, имеющие это свойство:

Стены

3.2 Выкопано

объекты, имеющие это свойство:

Грунт

Канализационная_яма

3.3 Завезено

объекты, имеющие это свойство:

Строительные_материалы

3.4 Набито

объекты, имеющие это свойство:

Сайдинг

3.5 Обработано

объекты, имеющие это свойство:

Заявка

3.6 Осуществлено

объекты, имеющие это свойство:

Ввод_в_здание

3.7 Отделано

объекты, имеющие это свойство:

Предбанник

Парилка

Цоколь

3.8 Оформлено

объекты, имеющие это свойство:

Заказ

3.9 Подано

объекты, имеющие это свойство:

Заявка

3.10 Построена

объекты, имеющие это свойство:

Баня

3.11 Построено

объекты, имеющие это свойство:

Печь

3.12 Произведено

объекты, имеющие это свойство:

Кровельные_работы

Отделочные_работы

Внутренние_отделочные_работы

Наружные_отделочные_работы

Электромонтажные_работы

Монтаж_осветительных_линий

Монтаж_силовых_линий

3.13 Разгружено

объекты, имеющие это свойство:

Кровельные_материалы

Отделочные_материалы

Бревна

Кирпич

3.14 Расчищено

объекты, имеющие это свойство:

Территория

3.15 Смонтировано

объекты, имеющие это свойство:

Коммуникации

3.16 Составлено

объекты, имеющие это свойство:

План

План_электромонтажных_работ

3.17 Установлено

объекты, имеющие это свойство:

Фундамент

Фундамент_здания

Фундамент_печи

Каркас_крыши

Канализационная_система

3.18 Утеплено

объекты, имеющие это свойство:

Здание

4. Понятия-отношения:

4.1 В

объекты, имеющие это отношение:

Кольца

4.2 На

объекты, имеющие это отношение:

Обвязка

Печь

4.3 Прикреплена_к

объекты, имеющие это отношение:

Черепица

5. Концептуальная модель заданной предметной области

Описание построенной модели:

Основа Базы Знаний - это концептуальная модель предметной области которая формализуется следующим образом:

Мпо = {X, C, R, G}, где:

X - множество объектов предметной области;

C - множество существенных свойств всех объектов;

R - множество существенных отношений между объектами

G - множество допустимых (необходимых) действий над объектами.

Для рассматриваемой предметной области была создана следующая модель:

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

G = { Менеджер_Оформить_Заказ_1_1,

Менеджер_Составить_План_1_1,

Монтажники_Возвести_Стены_1_1,

Монтажники_Произвести_Кровельные_работы_1_1,

Отдел_доставки_Завести_Строительные_материалы_1_1,

Отдел_доставки_Разгрузить_Бревна_1_1,

Отдел_доставки_Разгрузить_Кирпич_1_1,

Отдел_доставки_Разгрузить_Кровельные_материалы_1_1,

Отдел_доставки_Разгрузить_Отделочные_материалы_1_1,

Отделочники_Набить_Сайдинг_1_1,

Отделочники_Отделать_Парилка_1_1,

Отделочники_Отделать_Предбанник_1_1,

Отделочники_Отделать_Цоколь_1_1,

Отделочники_Произвести_Внутренние_отделочные_работы_1_1,

Отделочники_Произвести_Наружные_отделочные_работы_1_1,

Отделочники_Произвести_Отделочные_работы_1_1,

Отделочники_Утеплить_Здание_1_1,

Печник_Построить_Печь_1_1,

Плотники_Установить_Фундамент_здания_1_1,

Плотники_Установить_Фундамент_печи_1_1,

Плотники_Установить_Фундамент_1_1,

Рабочие_Выкопать_Грунт_1_1,

Рабочие_Выкопать_Канализационная_яма_1_1,

Рабочие_Расчистить_Территория_1_1,

Рабочие_Смонтировать_Коммуникации_1_1,

Рабочие_Установить_Канализационная_система_1_1,

Строительная_компания_Построить_Баня_1_1,

Электрик_Осуществить_Ввод_в_здание_1_1,

Электрик_Произвести_Монтаж_осветительных_линий_1_1,

Электрик_Произвести_Монтаж_силовых_линий_1_1,

Электрик_Произвести_Электромонтажные_работы_1_1,

Электрик_Составить_План_электромонтажных_работ_1_1 }

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

X = { Черепица_1,

Баня_1,

Бревна_1,

Ввод_в_здание_1,

Внутренние_отделочные_работы_1,

Грунт_1,

Заказ_1,

Заявка_1,

Здание_1,

Канализационная_система_1,

Канализационная_яма_1,

Каркас_крыши_1,

Кирпич_1,

Кольца_1,

Коммуникации_1,

Кровельные_материалы_1,

Кровельные_работы_1,

Менеджер_1,

Монтаж_осветительных_линий_1,

Монтаж_силовых_линий_1,

Монтажники_1,

Наружные_отделочные_работы_1,

Обвязка_1,

Отдел_доставки_1,

Отделочники_1,

Отделочные_материалы_1,

Отделочные_работы_1,

Парилка_1,

Печник_1,

Печь_1,

План_электромонтажных_работ_1,

План_1,

Плотники_1,

Предбанник_1,

Рабочие_1,

Сайдинг_1,

Стены_1,

Строительная_компания_1,

Строительные_материалы_1,

Территория_1,

Фундамент_здания_1,

Фундамент_печи_1,

Фундамент_1,

Цоколь_1,

Электрик_1,

Электромонтажные_работы_1 }

C = { Построена [ Тип свойства: Логический ],

Построено [ Тип свойства: Логический ],

Завезено [ Тип свойства: Логический ],

Разгружено [ Тип свойства: Логический ],

Возведено [ Тип свойства: Логический ],

Оформлено [ Тип свойства: Логический ],

Осуществлено [ Тип свойства: Логический ],

Установлено [ Тип свойства: Логический ],

Произведено [ Тип свойства: Логический ],

Расчищено [ Тип свойства: Логический ],

Обработано [ Тип свойства: Логический ],

Смонтировано [ Тип свойства: Логический ],

Выкопано [ Тип свойства: Логический ],

Составлено [ Тип свойства: Логический ],

Отделано [ Тип свойства: Логический ],

Подано [ Тип свойства: Логический ],

Набито [ Тип свойства: Логический ],

Утеплено [ Тип свойства: Логический ] }

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

Объект "Черепица_1":

Объект "Баня_1":

-- Построена; Множество значений: {Четкие логические значения }

Объект "Бревна_1":

-- Разгружено; Множество значений: {Четкие логические значения }

Объект "Ввод_в_здание_1":

-- Осуществлено; Множество значений: {Четкие логические значения }

Объект "Внутренние_отделочные_работы_1":

-- Произведено; Множество значений: {Четкие логические значения }

Объект "Грунт_1":

-- Выкопано; Множество значений: {Четкие логические значения }

Объект "Заказ_1":

-- Оформлено; Множество значений: {Четкие логические значения }

Объект "Заявка_1":

-- Обработано; Множество значений: {Четкие логические значения }

-- Подано; Множество значений: {Четкие логические значения }

Объект "Здание_1":

-- Утеплено; Множество значений: {Четкие логические значения }

Объект "Канализационная_система_1":

-- Установлено; Множество значений: {Четкие логические значения }

Объект "Канализационная_яма_1":

-- Выкопано; Множество значений: {Четкие логические значения }

Объект "Каркас_крыши_1":

-- Установлено; Множество значений: {Четкие логические значения }

Объект "Кирпич_1":

-- Разгружено; Множество значений: {Четкие логические значения }

Объект "Кольца_1":

Объект "Коммуникации_1":

-- Смонтировано; Множество значений: {Четкие логические значения }

Объект "Кровельные_материалы_1":

-- Разгружено; Множество значений: {Четкие логические значения }

Объект "Кровельные_работы_1":

-- Произведено; Множество значений: {Четкие логические значения }

Объект "Менеджер_1":

Объект "Монтаж_осветительных_линий_1":

-- Произведено; Множество значений: {Четкие логические значения }

Объект "Монтаж_силовых_линий_1":

-- Произведено; Множество значений: {Четкие логические значения }

Объект "Монтажники_1":

Объект "Наружные_отделочные_работы_1":

-- Произведено; Множество значений: {Четкие логические значения }

Объект "Обвязка_1":

Объект "Отдел_доставки_1":

Объект "Отделочники_1":

Объект "Отделочные_материалы_1":

-- Разгружено; Множество значений: {Четкие логические значения }

Объект "Отделочные_работы_1":

-- Произведено; Множество значений: {Четкие логические значения }

Объект "Парилка_1":

-- Отделано; Множество значений: {Четкие логические значения }

Объект "Печник_1":

Объект "Печь_1":

-- Построено; Множество значений: {Четкие логические значения }

Объект "План_электромонтажных_работ_1":

-- Составлено; Множество значений: {Четкие логические значения }

Объект "План_1":

-- Составлено; Множество значений: {Четкие логические значения }

Объект "Плотники_1":

Объект "Предбанник_1":

-- Отделано; Множество значений: {Четкие логические значения }

Объект "Рабочие_1":

Объект "Сайдинг_1":

-- Набито; Множество значений: {Четкие логические значения }

Объект "Стены_1":

-- Возведено; Множество значений: {Четкие логические значения }

Объект "Строительная_компания_1":

Объект "Строительные_материалы_1":

-- Завезено; Множество значений: {Четкие логические значения }

Объект "Территория_1":

-- Расчищено; Множество значений: {Четкие логические значения }

Объект "Фундамент_здания_1":

-- Установлено; Множество значений: {Четкие логические значения }

Объект "Фундамент_печи_1":

-- Установлено; Множество значений: {Четкие логические значения }

Объект "Фундамент_1":

-- Установлено; Множество значений: {Четкие логические значения }

Объект "Цоколь_1":

-- Отделано; Множество значений: {Четкие логические значения }

Объект "Электрик_1":

Объект "Электромонтажные_работы_1":

-- Произведено; Множество значений: {Четкие логические значения }

Для решения задачи потребовалось установить следующие отношения между объектами:

R = { В(Кольца_1, Канализационная_яма_1),

На(Обвязка_1, Фундамент_1),

На(Печь_1, Фундамент_печи_1),

Прикреплена_к(Черепица_1, Каркас_крыши_1) }

6. Отчет с описанием прототипа экспертной системы и примерами состояний и вывода решений

6.1 Прототип экспертной системы

Объединяя информацию о свойствах объектов и отношениях между ними, получаем набор фактов, которые должны входить в рабочую базу данных (РБД) интеллектуальной системы:

РБД = { Баня_1.Построена [ Тип факта: Логический; Начальное

значение = false ],

Бревна_1.Разгружено [ Тип факта: Логический; Начальное значение =

false ],

Ввод_в_здание_1.Осуществлено [ Тип факта: Логический; Начальное

значение = false ],

Внутренние_отделочные_работы_1.Произведено [ Тип факта:

Логический; Начальное значение = false ],

Грунт_1.Выкопано [ Тип факта: Логический; Начальное значение =

false ],

Заказ_1.Оформлено [ Тип факта: Логический; Начальное значение =

false ],

Заявка_1.Обработано [ Тип факта: Логический; Начальное значение =

true ],

Заявка_1.Подано [ Тип факта: Логический; Начальное значение = true ],

Здание_1.Утеплено [ Тип факта: Логический; Начальное значение =

false ],

Канализационная_система_1.Установлено [ Тип факта: Логический;

Начальное значение = false ],

Канализационная_яма_1.Выкопано [ Тип факта: Логический;

Начальное значение = false ],

Каркас_крыши_1.Установлено [ Тип факта: Логический; Начальное

значение = false ],

Кирпич_1.Разгружено [ Тип факта: Логический; Начальное значение =

false ],

Коммуникации_1.Смонтировано [ Тип факта: Логический; Начальное

значение = false ],

Кровельные_материалы_1.Разгружено [ Тип факта: Логический;

Начальное значение = false ],

Кровельные_работы_1.Произведено [ Тип факта: Логический;

Начальное значение = false ],

Монтаж_осветительных_линий_1.Произведено [ Тип факта:

Логический; Начальное значение = false ],

Монтаж_силовых_линий_1.Произведено [ Тип факта: Логический;

Начальное значение = false ],

Наружные_отделочные_работы_1.Произведено [ Тип факта:

Логический; Начальное значение = false ],

Отделочные_материалы_1.Разгружено [ Тип факта: Логический;

Начальное значение = false ],

Отделочные_работы_1.Произведено [ Тип факта: Логический;

Начальное значение = false ],

Парилка_1.Отделано [ Тип факта: Логический; Начальное значение =

false ],

Печь_1.Построено [ Тип факта: Логический; Начальное значение =

false ],

План_электромонтажных_работ_1.Составлено [ Тип факта:

Логический; Начальное значение = false ],

План_1.Составлено [ Тип факта: Логический; Начальное значение =

false ],

Предбанник_1.Отделано [ Тип факта: Логический; Начальное значение

= false ],

Сайдинг_1.Набито [ Тип факта: Логический; Начальное значение =

false ],

Стены_1.Возведено [ Тип факта: Логический; Начальное значение =

false ],

Строительные_материалы_1.Завезено [ Тип факта: Логический;

Начальное значение = false ],

Территория_1.Расчищено [ Тип факта: Логический; Начальное

значение = false ],

Фундамент_здания_1.Установлено [ Тип факта: Логический; Начальное

значение = false ],

Фундамент_печи_1.Установлено [ Тип факта: Логический; Начальное

значение = false ],

Фундамент_1.Установлено [ Тип факта: Логический; Начальное

значение = false ],

Цоколь_1.Отделано [ Тип факта: Логический; Начальное значение =

false ],

Электромонтажные_работы_1.Произведено [ Тип факта: Логический;

Начальное значение = false ],

В(Кольца_1, Канализационная_яма_1) [ Тип факта: Логический;

Начальное значение = ложь],

На(Обвязка_1, Фундамент_1) [ Тип факта: Логический; Начальное

значение = ложь],

На(Печь_1, Фундамент_печи_1) [ Тип факта: Логический; Начальное

значение = ложь],

Прикреплена_к(Черепица_1, Каркас_крыши_1) [ Тип факта:

Логический; Начальное значение = ложь] }

Далее, посредством построения отображения F - множества состояний на множество действий, описание которого здесь опускается, но которое, тем не менее, должно быть в Вашем отчете, была создана База Правил.

База Правил содержит следующие правила:

A) Правила, эквивалентные действиям над объектами предметной области:

A.1)

ИМЯ ПРАВИЛА: "Менеджер_Оформить_Заказ_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Заказ_1.Оформлено = false ) И

( План_1.Составлено = true )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Заказ_1.Оформлено:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.2)

ИМЯ ПРАВИЛА: "Менеджер_Составить_План_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Заявка_1.Обработано = true ) И

( Заявка_1.Подано = true ) И

( План_1.Составлено = false )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

План_1.Составлено:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.3)

ИМЯ ПРАВИЛА: "Монтажники_Возвести_Стены_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Бревна_1.Разгружено = true ) И

( Каркас_крыши_1.Установлено = false ) И

( На(Обвязка_1, Фундамент_1) = истина ) И

( Стены_1.Возведено = false )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Каркас_крыши_1.Установлено:= true

Стены_1.Возведено:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.4)

ИМЯ ПРАВИЛА:

"Монтажники_Произвести_Кровельные_работы_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Прикреплена_к(Черепица_1, Каркас_крыши_1) = истина ) И

( Кровельные_материалы_1.Разгружено = true ) И

( Кровельные_работы_1.Произведено = false ) И

( Стены_1.Возведено = true )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Кровельные_работы_1.Произведено:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.5)

ИМЯ ПРАВИЛА:

"Отдел_доставки_Завести_Строительные_материалы_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Бревна_1.Разгружено = true ) И

( Кирпич_1.Разгружено = true ) И

( Кровельные_материалы_1.Разгружено = true ) И

( Отделочные_материалы_1.Разгружено = true ) И

( Строительные_материалы_1.Завезено = false )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Строительные_материалы_1.Завезено:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.6)

ИМЯ ПРАВИЛА: "Отдел_доставки_Разгрузить_Бревна_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Бревна_1.Разгружено = false ) И

( Заказ_1.Оформлено = true )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Бревна_1.Разгружено:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.7)

ИМЯ ПРАВИЛА: "Отдел_доставки_Разгрузить_Кирпич_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Заказ_1.Оформлено = true ) И

( Кирпич_1.Разгружено = false )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Кирпич_1.Разгружено:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.8)

ИМЯ ПРАВИЛА:

"Отдел_доставки_Разгрузить_Кровельные_материалы_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Заказ_1.Оформлено = true ) И

( Кровельные_материалы_1.Разгружено = false )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Кровельные_материалы_1.Разгружено:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.9)

ИМЯ ПРАВИЛА:

"Отдел_доставки_Разгрузить_Отделочные_материалы_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Заказ_1.Оформлено = true ) И

( Отделочные_материалы_1.Разгружено = false )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Отделочные_материалы_1.Разгружено:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.10)

ИМЯ ПРАВИЛА: "Отделочники_Набить_Сайдинг_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Здание_1.Утеплено = true ) И

( Сайдинг_1.Набито = false )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Сайдинг_1.Набито:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.11)

ИМЯ ПРАВИЛА: "Отделочники_Отделать_Парилка_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Здание_1.Утеплено = true ) И

( Парилка_1.Отделано = false )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Парилка_1.Отделано:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.12)

ИМЯ ПРАВИЛА: "Отделочники_Отделать_Предбанник_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Здание_1.Утеплено = true ) И

( Предбанник_1.Отделано = false )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Предбанник_1.Отделано:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.13)

ИМЯ ПРАВИЛА: "Отделочники_Отделать_Цоколь_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Стены_1.Возведено = true ) И

( Цоколь_1.Отделано = false )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Цоколь_1.Отделано:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.14)

ИМЯ ПРАВИЛА:

"Отделочники_Произвести_Внутренние_отделочные_работы_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Внутренние_отделочные_работы_1.Произведено = false ) И

( Парилка_1.Отделано = true ) И

( Предбанник_1.Отделано = true )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Внутренние_отделочные_работы_1.Произведено:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.15)

ИМЯ ПРАВИЛА:

"Отделочники_Произвести_Наружные_отделочные_работы_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Наружные_отделочные_работы_1.Произведено = false ) И

( Сайдинг_1.Набито = true ) И

( Цоколь_1.Отделано = true )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Наружные_отделочные_работы_1.Произведено:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.16)

ИМЯ ПРАВИЛА:

"Отделочники_Произвести_Отделочные_работы_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Внутренние_отделочные_работы_1.Произведено = true ) И

( Наружные_отделочные_работы_1.Произведено = true ) И

( Отделочные_работы_1.Произведено = false )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Отделочные_работы_1.Произведено:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.17)

ИМЯ ПРАВИЛА: "Отделочники_Утеплить_Здание_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Здание_1.Утеплено = false ) И

( Отделочные_материалы_1.Разгружено = true ) И

( На(Печь_1, Фундамент_печи_1) = истина )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Здание_1.Утеплено:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.18)

ИМЯ ПРАВИЛА: "Печник_Построить_Печь_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Кровельные_работы_1.Произведено = true ) И

( На(Печь_1, Фундамент_печи_1) = ложь ) И

( Печь_1.Построено = false )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

На(Печь_1, Фундамент_печи_1):= истина

Печь_1.Построено:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.19)

ИМЯ ПРАВИЛА: "Плотники_Установить_Фундамент_здания_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Грунт_1.Выкопано = true ) И

( Кирпич_1.Разгружено = true ) И

( Фундамент_здания_1.Установлено = false )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Фундамент_здания_1.Установлено:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.20)

ИМЯ ПРАВИЛА: "Плотники_Установить_Фундамент_печи_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Грунт_1.Выкопано = true ) И

( Кирпич_1.Разгружено = true ) И

( Фундамент_печи_1.Установлено = false )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Фундамент_печи_1.Установлено:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.21)

ИМЯ ПРАВИЛА: "Плотники_Установить_Фундамент_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Фундамент_1.Установлено = false ) И

( Фундамент_здания_1.Установлено = true ) И

( Фундамент_печи_1.Установлено = true )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Фундамент_1.Установлено:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.22)

ИМЯ ПРАВИЛА: "Рабочие_Выкопать_Грунт_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Грунт_1.Выкопано = false ) И

( Территория_1.Расчищено = true )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Грунт_1.Выкопано:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.23)

ИМЯ ПРАВИЛА: "Рабочие_Выкопать_Канализационная_яма_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Заказ_1.Оформлено = true ) И

( Канализационная_яма_1.Выкопано = false ) И

( В(Кольца_1, Канализационная_яма_1) = ложь )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Канализационная_яма_1.Выкопано:= true

В(Кольца_1, Канализационная_яма_1):= истина

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.24)

ИМЯ ПРАВИЛА: "Рабочие_Расчистить_Территория_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Заказ_1.Оформлено = true ) И

( Территория_1.Расчищено = false )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Территория_1.Расчищено:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.25)

ИМЯ ПРАВИЛА: "Рабочие_Смонтировать_Коммуникации_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Коммуникации_1.Смонтировано = false ) И

( Стены_1.Возведено = true )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Коммуникации_1.Смонтировано:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.26)

ИМЯ ПРАВИЛА:

"Рабочие_Установить_Канализационная_система_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Канализационная_система_1.Установлено = false ) И

( В(Кольца_1, Канализационная_яма_1) = истина ) И

( Коммуникации_1.Смонтировано = true )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Канализационная_система_1.Установлено:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.27)

ИМЯ ПРАВИЛА: "Строительная_компания_Построить_Баня_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Баня_1.Построена = false ) И

( Канализационная_система_1.Установлено = true ) И

( Электромонтажные_работы_1.Произведено = true )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Баня_1.Построена:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.28)

ИМЯ ПРАВИЛА: "Электрик_Осуществить_Ввод_в_здание_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Ввод_в_здание_1.Осуществлено = false ) И

( Отделочные_работы_1.Произведено = true ) И

( План_электромонтажных_работ_1.Составлено = true )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Ввод_в_здание_1.Осуществлено:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.29)

ИМЯ ПРАВИЛА:

"Электрик_Произвести_Монтаж_осветительных_линий_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Монтаж_осветительных_линий_1.Произведено = false ) И

( Отделочные_работы_1.Произведено = true ) И

( План_электромонтажных_работ_1.Составлено = true )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Монтаж_осветительных_линий_1.Произведено:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.30)

ИМЯ ПРАВИЛА:

"Электрик_Произвести_Монтаж_силовых_линий_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Монтаж_силовых_линий_1.Произведено = false ) И

( Отделочные_работы_1.Произведено = true ) И

( План_электромонтажных_работ_1.Составлено = true )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Монтаж_силовых_линий_1.Произведено:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.31)

ИМЯ ПРАВИЛА:

"Электрик_Произвести_Электромонтажные_работы_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Ввод_в_здание_1.Осуществлено = true ) И

( Монтаж_осветительных_линий_1.Произведено = true ) И

( Монтаж_силовых_линий_1.Произведено = true ) И

( Электромонтажные_работы_1.Произведено = false )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Электромонтажные_работы_1.Произведено:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

A.32)

ИМЯ ПРАВИЛА:

"Электрик_Составить_План_электромонтажных_работ_1_1"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Заказ_1.Оформлено = true ) И

( План_электромонтажных_работ_1.Составлено = false )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

План_электромонтажных_работ_1.Составлено:= true

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

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

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

B.1)

ИМЯ ПРАВИЛА: "ОпределитьОтношение_В(Кольца_1,

Канализационная_яма_1)"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Канализационная_яма_1.Выкопано = true )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

В(Кольца_1, Канализационная_яма_1):= Истина

ИНАЧЕ ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

В(Кольца_1, Канализационная_яма_1):= Ложь

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

B.2)

ИМЯ ПРАВИЛА: "ОпределитьОтношение_На(Обвязка_1,

Фундамент_1)"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Фундамент_1.Установлено = true )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

На(Обвязка_1, Фундамент_1):= Истина

ИНАЧЕ ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

На(Обвязка_1, Фундамент_1):= Ложь

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

B.3)

ИМЯ ПРАВИЛА: "ОпределитьОтношение_На(Печь_1,

Фундамент_печи_1)"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Печь_1.Построено = true )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

На(Печь_1, Фундамент_печи_1):= Истина

ИНАЧЕ ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

На(Печь_1, Фундамент_печи_1):= Ложь

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

B.4)

ИМЯ ПРАВИЛА:

"ОпределитьОтношение_Прикреплена_к(Черепица_1,

Каркас_крыши_1)"

СОДЕРЖАНИЕ ПРАВИЛА:

ЕСЛИ ( Каркас_крыши_1.Установлено = true )

ТО ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Прикреплена_к(Черепица_1, Каркас_крыши_1):= Истина

ИНАЧЕ ВЫПОЛНИТЬ СЛЕДУЮЩИЕ ОПЕРАЦИИ:

Прикреплена_к(Черепица_1, Каркас_крыши_1):= Ложь

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ПРАВИЛЕ:

Приоритет: 0

Локальные переменные: Отсутствуют

Заключение: Описание семантики правила

Для разрешения конфликтов в процессе логического вывода была использована стратегия "P", состоящая из следующего набора процедур:

P = { Выбрать случайное правило }

Краткое описание использованных процедур:

- Процедура "Выбрать случайное правило" выбирает случайное правило из списка конфликтующих.

6.2 Расчет покрываемости

NПрО = 288 = 3.09485010 Ч 1026

g1 = 22

g2 = 23

g3 = 24

g4 = 24

g5 = 25

g6 = 22

g7 = 22

g8 = 22

g9 = 22

g10 = 22

g11 = 22

g12 = 22

g13 = 22

g14 = 23

g15 = 23

g16 = 23

g17 = 23

g18 = 23

g19 = 23

g20 = 23

g21 = 23

g22 = 22

g23 = 23


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.