Artificial immune system

Artificial Immune System (AIS) is a common name for a set of computational methods inspired by mechanisms underlying vertebrate immune systems. Such systems are typically characterized by memory and ability to learn. Core concepts of AIS include:

Own cell
An object being natural part of a system, pattern acceptable in this system
Antibody
An object which recognizes objects different then own cells, not desired patterns
Antigen
An object which stimulates antibodies
The most natural application of systems inspired by immune-based algorithms is security, for example in NIDS (network intrusion detection systems). AIS are also used for machine learning (e.g. anti-spam filters), data analysis (unattended clustering) or agent systems (e.g. intelligent buildings).

Negative Selection

This algorithm allows to generate a set of antibodies - detectors which are not stimulated by own cells.
  1. Let D be an empty set of detectors
  2. Repeat until not enough detectors have been generated
    1. Create random detector
    2. Check (using some metric) distance between detector and each own cell
    3. If minimal distance is higher then given threshold, then add detector to set D

Clonal Selection

This algorithm allows to promote efficient detectors.
  1. Let D be a set of detectors
  2. Let S be a set of antigens to detect
    1. For each antigen from S, choose N least distant (according to some metrics) detectors
    2. For each such an antigen, create a number of clones inversely proportional to distance
    3. Mutate each clone proportionally to its parent distance
    4. Add clones to the D set
  3. Repeat until stop condition (e.g. every antigen has been recognized)

Demo

Choose language:


The demonstration presents described algorithms sequentially. Initially, the set of detectors is created with negative selection algorithm. Afterwards, users can 'infect' the system with antigens. Clonal selection algorithm is used for removing the selected infection.

The demonstration also shows which own cells would be false positives for mutated detectors. In reality, such own cells would not be false positives – in a healthy organism, negative selection would not allow creation of detectors that would recognize its own cells, but some antigens would be incorrectly considered as own cells.

Available parameters:

  1. Number of own cells
  2. Number of antibodies to create
  3. Detection range
  4. Number of antibodies activated by single antigen
  5. Number of clones created for activated antibody
  6. Simulation step time
Objects in the demonstrations are points in 2 dimensional space, with Euclidean metric determining the distance.

Meaning of colors

Each element of the immune system is represented as a circle.

Own cell Own cell
Antibody Antibody
 Antigen
 Antibody activated by antigen
 New, mutated antibody

Program and text: Krzysztof Witkowski
Program in javascript: Jakub Wąsikowski
Mentor: Maciej Komosinski