Результаты моделирования работы светофора с нечеткой логикой
Основная программа работает следующим образом: с помощью встроенного в Matlab генератора случайных чисел происходит генерирование числа машин за один цикл светофора для улиц СЮ и ЗВ.
Часть машин из этого числа успевает проехать на зеленый свет, остальные останавливаются перед перекрестком, ожидая окончания действия красного света светофора. Все те автомобили, которые остались стоять перед светофором после одного цикла, считаются не обслуженными заявками.
За показатель эффективности данной системы принимается среднее число не обслуженных заявок за заданное количество циклов светофора. Соответственно, чем меньшее значение имеет показатель эффективности, тем большее количество машин пропускает светофор.
Число циклов светофора не должно быть слишком малым, т.к. в этом случае не получается объективной информации, или слишком большим, т.к. программа будет очень долго вычислять требуемую величину. Рекомендуемое количество циклов - 100.
Таким образом, алгоритм программы следующий: на светофор с датчиков поступает информация о количестве автомобилей на двух улицах. Эти данные переводятся в нечеткий формат согласно заданным функциям принадлежности, далее, внутри подпрограммы происходит их обработка, полученное значение изменения времени зеленого света дефаззифицируется (т.е. переводится обратно в четкий формат) и поступает в виде управляющего сигнала на светофор. В соответствии с этим сигналом время зеленого света светофора в следующем цикле будет другим.
Результат вычислений представлен в виде графика на рисунке 13.
Таким образом, что нечеткая логика, в некоторых простейших случаях, позволяет улучшить качество управления объектами. Решающую роль в оптимизации показателей эффективности играют эксперты, которые определяют количество входных и выходных переменных, число термов для каждой переменной, виды функций принадлежности, т.к. изменение этих параметров приводит к улучшению или ухудшению процесса управления объектом.
Важнейшим недостатком нечеткой логики является отсутствие единого метода моделирования систем, т.е. для каждого случая приходится заново проектировать нечеткую подпрограмму, определяя шаг за шагом все параметры и строя свою таблицу решений.
5. Литература
1. Заде Л.А. Понятие лингвистической переменной и его применение к принятию приближенных решений/ Л.А.Заде. – М.:Мир,1976.–166с.
2. Круглов В.В. Интеллектуальные информационные системы: компьютерная поддержка систем нечеткой логики и нечеткого вывода/ В.В.Круглов, М.И.Дли. – М.: Физматлит, 2002. –198с.
3. Круглов В.В. Нечеткая логика и искусственные нейронные сети/ В.В.Круглов, М.И.Дли, Р.Ю.Голунов. – М.: Физматлит, 2001.–221с.
4. Леоленков А.В. Нечеткое моделирование в среде MATLABи fuzzyTECH/ А.В.Леоленков. – СПб, 2003.–719с.
5. Самарский А.А. Математическое моделирование: идеи, методы, примеры/ А.А.Самарский, А.П.Михайлов. – М.:Наука, 1997. – 320с.