Таблица объектов класса Предложение
№ | Фирма | Продукция | Производитель | Мин. партия | Макс. партия | Цена, $ | Срок поставки |
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. логическая модель представления знаний на языке многосортного исчисления предикатов и на языке Пролог
Логическая модель – это описание предметной области на каком-либо логическом языке. Одним из таких логических языков является многосортное исчисление предикатов. При представлении логических моделей на этом языке классы сущностей предметной области интерпретируются, как имена сортов.
Для примера введём следующие имена сортов: Договор, Поставщик, Покупатель, Продукция, Производитель, Количество, Цена, Срок, Тип_Произв, а так же следующие функции и предикаты:
пост:Договор
Поставщик, покуп:Договор Покупатель,прод:Договор
Продукция, произв:Договор Производитель,кол:Договор
Количество, цена: Договор Цена, срок:Договор Сроктип_произв: Производитель
Тип_Произвроссийский:
Тип_Произв, европейский: Тип_Произв :Количество Количество T :Количество Количество TВыражения 1-4 сотавляют сигнатуру и имеют следующий смысл:
Задаёт несколько функций, например прод (продукция), которые будучи применимы к объекту е сорта Договор, дают например продукцию прод(е), участвующую в операции е.