10.05.2014 Views

Algoritmi genetici pentru rezolvarea problemelor prin - Sorin ...

Algoritmi genetici pentru rezolvarea problemelor prin - Sorin ...

Algoritmi genetici pentru rezolvarea problemelor prin - Sorin ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Genome.h<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

16<br />

17<br />

18<br />

19<br />

20<br />

21<br />

22<br />

23<br />

24<br />

25<br />

26<br />

27<br />

28<br />

29<br />

30<br />

31<br />

32<br />

33<br />

34<br />

35<br />

36<br />

37<br />

38<br />

39<br />

40<br />

41<br />

42<br />

43<br />

44<br />

45<br />

46<br />

47<br />

48<br />

49<br />

50<br />

51<br />

52<br />

53<br />

54<br />

55<br />

56<br />

57<br />

58<br />

59<br />

60<br />

61<br />

62<br />

63<br />

64<br />

65<br />

66<br />

//////////////////////////////////////////////////<br />

// (c) 2003 <strong>Sorin</strong> OSTAFIEV (sorin@ostafiev.com) //<br />

//////////////////////////////////////////////////<br />

// Genome.h: interface for the Genome class.<br />

//<br />

//////////////////////////////////////////////////////////////////////<br />

#if !defined(AFX_GENOME_H__1B30186E_485F_434A_B615_BE44BC598C7A__INCLUDED_)<br />

#define AFX_GENOME_H__1B30186E_485F_434A_B615_BE44BC598C7A__INCLUDED_<br />

#if _MSC_VER > 1000<br />

#pragma once<br />

#endif // _MSC_VER > 1000<br />

class Population;<br />

class GA;<br />

#include "globals.h"<br />

#include <br />

using namespace std;<br />

class Genome<br />

{<br />

static int _genome_size;<br />

public:<br />

void setFromPattern(const string& pattern);<br />

friend class Population;<br />

friend class GA;<br />

enum genome_type<br />

{<br />

GENOME_RANDOM,<br />

GENOME_ZERO<br />

};<br />

const double getGAFitness() const;<br />

const double getPopulationFitness() const;<br />

void Crossover(Genome& genome);<br />

void Mutate();<br />

Genome(const Population* const population, const GA* const ga, const genome_type type = GENOME_ZERO);<br />

virtual ~Genome();<br />

Genome(const Genome& genome);<br />

Genome& operator=(const Genome &genome);<br />

private:<br />

};<br />

bitset _body;<br />

const double getGenomeFitness(const Genome& genome) const;<br />

const Population* const _population;<br />

const GA* const _ga;<br />

mutable double _populationFitness;<br />

mutable double _gaFitness;<br />

// fitness within population<br />

// fitness within ga<br />

// genome over genome<br />

// which population we belong<br />

// ...and which ga<br />

#endif // !defined(AFX_GENOME_H__1B30186E_485F_434A_B615_BE44BC598C7A__INCLUDED_)<br />

Page 1 of 1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!