Skip to content
This repository has been archived by the owner on Feb 2, 2022. It is now read-only.

Project 3. iDNA #38

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open

Project 3. iDNA #38

wants to merge 7 commits into from

Conversation

D-Unknown
Copy link

FINAL
D_Unknown

return (NSComparisonResult)NSOrderedDescending;
if ([obj1 hammingDistance:goalDNA]<[obj2 hammingDistance:goalDNA])
return (NSComparisonResult)NSOrderedAscending;
return NSOrderedSame;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

у меня компилятор ругается на эту строчку.
Ничего толкового больше сказать не могу... у меня сортировка вручную была сделана.
Заменил на
[population sortUsingComparator:^(Cell *obj1, Cell *obj2) {
if ([obj1 hammingDistance:goalDNA]>[obj2 hammingDistance:goalDNA])
return (NSComparisonResult)NSOrderedDescending;
if ([obj1 hammingDistance:goalDNA]<=[obj2 hammingDistance:goalDNA])
return (NSComparisonResult)NSOrderedAscending;
return (NSComparisonResult)NSOrderedAscending;
}];
таким образом до этой проблемной строчки никогда не дойдет

@ghost
Copy link

ghost commented Dec 30, 2012

Критических замечаний нет.
Код работает сносно. Без мутации считает даже быстрее чем у меня раза в два.
С другой стороны, процесс мутации действительно далеко не оптимальный. Замедляет выполнение программы в 4-5 раз.
При размере популяции 5000, длине цепочки 50, мутации 0 считает 3-4 поколения в секунду
При размере популяции 5000, длине цепочки 50, мутации 100 - 0,3-0,2 поколения в секунду примерно

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant