1 / 9

Distributed Genetic Algorithms

Distributed Genetic Algorithms. Prof: Paul Schragger Abdo Achkar Fall 2005 Villanova University. Problem Definition. Distributed genetic algorithms to simulate the evolution of an animal. General use case: Approximation problems that have no algorithmic solution

Download Presentation

Distributed Genetic Algorithms

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Distributed Genetic Algorithms Prof: Paul Schragger Abdo Achkar Fall 2005 Villanova University

  2. Problem Definition • Distributed genetic algorithms to simulate the evolution of an animal. • General use case: • Approximation problems that have no algorithmic solution • We might want to use [distributed] genetic algorithms if • The problem needs a lot of computation • We want to avoid local minima/maxima

  3. Genetic Algorithms • Program that optimizes a set of bit Strings that we name “Chromosome” according to a function that we call “fitness function”. • The bit Strings will • Reproduce • Be mutilated • Be selected: the fittest will remain for the following generation

  4. Object Oriented Design IpList NetNode Has-a Has-a Has-a Population Chromosome Extends Thread Has-a Has-a DatagramListener DatagramBroadcaster Has-a Has-a ChromosomeLeg DgramListenerWorker Extends Thread Has-a PacketHandler

  5. The Work Flow Solve Instance Start and BroadCast Anybody here Wait for reply (DgramListener) DgramListenerWorker Associated event with the packet Received Packets PacketHandler MsgParser Note: this event can be a broadcast or a new listen

  6. Inside the DgramPacketHandler private void doCommand(int command,DatagramPacket p) { switch(command) { case MsgClass.WAIT_FOR_DATA: … case MsgClass.MSG_ANYBODY_HERE: … case MsgClass.MSG_SERVER_CONNECT_TIMEOUT: … case MsgClass.MSG_SERVER_IS_DOWN: … case MsgClass.MSG_YOU_ARE_THE_SERVER: … } }

  7. The Voting Algorithm 2 Client detects server’s time out 1 event Wait for Server’s Data 3 3 Broadcasts the server failed Listen for votes 4 End of Vote Vote Received 6 Msg:vote 5 Add to IP list Send “you are the server” To the highest IP 5 7 Vote Wait for votes result 8 Act Accordingly

  8. The Program Flow Anybody here Listen Timeout Data Received We Serve We are Clients Update Population Listen Vote call received Data Received Anybody here Listen Send Data Data Received Timeout Vote call received Vote Broadcast: vote Listen Vote Received Listen Msg:You are the server Add IP to list Timeout We are servers Tell the server Broadcast We are server

  9. References • Artificial Intelligence, Negnevitsky. • Distributed Computing, Attiya and Welch • Distributed Application Programming in C++, Maddox • The Essential Guide to Networking, Keogh • Network Management, Subramanian • Java How to Program, Deitel and Deitel • Distributed Systems, Tanenbaum and Van Steen • C++ In Action, Melweski • Inertie d’un système, M Devel, Université de Franche-Comté

More Related