Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab3.doc
Скачиваний:
7
Добавлен:
17.09.2019
Размер:
392.19 Кб
Скачать

II. Моделирование работы светофора с нечеткой логикой

ПОСТАНОВКА:

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

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

Пусть время цикла традиционного и нечеткого светофоров будет одинаковым и равным 1мин.=60сек. Длительность зеленого света обычного светофора зададим 30сек., тогда красный свет будет гореть тоже 30сек.

Для работы нечеткого светофора на перекрестке улиц Север-Юг (СЮ) и Запад-Восток (ЗВ) необходимо установить 8 датчиков (рис. 2.1), которые считают проехавшие мимо них машины.

Рис. 2.1 Расположение датчиков на перекрестке.

Светофор использует разности показаний четырех пар датчиков: (Д1-Д2), (Д3-Д4), (Д5-Д6) и (Д7-Д8). Таким образом, если для улицы СЮ горит зеленый свет, машины проезжают перекресток и показания двух пар датчиков равны: Д1=Д2, Д5=Д6, а, следовательно, их разность равна нулю. В это же время на улице ЗВ перед светофором останавливаются машины, которые успели проехать только Д4 и Д7. В результате можно рассчитать суммарное количество автомобилей на этой улице следующим образом:

(Д4-Д3)+(Д7-Д8)=(Д4-0)+(Д7-0)=Д4+Д7.

Для сравнения работы обоих светофоров введем показатель эффективности, в качестве которого будем рассматривать число машин, не проехавших перекресток за один цикл светофора.

Данную задачу можно сравнить с системой массового обслуживания (СМО), по двум каналам которой поступают заявки на обслуживание в виде автомашин. Показатель эффективности в этом случае число заявок, получивших отказ.

Решение :

Более подробно рассмотрим проектирование нечеткой подпрограммы. Здесь однозначно должны быть определены все входы и выходы.

Поскольку работа светофора зависит от текущего времени зеленого света и от числа машин на обеих улицах, для нашей подпрограммы предлагается использовать 3 входа:

  1. Время t зеленого света нечеткого светофора для улицы сю (для улицы зв этот параметр равен соответственно “цикл - t”);

  2. Число машин на улице сю по окончанию очередного цикла;

  3. Число машин на улице зв по окончанию цикла.

Теперь для каждой переменной надо задать лингвистические термы, соответствующие некоторым диапазонам четких значений. Так, для переменной время зеленого света предлагается использовать три терма (рис. 2.2):

  • малое (10-25сек.);

  • среднее(20-40сек.);

  • большое(35-50сек.).

Рис. 2.2 Функция принадлежности первой входной переменной.

Степень принадлежности четких значений термам задается с помощью функций принадлежности (в нашем случае эти функции имеют форму трапеции).

Аналогично, термы для двух оставшихся переменных будут (рис. 2.3):

  • очень малое (0-18);

  • малое (16-36);

  • среднее (34-56);

  • большое (54-76);

  • очень большое (72-90).

Рис. 2.3 Функция принадлежности второй и третьей входных переменных.

Функции принадлежности здесь также имеют форму трапеции.

Так как суть работы светофора состоит в изменении времени зеленого света, в качестве выходного параметра предлагается использовать величину этого изменения. Термы в этом случае будут следующие (рис. 2.4):

  • увеличить (0-20сек.);

  • не изменять (-15-15сек.);

  • уменьшить (-20-0сек.).

Рис. 2.4 Функция принадлежности выходной переменной.

Функции принадлежности имеют форму Гаусса.

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

Если (время зеленого света на улице СЮ=большое)&(число машин на улице СЮ=малое)&(число машин на улице ЗВ=большое), то (время зеленого света на улице СЮ=уменьшить).

Основная программа работает следующим образом: с помощью генератора случайных чисел происходит генерирование числа машин за один цикл светофора для улиц СЮ и ЗВ.

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

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

Число циклов светофора не должно быть слишком малым, т.к. в этом случае не получается объективной информации, или слишком большим, т.к. программа будет очень долго вычислять требуемую величину. Рекомендуемое количество циклов - 100.

Таким образом, алгоритм программы следующий: на светофор с датчиков поступает информация о количестве автомобилей на двух улицах. Эти данные переводятся в нечеткий формат согласно заданным функциям принадлежности, далее, внутри подпрограммы происходит их обработка, полученное значение изменения времени зеленого света дефазифицируется (т.е. переводится обратно в четкий формат) и поступает в виде управляющего сигнала на светофор. В соответствии с этим сигналом время зеленого света светофора в следующем цикле будет другим.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]