1 mutation: function () {
2 var newGenome = [];
3 //Каждый элемент
генома
4 $(this.genome).map(function (i, elem) {
5 //Последний элемент генома
6 var lastElem = elem[elem.length-1];
7 //Если это конечный маршрут - больше не строим его
8 if(geoDATA[lastElem].to == geneticTSP.to) return;
9 //Ищим новые варианты путей
10 var newWays = geneticTSP.getWaysByCheckpoint(geoDATA[lastElem].to);
11 //Все найденые пути
12 $(newWays).map(function (way) {
13 //Записываем в новый геном
14 newGenome.push(elem.concat(parseInt(this)));
15 });
16 });
17 //Следующее поколение
18 this.generation++;
19 //Записываем обновленные маршруты
20 this.genome = this.genome.concat(newGenome);
21 }
9 из 13
Разработка обучающего модуля для работы с генетическими алгоритмами
Размножение
Результат
Пискулина Маргарита
1 ...
2 $('.frame .output').html(html);
3 //записываем вывод результата в окно с классом .output
4 sys.renderer = Renderer("#"viewport")
5 //начинаем рисовать в выбраной области график
6 $.each(geoCities, function(i,node){
7 sys.addNode(node); //добавляем вершину});
8 $.each(geoDATA, function(i,edge){
9 sys.addEdge(sys.getNode(edge.from),
sys.getNode(edge.to));
10 });
11 ...