ServiceFunction() 함수는 UGA 코드에서 세 곳에서 호출됩니다. 그러나 이것은 아무 소용이 없습니다. 물론 화면에서 역학을 볼 수 있지만 너무 빠르기 때문에 어쨌든보고 평가할 수 없습니다. UGA() 본문에서 호출을 제거할 수 있습니다. UGA() 호출 후 한 번만 호출하면 충분합니다.
"... 그리고 바이올리니스트는 불필요하며 여분의 연료만 소비합니다."(킨 다자 다자 (C))
실험을 해봤습니다. '주파수'가 47, 81, 187인 세 개의 사인 곡선의 합을 만들었습니다. 결과는 다음과 같습니다.
그런 다음 직접 열거(3주기, 2중첩)로 검색을 시작했지만 상관 계수 값이 1.0이 되면 중단되었습니다. 이 조건이 없었다면 이 모든 말도 안 되는 작업이 훨씬 더 오래 걸렸을 것입니다. 하지만 이렇게 하면 375초(6분 조금 넘음)에 완료됩니다.
GA는 2초 만에 해냈습니다. ))
하지만 질문이 있습니다. 결과는 다음과 같습니다.
마지막 두 자리: 2747 - FF 호출 수; 506 - 상관 계수 r이 1.0일 때의 "상태" 수입니다. r은 1.0보다 클 수 없고 r=1에 처음 도달하면 작업이 완료된 것으로 간주되기 때문에 알고리즘이 더 빨리 작동했을 수도 있습니다. 그러나 알고리즘은 r=1.0 상태에 506번 도달했습니다.
저는 오랫동안 "몇 개"라는 질문에 대한 답을 알고 싶었습니다. 이번에는 모멘텀을 가지고 50개의 사인곡선을 넣었습니다. 값의 범위는 1-500입니다. 따라서 내가 착각하지 않았다면 직접 검색 결과는 500^50, 즉 8.88178419700121252323333890533447266e+134 반복 (내 계산기가 나에게 거짓말을하지 않았다면)이됩니다. 초(분, 시간, 일, 년)로 변환할 수 없다는 것은 분명합니다. 먼 후손들만 결과를 볼 수 있습니다. GA는 1시간 만에 해냈습니다. 20 분. 와우. 또한 50개의 정현파와 운동량 합의 상관 계수는 0.5275라는 것이 밝혀졌습니다. 왜"추가로"인가요? 이전에는이 점을 확인할 기회가 한 번도 없었기 때문입니다. 그리고 어떤 경우에는 몇 가지 생각을 제안합니다.....
저는 정현파에 집착하지 않고 모든 것을 손끝에 가지고 있다는 것입니다. 게다가 목표는 연속 신호의 최대 유사성을 달성하는 것이므로 결과는 매우 유사합니다. 즉, 결과는 모호하지 않고 쉽게 검증 할 수 있습니다.
안드레이, 제품에 대해 대단히 감사합니다. 가까운 시일 내에 다른 기사도 읽어보고 싶습니다. 엘리트 선택이있는 GA. ))
질문-알고리즘에 (때때로) 더 일찍 종료 할 수 있다고 (때때로) 설명 할 수있는 방법이 있습니까? 아니면 범주 적으로 수행해서는 안되며 수렴에 도달 할 때까지 기다려야합니까?
가능합니다. 그리고 심지어 필요합니다. 연구 중인 함수에 대해 알고 있는 경우(문제에서처럼 FF<=1), 이 정보를 적극적으로 사용하여 불필요한 계산을 피하고 검색 시간을 줄여야 합니다.
이 구현에서는 외부에서 알고리즘을 제어할 수 있는 레버가 없지만 강제 중지 플래그를 제어하는 기능을 추가하는 것으로 충분합니다.
후속 기사가 준비 중인 차세대 알고리즘에서는 외부에서 알고리즘을 제어할 수 있는 가능성이 훨씬 더 많아질 것입니다(일반적으로 외부에서 알고리즘을 시작하고 제어하는 방식으로 작동하며, 지금처럼 FF는 알고리즘 자체에서 시작되므로 수정 없이 자동 최적화 부엉이에서 사용할 수 없습니다).
앤드류, 질문이 하나 더 있습니다.
이러한 변수 값이 대부분의 최적화 문제에 적합하다고 말할 수 있나요?
네. 그렇습니다.
검색 가능성(검색 필드의 범위)을 높이기 위해 약간의 "예비"를 두고 설정합니다. 보다 정확한 값을 얻으려면(하지만 글로벌 극값이 발견될 확률은 감소합니다) 돌연변이 매개변수와 간격 경계 이동 계수를 줄일 수 있습니다.
앤드류, 질문이 하나 더 있습니다.
이러한 변수 값이 대부분의 최적화 문제에 적합하다고 말할 수 있나요? 일부 출처에서 말했듯이 "... 90%의 문제는 기존의 퍼셉트론을 사용하여 해결할 수 있다"고 합니다.
ZAGASTE GA :)
이 알고리즘은 단일 스레드이며 Expert Advisor에 쉽게 구축 할 수 있으며 테스터에서 실행하고 GA 간의 경쟁을 조직 할 수 있습니다.
멋지네요.
안드레이, 제 뻔뻔스러움에 놀랐지만 "비판"을 좀 해야겠어요))
ServiceFunction() 함수는 UGA 코드에서 세 곳에서 호출됩니다. 그러나 이것은 아무 소용이 없습니다. 물론 화면에서 역학을 볼 수 있지만 너무 빠르기 때문에 어쨌든보고 평가할 수 없습니다. UGA() 본문에서 호출을 제거할 수 있습니다. UGA() 호출 후 한 번만 호출하면 충분합니다.
"... 그리고 바이올리니스트는 불필요하며 여분의 연료만 소비합니다."(킨 다자 다자 (C))
실험을 해봤습니다. '주파수'가 47, 81, 187인 세 개의 사인 곡선의 합을 만들었습니다. 결과는 다음과 같습니다.
그런 다음 직접 열거(3주기, 2중첩)로 검색을 시작했지만 상관 계수 값이 1.0이 되면 중단되었습니다. 이 조건이 없었다면 이 모든 말도 안 되는 작업이 훨씬 더 오래 걸렸을 것입니다. 하지만 이렇게 하면 375초(6분 조금 넘음)에 완료됩니다.
GA는 2초 만에 해냈습니다. ))
하지만 질문이 있습니다. 결과는 다음과 같습니다.
마지막 두 자리: 2747 - FF 호출 수; 506 - 상관 계수 r이 1.0일 때의 "상태" 수입니다. r은 1.0보다 클 수 없고 r=1에 처음 도달하면 작업이 완료된 것으로 간주되기 때문에 알고리즘이 더 빨리 작동했을 수도 있습니다. 그러나 알고리즘은 r=1.0 상태에 506번 도달했습니다.
매개 변수는 다음과 같습니다.
그리고 이 FF.
질문 - 알고리즘에 (때때로) 더 일찍 종료하는 것이 (필요한) 가능하다고 설명 할 수있는 방법이 있습니까? 아니면 절대적으로 그렇게하지 않고 수렴에 도달 할 때까지 기다려야합니까?
저는 오랫동안 "몇 개"라는 질문에 대한 답을 알고 싶었습니다. 이번에는 모멘텀을 가지고 50개의 사인곡선을 넣었습니다. 값의 범위는 1-500입니다. 따라서 내가 착각하지 않았다면 직접 검색 결과는 500^50, 즉 8.88178419700121252323333890533447266e+134 반복 (내 계산기가 나에게 거짓말을하지 않았다면)이됩니다. 초(분, 시간, 일, 년)로 변환할 수 없다는 것은 분명합니다. 먼 후손들만 결과를 볼 수 있습니다. GA는 1시간 만에 해냈습니다. 20 분. 와우. 또한 50개의 정현파와 운동량 합의 상관 계수는 0.5275라는 것이 밝혀졌습니다. 왜"추가로"인가요? 이전에는이 점을 확인할 기회가 한 번도 없었기 때문입니다. 그리고 어떤 경우에는 몇 가지 생각을 제안합니다.....
저는 정현파에 집착하지 않고 모든 것을 손끝에 가지고 있다는 것입니다. 게다가 목표는 연속 신호의 최대 유사성을 달성하는 것이므로 결과는 매우 유사합니다. 즉, 결과는 모호하지 않고 쉽게 검증 할 수 있습니다.
안드레이, 제품에 대해 대단히 감사합니다. 가까운 시일 내에 다른 기사도 읽어보고 싶습니다. 엘리트 선택이있는 GA. ))
...
질문-알고리즘에 (때때로) 더 일찍 종료 할 수 있다고 (때때로) 설명 할 수있는 방법이 있습니까? 아니면 범주 적으로 수행해서는 안되며 수렴에 도달 할 때까지 기다려야합니까?
가능합니다. 그리고 심지어 필요합니다. 연구 중인 함수에 대해 알고 있는 경우(문제에서처럼 FF<=1), 이 정보를 적극적으로 사용하여 불필요한 계산을 피하고 검색 시간을 줄여야 합니다.
이 구현에서는 외부에서 알고리즘을 제어할 수 있는 레버가 없지만 강제 중지 플래그를 제어하는 기능을 추가하는 것으로 충분합니다.
후속 기사가 준비 중인 차세대 알고리즘에서는 외부에서 알고리즘을 제어할 수 있는 가능성이 훨씬 더 많아질 것입니다(일반적으로 외부에서 알고리즘을 시작하고 제어하는 방식으로 작동하며, 지금처럼 FF는 알고리즘 자체에서 시작되므로 수정 없이 자동 최적화 부엉이에서 사용할 수 없습니다).
....
앤드류, 제품에 대해 다시 한 번 감사드립니다. 가까운 시일 내에 다른 기사에도 크레딧을 드리고 싶습니다. 엘리트 선택이 있는 GA. ))
감사합니다. :)
확실히 속편이있을 것입니다.
그리고 최적의 것을 찾는 데 행운을 빕니다! 인생에서, 일에서, ... 모든 것에서요.