Редактор системы нечеткого вывода. Построение нечетких систем в Scilab.



Система нечеткого вывода по Мамдани

 

В SciFLT (FLT - fuzzy logic toolbox) реализованы все основные функции, необходимые для создания и модифицирования систем нечеткого вывода (СНВ). Для построения системы нечеткого вывода в командной строке основного окна SciLAB необходимо набрать команду editfls. Эта команда вызывает графический редактор систем нечеткого вывода.

В меню необходимо выбрать File->New FLS->тип создаваемой системы (Мамдани или Сугено).

Создадим систему нечеткого вывода по Мамдани. В левой панели появится Tree-control – дерево создаваемой нечеткой системы. Сначала выбираем в нем пункт Description и заполняем появившуюся справа форму. В ней необходимо указать имя редактируемой системы, комментарии (не обязательно), виды T-нормы и S-конормы, тип операторов дополнения, импликации, агрегации и метод дефаззификации.

Для системы по Мамдани обычно выбирают типы операторов, указанные на рис.9. Далее определяем состав входных и выходных переменных. Для этого необходимо выбрать в дереве (в левом окне fls  Edit or см. рис.9)пункты Inputs и Outputs соответственно. В окне справа появится число переменных, их список, а также кнопки Add, Delete и Exit. Добавляем новые переменные кнопкой Add.

Сохранение проектируемой системы в рабочее пространство среды SciLAB производится с помощью пункта меню File –> Export–> To workspace. В этом случае данные сохраняются до окончания сеанса работы с SciLAB. Для сохранения данных на диск после окончания сеанса работы применяется соответствующий пункт того же меню – To FLS file… .

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

1) в нем необходимо задать имя;

2) диапазон допустимых значений;

3) с помощью кнопки Add внизу окна добавить функции принадлежности. Их можно также удалять, пометив щелчком мыши и нажав кнопку Delete (checked).

Рис. 9. Описание системы

 

Рис. 10. Редактор переменных (входная переменная из примера 1 Discount)

 

Редактор функций принадлежности (ФП) является инструментом, который позволяет отображать и редактировать любые ФП, ассоциированные (связанные) со всеми входными и выходными переменными разрабатываемой СНВ. Редактируют ФП текущей переменной, изменяя характеристики ФП (наименование, тип и числовые параметры). Таким образом, при построении СНВ необходимо посредством редактора ФП определить соответствующие функции для каждой из входных и выходных переменных.

Редактор правил вывода. После того, как указано количество входных и выходных переменных, определены их наименования и построены соответствующие ФП, в СНВ необходимо включить правила вывода. Для этого в дереве контроля выбирается пункт Rules. (в левом окне fls  Edit or см. рис.9).

Основываясь на описаниях входных и выходных переменных, определенных в редакторе ФП, редактор правил вывода формирует структуру правила автоматически. От пользователя требуется лишь связать значения входных и выходных переменных, выбирая из списка заданных ранее ФП, и определить логические связки между ними. Также допускается использование логического отрицания (НЕ) и изменение весов правил в диапазоне от 0 до 1.

Правила вывода отображаются в окне в следующей форме:

где i - номер входной переменной, ji - номер ФП i-ой переменной, k – номер выходной переменной, n – количество входных переменных, m – количество выходных переменных, w – вес правила. Круглые скобки заключают в себе обязательные параметры, квадратные – необязательные, а угловые – альтернативные параметры (один на выбор).

Пример 1. Создание системы нечеткого вывода (СНВ) по Мамдани.

В качестве примера, иллюстрирующего метод построения СНВ, рассмотрим следующую ситуацию. Необходимо оценить степень инвестиционной привлекательности конкретного бизнес-проекта на основании данных о ставке дисконтирования и периоде окупаемости.

Шаг первый. Вызываем редактор для создания СНВ, набирая в командной строке editfls. В появившемся окне редактора создаем новую систему по Мамдани. Заполняем описание как показано на рис. 9. Добавляем 2 входные переменные и 1 выходную переменную.

В результате получаем следующую структуру СНВ: два входа, механизм нечеткого вывода по Мамдани, один выход. Объявляем первую переменную как discont, а вторую – period, которые, соответственно, будут представлять ставку дисконтирования и период окупаемости бизнес-проекта. Наименование выходной переменной, на основании которой принимается решение о степени инвестиционной привлекательности бизнес-проекта, задается как rate. Сохраним создаваемую модель под именем Invest. На рис. 9 представлено текущее состояние окна редактора СНВ.

Шаг второй. Каждой входной и выходной переменной поставим в соответствие набор ФП. Для discont определяем диапазон базовой переменной от 5 до 50 (единица измерения – проценты). Такой же диапазон выбираем для ее отображения. Добавим три ФП, тип которых – trimf, и присвоим им наименования – small, middle, big, соответственно, небольшой, средней и большой ставке дисконтирования (см. рис. 10). Переменной period диапазон базовой переменной определен равным [3,36] (единица измерения – месяцы), поставлены в соответствие три ФП типа gaussmf с наименованиями - short, normal, long. Таким образом, переменная срока окупаемости бизнес-проекта будет принимать следующие значения: короткий, обычный и длительный срок окупаемости (рис.11). Для переменной rate определяем: базовая переменная изменяет значение в диапазоне [0, 1], семантика описывается тремя ФП типа trimf c наименованиями: bad, normal, good (рис. 12). В графическом виде переменные представлены на рис. 13,14 (меню View -> Plot variables).

Шаг третий. Заключительным этапом построения СНВ является определение набора правил, которые задают связь входных переменных с выходными.

Рис.11. Входная переменная Period

Рис.12. Выходная переменная Rate

Рис. 13. Графическое представление входных переменных

Рис. 14. Графическое представление выходной переменной

 

Для этого в редакторе правил вывода определим:

ЕСЛИ discont = small И period = short ТО rate = good

ЕСЛИ discont = НЕ small И period = long ТО rate = bad

ЕСЛИ discont = middle И period = normal ТО rate = normal

ЕСЛИ discont = big И period = short ТО rate = normal

Текущее состояние окна редактора правил вывода показано на рис. 15.

Рис.15. Редактор правил вывода

Средство просмотра поверхности вывода. Для этого существует функция plotsurf. Она вызывается из командной строки окна SciLAB и имеет следующие параметры вызова:

plotsurf( fls [, ivar , ovar , vivar [,npart[,mod]]]) .

Параметры функции: fls – имя fls-структуры;

ivar – вектор входных переменных (задаются порядковые номера входных переменных, которые необходимо построить);

ovar – скаляр, номер выходной переменной;

vivar – вектор значений входных переменных;

npart – вектор, number of partitions domain for each input variable;

mod – скаляр, вид отображения поверхности на экране. 1 – grayscale, 2 – jetcolormap, 3 – hotcolormap, 4 – internalcolormap.

Необходимо сохранить полученную систему в рабочее пространство среды SciLAB с помощью пункта меню File –> Export–> To workspace.

Внимание! В этом случае данные сохраняются до окончания сеанса работы с SciLAB. Для сохранения данных на диск после окончания сеанса работы применяется соответствующий пункт того же меню – To FLS file…

Пример 2.

fls=loadfls(flt_path()+"demos/MyEX.fls");

xbasc();

plotsurf(fls,[1 2],1,[0 0]);

Поверхность вывода, соответствующая правилам вывода примера 1 показана на рис.16.

Рис. 16. Поверхность нечеткого вывода

 

Пример 3. Разработать простую нечёткую экспертную систему по оцениванию привлекательности путёвки. Использовать пять входных лингвистических переменных – Accommodation (проживание), food (питание), excursions (наличие экскурсий), health services (оздоровительные услуги), price(цена) и одну выходную – tip (привлекательность).

Для решения подобных задач с нечёткой логикой в SciLAB используется компонент под названием Fuzzy Logic Toolbox. Чтобы начать работу с ней нам нужно установить его, для этого запустим программу и во вкладке Инструменты нажмём Управление модулями Atoms (рис.17).

Далее в открывшемся окне следует перейти в папку все модули и выбрать Fuzzy Logic Toolbox и нажать установить. Когда компонент установиться следует перезапустить программу. После запуска программы в командном окне появиться запись об успешной загрузке компонента (рис.18).

Для дальнейшей работы с нечёткой логикой нам необходимо набрать в командном окне команду editfls, после этого откроется окно для работы с нечёткой логикой (рис.19).

Рис. 17. Вкладка запуска управления модулями Atoms

Рис. 18. Вывод в командном окне об успешной загрузке компонента Fuzzy Logic Toolbox

Рис. 19. Параметры по алгоритму Mamdani

 

Создадим систему с нечёткой логикой по алгоритму Mamdani. Для этого во вкладе File выберем Newfls – Mamdani. Справа в окне Description зададим параметры:

Name: permit

S-Norm Class: Maximum

T-Norm Class: Minimum

Complemet: One

Implication method: Minimum

Aggregation method: Maximum

Дальше создадим пять входных переменных Accommodation, food, excursions, health services, и price. Для того чтобы создать переменные в левой колонке выберите вкладку Inputs и в правом окне нажмите кнопку Add (рис.20).

Рис. 20. Настройки параметров входной переменной Accomodation

 

После создания переменной двойным нажатием левой кнопкой мыши выберите нашу переменную и нажмите Edit. В поле редактирования доступны такие параметры как: name (имя переменной) и range (интервал значений). Ниже располагается поле редактирования членов функций, которые можно добавить, нажав кнопку Add. Каждому члену функции можно задать name (имя), type (тип), par (параметры).

Параметры для первой входной переменной Accomodation (см. рис.20):

Information:

Name = Accomodation

Range = 0 100

Nro. Member functions = 3

Member functions:

Name = 3 stars Type = gauss2mf      Par = 13.59 -4 13.59 4

Name = 4 stars   Type = gauss2mf  Par = 13.59 46 13.59 54

Name = 5 stars    Type = gauss2mf  Par = 13.59 96 13.59 104

Параметры для второй входной переменной food (рис.21):

Information:

Name = food

Range = 0 100

Nro. Member functions = 3

Member functions:

Name = BB  Type = gauss2mf  Par = 13.59 -4 13.59 4

Name = HB  Type = gauss2mf  Par = 13.59 46 13.59 54

Name = FB  Type = gauss2mf  Par = 13.59 96 13.59 104

Параметры для третьей входной переменной Excursions (рис.22):

Information:

Name = Excursions

Range = 0 100

Nro. Member functions = 2

Member functions:

Name = Haven’t Type = gauss2mf Par = 13.59 -4 13.59 4

Name = Have    Type = gauss2mf  Par = 13.59 96 13.59 104

Рис. 21. Настройки параметров входной переменной food

Рис. 22. Настройки параметров входной переменной Excursions

 

Параметры для четвёртой входной переменной health services (рис.23):

Information:

Name = health services

Range = 0 100

Nro. Member functions = 2

Member functions:

Name = Haven’t Type = gauss2mf  Par = 13.59 -4 13.59 4

Name = Have    Type = gauss2mf   Par = 13.59 96 13.59 104

Рис.23. Настройки параметров входной переменной health services

 

Параметры для пятой входной переменной price (рис.24):

Information:

Name = price

Range = 0 100

Nro. Member functions = 3

Member functions:

Name = 30000                Type = gauss2mf    Par = 13.59 -4 13.59 4

Name = 30000 to 50000  Type = gauss2mf    Par = 13.59 46 13.59 54

Name = 50000 to 70000 Type = gauss2mf    Par = 13.59 96 13.59 104

Рис.24. Настройки параметров входной переменной price

Для добавления выходной переменной существует вкладка Outputs и процесс создания ничем не отличается от входных переменных. Добавим переменную tip и установим значения параметров (рис.25):

Information:

Name = tip

Range = 0 100

Nro. Member functions = 3

Member functions:

Name = Poor     Type = gauss2mf   Par = 13.59 -4 13.59 4

Name = Good   Type = gauss2mf   Par = 13.59 46 13.59 54

Name = Excellent Type = gauss2mf   Par = 13.59 96 13.59 104

Рис.25. Настройки параметров выходной переменной tip

 

Завершающим этапом создания простой нечёткой экспертной системы является создание правил во вкладе Rules (рис.26).

Рис.26. Правила для определения привлекательности путёвки

 

Правила в подробном формате

R1: IF {Accommodation IS 3 stars} AND {Food IS BB} AND {Excursions IS Haven't} AND {health services IS Haven't} AND {price IS 30000} THEN {tip IS Poor} weigth=1.0

R2: IF {Accommodation IS 3 stars} AND {Food IS BB} AND {Excursions IS Have} AND {health services IS Haven't} AND {price IS 30000} THEN {tip IS Good} weigth=1.0

R3: IF {Accommodation IS 3 stars} AND {Food IS BB} AND {Excursions IS Haven't} AND {health services IS Have} AND {price IS 30000} THEN {tip IS Good} weigth=1.0

R4: IF {Accommodation IS 4 stars} AND {Food IS BB} AND {Excursions IS Have} AND {health services IS Haven't} AND {price IS 30000 to 50000} THEN {tip IS Poor} weigth=1.0

R5: IF {Accommodation IS 3 stars} AND {price IS 30000 to 50000} THEN {tip IS Poor} weigth=1.0

R6: IF {Accommodation IS 3 stars} AND {price IS 50000 to 70000} THEN {tip IS Poor} weigth=1.0

R7: IF {Accommodation IS 4 stars} AND {Food IS BB} AND {Excursions IS Have} AND {health services IS Have} AND {price IS 30000 to 50000} THEN {tip IS Good} weigth=1.0

R8: IF {Accommodation IS 4 stars} AND {Food IS HB} AND {Excursions IS Haven't} AND {health services IS Haven't} AND {price IS 30000 to 50000} THEN {tip IS Good} weigth=1.0

R9: IF {Accommodation IS 3 stars} AND {Food IS BB} AND {Excursions IS Have} AND {health services IS Have} AND {price IS 30000} THEN {tip IS Excellent} weigth=1.0

R10: IF {Accommodation IS 4 stars} AND {Food IS BB} AND {Excursions IS Haven't} AND {health services IS Have} AND {price IS 30000 to 50000} THEN {tip IS Poor} weigth=1.0

R11: IF {Accommodation IS 4 stars} AND {Food IS HB} AND {Excursions IS Haven't} AND {health services IS Have} AND {price IS 30000 to 50000} THEN {tip IS Good} weigth=1.0

R12: IF {Accommodation IS 4 stars} AND {Food IS HB} AND {Excursions IS Have} AND {health services IS Haven't} AND {price IS 30000 to 50000} THEN {tip IS Good} weigth=1.0

R13: IF {Accommodation IS 4 stars} AND {Food IS BB} AND {Excursions IS Have} AND {health services IS Have} AND {price IS 50000 to 70000} THEN {tip IS Poor} weigth=1.0

R14: IF {Accommodation IS 4 stars} AND {Food IS HB} AND {Excursions IS Have} AND {health services IS Have} AND {price IS 50000 to 70000} THEN {tip IS Poor} weigth=1.0

R15: IF {Accommodation IS 4 stars} AND {Food IS FB} AND {Excursions IS Have} AND {health services IS Have} AND {price IS 50000 to 70000} THEN {tip IS Poor} weigth=1.0

R16: IF {Accommodation IS 4 stars} AND {Food IS FB} AND {Excursions IS Have} AND {health services IS Have} AND {price IS 30000 to 50000} THEN {tip IS Excellent} weigth=1.0

R17: IF {Accommodation IS 4 stars} AND {Food IS HB} AND {Excursions IS Have} AND {health services IS Have} AND {price IS 30000 to 50000} THEN {tip IS Excellent} weigth=1.0

R18: IF {Accommodation IS 5 stars} AND {Food IS FB} AND {Excursions IS Have} AND {health services IS Have} AND {price IS 50000 to 70000} THEN {tip IS Excellent} weigth=1.0

R19: IF {Accommodation IS 5 stars} AND {Food IS FB} AND {Excursions IS Have} AND {health services IS Haven't} AND {price IS 50000 to 70000} THEN {tip IS Good} weigth=1.0

R20: IF {Accommodation IS 5 stars} AND {Food IS FB} AND {Excursions IS Haven't} AND {health services IS Have} AND {price IS 50000 to 70000} THEN {tip IS Good} weigth=1.0

R21: IF {Accommodation IS 5 stars} AND {Food IS FB} AND {Excursions IS Haven't} AND {health services IS Haven't} AND {price IS 50000 to 70000} THEN {tip IS Poor} weigth=1.0

R22: IF {Accommodation IS 5 stars} AND {Food IS HB} AND {Excursions IS Haven't} AND {health services IS Haven't} AND {price IS 50000 to 70000} THEN {tip IS Poor} weigth=1.0

R23: IF {Accommodation IS 5 stars} AND {Food IS BB} AND {Excursions IS Haven't} AND {health services IS Haven't} AND {price IS 50000 to 70000} THEN {tip IS Poor} weigth=1.0

R24: IF {Accommodation IS 5 stars} AND {Food IS HB} AND {Excursions IS Have} AND {health services IS Have} AND {price IS 50000 to 70000} THEN {tip IS Poor} weigth=1.0

R25: IF {Accommodation IS 5 stars} AND {Food IS BB} AND {Excursions IS Have} AND {health services IS Have} AND {price IS 50000 to 70000} THEN {tip IS Poor} weigth=1.0

Правила в индексном формате

 1 1 1 1 1 1 1 1.0

 1 1 2 1 1 2 1 1.0

 1 1 1 2 1 2 1 1.0

 2 1 2 1 2 1 1 1.0

 1 -0 -0 -0 2 1 1 1.0

 1 0 0 0 3 1 1 1.0

 2 1 2 2 2 2 1 1.0

 2 2 1 1 2 2 1 1.0

 1 1 2 2 1 3 1 1.0

 2 1 1 2 2 1 1 1.0

 2 2 1 2 2 2 1 1.0

 2 2 2 1 2 2 1 1.0

 2 1 2 2 3 1 1 1.0

 2 2 2 2 3 1 1 1.0

 2 3 2 2 3 1 1 1.0

 2 3 2 2 2 3 1 1.0

 2 2 2 2 2 3 1 1.0

 3 3 2 2 3 3 1 1.0

 3 3 2 1 3 2 1 1.0

 3 3 1 2 3 2 1 1.0

 3 3 1 1 3 1 1 1.0

 3 2 1 1 3 1 1 1.0

 3 1 1 1 3 1 1 1.0

 3 2 2 2 3 1 1 1.0

 3 1 2 2 3 1 1 1.0

 

На этом этапе создание простой нечёткой экспертной системы закончено. Далее нам нужно экспортировать её в SciLab. Для этого во вкладке File выбрать Export и нажать toworkspace, где нам понадобиться задать имя переменной, по которой SciLab будет её определять, например, 1fls.

С помощью команды plotsurf (“имя переменной”) есть возможность построить конечный график, по которому можно будет сделать выводы. После ввода в окне консоли plotsurf (1fls) откроется новое окно для настройки отображения графика (рис.27).

Рис.27. Окно с настройками для отображения графика

 

После того как нажмём кнопку Plot будет получен следующий график (рис.28). По осям x и y графика располагаются входные переменные food и Accommodation, по оси z – выходная переменная tip. По данному графику можно сделать следующие выводы:

Если будет питание BB (завтрак) и трёхзвёздочный отель, то путёвка плохая.

Если будет питание HB (завтрак и ужин) и четырёхзвёздочный отель, то путёвка хорошая.

Если будет питание FB (завтрак, обед и ужин) и пятизвёздочный отель, то путёвка отличная.

В результате работы была построена простая нечёткая экспертная система и решена задача с определением степени качества путёвки в программе SciLab с помощью Fuzzy Logic Toolbox.

Рис.28. График вывода системы по алгоритму Mamdani

 

Пример 4. Определить степень загрязнения среды в городе с помощью компонента Fuzzy Logic Toolbox для программы SciLab. Выбор осуществляется по параметрам плотность транспорта и наличие заводов и тепловых станций. Необходимо решить задачу и построить график функции, на котором можно будет увидеть результат данного исследования и сделать выводы о наиболее выгодном методе производства. Для решения задачи построить систему нечеткого вывода по Мамдани.

Для начала работы с нечёткой логикой, необходимо загрузить данный пакет. Сделать это можно, запустив программу и перейдя по вкладке Applications – Module Managers - ATOMS, либо нажав на кнопку с изображением коробки (рис.29).

Рис.29. Вкладка запуска установки модулей ATOMS

 

Далее в открывшемся окне следует перейти в папку Modeling, выбрать Fuzzy Logic Toolbox (рис. 30), нажать кнопку Install и дождаться установки расширения, после чего перезапустить программу. После повторного запуска программы в окне консоли должна появиться надпись об успешной загрузке модуля (рис. 31). Для открытия инструментов для работы с нечёткой логикой необходимо в консоли набрать команду editfls, после чего откроется новое окно (рис. 32).

Рис.30. Modeling и Fuzzy Logic Toolbox

Рис. 31. Вывод в консоли об успешной загрузке модуля Fuzzy Logic Toolbox

Рис. 32. Окно для работы с задачами с нечёткой логикой

 

Для начала создадим систему с нечёткой логикой по алгоритму Mamdani. Для этого перейдем File – Newfls – Mamdani. Во вкладке Description зададим основные параметры, как показано на рисунке (рис. 33).

Далее создадим входные переменные. Для того, чтобы создать новую переменную нужно нажать кнопку Add во вкладке Inputs. Для редактирования только что созданной переменной необходимо нажать кнопку Edit. В поле редактирования доступны такие параметры как: name (имя переменной) и range (интервал значений). Ниже располагается поле редактирования членов функций, которые можно добавить, нажав кнопку Add. Каждому члену функции можно задать name (имя), type (тип), par (параметры). Назовем новую переменную transport density (плотность транспорта), установим интервал от 0 до 100 и добавим два члена – low (низкая) и high (высокая) с типом trapmf, что означает трапециевидную функцию принадлежности (рис. 34).

Переменная medium (средняя) имеет ещё один тип под названием trimf, который определяет треугольную функцию принадлежности.

Рис. 33. Параметры системы по алгоритму Mamdani

Рис. 34. Настройки параметров входной переменной transport density

 

Подобным образом, создадим переменную factories and thermal stations (заводы и тепловые станции) и настроим параметры как показано на рис. 35.

Для добавления выходной переменной существует вкладка Outputs и процесс создания ничем не отличается от входных переменных. Добавим переменную pollution degree (степень загрязнения) и установим значения параметров как показано на рис.36.

Рис.35. Настройки параметров входной переменной factories and thermal stations

Рис.36. Настройка параметров выходной переменной pollution degree

 

Завершающим этапом создания системы с нечёткой логикой является составление правил во вкладке Rules. Создаём 9 правил (рис. 37):

1. Если плотность автомобилей низкая, а заводов в городе нет, степень загрязнения будет слабая.

2. Если плотность автомобилей будет низкая, а заводов в городе нет, то степень загрязнения слабая.

3. Если плотность автомобилей будет большая, а заводов в городе нет, то степень загрязнения будет средняя.

4. Если плотность автомобилей низкая, а заводов в городе один или два, степень загрязнения будет средняя.

5. Если плотность автомобилей средняя, а заводов в городе один или два, степень загрязнения будет средняя.

6. Если плотность автомобилей высокая, а заводов в городе один или два, степень загрязнения будет большая.

7. Если плотность автомобилей низкая, а заводов в городе больше двух, степень загрязнения будет средняя.

8. Если плотность автомобилей средняя, а заводов в городе больше двух, степень загрязнения будет большая.

9. Если плотность автомобилей высокая, а заводов в городе больше двух, степень загрязнения будет большая.

Рис.37. Правила для определения степени загрязнения среды

 

Первое правило “IF {transport density IS low} and {factories and thermal stations IS not} THEN {pollution degree IS small}” означает, что при низком (low) значении плотности транспорта и отсутствии заводов и тепловых станций (not), загрязнённость среды будет низкая (small).

На этом создание системы с нечёткой логикой по алгоритму Mamdani закончено. Всё что осталось сделать – это экспортировать систему в рабочее пространство SciLab. Для этого необходимо перейти по вкладке File – Export– toworkspace, после чего ввести имя переменной, по которой SciLab будет определять нашу систему, например, pollutiondegreefls.

С помощью команды plotsurf(“имя переменной”) есть возможность построить конечный график, по которому можно будет сделать выводы.

После ввода в окне консоли plotsurf(pollutiondegreefls) откроется новое окно для настройки отображения графика (рис. 38). После нажатия кнопки Plot будет получен следующий результат (рис. 39).

По осям x и y графика располагаются входные переменные transport density и factories and thermal, по оси z – выходная переменная pollution degree.

По данному графику можно сделать выводы:

При значении 0 параметра transport density и значении 10 параметра factories and thermal stations, параметр pollution degree обретает значение 15.

При значении 100 параметра transport density и значении 0 параметра factories and thermal stations, параметр pollution degree не обретает значения выше 10.

Большая часть плоскости находится выше значения 10 параметра pollution degree.

Рис.38. Окно с настройками для отображения графика

Рис.39. Поверхность системы по алгоритму Mamdani


Дата добавления: 2019-09-13; просмотров: 1871; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!