Logika rozmyta: t-normy, implikacje i reguły JEŻELI–TO
Stopnie prawdziwości, t-normy i t-konormy (minimum, iloczyn, Łukasiewicz), które prawa klasyczne przetrwają, implikacje rezydualne i obliczanie reguł na wentylatorze sterowanym temperaturą i wilgotnością.
Seria Podstawy AI Część 34 z 52
- Mapa sztucznej inteligencji: co jest czym i jak to do siebie pasuje
- Krótka historia sztucznej inteligencji: od Turinga do modeli językowych
- Dane, model, trening, inferencja: podstawowe pojęcia na jednym przykładzie
- Jak czytać zapis matematyczny: symbole, indeksy, sumy i kwantyfikatory
- Zbiory i relacje: klocki, z których składają się definicje w AI
- Funkcje i odwzorowania: dlaczego każdy model AI jest funkcją
- Logika i dowody: reguły, według których rozumuje AI
- Grafy i drzewa: struktura, na której opierają się przeszukiwanie i sieci neuronowe
- Algebra liniowa dla uczenia maszynowego: wektory, macierze i dlaczego AI głównie mnoży
- Pochodne, gradient i reguła łańcuchowa: jak model ustala, w którą stronę się uczyć
- Spadek gradientu: jak uczy się model
- Czym jest prawdopodobieństwo: od rzutu kostką do aksjomatów Kołmogorowa
- Prawdopodobieństwo warunkowe i twierdzenie Bayesa: jak zmienić ocenę, gdy dowiesz się czegoś nowego
- Zmienna losowa i dystrybuanta: jedna funkcja, która mówi o rozkładzie wszystko
- Funkcja gęstości i funkcja prawdopodobieństwa: dlaczego zmienna ciągła ma w punkcie prawdopodobieństwo zero
- Wartość oczekiwana, wariancja i kowariancja: gdzie leży rozkład, jak jest szeroki i co z czym się wiąże
- Przegląd rozkładów prawdopodobieństwa: Bernoulliego, dwumianowy, Poissona, jednostajny, normalny i wykładniczy
- Prawo wielkich liczb i centralne twierdzenie graniczne: dlaczego średnie zachowują się tak przewidywalnie
- Statystyka i estymacja parametrów: największa wiarygodność, MAP i przedziały ufności
- Teoria informacji: entropia, entropia krzyżowa i dywergencja KL — skąd się biorą funkcje straty
- Przeszukiwanie przestrzeni stanów: BFS, DFS, UCS i A* z animacjami
- Gry i przeciwnik: minimax, przycinanie alfa-beta i Monte Carlo tree search
- Spełnianie ograniczeń: backtracking, propagacja ograniczeń i AC-3 na sudoku i mapie czeskich krajów
- Logika i systemy z bazą wiedzy: wnioskowanie w przód i wstecz, rezolucja i systemy ekspertowe
- Planowanie: STRIPS, świat klocków, heurystyki z relaksacji i planowanie w agentach AI
- Przeszukiwanie lokalne i symulowane wyżarzanie: komiwojażer przez czeskie miasta wojewódzkie
- Algorytmy genetyczne: populacja, krzyżowanie, mutacja i selekcja na plecaku na wycieczkę
- Strategie ewolucyjne i programowanie genetyczne: od reguły jednej piątej do prawa Keplera
- Optymalizacja kolonią mrówek: jak ślad feromonowy znajduje krótką drogę
- Optymalizacja rojem cząstek: bezwładność, własne doświadczenie i doświadczenie roju
- Neuroewolucja: ewolucja wag i kształtu sieci neuronowych oraz algorytm NEAT
- Zbiory rozmyte i funkcje przynależności: jak zapisać „trochę ciepło”
- Logika rozmyta a prawdopodobieństwo: dlaczego „trochę ciepło” nie znaczy „prawdopodobnie ciepło”
- Logika rozmyta: t-normy, implikacje i reguły JEŻELI–TO
- Sterowanie rozmyte: Mamdani i Sugeno od wentylatora po wahadło na wózku
- Klasteryzacja rozmyta: algorytm fuzzy c-means i punkty między skupieniami
- Systemy neuro-rozmyte (ANFIS): reguły rozmyte, które uczą się z danych
- Łańcuchy Markowa: macierz przejścia, rozkład stacjonarny i PageRank
- Ukryte modele Markowa: algorytm Viterbiego i nieuczciwe kasyno
- Sieci bayesowskie: dlaczego trawa jest mokra i co z tego wynika dla zraszacza
- Filtr Kalmana: jak z niedokładnych pomiarów oszacować, gdzie jest samochód i jak szybko jedzie
- Rodzaje uczenia maszynowego: nadzorowane, nienadzorowane, półnadzorowane i inne
- Prompty, kontekst i RAG: jak dać modelowi właściwe informacje
- Wariacyjne autoenkodery (VAE): nowe obrazki z ciągłej przestrzeni latentnej
- Generatywne sieci przeciwstawne (GAN): fałszerz kontra detektyw
- Modele dyfuzyjne: jak z czystego szumu powstaje obraz
- Procesy decyzyjne Markowa: stany, akcje, nagrody i równania Bellmana
- Q-learning i DQN: uczenie się wartości akcji od tabeli po sieć neuronową
- Policy gradient i PPO: uczenie się bezpośrednio polityki
- Jak działa agent AI: model językowy w pętli z narzędziami
- Programowanie z agentami AI: zadanie, testy i kontrola
- Ocena i bezpieczeństwo systemów AI: jak mierzyć i jak pilnować
Pełny program serii Gotowe: 52 z 83 tematów
- Czym są t-normy i t-konormy i dlaczego „i” w logice rozmytej to cała rodzina operacji.
- Które prawa logiki klasycznej obowiązują dla minimum, iloczynu i t-normy Łukasiewicza.
- Jak oblicza się reguły JEŻELI–TO: siła reguły, przycięcie wniosku i połączenie maksimum.
Warto wiedzieć wcześniej: Zbiory rozmyte i funkcje przynależności: jak zapisać „trochę ciepło”, Logika i dowody: reguły, według których rozumuje AI
Zbiory rozmyte nadały słowom takim jak „ciepło” precyzyjne znaczenie. Teraz chcemy z nimi rozumować: łączyć je spójnikami „i”, „lub”, „nie” i pisać reguły „jeżeli jest ciepło i wilgotno, włącz wentylator na pełną moc”. W logice klasycznej jest jasne, co znaczy „i” — prawda, gdy prawdziwe są obie części. Ale co, jeśli jedna część jest prawdziwa w 0,7, a druga w 0,6? Okazuje się, że rozsądnych odpowiedzi jest cała rodzina — i każda z nich zachowuje inne kawałki logiki klasycznej.
Nawiązuje do części Zbiory rozmyte i funkcje przynależności, Logika rozmyta a prawdopodobieństwo i Logika i dowody.
1. Od przynależności do prawdziwości
Zdanie „jest ciepło” ma przy 25 °C stopień prawdziwości 0,5 — tę samą liczbę co przynależność 25 °C do zbioru „ciepło”. Logika rozmyta to logika, w której zdania przyjmują wartości logiczne z całego przedziału [0, 1], a nie tylko 0 i 1. Spójniki są funkcjami, które z prawdziwości części obliczają prawdziwość całości. Logika klasyczna to szczególny przypadek, w którym używa się tylko wartości skrajnych.
Definicja — wartość logiczna zdania złożonego
Wybieramy t-normę T (spójnik „i”), t-konormę S („lub”), negację ¬ („nie”) i implikację I („jeżeli–to”) — wszystkie są zdefiniowane niżej. Jeśli zdania φ, ψ mają wartości logiczne ‖φ‖, ‖ψ‖ ∈ [0, 1], to
- ‖φ i ψ‖ = T(‖φ‖, ‖ψ‖),
- ‖φ lub ψ‖ = S(‖φ‖, ‖ψ‖),
- ‖nie φ‖ = ¬‖φ‖,
- ‖jeżeli φ, to ψ‖ = I(‖φ‖, ‖ψ‖).
Wartość zdania atomowego „x jest A” to przynależność μA(x).
Zdanie złożone oblicza się od dołu: najpierw przynależności, potem spójniki jeden po drugim, tak samo jak w logice klasycznej wypełnia się tabelę prawdy — tylko zamiast 0 i 1 podstawiamy liczby pomiędzy nimi.
Przykład — „jest ciepło i nie jest wilgotno” przy 27 °C i 60 %
„Ciepło” to trójkąt (22, 28, 34), więc ‖ciepło‖ = (27 − 22) / (28 − 22) = 5/6 ≈ 0,83. „Wilgotno” rośnie od 40 do 70 %: ‖wilgotno‖ = (60 − 40) / (70 − 40) = 2/3 ≈ 0,67, więc ‖nie wilgotno‖ = 1 − 2/3 = 1/3 ≈ 0,33.
- z minimum: min(5/6; 1/3) = 0,33,
- z iloczynem: 5/6 · 1/3 = 5/18 = 0,28,
- z t-normą Łukasiewicza: max(0; 5/6 + 1/3 − 1) = 1/6 = 0,17.
Trzy rozsądne odpowiedzi na to samo pytanie — o tym, którą wybrać, jest reszta tej części.
2. T-normy: co znaczy „i”
Definicja — t-norma
T-norma to funkcja T : [0, 1]2 → [0, 1], która jest
- przemienna: T(a, b) = T(b, a),
- łączna: T(a, T(b, c)) = T(T(a, b), c),
- monotoniczna: z b ≤ c wynika T(a, b) ≤ T(a, c),
- i ma 1 jako element neutralny: T(a, 1) = a.
Cztery rozsądne wymagania wobec „i”: nie liczy się kolejność, nie liczą się nawiasy, lepsze dane wejściowe nie dadzą gorszego wyniku, a „A i prawda” to to samo co A. Wynika z tego także, że „A i fałsz” to fałsz, więc na wartościach skrajnych każda t-norma zachowuje się dokładnie jak klasyczne „i”.
Cztery najważniejsze:
- Minimum (Gödla, Zadeha) T(a, b) = min(a, b) — łańcuch jest tak mocny jak jego najsłabsze ogniwo.
- Iloczyn T(a, b) = a · b — jak prawdopodobieństwo dwóch niezależnych zdarzeń.
- Łukasiewicza T(a, b) = max(0, a + b − 1) — dolne ograniczenie Frécheta z poprzedniej części.
- Drastyczna — b, gdy a = 1; a, gdy b = 1; w przeciwnym razie 0.
Najmniej oczywista jest t-norma Łukasiewicza, dlatego ją rozłóżmy na części:
TŁ(a, b) = max(0, a + b − 1)
- TŁ(a, b)
- prawdziwość „A i B” — ile prawdy muszą mieć obie części wspólnie
- a + b
- prawdziwości obu części razem — wyobraź je sobie jako dwa odcinki o długości a i b, które mają się zmieścić w odcinku o długości 1
- − 1
- długość całego odcinka — to, co z a + b przekracza jedynkę, nie zmieści się obok siebie i musi się nakładać; nakładanie się to to, co zachodzi jednocześnie
- max(0, …)
- gdy odcinki mieszczą się obok siebie (a + b ≤ 1), nie muszą się wcale nakładać — prawdziwość „i” wynosi wtedy 0, a nie liczbę ujemną
Dla a = 0,7 i b = 0,6 dają 0,60; 0,42; 0,30 i 0. Minimum jest ze wszystkich najhojniejsze, drastyczna najsurowsza — i to obowiązuje ogólnie:
Twierdzenie — ograniczenia t-norm
Dla każdej t-normy T i wszystkich a, b ∈ [0, 1] zachodzi TD(a, b) ≤ T(a, b) ≤ min(a, b), gdzie TD to t-norma drastyczna.
Dowód. Ograniczenie górne: z monotoniczności i neutralnej jedynki T(a, b) ≤ T(a, 1) = a, a dzięki przemienności tak samo T(a, b) ≤ b. Ograniczenie dolne: jeśli a = 1, to T(1, b) = b = TD(1, b); jeśli b = 1, analogicznie. W przeciwnym razie TD(a, b) = 0, a T(a, b) ≥ 0 zachodzi zawsze. ∎
„A i B” nigdy nie może być bardziej prawdziwe niż słabsza z obu części (wynika to z monotoniczności i neutralnej jedynki: T(a, b) ≤ T(a, 1) = a). Wszystkie t-normy leżą więc między dwiema skrajnościami.
3. T-konormy i negacja: „lub” i „nie”
Definicja — t-konorma, negacja, dualność
T-konorma S ma te same własności co t-norma, tylko elementem neutralnym jest 0: S(a, 0) = a. Negacja standardowa to ¬a = 1 − a.
Do każdej t-normy należy dualna t-konorma S(a, b) = 1 − T(1 − a, 1 − b). Dla takiej pary zachodzą prawa De Morgana: ¬T(a, b) = S(¬a, ¬b).
„A lub B” to to samo co „nieprawda, że ani A, ani B”. Każde „i” przynosi więc swoje „lub”. Do minimum należy maksimum, do iloczynu suma probabilistyczna a + b − ab, do t-normy Łukasiewicza suma ograniczona min(1, a + b). Dla 0,7 i 0,6 dają 0,70; 0,88 i 1.
S(a, b) = 1 − T(1 − a, 1 − b)
- S(a, b)
- prawdziwość „A lub B” — chcemy ją wyprowadzić z „i”, a nie wymyślać osobno
- 1 − a, 1 − b
- prawdziwości „nie A” i „nie B” — „lub” zawodzi dokładnie wtedy, gdy nie zachodzi żadna z części
- T
- wybrana t-norma — oblicza, w jakim stopniu zachodzi „nie A i nie B”, czyli w jakim stopniu „lub” zawodzi
- 1 −
- negacja zewnętrzna — z „w jakim stopniu zawodzi” robi „w jakim stopniu zachodzi”; dzięki niej prawa De Morgana zachodzą dla każdej pary T, S automatycznie
Przykład — trzy t-konormy z dualizacji
- Minimum: 1 − min(1 − a, 1 − b) = max(a, b); mniejsze z dopełnień należy do większej liczby. Dla 0,7 i 0,6: 1 − min(0,3; 0,4) = 1 − 0,3 = 0,70.
- Iloczyn: 1 − (1 − a)(1 − b) = 1 − (1 − a − b + ab) = a + b − ab. Dla 0,7 i 0,6: 1 − 0,3 · 0,4 = 1 − 0,12 = 0,88.
- Łukasiewicz: 1 − max(0, (1 − a) + (1 − b) − 1) = 1 − max(0, 1 − a − b) = min(1, a + b). Dla 0,7 i 0,6: 1 − max(0; 0,3 + 0,4 − 1) = 1 − 0 = 1,00.
Suma probabilistyczna ma znane znaczenie: dla zdarzeń niezależnych P(A ∪ B) = P(A) + P(B) − P(A)P(B) — odejmuje się część wspólną, która inaczej zostałaby policzona dwa razy.
4. Które prawa przetrwają
Logika klasyczna ma mnóstwo praw. W logice rozmytej nie wszystko może obowiązywać naraz — i każda t-norma wybiera inaczej. Sprawdzone na siatce wartości 0; 0,05; …; 1:
| Prawo | Minimum | Iloczyn | Łukasiewicz |
|---|---|---|---|
| idempotentność: A i A = A | tak | nie | nie |
| niesprzeczności: A i nie A = 0 | nie | nie | tak |
| wyłączonego środka: A lub nie A = 1 | nie | nie | tak |
| prawa De Morgana | tak | tak | tak |
| rozdzielność „i” względem „lub” | tak | nie | nie |
Minimum zachowuje „algebrę” — idempotentność i rozdzielność — ale traci prawo niesprzeczności: „ciepło i nie ciepło” może wynosić aż 0,5. Łukasiewicz zachowuje prawo niesprzeczności i wyłączonego środka, ale „ciepło i ciepło” przy 0,7 daje tylko 0,4. To znany wynik: minimum jest jedyną idempotentną t-normą, a przy niej prawo niesprzeczności obowiązywać nie może. Wybór spójnika jest więc wyborem, na których własnościach nam zależy.
Twierdzenie — minimum jest jedyną idempotentną t-normą
Jeśli T jest t-normą i T(a, a) = a dla wszystkich a ∈ [0, 1], to T(a, b) = min(a, b).
Dowód. Niech a ≤ b. Z idempotentności i monotoniczności a = T(a, a) ≤ T(a, b), a z twierdzenia o ograniczeniach T(a, b) ≤ min(a, b) = a. Zatem T(a, b) = a; dla a > b tak samo dzięki przemienności. ∎
Wniosek. Idempotentność i prawo niesprzeczności (z negacją standardową) nie mogą zachodzić jednocześnie: idempotentne jest tylko minimum, a ono w punkcie 0,5 daje min(0,5; 1 − 0,5) = 0,5 ≠ 0.
Przykład — kontrprzykłady i jeden dowód z tabeli
- Łukasiewicz spełnia prawo niesprzeczności dla każdego a, nie tylko na siatce: TŁ(a, 1 − a) = max(0, a + 1 − a − 1) = max(0, 0) = 0. Analogicznie min(1, a + 1 − a) = 1 to prawo wyłączonego środka.
- Łukasiewicz nie jest idempotentna: TŁ(0,7; 0,7) = 0,7 + 0,7 − 1 = 0,4 ≠ 0,7.
- Iloczyn nie jest rozdzielny: dla a = b = c = 0,5 jest „a i (b lub c)” = 0,5 · (0,5 + 0,5 − 0,25) = 0,3750, ale „(a i b) lub (a i c)” = 0,25 + 0,25 − 0,25 · 0,25 = 0,4375.
- Iloczyn nie spełnia prawa niesprzeczności: 0,5 · (1 − 0,5) = 0,25 ≠ 0.
Jeden kontrprzykład wystarczy, by prawo nie obowiązywało. Natomiast „tak” w tabeli jest sprawdzone tylko na siatce — dla prawa niesprzeczności Łukasiewicza jest jednak wyżej także ogólny dowód.
5. Implikacja
Definicja — implikacja rezydualna
Do ciągłej t-normy T należy residuum
I(a, b) = sup { c ∈ [0, 1] : T(a, c) ≤ b }.
T(a, c) ≤ b zachodzi wtedy i tylko wtedy, gdy c ≤ I(a, b). Dla minimum wychodzi implikacja Gödla (1, gdy a ≤ b, w przeciwnym razie b), dla iloczynu implikacja Goguena (1, gdy a ≤ b, w przeciwnym razie b/a), a dla t-normy Łukasiewicza min(1, 1 − a + b).
„Jeżeli A, to B” to najmocniejsze stwierdzenie, które razem z A nie da więcej, niż wynosi B. Implikacja jest w pełni prawdziwa zawsze, gdy przesłanka nie jest bardziej prawdziwa niż wniosek — tak samo jak w logice klasycznej, gdzie z fałszu wynika wszystko. Dla przesłanki 0,8 i wniosku 0,3 trzy implikacje dają 0,3; 0,375 i 0,5.
I(a, b) = sup { c ∈ [0, 1] : T(a, c) ≤ b }
- I(a, b)
- prawdziwość „jeżeli A, to B” dla przesłanki o prawdziwości a i wniosku o prawdziwości b
- c ∈ [0, 1]
- kandydat na prawdziwość implikacji — próbujemy wszystkich możliwych wartości
- T(a, c)
- „A i (jeżeli A, to B)” — co wywnioskujemy z przesłanki i implikacji razem; dokładnie to robi modus ponens
- ≤ b
- warunek poprawności — wywnioskowany wniosek nie może być bardziej prawdziwy, niż B faktycznie jest; implikacja nie może „obiecywać więcej”
- sup
- największy z poprawnych kandydatów — implikacja ma być jak najmocniejsza, inaczej zawsze wynosiłaby 0 i nic by nie mówiła
Przykład — trzy implikacje dla przesłanki 0,8 i wniosku 0,3
Szukamy największego c, dla którego T(0,8; c) ≤ 0,3:
- minimum: min(0,8; c) ≤ 0,3 zachodzi wtedy i tylko wtedy, gdy c ≤ 0,3 (bo 0,8 > 0,3), więc I = 0,300,
- iloczyn: 0,8 · c ≤ 0,3, czyli c ≤ 0,3 / 0,8, więc I = 0,375,
- Łukasiewicz: max(0; 0,8 + c − 1) ≤ 0,3, czyli c − 0,2 ≤ 0,3 i c ≤ 0,5, więc I = 0,500.
Sprawdzenie modus ponens: podstawiamy c = I z powrotem do T(0,8; c) — min(0,8; 0,3) = 0,3; 0,8 · 0,375 = 0,3; max(0; 0,8 + 0,5 − 1) = 0,3. We wszystkich trzech przypadkach wychodzi dokładnie wniosek 0,3: implikacja jest ustawiona tak, by w niego trafić.
Residua nie są tylko eleganckie: dzięki zależności T(a, c) ≤ b ⇔ c ≤ I(a, b) zachodzi dla nich rozmyta wersja modus ponens — z A o prawdziwości a i z „A ⇒ B” o prawdziwości c wynika B o prawdziwości co najmniej T(a, c). Na tym opierają się formalne logiki rozmyte, które w latach dziewięćdziesiątych zbudował czeski logik Petr Hájek.
6. Reguły JEŻELI–TO
W praktyce logikę rozmytą najczęściej spotkasz w regułach, które sterują maszyną. Chcemy wentylatora, który kieruje się temperaturą i wilgotnością. Obroty (0–100 %) mają termy wolno, średnio i szybko, wilgotność termy sucho i wilgotno, temperatura termy z części o zbiorach rozmytych. Baza reguł:
- R1: JEŻELI temperatura jest zimno LUB przyjemnie, TO obroty są wolno.
- R2: JEŻELI temperatura jest ciepło I wilgotność jest sucho, TO obroty są średnio.
- R3: JEŻELI temperatura jest ciepło I wilgotność jest wilgotno, TO obroty są szybko.
- R4: JEŻELI temperatura jest gorąco, TO obroty są szybko.
Definicja — obliczanie reguły (Mamdani)
Dla ostrego wejścia najpierw oblicza się siłę reguły α: przynależności wejść do termów warunku, połączone t-normą („i”) lub t-konormą („lub”). Wniosek — zbiór rozmyty B na wyjściu — jest potem przycinany: μ′(y) = min(α, μB(y)), albo pomniejszany: μ′(y) = α · μB(y). Wnioski wszystkich reguł łączy się maksimum.
Reguła obowiązuje w takim stopniu, w jakim spełniony jest jej warunek, i w takim też stopniu forsuje swój wniosek. Reguła, której warunek jest spełniony w 0,67, może forsować „szybko” najwyżej do wysokości 0,67. Wszystkie reguły mówią naraz, a wynikiem jest zarys tego, co i w którą stronę pcha.
Wejście: 27 °C i wilgotność 60 %. Temperatura jest „przyjemnie” w 0,2 i „ciepło” w 0,83, wilgotność „wilgotno” w 0,67, a „sucho” wcale. Reguła R3 ma siłę min(0,83; 0,67) = 0,67:
Z minimum wniosek „szybko” zostaje przycięty na wysokości 0,67 i zostaje z niego płaski trapez. Z iloczynem reguła ma siłę 0,83 · 0,67 = 0,56, a „szybko” zostaje pomniejszone w całości — zachowuje kształt, jest tylko niższe. Oba podejścia stosuje się w praktyce; pierwsze to oryginalny wybór Mamdaniego.
Cała baza reguł naraz:
Zadziałały dwie reguły: R1 z siłą 0,2 (temperatura jest trochę „przyjemnie”) i R3 z siłą 0,67. R2 i R4 milczą. Wynikiem jest zbiór rozmyty na obrotach — niski stopień przy „wolno” i wysoki przy „szybko”. Silnik potrzebuje jednak jednej liczby. Jak ją uzyskać z tego zbioru, to temat następnej części o sterowaniu rozmytym.
μ(y) = maxr min(αr, μBr(y))
- μ(y)
- wynikowy zbiór rozmyty na obrotach — w jakim stopniu baza reguł zaleca obroty y (na rysunku zielona powierzchnia)
- αr
- siła reguły r — w jakim stopniu jej warunek jest spełniony dla dzisiejszego wejścia; reguła nie może twierdzić więcej, niż wynosi jej przesłanka
- μBr(y)
- wniosek reguły — kształt termu takiego jak „szybko”: które obroty do niego należą i w jakim stopniu (na rysunku przerywany zarys)
- min
- przycięcie — wniosek zostaje ucięty na wysokości αr, bo reguła z warunkiem spełnionym w 0,67 nie może zalecać niczego bardziej niż w 0,67 (na rysunku bursztynowa powierzchnia)
- maxr
- połączenie reguł — reguły są alternatywami („R1 lub R2 lub …”), więc obroty są zalecane w takim stopniu, w jakim zaleca je najbardziej chętna reguła
Przykład — prześledzenie bazy reguł dla 27 °C i 60 %
Krok 1 — fuzyfikacja. Temperatura 27 °C: „zimno” 0 (kończy się na 14 °C), „przyjemnie” spada od 23 do 28 °C, czyli (28 − 27) / (28 − 23) = 0,2; „ciepło” (27 − 22) / 6 = 0,83; „gorąco” 0 (zaczyna się dopiero od 30 °C). Wilgotność 60 %: „sucho” 0 (kończy się na 50 %), „wilgotno” (60 − 40) / 30 = 0,67.
Krok 2 — siły reguł. „Lub” wewnątrz warunku oblicza dualna t-konorma, „i” między warunkami t-norma:
| Reguła | Przynależności w warunku | α z minimum | α z iloczynem |
|---|---|---|---|
| R1 | 0,00 lub 0,20 | 0,20 | 0,20 |
| R2 | 0,83 i 0,00 | 0,00 | 0,00 |
| R3 | 0,83 i 0,67 | 0,67 | 0,56 |
| R4 | 0,00 | 0,00 | 0,00 |
Na przykład R3 z iloczynem: 5/6 · 2/3 = 10/18 ≈ 0,56; R1 z maksimum: max(0; 0,2) = 0,2.
Krok 3 — przycięcie i połączenie. Wartość zbioru wyjściowego w kilku punktach, μ(y) = max(min(0,2; μwolno(y)), min(0,67; μszybko(y))) — R2 i R4 mają siłę 0 i nic nie dodają:
| obroty y (%) | 10 | 40 | 50 | 60 | 70 | 80 | 90 |
|---|---|---|---|---|---|---|---|
| μwolno(y) | 1,00 | 0,20 | 0,00 | 0,00 | 0,00 | 0,00 | 0,00 |
| μszybko(y) | 0,00 | 0,00 | 0,00 | 0,20 | 0,60 | 1,00 | 1,00 |
| μ(y), minimum | 0,20 | 0,20 | 0,00 | 0,20 | 0,60 | 0,67 | 0,67 |
| μ(y), iloczyn | 0,20 | 0,04 | 0,00 | 0,11 | 0,33 | 0,56 | 0,56 |
Na przykład w y = 70: „szybko” zachodzi tam w (70 − 55) / (80 − 55) = 0,6, to mniej niż siła 0,67, więc przycięcie nic nie zmienia i μ(70) = 0,6. W y = 90 „szybko” zachodzi w pełni (1), a przycięcie obniża je do 0,67. Obrotów między 45 a 55 % nie zaleca żadna reguła.
def sila(podminky, vstup, t_norma=min):
hodnoty = []
for promenna, terminy in podminky: # terminy połączone „lub”
hodnoty.append(max(mu[promenna][t](vstup[promenna]) for t in terminy))
vysledek = 1.0
for h in hodnoty: # warunki połączone „i”
vysledek = t_norma(vysledek, h)
return vysledek
def vystup(pravidla, vstup, y):
return max(min(sila(r.kdyz, vstup), mu_otacky[r.pak](y)) for r in pravidla)
7. Logika rozmyta a dzisiejsza AI
- Logika, którą można różniczkować. T-normy są ciągłe, więc da się je różniczkować. Podejścia neurosymboliczne, takie jak Logic Tensor Networks, składają z nich funkcję straty: sieć uczy się nie tylko z przykładów, ale też z reguł typu „każdy pies jest ssakiem”, których prawdziwość oblicza się spójnikami rozmytymi.
- Miękkie ograniczenia. Probabilistic Soft Logic używa spójników Łukasiewicza do zapisu reguł z wagami — na przykład do rekomendacji albo do łączenia rekordów o tej samej osobie.
- Czytelne decyzje. Reguły rozmyte są krótkie i zrozumiałe. Tam, gdzie ludzie muszą sprawdzić podejmowanie decyzji, do dziś stosuje się je jako wyjaśnialną alternatywę dla czarnej skrzynki.
8. Podsumowanie
- W logice rozmytej zdania mają prawdziwość z [0, 1]; spójniki są funkcjami na tych wartościach.
- „I” to t-norma — minimum, iloczyn, Łukasiewicza i inne; wszystkie leżą między t-normą drastyczną a minimum.
- „Lub” to dualna t-konorma, „nie” standardowo 1 − a; prawa De Morgana obowiązują zawsze, pozostałe prawa zależnie od wyboru t-normy.
- Implikacja rezydualna zachowuje modus ponens; na niej opierają się formalne logiki rozmyte.
- Reguły JEŻELI–TO oblicza się siłą warunku, przycięciem lub pomniejszeniem wniosku i połączeniem maksimum — dla wentylatora przy 27 °C i 60 % zadziała R1 z siłą 0,2 i R3 z siłą 0,67.
Chcesz to wypróbować? Poproś agenta AI, żeby napisał tabelę praw z tej części dla innych t-norm — na przykład rodziny Hamachera albo Franka — i sprawdź, która najbardziej przypomina logikę klasyczną.
Masz inne zdanie? Napisz na support@coden-app.com.