Logika rozmyta

Fuzzy Logic ( logika rozmyta , w języku angielskim) jest logika wielowartościowa , w którym wartości logicznych zmiennych - zamiast być prawdziwe lub fałszywe - są prawdziwe pomiędzy 0 a 1. W tym sensie rozszerza tradycyjną logikę Boolean z wartościami częściowych prawd. Polega ona na uwzględnieniu różnych czynników liczbowych, aby dojść do decyzji, którą chcemy zaakceptować.

Wprowadzenie

Pod względem liczbowym logika rozmyta przeciwstawia się logice modalnej .

Sformalizowane przez Lotfi Zadeha w 1965 r. narzędzie sztucznej inteligencji jest używane w tak różnych dziedzinach, jak:

Jest ona sformalizowana przez matematycznej teorii zbiorów rozmytych z Lotfi Zadeh która przedstawia rozszerzenie teorii klasycznych zestawów do nieprecyzyjnie zdefiniowanych zestawów .

Wychodząc od koncepcji funkcji przynależności o wartości w [0, 1], Lotfi Zadeh  :

Logika rozmyta ma tę zaletę, że jest łatwa do wdrożenia, bez narzucania rygorom logiki probabilistycznej (która również dopuszcza wartości prawdziwości na przedziale [0,1]), chociaż sama ta ostatnia jest stricto sensu spójna (zob. Cox-Jaynes twierdzenie ). Na przykład krzywą Ev (p) można zastąpić trzema odcinkami linii prostej bez nadmiernej utraty precyzji w wielu rozważanych powyżej zastosowaniach.

Zasada

Zmiękczając algebrę Boole'a , logika rozmyta zastępuje wartość prawdziwości zdania do wyboru w { prawda , fałsz } o stopień prawdziwości, wybrany np. w [0, 1]. W logice rozmytej istnieją zatem stopnie spełnienia warunku.

Prostym i starym przykładem jest docimologia , czyli ocena uczniów klasy: w każdej dyscyplinie ta oceniana jest na ocenę od 0 (zła) do 20 (wyjątkowa) i ocenia się poziom ucznia na daną orientację, ważąc te wyniki różnymi współczynnikami w zależności od rozważanej orientacji.

Nieruchomości

Weźmy za przykład prędkość pojazdu na drodze, gdzie normalna prędkość wynosi 90  km/h . Prędkość jest uważana za wysoką powyżej 100  km/h i regulacyjną poniżej 80  km/h . Chcemy scharakteryzować prędkość pojazdu, odpowiadając na przykład na pytanie „Czy prędkość jest wysoka?” ”.

Fuzzy0.svg
Figa. 1

W tym modelu przepisów drogowych, w logice Boole'a, odpowiedź na pytanie brzmi następująco (patrz rys. 1 ):

W logice rozmytej różne stopnie odpowiedzi na pytanie „Czy prędkość jest wysoka?” "(Patrz rys. 2 ):

Fuzzy1.svg
Figa. 2

Podobnie możemy zdefiniować funkcję odpowiadającą pytaniu „Czy prędkość jest niska?” W następujący sposób (patrz rys. 3 ):

Fuzzy2.svg
Figa. 3

Możemy również zdefiniować funkcję odpowiadającą pytaniu „Czy prędkość jest średnia?” „(Patrz rys. 4):

Fuzzy3.svg
Figa. 4

Przejście nie musi być liniowe. Można zastosować przejścia hiperboliczne (takie jak sigmoid lub tangens hiperboliczny ), wykładnicze , gaussowskie (w przypadku stanu średniego) lub dowolny inny rodzaj przejścia (patrz rys. 5 ).

Fuzzy4.svgFuzzy5.svgFuzzy6.svg
Figa. 5

Relacje

Stopień prawdziwości relacji rozmytej między dwoma lub t obiektami jest stopniem przynależności pary lub t-upli do zbioru rozmytego związanego z relacją.

Niech relacja będzie równa 1 (jest-a / jest-a). Aby powiedzieć, że każde krzesło to mebel, a 30% mebli to krzesła, przyznamy stopień prawdy od 1 do est1 ​​(krzesło, mebel) oraz stopień 0,3 do est1 ​​(sztuka). mebli, krzesła) .

Wiedza topograficzna, jaką posiada agent o zamkniętym świecie, może opierać się na przypisaniu stopni prawdy relacji stylu x est_near_of y than_de z , skonstruowanej i/lub udoskonalonej przez uczenie się.

Ogólnie rzecz biorąc, relacje rozmyte umożliwią kodowanie stopniowanej, empirycznej lub typowej wiedzy, zdobytej bezpośrednio lub przez heurystyki, indukcje ...

Połączenie stwierdzeń

W przypadku kombinacji stwierdzeń (na przykład: „Jeśli niebo jest niebieskie i czy mam czas  ”) powstają trzy przypadki:

Pierwszy system

Definiując podstawowe operatory logiczne w następujący sposób:

możliwe staje się przedstawienie wszystkich podstawowych operacji logicznych w logice rozmytej:

Operator Skrót Podanie
LUB ZŁOTO A LUB B [ ]
I A I B
NIE NIE A
LUB Ekskluzywny OUEX A OUEX B
LUB NIE-LUB NI B
MY NAND A ON B
EQV NIE-OUEX EQV B
PRZEKAŹNIK REPREZENTANT REP A
Właściwości i ograniczenia Ten system zachowuje wiele właściwości logicznych, ale nie jest sprzeczny  : jeśli ma za stopień prawdy , ma za stopień prawdy i ich koniunkcję , z wartością w ...

Drugi system

Dodatkowo wymiar numeryczny zmiennych logiki rozmytej umożliwia wykorzystanie innych operacji:

Inne systemy

Aby zwalczyć pewne problemy z wnioskowaniem, możemy potrzebować trudniejszego operatora AND , kojarzącego operację A AND B ze stopniem .

W takim przypadku OR i NIE muszą być wybrane tak, aby zachować lub nie pewne właściwości, na przykład w celu zabezpieczenia rozumowania. W Teorii Możliwości (op. Cit.) można znaleźć relacje między pożądanymi aksjomatami logicznymi a równaniami funkcyjnymi, które muszą respektować odpowiednie operatory.

Możemy nawet zmienić przestrzeń prawdy, preferując na przykład [-1 +1] dla pewnych dwubiegunowych własności.

Operatory rozmyte

Operatory rozmyte mogą być definiowane na różne sposoby, ponieważ nadają one, według Goguena, wybranej przestrzeni prawdy strukturę kratową, pożądaną dla AND i OR , kratę najlepiej uzupełnioną dla ewolwentowego NOT .

Rodziny parametryczne operatorów rozmytych pozwolą temu samemu silnikowi wnioskowania urzeczywistniać mniej lub bardziej ścisłą logikę. Ta sama aplikacja będzie więc mogła odwoływać się do różnych implementacji rozsądnie dobranych w zależności od kontekstu.

Poniższy przykład pokazuje poprzez 3 tryby rozdzielczości wpływ wyboru operatorów, poza naiwne podejście do problemu.

Przykład użycia

Ten przykład pokazuje, jak łączyć operatory rozmyte różnych typów poprzez problem „potwierdź przynależność osoby do grupy”:

Stany Osoba będzie mniej więcej członkiem (na poziomie fzMember , między 0 a 1 włącznie) grupy, powiedzmy miłośników kwiatów , lub jeśli z jakiegoś powodu jest już mniej więcej jej częścią (na fzDejaMembre poziom ), albo jeśli ma dość dobrą znajomość storczyków ( fzConnaitOrchidees ) i ta wiedza o storczykach jest dość decydującym kryterium ( fzOrchideesAmis ) przynależności do grona miłośników kwiatów . Rozwiązanie 1 fzMembre = Zadeh_OR(fzDejaMembre, Multiply_AND(fzConnaitOrchidees, fzOrchideesAmis)) RealizacjafzMembre = max(fzDejaMembre, (fzConnaitOrchidees * fzOrchideesAmis)) pour fzDejaMembre=0 (faux), fzConnaitOrchidees=0.778 et fzOrchideesAmis=0.9, on trouve 0.7 pour fzDejaMembre=0.7, fzConnaitOrchidees=0.8 et fzOrchideesAmis=0.9, on trouve 0.72 pour fzDejaMembre=0.72, fzConnaitOrchidees=0.8 et fzOrchideesAmis=0.9, on retrouve 0.72 pour fzDejaMembre=0.72, fzConnaitOrchidees=0.5 et fzOrchideesAmis=0.9, on conserve 0.72 (ce qui est le résultat vraisemblablement attendu) Rozwiązanie 2 — używaj tylko operatorów Zadeh

Rozwiązaniem, które używałoby tylko operatorów Zadeh byłoby:

fzMembre = Zadeh_OR(fzDejaMembre, Zadeh_AND(fzConnaitOrchidees, fzOrchideesAmis)) RealizacjafzMembre = max(fzDejaMembre, min(fzConnaitOrchidees, fzOrchideesAmis)) pour fzDejaMembre=0 (faux), fzConnaitOrchidees=0.778 et fzOrchideesAmis=1 (vrai), on trouve 0.778 pour fzDejaMembre=0 (faux), fzConnaitOrchidees=0.778 et fzOrchideesAmis=0.9, on trouve aussi 0.778 (ce qui est trop élevé) pour fzDejaMembre=0.778, fzConnaitOrchidees=0.8 et fzOrchideesAmis=0.9, on trouve 0.8 pour fzDejaMembre=0.8, fzConnaitOrchidees=0.8 et fzOrchideesAmis=0.9, on retrouve 0.8 pour fzDejaMembre=0.8, fzConnaitOrchidees=0.5 et fzOrchideesAmis=0.9, on conserve 0.8 (ce qui est stable mais trop élevé) Rozwiązanie 3 – Operatory reprezentowane przez paraboloidy hiperboliczne

Rozwiązaniem, które używałoby tylko operatorów reprezentowanych przez paraboloidy hiperboliczne, byłoby:

fzMembre = Add_OR(fzDejaMembre, Multiply_AND(fzConnaitOrchidees, fzOrchideesAmis)) RealizacjafzMembre = fzDejaMembre + (fzConnaitOrchidees*fzOrchideesAmis) - (fzDejaMembre*fzConnaitOrchidees*fzOrchideesAmis) pour fzDejaMembre=0 (faux), fzConnaitOrchidees=0.778 et fzOrchideesAmis=0.9, on trouve 0.7 pour fzDejaMembre=0.7, fzConnaitOrchidees=0.8 et fzOrchideesAmis=0.9, on trouve 0.916 (ce qui est sûrement trop élevé) pour fzDejaMembre=0.916, fzConnaitOrchidees=0.8 et fzOrchideesAmis=0.9, on trouve 0,97648 (ce qui est instable et sûrement beaucoup trop élevé) pour fzDejaMembre=0,97648, fzConnaitOrchidees=0.5 et fzOrchideesAmis=0.9, on trouve 0. 987 064 (une augmentation bien malvenue) Konwergencja – krytyka przedstawionych rozwiązań

Trzy omówione powyżej metody zbiegają się, gdy wartości wejściowe są logiczne:

pour fzDejaMembre=0 (faux), fzConnaitOrchidees=0 (faux) et fzOrchideesAmis=1 (vrai), on trouve 0 (faux) pour fzDejaMembre=0 (faux), fzConnaitOrchidees=1 (vrai) et fzOrchideesAmis=1 (vrai), on trouve 1 (vrai) pour fzDejaMembre=1 (vrai), fzConnaitOrchidees=1 (vrai) et fzOrchideesAmis=1 (vrai), on retrouve 1 (vrai) pour fzDejaMembre=1 (vrai), fzConnaitOrchidees=0 (faux) et fzOrchideesAmis=1 (vrai), on conserve 1 (vrai)

Operator obejmuje

Definicja

W powyższym przykładzie storczyków normalną sytuacją jest to, że znajomość storczyków implikuje przynależność do grupy. To znaczy, bardziej precyzyjnie, że nie można wiedzieć, storczyki i , w tym samym czasie, nie musi być członkiem grupy przyjaciół kwiatów .

fzImpliqueOk = NOT(AND(fzConnaitOrchidees, NOT(fzMembre)))

Tak jak widzieliśmy powyżej kilka sposobów implementacji operatorów OR i AND, istnieje również kilka sposobów implementacji pojęcia implikacji.

fzImpliqueOk = Bool_IMPLIES(fzConnaitOrchidees, fzMembre) fzImpliqueOk = Zadeh_IMPLIES(fzConnaitOrchidees, fzMembre) fzImpliqueOk = HypPar_IMPLIES(fzConnaitOrchidees, fzMembre) Realizacja

Powyższe operatory zostaną zaimplementowane odpowiednio w następujący sposób:

fzImpliqueOk = fzConnaitOrchidees ⇐ fzMembre fzImpliqueOk = 1 - min(fzConnaitOrchidees, (1 - fzMembre)) fzImpliqueOk = 1 - fzConnaitOrchidees + (fzConnaitOrchidees*fzMembre)
  • w skrajnym, ale normalnym przypadku , przy fzKnownOrchids = 0,8 i fzMember = 0,995, znalezione wartości będą odpowiednio:
1 (true) 0.995 (Zadeh) 0.996 (Hyperbolic Paraboloid)
  • w przypadku uznanym za normalny , przy fzKnownOrchids = 0,8 i fzMember = 0,72, znalezione wartości będą odpowiednio:
0 (false) (la personne est moins membre qu'elle ne connait) 0.72 (Zadeh) 0.776 (Hyperbolic Paraboloid)
  • w innym przypadku, który pozostaje normalny , osoba może być również członkiem przyjaciół kwiatów z powodu swojej miłości do tulipanów, przy fzKnownOrchids = 0,66 i fzMember = 0,72, znalezione wartości będą odpowiednio:
1 (true)(la personne est plus membre qu'elle ne connait) 0.72 (Zadeh) 0.772 (Hyperbolic Paraboloid)
  • w dość wątpliwym przypadku przy fzKnownOrchids = 0.5 i fzMember = 0.5 znalezione wartości będą odpowiednio:
1 (true) 0.5 (Zadeh) 0.75 (Hyperbolic Paraboloid)
  • w nietypowym przypadku , przy fzKnownOrchids = 0,8 i fzMember = 0,3, znalezione wartości będą odpowiednio:
0 (false) 0.3 (Zadeh) 0.44 (Hyperbolic Paraboloid)
  • w nietypowym i ekstremalnym przypadku, przy fzKnownOrchids = 0,8 i fzMember = 0,005, znalezione wartości będą odpowiednio:
0 (false) 0.2 (Zadeh) 0.204 (Hyperbolic Paraboloid) Praktyczne użycie

Aplikacja komputerowa, która miałaby oferować ludzkiemu operatorowi leczenie nienormalnych przypadków, zaczynając od najbardziej podejrzanych, wykorzystywałaby wartości wskazane powyżej pogrubioną czcionką i uzyskane metodą zidentyfikowaną jako paraboloid hiperboliczny , co jest szczególnie dyskryminujące.

Nie ma pewności, czy ta aplikacja zainteresuje przyjaciół kwiatów . Z drugiej strony zrozumiałe jest zainteresowanie usługą medycyny prewencyjnej (a nawet kwiaciarni). Gdy liczba badań podejrzanych przypadków musi zostać ograniczona (na przykład ze względu na czas, koszty, niebezpieczeństwo itp.), inteligentna klasyfikacja wstępna oparta, jeśli nie na niekwestionowanej teorii , przynajmniej na technologii operacyjnej, może okazać się przydatna .

Reprezentacja graficzna

Artykuł wspólny: Operator rozmyty zapewnia wiele graficznych reprezentacji niektórych możliwych implementacji operatorów rozmytych. Poniżej, jako przykład, znajdziemy reprezentację ośmiu różnych implementacji operacji, która miałaby na celu ocenę równoczesności dwóch faktów (ocenianych na równoważną wagę na sześciu obrazach po lewej, ale o różnej wadze na dwóch obrazach). z prawej).

Operatory językowe

Niech v (x jest gorące) = 0,8. Możemy ustawić v (x jest bardzo gorące) = 0,8² = 0,64 i odwrotnie v (x jest dość gorące) = rac2 (0,8) = 0,89, co ułatwia kodowanie wiedzy empirycznej.

Rozmyte polecenie

Po oszacowaniu wartości wejściowej („Czy prędkość jest wysoka?”) można określić wartość funkcji wyjściowej. Rozważ zasadę „Jeśli gorączka jest wysoka, podaj aspirynę”. Taka reguła nazywana jest kontrolą rozmytą . Składa się z dwóch części:

  • Wpis: „Czy gorączka jest wysoka? ”. Uważamy, że gorączka nie jest silna poniżej 38  °C , a wysoka powyżej 40  °C .
  • Wyjście: „Podaj aspirynę”

Te dwie części są połączone. Mogą być reprezentowane razem, jak na ryc. 6.

Fuzzy7.png
Figa. 6

Istnieje kilka technik określania wartości produktu (na przykład: ilość aspiryny do podania):

  • Linia o tej samej rzędnej co punkt krzywej początkowej o wartości wejściowej jako odciętej przecina krzywą wyjściową. Odcięta tego punktu przecięcia jest możliwą wartością wyjściową (rys. 7).
Fuzzy8.png
Figa. 7
  • Linia prosta o tej samej rzędnej co punkt krzywej początkowej mająca dla odciętej wartość wejścia wyznacza trapez na poziomie wyjścia. Środek ciężkości tego trapezu jest również możliwą wartością wyjścia (rys. 8).
Fuzzy9.png
Figa. 8

Granice i krytyka teorii

Niedobory jako teoria?

Istnieje opinia, która mówi, że „Teoria zbiorów rozmytych przedstawia osobliwość braku twierdzenia do zaproponowania. To znaczy, że jeśli może świadczyć niektóre usługi techniczne, nie może dla wszystkich, którzy roszczą sobie status nauki, a tym bardziej teorii ”.

W rzeczywistości logika rozmyta została sformalizowana a twierdzenie (jednak elementarne) pokazuje, że w konkretnym przypadku, gdy przetwarzane zdania nie są rozmyte, logika rozmyta sprowadza się do logiki klasycznej.

W swojej pracy racjonalnych decyzji w niepewne , Myron Tribus przypomina, że COX-Jaynes tw pokazuje z jednej strony, że możemy reprezentować stan niepewnej wiedzy o prawdopodobieństwie, a z drugiej strony, że wszelkie środki stosowane do podejmowania decyzji będzie albo izomorficzny z teorią prawdopodobieństwa lub niespójny. Wiedza rozmyta nie jest ściśle mówiąc wiedzą niepewną  : na przykład możemy dokładnie wiedzieć, że człowiek ma 1,74  m wzrostu . Nie jest jednak jasne, czy zostanie on uznany za „duży” czy „mały”.

I odwrotnie , powiedzenie: „wiek tej osoby jest bliski 30 lat” stanowi rozmyte oszacowanie efektywnego wieku osoby, który jest ze swej strony bardzo precyzyjny. Niedokładność dotyczy samego szacunku, a nie faktycznego wieku.

Można też powiedzieć: „wiek tej osoby to 27-33 lata, z prawdopodobieństwem 0,8”. Tutaj znowu prawdopodobieństwo mierzy stan wiedzy obserwatora, a nie charakterystykę tego, co jest obserwowane.

Jim Bezdek wyróżnia po części prawdopodobieństwo i nieprecyzyjność: „Jesteśmy na pustyni, po dniach tułaczki… Prawie umarli z pragnienia, znajdujemy wtedy dwie butelki wypełnione płynem. Na butelce A, etykieta mówi „ do picia ze stopniem 0,9”, a na butelki B, etykieta mówi „picia z prawdopodobieństwem 0,9”. Którą z tych dwóch butelek powinniśmy wybrać? ”. Jeśli przetłumaczymy wskazania na etykietach, usuniemy to, że pijąc butelkę A możemy uciec od jedynego ryzyka, niektórych nie śmiertelnych problemów jelitowych… Z drugiej strony, pijąc butelkę B, istnieje nie- znikome prawdopodobieństwo (10% szans), że płyn może być bardzo szkodliwy (kwaśny…) i absolutnie niezdatny do picia.

Wprowadzono teorię możliwości (również przez Lotfi Zadeha w 1978 r.), aby umożliwić łączne rozważenie zarówno nieścisłości, jak i niepewności w wiedzy.

Nie tylko logika rozmyta mówi o niepewności

Modalnej logiki zostało wprowadzone przez Arystotelesa , a następnie kontynuowane przez Leibniza i współczesnych badaczy, aby odzwierciedlić upośledzenia lub udoskonalenie twierdzeń obecnych w językach naturalnych, skupiając się na przykład raporty true, false, to konieczne i możliwe.

Teorii algorytmicznej złożoności (lub Kołmogorowa złożoność ) jest również mniej lub bardziej rygorystyczny sposób, aby uwzględnić trudności z podaniem dokładnego opisu rzeczy (X może pojawić się bardziej skomplikowane niż Y na maszynie A i mniej skomplikowane niż Y na maszynie B, np. komputer kwantowy, jest więc złożonością względem danej maszyny odniesienia .

Wreszcie, prawdopodobieństwa bayesowskie użyte w niepewnej przyszłości podejść podobne do logiki rozmytej, ale tym razem bez żadnej arbitralności: rozkład prawdopodobieństwa a priori musi być rozkładem maksymalnej entropii ...

Uwagi i referencje

  1. Novák, V. , Perfilieva, I. i Močkoř, J. , Matematyczne zasady logiki rozmytej , Dordrecht, Kluwer Academic,1999, 320  pkt. ( ISBN  978-0-7923-8595-0 , czytaj online )
  2. System Zadeh, który można uznać za inspirowany Łukasiewicza
  3. lekkie pisanie: ściśle mówiąc, należy odróżnić zdanie A i jego stopień prawdziwości v (A) i napisać v (A OR B) = max (v (A), v (B))
  4. w stylu zbliżonym do George'a Boole'a (1854) lub Vallée, który w swojej Analizie binarnej nazywa tę kompozycję produelem  ; czasami postrzegane również jako probabilistyczne

Zobacz również

Godjevac J., Pomysły na logikę rozmytą , PPUR: Lozanna, zbiór informatique, 1999, 128 s. ( ISBN  2-88074-378-8 ) . Prade H., Dubois D. i in., Teoria możliwości: aplikacje do reprezentacji wiedzy w informatyce , coll. (Metoda + programy), Masson: Paryż, 1985.

Powiązane artykuły