Optimal Synthesis of Finite State Machines with Universal Gates using Evolutionary Algorithm