International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 05 Issue: 05 | May 2018 www.irjet.net p-ISSN: 2395-0072
© 2018, IRJET | Impact Factor value: 6.171 | ISO 9001:2008 Certified Journal | Page 4322
Design of an Efficient Hardware Searching algorithm
Ashish Jadhao
1
, Vanita Agarwal
2
1
M. Tech, Electronics and Telecommunication Department, College of Engineering, Pune, India
2
Assistant Professor, Electronics and Telecommunication Department, College of Engineering, Pune, India
---------------------------------------------------------------------***---------------------------------------------------------------------
Abstract - Searching algorithms has been widely
investigated to increase its speed. Also, Cellular automata
(CA) with evolutionary rules has been a significant area of
research. Speed is a very important factor in any search
algorithms. Many researchers have concluded that
Searching with the help of hardware is always fast than
software. Therefore, we propose a hardware
implementation of a searching algorithm. This algorithm
has been designed with the help of Cellular Automata (CA).
The Rule induction for cellular automata is done by using
Learning from examples module 2 (LEM2) algorithm. It is a
Rough set approach; Rough set approach has also been used
for updating the CA rules. This algorithm has been
implemented on Xilinx Artix 7 FPGA.
Key Words: Cellular Automata(CA), Learning from
examples module 2(LEM2)
1. INTRODUCTION
A cellular automaton is a mathematical model or a system
of cells with some specific characteristics. Cellular
Automata (CA) are discrete mathematical models. They
are the systems that have self-reproduction and chaotic
behaviour and are determined by simple rules. The
Cellular Automata have following characteristics:
Key elements of a Cellular Automata are grids, states
and neighbourhoods.
Each cell lives on a grid.
Every cell has a state or value having finite state
capabilities.
Every cell has its neighbourhood. It can be described
in multiple ways, generally it is an array of adjacent
cells.
A new state of a cell is a function of value of that state
and its adjacent cells at the previous time instance.
Cell state at time t= f (cell neighbourhood at time t-1)
In Elementary Cellular Automata, we have three cells,
each with state of 0 or 1 as shown in fig.1. Black states
are denoted as ‘1’ and white represents ‘0’.
Fig. 1: Rule 90 of cellular automata
Fig. 1 shows an example of Cellular Automata using Rule
90. Rule 90 is given by the modulo-2 addition of both the
neighbourhoods.
The evolution of a cell depends on its own value and those
of its nearest neighbours. The local rule is the function of
the cells within the neighbourhood [5] and expressed as
()
…… (1)
‘*’- denotes any binary operation
In Elementary CA, we can generate total 256 rules. Each
rule gives different solution on next time instance.
The total configuration of a CA is specified by the values of
total number of cells [5] and represented by a
characteristic equation
()
() ∑
()
…… (2)
where, the value of cell i is the coefficient of
Such behaviour of Cellular automata can be used in
Genetic algorithms and Data mining methods. This has
been a wise topic in Artificial Intelligence. Therefore,
Researchers have studied the behaviour of CA and has
been widely used in some applications. Also, Hardware
implementation will increase its speed and efficiency [6].
Therefore, we have also this algorithm on hardware.
This paper explains about the FPGA
implementation of a searching algorithm using Cellular
Automata and a Rough set approach for generating the
rules of Cellular Automata. The next section explains about
the methodology to find the Rule set. The complete LEM2
algorithm with pseudocode and steps to solve the
algorithm. The third section gives the results given by
LEM2 algorithm. The fourth section explains the
conclusion and future work.
2. METHODOLOGY
In general, the problem of CA identification is to find the
cell neighborhood and updating rule based on the
different input data set, to solve this type of problem, the
input dataset should be represented in the form of a
decision table [2]. Decision table is a set of observations
and cell states. Thus, rough set approach is used to identify
rules and to update rule of CA [2].
Before that, we need to induce rules for CA which can be
done by several algorithms. One of them is LEM2
(Learning from examples module 2). Among other rule
induction algorithms, this one gives better results [1]. It is