Sztuczny układ odpornościowy (system immunologiczny)

Sztuczny system odpornościowy (ang. Artificial Immune System, w skrócie AIS) to zbiór metod obliczeniowych inspirowanych zasadami działania układów odpornościowych u kręgowców. Typową charakterystyką takich systemów jest pamięć oraz zdolność uczenia. Pojęcia na których operują algorytmy AIS to

Komórka macierzysta (ang. own cell)
Obiekt naturalnie należący do systemu, wzorzec akceptowany w systemie
Przeciwciało (ang. antibody)
Obiekt rozpoznający obiekty nie będące komórkami macierzystymi, niepożądane wzorce
Antygen (ang. antigen)
Obiekt rozpoznawany i uaktywniający przeciwciała
Najbardziej naturalnym zastosowaniem systemów opartych na algorytmach inspirowanych systemem odpornościowym jest bezpieczeństwo, przykładowo w systemach NIDS (network intrusion detection system). AIS używa się również do uczenia maszynowego (np. filtry antyspamowe), analizy danych (nienadzorowane grupowanie) i w szeroko pojętych systemach agentowych (np. inteligentne budynki).

Algorytm selekcji negatywnej (ang. negative selection)

Służy do wygenerowania zbioru przeciwciał - detektorów, które nie są uaktywniane przez komórki macierzyste.
  1. Niech D będzie zbiorem detektorów, pustym
  2. Powtarzaj dopóki nie zostanie wygenerowana żądana liczba przeciwciał
    1. Utwórz losowy detektor
    2. Sprawdź według przyjętej metryki odległość między detektorem, a każdą z komórek macierzystych
    3. Jeżeli odległość jest większa od zadanego progu, dodaj detektor do zbioru przeciwciał

Algorytm selekcji klonalnej (ang. clonal selection)

Służy do promowania skutecznych detektorów.
  1. Niech D będzie zbiorem detektorów
  2. Niech S będzie danym zbiorem antygenów do wykrycia
    1. Dla każdego antygenu z S wybierz N najmniej odległych (według przyjętej metryki) detektorów
    2. Dla każdego takiego detektora utwórz liczbę klonów odwrotnie proporcjonalną do odległości
    3. Zmutuj każdego klona proporcjonalnie do odległości rodzica
    4. Dodaj klony do zbioru detektorów
  3. Powtarzaj dopóki nie zajdzie warunek stopu (np. nie będzie żadnego nierozpoznanego antygenu)

Demonstracja

Wybierz język:


Demonstracja prezentuje sekwencyjnie opisane algorytmy. Najpierw tworzy zbiór detektorów z wykorzystaniem selekcji negatywnej. Następnie w interakcji z użytkownikiem, który 'infekuje' system antygenem, wykorzystuje się algorytm selekcji klonalnej do usunięcia oznaczonej infekcji.

Demonstracja pokazuje również, które komórki macierzyste zostałyby błędnie rozpoznane przez zmutowane detektory. W rzeczywistości nie będą one błędnie rozpoznane – selekcja negatywna w zdrowym organizmie nie dopuści do powstania detektorów rozpoznających własne komórki, za to niektóre antygeny zostaną błędnie uznane za komórki własne.

Dostępne parametry demonstracji:

  1. Liczba komórek macierzystych
  2. Liczba przeciwciał do utworzenia
  3. Zasięg reakcji detekcji
  4. Liczba najbliższych przeciwciał aktywowanych przez antygen
  5. Liczba klonów tworzonych dla aktywowanych przeciwciał
  6. Czas kroku symulacji
Obiektami demonstracji są punkty w przestrzeni 2D. Metryką odległości jest odległość euklidesowa.

Znaczenie kolorów

Każdy element systemu odpornościowego reprezentowany jest w postaci kółka.

Own cell Komórka macierzysta
Antibody Przeciwciało
 Antygen
 Przeciwciało uaktywnione przez antygen
 Nowe, zmutowane przeciwciało

Program i tekst: Krzysztof Witkowski
Program javascript: Jakub Wąsikowski
Prowadzący: Maciej Komosiński