Разработка базы данных "Магазин спортивных товаров"
Построение нечёткого дерева решений. Лингвистические переменные и функции принадлежности. Степени принадлежности к каждому новому узлу. Принадлежность новой записи к целевому классу. Построение нечёткой экспертной системы в программном пакете CubiCalc.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 19.10.2012 |
Размер файла | 1,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Оглавление
Рецензия
Лист задания
Введение
1. Построение нечёткого дерева решений
1.1 Определение лингвистических переменных
1.2 Построение функций принадлежности
1.3 Расчёт E(SN), G(SN)
1.4 Расчёт степеней принадлежности к каждому новому узлу
1.5 Расчёт принадлежности новой записи к целевому классу
2. Построение нечёткой экспертной системы в программном пакете CubiCalc 2.0
2.1 Определение переменных Fuzzy Input, Output
2.2 Построение функций принадлежности
2.3 Определение набора правил, связывающих входные переменные с выходными
2.4 Настройка входного файла
2.5 Проверка работы системы
Заключение
Список использованных источников
Лист задания
Вариант 9
Магазин спортивных товаров. Руководству компании необходимо определить место организации магазина представленного направления.
Введение
Проблемы принятия решений в сложных условиях занимают в настоящее время особое место в информационных технологиях. Математические методы широко применяются для описания и анализа сложных экономических, социальных и других систем. Теория оптимизации создала совокупность методов, помогающих при использовании ЭВМ эффективно принимать решения при известных и фиксированных параметрах или когда параметры - случайные величины с известными законами распределения. Существует, однако, ряд задач, которые не поддаются формальному описанию в силу того, что часть параметров представляют собой неточно или качественно заданные величины, для которых переход от «принадлежности к классу» к «непринадлежности» непрерывен. Традиционные методы недостаточно пригодны для решения подобных задач именно потому, что они не в состоянии описать возникающую неопределенность.
В основе нечеткой логики лежит теория нечетких множеств, где функция принадлежности элемента множеству не бинарна (да/нет), а может принимать любое значение в диапазоне 0-1. Это дает возможность определять понятия, нечеткие по самой своей природе: "хороший", "высокий", "слабый" и т.д. Нечеткая логика дает возможность строить базы знаний и экспертные системы нового поколения, способные хранить и обрабатывать неточную информацию. Системы, основанные на нечеткой логике, разработаны и успешно внедрены в таких областях, как управление технологическими процессами, управление транспортом, управление бытовой техникой, медицинская и техническая диагностика, финансовый менеджмент, финансовый анализ, биржевое прогнозирование, распознавание образов, исследование рисковых и критических операций, прогнозирование землетрясений, составление автобусных расписаний, климатический контроль в зданиях.
Цель курсовой работы: изучить нечеткую логику в системе моделирования.Для достижения данной цели поставлены следующие задачи:
изучить литературу по данной теме;
определить лингвистические переменные;
построить нечёткое дерево решений;
построить функции принадлежности;
рассмотреть алгоритм нечеткого вывода;
изучить процесс моделирования;
определить место организации магазина.
1. Построение нечёткого дерева решений
В данном разделе необходимо построить нечеткое дерево решений, с помощью которого определить рейтинг выбора места организации магазина, который посещают 50 000 тысяч человек за месяц и расстояние до базы 40 км.
В таблице 1 представлены данные о семи местах организации магазина: проходимость (определена, исходя из оценок, выставляемых рейтинговым агентством), расстояние до базы (в километрах) и рейтинг (определен экспертом).
Табл. 1 данные о месте организации магазина
№ |
Проходимость |
Расстояние |
Рейтинг |
|
D1 |
10.000 |
5 |
0,0 |
|
D2 |
15.000 |
15 |
0,0 |
|
D3 |
25.000 |
20 |
0,3 |
|
D4 |
30.000 |
25 |
0,4 |
|
D5 |
35.000 |
40 |
0,5 |
|
D6 |
40.000 |
35 |
0,8 |
|
D7 |
55.000 |
30 |
1 |
1.1 Определение лингвистических переменных
х1: «проходимость»;
Х: 0;60.000;
Т(х): «низкая», «средняя», «большая»;
G: «достаточно», «недостаточно»;
М: задано таблично (таблица 2).
х2: «расстояние»;
Х: 0, 50;
Т(х): «малое», «среднее», «большое»;
G: «достаточно», «недостаточно»;
М: задано таблично (таблица 3).
Табл.2 Табличное представление семантического правила для х1
№ |
Проходимость |
|||
низкая |
средняя |
большая |
||
D1 |
1,0 |
0,0 |
0,0 |
|
D2 |
0,8 |
0,2 |
0,0 |
|
D3 |
0,5 |
0,5 |
0,0 |
|
D4 |
0,2 |
0,8 |
0,0 |
|
D5 |
0,0 |
0,5 |
0,5 |
|
D6 |
0,0 |
0,0 |
1,0 |
|
D7 |
0,0 |
0,0 |
1,0 |
|
№ |
Расстояние |
|||
маленькое |
среднее |
большое |
||
D1 |
1,0 |
0,0 |
0,0 |
|
D2 |
0,4 |
0,6 |
0,0 |
|
D3 |
0,0 |
1,0 |
0,0 |
|
D4 |
0,0 |
0,8 |
0,2 |
|
D5 |
0,0 |
0,0 |
1,0 |
|
D6 |
0,0 |
0,1 |
0,9 |
|
D7 |
0,0 |
0,2 |
0,8 |
1.2 Построение функций принадлежности
Общий вид функций принадлежности лингвистических переменных показан на рисунке 1.
1.3 Расчёт E(SN), G(SN)
Необходимо найти значение общей энтропии:
Рда = 0+0+0,3+0,4+0,5+0,8+1,0= 3
Рнет =1,0+1,0+ 0,7+0,6+0,5+0,2+0=4
Р= Рда +Рнет =7
Рассчитываем значение энтропии E(SN), воспользовавшись формулой:
E(SN)= -3/7log23/7 - 4/7log24/7 0,985 бит
Рассчитаем E(SN, проходимость).
E(SN, проходимость, низкая):
Рданизкая=min(0;1)+min(0;0,8)+min(0,3;0,5)+min(0,4;0,2)+min(0,5;0)+min(0,8;0)+min(1;0)=0+0+0,3+0,2+0+0+0=0,5
Рнетнизкая=min(1;1)+min(1;0,8)+min(0,7;0,5)+min(0,6;0,2)+min(0,5;0)+min(0,2;0)+ min (0;0)=1+0,8+0,5+0,2+0+0+0=2,5
Рнизкая= Рда +Рнет =0,5+2,5=3,0
E(проходимость, низкая)= - 0,5/3,0 log20,5/3,0-2,5/3,0 log22,5/3,0=0,65 бит
Рассчитаем E(SN, проходимость, средняя).
Рдасредняя=min(0;0)+min(0;0,2)+min(0,3;0,5)+min(0,4;0,8)+min(0,5;0,5)+min(0,8;0)+min(1;0)=0,3+0,4+0,5=1,2
Рнетсредняя= min(1;0)+min(1;0,2)+min(0,7;0,5)+min(0,6;0,8)+min(0,5;0,5)+min(0,2;0)+min(0;0)=0,2+0,5+0,6+0,5=1,8
Рсредняя= 1,2+1,8=3
E(проходимость, средняя)= - 1,2/3 log21,2/3-1,8/3 log21,8/3=0,97 бит
Рассчитаем E(SN, проходимость, большая).
Рдабольшая=min(0;0)+min(0;0)+min(0,3;0)+min(0,4;0)+min(0,5;0,5)+min(0,8;1)+min(1;1)=0,5+0,8+1=2,3
Рнетбольшая=min(1;0)+min(1;0)+min(0,7;0)+min(0,6;0)+min(0,5;0,5)+min(0,2;1)+min(0;1)=0,5+0,2=0,7
Рбольшая= 2,3+0,7=3
E(проходимость, большая)= - 2,3/3 log22,3 /3-0,7/3 log20,7/3=0,78 бит
Табл. 4 итоги расчетов для х1
низкая |
средняя |
большая |
||
Рда |
0,5 |
1,2 |
2,3 |
|
Рнет |
2,5 |
1,8 |
0,7 |
|
E, бит |
0,65 |
0,97 |
0,78 |
Найдём энтропию, воспользовавшись формулой:
E(SN ,проходимость)= - 2,5/7 0,65+1,8 /70,97+ 0,7/7 0,78=0,56 бит
Рассчитаем прирост информации для данного атрибута.
G(SN,проходимость)= 0,98-0,56= 0,42 бит
Рассчитаем E(SN, расстояние).
E(SN, расстояние, маленькое):
Рдамаленькое=min(0;1)+min(0;0,4)+min(0,3;0)+min(0,4;0)+min(0,5;0)+min(0,8;0)+min(1;0)=0
Рнетмаленькое =min(1;1)+min(1;0,4)+min(0,7;0)+min(0,6;0)+min(0,5;0)+min(0,2;0)+ min(0;0)=1+0,4=1,4
Рмаленькое= Рда +Рнет =0+1,4=1,4
E(расстояние,маленькое)= - 0/1,4 log20/1,4-1,4/1,4 log21,4/1,4=0 бит
E(SN, расстояние,среднее):
Рдасреднее=min(0;0)+min(0;0,6)+min(0,3;1)+min(0,4;0,8)+min(0,5;0)+min(0,8;0,1)+min(1;0,2)=1
Рнетсреднее=min(1;0)+min(1;0,6)+min(0,7;1)+min(0,6;0,8)+min(0,5;0)+min(0,8;0,1)+ min(1;0,2)=0,6+0,7+0,6+0,1+0,2=2,2
Рсреднее= Рда +Рнет =1+2,2=3,2
E(расстояние,среднее)= - 1/3,2 log21/3,2-2,2/3,2 log22,2/3,2=0,896 бит
E(SN, расстояние,большое):
Рдабольшое=min(0;0)+min(0;0)+min(0,3;0)+min(0,4;0,2)+min(0,5;1)+min(0,8;0,9)+min(1;0,8)=0,2+0,5+0,8=0,8=2,3
Рнетбольшое=min(1;0)+min(1;0)+min(0,7;0)+min(0,6;0,2)+min(0,5;1)+min(0,2;0,9)+ min(0;0,8)=0,2+0,5+0,2=0,9
Рбольшое= Рда +Рнет =2,3+0,9=3,2
E(расстояние,большое)= - 2,3/3,2 log22,3/3,2-0,9/3,2 log20,9/3,2=0,857 бит
Табл. 5 итоги расчетов для х2
маленькое |
среднее |
большое |
||
Рда |
0 |
1 |
2,3 |
|
Рнет |
1,4 |
2,2 |
0,9 |
|
E, бит |
0 |
0,896 |
0,857 |
E(SN, расстояние)= 1,4/70+2,2/70,896+0,9/70,857=0,391 бит
G(SN,расстояние)= 0,985-0,391= 0,594 бит
Максимальны прирост информации обеспечивает атрибут «расстояние», следовательно, разбиение начнется с него.
1.4 Расчёт степеней принадлежности к каждому новому узлу
На следующем шаге алгоритма необходимо для каждой записи рассчитать степень принадлежности к каждому новому узлу по формуле:
Результаты представлены в таблице 5.
Табл.6принадлежность записей новым узлам дерева
Расстояние |
Маленькое |
Среднее |
Большое |
|||||||
Прох-ть |
низкая |
средняя |
большая |
низкая |
средняя |
большая |
низкая |
средняя |
большая |
|
D1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
D2 |
0,4 |
0,2 |
0 |
0,6 |
0,2 |
0 |
0 |
0 |
0 |
|
D3 |
0 |
0 |
0 |
0,5 |
0,5 |
0 |
0 |
0 |
0 |
|
D4 |
0 |
0 |
0 |
0,2 |
0,8 |
0 |
0,2 |
0,2 |
0 |
|
D5 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0,5 |
0,5 |
|
D6 |
0 |
0 |
0 |
0 |
0 |
0,1 |
0 |
0 |
0,9 |
|
D7 |
0 |
0 |
0 |
0 |
0 |
0,2 |
0 |
0 |
0,8 |
К узлу расстояние = маленькое и проходимость = большая не принадлежит ни одна запись, поэтому он удаляется из дерева.
Для каждого узла находятся коэффициенты РiN.
Узел 1проходимость = низкая и расстояние = маленькое:
Рда=min(0;1)+min(0;0,4)+min(0,3;0)+min(0,4;0)+min(0,5;0)+min(0,8;0)+min(1;0)=0
Рнет = min(1;1)+min(1;0,4)+min(0,7;0)+min(0,6;0)+min(0,5;0)+min(0,2;0)+ min(0;0)=1+0,4=1,4
Узел 2проходимость = средняя и расстояние = маленькое:
Рда=min(0;0)+min(0;0,2)+min(0,3;0)+min(0,4;0)+min(0,5;0)+min(0,8;0)+min(1;0)=0
Рнет = min(1;0)+min(1;0,2)+min(0,7;0)+min(0,6;0)+min(0,5;0)+min(0,2;0)+ min(0;0)=0,2
Узел 3проходимость = низкая и расстояние = среднее:
Рда=min(0;0)+min(0;0,6)+min(0,3;0,5)+min(0,4;0,2)+min(0,5;0)+min(0,8;0)+min(1;0)=0,5
Рнет = min(1;0)+min(1;0,6)+min(0,7;0,5)+min(0,6;0,2)+min(0,5;0)+min(0,2;0)+ min(0;0)=1,3
Узел 4проходимость = средняя и расстояние = среднее:
Рда=min(0;0)+min(0;0,2)+min(0,3;0,5)+min(0,4;0,8)+min(0,5;0)+min(0,8;0)+min(1;0)=0,3+0,4=0,7
Рнет = min(1;0)+min(1;0,2)+min(0,7;0,5)+min(0,6;0,8)+min(0,5;0)+min(0,2;0)+ min(0;0)=0,2+0,5+0,6=1,3
Узел 5проходимость = большая и расстояние = среднее:
Рда=min(0;0)+min(0;0)+min(0,3;0)+min(0,4;0)+min(0,5;0)+min(0,8;0,1)+min(1;0,2)=0,1+0,2=0,3
Рнет = min(1;0)+min(1;0)+min(0,7;0)+min(0,6;0)+min(0,5;0)+min(0,2;0,1)+ min(0;0,2)=0,1
Узел 6проходимость = низкая и расстояние = большое:
Рда=min(0;0)+min(0;0)+min(0,3;0)+min(0,4;0,2)+min(0,5;0)+min(0,8;0)+min(1;0)=0,2
Рнет = min(1;0)+min(1;0)+min(0,7;0)+min(0,6;0,2)+min(0,5;0)+min(0,2;0)+ min(0;0)=0,2
Узел 7проходимость = средняя и расстояние = большое:
Рда=min(0;0)+min(0;0)+min(0,3;0)+min(0,4;0,2)+min(0,5;0,5)+min(0,8;0)+min(1;0)=0,2+0,5=0,7
Рнет = min(1;0)+min(1;0)+min(0,7;0)+min(0,6;0,2)+min(0,5;0,5)+min(0,2;0)+ min(0;0)=0,7
Узел 8проходимость = большая и расстояние = большое:
Рда=min(0;0)+min(0;0)+min(0,3;0)+min(0,4;0)+min(0,5;0,5)+min(0,8;0,9)+min(1;0,8)=0,5+0,8+0,8=2,1
Рнет = min(1;0)+min(1;0)+min(0,7;0)+min(0,6;0)+min(0,5;0,5)+min(0,2;0,9)+ min(0;0,8)=0,5+0,2=0,7
1.5 Расчёт принадлежности новой записи к целевому классу
Определяем рейтинг места организации магазина с проходимостью 50000 чел и расстоянием до базы 40 км:
Чда=1,0
Чнет =0,0
Условие принадлежит узлу 8 и имеет степень =1. Подставляем полученные значения в формулу:
,
где - коэффициент соотношения примеров листа дерева I для значения целевого класса k,
- степень принадлежности примера к узлу I,
- принадлежность значения целевого класса k к положительному значению исхода классификации.
В итоге мы получили рейтинг, равный 0,75. Он означает, что степень принадлежности записи к тому, что магазин будет построен в этом месте =0,75, а к тому, что не будет построен =0,25. Следовательно, магазин можно построить с расстоянием до базы 40 км.
база данное нечеткая экспертная система
2. Построение нечёткой экспертной системы в программном пакете CubiCalc 2.0
2.1 Определение переменных Fuzzy Input, Output
Процесс разработки нечёткой экспертной системы в пакете CubiCalc начинается с определения переменных, которые будут использоваться в проекте project>variables>new.
Объявляем первую переменную как prohod (проходимость), зададим атрибуты переменной: выберем её тип (Fuzzy Input), зададим диапазон изменения её значений [0;60000], а также зададим начальное значение Initial Value равное 10000 (рис.1).
Рис.2
Объявляем вторую переменную как rast (расстояние до базы, задаём атрибуты переменной: выберем её тип (Fuzzy Input), зададим диапазон изменения её значений [0;40], а также зададим начальное значение Initial Value равное 0 (рис.3).
Рис.3
Объявляем третью (выходную) переменную Ранг как rate, задаём атрибуты переменной: выберем её тип (Fuzzy Output), зададим диапазон изменения её значений [0;1], а также зададим начальное значение Initial Value равное 0 (рис.4).
Рис.4
2.2 Построение функций принадлежности
Необходимо задать характеристики всех трёх переменных project>adjective editor. Выбираем переменную prohod в окне «Adjectives for variables», нажимаем Edit. Здесь каждой входной и выходной переменной ставим в соответствие набор функций принадлежности Adjective>Change List>New. В появившемся окне «Create Adjective(s)» задаём параметры: количество функций принадлежности (Number) равное 3; вид функции принадлежности (Shape) - Triangle; ширина основания (base width) равная 60000.0 (рис.5).
Размещено на http://www.allbest.ru/
Рис.5
В окне «Edit Adjective List» присвоим наименования - small, middle, big соответственно большой, средней и маленькой проходимости (рис.6).
Рис.6
Аналогично для переменной rast (рис.7):
Рис.7
Получаем следующие функции принадлежности (рис.8):
Рис.8
2.3 Определение набора правил, связывающих входные переменные с выходными
Необходимо определить набор правил, которые связывают входные переменные с выходными. Для этого в редакторе правил вывода Project>Rules определяем (рис.9):
IF prohod is big AND rast is normal THEN rate is good;
IF prohod is small AND rast is normal THEN rate is bad;
IF prohod is middle AND rast is long THEN rate is normal;
IF prohod is middle AND rast is normal THEN rate is normal;
Рис.9
2.4 Настройка входного файла
Для присоединения входного файла к проекту, необходимо создать файл с расширением .txt, задать имя файла (File>Input File) и некоторые его атрибуты (рис.10):
Рис.10
Рис.10
2.5 Проверка работы системы
Для проверки работы системы необходимо запустить сценарий Execute>Run. Появится окно, содержащее значения переменных. Через некоторое время CubiCalc дойдёт до конца входного файла и появится итоговое сообщение (рис.11):
Рис.11
Заключение
После применения на практике знаний, полученных в процессе изучения курса «Проектирование баз данных и баз знаний», и приобретения практических навыков при проектировании и создании нечёткой экспертной системы в программном пакете CubiCalc можно выделить отличительные особенности данных систем:
Возможность оперировать входными данными, заданными нечётко;
Возможность нечёткой формализации критериев оценки и сравнения;
Возможность проведения качественных оценок, как входных данных, так и выводимых результатов;
Возможность проведения быстрого моделирования сложных динамических систем и их сравнительный анализ с заданной степенью точности;
В отличие от традиционной математики, требующей на каждом шаге моделирования точных и однозначных формулировок закономерностей, нечёткая логика предлагает совершенно иной уровень мышления, благодаря которому творческий процесс моделирования происходит на наивысшем уровне абстракции, при котором постулируется лишь минимальный набор закономерностей.
Таким образом, нечёткая логика в некоторых случаях позволяет улучшить качество управления объектами. Решающую роль в оптимизации показателей эффективности играют эксперты, которые определяют количество выходных и входных переменных, число термов для каждой переменной, виды функций принадлежности, т. к. изменение этих параметров приводит к улучшению или ухудшению процесса управления объектом.
Однако, я считаю, что важнейшим недостатком нечёткой логики является отсутствие единого метода моделирования систем, т. е. для каждого случая приходится заново проектировать нечёткую подпрограмму, определяя шаг за шагом все параметры и строя свою таблицу решений.
Список использованных источников
Жданова Е.И., Методические указания для выполнения курсового проекта «Проектирование баз данных и баз знаний, 2011.
Заде Л.А., Понятие лингвистической переменной и его применения к принятию приближённых решений, 1976-166 с.
Круглов В.В., Нечёткая логика и искусственные нейронные сети,2001-221 с.
Рутковская Д., Нейронные сети, генетические алгоритмы и нечёткие системы, 2006
Самарский А.А., Математическое моделирование: идей, методы, примеры, 1991-320 с.
Размещено на Allbest.ru
Подобные документы
Аналитический обзор системы управления курсами Moodle, программное построение ее модулей. Разработка структурной схемы и базы знаний экспертной системы. Создание дерева вопросов и выбор алгоритма поиска решений. Анализ возможных угроз и защита информации.
дипломная работа [534,7 K], добавлен 14.12.2013Основные функции системы управления базами данных - описание структуры базы данных, обработка данных и управление данными. Компьютерный магазин как предметная область, ее технико-экономические характеристики. Построение логической и физической моделей.
курсовая работа [3,7 M], добавлен 02.07.2012Деятельность футбольного клуба "Челси", задачи его информационно-управляющей системы и требования к базе данных. Наборы отношений с учетом степени связи и класса принадлежности экземпляров сущности. Разработка базы данных в среде СУБД Access 2003.
курсовая работа [2,3 M], добавлен 21.02.2011Разработка базы данных, позволяющей определять месторасположение на полке и код товаров в магазинных складах, количество и качество товаров. Концепция баз данных. Модели данных, описание данных проектирования. Разработка программного приложения.
курсовая работа [1,1 M], добавлен 13.06.2014Решение задачи аппроксимации поверхности при помощи системы нечёткого вывода. Определение входных и выходных переменных, их термы; алгоритм Сугено. Подбор функций принадлежности, построение базы правил, необходимых для связи входных и выходных переменных.
курсовая работа [1,8 M], добавлен 31.05.2014Описание предметной области, определение функциональных требований к системе и построение диаграммы потока данных. Построение модели "сущность-связь", описание сущностей и атрибутов модели. Построение реляционной базы данных и описание ее таблицы.
курсовая работа [624,5 K], добавлен 30.05.2019Описание особенностей функционирования магазина. Проектирование системы: инфологическое моделирование и построение диаграммы потоков данных. Моделирование и программная реализация информационной системы. Проектирование пользовательского интерфейса.
курсовая работа [1,6 M], добавлен 18.02.2013Общая характеристика киноиндустрии как предметной области работы. Разработка базы данных и дерева вопросов для получения информации для выбора фильма. Программная реализация экспертной системы. Тестирование системы и создание руководства пользователя.
курсовая работа [1,9 M], добавлен 19.05.2014Анализ предметной области и введение ограничений. Выделение базовых сущностей. Концептуальная модель данных. Построение схемы реляционной модели базы данных магазина одежды в третьей нормальной форме. Описание физической БД. Проектирование интерфейса.
курсовая работа [2,6 M], добавлен 20.11.2013Сущности и функциональные зависимости базы данных. Атрибуты и связи. Таблицы базы данных. Построение ER-диаграммы. Организация ввода и корректировки данных. Реляционная схема базы данных. Реализация запросов, получение отчетов. Защита базы данных.
курсовая работа [2,4 M], добавлен 06.02.2016