Difference between revisions of "Fuzzy logic/cs"

From Simulace.info
Jump to: navigation, search
(Fuzzy logika z každodenného života)
m (Ahoj vs. Dobrý deň)
Line 26: Line 26:
 
Ľudia by sa podľa veku mohli deliť na viacero kategórií. Pre jednoduchosť si ich rozdelíme iba do dvoch kategórií - starí a mladí. Podľa etikety slušného správania starí ľudia mladím zväčša tikajú a mladí naopak starím vykajú. Existujú samozrejme aj výnimky, napríklad vnúčata dnes bežne svojím starím rodičom tikajú. Alebo si niekedy medzi sebou vykajú aj dvaja mladí ľudia keď napríklad vybavujú nejakú formálnu záležitosť. Ľudia dodržujúci zásady slušného správania by sa teda mali správať podľa nejakého vzoru etického správania, čo je príkladom fuzzy rozhodovania a priradenia '''(prekonvertovania)''' množín možných vstupov '''(stretnutí)''' s rozličnými vlastnosťtami '''(starý vs. mladý, stretnutie v krčme vs. stretnutie v banke, blízka vs. cudzia osoba, ...)''' na množinu možných výstupov '''(dobrý deň, ahoj, nazdar, ...)'''.  
 
Ľudia by sa podľa veku mohli deliť na viacero kategórií. Pre jednoduchosť si ich rozdelíme iba do dvoch kategórií - starí a mladí. Podľa etikety slušného správania starí ľudia mladím zväčša tikajú a mladí naopak starím vykajú. Existujú samozrejme aj výnimky, napríklad vnúčata dnes bežne svojím starím rodičom tikajú. Alebo si niekedy medzi sebou vykajú aj dvaja mladí ľudia keď napríklad vybavujú nejakú formálnu záležitosť. Ľudia dodržujúci zásady slušného správania by sa teda mali správať podľa nejakého vzoru etického správania, čo je príkladom fuzzy rozhodovania a priradenia '''(prekonvertovania)''' množín možných vstupov '''(stretnutí)''' s rozličnými vlastnosťtami '''(starý vs. mladý, stretnutie v krčme vs. stretnutie v banke, blízka vs. cudzia osoba, ...)''' na množinu možných výstupov '''(dobrý deň, ahoj, nazdar, ...)'''.  
  
Pre jednoduchosť si fuzzy logiku vysvetlíme iba na základe jednej najdôležitejšej vlastnosti - veku (tá sa samozrejme môže meniť na základe určenia priorít, to ale komplikuje vysvetlovanie a táto komplikácia je vysvetlená v [kapitole nižšie]). Neberieme teda do úvahy žiadne iné vlastnosti agentov, ktoré by mohli zmeniť ich správanie.
+
Pre jednoduchosť si fuzzy logiku vysvetlíme iba na základe jednej najdôležitejšej vlastnosti - veku (tá sa samozrejme môže meniť na základe určenia priorít, to ale komplikuje vysvetlovanie a táto komplikácia je vysvetlená v [http://www.simulace.info/index.php/Fuzzy_logic/cs#Fuzzy_rule-based_syst.C3.A9my kapitole nižšie]). Neberieme teda do úvahy žiadne iné vlastnosti agentov, ktoré by mohli zmeniť ich správanie.
  
 
[[File:fuzzyAgesAndGreetings.png|350px|center]]
 
[[File:fuzzyAgesAndGreetings.png|350px|center]]

Revision as of 20:02, 12 June 2019


Úvod

L.A. Zadeh

Fuzzy Logika vznikla v kontexte teórie Fuzzy množín, ktorú prvý krát predstavil L. A. Zadeh v roku 1965. Fuzzy množina priradí stupeň členstva (reálne číslo z intervalu [0,1]) elementom vesmíru, pričom fuzzy logika vzniká až priradením stupňov pravdy k týmto vesmírnym elementom. Vzťahuje sa na rodinu viachodnotových logík, takže je určená na modelovanie logických úvah s neurčitými alebo nepresnými údajmi. Stanovuje, že hodnota pravdy (v tomto prípade pravdivostný stupeň) logicky zloženého návrhu (napr. "Peter je bohatý a Ivan je vysoký.") je určená pravdivosťou jeho komponentov, inak povedané, nepočíta iba s 2 možnými hodnotami pravdy. [1].

Pri použití Fuzzy logiky na štandardnej škále oboru hodnôt [0,1] potom :

  • "úplná nepravda" je reprezentovaná hraničnou hodnotou 0
  • "úplná pravda" je reprezentovaná hraničnou hodnotou 1
  • "čiastočná pravda" je reprezentovaná všetkými ostatnými hodnotami (nazývané aj stredné stupne pravdy)

Viac o agentoch sa môžete dočítať v kapitole na to určenej. Pre nás bude užitočná najmä podkapitola o Deliberatívnych agentoch, v ktorej sa píše aj o teórií BDI, ktorá tvorí sofistikovaný prístup k architektúre agenta a skladá sa z troch základných pojmov :

  • Beliefs(domnienky)
  • Desires(túžby)
  • Intentions(zámery)

Na základe týchto 3 faktorov, a teda domnienok, túžob a prianí agent uvažuje o svete a teda o svojom rozhodovaní, ktorému je tento učební text venovaný.

Fuzzy logika z každodenného života

Pre lepšie pochopenie fuzzy logiky si uvedieme 3 príklady z bežného života, pri ktorých fuzzy logiku využívame automaticky bez toho, aby sme si vôbec uvedomovali, že sa nejaké také rozhodovanie v mozgu deje.

Ahoj vs. Dobrý deň

Ľudia by sa podľa veku mohli deliť na viacero kategórií. Pre jednoduchosť si ich rozdelíme iba do dvoch kategórií - starí a mladí. Podľa etikety slušného správania starí ľudia mladím zväčša tikajú a mladí naopak starím vykajú. Existujú samozrejme aj výnimky, napríklad vnúčata dnes bežne svojím starím rodičom tikajú. Alebo si niekedy medzi sebou vykajú aj dvaja mladí ľudia keď napríklad vybavujú nejakú formálnu záležitosť. Ľudia dodržujúci zásady slušného správania by sa teda mali správať podľa nejakého vzoru etického správania, čo je príkladom fuzzy rozhodovania a priradenia (prekonvertovania) množín možných vstupov (stretnutí) s rozličnými vlastnosťtami (starý vs. mladý, stretnutie v krčme vs. stretnutie v banke, blízka vs. cudzia osoba, ...) na množinu možných výstupov (dobrý deň, ahoj, nazdar, ...).

Pre jednoduchosť si fuzzy logiku vysvetlíme iba na základe jednej najdôležitejšej vlastnosti - veku (tá sa samozrejme môže meniť na základe určenia priorít, to ale komplikuje vysvetlovanie a táto komplikácia je vysvetlená v kapitole nižšie). Neberieme teda do úvahy žiadne iné vlastnosti agentov, ktoré by mohli zmeniť ich správanie.

FuzzyAgesAndGreetings.png

Fuzzy logika v agentovo-orientovaných počítačových hrách [2]

Umelá inteligencia v počítačových hrách sa vďaka rastúcim požiadavkám hráčov musí neustále zlepšovať. Inteligentní agenti môžu spolu s fuzzy logikou vylepšiť najdôležitejší prvok hier - interakciu. Agenti ponúkajú lepšie možnosti flexibilnej interakcie v rámci architektúry herného dizajnu, pričom fuzzy logika umožňuje lepšie kontrolovať správanie pre vytvorenie najrôznejších foriem umelých inteligencií.

Porovnanie s inými technikami

Vo svete hier neznamená fuzzy kontrola iba ďalšiu metódu pre správanie agentov. Kontrolovanie agentov pomocou fuzzy logiky je zárukou generovania "správneho" správania. Toto prirodzené správanie agentov potom pomáha zvyšovať vnímanú zložitosť a dôveryhodnosť virtuálneho prostredia. V porovnaní s niektorými inými technikami návrhu inteligentných systémov sú systémy založené na fuzzy pravidlách jednoduché na návrh aj implementáciu. Klasické rule-based systémy pritom často nedokážu dosiahnuť prirodzenosť, akú ponúkajú fuzzy systémy, pričom tie spotrebujú omnoho nižšie výpočtové náklady.

Fuzzy rule-based systémy

Systémy založené na fuzzy pravidlách sa vo všeobecnosti skladajú z 4 komponentov:

  • fuzzifier konvertuje sparsované vstupy z klienta do fuzzy množín
  • základňa pravidiel (rule-base) uchováva všetky vzťahy medzi vstupmi a očakávanými výstupmi v kolekcií IF-THEN pravidiel
  • uvažujúca jednotka použije vstupy a aplikuje na nich konkrétne pravidlá
  • defuzzifier prekonvertuje výsledok rozhodovania a sparsované výstupy pošle späť na klienta

V prípade viacerých vstupov sú fuzzy pravidlá väčšinou prepojené logickým spojením (konektorom) AND, pričom rule-base musí pokrývať každú možnú kombináciu všetkých výrazov z definičného oboru vstupnej premennej. Táto požiadavka úplnosti ale vedie k tzv. rule explosion problém-u, kde pre systém s n vstupmi, ktorý má každý m možných stavov potrebujeme celkovo m^n pravidiel! Toto pravidlo výbuchu predstavuje vážny problém a komplikuje implementovanie fuzzy kontrolovania vďaka vysokým nárokom na CPU zdroje. Combs navrhol URC (Union Rule Configuration) na zmiernenie tohto problému, kedy sa zložitosť výpočtu zníži na m*n pravidiel.

Fuzzy logika v herných agentoch

Zhrnutie

Zdroje

  1. Cintula, Petr, Fermüller, Christian G. and Noguera, Carles, "Fuzzy Logic", The Stanford Encyclopedia of Philosophy (Fall 2017 Edition), Edward N. Zalta (ed.), Dostupné z : https://plato.stanford.edu/archives/fall2017/entries/logic-fuzzy/
  2. Li, Yifan & Musilek, Petr & Wyard-Scott, L. (2004).Fuzzy logic in agent-based game design. 734 - 739 Vol.2. 10.1109/NAFIPS.2004.1337393. Dostupné z : https://www.researchgate.net/publication/4092875_Fuzzy_logic_in_agent-based_game_design