- •Содержание
- •Введение Основные понятия и определения.
- •Операции над нечеткими множествами.
- •Множества уровня и декомпозиции нечетких множеств.
- •Постановка задачи
- •Анализ алгоритмов решения поставленной задачи
- •Разработка программных модулей
- •Результаты экспериментов и анализ полученных данных
- •5.1 Эксперимент 1
- •5.2 Эксперимент 2
- •5.3 Эксперимент 3
- •5.5 Эксперимент 4
- •Заключение
- •Список использованных источников
Разработка программных модулей
list=[ 1 1 1 1 1 1 2 1 1 1 3 1 1 1 4 2 1 1 5 2 1 2 1 1 1 2 2 1 1 2 3 1 1 2 4 2 1 2 5 2 1 3 1 1 1 3 2 1 1 3 3 1 1 3 4 1 1 3 5 2 1 4 1 1 1 4 2 1 1 4 3 1 1 4 4 1 1 4 5 1 1 5 1 1 1 5 2 1 1 5 3 1 1 5 4 1 1 5 5 1 2 1 1 2 2 1 2 2 2 1 3 3 2 1 4 3 2 1 5 3 2 2 1 1 2 2 2 2 2 2 3 3 2 2 4 3 2 2 5 3 2 3 1 1 2 3 2 1 2 3 3 2 2 3 4 3 2 3 5 3 2 4 1 1 2 4 2 1 2 4 3 1 2 4 4 2 2 4 5 3 2 5 1 1 2 5 2 1 2 5 3 1 2 5 4 1
2 5 5 2 3 1 1 3 3 1 2 3 3 1 3 3 3 1 4 3 3 1 5 3 3 2 1 3 3 2 2 3 3 2 3 3 3 2 4 3 3 2 5 3 3 3 1 2 3 3 2 3 3 3 3 3 3 3 4 3 3 3 5 3 3 4 1 2 3 4 2 2 3 4 3 2 3 4 4 3 3 4 5 3 3 5 1 2 3 5 2 2 3 5 3 2 3 5 4 3 3 5 5 3];
Условные обозначения:
Для 1-го входа (Время T зеленого света нечеткого светофора для улицы СЮ):
малое - 1 среднее - 2 большое - 3
Для 2-го входа (число машин на улице СЮ):
очень малое -1 малое - 2 среднее - 3 большое - 4 очень большое - 5
Для 3-го входа (число машин на улице ЗВ):
очень малое -1 малое - 2 среднее - 3 большое - 4 очень большое - 5
Для заключения:
увеличить - 1 не изменять - 2 уменьшить – 3
Код:
function func=myf
T=60;
T_sy=30;
T_zv=T-T_sy;
sy=round(rand*91);
zv=round(rand*91);
f=readfis('untitled2');
N=0;
v=0.2;
for i=1:100
dT=evalfis([T_sy,sy,zv],f);
if(dT>=-20 & dT<0)
T_sy=T_sy-1;
T_zv=T-T_sy;
elseif(dT>-15 & dT<15)
T_zv=T-T_sy;
else(dT>0 & dT<=20)
T_sy=T_sy+1;
T_zv=T-T_sy;
end
if(T_sy<10)
T_sy=10;
T_zv=50;
elseif(T_sy>50)
T_sy=50;
T_zv=10;
end
sy_1=round(v*T_sy);
if(sy_1>=sy);
sy=round(v*(rand*(T_sy+1)));
else
N=N+sy-sy_1;
sy=round(sy-sy_1+v*(rand*(T_sy+1)));
end
if(sy>90) sy=90;
end
zv_1=round(v*T_zv);
if(zv_1>=zv) zv=round(v*(rand*(T_zv+1)));
end
if(zv>90)zv=90;
end
end
K=N/i
End
K =
1.7000
Результаты экспериментов и анализ полученных данных
5.1 Эксперимент 1
Проверим эффективность работы светофора c нечеткой логикой за 1 час и 40 минут и сравним с эффективностью обычного светофора за такой же промежуток времени.
Пусть одна итерация цикла работы светофора равняется одной минуте, тогда 1 час 40 минут = 100 итерациям цикла.
Проведем 10 наблюдений и определим эффективности (табл. 5.1.1 и табл. 5.1.2).
№ наблюдения |
x1 |
x2 |
x3 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
Эффективность |
5.2 |
6.2 |
2.5 |
6.4 |
10 |
11.01 |
6.44 |
9.1 |
0.12 |
7.14 |
7.87 |
Табл. 5.1.1 Результаты экспериментов для светофора с нечеткой логикой за 100 итераций.
№ наблюдения |
x1 |
x2 |
x3 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
Эффективность |
15.49 |
5.24 |
5.1 |
17.99 |
0.25 |
3.6 |
21.77 |
11.14 |
7.88 |
31.7 |
9.95 |
Табл. 5.1.2 Результаты экспериментов для обычного светофора за 100 итераций.
Среднее для интеллектуального светофора = 7.198
Среднее для обычного светофора = 13.005
Показатель эффективности обычного светофора больше интеллектуального на 80.7 %. Это говорит о том, что интеллектуальный светофор пропускает большее количество машин, по сравнению с обычным светофором.
