유전자 알고리즘을 사용하는 Java로 응용 프로그램을 개발했습니다. 내 응용 프로그램 등의 매개 변수를 필요 :신경망 알고리즘을 사용하여 적은 시간에 실행하는 유전자 알고리즘을 사용하는 응용 프로그램에 적합한 매개 변수를 찾는 알고리즘
는How many genes will be populate at first?
How many genes will be killed after crossover and mutation?
What will be the mutation rate?
나는 등 뭔가를 테스트 할 수 있습니다
How long(milliseconds) does it take to find a solution.
가 어떻게 내 응용 프로그램에 대한 매개 변수로 좋은 값을 찾을 수 있습니다. 나는 결과를 입력으로 줄 것이다 의미 : 결과는 무작위
Genes to populate | Genes to kill | Mutation rate | Result(milliseconds)
---------------------------------------------------------------------------------
50 5 16/1000 146
50 5 16/1000 208
50 5 16/1000 1000
50 5 16/1000 216
100 5 16/1000 178
100 5 16/1000 546
100 5 16/1000 646
100 5 16/1000 46
100 5 16/1000 186
50 10 16/1000 346
50 10 16/1000 246
50 10 16/1000 546
50 5 34/1000 746
50 5 34/1000 186
50 5 34/1000 196
50 10 34/1000 496
50 10 34/1000 23
50 10 34/1000 169
있다. 나는 내 프로그램을 시험하지 않았다.
이You should use that parameters to get a result that takes 78 milliseconds:
Genes to populate | Genes to kill | Mutation rate
--------------------------------------------------------
34 7 24/1000
PS1 : 하나 더는 내가 그 알고리즘을 실행 한 후
은 그런 것을 말할 것이다 (나는 78 밀리 초 예를 들어 나를 위해 좋은 결과 시간을 줄 것이라 생각합니다) 그것은 그것을 테스트하기 위해 내가 따라야 할 전략이다. 예를 들어 한 매개 변수 만 변경하고 몇 번 테스트하고 다른 매개 변수 등을 변경합니다 (필자의 예제 값을 제공하려고했습니다). 또는 일부 값을 테스트하고 한 매개 변수를 찾고 해당 매개 변수를 항상 사용하고 다른 매개 변수를 테스트합니다 하나씩 변경하고 다른 매개 변수를 찾고 그 두 개의 매개 변수를 사용하고 다른 매개 변수를 하나씩 변경하고 그런 식으로 진행하십시오.
PS2 API 나 소프트웨어 프로그램을 사용하여 찾을 수도 있습니다.
편집 : 이 내가 그 값 nowwith 사용 내 변수 :
MAX_POPULATION_SIZE = 50;
HARD_WEIGHTS = {1,20,1,1,1,20,1};/* It means that I have 7 variables for this */
NUMBER_OF_GENES_TO_KILL = 5;
MUTATION_RATE = 100;
MAX_MUTATION_NUMBER = 1000;
/* Mutation rate is MUTATION_RATE/MAX_MUTATION_NUMBER */
매개 변수에 대한 내 질문을 편집합니다. – kamaci
답변이 업데이트되었습니다. – Shelwien