Лучшее определение нечеткой логики дано ее изобретателем Лотфи Заде :
«Нечеткая логика означает представление проблем компьютерам способом, схожим с тем, как их решает человек, и суть нечеткой логики заключается в том, что все зависит от степени».
Смысл решения проблем с компьютерами, схожий с тем, как люди решают проблемы, легко объяснить на простом примере из баскетбольного матча; если игрок хочет сначала охранять другого игрока, он должен учитывать, какой у него рост и каковы его игровые навыки. Просто, если игрок, которого он хочет охранять, высокий и играет очень медленно по отношению к нему, он будет использовать свой инстинкт, чтобы решить, стоит ли ему охранять этого игрока, так как для него существует неопределенность. В этом примере важным моментом является то, что свойства относятся к игроку, и у соперника есть степень для роста и навыка игры. Нечеткая логика обеспечивает детерминистический способ для этой неопределенной ситуации.
Есть несколько шагов для обработки нечеткой логики (рисунок-1). Эти шаги во-первых, фаззификация, когда четкие входы преобразуются в нечеткие входы, во-вторых, эти входы обрабатываются с нечеткими правилами для создания нечетких выходных данных и, наконец, дефаззификации, что приводит к степени результата, поскольку в нечеткой логике может быть несколько результатов с разными степенями.
Рисунок 1 - Нечеткие шаги процесса (Дэвид М. Бур, стр. 192)
Чтобы проиллюстрировать нечеткие этапы процесса, можно использовать предыдущую ситуацию в баскетбольной игре. Как упоминалось в примере, у соперника высокий рост 1,87 метра, что довольно высоко по сравнению с нашим игроком, и он может вести мяч со скоростью 3 м / с, что медленно по сравнению с нашим игроком. В дополнение к этим данным необходимо учитывать некоторые правила, которые называются нечеткими правилами, такими как;
if player is short but not fast then guard,
if player is fast but not short then don’t guard
If player is tall then don’t guard
If player is average tall and average fast guard
Рисунок 2 - какой рост
Рисунок 3 - как быстро
В соответствии с правилами и входными данными, выход будет создан нечеткой системой, такой как; степень защиты - 0,7, степень защиты - 0,4, а степень защиты - 0,2.
Рисунок 4-х выходных нечетких множеств
На последнем шаге defuzzication используется для создания четкого вывода, которое представляет собой число, которое может определять энергию, которую мы должны использовать для защиты игрока во время игры. Центр масс является распространенным методом создания выходных данных. На этом этапе веса для вычисления средней точки полностью зависят от реализации. В этом заявлении считается, что он дает большой вес охраннику или не охранник, но низкий вес, который иногда предоставляется охраннику. (David M. Bourg, 2004)
Рисунок 5 - нечеткий вывод (Дэвид М. Бур, стр. 204)
Output = [0.7 * (-10) + 0.4 * 1 + 0.2 * 10] / (0.7 + 0.4 + 0.2) ≈ -3.5
В результате нечеткая логика используется в условиях неопределенности, чтобы принять решение и выяснить степень решения. Проблема нечеткой логики заключается в том, что количество входов увеличивает экспоненциальное число правил.
Для получения дополнительной информации и ее возможного применения в игре я написал небольшую статью Проверьте это