UNPKG

enome

Version:

A genome generation and evolution library.

51 lines 3.46 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); Object.defineProperty(exports, "__esModule", { value: true }); var index_1 = require("../../index"); var _ = require("lodash"); var SumOrganism = (function (_super) { __extends(SumOrganism, _super); function SumOrganism() { return _super !== null && _super.apply(this, arguments) || this; } SumOrganism.prototype.createPhenotype = function (genome) { return _.range(genome.options.length).map(function (i) { return genome.g.int(genome.options.min, genome.options.max); }); }; SumOrganism.prototype.interact = function (state) { return { agentID: this.id, index: state.index + 1, state: { list: this.phenotype, sum: _.sum(this.phenotype), }, }; }; SumOrganism.prototype.observe = function (interaction) { return interaction.newState.state; }; SumOrganism.prototype.evaluate = function (data, genotype, phenotype) { var difference = this.options.target - data[0].sum; var fitness = Math.abs(difference); return { data: data, fitness: fitness, genotype: genotype, phenotype: phenotype, }; }; return SumOrganism; }(index_1.Organism)); exports.SumOrganism = SumOrganism; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtLW9yZ2FuaXNtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2V4YW1wbGVzL3N1bS9zdW0tb3JnYW5pc20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEscUNBQTREO0FBUzVELDBCQUE0QjtBQUU1QjtJQUFpQywrQkFRaEM7SUFSRDs7SUFzREEsQ0FBQztJQTdDUSxxQ0FBZSxHQUF0QixVQUF1QixNQUFpQztRQUN0RCxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFBLENBQUM7WUFDekMsT0FBQSxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUFwRCxDQUFvRCxDQUNyRCxDQUFDO0lBQ0osQ0FBQztJQUVNLDhCQUFRLEdBQWYsVUFDRSxLQUFpQztRQUlqQyxNQUFNLENBQUM7WUFDTCxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDaEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQztZQUN0QixLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUNwQixHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO2FBQzNCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSw2QkFBTyxHQUFkLFVBQ0UsV0FBcUQ7UUFHckQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFFTSw4QkFBUSxHQUFmLFVBQ0UsSUFBZ0IsRUFDaEIsUUFBbUMsRUFDbkMsU0FBbUI7UUFFbkIsSUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNyRCxJQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBSXJDLE1BQU0sQ0FBQztZQUNMLElBQUksTUFBQTtZQUNKLE9BQU8sU0FBQTtZQUNQLFFBQVEsVUFBQTtZQUNSLFNBQVMsV0FBQTtTQUNWLENBQUM7SUFDSixDQUFDO0lBQ0gsa0JBQUM7QUFBRCxDQUFDLEFBdERELENBQWlDLGdCQUFRLEdBc0R4QztBQXREWSxrQ0FBVyJ9