[**@s4ai/core Documentation v0.3.23**](../../../README.md)

***

[@s4ai/core Documentation](../../../modules.md) / [@s4ai/core](../README.md) / MemeticEvolutionEngine

# Class: MemeticEvolutionEngine

Defined in: intelligence/memetic-evolution-engine.js:53

## Extends

- [`Revenue`](../business/variables/Revenue.md)

## Constructors

### Constructor

> **new MemeticEvolutionEngine**(): `MemeticEvolutionEngine`

Defined in: intelligence/memetic-evolution-engine.js:54

#### Returns

`MemeticEvolutionEngine`

#### Overrides

`EventEmitter.constructor`

## Properties

### evolutionCycles

> **evolutionCycles**: `number`

Defined in: intelligence/memetic-evolution-engine.js:61

***

### generation

> **generation**: `number`

Defined in: intelligence/memetic-evolution-engine.js:57

***

### ideaSpace

> **ideaSpace**: `Map`\<`any`, `any`\>

Defined in: intelligence/memetic-evolution-engine.js:60

***

### memes

> **memes**: `any`[]

Defined in: intelligence/memetic-evolution-engine.js:56

***

### populationHistory

> **populationHistory**: `any`[]

Defined in: intelligence/memetic-evolution-engine.js:58

***

### topMemes

> **topMemes**: `any`[]

Defined in: intelligence/memetic-evolution-engine.js:59

## Methods

### calculateDiversity()

> **calculateDiversity**(): `string`

Defined in: intelligence/memetic-evolution-engine.js:217

#### Returns

`string`

***

### combineMemes()

> **combineMemes**(`meme1`, `meme2`): `Meme`

Defined in: intelligence/memetic-evolution-engine.js:138

#### Parameters

##### meme1

`any`

##### meme2

`any`

#### Returns

`Meme`

***

### getEvolutionReport()

> **getEvolutionReport**(): `object`

Defined in: intelligence/memetic-evolution-engine.js:222

#### Returns

`object`

##### diversity

> **diversity**: `string`

##### generation

> **generation**: `number`

##### history

> **history**: `any`[]

##### topMemes

> **topMemes**: `object`[]

##### totalMemes

> **totalMemes**: `number`

***

### getMemeplex()

> **getMemeplex**(): `object`

Defined in: intelligence/memetic-evolution-engine.js:201

#### Returns

`object`

##### diversity

> **diversity**: `string`

##### dominantMemes

> **dominantMemes**: `object`[] = `memeplex`

##### generations

> **generations**: `number`

##### populationSize

> **populationSize**: `number`

***

### propagateMemes()

> **propagateMemes**(`generations?`): `Promise`\<`any`[]\>

Defined in: intelligence/memetic-evolution-engine.js:190

#### Parameters

##### generations?

`number` = `10`

#### Returns

`Promise`\<`any`[]\>

***

### replicateMeme()

> **replicateMeme**(`meme`): `Promise`\<`any`\>

Defined in: intelligence/memetic-evolution-engine.js:87

#### Parameters

##### meme

`any`

#### Returns

`Promise`\<`any`\>

***

### runEvolutionCycle()

> **runEvolutionCycle**(): `Promise`\<`void`\>

Defined in: intelligence/memetic-evolution-engine.js:153

#### Returns

`Promise`\<`void`\>

***

### seedMemes()

> **seedMemes**(`patterns?`): `any`[]

Defined in: intelligence/memetic-evolution-engine.js:65

#### Parameters

##### patterns?

`any`[] = `[]`

#### Returns

`any`[]

***

### selectFittest()

> **selectFittest**(): `any`[]

Defined in: intelligence/memetic-evolution-engine.js:111

#### Returns

`any`[]
