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

Реферат - Компьютеры, программирование

Другие рефераты по предмету Компьютеры, программирование

?чайший срок поставки.

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

Например, пусть имеется три возможных договора для фирмы АТС-50, которой требуется партия кабеля АВВГ российского производителя объёмом 1000 единиц по цене 2$ за единицу в сроки не более 18 дней:

 

№ФирмаТоварПроизводительМин. партия.Кол-воЦенаСроки4СтройсервисКабель АВВГИркутсккабель90090001116Всё для домаКабель АВВГММЗ900900011212УнкомтехКабель АВВГИркутсккабель70012000.98

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

6. логическая модель представления знаний на языке многосортного исчисления предикатов и на языке Пролог

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

Для примера введём следующие имена сортов: Договор, Поставщик, Покупатель, Продукция, Производитель, Количество, Цена, Срок, Тип_Произв, а так же следующие функции и предикаты:

  1. пост:Договор

    Поставщик, покуп:ДоговорПокупатель,

  2. прод:ДоговорПродукция, произв:ДоговорПроизводитель,

кол:ДоговорКоличество, цена: ДоговорЦена, срок:ДоговорСрок

  1. тип_произв: Производитель

    Тип_Произв

  2. российский:

    Тип_Произв, европейский: Тип_Произв

  3. :Количество КоличествоT

  4. :Количество КоличествоT

Выражения 1-4 сотавляют сигнатуру и имеют следующий смысл:

  1. Задаёт несколько функций, например прод (продукция), которые будучи применимы к объекту е сорта Договор, дают например продукцию прод(е), участвующую в операции е.
  2. Задаёт функцию, значениями которой служат типы производителя.
  3. Задаёт константы, принадлежащие сорту Тип_Произв.
  4. Задаёт двухместные предикаты на объектах сорта Количество.

Сигнатура это множество функций вида f: A1 A2… AnB, где A1, A2,…,An аргументы, B значение функции. Множества аргументов и значений функций образуют соответственно сорта A и B. В частном случае, если B=T, причём T={1,0} особый сорт, то сигнатура имеет вид P: A1 A2… AnT, причём P называют предикатом.

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

Графическое представление сигнатуры показано на рис.4, а модельной структуры на рис.5.

 

 

 

 

 

Рис.4. Графическое представление сигнатуры

Логическая модель в Прологе представляется в виде предикатов и баз данных database. Например:

database договор

дог(Поставщик, Покупатель)

Функцию пост (поставщик) можно реализовать так

пост (N): дог(Покупатель,Поставщик), N=Поставщик.

Функцию можно представить следующим образом:

(Количество1,Количество2):Количество1<= Количество2.

 

7. Организация диалога с пользователем

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

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

Если в базы данных были внесены какие-либо изменения, то при выходе из программы система выведет запрос о необходимости сохранения изменений, сопровождаемый звуковым сигналом.

Схема организации диалога представлена на рис.6.

 

заключение

При написании курсового проекта были использованы разнообразные модели представления знаний, изучаемые инженерией знаний. Система Посредник программно реализована на языке Пролог в среде Turbo Prolog 2.0.

 

Приложение

Текст программы “посредник”

 

/*==========================================================*/

/* Курсовой проект по дисциплине "Инженерия знаний" */

/* Система "Посредник" */

/* Автор: Данченков А.В., гр. ИИ-1-95 */

/*==========================================================*/

 

code=8850

 

domains

Фирма,Товар,Произв,Str=string

Int,N,Парт,Кол_во,Сроки=integer

Цена=real

 

/* Основные и служебные базы данных */

 

database - поставщик

поставщик(integer,Фирма,Товар,Произв,Парт,Кол_во,Цена,Сроки)

 

database - покупатель

покупатель(N,Фирма,Товар,Произв,Парт,Цена,Сроки)

 

database - sup

sup(Str,Str)

 

database - contract

contract(integer,integer)

 

 

database - bes