유전자 알고리즘과 가능한 응용 - 페이지 3

 
Igor Makanu :

"최대 사용자 정의 기준"에 따른 유전자 최적화 모드에서 GA 테스터는 이중 OnTester()에서 얻은 결과를 최대화합니다. 모든 것이 작동하는지 확인하지만 시작될 때 "GA를 응원합니다" 자동화에 문제가 있습니다. 발견된 로컬 최대값을 중심으로 수렴하고 나머지가 입력 매개변수별로 옵션을 정렬하는 것을 원하지 않습니다. 일반적으로 미세 조정에서는 OnTester()에 조건을 추가 하거나 최적화 매개변수를 다음으로 나누어 GA를 수동으로 도와야 합니다. 여러 간격

그건 그렇고 그것을 구현하는 방법? 나도 해볼 생각을 하기 시작했다.

피터 코노우 :
어떤 의미에서 "스마트" - 특정 환경에 최적화되고 적용됩니까?

네, 선택은 항상 어떤 기준에 따라 이루어집니다. 그건 그렇고, 기준 자체는 필요한 경우 세대에 따라 변경될 수 있습니다.

 
Реter Konow :
어떤 의미에서 "스마트" - 특정 환경에 최적화되고 적용됩니까?

확인. 우리는 상호 작용하는 복잡한 시스템에서 닫힌 환경을 만듭니다. 예를 들어, 3개의 유전자를 가진 개체는 2개의 유전자를 가진 개체로부터 "도망"할 수 없는 경우(유전자 X와 Y가 평면상의 좌표라고 가정해 봅시다) "탐식"(자신에게 붙어서 성장)합니다. 3개의 유전자를 가진 개체에서는 Z 유전자가 추가됩니다. 즉, 3차원입니다. 그녀에게는 이점이 있습니다. 2개 유전자의 임무는 잡히지 않고 살아남는 것이고, 3개 유전자의 임무는 2개 유전자를 최대한 빨리 잡아 시간과 자원을 절약하는 것이다.

목표: 유전적으로 약한 개인이 생존하기 위해 유전적으로 더 강한 개인을 계산해야 합니다.
우리는 새가 들판에서 쥐를 보는 것처럼 3개의 유전자를 가진 개체가 평면에서 2개의 유전자를 "보는" 반면, 2개의 유전자를 가진 개체는 모든 것을 2차원으로 인식하므로 접근 방식에 대해 알지 못한다는 것을 압니다. 마지막 순간까지 적의. 그러나 대규모 집단에는 2개의 유전자를 가진 개체가 많이 있으며 각각은 동료 부족민을 잡아먹는 사건을 기록합니다. 이러한 방식으로 바이제닉은 일반화된 "아이디어"를 형성할 수 있습니다. 즉, 적의 3차원 공간에서 자연적인 장벽이 무엇인지, 생존을 위해 가장 잘 적응하는 방법에 대해 모든 세대에서 얻은 경험과 지식입니다.
 
Aleksey Mavrin :

그건 그렇고 그것을 구현하는 방법? 나도 해볼 생각을 하기 시작했다.

이것은 테스터와의 일반적인 작업입니다. 먼저 최적화를 위해 모든 매개변수를 설정하고 테스터가 각 패스에서 수평선을 그리기 시작할 때까지 테스트했습니다. 이것은 GA가 하나의 로컬 최대값 주위에 수렴되었다는 표시입니다. 그런 다음 GA가 변경을 중지한 매개변수가 있는 최적화 탭, 최적화 캐시를 삭제(저장)하여 테스터를 다시 시작하는 것으로 충분하지만 이러한 매개변수(GA는 변경되지 않음)를 다른 간격으로 분할하여 다음 최적화 실행 을 수행합니다. GA는 임의의 값으로 초기화됩니다.

 
Igor Makanu :

이것은 테스터와의 일반적인 작업입니다. 먼저 최적화를 위해 모든 매개변수를 설정하고 테스터가 각 패스에서 수평선을 그리기 시작할 때까지 테스트했습니다. 이것은 GA가 하나의 로컬 최대값 주위에 수렴되었다는 표시입니다. 그런 다음 GA가 변경을 중지한 매개변수가 있는 최적화 탭, 최적화 캐시를 삭제(저장)하여 테스터를 다시 시작하는 것으로 충분하지만 이러한 매개변수(GA는 변경되지 않음)를 다른 간격으로 분할하여 다음 최적화 실행 을 수행합니다. GA는 임의의 값으로 초기화됩니다.

매개변수를 변경하는 단계가 충분히 낮으면 GA가 일반 최대값(로컬 최대값이 아님)으로 수렴되어야 한다고 생각합니다. 단계가 너무 높으면 최대값이 인접한 값 사이에서 미끄러질 수 있으므로 간격을 변경해도 도움이 되지 않습니다.

그러면 가장 낮은 단계로 전체 검색을 수행한 다음 GA로 최악의 범위를 필터링하는 것이 더 쉽습니다.

 
Aleksey Mavrin :

그러면 가장 낮은 단계로 전체 검색을 수행한 다음 GA로 최악의 범위를 필터링하는 것이 더 쉽습니다.

쉽지 않습니다. 여기 내 EA가 최적화되어 있습니다.


1.5년 동안 이 EA의 단일 테스트를 한 번 통과하는 데 1.5-2초가 소요되며 최적화 프로그램에는 거의 동일한 속도가 있으며 전체 검색에 걸리는 시간을 추정할 수 있으며 20-50분 이내에 GA는 이미 다음과 같은 결과를 찾습니다. 날 만족시켜줘

 
Igor Makanu :

쉽지 않습니다. 여기 내 EA가 최적화되어 있습니다.


1.5년 동안 이 EA의 단일 테스트를 한 번 통과하는 데 1.5-2초가 소요되며 최적화 프로그램에는 거의 동일한 속도가 있으며 전체 검색에 걸리는 시간을 추정할 수 있으며 20-50분 이내에 GA는 이미 다음과 같은 결과를 찾습니다. 나를 만족시켜

통과 횟수가 과학적으로 표시되면 이 비트 깊이의 유전학이 범람하고 전혀 작동하지 않습니다(전혀 작동하지 않는 경우). 나는해야했다 :

1. 단계 수를 줄입니다. 단계가 거칠지 않고 원하는 범위를 커버하기 위해 단계를 비선형으로 만들었습니다. 0.001-0.099, 0.01-0.99, 0.1-9.9, ... 즉, 매개변수를 변경합니다. 약 1%의 정확도로 단계.

2. 최적화된 변수의 수를 줄이는 것이 가장 중요합니다.

2a. 변수를 거의 독립적인 그룹(그룹)으로 분할하고 개별적으로 최적화합니다.

2b. 다른 것에 의존하는 변수를 찾아 연결합니다. 나는 아주 오랜 소란 끝에 이와 같은 몇 가지 변수를 제거했습니다.

2c. 약간의 수익성 하락에도 불구하고 일정하게 만들 수 있는 변수를 찾으십시오. 또한 찾았습니다.

3. 많은 평가 후에 변수의 범위도 원하는 범위로 좁혀야 합니다.

그런 희생을 하기 전까지는 최적화가 효과가 없었습니다. 너무 많은 변수로 최적화하는 것입니다. 이것은 그 자체로 잘못된 것이지만 일부 전문가들은 복잡성이 아니라 단순화로 진화합니다.

 
Igor Makanu :

쉽지 않습니다. 여기 내 EA가 최적화되어 있습니다.


1.5년 동안 이 EA의 단일 테스트를 한 번 통과하는 데 1.5-2초가 소요되며 최적화 프로그램에는 거의 동일한 속도가 있으며 전체 검색에 걸리는 시간을 추정할 수 있으며 20-50분 이내에 GA는 이미 다음과 같은 결과를 찾습니다. 나를 만족시켜

시스템 복잡성의 문제입니다. 내 의견으로는 GU에 대한 주제에서 논의했습니다. 완전한 열거를 위해 3-5단계를 수행합니다. 화면에 18개의 매개변수가 있습니다. 그것은 (3-5) ^ 18 \u003d 400M에서 3.8조일 것입니다. 이미 신에 의해, 비록 조금 너무 많지만, 가장 중요한 것은 많은 부분이 있다는 것입니다. 도랑, 나는 전체를 열거하지 않고 GU를 정의 - 축소하여 GA에 이미 함께있는 일부 및 그룹을 수정하지 않습니다.

더 자세한 프레젠테이션에 전적으로 동의합니다.

에드가 아크마데프 :

통과 횟수가 과학적으로 표시되면 이 비트 깊이의 유전학이 범람하고 전혀 작동하지 않습니다(전혀 작동하지 않는 경우). 나는해야했다 :

1. 단계 수를 줄입니다. 단계가 거칠지 않고 원하는 범위를 커버하기 위해 단계를 비선형으로 만들었습니다. 0.001-0.099, 0.01-0.99, 0.1-9.9, ... 즉, 매개변수를 변경합니다. 약 1%의 정확도로 단계.

2. 최적화된 변수의 수를 줄이는 것이 가장 중요합니다.

2a. 변수를 거의 독립적인 그룹(그룹)으로 분할하고 개별적으로 최적화합니다.

2b. 다른 것에 의존하는 변수를 찾아 연결합니다. 나는 아주 오랜 소란 끝에 이와 같은 몇 가지 변수를 제거했습니다.

2c. 약간의 수익성 하락에도 불구하고 일정하게 만들 수 있는 변수를 찾으십시오. 또한 찾았습니다.

3. 많은 평가 후에 변수의 범위도 원하는 범위로 좁혀야 합니다.

그런 희생을 하기 전까지는 최적화가 효과가 없었습니다. 너무 많은 변수로 최적화하는 것입니다. 이것은 그 자체로 잘못된 것이지만 일부 전문가들은 복잡성이 아니라 단순화로 진화합니다.

모든 사람은 자신의 방법을 가지고 있습니다. 사실 모든 사람이 이해할 것입니다.
 
Edgar Akhmadeev :

통과 횟수가 과학적으로 표시되면 이 비트 깊이의 유전학이 범람하고 전혀 작동하지 않습니다(전혀 작동하지 않는 경우).


"전혀 작동하지 않습니다"은(는) 무슨 뜻인가요?

어떻게 오류를 재현할 수 있습니까?

 
Edgar Akhmadeev :

통과 횟수가 과학적으로 표시되면 이 비트 깊이의 유전학이 범람하고 전혀 작동하지 않습니다(전혀 작동하지 않는 경우).

GA는 확실히 효과가 있고, EA 설정 파일에 성공적인 패스를 작성하고, 최적화 입력 매개변수 자체의 MD5 해시에서 파일 이름을 만듭니다. 최적화할 때 Common 폴더에 파일이 나타나는 것을 봅니다.

단 한 가지 문제가 있습니다. 잠시 후 GA는 최적화 매개변수의 작은 그룹으로 수렴되기 시작할 수 있습니다. 제 생각에는 이것이 정상이며 모든 GA가 이러한 방식으로 작동하며 이것이 사용상의 문제입니다.

그러나 GA는 확실히 작동하고 중단되지 않습니다. 추가된 파일과 고유한 이름에서 볼 수 있습니다.

 
Slava :

"전혀 작동하지 않습니다"은(는) 무슨 뜻인가요?

어떻게 오류를 재현할 수 있습니까?

오래 전에 Expert Advisor에서 프레임을 사용할 때 이에 대해 썼습니다. 나는 본질을 정확히 기억하지 못합니다. 모든 프레임이 나에게 오기 시작한 것은 아닙니다(최상의 결과). 나는 오래된 게시물을 찾아 명확히하려고 노력할 것입니다.

그러나 정확히 기억합니다. 내 Expert Advisor에서 분명히 재현할 수 있었습니다. 검색 수가 특정 수를 초과하고 과학적 형식으로 표시되자마자 내 유전학이 무너졌습니다. 변수에 많은 단계가 있을 뿐만 아니라 변수의 수도 많았다는 것이 중요합니다.

사유: