Przejdź do treści
coden

Zbiory rozmyte i funkcje przynależności: jak zapisać „trochę ciepło”

Ostra granica i paradoks stosu, zbiór rozmyty i stopień przynależności, kształty funkcji przynależności, zmienna lingwistyczna, nośnik, jądro i α-przekroje, operacje Zadeha oraz modyfikatory „bardzo” i „trochę” — na temperaturze od zimna po gorąco.

12 minut Matěj Žalmánek 2026-10-15

Seria Podstawy AI Część 32 z 52
  1. Mapa sztucznej inteligencji: co jest czym i jak to do siebie pasuje
  2. Krótka historia sztucznej inteligencji: od Turinga do modeli językowych
  3. Dane, model, trening, inferencja: podstawowe pojęcia na jednym przykładzie
  4. Jak czytać zapis matematyczny: symbole, indeksy, sumy i kwantyfikatory
  5. Zbiory i relacje: klocki, z których składają się definicje w AI
  6. Funkcje i odwzorowania: dlaczego każdy model AI jest funkcją
  7. Logika i dowody: reguły, według których rozumuje AI
  8. Grafy i drzewa: struktura, na której opierają się przeszukiwanie i sieci neuronowe
  9. Algebra liniowa dla uczenia maszynowego: wektory, macierze i dlaczego AI głównie mnoży
  10. Pochodne, gradient i reguła łańcuchowa: jak model ustala, w którą stronę się uczyć
  11. Spadek gradientu: jak uczy się model
  12. Czym jest prawdopodobieństwo: od rzutu kostką do aksjomatów Kołmogorowa
  13. Prawdopodobieństwo warunkowe i twierdzenie Bayesa: jak zmienić ocenę, gdy dowiesz się czegoś nowego
  14. Zmienna losowa i dystrybuanta: jedna funkcja, która mówi o rozkładzie wszystko
  15. Funkcja gęstości i funkcja prawdopodobieństwa: dlaczego zmienna ciągła ma w punkcie prawdopodobieństwo zero
  16. Wartość oczekiwana, wariancja i kowariancja: gdzie leży rozkład, jak jest szeroki i co z czym się wiąże
  17. Przegląd rozkładów prawdopodobieństwa: Bernoulliego, dwumianowy, Poissona, jednostajny, normalny i wykładniczy
  18. Prawo wielkich liczb i centralne twierdzenie graniczne: dlaczego średnie zachowują się tak przewidywalnie
  19. Statystyka i estymacja parametrów: największa wiarygodność, MAP i przedziały ufności
  20. Teoria informacji: entropia, entropia krzyżowa i dywergencja KL — skąd się biorą funkcje straty
  21. Przeszukiwanie przestrzeni stanów: BFS, DFS, UCS i A* z animacjami
  22. Gry i przeciwnik: minimax, przycinanie alfa-beta i Monte Carlo tree search
  23. Spełnianie ograniczeń: backtracking, propagacja ograniczeń i AC-3 na sudoku i mapie czeskich krajów
  24. Logika i systemy z bazą wiedzy: wnioskowanie w przód i wstecz, rezolucja i systemy ekspertowe
  25. Planowanie: STRIPS, świat klocków, heurystyki z relaksacji i planowanie w agentach AI
  26. Przeszukiwanie lokalne i symulowane wyżarzanie: komiwojażer przez czeskie miasta wojewódzkie
  27. Algorytmy genetyczne: populacja, krzyżowanie, mutacja i selekcja na plecaku na wycieczkę
  28. Strategie ewolucyjne i programowanie genetyczne: od reguły jednej piątej do prawa Keplera
  29. Optymalizacja kolonią mrówek: jak ślad feromonowy znajduje krótką drogę
  30. Optymalizacja rojem cząstek: bezwładność, własne doświadczenie i doświadczenie roju
  31. Neuroewolucja: ewolucja wag i kształtu sieci neuronowych oraz algorytm NEAT
  32. Zbiory rozmyte i funkcje przynależności: jak zapisać „trochę ciepło”
  33. Logika rozmyta a prawdopodobieństwo: dlaczego „trochę ciepło” nie znaczy „prawdopodobnie ciepło”
  34. Logika rozmyta: t-normy, implikacje i reguły JEŻELI–TO
  35. Sterowanie rozmyte: Mamdani i Sugeno od wentylatora po wahadło na wózku
  36. Klasteryzacja rozmyta: algorytm fuzzy c-means i punkty między skupieniami
  37. Systemy neuro-rozmyte (ANFIS): reguły rozmyte, które uczą się z danych
  38. Łańcuchy Markowa: macierz przejścia, rozkład stacjonarny i PageRank
  39. Ukryte modele Markowa: algorytm Viterbiego i nieuczciwe kasyno
  40. Sieci bayesowskie: dlaczego trawa jest mokra i co z tego wynika dla zraszacza
  41. Filtr Kalmana: jak z niedokładnych pomiarów oszacować, gdzie jest samochód i jak szybko jedzie
  42. Rodzaje uczenia maszynowego: nadzorowane, nienadzorowane, półnadzorowane i inne
  43. Prompty, kontekst i RAG: jak dać modelowi właściwe informacje
  44. Wariacyjne autoenkodery (VAE): nowe obrazki z ciągłej przestrzeni latentnej
  45. Generatywne sieci przeciwstawne (GAN): fałszerz kontra detektyw
  46. Modele dyfuzyjne: jak z czystego szumu powstaje obraz
  47. Procesy decyzyjne Markowa: stany, akcje, nagrody i równania Bellmana
  48. Q-learning i DQN: uczenie się wartości akcji od tabeli po sieć neuronową
  49. Policy gradient i PPO: uczenie się bezpośrednio polityki
  50. Jak działa agent AI: model językowy w pętli z narzędziami
  51. Programowanie z agentami AI: zadanie, testy i kontrola
  52. Ocena i bezpieczeństwo systemów AI: jak mierzyć i jak pilnować

Pełny program serii Gotowe: 52 z 83 tematów

Czego się dowiesz
  • Czym jest zbiór rozmyty i dlaczego stopień przynależności nie jest prawdopodobieństwem.
  • Jak słowa takie jak „ciepło” czy „przyjemnie” zapisuje się funkcjami przynależności i jak się one nakładają.
  • Jak działają rozmyte przecięcie, suma i dopełnienie i dlaczego nie obowiązuje prawo wyłączonego środka.

Warto wiedzieć wcześniej: Zbiory i relacje: klocki, z których składają się definicje w AI, Funkcje i odwzorowania: dlaczego każdy model AI jest funkcją

Ile ziarenek piasku tworzy stos? Milion na pewno. Jedno na pewno nie. A kiedy ze stosu zabierzesz jedno ziarenko, nadal jest to stos — więc zgodnie z tą logiką nawet jedno ziarenko byłoby stosem. Ten paradoks znali już starożytni Grecy i pokazuje on, że wiele słów, którymi mówimy o świecie, nie ma ostrej granicy: wysoki, ciepło, szybko, prawie pełno. Klasyczna matematyka radzi sobie z nimi źle, bo element do zbioru albo należy, albo nie należy. W 1965 roku Lotfi Zadeh z Uniwersytetu Kalifornijskiego w Berkeley zaproponował proste rozwiązanie: pozwolić, by element należał do zbioru trochę.

Ta część otwiera moduł o logice rozmytej. Nawiązuje do części Zbiory i relacje oraz Funkcje i odwzorowania.

1. Ostra granica i jej problem

Definicja — funkcja charakterystyczna

Klasyczny (ostry) zbiór A ⊆ X jest jednoznacznie wyznaczony przez swoją funkcję charakterystyczną χA : X → {0, 1}, gdzie χA(x) = 1 dla x ∈ A i 0 w przeciwnym razie.

Mówiąc prościej

Zbiór ostry to lista z jasnym tak i nie. Powiedzmy, że „ciepło” zaczyna się od 25 °C. Wtedy 25 °C to ciepło, a 24,9 °C już nie — choć różnicy nikt nie odczuje. Granica w jednym miejscu jest dowolna, a mała zmiana wejścia powoduje skok w wyniku.

00,51 0510152025303540 temperatura T (°C) stopień przynależności μ (0–1)
„Ciepło” jako zbiór ostry i jako zbiór rozmyty ostry: od 25 °Crozmyty

2. Zbiór rozmyty

Definicja — zbiór rozmyty (Zadeh, 1965)

Zbiór rozmyty A w uniwersum X jest dany funkcją przynależności μA : X → [0, 1]. Liczba μA(x) to stopień przynależności elementu x do A; formalnie A = {(x, μA(x)) : x ∈ X}.

Zbiór ostry jest szczególnym przypadkiem, w którym μA przyjmuje tylko wartości 0 i 1.

Mówiąc prościej

Zamiast „należy, nie należy” każdy element dostaje liczbę od zera do jedynki: jak bardzo należy do zbioru. 28 °C to „ciepło” w pełni (1), 25 °C w połowie (0,5), 20 °C wcale (0). Pomiędzy przynależność zmienia się płynnie — żadnego skoku między 24,9 a 25.

Ważne jest, czym stopień przynależności nie jest: nie jest prawdopodobieństwem. Gdy 25 °C jest „ciepło” w stopniu 0,5, nie znaczy to, że z pięćdziesięcioprocentową szansą jest ciepło. Temperatura jest znana dokładnie; nieostre jest słowo. Różnicy między nieostrością słowa a niepewnością losu poświęcona jest następna część.

3. Kształty funkcji przynależności

Definicja — typowe funkcje przynależności
  • Trójkątna z parametrami a < b < c: rośnie liniowo od 0 w a do 1 w b i opada do 0 w c.
  • Trapezowa z parametrami a ≤ b ≤ c ≤ d: rośnie od a do b, między b a c wynosi 1, opada do d.
  • Gaussowska: μ(x) = e−(x − m)2 / 2s2 — gładki pagórek o środku m i szerokości s.
  • Sigmoidalna: μ(x) = 1 / (1 + e−a(x − c)) — płynne przejście od 0 do 1 wokół punktu c.
Mówiąc prościej

Kształt wybiera się według tego, co jest naturalne i co łatwo się liczy. W praktyce zdecydowanie najczęściej wygrywają trójkąty i trapezy: wystarczy kilka liczb, każdy je rozumie, a obliczenia są szybkie. Dokładny kształt zwykle ma mniejsze znaczenie, niż by się wydawało — ważne jest, gdzie funkcja się zaczyna, gdzie osiąga szczyt i gdzie się kończy.

μ(x) = max( 0, min( (x − a) / (b − a), (c − x) / (c − b) ) )

(x − a) / (b − a)
lewe zbocze — prosta, która w a ma wartość 0, a w b wartość 1; dzielenie przez długość b − a sprawia, że szczyt wychodzi dokładnie 1 niezależnie od szerokości
(c − x) / (c − b)
prawe zbocze — lustrzanie: w b wartość 1, w c wartość 0
min
wybiera to zbocze, które jest akurat niżej — na lewo od b prawe zbocze jest powyżej 1, na prawo od b lewe; minimum „ścina” więc szczyt dokładnie w b
max(0, …)
poza przedziałem (a; c) zbocza wyszłyby ujemne; stopień przynależności nie może jednak spaść poniżej 0
Trójkąt jednym wyrażeniem — dokładnie tym, które liczy funkcja trojuhelnik poniżej. Dla „ciepło” (22, 28, 34) i 25 °C: min(3/6, 9/6) = 0,5.
def trojuhelnik(a, b, c):
    return lambda x: max(0.0, min((x - a) / (b - a), (c - x) / (c - b)))

def lichobeznik(a, b, c, d):
    def mu(x):
        if x < a or x > d:
            return 0.0
        if x < b:
            return (x - a) / (b - a)
        return 1.0 if x <= c else (d - x) / (d - c)
    return mu

teplo = trojuhelnik(22, 28, 34)
print(teplo(25), teplo(28), teplo(31))   # 0.5 1.0 0.5

4. Zmienna lingwistyczna

Definicja — zmienna lingwistyczna (Zadeh, 1975)

Zmienna lingwistyczna to zmienna, której wartościami są słowa. Jest dana nazwą (na przykład „temperatura”), uniwersum X (0–40 °C) i zbiorem termów (zimno, przyjemnie, ciepło, gorąco), z których każdy jest zbiorem rozmytym w X.

Mówiąc prościej

Słowa, którymi opisujemy temperaturę, nakładają się na siebie — i to jest w porządku. 25 °C to trochę „przyjemnie” i trochę „ciepło”, dokładnie tak, jak powiedziałby to człowiek.

Nasza temperatura ma cztery termy: zimno to trapez (0, 0, 6, 14), przyjemnie trapez (10, 17, 23, 28), ciepło trójkąt (22, 28, 34), a gorąco trapez (30, 36, 40, 40). Pionowa linia przeskakuje między przykładowymi temperaturami:

00,51 0510152025303540 12 °C 0,250,29 25 °C 0,600,50 31 °C 0,500,17 temperatura T (°C) stopień przynależności μ (0–1)
Zmienna lingwistyczna temperatura i przynależności trzech temperatur zimnoprzyjemnieciepłogorąco
  • 12 °C to „zimno” w stopniu 0,25 i „przyjemnie” w stopniu 0,29 — chłodna wiosna, kiedy nie da się zdecydować.
  • 25 °C to „przyjemnie” w stopniu 0,6 i „ciepło” w stopniu 0,5.
  • 31 °C to „ciepło” w stopniu 0,5 i już także „gorąco” w stopniu 0,17.
Przykład — przynależności krok po kroku

Na każdym zboczu wystarczy stosunek „ile zbocza już przebyto” do „jak długie jest zbocze”:

12 °C, zimno (0, 0, 6, 14) na opadającym zboczu: (14 − 12) / (14 − 6) = 2/8 = 0,25

12 °C, przyjemnie (10, 17, 23, 28) na rosnącym zboczu: (12 − 10) / (17 − 10) = 2/7 ≈ 0,29

25 °C, przyjemnie na opadającym zboczu: (28 − 25) / (28 − 23) = 3/5 = 0,6

25 °C, ciepło (22, 28, 34) na rosnącym zboczu: (25 − 22) / (28 − 22) = 3/6 = 0,5

31 °C, ciepło na opadającym zboczu: (34 − 31) / (34 − 28) = 3/6 = 0,5

31 °C, gorąco (30, 36, 40, 40) na rosnącym zboczu: (31 − 30) / (36 − 30) = 1/6 ≈ 0,17

Pozostałe termy mają w tych temperaturach przynależność 0 — temperatura leży poza ich nośnikiem.

Zauważ, że przynależności jednej temperatury nie muszą sumować się do 1 (dla 25 °C dają 1,1). Zbiory rozmyte nie są udziałami jednej całości, lecz niezależnymi odpowiedziami na pytania „czy jest zimno?”, „czy jest przyjemnie?”…

5. Nośnik, jądro i α-przekroje

Definicja — nośnik, jądro, wysokość, α-przekrój
  • Nośnik (support) to {x : μA(x) > 0} — elementy, które należą do A przynajmniej trochę.
  • Jądro (core) to {x : μA(x) = 1} — elementy, które należą w pełni.
  • Wysokość to supx μA(x); zbiór o wysokości 1 jest normalny.
  • α-przekrój dla α ∈ (0, 1] to zbiór ostry Aα = {x : μA(x) ≥ α}. Zbiór rozmyty jest wypukły, gdy wszystkie jego α-przekroje są przedziałami.
Mówiąc prościej

α-przekrój to „jak surowi chcemy być”. Przekrój na poziomie 0,5 zawiera temperatury, które są przyjemne przynajmniej w połowie. Z α-przekrojów da się zbiór rozmyty z powrotem złożyć — to poziomice pagórka. I dzięki nim matematykę zbiorów ostrych można stosować także do zbiorów rozmytych: wystarczy ją zastosować osobno na każdym poziomie α.

00,51 0510152025303540 α-przekrój 0,5: [13,5; 25,5]nośnik (10; 28)jądro [17; 23] temperatura T (°C) stopień przynależności μ (0–1)
Term „przyjemnie”: nośnik, jądro i α-przekrój dla α = 0,5 przyjemnie

Dla „przyjemnie” nośnik to przedział otwarty (10; 28), jądro [17; 23], a α-przekrój na poziomie 0,5 przedział [13,5; 25,5]. Zbiór jest normalny (wysokość 1) i wypukły — jak wszystkie nasze termy. (Supremum sup w definicji wysokości to najmniejsze ograniczenie górne wartości; dla naszych funkcji ciągłych na przedziale domkniętym jest to po prostu maksimum.)

Aα = [ a + α (b − a) ;  d − α (d − c) ]

α
poziom przekroju (na rysunku bursztynowa linia) — ile przynależności wymagamy; im wyższy, tym dalej od brzegów trzeba odejść i przekrój się zwęża
a
lewy brzeg nośnika — stąd wznosi się lewe zbocze; przy α → 0 przekrój zaczyna się właśnie tutaj
(b − a)
szerokość lewego zbocza — na nim przynależność rośnie od 0 do 1, więc poziom α osiąga po przebyciu ułamka α tej szerokości
d
prawy brzeg nośnika — stąd mierzy się z powrotem w lewo
(d − c)
szerokość prawego zbocza — lustrzanie: od d przechodzimy w lewo ułamek α tej szerokości
α-przekrój trapezu (a, b, c, d) dla α ∈ (0, 1]: wystarczy rozwiązać (x − a)/(b − a) = α i (d − x)/(d − c) = α. Dla α = 1 wychodzi jądro [b; c].
Przykład — α-przekroje termu „przyjemnie” (10, 17, 23, 28)

α = 0,5: [10 + 0,5 · 7; 28 − 0,5 · 5] = [13,5; 25,5]

α = 0,8: [10 + 0,8 · 7; 28 − 0,8 · 5] = [15,6; 24]

α = 1: [10 + 7; 28 − 5] = [17; 23] = jądro

Przekroje są zagnieżdżone: im wyższe α, tym mniejszy przedział, a każdy wyższy leży wewnątrz niższego. Z powrotem zbiór rozmyty składa się jako μA(x) = sup {α : x ∈ Aα} — przynależność punktu to najwyższy przekrój, do którego jeszcze wpada.

Gdy funkcja przynależności nie jest dana wzorem, lecz na przykład zmierzonymi punktami, α-przekrój liczy się na gęstej siatce. Dokładnie tak robi to program, który rysuje obrazki w tej części:

def alfa_rez(mu, alfa, od=0.0, do=40.0, kroku=4000):
    body = [od + i * (do - od) / kroku for i in range(kroku + 1)]
    uvnitr = [x for x in body if mu(x) >= alfa]
    return (uvnitr[0], uvnitr[-1]) if uvnitr else None   # dla zbioru wypukłego przedział

prijemne = lichobeznik(10, 17, 23, 28)
print(alfa_rez(prijemne, 0.5))    # (13.5, 25.5)

6. Dopełnienie, przecięcie i suma

Definicja — operacje Zadeha

μ¬A(x) = 1 − μA(x),   μA ∩ B(x) = min(μA(x), μB(x)),   μA ∪ B(x) = max(μA(x), μB(x)).

Dla zbiorów ostrych te wzory dają dokładnie klasyczne dopełnienie, przecięcie i sumę.

Mówiąc prościej

„Przyjemnie i zarazem ciepło” jest tak prawdziwe, jak prawdziwa jest słabsza z obu części; „przyjemnie lub ciepło” tak, jak ta silniejsza. Łańcuch jest tak mocny jak najsłabsze ogniwo, a gdy wystarczy jedno z dwojga, decyduje to lepsze.

00,51 0510152025303540 nie jest przyjemnie = 1 − μ przyjemnie i ciepło = min przyjemnie lub ciepło = max temperatura T (°C) stopień przynależności μ (0–1)
Operacje na termach „przyjemnie” i „ciepło” przyjemnieciepło

Przy 25 °C „przyjemnie i ciepło” wynosi 0,5, a „przyjemnie lub ciepło” 0,6. Przecięcie osiąga najwyżej 0,545 w okolicy 25,3 °C, gdzie obie krzywe się krzyżują — żadna temperatura nie jest w pełni jednym i drugim.

μP ∩ T(x) = min( μP(x), μT(x) )

μP(x)
jak bardzo temperatura x jest „przyjemnie” (na rysunku zielona krzywa)
μT(x)
jak bardzo jest „ciepło” (bursztynowa krzywa) — obie przynależności liczy się niezależnie, każdą swoją funkcją
min
„i zarazem” może być najwyżej tak prawdziwe jak słabsza część — gdyby było bardziej, twierdzilibyśmy o temperaturze więcej, niż udźwignie jedno z obu słów; a dla wartości 0 i 1 min daje dokładnie klasyczne „i”
Suma to to samo z max (silniejsza z obu), dopełnienie 1 − μ odwraca skalę: co należy w pełni, nie należy wcale, a co w połowie, zostaje w połowie.
Przykład — gdzie przecięcie jest najwyższe

Między 23 a 28 °C przyjemnie maleje, a ciepło rośnie, więc minimum jest najwyższe tam, gdzie krzywe się przetną:

(28 − x) / 5 = (x − 22) / 6

6 (28 − x) = 5 (x − 22)  ⇒  168 − 6x = 5x − 110  ⇒  x = 278/11 ≈ 25,27 °C

μ = (28 − 278/11) / 5 = 6/11 ≈ 0,545

Na lewo od punktu przecięcia niższe jest ciepło, na prawo przyjemnie — minimum zawsze tam maleje.

Tutaj zbiory rozmyte różnią się od klasycznych w czymś zasadniczym. Obowiązują dla nich prawie wszystkie znane reguły — przemienność, łączność, prawa De Morgana — ale nie prawo wyłączonego środka. Przecięcie A ∩ ¬A nie musi być puste: „przyjemnie i zarazem nie jest przyjemnie” ma przy 13,5 °C wartość 0,5. Dla nieostrych słów to słuszne — o temperaturze, która jest przyjemna w połowie, można zarazem w połowie powiedzieć, że przyjemna nie jest. Inne możliwości przecięcia i sumy (tak zwane t-normy) pojawią się w części o logice rozmytej.

Twierdzenie — prawa De Morgana obowiązują, wyłączony środek nie

Dla dowolnych zbiorów rozmytych A, B w X i każdego x ∈ X przy operacjach Zadeha zachodzi

  1. ¬(A ∩ B) = ¬A ∪ ¬B oraz ¬(A ∪ B) = ¬A ∩ ¬B,
  2. μA ∩ ¬A(x) ≤ ½ oraz μA ∪ ¬A(x) ≥ ½, z równością wtedy i tylko wtedy, gdy μA(x) = ½.

Dowód. (1) Oznaczmy p = μA(x), q = μB(x) i bez straty ogólności p ≤ q. Wtedy 1 − min(p, q) = 1 − p, a ponieważ 1 − p ≥ 1 − q, także max(1 − p, 1 − q) = 1 − p. Drugie prawo tak samo z zamienionymi min i max.

(2) Liczby p i 1 − p sumują się do 1, więc mniejsza z nich wynosi najwyżej ½, a większa co najmniej ½. ∎

Klasyczne prawo wyłączonego środka wymaga A ∪ ¬A = X, czyli wartości 1 wszędzie. Dla zbioru rozmytego zachodzi tylko tam, gdzie μA wynosi 0 lub 1; najgorzej jest w punktach o przynależności ½ — dla „przyjemnie” przy 13,5 i 25,5 °C, gdzie A ∩ ¬A i A ∪ ¬A mają wartość 0,5.

Sprawdzenie na liczbie: przy 25 °C ¬(P ∩ T) = 1 − min(0,6; 0,5) = 0,5 oraz ¬P ∪ ¬T = max(0,4; 0,5) = 0,5.

7. Bardzo ciepło, trochę ciepło

Definicja — modyfikatory lingwistyczne (Zadeh, 1972)

Koncentracja („bardzo”): μbardzo A(x) = μA(x)2. Dylatacja („trochę”, „mniej więcej”): μtrochę A(x) = √μA(x).

Mówiąc prościej

Podniesienie do kwadratu liczby między 0 a 1 ją zmniejsza — i to tym bardziej, im jest mniejsza: 0,5 zmienia się w 0,25, ale 1 zostaje 1. „Bardzo ciepło” jest więc węższe i surowsze niż „ciepło”. Pierwiastek przeciwnie zbiór poszerza: 25 °C to „ciepło” w stopniu 0,5, „trochę ciepło” w stopniu 0,71, a „bardzo ciepło” tylko w stopniu 0,25.

00,51 0510152025303540 temperatura T (°C) stopień przynależności μ (0–1)
Ciepło, bardzo ciepło i trochę ciepło trochę ciepło (√μ)ciepłobardzo ciepło (μ²)
Definicja — zawieranie się zbiorów rozmytych

Zbiór rozmyty A jest podzbiorem B (A ⊆ B), gdy μA(x) ≤ μB(x) dla każdego x ∈ X. Dla zbiorów ostrych to zwykła inkluzja: gdzie χA = 1, tam musi być też χB = 1.

μ(x)2 ≤ μ(x) ≤ √μ(x)   dla μ(x) ∈ [0, 1]

μ2
„bardzo” (czerwona krzywa) — mnożenie przez liczbę najwyżej 1 nigdy nie zwiększa, więc kwadrat leży pod pierwotną krzywą; najwięcej ujmuje przy wartościach średnich, zero i jedynkę zostawia
μ
samo „ciepło” (bursztynowa krzywa) — wyjściowy term, który modyfikatory tylko przekształcają; nośnik ani jądro się nie zmieniają
√μ
„trochę” (fioletowa krzywa) — pierwiastek jest odwrotnością kwadratu, więc podnosi to, co kwadrat spłaszcza: √0,25 = 0,5
Dlatego bardzo A ⊆ A ⊆ trochę A: „bardzo ciepło” jest zawsze ciepło, a co jest ciepło, jest przynajmniej trochę ciepło. Przez powtarzanie powstaje skala: „bardzo bardzo” to μ4.
Przykład — o ile „bardzo” zwęża, a „trochę” poszerza

α-przekrój na poziomie 0,5 dla „ciepło” (22, 28, 34) to [25; 31]. Dla zmodyfikowanych termów wystarczy przeliczyć poziom z powrotem na pierwotne μ:

bardzo ciepło: μ² ≥ 0,5  ⇔  μ ≥ √0,5 ≈ 0,707  →  [22 + 0,707 · 6; 34 − 0,707 · 6] ≈ [26,24; 29,76]

trochę ciepło: √μ ≥ 0,5  ⇔  μ ≥ 0,25  →  [22 + 0,25 · 6; 34 − 0,25 · 6] = [23,5; 32,5]

Przedział „przynajmniej w połowie” ma 6 °C dla „ciepło”, około 3,5 °C dla „bardzo ciepło” i 9 °C dla „trochę ciepło”.

8. Zbiory rozmyte w praktyce

  • Sterowanie rozmyte. Metro w japońskim Sendai jeździ od 1987 roku z regulatorem rozmytym, który rusza i hamuje płynniej niż człowiek. Około 1990 roku przyszła w Japonii fala rozmytych pralek, kamer i klimatyzatorów. Jak taki regulator działa, wyjaśni część o sterowaniu rozmytym.
  • Przetwarzanie obrazu i klasteryzacja. Piksel na granicy dwóch obszarów może należeć trochę do obu; klasteryzacja rozmyta przypisuje punkty do kilku skupień jednocześnie.
  • Uczenie maszynowe. Miękkie wyjścia klasyfikatorów czy technika label smoothing (zamiast pewnego „to jest kot” cel „kot w stopniu 0,9”) nie są zbiorami rozmytymi w sensie Zadeha, ale dzielą z nimi myśl, że przynależność do klasy nie musi wynosić tylko 0 albo 1.
  • Język. Modele językowe codziennie pracują ze słowami takimi jak „dość”, „prawie” czy „raczej nie”. Zbiory rozmyte są jednym z niewielu narzędzi, które takim słowom nadają precyzyjne, sprawdzalne znaczenie.

9. Podsumowanie

  • Zbiór rozmyty przypisuje każdemu elementowi stopień przynależności z przedziału [0, 1]; zbiór ostry jest szczególnym przypadkiem z wartościami 0 i 1.
  • Funkcje przynależności mają zwykle kształt trójkąta, trapezu, pagórka Gaussa albo sigmoidy.
  • Zmienna lingwistyczna ma jako wartości słowa — termy, które mogą się nakładać; 25 °C to „przyjemnie” w stopniu 0,6 i „ciepło” w stopniu 0,5.
  • Nośnik, jądro i α-przekroje opisują kształt zbioru rozmytego za pomocą zbiorów ostrych.
  • Dopełnienie to 1 − μ, przecięcie minimum, a suma maksimum; nie obowiązuje prawo wyłączonego środka. Modyfikator „bardzo” to μ², „trochę” √μ.

Chcesz to wypróbować? Poproś agenta AI, żeby narysował funkcje przynależności dla słów, którymi opisujesz własny dzień — „wcześnie”, „późno”, „długo” — i zapytaj kilka osób, gdzie one postawiłyby granicę.

Masz inne zdanie? Napisz na support@coden-app.com.

Agent na twoim komputerze, sterowany z telefonu