Switching Optimization By Neural Networks

The priority switching problem is a combinatorial optimization problem searching for the best solution for frame forwarding in a switch. To solve this problem, the modified Hopfield neural network, what is able to solve the priority switching problem is introduced.


I. Introduction
Artificial neural networks with their parallel architecture represent a very perspective way for future data processing. In comparison with classical, sequential data processing neural networks offer a more efficient parallel processing. They are based on mathematical models of the neural system of living organisms what, in highly simplified point of view, is made of a large number of computation elements.
Hopfield and Tank [1] presented a new architecture of neural networks with feed-back connections. This network, using iteration processes, is able to solve combinatorial optimization problems well known from mathematics. Much work was spent on modifying the original architecture and making it more efficient. Very significant results were achieved by Aiyer [2] II. The Priority Switching Problem In classical Ethernet networks (using classical switches) there is no native support for frame prioritization. This situation is not very suitable for modern multimedia applications, where the transmission delay is a very important parameter. If the frames are of the same priority (what is the case, when priority support is not implemented), file transmission can block the switch and can increase the transmission delay for other more important communications, e.g. voice or video communication. The only solution for this problem is to add a priority field to the transmitted data expressing the importance of the frame. In the input buffer, there can be several frames waiting for the transmission. From the point of view of the switch instead of the destination address contained in the header of the frame, the corresponding output port of the switch is more important. So the destination address in the frame is used only to identify the output port. The connection process is then based only on the port numbers. The frames waiting in the input buffer of one input port can be expressed mathematically as a vector, where the position of the element in the vector specifies the required output and the value of the element expresses the priority.
If value 255 is assigned to the least important frame, it could be used in the situation when there is no request for the given port.

11
For each input port, such a vector can be constructed. Connecting these vectors a matrix can be constructed. This matrix can be called as priority matrix.

III. The Hopfield Neural Network
The biggest difference between the Hopfield network and the common artificial neural networks like back prop networks, in its feed-back architecture, as shown in Figure (  This special architecture adds a new essential feature to the network, the temporal behaviour. Generally, such a system is called dynamic, and its behaviour is expressed by a set of differential equations. The behaviour of the j-th neuron in the network can be expressed by differential equation (1) describing the change in the state value of the neuron about time.
A mathematical description of the Hopfield network can be expressed by equations (1) and (2), where u is the state value of the neuron, x is the input and g(u) is the output value. Since the network is recurrent, value x can be expressed by variable u.

Switching Optimization By Neural Networks Mansour M.Abaid & Musbah A.Sharf
The relationship between the state value u and the output value v is expressed by the activation function of the neuron. In most cases the activation function is nonlinear. Examples of the activation function can be expressed by equations (3) or (4).

  
(3) The state value of the Hopfield network change with time. If the network is configured properly, the movement of the state values in the state space starts from the initial values and ends in a stable state. During this process, the neural network moves from higher energy state to a lower one. This means that the network minimizes its energy function. In general, this energy function can be expressed by equation (5). There is a close relation between the energy function and the system of differential equations describing the neural networks.
With properly selected weight values T i,j (the weight of the j-th input of the i-th neuron) the energy function can have special forms, such as the form of the energy function of an optimisation problem.

IV. Modified Hopfield Neural Network
The biggest problem of the classical Hopfield network is that practical implementations of it are very ineffective. They quite often generate not optimal solutions. The problems with affectivity are caused by the very complicated energy function containing several terms to express both the confinement criteria and the object function of the optimization problem. Due to the complicated energy function, the classical Hopfield network can stuck in the local minimum and as a result it will not reach the global minimum corresponding to the optimal result. A solution to this problem was offered by Aiyer [2]. In this work, the global energy function of the optimization problem is divided into two parts: the confinement function and object function. As it was described earlier, the confinement function is responsible for ensuring the limitation criteria of the optimization problem while the object function expresses the pure optimization problem. The object function expresses the total length of the route connecting the cities in a selected order. Aiyer also showed in his work how to separate the confinement function from the energy function to prevent them working against each other.
The iteration process of the Hopfield model with improved energy function presented in equation (3) can be seen in Figure (2). The process in this figure was presented by A.Gee Figure (2) shows that the iteration runs in two loops. The upper loop represents the projection of the state vector v into the subspace of valid solutions. The lower loop represents the optimization of the object function.  (7) and (8) respectively.

Switching Optimization By Neural Networks Mansour M.Abaid & Musbah A.Sharf
The object function can be expressed by equation (9), where vector c contains the weights assigned to the corresponding outputs. If the output is active, this weight is added to the total sum. Matrix Q contains the weights assigned to each pair of outputs. What this means the weight of the and neuron being active at the same time.
( ) By using expressions (7)  Matrix I is an identity matrix, and the parameter defines the weight between the confinement function and the object.

V. Fabric Controlled by Neural Network Switch
Switches receive data units on their input ports and forward those to the correct output port. If a priority value is assigned to each data unit, the algorithm forwarding these units from the input port to the output must first process the data units of higher priority first. The improved Hopfield neural network described in the previous chapter is able to solve the optimization problem of priority switching. A possible architecture of a switch fabric with neural control is shown in Figure (

VI. Conclusion
To overcome the speed limitations of the optimization problems solving by the artificial neural network is to use parallel architectures with simple function elements. By using a Hopfield network with improved performance, the very effective system architecture can be built.