Тест по пакету sets

После выполнения теста нажмите кнопку “Ответить” и ждите результатов, они будут показаны на этой же странице c ответами после каждого вопроса. Возможна небольшая задержка в отображении результатов.

1. Рассмотрим описанный на этом сайте пример с регулятором температуры. Зададим те же начальные условия.


library(sets)
sets_options("universe", seq(from = 0, to = 100, by = 0.1))
variables <-set(
    TEMP=fuzzy_variable(COLD=fuzzy_trapezoid(corners = c(-1,0,17,20)),
                    NORMAL=fuzzy_trapezoid(corners = c(18,19,21,24)),
                    HOT=fuzzy_trapezoid(corners = c(22,25,100,101))),
    VALVE = fuzzy_variable(CLOSED=fuzzy_triangular(corners = c(-1,0,25.1)),
                    PART.CLOSED=fuzzy_triangular(corners = c(0,25,75.1)),
                    PART.OPENED=fuzzy_triangular(corners = c(26,75.2,100)),
                    OPENED=fuzzy_triangular(corners = c(75.1,100,101)))
 )
rules <-set(
    fuzzy_rule(TEMP %is% COLD, VALVE %is% OPENED),
    fuzzy_rule(TEMP %is% HOT, VALVE %is% CLOSED),
    fuzzy_rule(TEMP %is% NORMAL &&  VALVE %is% CLOSED ,VALVE %is% CLOSED),
    fuzzy_rule(TEMP %is% NORMAL &&  VALVE %is% PART.CLOSED, VALVE %is% PART.CLOSED),
    fuzzy_rule(TEMP %is% NORMAL &&  VALVE %is% PART.OPENED, VALVE %is% PART.OPENED),
    fuzzy_rule(TEMP %is% NORMAL &&  VALVE %is% OPENED, VALVE %is% OPENED)
    )

Допустим, нам необходимо вместо треугольного распределения использовать нормальное с матожиданием в тех же вершинах и дисперсией равной 81. Как это будет выглядеть вместо:


CLOSED=fuzzy_triangular(corners = c(-1,0,25.1))
 
 
 
 

2. Замените все треугольники на нормальное распределение и выполните команды:


system <- fuzzy_system(variables, rules)
plot(system)

У вас должно получиться типа этого:

 

Теперь вычислите результат и проведите дефаззификацию с помощью центроида для данных TEMP=17; VALVE=91. Что вышло?

 
 
 
 

3. Рассчитайте значения при параметрах TEMP=21 и VALVE=91 при использовании функций нечеткой логики Заде и Лукасевича. Дефаззификация центроидом. Какие получились результаты?

 
 
 
 

4. При задании одновременно двух условий вида fuzzy_rule(TEMP %is% NORMAL && VALVE %is% CLOSED ,VALVE %is% CLOSED) мы использовали команду && чтобы два условия выполнились одновременно (логическое И). Какую команду надо задать, чтобы выполнилось хотя бы одно условие (логическое ИЛИ)?

 
 
 
 

5. Опишите нормальное распределение из вопроса 1 с помощью команды fuzzy_partition. Как это будет выглядеть?

 
 
 
 

6. Какую команду согласно докуменации к пакету рекомендуется использовать в конце вычислений?