Задание на курсовоепроектирование по дисциплине «Инженерия знаний» студенту Данченкову А. В. группы ИИ-1-95.
Тема: «Система «Посредник».Заключение договоров на поставку строительных материалов».
1.
1.1
1.2
2.
2.1
2.2
2.3
2.4 использование для получения справочной информации и формирования вариантов договоров.
2.5 варианта договора.
2.6 представления знаний на языке многосортного исчисленияпредикатов и на языке Пролог.
2.7
3. :
3.1
3.2
3.3
3.4
4.
4.1 предметной области и построение концептуальной модели 20.09
4.2 01.10
4.3 15.10
4.4 многосортногоисчисления предикатов 1.11
4.5 1.12
4.6 10.12
4.7 15.12
4.8 2.09
Руководитель Потресова Г.Д. /________________/
Студент ДанченковА.В. /________________/
Группа ИИ-1-95
оглавление
Введение………………………………………………………………………..……………3
1. Виды услуг ирежимы работы системы «Посредник» …………………………………3
2. Концептуальнаямодель знаний, необходимых для оказания услуг..…………………3
3. Представлениеданных о клиентах………....……………………………………………6
4. Сетевая модельпредставления знаний и ее использованиедля получения справочной информации и формирования вариантов договора……….…………………………7
5. Критериивыбора наиболее предпочтительного варианта договора.…………………9
6. Логическаямодель представления знаний на языке многосортного исчисления предикатов и языке Пролог..……………………………………………….……………….…9
7. Организациядиалога с пользователем………………………………………………….12
Заключение………..…………………………………………………………………………12
Приложение (текстпрограммы «Посредник») …..………………………………….……14
Список литературы…….……………………………………………………………………30
Введение
В конце двадцатого века автоматизация всё сильнее завоёвывает всесферы человеческой деятельности.Применение вычислительной техники в разнообразных отраслях народного хозяйствапризвано облегчить труд человека и уменьшить число ошибок, совершаемых припринятии решений.
При построении систем, помогающих человеку, используются приёмы, изучаемые такой областьюинформатики, как инженерия знаний.
В данном курсовом проекте реализована система «Посредник», служащаядля заключения договоров между поставщиками и покупателями строительных материалов.Эта система может использоваться сотрудниками посреднических контор, работающихв этой области.
Программа реализована на языке Пролог.
1. Виды услуг и режимы работы системы «Посредник»
Основное предназначение системы «Посредник» – оказание услуг позаключение договоров между поставщиками и покупателями строительных материалов.Заключение договоров может производиться в обычном, либо в интерактивномрежиме. В первом случае система заключает контракт на основе имеющейся в базеданных информации о клиентах, во втором случае система запрашивает данные упользователя, после чего ищет необходимую информацию в базе данных и, найдяподходящие договоры, выводит их, либо при отсутствии на данный моментвозможностей для сделки, заносит информацию о клиенте в базу данных. Кроме всехвозможных вариантов договоров система выводит ещё и наиболее предпочтительныедля посредника с точки зрения коммерческой выгоды.
Кроме того, в системе имеются режимы просмотра и редактирования(либо добавления) данных по поставщикам и по покупателям, а так же просмотра иредактирования региональной принадлежности фирм-производителей. Если во времяработы с программой в базы данных были внесены какие-либо изменения, то привыходе из программы при согласии пользователя будет произведено сохранениеизменений.
2. Концептуальная модель знаний, необходимых для оказания услуг
Концептуальная модель предметной области представляется множествомклассов объектов с заданными на нём отношениями и операциями. Классы объектов характеризуются некоторым набором атрибутов.
В данном курсовом проекте классами объектов являются Спрос, Предложение и Договор. Класс,Спрос, имеет следующие атрибуты: порядковый номер, название фирмы, названиетовара, производитель, желаемой партии товара, цена за единицу товара и срокпоставки. У класса Предложение, имеются такие же атрибуты, за исключением того,что вместо желаемой партии товара здесь присутствуют минимальная партия и максимальное количество товара, имеющееся упоставщика.
Представим объекты классов Спроси Предложение в виде таблиц:
Таблицаобъектов класса Спрос
№
Фирма
Товар
Производитель
Кол-во
Цена, $
Срок поставки
1
ДСК-3
Кирпич облицовочный
российская
1000
0.33
6
2
Мосжилстрой
Керамзит
европейская
30
22
8
3
Геракл
Арматура стальная
СНГ
15
51
10
4
МВМ
Асбест строительный
украинская
70
20
7
5
АТС-50
Кабель АВВГ
российская
1000
2
18
6
СМУ-35
Керамзит
российская
120
20
6
7
РЭУ-22
Стекло оконное
белорусская
500
3
10
8
Атлант
Обои моющиеся
Vertex
1000
4
14
9
Sunpride
Кирпич облицовочный
московская
800
0.4
10
10
Hausbauer
Плитка облицовочная
итальянская
1000
11
7
11
СМУ-28
Ванна чугунная
европейская
40
350
20
12
Протон
Кабель АВВГ
московская
1000
21
4
Таблицаобъектов класса Предложение
№
Фирма
Продукция
Производитель
Мин. партия
Макс. партия
Цена, $
Срок поставки
1
Стройсервис
Кирпич облицовочный
2-й кирпичный
120
900
0.25
7
2
Орион
Керамзит
Электроизолит
10
50
20
4
3
Салют
Арматура стальная
ММЗ
1
20
50
8
4
Стройсервис
Кабель АВВГ
Иркутсккабель
900
9000
1
11
5
Байрамикс
Асбест строительный
Стройперлит
30
100
15
9
6
Всё для дома
Кабель АВВГ
ММЗ
900
9000
1
12
7
Спецстрой
Стекло оконное
Серп и молот
50
700
2
10
8
Астра
Обои моющиеся
Vertex
1000
9000
3
11
9
Глобус
Асбест строительный
Донецкбетон
10
200
15
6
10
Орбита
Кирпич облицовочный
Мосбетон
2000
9000
0.3
4
11
Всё для дома
Плитка облицовочная
Marlit
1000
8000
10
6
12
Ункомтех
Кабель АВВГ
Иркутсккабель
700
1200
0.9
8
13
Электросталь
Арматура стальная
ММЗ
7
20
65
3
14
Arkon
Паралон жидкий
Interchemall
3000
9000
10
10
15
Worms
Ванна стальная
Nord Star
35
1000
300
18
Концептуальная схемапредметной области представлена на рис.1. и рис.2.
наименование
производитель
количество
спрос
товар
срок
Временной
промежуток
Название
фирмы Номер
покупатель
наименование
производитель
мин. партия
предло-жение
товар
срок
Временной
промежуток
Название
фирмы Номер
поставщик
макс. партия
Рис.1. Концептуальная схемапредметной области (спрос и предложение).
макс. партия
Название
фирмы
Название
фирмы Номер Номер
договор
покупатель
продавец
товар
срок
Временной
промежуток
наименование
производитель
мин. партия
Рис.2. Концептуальная схемапредметной области (договор).
3. Представление данных о клиентах
Данные о клиентах в системе «Посредник» представлены в видестандартных баз данных (database)языка Пролог. Поскольку в Прологе имеется довольно мощный механизм работы стакими базами данных, реализовать на нём программу типа системы «Посредник» намного проще и естественней, чемна алгоритмических языках (типа Pascalили C).
Общий вид записей в базах данных следующий:
поставщик(N,F,T,P,M,X,C,D)
покупатель(N,F,T,P,K,C,D)
где N — номер записи, F — фирма-поставщик, T – наименованиетовара, P – производительтовара, M – минимальнаяпартия, X – имеющаяся вналичии партия, С – цена за единицу товара, D – срок поставки, K – нужное покупателю количество товара. N, M, X, K, D – целочисленные, F, T, P – строковые,С – действительная.
База данных по поставщикамзаписана в файле kurs1.dat, по покупателям – в kurs2.dat.
4. Сетевая модель представления знаний и её использование дляполучения справочной информации и формирования вариантов договора
Сетевая модель реализуется с помощью так называемых семантическихсетей. В семантической сети имена некоторых объектов, процессов, действий,сущностей и их классов ассоциируются с узлами, а отношения между нимиассоциируются с дугами, соединяющими узлы. Сетевую модель можно представить ввиде следующей конструкции: S=I– множество информационных единиц, С1, С2,…, Сn – множество типовсвязей между информационными единицами, Г – отображение, задающее связи (иззаданного множества типов связей) между информационными единицами, входящими в I.
Классифицирующие сети (использованные в данной курсовой), на ряду сфункциональными, являются одним изклассов однородных (у которых дуги только одного типа) сетей. Классифицирующиесети строятся на основе родовидового отношения sup, заданного намножестве классов объектов. Это отношение интерпретируется следующим образом:если Ki sup Kj, то в любой момент времени t каждый объект класса Ki являетсяобъектом класса Kj, т.е. Kj является подклассом Ki(или Ki является подклассом Kj). Конкретные объекты, какправило, связываются с классами низшего уровня иерархии отношениемпринадлежности isa. Запись ki isa K означает, что объект kiявляется элементом класса K.
В данном курсовом проекте классифицирующая сеть используется дляопределения региональной принадлежности производителя строительных материалов.Благодаря этому при заключении договоров покупателю не обязательно задаватьконкретного производителя, а можно задать только регеон расположения тех производителей, продукция которых покупателю кажетсянаиболее предпочтительной.
В системе «Посредник» имеется так же возможность полученияинформации о принадлежности какого-либопроизводителя региону путём просмотра связей в классифицирующей сети, а так жеимеются режимы корректировки и дополнения этой сети.
Графическое представление классифицирующей сети показано на рис.3.
Програмно классифицирующая сеть реализована в виде стандартных базданных Пролога (database)и выглядит следующим образом:
sup(Ki,Kj)
где Kiи Kj – класс и его подкласс соответственно.
Классифицирующая сетьнаходится в файле web.dat.
5. Критерии выбора наиболее предпочтительного варианта договора
В данном курсовом проекте наиболее предпочтительный договорвыбирается в пользу посредника. Выгода посредника состоит в получениинаибольшей прибыли в кратчайшие сроки. Доход посредника обычно составляетнекоторый комиссионный процент от заключённой сделки, поэтому наиболее выгодныконтракты, в которых произведениеколичества товара, необходимое покупателю на цену этого товара, назначеннуюпродавцом, будет максимальным. Это и будет первымкритерием выбора наиболее предпочтительногодоговора. Вторым критерием, как былосказано выше, будет являться кратчайший срок поставки.
В начале программа выбирает предпочтительные договоры по первомукритерию. Если таких договоров получится несколько, то программа выбирает изних тот, у которого срок поставки меньше (т.е. реализуется второй критерий).
Например, пусть имеется три возможных договора для фирмы «АТС-50»,которой требуется партия кабеля АВВГроссийского производителя объёмом 1000 единиц по цене 2$ за единицу в сроки неболее 18 дней:
№
Фирма
Товар
Производитель
Мин. партия.
Кол-во
Цена
Сроки
4
Стройсервис
Кабель АВВГ
Иркутсккабель
900
9000
1
11
6
Всё для дома
Кабель АВВГ
ММЗ
900
9000
1
12
12
Ункомтех
Кабель АВВГ
Иркутсккабель
700
1200
0.9
8
При применении первого критерия выбираются фирмы «Стройсервис» и«Всё для дома», поскольку цена, по которой они предлагают товар, больше, чем уфирмы «Уникомтех» и следовательно доход посредника будет больше. На втором этапе из этих двух фирм выбирается«Стройсервис», поскольку у неё меньше срок поставки.
6. логическая модель представления знаний на языке многосортногоисчисления предикатов и на языке Пролог
Логическая модель – это описание предметной области на каком-либологическом языке. Одним из таких логических языков является многосортноеисчисление предикатов. При представлении логических моделей на этом языкеклассы сущностей предметной области интерпретируются, как имена сортов.
Для примера введёмследующие имена сортов: Договор, Поставщик, Покупатель, Продукция, Производитель,Количество, Цена, Срок, Тип_Произв, а так же следующие функции и предикаты:
1. Поставщик, покуп: ДоговорПокупатель,
прод: ДоговорПродукция, произв: ДоговорПроизводитель,
кол: ДоговорКоличество, цена: ДоговорЦена, срок: ДоговорСрок
2.
3. Тип_Произв,европейский: Тип_Произв
4. Количество Количество
Количество Количество
Выражения 1-4 сотавляют сигнатуру и имеют следующий смысл:
1. есорта Договор, дают например продукцию прод(е), участвующую воперации е.
2.
3.
4.
Сигнатура – это множество функций вида f: A1 A2… Anгде A1,A2,…,An – аргументы, B – значение функции.Множества аргументов и значений функций образуют соответственно сорта A и B. В частном случае, если B=T, причём T={1,0} – особый сорт, то сигнатураимеет вид P: A1 A2… Anпричём Pназывают предикатом.
Сигнатура задает структурные связи между понятиями предметнойобласти, представленными предикатами и функциями. Логические связи между этимипонятиями задаются формулами, которые записываются в сигнатуре. Структурные илогические связи выражают некоторое знание о предметной области. Таким образом,сигнатура формально представляет одну часть знания о предметной области, аформулы, записанные в этой сигнатуре, представляют другую часть знания.
Графическое представление сигнатуры показано на рис.4, а модельной структуры – на рис.5.
Договор Срок Колличество Цена Производитель Покупатель Поставщик Тип_произв
кол Продукция
цена
срок
прод
покуп
произв
пост
тип_произв
Рис.4. Графическое представление сигнатуры
Логическая модель вПрологе представляется в виде предикатов и баз данных database. Например:
database – договор
дог(Поставщик,Покупатель)
Функцию пост (поставщик) можно реализовать так
пост (N):– дог(Покупатель, Поставщик), N=Поставщик.
Функцию можно представитьследующим образом:
Количество1
7. Организация диалога с пользователем
При загрузке система «Посредник» выводит главное меню, в которомпредставлены все режимы работы программы. Каждый режим выбирается посредствомнажатия цифровой клавиши. Система меню представлена многоуровневойиерархической структурой, т.е. у многих р