최적화 알고리즘 챔피언십. - 페이지 60

 
Yuri Evseenkov :
즉, 모든 매개변수가 0일 때 널 배열을 전달하고 FF 값을 찾을 수 있습니다.

0.0은 [-10.0;10.0] 범위에 속합니까? - 네, 그렇습니다. 따라서 값이 0.0으로 채워진 배열의 매개변수를 사용하여 FF의 값을 찾을 수 있습니다.

일반적으로 아무도 FF에 절대적으로 숫자를 제출하는 것을 금지하지 않지만 [-10.0;10.0] 범위에서만 적절한 답변을 얻을 수 있으며 범위를 넘어서는 숫자는 이러한 제한으로 잘립니다. 이것을 고려하지 않으면 FF 값이 항상 FF에 대해 최소값 (변경되지는 않지만 변경되지 않음)이 주어지고 끝없이 방황하기 때문에 알고리즘이 평평한 수평 표면에 착륙했다고 생각할 수 있습니다. 광대한 범위의 실수에 걸쳐(검증자에 의해 프로세스가 중지될 때까지).

 
Andrey Dik :

0.0은 [-10.0;10.0] 범위에 속합니까? - 네, 그렇습니다. 따라서 값이 0.0으로 채워진 배열의 매개변수를 사용하여 FF의 값을 찾을 수 있습니다.

일반적으로 아무도 FF에 절대적으로 숫자를 제출하는 것을 금지하지 않지만 [-10.0;10.0] 범위에서만 적절한 답변을 얻을 수 있으며 범위를 넘어서는 숫자는 이러한 제한으로 잘립니다. 이것을 고려하지 않으면 FF 값이 항상 FF에 대해 최소값 (변경되지는 않지만 변경되지 않음)이 주어지고 끝없이 방황하기 때문에 알고리즘이 평평한 수평 표면에 착륙했다고 생각할 수 있습니다. 광대한 범위의 실수에 걸쳐(검증자에 의해 프로세스가 중지될 때까지).

이해했다. 고맙습니다. 처음 4개의 호출은 각각 -10.0, 0.0, 10.0 및 2.7로 채워진 배열로 계획합니다. 내 바퀴벌레에 대해 2.718을 원하지만 단계는 0.1입니다. 글쎄, 당신은 할 수 없습니다.
 
Dmitry Fedoseev :

라노, 난 꺼져, 집에 있어, 너의 조용한 고향에서. 참가자에서 삭제합니다.

물론 갑옷을 뚫는 공을 가지고 여기있는 모든 사람들에게 설명 할 것입니다. 두 번째 옵션에 따른 스크립트에서는 FF()를 가져올 필요가 없습니다. 왜냐하면 멤버 함수도 거기에서 가져오기 때문이고, 이러한 가져오기를 사용하면 FF() 함수가 멤버 함수에 표시되지 않습니다. FF() 함수는 구성원의 라이브러리로 가져와야 합니다. 그러한 진부한 쓰레기의 예조차도 잘못 제시됩니다. 알아요. 그러나 모든 것이 너무 명확하면 올바른 예가 제공되지 않습니다. 여기도 내가 바보인 것 같은 그런 표정으로.

안녕

딤, 적어도 당신은 연단에서 큰 소리로 선언하기 전에 내보내기 기능의 작동을 확인했습니다. 그리고 그것은 "나는 보지 않았지만 비난한다"라는 시리즈에서 밝혀졌습니다. 예를 들어 프로토 타입을 게시하기 전에 자연스럽게 성능을 확인했습니다 . 물론 작동합니다. 함수의 인스턴스 중 하나라도 사용자 라이브러리가 로드되지 않습니다.

MT 런타임은 일반적으로 생각하는 것과 다르게 작동합니다. 변수 인스턴스가 하나만 있는 라이브러리 인스턴스 하나만 검사 스크립트의 주소 공간에 로드됩니다. 모든 사람은 특정 매개변수와 함께 하나의 특정 ff만 사용합니다. 나를 믿지 못한다면 내 예제를 다운로드하여 확인하십시오.

 
Vasiliy Sokolov :

Dmitry는 단순히 참가자를 위한 알고리즘 라이브러리에 두 가지 옵션이 있다는 것을 알지 못했습니다. 그리고 두 번째 에는 FF 기능의 가져오기 가 있습니다(그가 말한 대로). 그러나 첫 번째는 그렇지 않습니다.

 
Vasiliy Sokolov :

딤, 적어도 당신은 연단에서 큰 소리로 선언하기 전에 내보내기 기능의 작동을 확인했습니다. 그리고 그것은 "나는 보지 않았지만 비난한다"라는 시리즈에서 밝혀졌습니다. 예를 들어 프로토 타입을 게시하기 전에 자연스럽게 성능을 확인했습니다 . 물론 작동합니다. 함수의 인스턴스 중 하나라도 사용자 라이브러리가 로드되지 않습니다.

MT 런타임은 일반적으로 생각하는 것과 다르게 작동합니다. 변수 인스턴스가 하나만 있는 라이브러리 인스턴스 하나만 검사 스크립트의 주소 공간에 로드됩니다. 모든 사람은 특정 매개변수와 함께 하나의 특정 ff만 사용합니다. 나를 믿지 못한다면 내 예제를 다운로드하여 확인하십시오.

이미 이중 가져오기 가 포함된 사본 한 개에 대해 이야기했습니다(내 게시물을 찾을 수 없었습니다. 여기에 많은 게시물이 있습니다). 네, 그렇기 때문에 참가자의 알고리즘으로 FF 통화를 제어할 수 있습니다. 스크립트와 알고리즘이 각각의 FF 인스턴스를 호출하면 알고리즘이 실제로 FF를 호출하는지 여부를 여러 번 확인하는 것이 불가능하기 때문에 챔피언십이 발생하지 않습니다.

...

알고리즘에서 한 번의 가져오기로 가능할 수도 있지만 * .ex5를 실행하고 언로드하고 다시 실행하여 카운터(참가자의 교활한 계획)를 재설정할 가능성은 없지만 참가자 자신은 전체 통계를 호출해야 하고 다른 가능성은 결과를 표시하기 위해 참가자를 고려해야 했으며 이는 참가자에게 추가적인 복잡성입니다. 스크립트 측에서 FF가 허용된 제한 내에서 사용되고 있는지 여부에 대한 모든 필요한 정보를 요청하는 것이 더 쉽습니다.

그러나 어쨌든 우리의 경우 이중 수입은 실수로 간주 될 수 없습니다.

 

Andrey Dik :

알 필요가 없습니다. [-10.0;10.0] 범위를 벗어나지 마십시오. 그러면 문제가 없습니다.


0.0은 [-10.0;10.0] 범위에 속합니까? - 네, 그렇습니다. 따라서 값이 0.0으로 채워진 배열의 매개변수를 사용하여 FF의 값을 찾을 수 있습니다.

일반적으로 아무도 FF에 절대적으로 숫자를 제출하는 것을 금지하지 않지만 [-10.0;10.0] 범위에서만 적절한 답변을 얻을 수 있으며 범위를 넘어서는 숫자는 이러한 제한으로 잘립니다. 이것을 고려하지 않으면 FF 값이 항상 FF에 대해 최소값 (변경되지는 않지만 변경되지 않음)이 주어지고 끝없이 방황하기 때문에 알고리즘이 평평한 수평 표면에 착륙했다고 생각할 수 있습니다. 광대한 범위의 실수에 걸쳐(검증자에 의해 프로세스가 중지될 때까지).

경계를 자르는 데 신경 쓰지 않고 알고리즘을 제한하지 않으려면 FF에 한 줄을 추가할 수 있습니다.

 if (array[ ArrayMaximum (array)]> 10.0 || array[ ArrayMinimum (array)]<- 10.0 ) return ( 0.0 );
 
Sergey Chalyshev :

경계를 자르는 데 신경 쓰지 않고 알고리즘을 제한하지 않으려면 FF에 한 줄을 추가할 수 있습니다.

반환 ( 0.0 ); ?

정확히는 - 왜 0.0입니까?

 
Andrey Dik :

반환 ( 0.0 ); ?

정확히는 - 왜 0.0입니까?

우리가 최대값만 찾고 있다면 더 정확할 것입니다.

 return (- DBL_MAX );
 
Sergey Chalyshev :

우리가 최대값만 찾고 있다면 더 정확할 것입니다.

사실은 FF의 설계 단계에서 봉우리가 무한대(아래 또는 위로)로 불연속이 있는 "표면"을 얻을 수 있지만 FF는 출력에서 올바른 값을 반환해야 하므로 모든 경계 조건이 이미 취해진 것입니다. FF의 오류에 대한 충돌이 없도록 FF에서 고려합니다.

따라서 매개 변수의 허용 한계로 매개 변수를 자르고 이러한 매개 변수로 FF를 계산하고 분명히 제공하는 것보다 어떤 일이 발생하는지 알려주는 것이 매개 변수 중 잘못된 매개 변수로 DBL_MAX 를 제공하는 것이 더 낫다고 생각합니다.

참가자는 매개변수에 대한 제한 사항을 알고 이를 준수해야 합니다. 그렇지 않으면 알고리즘의 각 특정 경우에 대답하기 어려운 많은 질문이 발생합니다. 그래서 우리는 모든 알고리즘을 동일한 조건으로 만듭니다.

추신 ....이제 그런 질문을 하실 분들을 위해 "아무도 FF를 모를 거라고 하셨어요!!!" 라는 질문으로 채워질 것입니다. 스레드를 먼저 읽으십시오.

 
범위 숫자가 분수인 이유는 무엇입니까? -10.0에서 10까지 0.1씩 증가하는 대신 -100에서 100까지를 1씩 증가시켜 사용할 수 있습니다.