Page 17 - Algorithm Collections for Digital Signal Processing Applications using MATLAB
P. 17

1. Artificial Intelligence                                         5

                  If f (a, b, c, nextd, e) is less than f (a, b, c, d’, e) then update the value
                  for d’ as nextd, otherwise d’ is not changed

                  If f (a, b, c, d, nexte) is less than f (a, b, c, d, e’) then update the value
                  for e’ as nexte, otherwise e’ is not changed

           7.  Repeat the steps 3 to 6 for much iteration to reach the final decision.

           The  values  for  ‘c1’,’c2’  are  decided  based  on  the  weightage  given  to
           individual decision and global decision respectively.
              Let  Δa(t)  is the change in the value  for updating the value for ‘a’ in t   th
           iteration, then nexta at (t+1)th iteration can be computed using the following
           formula. This is considered as the velocity for updating the position of the
           swarm in every iteration.


                                 Δ
                             a
               nexta (t+1) =  (t) + a(t+1)
               where
               Δ a(t+1) = c1 * rand * (a’ –a ) + c2 * rand * ( global –a ) +
               w(t)* Δa(t)

                                   th
           ‘w ( t )’ is the weight at t  iteration. The value for ‘w’ is adjusted at every
           iteration as given below, where ‘iter’ is total number of iteration used.


               w(t+1)=w(t)-t*w(t)/(iter).

              Decision taken in the previous iteration is also used for deciding the next
           position to  be shifted by the swarm. But as  iteration increases, the
           contribution of the previous decision is decreases and finally reaches zero in
           the final iteration.
   12   13   14   15   16   17   18   19   20   21   22