GA 알고리즘의 실행 시간은 FF 실행에 비해 비교할 수 없을 정도로 짧습니다. 따라서 예를 들어 GA를 dll로 옮기는 것이 의미가 없는 것처럼 알고리즘의 속도를 더 높이려고 할 필요는 없습니다.
결과의 정확도를 유지하면서 FF 실행 횟수를 줄이려고 노력해야 합니다. 알고리즘에는 이를 위한 유연한 설정이 있습니다. 또한 일반적으로 GA와 특히 운영자의 검색 품질을 개선하여 검색 시간을 더욱 단축할 수 있습니다. 저는 이러한 방향으로 연구 잠재력을 유도하는 것이 좋습니다.
GA 알고리즘의 실행 시간은 FF 실행에 비해 비교할 수 없을 정도로 짧습니다. 따라서 예를 들어 GA를 dll로 옮기는 것이 의미가 없는 것처럼 알고리즘의 속도를 더 높이려고 할 필요는 없습니다.
결과의 정확도를 유지하면서 FF 실행 횟수를 줄이려고 노력해야 합니다. 알고리즘에는 이를 위한 유연한 설정이 있습니다. 또한 일반적으로 GA와 특히 운영자의 검색 품질을 개선하여 검색 시간을 더욱 단축할 수 있습니다. 저는 이러한 방향으로 연구 잠재력을 유도하는 것이 좋습니다.
GA 알고리즘의 실행 시간은 FF 실행에 비해 비교할 수 없을 정도로 짧습니다. 따라서 예를 들어 GA를 dll로 옮기는 것이 의미가 없는 것처럼 알고리즘의 속도를 더 높이려고 할 필요는 없습니다.
결과의 정확도를 유지하면서 FF 실행 횟수를 줄이려고 노력해야 합니다. 알고리즘에는 이를 위한 유연한 설정이 있습니다. 또한 일반적으로 GA와 특히 운영자의 검색 품질을 개선하여 검색 시간을 더욱 단축할 수 있습니다. 저는 이러한 방향으로 연구 잠재력을 유도하는 것이 좋습니다.
GA 알고리즘의 실행 시간은 FF 실행에 비해 비교할 수 없을 정도로 짧습니다. 따라서 예를 들어 GA를 dll로 옮기는 것이 의미가 없는 것처럼 알고리즘의 속도를 더 높이려고 할 필요는 없습니다.
결과의 정확도를 유지하면서 FF 실행 횟수를 줄이려고 노력해야 합니다. 알고리즘에는 이를 위한 유연한 설정이 있습니다. 또한 일반적으로 GA와 특히 운영자의 검색 품질을 개선하여 검색 시간을 더욱 단축할 수 있습니다. 저는 이러한 방향으로 연구 잠재력을 유도하는 것이 좋습니다.
좋아, 라이브러리를 작성하자마자 테스트 한 다음 나온 것을 작성하겠습니다))).
이 글에 대한 중요 참고 사항.
알고리즘 매개변수
FFNormaliseDigits 및 GeneNormaliseDigits
피트니스 함수 값과 유전자를 정규화할 필요가 없습니다. 정규화하면 알고리즘의 검색 가능성이 감소하고 FF 실행 횟수가 증가합니다. 또한 소수점 이하 자릿수를 버릴수록 알고리즘에 미치는 부정적인 영향이 커집니다.
즉, 정규화 연산을 알고리즘에 도입한 것은 실수였습니다.
Precision 매개변수로 제어되는 샘플링 연산과 혼동하지 마세요!
FFNormalizeDigits 및 GeneNormalizeDigits
피트니스 함수와 유전자의 값을 정규화할 필요는 없습니다. 정규화하면 알고리즘의 검색 능력이 저하되고 시작 FF의 양이 증가합니다. 그리고 쉼표 뒤에 부호가 많을수록 알고리즘에 부정적인 영향이 더 강하게 나타납니다.
즉, 알고리즘에 정규화 연산을 도입한 것은 오류입니다.
파라미터 정밀도에서 연산하는 디지털화 연산과 혼동하지 마세요!
이 글에 대한 중요 참고 사항.
알고리즘 매개변수
FFNormaliseDigits 및 GeneNormaliseDigits
피트니스 함수 값과 유전자를 정규화할 필요가 없습니다. 정규화하면 알고리즘의 검색 가능성이 감소하고 FF 실행 횟수가 증가합니다. 또한 소수점 이하 자릿수를 버릴수록 알고리즘에 미치는 부정적인 영향이 커집니다.
즉, 정규화 연산을 알고리즘에 도입한 것은 실수였습니다.
Precision 파라미터로 제어되는 샘플링 연산과 혼동하지 마세요!
정규화를 UGAlib 라이브러리 자체에서 제거하는 것이 더 나은가요, 아니면 FF에서만 제거하는 것이 더 나은가요?
FFNormalizeDigits는 FF에서 적합도 값을 정규화하는 데 사용되며, GeneNormalizeDigits는 알고리즘 자체에서 유전자를 정규화하는 데 사용됩니다. 둘 다 정규화할 필요는 없습니다 .
알겠습니다. 물론 제가 직접 수정하겠지만, 어렵지 않다면 수정된 UGAlib 버전을 올려주세요.
실수할까봐 두렵습니다.
라이브러리 작성자에게 많은 감사를 드립니다!
상위 검색 함수의 루프에 "cnt++;" 줄을 추가하지 않으면 영원한 루프에 빠질 수 있습니다!
//Отбор двух родителей.
void SelectTwoParents
(
int &address_mama,
int &address_papa
)
{
//-----------------------Переменные-------------------------------------
int cnt=1;
address_mama=0;//адрес материнской особи в популяции
address_papa=0;//адрес отцовской особи в популяции
//----------------------------------------------------------------------
//----------------------------Отбор родителей--------------------------
//Десять попыток выбрать разных родителей.
while (cnt<=10)
{
//Для материнской особи
address_mama=NaturalSelection();
//Для отцовской особи
address_papa=NaturalSelection();
if (address_mama!=address_papa)
break;
cnt++;
}
//---------------------------------------------------------------------
}