Professional Documents
Culture Documents
Tam Metin
Tam Metin
Tam Metin
net/publication/270157420
CITATIONS READS
0 130
1 author:
Erkan Duman
Firat University
27 PUBLICATIONS 66 CITATIONS
SEE PROFILE
All content following this page was uploaded by Erkan Duman on 29 December 2014.
169
security, dynamically task-scheduling, etc [5]. The Let consider a Boolean function f = x1 x 2 + x3 .
immune and nervous systems are sharing the The two example OKFDDs of this function and
capabilities of memory and learning and both are the corresponding circuit constituted only by
using the threshold values for definite recognition. AND, OR and NOT gates are shown in Figure 1
If you had investigated their constructions then that they are explaining the way how to construct a
you would be able to observe easily that they were circuit from such a graph. This translation process
suitable for different areas at same performance. can be learned in detail Becker’s study [9].
In this study, CSA was applied to construct f
x2 x2 nD x2
pD
0
If this graph is ordered then the corresponding 1
1 0
x3 nD
kronecker functional decision diagram is called an x3
S
OKFDD. These definitions had been examined 0 1
170
function but the number of the nodes on the right- • The probability of maturate (generally it
hand side is greater then on the left due to is chosen smaller then the value used in
choosing unsuitable variable ordering list. genetic algorithm)
• The probability of re-production
x1
• The terminated conditions (max. iteration
x3 x3
or desired straightness)
x1
x5 x5 x5 x5
x2
x3 x2 x2 x2
x2
x4
x5 x4 x4
x6 x6
1 0 1 0
171
1 x1 pD 1
x1-pD
3 x2 pD
2 3
x2-pD
0 1 4 5 6 7
x3-S
5 x3 S
8 9 10 11 12 13 14 15
x4-S
0 11 x4 S
0 1
0 1
(a) (b)
1 2 3 4 pD pD S S 5 3 - - 0* 1* - - 0* 11 - - - - - -
- - - - 0* 1* - - - - - - - - - -
(c)
Figure 5: An example clone and its encoding.
30 with n = 4. The inside of the root node is stored in aspects of the problem: correctness and size. Firstly,
the first element of the variable ordering list. The left a clone is used to construct a graph automatically
and right outgoing edges of ith node are linked to the then we test this graph should provide the achieving
elements of 2 * i − 1 and 2 * i respectively of the desired function otherwise it will get a very
where 1 ≤ i ≤ (2 n − 1) . For example the left (right) small affinity value. In all of the experiments we
used a truth table of related function in which each
neighbor of the root node (i = 1) is storing in the row represents a relation case between inputs and
2*1-1 (2*1) element of the neighbor list. The outputs like the logic synthesis and optimization
notations of 0* and 1* in the neighbor list indicate a benchmarks distributed by Microelectronics Center
terminal node with values of 0 and 1 respectively. of North Carolina (MCNC). If the graph guarantees
In our method, the all values in a clone are also the desired correctness, its affinity value that
encoded as a bit-string array similar to the previous depends on its number of nodes will be defined as
studies. In the above example, the size of the exam shown on equation 2 where C is a constant
clone is computed by the equation 1 with variable
indicating the maximum number of nodes so our
number n = 4. The first term denotes the size of
problem will be transformed to a maximization
variable ordering list and it is considered that if there
problem by this objective function. The best solution
are n variables and each one is encoded by log 2 (n ) having the minimum number of the nodes in a
bits then the sum of them is equal to n * log 2 (n ) . It is population gets the maximum affinity value.
described in the second term that the each variable (2)
requires only 2-bits to represent own decomposition the affinity of a graph = C − (number of nodes)
type so the dec-type list spends only n * 2 bits
The selection step of our algorithm was done by
totally. The last multiplication means a statement
roulette wheel technique known from GA that each
that one node in the above graph is encoded using
( )
log 2 2 n − 1 bits and also each node has two child
individual in a population can be able to choose with
a probability proportional to its affinity value. The
links so the each of the (2 n
−1 ) nodes needs parameter of n that mentioned in the previous
( n
)
2 * log 2 2 − 1 bits to show its relations with others.
section is very critical in order to convergence
quickly. The genetic operators in CSA are
(1) reproduction (clone) and maturate. The first is
(
size = n * log 2 (n ) + n * 2 + 2 * 2 n − 1 * log 2 2 n − 1 ) ( ) performed by copying the n individuals in current
[ ( n
n = 4 → 4 * log 2 4 + 4 * 2 + 2 * 2 − 1 * log 2 2 − 1 = 136 ) ( n
)] population into the next generation and the maturate
step proceeds by randomly changing a few bits in
random positions in a clone with given mutation
In the each iteration of CSA, the decision about
probability.
whether one clone will survive in the next iteration
or not is made with respect to its affinity measure. To
measure the affinity of a clone, we considered two
172
5. Experimental Results would be developed under an object oriented
development environment.
In order to compare the performance of our
proposed optimization method with previous
heuristic studies, we obtained the source code 7. References
distributions of PUMA [12], and TUDD [11].
Unfortunately, both of those packages weren’t [1] L. D. Castro, J. Timmis, “Artificial Immune Systems:
compiled due to numerous Linux kernel errors. Since A Novel Paradigm to Pattern Recognition”, In Artificial
these packages were developed under very old Neural Networks in Pattern Recognition, J.M. Corchado,
LINUX distributions, neither these packages nor the L. Alonso and C. Fyfe (eds), SOCO-2002, University of
Paisley, UK, pp. 67-84, 2002.
kernel of their development environment are [2] L. D. Castro, Fernando J. Von Zuben, “Learning and
compatible with accepted ANSI/ISO standards of Optimization Using the Clonal Selection Principle”, IEEE
C++ programming language. Transactions on Evolutionary Computation, Special Issue
Furthermore, we also obtained source code and on Artificial Immune Systems, vol. 6, n. 3, pp. 239-251,
made experiments with the wld package [13]. This 2002
package is designed as word level so that it is not [3] L. D. Castro, F. J. Von Zuben, “The Clonal Selection
suitable for OKFDDs implementation, which is Algorithm with Engineering Applications”, In Workshop
designed as bit level. Instead, results of the Preceedings of GECCO’00, Workshop on Artificial
benchmarks are given to provide information about Immune Systems and Their Applications, pp. 36-37, USA,
2000.
the proposed method’s performance. A test [4] L. D. Castro, F. J. Von Zuben, “Artificial Immune
environment was developed by using MATLAB, and Systems: Part I-Basic Theory and Applications”, Technical
then benchmark results were obtained from Report, TR-DCA 01/99, 1999.
LGSynth91 [10], which is distributed by MCNC. [5] L. D. Castro, F. J. Von Zuben, “Artificial Immune
Obtained results are summarized in Table 1. All of Systems: Part II-A Survey of Applications”, Technical
the benchmarks test the number of gates in the Report, TR-DCA 02/00, 2000.
circuits (number of nodes in the OKFDDs). As it can [6] R. Drechsler, B. Becker, N. Drechsler, “OKFDD
be seen from the column of approximate gates, the minimization by genetic algorithms with applicaiton to
number of gates was significantly reduced by the circuit design”, INTEGRATION, the VLSI journal 28, pp.
121-139, ELSEVIER, 1999.
CSA. [7] R. Drechsler, B. Becker, “Ordered Kronecker
Table 1: Results for some circuits Functional Decision-A Data Structure for Representation
and Manipulation of Boolean Functions”, IEEE
benchmark
Approx.
Output
Circuit
Gates
name
Input
CSA
173