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