В материалах по ссылкам
можно познакомиться с пошаговым алгоритмом создания нечёткой системы, т.е. интеллектуальной системы на базе теории нечётких множеств.
Ниже предлагаются варианты для создания нечёткой системы. Под вариантами располагается пример нечеткой системы: «Управление скоростью вентилятора».
РАЗДЕЛ 1: УМНЫЙ ДОМ
Вариант нечёткой системы 1: Управление освещением в гостиной.
Входная лингвистическая переменная 1: Уровень_освещенности | Универсум: [0, 1000] (люкс).
Термы: {Очень_темно, Темно, Сумерки, Светло, Очень_ярко}.
Входная лингвистическая переменная 2: Присутствие | Универсум: [0, 1] (вероятность/уверенность).
Термы: {Точно_нет, Вероятно_нет, Неопределенно, Вероятно_да, Точно_да}
Выходная лингвистическая переменная: Яркость_светильников | Универсум: [0, 100] (%).
Термы: {Выкл, Ночник, Комфортная, Яркая, Максимальная}.
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Уровень_освещенности = Очень_темно И Присутствие = Точно_да ТО Яркость_светильников = Комфортная
2. ЕСЛИ Уровень_освещенности = Темно И Присутствие = Вероятно_да ТО Яркость_светильников = Ночник
3. ЕСЛИ Уровень_освещенности = Светло ИЛИ Присутствие = Точно_нет ТО Яркость_светильников = Выкл
Вариант нечёткой системы 2: Управление системой отопления (Теплый пол).
Входная лингвистическая переменная 1: Температура_воздуха | Универсум: [15, 30] (°C).
Термы: {Холодно, Прохладно, Идеально, Тепло, Жарко}.
Входная лингвистическая переменная 2: Температура_пола | Универсум: [15, 35] (°C).
Термы: {Ледяной, Прохладный, Нейтральный, Теплый, Горячий}.
Выходная лингвистическая переменная: Мощность_обогрева | Универсум: [0, 100] (%).
Термы: {Выкл, Слабый_нагрев, Поддержание, Интенсивный_нагрев, Максимум}.
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Температура_воздуха = Холодно И Температура_пола = Ледяной ТО Мощность_обогрева = Интенсивный_нагрев
2. ЕСЛИ Температура_воздуха = Идеально И Температура_пола = Нейтральный ТО Мощность_обогрева = Поддержание
3. ЕСЛИ Температура_воздуха = Тепло ТО Мощность_обогрева = Выкл
Вариант нечёткой системы 3: Управление системой полива газона.
Входная лингвистическая переменная 1: Влажность_почвы | Универсум: [0, 100] (%)
Термы: {Пересушена, Суховата, Оптимальная, Влажновата, Заболочена}
Входная лингвистическая переменная 2: Прогноз_осадков | Универсум: [0, 100] (% вероятности дождя)
Термы: {Нет_дождя, Маловероятен, Возможен, Вероятен, Точно_будет}
Выходная лингвистическая переменная: Длительность_полива | Универсум: [0, 60] (минут)
Термы: {Не_поливать, Короткий, Стандартный, Длительный, Интенсивный}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Влажность_почвы = Пересушена И Прогноз_осадков = Нет_дождя ТО Длительность_полива = Интенсивный
2. ЕСЛИ Влажность_почвы = Оптимальная ИЛИ Прогноз_осадков = Точно_будет ТО Длительность_полива = Не_поливать
3. ЕСЛИ Влажность_почвы = Суховата И Прогноз_осадков = Маловероятен ТО Длительность_полива = Стандартный
Вариант нечёткой системы 4: Управление системой вентиляции.
Входная лингвистическая переменная 1: Качество_воздуха_CO2 | Универсум: [400, 2000] (ppm)
Термы: {Свежий, Нормальный, Слегка_повышен, Несвежий, Тяжелый}
Входная лингвистическая переменная 2: Запыленность | Универсум: [0, 500] (µг/м³)
Термы: {Чистый, Слегка_запылен, Средний, Пыльный, Очень_пыльный}
Выходная лингвистическая переменная: Скорость_вентилятора | Универсум: [0, 100] (%)
Термы: {Выкл, Тихий_режим, Стандарт, Быстрый, Макс_обдув}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Качество_воздуха_CO2 = Тяжёлый ИЛИ Запыленность = Очень_пыльный ТО Скорость_вентилятора = Макс_обдув
2. ЕСЛИ Качество_воздуха_CO2 = Нормальный И Запыленность = Чистый ТО Скорость_вентилятора = Выкл
3. ЕСЛИ Качество_воздуха_CO2 = Слегка_повышен И Запыленность = Слегка_запылен ТО Скорость_вентилятора = Тихий_режим
Вариант нечёткой системы 5: Управление умными шторами.
Входная лингвистическая переменная 1: Яркость_снаружи | Универсум: [0, 1000] (люкс)
Термы: {Ночь, Рассвет_Закат, Облачно, Солнечно, Яркое_солнце}
Входная лингвистическая переменная 2: Время_суток | Универсум: [0, 24] (час)
Термы: {Ночь, Утро, День, Вечер, Поздний_вечер}
Выходная лингвистическая переменная: Положение_штор | Универсум: [0, 100] (% открытия)
Термы: {Полностью_закрыто, Приоткрыто, Наполовину, Большей_частью_открыто, Полностью_открыто}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Яркость_снаружи = Яркое_солнце И Время_суток = День ТО Положение_штор = Полностью_закрыто
2. ЕСЛИ Яркость_снаружи = Рассвет_Закат И Время_суток = Вечер ТО Положение_штор = Наполовину
3. ЕСЛИ Яркость_снаружи = Ночь ТО Положение_штор = Полностью_закрыто
Вариант нечёткой системы 6: Управление громкостью аудиосистемы.
Входная лингвистическая переменная 1: Уровень_фонового_шума | Универсум: [30, 90] (дБ)
Термы: {Тишина, Негромкие_звуки, Умеренный_шум, Шумно, Очень_шумно}
Входная лингвистическая переменная 2: Активность_в_комнате | Универсум: [0, 1] (интенсивность)
Термы: {Никого, Спокойное_присутствие, Разговор, Активное_общение, Вечеринка}
Выходная лингвистическая переменная: Уровень_громкости | Универсум: [0, 100] (%)
Термы: {Беззвучно, Тихо, Комфортно, Громко, Очень_громко}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Уровень_фонового_шума = Очень_шумно И Активность_в_комнате = Вечеринка ТО Уровень_громкости = Очень_громко
2. ЕСЛИ Уровень_фонового_шума = Тишина И Активность_в_комнате = Спокойное_присутствие ТО Уровень_громкости = Тихо
3. ЕСЛИ Активность_в_комнате = Никого ТО Уровень_громкости = Беззвучно
Вариант нечёткой системы 7: Управление кондиционером.
Входная лингвистическая переменная 1: Температура_в_комнате | Универсум: [18, 35] (°C)
Термы: {Холодно, Прохладно, Нормально, Тепло, Жарко}
Входная лингвистическая переменная 2: Влажность_в_комнате | Универсум: [20, 90] (%)
Термы: {Сухо, Комфортно, Нормально, Влажно, Очень_влажно}
Выходная лингвистическая переменная: Мощность_кондиционера | Универсум: [0, 100] (%)
Термы: {Выкл, Слабый_режим, Стандарт, Охлаждение, Интенсивное_охлаждение}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Температура_в_комнате = Жарко И Влажность_в_комнате = Очень_влажно ТО Мощность_кондиционера = Интенсивное_охлаждение
2. ЕСЛИ Температура_в_комнате = Комфортно И Влажность_в_комнате = Нормально ТО Мощность_кондиционера = Стандарт
3. ЕСЛИ Температура_в_комнате = Холодно ТО Мощность_кондиционера = Выкл
Вариант нечёткой системы 8: Управление системой безопасности.
Входная лингвистическая переменная 1: Активность_за_окном | Универсум: [0, 1] (уверенность в движении)
Термы: {Спокойно, Единичное_движение, Периодическое_движение, Активность, Подозрительная_активность}
Входная лингвистическая переменная 2: Время_суток_для_охраны | Универсум: [0, 24] (час)
Термы: {Дневное_время, Вечер, Ночь, Глухая_ночь, Раннее_утро}
Выходная лингвистическая переменная: Уровень_тревоги | Универсум: [0, 100] (%)
Термы: {Нет_тревоги, Пониженный, Повышенный, Высокий, Тревога}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Активность_за_окном = Подозрительная_активность И Время_суток_для_охраны = Глухая_ночь ТО Уровень_тревоги = Тревога
2. ЕСЛИ Активность_за_окном = Единичное_движение И Время_суток_для_охраны = Дневное_время ТО Уровень_тревоги = Пониженный
3. ЕСЛИ Активность_за_окном = Спокойно ТО Уровень_тревоги = Нет_тревоги
Вариант нечёткой системы 9: Управление умной розеткой (для обогревателя).
Входная лингвистическая переменная 1: Температура_воздуха | Универсум: [15, 30] (°C)
Термы: {Очень_холодно, Холодно, Нормально, Тепло, Жарко}
Входная лингвистическая переменная 2: Тариф_на_электричество | Универсум: [0, 1] (коэф. стоимости)
Термы: {Ночной_дешевый, Утренний_средний, Дневной_дорогой, Вечерний_пик, Выходной}
Выходная лингвистическая переменная: Включение_обогревателя | Универсум: [0, 1] (вероятность/решение)
Термы: {Выкл, Скорее_выкл, Неопределенно, Скорее_вкл, Вкл}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Температура_воздуха = Очень_холодно И Тариф_на_электричество = Ночной_дешевый ТО Включение_обогревателя = Вкл
2. ЕСЛИ Температура_воздуха = Холодно И Тариф_на_электричество = Дневной_дорогой ТО Включение_обогревателя = Скорее_выкл
3. ЕСЛИ Температура_воздуха = Нормально ТО Включение_обогревателя = Выкл
Вариант нечёткой системы 10: Управление увлажнителем воздуха.
Входная лингвистическая переменная 1: Влажность_воздуха | Универсум: [20, 80] (%)
Термы: {Очень_сухо, Сухо, Комфортно, Влажно, Сыро}
Входная лингвистическая переменная 2: Температура_воздуха | Универсум: [18, 30] (°C)
Термы: {Холодно, Прохладно, Комфортно, Тепло, Жарко}
Выходная лингвистическая переменная: Интенсивность_увлажнения | Универсум: [0, 100] (%)
Термы: {Выкл, Слабое, Умеренное, Интенсивное, Максимальное}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Влажность_воздуха = Очень_сухо И Температура_воздуха = Жарко ТО Интенсивность_увлажнения = Максимальное
2. ЕСЛИ Влажность_воздуха = Комфортно ТО Интенсивность_увлажнения = Умеренное
3. ЕСЛИ Влажность_воздуха = Сыро ТО Интенсивность_увлажнения = Выкл
РАЗДЕЛ 2: УМНЫЙ ГОРОД
Вариант нечёткой системы 11: Управление уличным освещением.
Входная лингвистическая переменная 1: Освещенность_на_улице | Универсум: [0, 1000] (люкс)
Термы: {Темная_ночь, Сумерки, Рассвет_Закат, Облачный_день, Яркий_день}
Входная лингвистическая переменная 2: Активность_пешеходов | Универсум: [0, 1000] (людей/час)
Термы: {Пусто, Мало_людей, Умеренно, Много_людей, Очень_много}
Выходная лингвистическая переменная: Яркость_фонарей | Универсум: [0, 100] (%)
Термы: {Выкл, Ночной_режим, Экономный, Стандартный, Полная_мощность}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Освещенность_на_улице = Темная_ночь И Активность_пешеходов = Очень_много ТО Яркость_фонарей = Полная_мощность
2. ЕСЛИ Освещенность_на_улице = Сумерки И Активность_пешеходов = Мало_людей ТО Яркость_фонарей = Экономный
3. ЕСЛИ Освещенность_на_улице = Яркий_день ТО Яркость_фонарей = Выкл
Вариант нечёткой системы 12: Управление поливом городских газонов.
Входная лингвистическая переменная 1: Влажность_почвы | Универсум: [0, 100] (%)
Термы: {Засуха, Сухо, Нормально, Влажно, Переувлажнено}
Входная лингвистическая переменная 2: Температура_воздуха | Универсум: [0, 40] (°C)
Термы: {Мороз, Холодно, Умеренно, Тепло, Жара}
Выходная лингвистическая переменная: Длительность_полива | Универсум: [0, 60] (минут)
Термы: {Не_поливать, Короткий_полив, Стандарт, Длительный_полив, Интенсивный_полив}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Влажность_почвы = Засуха И Температура_воздуха = Жара ТО Длительность_полива = Интенсивный_полив
2. ЕСЛИ Влажность_почвы = Нормально И Температура_воздуха = Умеренно ТО Длительность_полива = Стандарт
3. ЕСЛИ Влажность_почвы = Переувлажнено ТО Длительность_полива = Не_поливать
Вариант нечёткой системы 13: Управление системой оповещения о погоде.
Входная лингвистическая переменная 1: Скорость_ветра | Универсум: [0, 100] (км/ч)
Термы: {Штиль, Слабый_ветер, Умеренный_ветер, Сильный_ветер, Ураган}
Входная лингвистическая переменная 2: Интенсивность_осадков | Универсум: [0, 50] (мм/ч)
Термы: {Без_осадков, Слабый_дождь, Умеренный_дождь, Сильный_дождь, Ливень}
Выходная лингвистическая переменная: Уровень_опасности | Универсум: [0, 10] (баллов)
Термы: {Нет_опасности, Низкий, Средний, Высокий, Критический}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Скорость_ветра = Ураган ИЛИ Интенсивность_осадков = Ливень ТО Уровень_опасности = Критический
2. ЕСЛИ Скорость_ветра = Сильный_ветер И Интенсивность_осадков = Сильный_дождь ТО Уровень_опасности = Высокий
3. ЕСЛИ Скорость_ветра = Штиль И Интенсивность_осадков = Без_осадков ТО Уровень_опасности = Нет_опасности
Вариант нечёткой системы 14: Управление работой светофора на пешеходном переходе.
Входная лингвистическая переменная 1: Интенсивность_пешеходного_потока | Универсум: [0, 500] (чел./мин)
Термы: {Отсутствует, Низкая, Средняя, Высокая, Очень_высокая}
Входная лингвистическая переменная 2: Интенсивность_автомобильного_потока | Универсум: [0, 100] (маш./мин)
Термы: {Нет_машин, Мало_машин, Умеренный_поток, Плотный_поток, Пробка}
Выходная лингвистическая переменная: Длительность_зеленого_для_пешеходов | Универсум: [10, 90] (секунд)
Термы: {Минимальная, Короткая, Стандартная, Увеличенная, Максимальная}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Интенсивность_пешеходного_потока = Очень_высокая И Интенсивность_автомобильного_потока = Пробка ТО Длительность_зеленого_для_пешеходов = Максимальная
2. ЕСЛИ Интенсивность_пешеходного_потока = Низкая И Интенсивность_автомобильного_потока = Плотный_поток ТО Длительность_зеленого_для_пешеходов = Короткая
3. ЕСЛИ Интенсивность_пешеходного_потока = Отсутствует ТО Длительность_зеленого_для_пешеходов = Минимальная
Вариант нечёткой системы 15: Управление системой мониторинга качества воздуха.
Входная лингвистическая переменная 1: Концентрация_PM2.5 | Универсум: [0, 500] (µг/м³)
Термы: {Отличный, Хороший, Умеренный, Плохой, Опасный}
Входная лингвистическая переменная 2: Концентрация_NO2 | Универсум: [0, 400] (ppb)
Термы: {Низкая, Приемлемая, Повышенная, Высокая, Очень_высокая}
Выходная лингвистическая переменная: Индекс_качества_воздуха_AQI | Универсум: [0, 500] (баллов)
Термы: {Хорошо, Удовлетворительно, Небезопасно_для_групп, Небезопасно, Опасно}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Концентрация_PM2.5 = Опасный ИЛИ Концентрация_NO2 = Очень_высокая ТО Индекс_качества_воздуха_AQI = Опасно
2. ЕСЛИ Концентрация_PM2.5 = Хороший И Концентрация_NO2 = Низкая ТО Индекс_качества_воздуха_AQI = Хорошо
3. ЕСЛИ Концентрация_PM2.5 = Умеренный И Концентрация_NO2 = Приемлемая ТО Индекс_качества_воздуха_AQI = Удовлетворительно
Вариант нечёткой системы 16: Управление системой парковки.
Входная лингвистическая переменная 1: Занятость_парковки | Универсум: [0, 100] (%)
Термы: {Пустая, Свободная, Наполовину_занята, Занятая, Полная}
Входная лингвистическая переменная 2: Время_суток_для_парковки | Универсум: [0, 24] (час)
Термы: {Ночь, Утро_пик, День, Вечер_пик, Выходной}
Выходная лингвистическая переменная: Тариф_за_парковку | Универсум: [0, 500] (руб./час)
Термы: {Бесплатно, Минимальный, Стандартный, Повышенный, Максимальный}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Занятость_парковки = Полная И Время_суток_для_парковки = Вечер_пик ТО Тариф_за_парковку = Максимальный
2. ЕСЛИ Занятость_парковки = Свободная И Время_суток_для_парковки = Ночь ТО Тариф_за_парковку = Бесплатно
3. ЕСЛИ Занятость_парковки = Наполовину_занята И Время_суток_для_парковки = День ТО Тариф_за_парковку = Стандартный
Вариант нечёткой системы 17: Управление системой видеонаблюдения (фокусировка).
Входная лингвистическая переменная 1: Уровень_активности_в_зоне | Универсум: [0, 1] (отн. ед.)
Термы: {Спокойно, Низкая_активность, Умеренная_активность, Высокая_активность, Аномальная_активность}
Входная лингвистическая переменная 2: Время_суток | Универсум: [0, 24] (час)
Термы: {День, Вечер, Ночь, Пиковое_время, Глухая_ночь}
Выходная лингвистическая переменная: Приоритет_наблюдения_за_зоной | Универсум: [0, 100] (%)
Термы: {Фон_наблюдение, Низкий_приоритет, Средний_приоритет, Высокий_приоритет, Критический_приоритет}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Уровень_активности_в_зоне = Аномальная_активность И Время_суток = Глухая_ночь ТО Приоритет_наблюдения_за_зоной = Критический_приоритет
2. ЕСЛИ Уровень_активности_в_зоне = Низкая_активность И Время_суток = День ТО Приоритет_наблюдения_за_зоной = Низкий_приоритет
3. ЕСЛИ Уровень_активности_в_зоне = Спокойно ТО Приоритет_наблюдения_за_зоной = Фон_наблюдение
Вариант нечёткой системы 18: Управление системой умного мусорного бака.
Входная лингвистическая переменная 1: Заполненность_бака | Универсум: [0, 100] (%)
Термы: {Пустой, Мало_заполнен, Наполовину_полон, Почти_полон, Переполнен}
Входная лингвистическая переменная 2: Скорость_наполнения | Универсум: [0, 10] (%/час)
Термы: {Очень_медленно, Медленно, Средне, Быстро, Очень_быстро}
Выходная лингвистическая переменная: Срочность_вывоза | Универсум: [0, 10] (баллов)
Термы: {Не_требуется, Низкая, Средняя, Высокая, Критическая}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Заполненность_бака = Переполнен ИЛИ Скорость_наполнения = Очень_быстро ТО Срочность_вывоза = Критическая
2. ЕСЛИ Заполненность_бака = Наполовину_полон И Скорость_наполнения = Средне ТО Срочность_вывоза = Средняя
3. ЕСЛИ Заполненность_бака = Пустой ТО Срочность_вывоза = Не_требуется
Вариант нечёткой системы 19: Управление системой орошения городских клумб.
Входная лингвистическая переменная 1: Влажность_почвы | Универсум: [0, 100] (%)
Термы: {Сухая, Недостаточно_влажная, Оптимальная, Избыточно_влажная, Заболоченная}
Входная лингвистическая переменная 2: Солнечная_радиация | Универсум: [0, 1000] (Вт/м²)
Термы: {Ночь, Слабая, Умеренная, Сильная, Очень_сильная}
Выходная лингвистическая переменная: Интенсивность_орошения | Универсум: [0, 100] (%)
Термы: {Выкл, Слабое, Умеренное, Сильное, Интенсивное}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Влажность_почвы = Сухая И Солнечная_радиация = Очень_сильная ТО Интенсивность_орошения = Интенсивное
2. ЕСЛИ Влажность_почвы = Оптимальная ТО Интенсивность_орошения = Умеренное
3. ЕСЛИ Влажность_почвы = Заболоченная ТО Интенсивность_орошения = Выкл
Вариант нечёткой системы 20: Управление системой шумового мониторинга.
Входная лингвистическая переменная 1: Уровень_шума_дневной | Универсум: [40, 100] (дБ)
Термы: {Тихий_район, Умеренный_шум, Шумный_район, Очень_шумно, Невыносимый_шум}
Входная лингвистическая переменная 2: Время_суток_для_нормативов | Универсум: [0, 24] (час)
Термы: {День_норматив, Вечер_норматив, Ночь_норматив, Утро_норматив, Выходной}
Выходная лингвистическая переменная: Уровень_нарушения | Универсум: [0, 100] (%)
Термы: {Норма, Незначительное, Заметное, Существенное, Критическое}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Уровень_шума_дневной = Невыносимый_шум И Время_суток_для_нормативов = Ночь_норматив ТО Уровень_нарушения = Критическое
2. ЕСЛИ Уровень_шума_дневной = Умеренный_шум И Время_суток_для_нормативов = День_норматив ТО Уровень_нарушения = Незначительное
3. ЕСЛИ Уровень_шума_дневной = Тихий_район ТО Уровень_нарушения = Норма
РАЗДЕЛ 3: УМНЫЙ ТРАНСПОРТ
Вариант нечёткой системы 21: Управление круиз-контролем автомобиля.
Входная лингвистическая переменная 1: Расстояние_до_впереди_идущего | Универсум: [0, 200] (метров)
Термы: {Очень_близко, Близко, Безопасно, Далеко, Очень_далеко}
Входная лингвистическая переменная 2: Относительная_скорость | Универсум: [-50, 50] (км/ч)
Термы: {Быстро_приближается, Медленно_приближается, Стабильно, Медленно_удаляется, Быстро_удаляется}
Выходная лингвистическая переменная: Изменение_скорости_авто | Универсум: [-1, 1] (м/с²)
Термы: {Резкое_торможение, Плавное_торможение, Поддержание, Плавный_разгон, Интенсивный_разгон}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Расстояние_до_впереди_идущего = Очень_близко И Относительная_скорость = Быстро_приближается ТО Изменение_скорости_авто = Резкое_торможение
2. ЕСЛИ Расстояние_до_впереди_идущего = Безопасно И Относительная_скорость = Стабильно ТО Изменение_скорости_авто = Поддержание
3. ЕСЛИ Расстояние_до_впереди_идущего = Очень_далеко И Относительная_скорость = Быстро_удаляется ТО Изменение_скорости_авто = Интенсивный_разгон
Вариант нечёткой системы 22: Управление системой помощи при парковке.
Входная лингвистическая переменная 1: Расстояние_до_препятствия_спереди | Универсум: [0, 5] (метров)
Термы: {Очень_близко, Близко, Критично, Безопасно, Далеко}
Входная лингвистическая переменная 2: Расстояние_до_препятствия_сзади | Универсум: [0, 5] (метров)
Термы: {Очень_близко, Близко, Критично, Безопасно, Далеко}
Выходная лингвистическая переменная: Интенсивность_звукового_сигнала | Универсум: [0, 100] (% громкости/частоты)
Термы: {Тихий_периодический, Средний_периодический, Частый, Постоянный_средний, Постоянный_громкий}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Расстояние_до_препятствия_спереди = Очень_близко ИЛИ Расстояние_до_препятствия_сзади = Очень_близко ТО Интенсивность_звукового_сигнала = Постоянный_громкий
2. ЕСЛИ Расстояние_до_препятствия_спереди = Безопасно И Расстояние_до_препятствия_сзади = Безопасно ТО Интенсивность_звукового_сигнала = Средний_периодический
3. ЕСЛИ Расстояние_до_препятствия_спереди = Далеко И Расстояние_до_препятствия_сзади = Далеко ТО Интенсивность_звукового_сигнала = Тихий_периодический
Вариант нечёткой системы 23: Управление системой предупреждения о сонливости водителя.
Входная лингвистическая переменная 1: Частота_моргания | Универсум: [0, 30] (раз/мин)
Термы: {Нормальная, Слегка_снижена, Сниженная, Сильно_снижена, Критично_низкая}
Входная лингвистическая переменная 2: Стабильность_руления | Универсум: [0, 1] (коэф. колебания)
Термы: {Стабильно, Незначительные_колебания, Умеренные_колебания, Сильные_колебания, Резкие_броски}
Выходная лингвистическая переменная: Уровень_тревоги_усталости | Универсум: [0, 10] (баллов)
Термы: {Бодр, Легкая_усталость, Усталость, Сильная_усталость, Критическая_усталость}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Частота_моргания = Критично_низкая И Стабильность_руления = Резкие_броски ТО Уровень_тревоги_усталости = Критическая_усталость
2. ЕСЛИ Частота_моргания = Слегка_снижена И Стабильность_руления = Незначительные_колебания ТО Уровень_тревоги_усталости = Легкая_усталость
3. ЕСЛИ Частота_моргания = Нормальная И Стабильность_руления = Стабильно ТО Уровень_тревоги_усталости = Бодр
Вариант нечёткой системы 24: Управление системой распределения нагрузки в грузовике.
Входная лингвистическая переменная 1: Масса_груза | Универсум: [0, 20000] (кг)
Термы: {Пустой, Легкий, Средний, Тяжелый, Перегружен}
Входная лингвистическая переменная 2: Распределение_массы_по_осям | Универсум: [0, 100] (% на переднюю ось)
Термы: {Крен_назад, Сбалансировано, Небольшой_крен_вперед, Крен_вперед, Опасный_крен}
Выходная лингвистическая переменная: Рекомендация_по_давлению_в_шинах | Универсум: [1.5, 4.5] (атм)
Термы: {Минимальное, Пониженное, Стандартное, Повышенное, Максимальное}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Масса_груза = Перегружен И Распределение_массы_по_осям = Опасный_крен ТО Рекомендация_по_давлению_в_шинах = Максимальное
2. ЕСЛИ Масса_груза = Средний И Распределение_массы_по_осям = Сбалансировано ТО Рекомендация_по_давлению_в_шинах = Стандартное
3. ЕСЛИ Масса_груза = Пустой ТО Рекомендация_по_давлению_в_шинах = Минимальное
Вариант нечёткой системы 25: Управление системой климат-контроля в салоне автомобиля.
Входная лингвистическая переменная 1: Температура_в_салоне | Универсум: [10, 40] (°C)
Термы: {Холодно, Прохладно, Комфортно, Тепло, Жарко}
Входная лингвистическая переменная 2: Влажность_в_салоне | Универсум: [20, 90] (%)
Термы: {Сухо, Комфортно, Норма, Влажно, Очень_влажно}
Выходная лингвистическая переменная: Интенсивность_обдува | Универсум: [0, 100] (%)
Термы: {Выкл, Слабый_обдув, Комфортный_обдув, Интенсивный_обдув, Максимальный_обдув}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Температура_в_салоне = Жарко И Влажность_в_салоне = Очень_влажно ТО Интенсивность_обдува = Максимальный_обдув
2. ЕСЛИ Температура_в_салоне = Комфортно И Влажность_в_салоне = Норма ТО Интенсивность_обдува = Комфортный_обдув
3. ЕСЛИ Температура_в_салоне = Холодно ТО Интенсивность_обдува = Выкл
Вариант нечёткой системы 26: Управление системой экономии топлива.
Входная лингвистическая переменная 1: Стиль_вождения | Универсум: [0, 1] (агрессивность)
Термы: {Очень_спокойный, Спокойный, Умеренный, Агрессивный, Очень_агрессивный}
Входная лингвистическая переменная 2: Уклон_дороги | Универсум: [-10, 10] (%)
Термы: {Крутой_спуск, Пологий_спуск, Ровно, Пологий_подъем, Крутой_подъем}
Выходная лингвистическая переменная: Рекомендация_по_передаче_и_оборотам | Универсум: [0, 100] (% от макс. оборотов)
Термы: {Повысить_передачу, Поддержание_оборотов, Легкий_разгон, Интенсивный_разгон, Экстренный_разгон}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Стиль_вождения = Очень_агрессивный И Уклон_дороги = Крутой_подъем ТО Рекомендация_по_передаче_и_оборотам = Экстренный_разгон
2. ЕСЛИ Стиль_вождения = Умеренный И Уклон_дороги = Ровно ТО Рекомендация_по_передаче_и_оборотам = Поддержание_оборотов
3. ЕСЛИ Стиль_вождения = Очень_спокойный И Уклон_дороги = Крутой_спуск ТО Рекомендация_по_передаче_и_оборотам = Повысить_передачу
Вариант нечёткой системы 27: Управление системой автоматического стеклоочистителя.
Входная лингвистическая переменная 1: Интенсивность_дождя | Универсум: [0, 10] (мм/ч)
Термы: {Сухо, Морось, Слабый_дождь, Умеренный_дождь, Ливень}
Входная лингвистическая переменная 2: Скорость_автомобиля | Универсум: [0, 160] (км/ч)
Термы: {Стоянка, Медленно, Город, Трасса, Скорость_макс}
Выходная лингвистическая переменная: Скорость_дворников | Универсум: [0, 100] (% от макс. скорости)
Термы: {Выкл, Одиночное_движение, Медленно, Средне, Быстро}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Интенсивность_дождя = Ливень ИЛИ Скорость_автомобиля = Стоянка ТО Скорость_дворников = Быстро
2. ЕСЛИ Интенсивность_дождя = Слабый_дождь И Скорость_автомобиля = Город ТО Скорость_дворников = Медленно
3. ЕСЛИ Интенсивность_дождя = Сухо ТО Скорость_дворников = Выкл
Вариант нечёткой системы 28: Управление системой контроля давления в шинах.
Входная лингвистическая переменная 1: Отклонение_давления_от_нормы | Универсум: [-1, 1] (атм)
Термы: {Сильная_недокачка, Недокачка, Норма, Перекачка, Сильная_перекачка}
Входная лингвистическая переменная 2: Температура_шины | Универсум: [0, 100] (°C)
Термы: {Низкая, Нормальная, Повышенная, Высокая, Критическая}
Выходная лингвистическая переменная: Уровень_риска | Универсум: [0, 10] (баллов)
Термы: {Безопасно, Пониженный_риск, Средний_риск, Высокий_риск, Критический_риск}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Отклонение_давления_от_нормы = Сильная_недокачка ИЛИ Температура_шины = Критическая ТО Уровень_риска = Критический_риск
2. ЕСЛИ Отклонение_давления_от_нормы = Норма И Температура_шины = Нормальная ТО Уровень_риска = Безопасно
3. ЕСЛИ Отклонение_давления_от_нормы = Сильная_перекачка ТО Уровень_риска = Высокий_риск
Вариант нечёткой системы 29: Управление системой помощи при обгоне.
Входная лингвистическая переменная 1: Скорость_встречного_авто | Универсум: [0, 150] (км/ч)
Термы: {Нет_машины, Медленная, Умеренная, Быстрая, Очень_быстрая}
Входная лингвистическая переменная 2: Дистанция_для_безопасного_обгона | Универсум: [50, 500] (метров)
Термы: {Недостаточно, Минимальная, Достаточная, Комфортная, Избыточная}
Выходная лингвистическая переменная: Рекомендация_по_обгону | Универсум: [0, 1] (уверенность)
Термы: {Запрет_обгона, Не_рекомендуется, Возможен, Рекомендуется, Безопасно}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Скорость_встречного_авто = Очень_быстрая И Дистанция_для_безопасного_обгона = Недостаточно ТО Рекомендация_по_обгону = Запрет_обгона
2. ЕСЛИ Скорость_встречного_авто = Умеренная И Дистанция_для_безопасного_обгона = Достаточная ТО Рекомендация_по_обгону = Возможен
3. ЕСЛИ Скорость_встречного_авто = Нет_машины ТО Рекомендация_по_обгону = Безопасно
Вариант нечёткой системы 30: Управление системой мониторинга расхода энергии в электромобиле.
Входная лингвистическая переменная 1: Уровень_заряда_батареи | Универсум: [0, 100] (%)
Термы: {Критический_разряд, Низкий, Средний, Высокий, Полный}
Входная лингвистическая переменная 2: Средний_расход_энергии | Универсум: [10, 30] (кВт*ч/100км)
Термы: {Очень_экономный, Экономный, Средний, Высокий, Очень_высокий}
Выходная лингвистическая переменная: Прогноз_доступного_пробега | Универсум: [0, 500] (км)
Термы: {Критически_малый, Малый, Средний, Большой, Максимальный}
Примеры правил вида ЕСЛИ..., ТО....:
1. ЕСЛИ Уровень_заряда_батареи = Критический_разряд И Средний_расход_энергии = Очень_высокий ТО Прогноз_доступного_пробега = Критически_малый
2. ЕСЛИ Уровень_заряда_батареи = Средний И Средний_расход_энергии = Средний ТО Прогноз_доступного_пробега = Средний
3. ЕСЛИ Уровень_заряда_батареи = Полный И Средний_расход_энергии = Очень_экономный ТО Прогноз_доступного_пробега = Максимальный
Базы правил нечётких продукций:
Следует обратить внимание, что в помощь имеются следующие примеры баз правил нечётких продукций.
Вариант 1. Чем выше значения входных переменных, тем выше значения выходной лингвистической переменной, тогда база правил нечётких продукций выглядит следующим образом:
Вариант 2. Чем ниже значения входных переменных, тем выше значения выходной лингвистической переменной, тогда база правил нечётких продукций выглядит следующим образом:
Вариант 3. Чем выше значения первой входной переменной, но ниже значения второй входной лингвистической переменной, тем выше значения выходной лингвистической переменной, тогда база правил нечётких продукций выглядит следующим образом:
Пример нечеткой системы:
Нечеткая система: «Управление скоростью вентилятора»
Эта нечёткая система анализирует два входных параметра и на их основе определяет необходимую скорость вращения вентилятора.
1. Входная лингвистическая переменная: «Температура».
Назначение: Оценка текущей температуры в помещении.
Универсум (базовое множество): [15, 35] (°C) – диапазон комфортных и дискомфортных температур.
Термы (нечеткие множества):
1. Очень_холодно (Very_Cold): Низкие температуры, требующие обогрева, а не охлаждения.
2. Прохладно (Cool): Комфортная прохладная температура.
3. Комфортно (Comfortable): Идеальная, нейтральная температура.
4. Тепло (Warm): Тепловато, легкий дискомфорт.
5. Жарко (Hot): Высокая температура, сильный дискомфорт.
Визуально функции принадлежности могли бы выглядеть как набор перекрывающихся треугольников и трапеций, покрывающих весь универсум. Например, «Комфортно» – треугольник с вершиной около 23°C, а «Очень_холодно» – трапеция на левом краю универсума.
2. Входная лингвистическая переменная: «Влажность».
Назначение: Оценка текущей относительной влажности воздуха.
Универсум: [30, 90] (%) – диапазон от сухого до очень влажного воздуха.
Термы:
1. Сухо (Dry): Низкая влажность, воздух может казаться свежим.
2. Комфортная (Comfortable): Оптимальный уровень влажности.
3. Нормальная (Normal): Приемлемый, слегка повышенный уровень.
4. Высокая (Humid): Воздух влажный, душный.
5. Очень_высокая (Very_Humid): Воздух очень душный, тяжелый для дыхания.
Здесь «Комфортная» влажность будет иметь пик вокруг 50%, а «Очень_высокая» – трапеция на правом краю универсума около 80-90%.
3. Выходная лингвистическая переменная: «Скорость_вентилятора».
Назначение: Определение скорости вращения двигателя вентилятора.
Универсум: [0, 100] (%) – от полной остановки до максимальной скорости.
Термы выходной лингвистической переменной:
1. Выкл (Off): Вентилятор не работает.
2. Малая (Low): Тихая, медленная работа для легкого воздушного потока.
3. Средняя (Medium): Умеренная скорость для создания комфортной циркуляции.
4. Высокая (High): Интенсивное охлаждение и движение воздуха.
5. Максимальная (Max): Полная мощность для экстремальных условий.
Терм «Выкл» может быть представлен в виде «усеченного треугольника» на нуле, а «Максимальная» – аналогично на 100%.
Нечёткая система «Управление скоростью вентилятора» управляется базой нечетких правил вида ЕСЛИ... ТО....
Примеры правил:
1. ЕСЛИ Температура = Комфортно И Влажность = Комфортная ТО Скорость_вентилятора = Выкл.
2. ЕСЛИ Температура = Тепло И Влажность = Нормальная ТО Скорость_вентилятора = Малая.
3. ЕСЛИ Температура = Тепло И Влажность = Высокая ТО Скорость_вентилятора = Средняя.
4. ЕСЛИ Температура = Жарко И Влажность = Высокая ТО Скорость_вентилятора = Высокая.
5. ЕСЛИ Температура = Жарко И Влажность = Очень_высокая ТО Скорость_вентилятора = Максимальная.
Процесс вывода для конкретных значений:
1. Фаззификация: Допустим, текущие значения: Температура = 28°C, Влажность = 70%.
Эти четкие числа преобразуются в степени принадлежности к входным термам. Например, 28°C может на 0.7 принадлежать к терму «Тепло» и на 0.3 к терму «Жарко». Влажность 70% может на 0.8 принадлежать к терму «Высокая» и на 0.2 к терму «Нормальная».
2. Агрегирование и активация: Применяются правила, где задействованы эти термы (например, правила 3 и 4). Степень истинности каждого правила вычисляется (например, с помощью операции min или prod). Эта степень «отсекает» выходные термы.
3. Аккумуляция: Все «отсеченные» выходные функции принадлежности (для Средняя, Высокая и др.) объединяются в одну результирующую нечеткую функцию.
4. Дефаззификация: Чтобы получить четкое значение для управления мотором, результирующая нечеткая функция преобразуется в одно число (например, методом центра тяжести (centroid)). Результат может быть, скажем, Скорость_вентилятора = 55%.
Данный пример иллюстрирует ключевые принципы построения нечетких систем: использование лингвистических переменных, термов для описания знаний и механизма нечеткого вывода для плавного и интуитивно понятного управления.