Apytikslė logika - būdas pasiekti valdymą remiantis netiksliomis įvestimis

Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas





Šioje skaitmeninio valdymo eroje beveik visi prietaisai valdomi naudojant skaitmeninis valdymas lygiu, naudojant 1 ir 0. Bet pagalvokite, ar ne visai nepraktiška manyti, kad kiekvienas susiduriančių kasdienių procesų rezultatas priklauso tik nuo dviejų įvesties būsenų. Ne, tikrai. Tik įsivaizduokite, kaip jūsų mama gamina skanų maistą, ir jūs negalite savęs girti. Taigi, kaip maistas tampa toks skanus? Be abejo, pridedant tinkamo kiekio ir proporcijų ingredientų. Taigi kaip jai tai pavyksta? Puikiai skaitines žinias apie dydžius? Ne visada. Ji tai daro su žinoma idėja, kuri ateina su patirtimi. Čia kyla valdymo logikos, kuri naudoja įvesties būsenos laipsnius, o ne pačius įvestis, idėja, logika, kuriai nereikia tobulų įėjimų, o veikianti tik tipiškai įvertinant įvestis. Tai neaiški logika.

Kas yra „Fuzzy Logic“?

Apytikslė logika yra pagrindinė valdymo sistema, kuri remiasi įvesties būsenos laipsniais, o išvestis priklauso nuo įėjimo būsenos ir šios būsenos pokyčio greičio. Kitaip tariant, neryški loginė sistema veikia pagal tam tikro išėjimo priskyrimo principą, priklausomai nuo įvesties būsenos tikimybės.




Kaip atsirado „Fuzzy Logic“?

„Fuzzy Logic“ 1965 m. Lotfi Zadehas iš Kalifornijos universiteto (Berkley) sukūrė kaip būdą atlikti kompiuterinius procesus, pagrįstus gamtos, o ne dvejetainėmis vertėmis. Iš pradžių jis buvo naudojamas kaip būdas apdoroti duomenis, o vėliau pradėtas naudoti kaip kontrolės strategija.

Kaip veikia „Fuzzy Logic“?

Apytikslė logika veikia pagal išvesties sprendimo, remiantis prielaidomis, sampratą. Jis veikia pagal rinkinius. Kiekvienas rinkinys reiškia keletą kalbinių kintamųjų, apibrėžiančių galimą išvesties būseną. Kiekviena įmanoma įėjimo būsena ir būsenos kitimo laipsniai yra aibės dalis, priklausomai nuo to, kuri išeitis numatoma. Jis veikia „If-else-the“ principu, t. Y. Jei A ir B, tada Z.



Tarkime, kad mes norime valdyti sistemą, kurioje išvestis gali būti bet kurioje aibės X vietoje, o bendroji vertė x yra tokia, kad x priklauso X. Apsvarstykite tam tikrą rinkinį A, kuris yra X pogrupis, kad visi A nariai priklausytų intervalas 0 ir 1. Aibė A yra žinoma kaip neryškus rinkinys ir f reikšmėĮ(x) x žymi x narystės tame rinkinyje laipsnį. Rezultatas sprendžiamas pagal narystės x laipsnį rinkinyje. Šis narystės priskyrimas priklauso nuo išvesties prielaidos, priklausančios nuo įvesties ir įvesties pokyčio greičio.

Šie neryškūs rinkiniai pateikiami grafiškai, naudojant narystės funkcijas, o išvestis nustatoma atsižvelgiant į kiekvienos funkcijos dalies narystės laipsnį. Dėl rinkinių narystės sprendžiama pagal IF-Else logiką.


Paprastai rinkinio kintamieji yra įvesties būsena, o įvesties pokyčių laipsniai ir išvesties priklausomybė priklauso nuo įvesties būsenos IR veikimo logikos ir įvesties pokyčio greičio. Kelių įvesties sistemos kintamieji taip pat gali būti skirtingi įėjimai, o išvestis gali būti galimas kintamųjų IR operacijos rezultatas.

Apytikslė valdymo sistema

Apytikslę valdymo sistemą sudaro šie komponentai:

Apytikslė loginio valdymo sistema

Apytikslė loginio valdymo sistema

„Fuzzifier“ kuris išmatuotus arba įvestinius kintamuosius skaitmeninėmis formomis paverčia kalbiniais kintamaisiais.

Kontrolierius atlieka neryškią loginę išvesties priskyrimo operaciją pagal kalbinę informaciją. Jis atlieka apytikslį samprotavimą, pagrįstą žmogaus interpretavimo būdu, kad būtų pasiekta kontrolės logika. Valdiklį sudaro žinių bazė ir išvadų variklis. Žinių bazę sudaro narystės funkcijos ir neapibrėžtos taisyklės, kurios gaunamos žinant sistemos veikimą pagal aplinką.

Defuzifikatorius konvertuoja šią neaiškią išvestį į reikiamą išvestį, kad valdytų sistemą.

Paprasta valdymo sistema, naudojant „Fuzzy Logic“ ventiliatoriaus greičiui valdyti, atsižvelgiant į įėjimo temperatūrą.

Tarkime, kad norite reguliuoti ventiliatoriaus greitį, atsižvelgiant į kambario temperatūrą. Paprastam pasauliečiui, jei patalpos temperatūra yra tokia, kad jis / ji jaučiasi per karšta, ventiliatoriaus greitis padidinamas iki visos vertės. Jei jis / ji jaučiasi šiek tiek karšta, ventiliatoriaus greitis padidėja vidutiniškai. Jei jis / ji jaučiasi per šalta, ventiliatoriaus greitis smarkiai sumažėja.

Taigi, kaip priversti kompiuterį tai padaryti?

Taip galime tai pasiekti:

Ventiliatoriaus greičio valdymas pagal įvestą temperatūrą

Ventiliatoriaus greičio valdymas pagal įvestą temperatūrą

  • Temperatūros jutiklis matuoja patalpų temperatūros vertes. Gautos vertės paimamos ir tada pateikiamos fuzzifier.
  • Fuzzifier priskiria kalbinius kintamuosius kiekvienai išmatuotai vertei ir išmatuotos vertės pokyčio greitį.

Pavyzdžiui, jei išmatuota vertė yra 40 isC ir aukštesnė, tada kambaryje yra per karšta

Jei išmatuota vertė yra nuo 30 ° C iki 40 ° C, kambaryje yra gana karšta

Jei išmatuota vertė yra nuo 22 iki 28⁰C, kambarys yra vidutinio sunkumo

Jei išmatuota vertė yra nuo 10 iki 20⁰C, kambarys yra šaltas

Jei išmatuota vertė yra mažesnė nei 10, kambaryje yra per šalta.

  • Kitas žingsnis apima žinių bazės, kurioje yra informacija apie šias narių funkcijas, taip pat taisyklių bazę, veikimą.

Pvz., Jei kambarys yra per karštas IR kambarys greitai įkaista, tada nustatykite ventiliatoriaus greitį į aukštą

Jei Kambarys per karštas IR patalpa lėtai pašildoma, nustatykite ventiliatoriaus greitį mažesnį nei aukštą.

  • Kitas žingsnis apima šio kalbinio išėjimo kintamojo pavertimą skaitmeniniais ar loginiais kintamaisiais, naudojamais ventiliatoriui valdyti variklio vairuotojas .
  • Paskutinis žingsnis apima ventiliatoriaus greičio kontrolę, tinkamai įvedant ventiliatoriaus variklio tvarkyklę.

Taigi tai yra trumpa „Fuzzy Logic“ apžvalga, bet kokius kitus duomenis galite pridėti.