SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Francesco Corucci – Bioinformatics course (Prof. R. Barbuti)
Percorso di Eccellenza, Laurea Magistrale in Ingegneria Informatica – Università di Pisa
From a work of Taishin Yasunobu Nishida (nishida@pu-toyama.ac.jp)
Faculty of Engineering, Toyama Prefetural University
NP-Complete problems
2
 Problems for which no polynomial solution is known
 Many examples of such problems, very often related to
practical applications (logistic, computer science,
biology, etc)
 A common approach consist in addressing these
problems with sub-optimal approximation algorithms
that can be solved in polynomial time
 P-systems can be usefull within this context
Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
Outline of membrane algorithms3
Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
Mm-1
M0
M1
Components of membrane algorithms
4
A membrane algorithm for approximating
an optimization problem consists of:
1. a certain number of regions, outlined
by nested membranes (labeled Mi)
2. in every region, a subalgorithm (si)
and a few tentative solutions
3. a solution transporting mechanism
between adjacent regions
Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
tentative solutions
sm-1
s1
s0
subalgorithm
Membrane algorithm
5
A step of the membrane algorithm acts as
follows:
 in every region, simultaneously, tentative
solutions are updated by the subalgorithm
placed in the same region
 solutions transport mechanism: in every
region, the best solution (with respect to the
optimization criterion) is sent to the
adjacent inner region, the worst is sent to
the adjacent outer one
Mm-1
M0
M1
best from M2
W
B
B
W
Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
Membrane algorithm
6
The membrane algorithm repeats updating and transporting
solutions until a termination condition is satisfied.
Possible termination conditions are:
 Max number of iterations limit
 The best solution is not changed in a predetermined
number of steps
Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
Output definition
7
 The innermost membrane (M0) is defined as the output
membrane of the algorithm
 Its content at the end of the execution is the approximated
solution for the optimization problem
Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
Subalgorithms
8
 A membrane algorithm can use a number of different of
subalgorithms
 A subalgorithm can be any approximate algorithm for
optimization problems. Examples are:
 Genetic algorithms
 Tabu search
 Simulated annealing
 …
Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
Escaping from local minima
9
 The membrane algorithm should be able to escape from local
minima (we are searching for a global one!)
 For this reason, subalgorithms placed in the outer regions should
enhance random search (e.g. with random mutations)
 In the innermost membrane, a subalgorithm enhancing the local
search should be used instead (e.g. search for neighboring), in
order to refine the good solutions selected
 Assigning appropriate subalgorithms for a given problem is critic in order to
obtain good performances from the membrane algorithm
Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
Consideration about parallelism
10
 At every step, the subalgorithm execution in each region is
independent from the others
 Very simple communication occurs at the end of the step,
between adjacent regions
 The membrane algorithm could be easily implemented in
parallel, distributed, or grid computing systems
Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
A practical example:
The Traveling Salesman Problem11
Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
Traveling Salesman Problem
12
 The problem: given a list of cities and their pairwise
distances, the task is to find the shortest route that visits
each city exactly once
 The TSP has several practical applications:
 planning, logistic
 microchip manufacturing (“cities” are soldering points, the path
is the electronic track)
 It has been showed that the TSP is a NP-complete problem
Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
Details of the algorithm
13
 Let m be the number of membranes (M0 is the innermost)
 An istance of the TSP with n nodes consists n pairs of real
numbers vi =(xi,yi), i=0,1,…, n-1 (n points in a
bidimensional space)
 Distance (Euclidean): d(vi,vj) = xi − x𝑗
2 + yi − y𝑗
2
 A solution v = (v0, v1, …, vn-1) (order of visit) has value
(cost) W(v) = 𝑑(vi,vi+1)𝑛−2
𝑖=0 + 𝑑(vn−1,v0)
Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
Details of the algorithm
14
 Obviously, for two solutions u and
v, v is better than u if W(v) < W(u)
 The solution which has the minimum
value among all possible solutions
is said to be the strict solution of a
TSP istance
 One tentative solution in M0 and
two in all other regions
Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
Mm-1
M0
M1
Innermost region subalgorithm
15
 We set tabu search as subalgorithm in the innermost region (M0):
this algorithm searches a neighbor of the tentative solution by
exchanging two adjacent nodes in the solution (local search, for
refining)
 Tabu search resets the tentative solution if:
1. The value of the neighboring solution is less than that of the tentative
solution (the former becomes the new tentative solution)
2. The value of the best solution in region M1 is less than of the
tentative solution (the former becomes the new tentative solution)
Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
Outer regions subalgorithm
16
 The chosen subalgorithm for the outer regions (inspired by genetic
algorithms) is described as follows:
1. If the two solutions have the same value, a part of one solution
(selected probabilistically) is reversed (→ avoids duplicates);
2. Recombinate the two solutions producing two new solutions
(crossover: several methods are possible, EXX was used);
3. Modify the two solutions by point mutations (in the ith region, a
mutation occurs with probability
𝑖
𝑚
)
→ enhances random search, as requested
Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
Overall algorithm
17
1. Consider an instance of the TSP
2. Randomly construct one tentative solution for region 0 and two tentative
solutions for every region from 1 to m-1
3. For k = 0 … d (‘d’ is a parameter)
1. Update: simultaneously update tentative solutions in each region using the
associated subalgorithm
2. Transport: for each region ‘i’, send the best solution to region i-1 (inner),
and the worst to region i+1 (outer) (region 0 and m-1 can move only one
solution). Remove all solutions but the best two.
4. Output the tentative solution in region 0 as the output of the algorithm
Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
Experimental results18
Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
Experimental results
19
 The algorithm was implemented
in Java programming language
and tested on a computer
 Figure shows an execution
Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
Comparison with simulated annealing
20
 51 nodes, 40’000 iterations, 20
executions, variable number of
membranes (from 2 to 70) (eil51)
 100 nodes, 100’000 iterations, 20
executions (kroA100)
Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
Comparing the membrane algorithm with simulated annealing (SA) (a probabilistic algorithm
often used for TSP solving)
STRICT VALUE: 426
STRICT VALUE: 21’282
Comparison with simulated annealing
21 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
 The membrane algorithm worked slightly better
than SA in the first test and slightly worse in the
second one
 Since the differences are very small, we may
conclude that the membrane algorithm is as good as
the simulated annealing
Saturation effect
22 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
 With more membranes we get a better
approximation…
 …however, experimental results seem to point out
that in some cases the improvement achieved with
more membranes tends to saturate
 Since the computation time is proportional to the
number of membranes, we need a trade-off
Fast convergence
23 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
 Figure shows the changes of
the average value of
solutions for kroA100
problem solved by a
membrane algorithm with 50
membranes as the number of
iterations increases
 The algorithm converges
rather quickly to good
solutions
Convergence to good
solutions in about 2000-
3000 iterations
Improved membrane algorithms24
Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
Improved membrane algorithms
25 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
Is it possible to improve the performances of the
membrane algorithm incorporating the concepts of a
tissue P-system (→compound approach) or of P-systems
with dynamic membrane structure (→ shrink approach)
Compound membrane algorithm
26 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
 Tissue based, two phases:
1. First phase: a certain number
of membrane algorithms
produce good solutions from
randomly generated initial
tentative solutions
2. Second phase: the good
solutions produced by the
first phase are used as initial
ones for the second phase
Compound membrane algorithm
27 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
 Set up:
 100 membrane algorithms in the first phase
 Every algorithm uses 50 membranes
 Each algorithm in the first phase terminates if the best solution does not improve
during 500 iteration
 The membrane algorithm in the second phase terminates if the best solution
does not improve in 5000 iterations
Compound membrane algorithm
28 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
 The table shows the results of
experimental tests:
 We can see that the compound
membrane algorithm has significantly
improved performances compared to
previous approaches (it always
outputs almost strict solutions)
 The computation time of compound membrane algorithm was obviously much longer than
that of the simple algorithm on a common computer
 However, because the execution of the membrane algorithms in the first phase are
completely independent, they could be easily parallelized on a distributed architecture,
so that the computation time will be only twice related to the simple algorithm
STRICT: 426 STRICT: 21282
Compound membrane algorithm
29 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
 Possible explainations for the good performances of the
compound approach:
1. Large number of random initial solutions
2. The first phase selects «good seeds»
3. The second phase generates very good solutions by recombining the good seeds
obtained in the first phase
Shrink membrane algorithm
30 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
 Based on dynamic membrane structure, it consists of three phases
1. Phase 1: a certain number of algorithms (with five membranes
and Genetic Algorithm based subalgorithms in all regions) are
executed. After termination condition…
2. Phase 2: «shrink» the systems to two membranes and refine with
tabu search in region 0 and GA type subalgorithms in region 1
3. Phase 3: pass the good seeds selected in the previous phases to a
second stage, like in the compound approach
Shrink membrane algorithm
31 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
 We can see from the table
above that the shrink algorithm
beats the compound, also being
significantly faster
Conclusions
32 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
 The experimental results prove the effectiveness of the membrane
approach for approximating NP-complete problems
 We saw how the performances can be improved considering some
variants of P-systems (tissue based and with dynamic membranes)
 There are many possibilities for further researches:
 Using different subalgorithms
 Using different dynamic structures
 Using different terminating conditions
 Introducing further P-systems ingredients
Thank you! :-)
Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
33

Weitere ähnliche Inhalte

Was ist angesagt?

International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
M.sc. presentation t.bagheri fashkhami
M.sc. presentation t.bagheri fashkhamiM.sc. presentation t.bagheri fashkhami
M.sc. presentation t.bagheri fashkhamitaherbagherif
 
Text independent speaker recognition using combined lpc and mfc coefficients
Text independent speaker recognition using combined lpc and mfc coefficientsText independent speaker recognition using combined lpc and mfc coefficients
Text independent speaker recognition using combined lpc and mfc coefficientseSAT Publishing House
 
Adaptive blind multiuser detection under impulsive noise using principal comp...
Adaptive blind multiuser detection under impulsive noise using principal comp...Adaptive blind multiuser detection under impulsive noise using principal comp...
Adaptive blind multiuser detection under impulsive noise using principal comp...csandit
 
ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...
ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...
ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...csandit
 
Self Organizing Maps: Fundamentals
Self Organizing Maps: FundamentalsSelf Organizing Maps: Fundamentals
Self Organizing Maps: FundamentalsSpacetoshare
 
Speaker and Speech Recognition for Secured Smart Home Applications
Speaker and Speech Recognition for Secured Smart Home ApplicationsSpeaker and Speech Recognition for Secured Smart Home Applications
Speaker and Speech Recognition for Secured Smart Home ApplicationsRoger Gomes
 
On Complex Enumeration for Multiuser MIMO Vector Precoding
On Complex Enumeration for Multiuser MIMO Vector PrecodingOn Complex Enumeration for Multiuser MIMO Vector Precoding
On Complex Enumeration for Multiuser MIMO Vector PrecodingTSC University of Mondragon
 
Real-time DSP Implementation of Audio Crosstalk Cancellation using Mixed Unif...
Real-time DSP Implementation of Audio Crosstalk Cancellation using Mixed Unif...Real-time DSP Implementation of Audio Crosstalk Cancellation using Mixed Unif...
Real-time DSP Implementation of Audio Crosstalk Cancellation using Mixed Unif...CSCJournals
 
Multiuser MIMO Vector Perturbation Precoding
Multiuser MIMO Vector Perturbation PrecodingMultiuser MIMO Vector Perturbation Precoding
Multiuser MIMO Vector Perturbation Precodingadeelrazi
 
Performance Evaluation of Conventional and Hybrid Feature Extractions Using M...
Performance Evaluation of Conventional and Hybrid Feature Extractions Using M...Performance Evaluation of Conventional and Hybrid Feature Extractions Using M...
Performance Evaluation of Conventional and Hybrid Feature Extractions Using M...IJERA Editor
 
Strategies to Combat Pilot Contamination in Massive MIMO Systems
Strategies to Combat Pilot Contamination in Massive MIMO SystemsStrategies to Combat Pilot Contamination in Massive MIMO Systems
Strategies to Combat Pilot Contamination in Massive MIMO SystemsCPqD
 
Introduction to Convolutional Neural Networks
Introduction to Convolutional Neural NetworksIntroduction to Convolutional Neural Networks
Introduction to Convolutional Neural NetworksParrotAI
 
Harvard_University_-_Linear_Al
Harvard_University_-_Linear_AlHarvard_University_-_Linear_Al
Harvard_University_-_Linear_Alramiljayureta
 

Was ist angesagt? (18)

International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
M.sc. presentation t.bagheri fashkhami
M.sc. presentation t.bagheri fashkhamiM.sc. presentation t.bagheri fashkhami
M.sc. presentation t.bagheri fashkhami
 
Text independent speaker recognition using combined lpc and mfc coefficients
Text independent speaker recognition using combined lpc and mfc coefficientsText independent speaker recognition using combined lpc and mfc coefficients
Text independent speaker recognition using combined lpc and mfc coefficients
 
Adaptive blind multiuser detection under impulsive noise using principal comp...
Adaptive blind multiuser detection under impulsive noise using principal comp...Adaptive blind multiuser detection under impulsive noise using principal comp...
Adaptive blind multiuser detection under impulsive noise using principal comp...
 
ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...
ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...
ADAPTIVE BLIND MULTIUSER DETECTION UNDER IMPULSIVE NOISE USING PRINCIPAL COMP...
 
Self Organizing Maps: Fundamentals
Self Organizing Maps: FundamentalsSelf Organizing Maps: Fundamentals
Self Organizing Maps: Fundamentals
 
Speaker and Speech Recognition for Secured Smart Home Applications
Speaker and Speech Recognition for Secured Smart Home ApplicationsSpeaker and Speech Recognition for Secured Smart Home Applications
Speaker and Speech Recognition for Secured Smart Home Applications
 
Et25897899
Et25897899Et25897899
Et25897899
 
On Complex Enumeration for Multiuser MIMO Vector Precoding
On Complex Enumeration for Multiuser MIMO Vector PrecodingOn Complex Enumeration for Multiuser MIMO Vector Precoding
On Complex Enumeration for Multiuser MIMO Vector Precoding
 
Real-time DSP Implementation of Audio Crosstalk Cancellation using Mixed Unif...
Real-time DSP Implementation of Audio Crosstalk Cancellation using Mixed Unif...Real-time DSP Implementation of Audio Crosstalk Cancellation using Mixed Unif...
Real-time DSP Implementation of Audio Crosstalk Cancellation using Mixed Unif...
 
Multiuser MIMO Vector Perturbation Precoding
Multiuser MIMO Vector Perturbation PrecodingMultiuser MIMO Vector Perturbation Precoding
Multiuser MIMO Vector Perturbation Precoding
 
Performance Evaluation of Conventional and Hybrid Feature Extractions Using M...
Performance Evaluation of Conventional and Hybrid Feature Extractions Using M...Performance Evaluation of Conventional and Hybrid Feature Extractions Using M...
Performance Evaluation of Conventional and Hybrid Feature Extractions Using M...
 
Intoduction to Neural Network
Intoduction to Neural NetworkIntoduction to Neural Network
Intoduction to Neural Network
 
L010628894
L010628894L010628894
L010628894
 
Strategies to Combat Pilot Contamination in Massive MIMO Systems
Strategies to Combat Pilot Contamination in Massive MIMO SystemsStrategies to Combat Pilot Contamination in Massive MIMO Systems
Strategies to Combat Pilot Contamination in Massive MIMO Systems
 
Introduction to Convolutional Neural Networks
Introduction to Convolutional Neural NetworksIntroduction to Convolutional Neural Networks
Introduction to Convolutional Neural Networks
 
F010232834
F010232834F010232834
F010232834
 
Harvard_University_-_Linear_Al
Harvard_University_-_Linear_AlHarvard_University_-_Linear_Al
Harvard_University_-_Linear_Al
 

Andere mochten auch

Skiena algorithm 2007 lecture22 np completeness challenge
Skiena algorithm 2007 lecture22 np completeness challengeSkiena algorithm 2007 lecture22 np completeness challenge
Skiena algorithm 2007 lecture22 np completeness challengezukun
 
Ads unit 3 ppt
Ads unit 3 pptAds unit 3 ppt
Ads unit 3 pptpraveena p
 
Np completeness-Design and Analysis of Algorithms
Np completeness-Design and Analysis of Algorithms Np completeness-Design and Analysis of Algorithms
Np completeness-Design and Analysis of Algorithms adeel990
 
lecture 27
lecture 27lecture 27
lecture 27sajinsc
 
Algorithm chapter 10
Algorithm chapter 10Algorithm chapter 10
Algorithm chapter 10chidabdu
 
Np completeness h4
Np completeness  h4Np completeness  h4
Np completeness h4Rajendran
 
University timetable scheduling
University timetable schedulingUniversity timetable scheduling
University timetable schedulingAshish Mishra
 
Introduction to NP Completeness
Introduction to NP CompletenessIntroduction to NP Completeness
Introduction to NP CompletenessGene Moo Lee
 

Andere mochten auch (20)

Skiena algorithm 2007 lecture22 np completeness challenge
Skiena algorithm 2007 lecture22 np completeness challengeSkiena algorithm 2007 lecture22 np completeness challenge
Skiena algorithm 2007 lecture22 np completeness challenge
 
Tsp is NP-Complete
Tsp is NP-CompleteTsp is NP-Complete
Tsp is NP-Complete
 
Np completeness
Np completenessNp completeness
Np completeness
 
Ads unit 3 ppt
Ads unit 3 pptAds unit 3 ppt
Ads unit 3 ppt
 
NP Complete Problems in Graph Theory
NP Complete Problems in Graph TheoryNP Complete Problems in Graph Theory
NP Complete Problems in Graph Theory
 
Ca notes
Ca notesCa notes
Ca notes
 
P vs NP
P vs NP P vs NP
P vs NP
 
Np completeness-Design and Analysis of Algorithms
Np completeness-Design and Analysis of Algorithms Np completeness-Design and Analysis of Algorithms
Np completeness-Design and Analysis of Algorithms
 
Unit7
Unit7Unit7
Unit7
 
lecture 27
lecture 27lecture 27
lecture 27
 
Algorithm chapter 10
Algorithm chapter 10Algorithm chapter 10
Algorithm chapter 10
 
An Education
An EducationAn Education
An Education
 
Np cooks theorem
Np cooks theoremNp cooks theorem
Np cooks theorem
 
Np completeness h4
Np completeness  h4Np completeness  h4
Np completeness h4
 
np complete
np completenp complete
np complete
 
University timetable scheduling
University timetable schedulingUniversity timetable scheduling
University timetable scheduling
 
Introduction to NP Completeness
Introduction to NP CompletenessIntroduction to NP Completeness
Introduction to NP Completeness
 
Np complete
Np completeNp complete
Np complete
 
Vertex cover Problem
Vertex cover ProblemVertex cover Problem
Vertex cover Problem
 
NP completeness
NP completenessNP completeness
NP completeness
 

Ähnlich wie P-Systems for approximating NP-Complete optimization problems

HOME ASSIGNMENT (0).pptx
HOME ASSIGNMENT (0).pptxHOME ASSIGNMENT (0).pptx
HOME ASSIGNMENT (0).pptxSayedulHassan1
 
HOME ASSIGNMENT omar ali.pptx
HOME ASSIGNMENT omar ali.pptxHOME ASSIGNMENT omar ali.pptx
HOME ASSIGNMENT omar ali.pptxSayedulHassan1
 
Branch and bound technique
Branch and bound techniqueBranch and bound technique
Branch and bound techniqueishmecse13
 
Design Of Area Delay Efficient Fixed-Point Lms Adaptive Filter For EEG Applic...
Design Of Area Delay Efficient Fixed-Point Lms Adaptive Filter For EEG Applic...Design Of Area Delay Efficient Fixed-Point Lms Adaptive Filter For EEG Applic...
Design Of Area Delay Efficient Fixed-Point Lms Adaptive Filter For EEG Applic...IJTET Journal
 
Paper id 24201464
Paper id 24201464Paper id 24201464
Paper id 24201464IJRAT
 
An Optimized Parallel Algorithm for Longest Common Subsequence Using Openmp –...
An Optimized Parallel Algorithm for Longest Common Subsequence Using Openmp –...An Optimized Parallel Algorithm for Longest Common Subsequence Using Openmp –...
An Optimized Parallel Algorithm for Longest Common Subsequence Using Openmp –...IRJET Journal
 
DESIGN OF DELAY COMPUTATION METHOD FOR CYCLOTOMIC FAST FOURIER TRANSFORM
DESIGN OF DELAY COMPUTATION METHOD FOR CYCLOTOMIC FAST FOURIER TRANSFORMDESIGN OF DELAY COMPUTATION METHOD FOR CYCLOTOMIC FAST FOURIER TRANSFORM
DESIGN OF DELAY COMPUTATION METHOD FOR CYCLOTOMIC FAST FOURIER TRANSFORMsipij
 
EUCAP 2021_presentation (7)
EUCAP 2021_presentation (7)EUCAP 2021_presentation (7)
EUCAP 2021_presentation (7)Hamdi Bilel
 
A COMPREHENSIVE ANALYSIS OF QUANTUM CLUSTERING : FINDING ALL THE POTENTIAL MI...
A COMPREHENSIVE ANALYSIS OF QUANTUM CLUSTERING : FINDING ALL THE POTENTIAL MI...A COMPREHENSIVE ANALYSIS OF QUANTUM CLUSTERING : FINDING ALL THE POTENTIAL MI...
A COMPREHENSIVE ANALYSIS OF QUANTUM CLUSTERING : FINDING ALL THE POTENTIAL MI...IJDKP
 
El text.tokuron a(2019).jung190711
El text.tokuron a(2019).jung190711El text.tokuron a(2019).jung190711
El text.tokuron a(2019).jung190711RCCSRENKEI
 
Paper id 26201482
Paper id 26201482Paper id 26201482
Paper id 26201482IJRAT
 
Manifold Blurring Mean Shift algorithms for manifold denoising, report, 2012
Manifold Blurring Mean Shift algorithms for manifold denoising, report, 2012Manifold Blurring Mean Shift algorithms for manifold denoising, report, 2012
Manifold Blurring Mean Shift algorithms for manifold denoising, report, 2012Florent Renucci
 
Application of smart antenna interference suppression techniques in tdscdma
Application of smart antenna interference suppression techniques in tdscdmaApplication of smart antenna interference suppression techniques in tdscdma
Application of smart antenna interference suppression techniques in tdscdmamarwaeng
 
MULTI-OBJECTIVE ENERGY EFFICIENT OPTIMIZATION ALGORITHM FOR COVERAGE CONTROL ...
MULTI-OBJECTIVE ENERGY EFFICIENT OPTIMIZATION ALGORITHM FOR COVERAGE CONTROL ...MULTI-OBJECTIVE ENERGY EFFICIENT OPTIMIZATION ALGORITHM FOR COVERAGE CONTROL ...
MULTI-OBJECTIVE ENERGY EFFICIENT OPTIMIZATION ALGORITHM FOR COVERAGE CONTROL ...ijcseit
 
Proximity Detection in Distributed Simulation of Wireless Mobile Systems
Proximity Detection in Distributed Simulation of Wireless Mobile SystemsProximity Detection in Distributed Simulation of Wireless Mobile Systems
Proximity Detection in Distributed Simulation of Wireless Mobile SystemsGabriele D'Angelo
 
Product failure analysis using Explicit dynamic
Product failure analysis using Explicit dynamicProduct failure analysis using Explicit dynamic
Product failure analysis using Explicit dynamicnaga ram
 

Ähnlich wie P-Systems for approximating NP-Complete optimization problems (20)

HOME ASSIGNMENT (0).pptx
HOME ASSIGNMENT (0).pptxHOME ASSIGNMENT (0).pptx
HOME ASSIGNMENT (0).pptx
 
HOME ASSIGNMENT omar ali.pptx
HOME ASSIGNMENT omar ali.pptxHOME ASSIGNMENT omar ali.pptx
HOME ASSIGNMENT omar ali.pptx
 
Branch and bound technique
Branch and bound techniqueBranch and bound technique
Branch and bound technique
 
www.ijerd.com
www.ijerd.comwww.ijerd.com
www.ijerd.com
 
V01 i010401
V01 i010401V01 i010401
V01 i010401
 
Design Of Area Delay Efficient Fixed-Point Lms Adaptive Filter For EEG Applic...
Design Of Area Delay Efficient Fixed-Point Lms Adaptive Filter For EEG Applic...Design Of Area Delay Efficient Fixed-Point Lms Adaptive Filter For EEG Applic...
Design Of Area Delay Efficient Fixed-Point Lms Adaptive Filter For EEG Applic...
 
Paper id 24201464
Paper id 24201464Paper id 24201464
Paper id 24201464
 
An Optimized Parallel Algorithm for Longest Common Subsequence Using Openmp –...
An Optimized Parallel Algorithm for Longest Common Subsequence Using Openmp –...An Optimized Parallel Algorithm for Longest Common Subsequence Using Openmp –...
An Optimized Parallel Algorithm for Longest Common Subsequence Using Openmp –...
 
Ba26343346
Ba26343346Ba26343346
Ba26343346
 
DESIGN OF DELAY COMPUTATION METHOD FOR CYCLOTOMIC FAST FOURIER TRANSFORM
DESIGN OF DELAY COMPUTATION METHOD FOR CYCLOTOMIC FAST FOURIER TRANSFORMDESIGN OF DELAY COMPUTATION METHOD FOR CYCLOTOMIC FAST FOURIER TRANSFORM
DESIGN OF DELAY COMPUTATION METHOD FOR CYCLOTOMIC FAST FOURIER TRANSFORM
 
EUCAP 2021_presentation (7)
EUCAP 2021_presentation (7)EUCAP 2021_presentation (7)
EUCAP 2021_presentation (7)
 
A COMPREHENSIVE ANALYSIS OF QUANTUM CLUSTERING : FINDING ALL THE POTENTIAL MI...
A COMPREHENSIVE ANALYSIS OF QUANTUM CLUSTERING : FINDING ALL THE POTENTIAL MI...A COMPREHENSIVE ANALYSIS OF QUANTUM CLUSTERING : FINDING ALL THE POTENTIAL MI...
A COMPREHENSIVE ANALYSIS OF QUANTUM CLUSTERING : FINDING ALL THE POTENTIAL MI...
 
El text.tokuron a(2019).jung190711
El text.tokuron a(2019).jung190711El text.tokuron a(2019).jung190711
El text.tokuron a(2019).jung190711
 
Paper id 26201482
Paper id 26201482Paper id 26201482
Paper id 26201482
 
476 293
476 293476 293
476 293
 
Manifold Blurring Mean Shift algorithms for manifold denoising, report, 2012
Manifold Blurring Mean Shift algorithms for manifold denoising, report, 2012Manifold Blurring Mean Shift algorithms for manifold denoising, report, 2012
Manifold Blurring Mean Shift algorithms for manifold denoising, report, 2012
 
Application of smart antenna interference suppression techniques in tdscdma
Application of smart antenna interference suppression techniques in tdscdmaApplication of smart antenna interference suppression techniques in tdscdma
Application of smart antenna interference suppression techniques in tdscdma
 
MULTI-OBJECTIVE ENERGY EFFICIENT OPTIMIZATION ALGORITHM FOR COVERAGE CONTROL ...
MULTI-OBJECTIVE ENERGY EFFICIENT OPTIMIZATION ALGORITHM FOR COVERAGE CONTROL ...MULTI-OBJECTIVE ENERGY EFFICIENT OPTIMIZATION ALGORITHM FOR COVERAGE CONTROL ...
MULTI-OBJECTIVE ENERGY EFFICIENT OPTIMIZATION ALGORITHM FOR COVERAGE CONTROL ...
 
Proximity Detection in Distributed Simulation of Wireless Mobile Systems
Proximity Detection in Distributed Simulation of Wireless Mobile SystemsProximity Detection in Distributed Simulation of Wireless Mobile Systems
Proximity Detection in Distributed Simulation of Wireless Mobile Systems
 
Product failure analysis using Explicit dynamic
Product failure analysis using Explicit dynamicProduct failure analysis using Explicit dynamic
Product failure analysis using Explicit dynamic
 

Mehr von Francesco Corucci

Teleoperating a robotic arm through a gyroscopic helmet
Teleoperating a robotic arm through a gyroscopic helmetTeleoperating a robotic arm through a gyroscopic helmet
Teleoperating a robotic arm through a gyroscopic helmetFrancesco Corucci
 
Real-time PID control of an inverted pendulum
Real-time PID control of an inverted pendulumReal-time PID control of an inverted pendulum
Real-time PID control of an inverted pendulumFrancesco Corucci
 
Social Network Analysis Project
Social Network Analysis ProjectSocial Network Analysis Project
Social Network Analysis ProjectFrancesco Corucci
 
A wearable MIDI interface using a wireless sensor network
A wearable MIDI interface using a wireless sensor networkA wearable MIDI interface using a wireless sensor network
A wearable MIDI interface using a wireless sensor networkFrancesco Corucci
 
Implementation of a lane-tracking system for autonomous driving using Kalman ...
Implementation of a lane-tracking system for autonomous driving using Kalman ...Implementation of a lane-tracking system for autonomous driving using Kalman ...
Implementation of a lane-tracking system for autonomous driving using Kalman ...Francesco Corucci
 
An overview on Quantum Key Distribution
An overview on Quantum Key DistributionAn overview on Quantum Key Distribution
An overview on Quantum Key DistributionFrancesco Corucci
 

Mehr von Francesco Corucci (6)

Teleoperating a robotic arm through a gyroscopic helmet
Teleoperating a robotic arm through a gyroscopic helmetTeleoperating a robotic arm through a gyroscopic helmet
Teleoperating a robotic arm through a gyroscopic helmet
 
Real-time PID control of an inverted pendulum
Real-time PID control of an inverted pendulumReal-time PID control of an inverted pendulum
Real-time PID control of an inverted pendulum
 
Social Network Analysis Project
Social Network Analysis ProjectSocial Network Analysis Project
Social Network Analysis Project
 
A wearable MIDI interface using a wireless sensor network
A wearable MIDI interface using a wireless sensor networkA wearable MIDI interface using a wireless sensor network
A wearable MIDI interface using a wireless sensor network
 
Implementation of a lane-tracking system for autonomous driving using Kalman ...
Implementation of a lane-tracking system for autonomous driving using Kalman ...Implementation of a lane-tracking system for autonomous driving using Kalman ...
Implementation of a lane-tracking system for autonomous driving using Kalman ...
 
An overview on Quantum Key Distribution
An overview on Quantum Key DistributionAn overview on Quantum Key Distribution
An overview on Quantum Key Distribution
 

Kürzlich hochgeladen

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 

Kürzlich hochgeladen (20)

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 

P-Systems for approximating NP-Complete optimization problems

  • 1. Francesco Corucci – Bioinformatics course (Prof. R. Barbuti) Percorso di Eccellenza, Laurea Magistrale in Ingegneria Informatica – Università di Pisa From a work of Taishin Yasunobu Nishida (nishida@pu-toyama.ac.jp) Faculty of Engineering, Toyama Prefetural University
  • 2. NP-Complete problems 2  Problems for which no polynomial solution is known  Many examples of such problems, very often related to practical applications (logistic, computer science, biology, etc)  A common approach consist in addressing these problems with sub-optimal approximation algorithms that can be solved in polynomial time  P-systems can be usefull within this context Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
  • 3. Outline of membrane algorithms3 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
  • 4. Mm-1 M0 M1 Components of membrane algorithms 4 A membrane algorithm for approximating an optimization problem consists of: 1. a certain number of regions, outlined by nested membranes (labeled Mi) 2. in every region, a subalgorithm (si) and a few tentative solutions 3. a solution transporting mechanism between adjacent regions Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza tentative solutions sm-1 s1 s0 subalgorithm
  • 5. Membrane algorithm 5 A step of the membrane algorithm acts as follows:  in every region, simultaneously, tentative solutions are updated by the subalgorithm placed in the same region  solutions transport mechanism: in every region, the best solution (with respect to the optimization criterion) is sent to the adjacent inner region, the worst is sent to the adjacent outer one Mm-1 M0 M1 best from M2 W B B W Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
  • 6. Membrane algorithm 6 The membrane algorithm repeats updating and transporting solutions until a termination condition is satisfied. Possible termination conditions are:  Max number of iterations limit  The best solution is not changed in a predetermined number of steps Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
  • 7. Output definition 7  The innermost membrane (M0) is defined as the output membrane of the algorithm  Its content at the end of the execution is the approximated solution for the optimization problem Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
  • 8. Subalgorithms 8  A membrane algorithm can use a number of different of subalgorithms  A subalgorithm can be any approximate algorithm for optimization problems. Examples are:  Genetic algorithms  Tabu search  Simulated annealing  … Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
  • 9. Escaping from local minima 9  The membrane algorithm should be able to escape from local minima (we are searching for a global one!)  For this reason, subalgorithms placed in the outer regions should enhance random search (e.g. with random mutations)  In the innermost membrane, a subalgorithm enhancing the local search should be used instead (e.g. search for neighboring), in order to refine the good solutions selected  Assigning appropriate subalgorithms for a given problem is critic in order to obtain good performances from the membrane algorithm Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
  • 10. Consideration about parallelism 10  At every step, the subalgorithm execution in each region is independent from the others  Very simple communication occurs at the end of the step, between adjacent regions  The membrane algorithm could be easily implemented in parallel, distributed, or grid computing systems Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
  • 11. A practical example: The Traveling Salesman Problem11 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
  • 12. Traveling Salesman Problem 12  The problem: given a list of cities and their pairwise distances, the task is to find the shortest route that visits each city exactly once  The TSP has several practical applications:  planning, logistic  microchip manufacturing (“cities” are soldering points, the path is the electronic track)  It has been showed that the TSP is a NP-complete problem Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
  • 13. Details of the algorithm 13  Let m be the number of membranes (M0 is the innermost)  An istance of the TSP with n nodes consists n pairs of real numbers vi =(xi,yi), i=0,1,…, n-1 (n points in a bidimensional space)  Distance (Euclidean): d(vi,vj) = xi − x𝑗 2 + yi − y𝑗 2  A solution v = (v0, v1, …, vn-1) (order of visit) has value (cost) W(v) = 𝑑(vi,vi+1)𝑛−2 𝑖=0 + 𝑑(vn−1,v0) Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
  • 14. Details of the algorithm 14  Obviously, for two solutions u and v, v is better than u if W(v) < W(u)  The solution which has the minimum value among all possible solutions is said to be the strict solution of a TSP istance  One tentative solution in M0 and two in all other regions Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza Mm-1 M0 M1
  • 15. Innermost region subalgorithm 15  We set tabu search as subalgorithm in the innermost region (M0): this algorithm searches a neighbor of the tentative solution by exchanging two adjacent nodes in the solution (local search, for refining)  Tabu search resets the tentative solution if: 1. The value of the neighboring solution is less than that of the tentative solution (the former becomes the new tentative solution) 2. The value of the best solution in region M1 is less than of the tentative solution (the former becomes the new tentative solution) Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
  • 16. Outer regions subalgorithm 16  The chosen subalgorithm for the outer regions (inspired by genetic algorithms) is described as follows: 1. If the two solutions have the same value, a part of one solution (selected probabilistically) is reversed (→ avoids duplicates); 2. Recombinate the two solutions producing two new solutions (crossover: several methods are possible, EXX was used); 3. Modify the two solutions by point mutations (in the ith region, a mutation occurs with probability 𝑖 𝑚 ) → enhances random search, as requested Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
  • 17. Overall algorithm 17 1. Consider an instance of the TSP 2. Randomly construct one tentative solution for region 0 and two tentative solutions for every region from 1 to m-1 3. For k = 0 … d (‘d’ is a parameter) 1. Update: simultaneously update tentative solutions in each region using the associated subalgorithm 2. Transport: for each region ‘i’, send the best solution to region i-1 (inner), and the worst to region i+1 (outer) (region 0 and m-1 can move only one solution). Remove all solutions but the best two. 4. Output the tentative solution in region 0 as the output of the algorithm Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
  • 18. Experimental results18 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
  • 19. Experimental results 19  The algorithm was implemented in Java programming language and tested on a computer  Figure shows an execution Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
  • 20. Comparison with simulated annealing 20  51 nodes, 40’000 iterations, 20 executions, variable number of membranes (from 2 to 70) (eil51)  100 nodes, 100’000 iterations, 20 executions (kroA100) Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza Comparing the membrane algorithm with simulated annealing (SA) (a probabilistic algorithm often used for TSP solving) STRICT VALUE: 426 STRICT VALUE: 21’282
  • 21. Comparison with simulated annealing 21 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza  The membrane algorithm worked slightly better than SA in the first test and slightly worse in the second one  Since the differences are very small, we may conclude that the membrane algorithm is as good as the simulated annealing
  • 22. Saturation effect 22 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza  With more membranes we get a better approximation…  …however, experimental results seem to point out that in some cases the improvement achieved with more membranes tends to saturate  Since the computation time is proportional to the number of membranes, we need a trade-off
  • 23. Fast convergence 23 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza  Figure shows the changes of the average value of solutions for kroA100 problem solved by a membrane algorithm with 50 membranes as the number of iterations increases  The algorithm converges rather quickly to good solutions Convergence to good solutions in about 2000- 3000 iterations
  • 24. Improved membrane algorithms24 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza
  • 25. Improved membrane algorithms 25 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza Is it possible to improve the performances of the membrane algorithm incorporating the concepts of a tissue P-system (→compound approach) or of P-systems with dynamic membrane structure (→ shrink approach)
  • 26. Compound membrane algorithm 26 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza  Tissue based, two phases: 1. First phase: a certain number of membrane algorithms produce good solutions from randomly generated initial tentative solutions 2. Second phase: the good solutions produced by the first phase are used as initial ones for the second phase
  • 27. Compound membrane algorithm 27 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza  Set up:  100 membrane algorithms in the first phase  Every algorithm uses 50 membranes  Each algorithm in the first phase terminates if the best solution does not improve during 500 iteration  The membrane algorithm in the second phase terminates if the best solution does not improve in 5000 iterations
  • 28. Compound membrane algorithm 28 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza  The table shows the results of experimental tests:  We can see that the compound membrane algorithm has significantly improved performances compared to previous approaches (it always outputs almost strict solutions)  The computation time of compound membrane algorithm was obviously much longer than that of the simple algorithm on a common computer  However, because the execution of the membrane algorithms in the first phase are completely independent, they could be easily parallelized on a distributed architecture, so that the computation time will be only twice related to the simple algorithm STRICT: 426 STRICT: 21282
  • 29. Compound membrane algorithm 29 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza  Possible explainations for the good performances of the compound approach: 1. Large number of random initial solutions 2. The first phase selects «good seeds» 3. The second phase generates very good solutions by recombining the good seeds obtained in the first phase
  • 30. Shrink membrane algorithm 30 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza  Based on dynamic membrane structure, it consists of three phases 1. Phase 1: a certain number of algorithms (with five membranes and Genetic Algorithm based subalgorithms in all regions) are executed. After termination condition… 2. Phase 2: «shrink» the systems to two membranes and refine with tabu search in region 0 and GA type subalgorithms in region 1 3. Phase 3: pass the good seeds selected in the previous phases to a second stage, like in the compound approach
  • 31. Shrink membrane algorithm 31 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza  We can see from the table above that the shrink algorithm beats the compound, also being significantly faster
  • 32. Conclusions 32 Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza  The experimental results prove the effectiveness of the membrane approach for approximating NP-complete problems  We saw how the performances can be improved considering some variants of P-systems (tissue based and with dynamic membranes)  There are many possibilities for further researches:  Using different subalgorithms  Using different dynamic structures  Using different terminating conditions  Introducing further P-systems ingredients
  • 33. Thank you! :-) Bioinformatics course - Laurea Magistrale in Ingegneria Informatica, Percorso di Eccellenza 33