SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
Overview of Methods for
Engineering Autonomic Self-Aware
Systems
Artificial Immune Systems
Designed by Mark Read
The immune system
• There are many features of the immune
system that are attractive to engineers [2]:
– Distribution and self-organisation
– Learning, adaption and memory
– Pattern recognition
– Classification
– Homeostasis
Designed by Mark Read
What is the immune system?
• Classic View: complex system of cellular and
molecular components having the primary
function of distinguishing self from not self and
defense against foreign organisms or substances
• Cognitive View: The immune system is a
cognitive system whose primary role is to provide
body maintenance
• Danger View : The immune system recognises
dangerous agents and not non-self
Designed by Mark Read
Artificial Immune Systems (AIS)
• “AIS are adaptive systems inspired by theoretical
immunology and observed immune functions,
principles and models, which are applied to
problem solving” [1]
• Several flavours of AIS have emerged based on
immunological theory:
– Clonal selection theory
– Immune network theory
– Negative selection
– Danger theory
• … but new flavours are continually emerging
Designed by Mark Read
Clonal Selection AIS
• Clonal selection: competition for resource
drives immune system cells to mutate and
better recognize pathogens.
• This process drives the immune response from
weakly recognising a pathogen and mounting
an ineffective response, to being highly
specific and effective.
Designed by Mark Read
Clonal Selection AIS
• Basic algorithm [4]:
• Clonal selection AIS are typically used for pattern
recognition and classification problems [6]
Designed by Mark Read
Immune Network Theory AIS
• Cells of the IS recognize not only protein
structures expressed by pathogens, but each
other also
• Through this self-recognition the IS forms
positive and negative feedback networks that
modulate the immune response [3]
Designed by Mark Read
Immune Network Theory AIS
• Basic algorithm [4]:
• Used in data clustering and classification applications
[6]
Designed by Mark Read
Negative Selection AIS
• Inspired by notions of central tolerance:
• The random generation of receptors on IS cells
allows the IS to effectively cover the space of
protein structures that fast-evolving pathogens
use (often to evade immune detection).
• Central tolerance entails deleting IS cells that
recognise proteins of the host, and thus prevents
autoimmunity.
• Though negative selection is known to be
imperfect – all healthy beings contain self-
reactive cells – it has been effectively used in
intrusion detection systems
Designed by Mark Read
Negative Selection AIS
Basic Algorithm [4]:
Used in intrusion detection systems
Designed by Mark Read
Danger Theory AIS
• Rather than detect the presence of non-host
entities, the immune system recognises
damage to tissues (danger) and associates the
damage with what is found in the tissues [5]
• If there is no damage in the tissues, immune
cells that recognise structures there are
instead suppressed
Designed by Mark Read
Danger Theory AIS
• Basic algorithm:
– Create pool of dendritic cells (DCs)
– Use some DCs to sample available antigen, and perceive
danger/safe signals
• Has found extensive use in anomaly detection [6]
Designed by Mark Read
Engineering AIS
• How to engineer an AIS for a particular
application domain [1]? :
Designed by Mark Read
Engineering AIS
• 1. decide on appropriate representation of the
problem’s data. This facilitates mapping the
problem onto immune concepts, which affects
how the system finds solutions.
• 2. decide on appropriate affinity measures. These
quantify how elements of the system interact
with the problem environment, and with each
other.
• 3. Select algorithm(s) to operate over immune
elements of the system
Designed by Mark Read
Future directions in AIS
• Impasse, better capture natural system
• Modelling/conceptual framework
• Features of problem domains
Designed by Mark Read
References
• [1] De Castro, L., Timmis, J. Artificial Immune Systems: A New
Computational Intelligence Approach. Springer, 2002
• [2] Read, M., Andrews, P., Timmis, J. An Introduction to Artificial
Immune Systems. The handbook of natural Computing, edited by
Grzegorz Rozenberg, Thomas Back and Joost Kok. Springer, 2011
• [3] Niels K. Jerne. Towards a network theory of the immune system.
Ann. Immunol. (Inst. Pasteur), 125C:373–389, 1974
• [4] Freitas, A., Timmis, J. - Revisiting the Foundations of Artificial
Immune Systems for Data Mining. IEEE Transactions on Evolutionary
Computation 11(4) pp. 521-540 (2007)
• [5] Polly Matzinger. Tolerance, danger, and the extended family.
Annual Review of Immunology, 12:991–1045, April 1994
• [6] E. Hart and J. Timmis. Application Areas of AIS: The Past, Present
and the Future. Journal of Applied Soft Computing 8(1). pp.191-
201. 2008
Designed by Mark Read
Overview of Methods for
Engineering Autonomic Self-Aware
Systems
Evolutionary Algorithms
Designed by Gusz Eiben
The Main EC Metaphor
EVOLUTION
Environment
Individual
Fitness
PROBLEM SOLVING
Problem
Candidate Solution
Quality
Quality  chance for seeding new solutionsCV
Fitness  chances for survival and reproduction
Fitness in nature: observed, 2ndary, EC: primary
Designed by Gusz Eiben
General scheme of EAs
Population
Parents
Parent selection
Survivor selection
Offspring
Recombination
(crossover)
Mutation
Intialization
Termination
Designed by Gusz Eiben
EAs as problem solvers
• EAs fall into the category of “generate and test” algorithms
• They are stochastic, population-based algorithms
• Variation operators (recombination and mutation) create the
necessary diversity and thereby facilitate novelty
• Selection reduces diversity and acts as a force pushing quality
• Traditionally seen as optimizers (also in data mining
applications)
• Lately as the engine behind adaptation
Designed by Gusz Eiben
Two pillars of evolution
There are two competing forces
 Increasing population
diversity by genetic
operators
 mutation
 recombination
Push towards novelty
 Decreasing population
diversity by selection
 of parents
 of survivors
Push towards quality
Designed by Gusz Eiben
Common model of evolutionary
processes
• Population of individuals
• Individuals have a fitness
• Variation operators: crossover, mutation
• Selection towards higher fitness
– “survival of the fittest” and
– “mating of the fittest”
Neo Darwinism:
Evolutionary progress towards higher life forms
=
Optimization according to some fitness-criterion
(optimization on a fitness landscape)
Designed by Gusz Eiben
Main EA components
• Representation
• Population
• Selection (parent selection, survivor selection)
• Variation (mutation, recombination)
• Initialisation
• Termination condition
Designed by Gusz Eiben
Representation
• Role: provides code for candidate solutions that can be
manipulated by variation operators
• Leads to two levels of existence
– phenotype: object in original problem context, the outside
– genotype: code to denote that object, the inside (chromosome,
“digital DNA”)
• Implies two mappings:
– Encoding : phenotype=> genotype (not necessarily one to one)
– Decoding : genotype=> phenotype (must be one to one)
• Chromosomes contain genes, which are in (usually fixed)
positions called loci (sing. locus) and have a value (allele)
Designed by Gusz Eiben
Genotype spacePhenotype space
Encoding
(representation)
Decoding
(inverse representation)
B 0 c 0 1 c d
G 0 c 0 1 c d
R 0 c 0 1 c d
Representation 2
In order to find the global optimum, every feasible solution
must be represented in genotype space
Designed by Gusz Eiben
Evaluation (fitness) function
• Role:
– Represents the task to solve, the requirements to adapt to (can be
seen as “the environment”)
– enables selection (provides basis for comparison)
– e.g., some phenotypic traits are advantageous, desirable, e.g. big ears
cool better, hese traits are rewarded by more offspring that will
expectedly carry the same trait
• A.k.a. quality function or objective function
• Assigns a single real-valued fitness to each phenotype which
forms the basis for selection
– So the more discrimination (different values) the better
• Typically we talk about fitness being maximised
– Some problems may be best posed as minimisation problems, but
conversion is trivial
Designed by Gusz Eiben
Population
• Role: holds the candidate solutions of the
problem as individuals (genotypes)
• Formally, a population is a multiset of
individuals, i.e. repetitions are possible
• Population is the basic unit of evolution, i.e.,
the population is evolving, not the individuals
• Selection operators act on population level
• Variation operators act on individual level
Designed by Gusz Eiben
Population 2
• Some sophisticated EAs also assert a spatial
structure on the population e.g., a grid
• Selection operators usually take whole
population into account i.e., reproductive
probabilities are relative to current generation
• Diversity of a population refers to the number
of different fitnesses / phenotypes /
genotypes present (note: not the same thing)
Designed by Gusz Eiben
Selection
Role:
• Identifies individuals
– to become parents
– to survive
• Pushes population towards higher fitness
• Usually probabilistic
– high quality solutions more likely to be selected than low quality
– but not guaranteed
– even worst in current population usually has non-zero
probability of being selected
• This stochastic nature can aid escape from local optima
Designed by Gusz Eiben
Example: roulette wheel selection
fitness(A) = 3
fitness(B) = 1
fitness(C) = 2
A C
1/6 = 17%
3/6 = 50%
B
2/6 = 33%
Selection mechanism example
In principle, any selection mechanism can be used for
parent selection as well as for survivor selection
Designed by Gusz Eiben
Survivor selection
• A.k.a. replacement
• Most EAs use fixed population size so need a way of going
from (parents + offspring) to next generation
• Often deterministic (while parent selection is usually
stochastic)
– Fitness based : e.g., rank parents+offspring and take best
– Age based: make as many offspring as parents and delete all
parents
• Sometimes a combination of stochastic and deterministic
(elitism)
Designed by Gusz Eiben
Variation operators
• Role: to generate new candidate solutions
• Usually divided into two types according to their arity
(number of inputs):
– Arity 1 : mutation operators
– Arity >1 : Recombination operators
– Arity = 2 typically called crossover
– Arity > 2 is formally possible, seldomly used in EC
• There has been much debate about relative importance of
recombination and mutation
– Nowadays most EAs use both
– Variation operators must match the given representation
Designed by Gusz Eiben
Mutation
• Role: causes small, random variance
• Acts on one genotype and delivers another
• Element of randomness is essential and differentiates it from
other unary heuristic operators
• Importance ascribed depends on representation and
historical dialect:
– Binary GAs – background operator responsible for preserving and
introducing diversity
– EP for FSM’s/ continuous variables – only search operator
– GP – hardly used
• May guarantee connectedness of search space and hence
convergence proofs
Designed by Gusz Eiben
before
1 1 1 0 1 1 1
after
1 1 1 1 1 1 1
Mutation example
Designed by Gusz Eiben
Recombination
• Role: merges information from parents into offspring
• Choice of what information to merge is stochastic
• Most offspring may be worse, or the same as the parents
• Hope is that some are better by combining elements of
genotypes that lead to good traits
• Principle has been used for millennia by breeders of plants
and livestock
Designed by Gusz Eiben
1 1 1 1 1 1 1 0 0 0 0 0 0 0
Parents
cut cut
Offspring
Recombination example
1 1 1 0 0 0 0 0 0 0 1 1 1 1
Designed by Gusz Eiben
Initialisation / Termination
• Initialisation usually done at random,
– Need to ensure even spread and mixture of possible allele values
– Can include existing solutions, or use problem-specific heuristics, to
“seed” the population
• Termination condition checked every generation
– Reaching some (known/hoped for) fitness
– Reaching some maximum allowed number of generations
– Reaching some minimum level of diversity
– Reaching some specified number of generations without fitness
improvement
Designed by Gusz Eiben
What are the different types of EAs
• Historically different flavours of EAs have been associated
with different data types to represent solutions
– Binary strings : Genetic Algorithms
– Real-valued vectors : Evolution Strategies
– Finite state Machines: Evolutionary Programming
– LISP trees: Genetic Programming
• These differences are largely irrelevant, best strategy
– choose representation to suit problem
– choose variation operators to suit representation
• Selection operators only use fitness and so are independent
of representation
Designed by Gusz Eiben
Typical behaviour of an EA
Stages in optimising on a 1-dimensional fitness landscape
Early stage:
quasi-random population distribution
Mid-stage:
population arranged around/on hills
Late stage:
population concentrated on high hills
Designed by Gusz Eiben
Typical run: progression of fitness
Typical run of an EA shows so-called “anytime behavior”
Bestfitnessinpopulation
Time (number of generations)
Designed by Gusz Eiben
Evolutionary Algorithms in context
• There are many views on the use of EAs as robust
problem solving tools
• For most problems a problem-specific tool may:
– perform better than a generic search algorithm on most
instances,
– have limited utility,
– not do well on all instances
• Evolutionary Algorithms:
– Provide rather stable performance over a range of problems and
instances
– Can be easily ported from one problem to another one
– Can be hybridized with existing problem specific heuristics
Designed by Gusz Eiben
Scale of “all” problems
Performanceofmethodsonproblems
Random search
Special, problem tailored method
Evolutionary algorithm
EAs as problem solvers: Goldberg view
(1989)
Designed by Gusz Eiben
Summary
Evolutionary Algorithms:
• Are population-based, stochastic search methods
• Can be used for optimization and as “adaptive engine”
• Can be hybridized with problem specific heuristics
• Well suited for parallel execution
• Can be easily ported to new problems
An EA is the second best solver for any problem
Designed by Gusz Eiben
Further reading
• A.E. Eiben, Evolutionary computing: the most
powerful problem solver in the universe?,
Dutch Mathematical Archive (Nederlands
Archief voor Wiskunde), vol. 5/3, nr. 2, 126-
131, 2002
• Eiben-Smith book
Designed by Gusz Eiben

Mais conteúdo relacionado

Mais de FET AWARE project - Self Awareness in Autonomic Systems

Mais de FET AWARE project - Self Awareness in Autonomic Systems (20)

Academic Course: 07 Introduction to the Formal Engineering of Autonomic Systems
Academic Course: 07 Introduction to the Formal Engineering of Autonomic SystemsAcademic Course: 07 Introduction to the Formal Engineering of Autonomic Systems
Academic Course: 07 Introduction to the Formal Engineering of Autonomic Systems
 
Academic Course: 04 Introduction to complex systems and agent based modeling
Academic Course: 04 Introduction to complex systems and agent based modelingAcademic Course: 04 Introduction to complex systems and agent based modeling
Academic Course: 04 Introduction to complex systems and agent based modeling
 
Academic Course: 03 Autonomic Multi-Agent Systems
Academic Course: 03 Autonomic Multi-Agent SystemsAcademic Course: 03 Autonomic Multi-Agent Systems
Academic Course: 03 Autonomic Multi-Agent Systems
 
Academic Course: 02 Self-organization and emergence in networked systems
Academic Course: 02 Self-organization and emergence in networked systemsAcademic Course: 02 Self-organization and emergence in networked systems
Academic Course: 02 Self-organization and emergence in networked systems
 
Academic Course: 01 Self-awarenesss and Computational Self-awareness
Academic Course: 01 Self-awarenesss and Computational Self-awarenessAcademic Course: 01 Self-awarenesss and Computational Self-awareness
Academic Course: 01 Self-awarenesss and Computational Self-awareness
 
Awareness: Layman Seminar Slides
Awareness: Layman Seminar SlidesAwareness: Layman Seminar Slides
Awareness: Layman Seminar Slides
 
Industry Training: 04 Awareness Applications
Industry Training: 04 Awareness ApplicationsIndustry Training: 04 Awareness Applications
Industry Training: 04 Awareness Applications
 
Industry Training: 03 Awareness Simulation
Industry Training: 03 Awareness SimulationIndustry Training: 03 Awareness Simulation
Industry Training: 03 Awareness Simulation
 
Industry Training: 02 Awareness Properties
Industry Training: 02 Awareness PropertiesIndustry Training: 02 Awareness Properties
Industry Training: 02 Awareness Properties
 
Industry Training: 01 Awareness Overview
Industry Training: 01 Awareness OverviewIndustry Training: 01 Awareness Overview
Industry Training: 01 Awareness Overview
 
Robot Swarms as Ensembles of Cooperating Components - Matthias Holzl
Robot Swarms as Ensembles of Cooperating Components - Matthias HolzlRobot Swarms as Ensembles of Cooperating Components - Matthias Holzl
Robot Swarms as Ensembles of Cooperating Components - Matthias Holzl
 
Towards Systematically Engineering Ensembles - Martin Wirsing
Towards Systematically Engineering Ensembles - Martin WirsingTowards Systematically Engineering Ensembles - Martin Wirsing
Towards Systematically Engineering Ensembles - Martin Wirsing
 
Capturing the Immune System: From the wet-­lab to the robot, building better ...
Capturing the Immune System: From the wet-­lab to the robot, building better ...Capturing the Immune System: From the wet-­lab to the robot, building better ...
Capturing the Immune System: From the wet-­lab to the robot, building better ...
 
Underwater search and rescue in swarm robotics - Mark Read
Underwater search and rescue in swarm robotics - Mark Read Underwater search and rescue in swarm robotics - Mark Read
Underwater search and rescue in swarm robotics - Mark Read
 
Computational Self-awareness in Smart-Camera Networks - Lukas Esterle
Computational Self-awareness in Smart-Camera Networks - Lukas EsterleComputational Self-awareness in Smart-Camera Networks - Lukas Esterle
Computational Self-awareness in Smart-Camera Networks - Lukas Esterle
 
Why Robots may need to be self-­‐aware, before we can really trust them - Ala...
Why Robots may need to be self-­‐aware, before we can really trust them - Ala...Why Robots may need to be self-­‐aware, before we can really trust them - Ala...
Why Robots may need to be self-­‐aware, before we can really trust them - Ala...
 
Morphogenetic Engineering: Reconciling Architecture and Self-Organization Thr...
Morphogenetic Engineering: Reconciling Architecture and Self-Organization Thr...Morphogenetic Engineering: Reconciling Architecture and Self-Organization Thr...
Morphogenetic Engineering: Reconciling Architecture and Self-Organization Thr...
 
Ensemble-oriented programming of self-adaptive systems - Michele Loreti
Ensemble-oriented programming of self-adaptive systems - Michele LoretiEnsemble-oriented programming of self-adaptive systems - Michele Loreti
Ensemble-oriented programming of self-adaptive systems - Michele Loreti
 
Self-awareness and Adaptive Technologies: the Future of Operating Systems?
Self-awareness and Adaptive Technologies: the Future of Operating Systems? Self-awareness and Adaptive Technologies: the Future of Operating Systems?
Self-awareness and Adaptive Technologies: the Future of Operating Systems?
 
EnhancingWeb Process Self-Awareness with Context-Aware Service Composition
EnhancingWeb Process Self-Awareness with Context-Aware Service CompositionEnhancingWeb Process Self-Awareness with Context-Aware Service Composition
EnhancingWeb Process Self-Awareness with Context-Aware Service Composition
 

Último

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Último (20)

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

Academic Course: 05 Overview of Methods for Engineering Autonomic Self-Aware Systems

  • 1. Overview of Methods for Engineering Autonomic Self-Aware Systems Artificial Immune Systems Designed by Mark Read
  • 2. The immune system • There are many features of the immune system that are attractive to engineers [2]: – Distribution and self-organisation – Learning, adaption and memory – Pattern recognition – Classification – Homeostasis Designed by Mark Read
  • 3. What is the immune system? • Classic View: complex system of cellular and molecular components having the primary function of distinguishing self from not self and defense against foreign organisms or substances • Cognitive View: The immune system is a cognitive system whose primary role is to provide body maintenance • Danger View : The immune system recognises dangerous agents and not non-self Designed by Mark Read
  • 4. Artificial Immune Systems (AIS) • “AIS are adaptive systems inspired by theoretical immunology and observed immune functions, principles and models, which are applied to problem solving” [1] • Several flavours of AIS have emerged based on immunological theory: – Clonal selection theory – Immune network theory – Negative selection – Danger theory • … but new flavours are continually emerging Designed by Mark Read
  • 5. Clonal Selection AIS • Clonal selection: competition for resource drives immune system cells to mutate and better recognize pathogens. • This process drives the immune response from weakly recognising a pathogen and mounting an ineffective response, to being highly specific and effective. Designed by Mark Read
  • 6. Clonal Selection AIS • Basic algorithm [4]: • Clonal selection AIS are typically used for pattern recognition and classification problems [6] Designed by Mark Read
  • 7. Immune Network Theory AIS • Cells of the IS recognize not only protein structures expressed by pathogens, but each other also • Through this self-recognition the IS forms positive and negative feedback networks that modulate the immune response [3] Designed by Mark Read
  • 8. Immune Network Theory AIS • Basic algorithm [4]: • Used in data clustering and classification applications [6] Designed by Mark Read
  • 9. Negative Selection AIS • Inspired by notions of central tolerance: • The random generation of receptors on IS cells allows the IS to effectively cover the space of protein structures that fast-evolving pathogens use (often to evade immune detection). • Central tolerance entails deleting IS cells that recognise proteins of the host, and thus prevents autoimmunity. • Though negative selection is known to be imperfect – all healthy beings contain self- reactive cells – it has been effectively used in intrusion detection systems Designed by Mark Read
  • 10. Negative Selection AIS Basic Algorithm [4]: Used in intrusion detection systems Designed by Mark Read
  • 11. Danger Theory AIS • Rather than detect the presence of non-host entities, the immune system recognises damage to tissues (danger) and associates the damage with what is found in the tissues [5] • If there is no damage in the tissues, immune cells that recognise structures there are instead suppressed Designed by Mark Read
  • 12. Danger Theory AIS • Basic algorithm: – Create pool of dendritic cells (DCs) – Use some DCs to sample available antigen, and perceive danger/safe signals • Has found extensive use in anomaly detection [6] Designed by Mark Read
  • 13. Engineering AIS • How to engineer an AIS for a particular application domain [1]? : Designed by Mark Read
  • 14. Engineering AIS • 1. decide on appropriate representation of the problem’s data. This facilitates mapping the problem onto immune concepts, which affects how the system finds solutions. • 2. decide on appropriate affinity measures. These quantify how elements of the system interact with the problem environment, and with each other. • 3. Select algorithm(s) to operate over immune elements of the system Designed by Mark Read
  • 15. Future directions in AIS • Impasse, better capture natural system • Modelling/conceptual framework • Features of problem domains Designed by Mark Read
  • 16. References • [1] De Castro, L., Timmis, J. Artificial Immune Systems: A New Computational Intelligence Approach. Springer, 2002 • [2] Read, M., Andrews, P., Timmis, J. An Introduction to Artificial Immune Systems. The handbook of natural Computing, edited by Grzegorz Rozenberg, Thomas Back and Joost Kok. Springer, 2011 • [3] Niels K. Jerne. Towards a network theory of the immune system. Ann. Immunol. (Inst. Pasteur), 125C:373–389, 1974 • [4] Freitas, A., Timmis, J. - Revisiting the Foundations of Artificial Immune Systems for Data Mining. IEEE Transactions on Evolutionary Computation 11(4) pp. 521-540 (2007) • [5] Polly Matzinger. Tolerance, danger, and the extended family. Annual Review of Immunology, 12:991–1045, April 1994 • [6] E. Hart and J. Timmis. Application Areas of AIS: The Past, Present and the Future. Journal of Applied Soft Computing 8(1). pp.191- 201. 2008 Designed by Mark Read
  • 17. Overview of Methods for Engineering Autonomic Self-Aware Systems Evolutionary Algorithms Designed by Gusz Eiben
  • 18. The Main EC Metaphor EVOLUTION Environment Individual Fitness PROBLEM SOLVING Problem Candidate Solution Quality Quality  chance for seeding new solutionsCV Fitness  chances for survival and reproduction Fitness in nature: observed, 2ndary, EC: primary Designed by Gusz Eiben
  • 19. General scheme of EAs Population Parents Parent selection Survivor selection Offspring Recombination (crossover) Mutation Intialization Termination Designed by Gusz Eiben
  • 20. EAs as problem solvers • EAs fall into the category of “generate and test” algorithms • They are stochastic, population-based algorithms • Variation operators (recombination and mutation) create the necessary diversity and thereby facilitate novelty • Selection reduces diversity and acts as a force pushing quality • Traditionally seen as optimizers (also in data mining applications) • Lately as the engine behind adaptation Designed by Gusz Eiben
  • 21. Two pillars of evolution There are two competing forces  Increasing population diversity by genetic operators  mutation  recombination Push towards novelty  Decreasing population diversity by selection  of parents  of survivors Push towards quality Designed by Gusz Eiben
  • 22. Common model of evolutionary processes • Population of individuals • Individuals have a fitness • Variation operators: crossover, mutation • Selection towards higher fitness – “survival of the fittest” and – “mating of the fittest” Neo Darwinism: Evolutionary progress towards higher life forms = Optimization according to some fitness-criterion (optimization on a fitness landscape) Designed by Gusz Eiben
  • 23. Main EA components • Representation • Population • Selection (parent selection, survivor selection) • Variation (mutation, recombination) • Initialisation • Termination condition Designed by Gusz Eiben
  • 24. Representation • Role: provides code for candidate solutions that can be manipulated by variation operators • Leads to two levels of existence – phenotype: object in original problem context, the outside – genotype: code to denote that object, the inside (chromosome, “digital DNA”) • Implies two mappings: – Encoding : phenotype=> genotype (not necessarily one to one) – Decoding : genotype=> phenotype (must be one to one) • Chromosomes contain genes, which are in (usually fixed) positions called loci (sing. locus) and have a value (allele) Designed by Gusz Eiben
  • 25. Genotype spacePhenotype space Encoding (representation) Decoding (inverse representation) B 0 c 0 1 c d G 0 c 0 1 c d R 0 c 0 1 c d Representation 2 In order to find the global optimum, every feasible solution must be represented in genotype space Designed by Gusz Eiben
  • 26. Evaluation (fitness) function • Role: – Represents the task to solve, the requirements to adapt to (can be seen as “the environment”) – enables selection (provides basis for comparison) – e.g., some phenotypic traits are advantageous, desirable, e.g. big ears cool better, hese traits are rewarded by more offspring that will expectedly carry the same trait • A.k.a. quality function or objective function • Assigns a single real-valued fitness to each phenotype which forms the basis for selection – So the more discrimination (different values) the better • Typically we talk about fitness being maximised – Some problems may be best posed as minimisation problems, but conversion is trivial Designed by Gusz Eiben
  • 27. Population • Role: holds the candidate solutions of the problem as individuals (genotypes) • Formally, a population is a multiset of individuals, i.e. repetitions are possible • Population is the basic unit of evolution, i.e., the population is evolving, not the individuals • Selection operators act on population level • Variation operators act on individual level Designed by Gusz Eiben
  • 28. Population 2 • Some sophisticated EAs also assert a spatial structure on the population e.g., a grid • Selection operators usually take whole population into account i.e., reproductive probabilities are relative to current generation • Diversity of a population refers to the number of different fitnesses / phenotypes / genotypes present (note: not the same thing) Designed by Gusz Eiben
  • 29. Selection Role: • Identifies individuals – to become parents – to survive • Pushes population towards higher fitness • Usually probabilistic – high quality solutions more likely to be selected than low quality – but not guaranteed – even worst in current population usually has non-zero probability of being selected • This stochastic nature can aid escape from local optima Designed by Gusz Eiben
  • 30. Example: roulette wheel selection fitness(A) = 3 fitness(B) = 1 fitness(C) = 2 A C 1/6 = 17% 3/6 = 50% B 2/6 = 33% Selection mechanism example In principle, any selection mechanism can be used for parent selection as well as for survivor selection Designed by Gusz Eiben
  • 31. Survivor selection • A.k.a. replacement • Most EAs use fixed population size so need a way of going from (parents + offspring) to next generation • Often deterministic (while parent selection is usually stochastic) – Fitness based : e.g., rank parents+offspring and take best – Age based: make as many offspring as parents and delete all parents • Sometimes a combination of stochastic and deterministic (elitism) Designed by Gusz Eiben
  • 32. Variation operators • Role: to generate new candidate solutions • Usually divided into two types according to their arity (number of inputs): – Arity 1 : mutation operators – Arity >1 : Recombination operators – Arity = 2 typically called crossover – Arity > 2 is formally possible, seldomly used in EC • There has been much debate about relative importance of recombination and mutation – Nowadays most EAs use both – Variation operators must match the given representation Designed by Gusz Eiben
  • 33. Mutation • Role: causes small, random variance • Acts on one genotype and delivers another • Element of randomness is essential and differentiates it from other unary heuristic operators • Importance ascribed depends on representation and historical dialect: – Binary GAs – background operator responsible for preserving and introducing diversity – EP for FSM’s/ continuous variables – only search operator – GP – hardly used • May guarantee connectedness of search space and hence convergence proofs Designed by Gusz Eiben
  • 34. before 1 1 1 0 1 1 1 after 1 1 1 1 1 1 1 Mutation example Designed by Gusz Eiben
  • 35. Recombination • Role: merges information from parents into offspring • Choice of what information to merge is stochastic • Most offspring may be worse, or the same as the parents • Hope is that some are better by combining elements of genotypes that lead to good traits • Principle has been used for millennia by breeders of plants and livestock Designed by Gusz Eiben
  • 36. 1 1 1 1 1 1 1 0 0 0 0 0 0 0 Parents cut cut Offspring Recombination example 1 1 1 0 0 0 0 0 0 0 1 1 1 1 Designed by Gusz Eiben
  • 37. Initialisation / Termination • Initialisation usually done at random, – Need to ensure even spread and mixture of possible allele values – Can include existing solutions, or use problem-specific heuristics, to “seed” the population • Termination condition checked every generation – Reaching some (known/hoped for) fitness – Reaching some maximum allowed number of generations – Reaching some minimum level of diversity – Reaching some specified number of generations without fitness improvement Designed by Gusz Eiben
  • 38. What are the different types of EAs • Historically different flavours of EAs have been associated with different data types to represent solutions – Binary strings : Genetic Algorithms – Real-valued vectors : Evolution Strategies – Finite state Machines: Evolutionary Programming – LISP trees: Genetic Programming • These differences are largely irrelevant, best strategy – choose representation to suit problem – choose variation operators to suit representation • Selection operators only use fitness and so are independent of representation Designed by Gusz Eiben
  • 39. Typical behaviour of an EA Stages in optimising on a 1-dimensional fitness landscape Early stage: quasi-random population distribution Mid-stage: population arranged around/on hills Late stage: population concentrated on high hills Designed by Gusz Eiben
  • 40. Typical run: progression of fitness Typical run of an EA shows so-called “anytime behavior” Bestfitnessinpopulation Time (number of generations) Designed by Gusz Eiben
  • 41. Evolutionary Algorithms in context • There are many views on the use of EAs as robust problem solving tools • For most problems a problem-specific tool may: – perform better than a generic search algorithm on most instances, – have limited utility, – not do well on all instances • Evolutionary Algorithms: – Provide rather stable performance over a range of problems and instances – Can be easily ported from one problem to another one – Can be hybridized with existing problem specific heuristics Designed by Gusz Eiben
  • 42. Scale of “all” problems Performanceofmethodsonproblems Random search Special, problem tailored method Evolutionary algorithm EAs as problem solvers: Goldberg view (1989) Designed by Gusz Eiben
  • 43. Summary Evolutionary Algorithms: • Are population-based, stochastic search methods • Can be used for optimization and as “adaptive engine” • Can be hybridized with problem specific heuristics • Well suited for parallel execution • Can be easily ported to new problems An EA is the second best solver for any problem Designed by Gusz Eiben
  • 44. Further reading • A.E. Eiben, Evolutionary computing: the most powerful problem solver in the universe?, Dutch Mathematical Archive (Nederlands Archief voor Wiskunde), vol. 5/3, nr. 2, 126- 131, 2002 • Eiben-Smith book Designed by Gusz Eiben