IMPROVE ENERGY EFFICIENCY ROUTING IN WSN BY USING AUTOMATA

Low power and limited processing are characteristics of nodes in Wireless sensor networks. Therefore, optimal consumption of energy for WSN protocols seems essential. In a number of WSN applications, sensor nodes sense data periodically from environment and transfer it to the sink. Because of limitation in energy and selection of best route, for the purpose of increasing network remaining energy a node with most energy level will be used for transmission of data. The most part of energy in nodes is wasted on radio transmission; thus decreasing number of transferred packets in the network will result in increase in node and network lifetimes. In algorithms introduced for data transmission in such networks up to now, a single route is used for data transmissions that results in decrease in energy of nodes located on this route which in turn results in increasing of remaining energy. In this paper a new method is proposed for selection of data transmission route that is able to solve this problem. This method is based on learning automata that selects the route with regard to energy parameters and the distance to sink. In this method energy of network nodes finishes rather simultaneously preventing break down of network into two separate parts. This will result in increased lifetime. Simulation results show that this method has been very effective in increasing of remaining energy and it increases network lifetime.


INTRODUCTION
A Wireless sensor network includes sensor nodes that are distributed in a geographical region to show physical phenomena like temperature, vibrations, earthquake, etc [1,2].Placement of nodes in improper places and difficulty in changing or recharging batteries have made researchers to do investigations on reduction of energy consumption [3].Experiments show that transmission of data takes more energy compared with processing data [4,5].Energy Cost of transmitting one separate bit of information equals to processing of thousands of functions in a sensor node [4,6].Consumption of energy in sensing subsystems depends on sort of sensor.In many cases, the energy used by processing and connective subsystems is considerable.Main sources of energy waste in WSN include: idle listening, retransmission caused by injury, control packet overhead, transmission of data to sleeping node.Half-optimal utilization from available resources, and traffic changes and fluctuations.In this paper in order to increase network lifetime, energy waste in half-optimal utilization of resources is prevented.This is done via energy conservation technique in network unit.This paper uses an optimal route for data transmission from sensor node to the sink so as to increase network remaining energy.Routing algorithms like accumulation algorithms need to be aware of network topology and each moment they select a route that is optimal in terms of energy.Of course, this route also should be acceptable in terms of delay and number of paces to the sink.In former algorithms either only energy parameter was used alone or delay parameter was considered.If energy parameter alone is used it is possible that an unacceptable delay occurs and if delay parameter alone is taken into account, network lifetime may shorten due to early run out of nodes energy.Also in those algorithms when a route from sender to receiver was set, the route remained to the end until nodes energy finished that resulted in decreased network lifetime; but this algorithm selects the best modes from among all modes using learning automata that has trainable deciding structure and after selecting the best mode and its effect on the environment and feedback from the environment, each moment it selects the best route.The basis of this process is that each node has learning automata.

LITERATURE REVIEW
In [7] for increasing remaining energy, a route is selected for data transmission in which the number of errors and conflicts is low and hence the number of sending messages decreases in the network and network remaining energy increases.In [8] a routing algorithm is presented that is aware of power for networks which guarantees quality of service and at the same time decreases energy use through calculating remaining capacity of nodes batteries.In [9] for increasing remaining energy of network broadcasting improvement is used.In this method a backbone broadcasting of efficient energy has been used.In [10] clustering based on leach protocol is used.In this protocol, cluster heads are selected by a probability based on rate of remaining energy of node and the total remaining energy of all nodes in the network.In [11] spanning tree algorithm is used for energy aware routing in which the node with highest remaining energy as root and other nodes as father based on remaining energy for creating connection for other nodes are selected.[12] Uses only distance parameter for creating spanning tree that may lack sufficient energy for transmitting data.In this paper we use both energy and distance parameters and select the best route to reach the sink.This route is updated by automata using information received from network feedback.

LEARNING AUTOMATA
Learning automata [13,14] is a machine that is able to do a limited number of actions.Each selected action is evaluated by a probability environment and the result is given to automata in the form of a positive or negative signal to affect automata in selection of next action.The final goal is for automata to learn to select the best action from among its actions.The best action is one that maximizes the probability of receiving reward from environment.Function of learning automata in interaction with environment can be seen in Figure 1.
The environment may be represented by triple E={α, β, τ} where α is total inputs, β is total outputs, and τ is total fine probabilities.Automata is represented by set {α, β, F, G} where α is total inputs, and F, probability vector for selection of each action and G is related to automata learning algorithm [15].For each input, selection probability parameter is determined and automata selects the input with highest probability as automata output.The selected input is evaluated by automata in the environment and the result is given back to automata to be used by it in learning.In case that evaluation result is negative based on automata required parameters, the selected input will be incurred fine that means the probability of its selection decreases and the probability of selection of rest of members as the best one increase for next stage.In case that result is evaluated as positive, the probability of selection of this mode as the best mode against other members will increase in next stage.This process is referred to as automata learning.

THE PROPOSED ALGORITHM
In automata based methods, at the beginning of network functioning routing packets are distributed across whole network.Each node places in its routing table all those nodes that can be selected for next step transmission and assigns each node a numeral value as selection probability of the node as next pace.For sending data, each node selects a entry most probability as the node for nest pace and sends data trough this node.In this reference to update automata, the destination node after receiving data sends the confirmation message to data sending node.Based on information of this awards it in this way that if the selected route in this stage is an optimal route according to network parameters, its selection probability for nest stage increases.On the contrary, of the route is not optimal, its selection probability for next stage decreases.This process is called automata training.For next stages this process will continue.With this feature of automata the spread of routing packets at the beginning of each period in the network is preven they are always aware of network status based on data received from network by nodes and data related to routes and network topological changes are updated.The proposed algorithm using this feature of automata acts as follows: first, routing me are dispersed across the network in this way that each node sends an amount of energy and its distance to the sink to all neighbours across the network.This packet includes parameter of distanc energy that will be set on 1 in sink node parameter.After other nodes receive this packet, sending node ID along with its energy and parameter of distance to the sink is saved in the table and one is added to parameter of distance to sink, and ID of new node as well as its energy are placed in packet and dispersed again across the network.For the route to be registered in routing table, only registering the node of next pace is sufficient.This process is performed by network nodes.At the end of this process, each node saves some data related to adjacent nodes in its routing table.Routing table entries form automata input and automata considers quotient of division of amount of entry energy to its distance to sink probability of this entry as node of the next pace.The value of this numeral constant depends on total energy parameter and parameter of distance of routing table entries of each node that in the proposed algorithm is quotient division of total table energies to total distances of routing table related to each node.Relation Equation 1 shows this probability: Selection probability = Here selection probability will be a positive number greater than 1.Each node for transmitting data toward sink selects entry with biggest probability value as node of nest pace.In order to update automata, the node is required to receive some data from network so as to be aware of status of network.In [16] each node after receiving data sends confirmation message to data sending node for the purpose of awareness from status of network.This message includes some information about nodes of the route.Using information of these messages, network nodes will be aware of network status and the amount of energy with route nodes.Then automata fines or rewards the selected route of this node.Transmission of these message accompanied by overhead.In [15] to decrease overhead of confirmation messages, the messages are sent after transmission of every several data units.In case that the number of pace is variable i.e., if nodes are mobile, it is required sink node to the given node.In this algorithm, however, it is not necessary and only node energy is needed as nodes are constant and the number of their pace is not variable.In [17] updating node automata occurs locally that does not need sending and receiving a bulk volume of routing packets at the beginning of each period.But in this algorithm it is possible that a node is selected again since delay is low and selection probability is high.The pr

THE PROPOSED ALGORITHM
In automata based methods, at the beginning of network functioning routing packets are across whole network.Each node places in its routing table all those nodes that can be selected for next step transmission and assigns each node a numeral value as selection probability of the node as next pace.For sending data, each node selects a entry of table with the most probability as the node for nest pace and sends data trough this node.In this reference to update automata, the destination node after receiving data sends the confirmation message to data sending node.Based on information of this message, node automata fines this route or awards it in this way that if the selected route in this stage is an optimal route according to network parameters, its selection probability for nest stage increases.On the contrary, of the , its selection probability for next stage decreases.This process is called automata training.For next stages this process will continue.With this feature of automata the spread of routing packets at the beginning of each period in the network is preven they are always aware of network status based on data received from network by nodes and data related to routes and network topological changes are updated.The proposed algorithm using this feature of automata acts as follows: first, routing me are dispersed across the network in this way that each node sends an amount of energy and its neighbours.Sink node forms a packet route request and spreads it across the network.This packet includes parameter of distance to sink as well as node ID and its energy that will be set on 1 in sink node parameter.After other nodes receive this packet, sending node ID along with its energy and parameter of distance to the sink is saved in the table of distance to sink, and ID of new node as well as its energy are placed in packet and dispersed again across the network.For the route to be registered in routing table, only registering the node of next pace is sufficient.This process is performed by network nodes.At the end of this process, each node saves some data related to adjacent nodes Routing table entries form automata input and automata considers quotient of division of amount of entry energy to its distance to sink multiplied by a constant number as selection probability of this entry as node of the next pace.The value of this numeral constant depends on total energy parameter and parameter of distance of routing table entries of each node that in the rithm is quotient division of total table energies to total distances of routing table related to each node.Relation Equation 1 shows this probability: Selection probability = Here selection probability will be a positive number greater than 1.Each node for transmitting data toward sink selects entry with biggest probability value as node of nest pace.In order to e is required to receive some data from network so as to be aware of status of network.In [16] each node after receiving data sends confirmation message to data sending node for the purpose of awareness from status of network.This message includes some nformation about nodes of the route.Using information of these messages, network nodes will be aware of network status and the amount of energy with route nodes.Then automata fines or rewards the selected route of this node.Transmission of these messages within network is accompanied by overhead.In [15] to decrease overhead of confirmation messages, the messages are sent after transmission of every several data units.In case that the number of pace is variable i.e., if nodes are mobile, it is required that some data about network and its route be sent from sink node to the given node.In this algorithm, however, it is not necessary and only node energy is needed as nodes are constant and the number of their pace is not variable.In [17] tomata occurs locally that does not need sending and receiving a bulk volume of routing packets at the beginning of each period.But in this algorithm it is possible that a node is selected again since delay is low and selection probability is high.The proposed algorithm In automata based methods, at the beginning of network functioning routing packets are across whole network.Each node places in its routing table all those nodes that can be selected for next step transmission and assigns each node a numeral value as selection of table with the most probability as the node for nest pace and sends data trough this node.In this reference to update automata, the destination node after receiving data sends the confirmation message to message, node automata fines this route or awards it in this way that if the selected route in this stage is an optimal route according to network parameters, its selection probability for nest stage increases.On the contrary, of the , its selection probability for next stage decreases.This process is called automata training.For next stages this process will continue.With this feature of automata the spread of routing packets at the beginning of each period in the network is prevented though they are always aware of network status based on data received from network by nodes and data The proposed algorithm using this feature of automata acts as follows: first, routing messages are dispersed across the network in this way that each node sends an amount of energy and its route request and spreads it e to sink as well as node ID and its energy that will be set on 1 in sink node parameter.After other nodes receive this packet, sending node ID along with its energy and parameter of distance to the sink is saved in the table of distance to sink, and ID of new node as well as its energy are placed in packet and dispersed again across the network.For the route to be registered in routing table, only registering the node of next pace is sufficient.This process is performed by all network nodes.At the end of this process, each node saves some data related to adjacent nodes Routing table entries form automata input and automata considers quotient of division of multiplied by a constant number as selection probability of this entry as node of the next pace.The value of this numeral constant depends on total energy parameter and parameter of distance of routing table entries of each node that in the rithm is quotient division of total table energies to total distances of routing table (1) Here selection probability will be a positive number greater than 1.Each node for transmitting data toward sink selects entry with biggest probability value as node of nest pace.In order to e is required to receive some data from network so as to be aware of status of network.In [16] each node after receiving data sends confirmation message to data sending node for the purpose of awareness from status of network.This message includes some nformation about nodes of the route.Using information of these messages, network nodes will be aware of network status and the amount of energy with route nodes.Then automata fines or s within network is accompanied by overhead.In [15] to decrease overhead of confirmation messages, the messages are sent after transmission of every several data units.In case that the number of pace is variable that some data about network and its route be sent from sink node to the given node.In this algorithm, however, it is not necessary and only node energy is needed as nodes are constant and the number of their pace is not variable.In [17] tomata occurs locally that does not need sending and receiving a bulk volume of routing packets at the beginning of each period.But in this algorithm it is possible that a node oposed algorithm also acts on this basis and whenever node energy reaches a given threshold, data sending node selects another node for sending data in this way that upon transmission of data, automata of these nodes is automatically updated and the route changes only at that spot.Entry of routing table only changes in that node.To prevent reselection of this node by neighbours node, selection probability of this node should be fined.The node will be fined or rewarded with respect to relations Equation 2 and Equation 3: Relation Equation 2shows update of selection probability of node in reward mode and relation Equation 3shows the update in fine mode.In these relations α is update coefficient.The first relation results in reward and higher selection probability while the second relation decreases selection probability for remaining nodes.α value is positive and smaller than 1.
Sending node sends local messages to neighbouring nodes to update routing table and neighbouring nodes in response to this message send their new energy.The amount of new receiving energy from the neighbour nodes for updating routing table is liable to reward and increased selection provided that it is higher than threshold limit.However, if it is equal to or lower than the threshold limit, it will be fined.Then data sending node from updated routing table selects the highest probability for node of next pace.Hence the route is updated locally without any need to entirely spread of routing packets.Thus, with decrease in sent and received messages consumed energy of network will decrease and probability of selection a node with energy equal to threshold energy will reduce considerably.

EVALUATION ALGORITHM
In this section the proposed algorithm is evaluated by computer-based simulations.For this purpose, routing with automata is compared with routing without automata.The parameters involved in this comparison are lifetime, number of active nodes, remained energy, and delay.For simulating the algorithm and evaluating its efficiency, MATLAB software has been used.In this simulation a network with random topology having some desirable nodes and districts is developed.To do simulation and evaluation, N number sensor nodes are located randomly within a square border of 600*600.N is supposed to be 300.The initial energy of nodes is taken 0.01 J. frequencies of reiterations regarded for simulation is 700.Connective range of nodes is 60 meter; that means each 2 nodes located in a distance less than 60 m are regarded as neighbours and are able to exchange data.Moreover, a range in which a node can sense an event is half of connective range that is 30 meter.Events are sensed periodically and in each period one event occurs.Value of α for update of selection probability of a node is taken 0.001.Placing spot of sink in simulation is in (300,300).Figure 2 shows a comparison of lifetime of proposed algorithm with and without automata.Table 1 shows their properties.

CONCLUSION AND FUTURE WORKS
As mentioned already, a main problem with wireless sensor networks is energy.In order to increase lifetime of these networks and to reduce energy use for nodes routing with automata has been used in this paper that is supported by local update.In this update process, in order not to reselect a node, selection probability of nodes with lower than threshold energy will decrease by relation two and for nodes upper than threshold energy award is conferred.Network lifetime and number of active nodes will increase with this algorithm.This has been proved by simulation.Our simulation results show that using automata increases network lifetime.As future works, improving this algorithm in delay parameter as well as utilizing it in other routing protocols is to be examined.

Figure 2 .
Figure 2. Comparison of lifetime of proposed algorithm with and without automata Figure 3 shows a comparison of remaining energy in proposed algorithm with and without automata.

Figure 3 .
Figure 3.Comparison of remaining energy in proposed algorithm with and without automata

Figure 4 .
Figure 4. Comparison of number of active nodes in proposed algorithm with and without automata