Дипломы, курсовые, рефераты, контрольные...
Срочная помощь в учёбе

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

ДипломнаяПомощь в написанииУзнать стоимостьмоей работы

Совокупность всех возможных состояний образует пространство состояний данной ПО. Каждому действию из множества G соответствует состояние-предусловие, т. е. состояние ПО, к которому применимо данное действие. В результате выполнения этого действия изменяются значения некоторых элементов множеств C и R, связанных с применяемым действием, т. е. формируются новые факты. Получившееся новое состояние… Читать ещё >

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

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) и представляет собой алгоритм решения задачи, поиском которого занимается экспертная система.

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

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

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

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

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

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

Рисунок 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.9 485 010 Ч 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

Показать весь текст
Заполнить форму текущей работой