2012-06-02 6 views
1

나는 세 개의 값 X, Y, Z를가집니다. 이들 값은 0과 1 사이의 값 범위 (0과 1을 포함합니다)를가집니다. 함수 f (X, Y, Z)를 호출하면 값 V (0과 1 사이의 값)가 반환됩니다. 내 목표는 반환 값 V가 가능한 한 1에 가깝도록 X, Y, Z를 선택하는 것입니다.불확실성 하에서 함수의 최대 값 찾기

선택 프로세스는 자동화되어야하며 X, Y, Z에 대한 올바른 값은 알 수 없습니다.

내 사용 사례로 인해 Y 및 Z를 1 (값 1은 출력에 아무런 영향을 미치지 않음)로 설정하고 X의 최상의 값을 검색 할 수 있습니다. 그 다음으로 나는 X를 값은 Y에 대해서도 동일합니다. Z에 대한 동일한 절차

"최대 기능"은 어떻게 찾을 수 있습니까? 거기에 "그라디언트 강하"또는 언덕 등산 알고리즘이나 뭐 그런가? 전체 모듈은 perl로 작성되었으므로 그 문제를 해결할 수있는 perl 패키지가있을 수 있습니까?

+0

우리가 말할 수있는 네 개의 소수 자릿수와 X, Y에 대한 가치와 Z가 있음 충분히. 또한 모든 계산에는 많은 시간이 소요되므로 몇 단계의 시간이 소요됩니다. – Tyzak

+0

이것은 [Newton-Raphson 방법] (http://en.wikipedia.org/wiki/)을 사용하여 해결할 수있는 * f (x, y, z) *의 편미분의 근원을 찾는 것과 같습니다. Newton % 27s_method) 함수를 구별 할 수 있는지 확인하십시오. 이 기능에 대해 더 자세히 알려주십시오. – Borodin

+0

불확실성 부분은 어디에 있습니까? – ziggystar

답변

2

시뮬레이션 어닐링을 사용할 수 있습니다. 그것의 다 변수 최적화 기술. 여행 판매원 문제에 대한 부분 솔루션을 얻는데도 사용됩니다. Peter Norvig의 Intro to AI 서적에서 언급 된 검색 알고리즘 중 하나입니다.

랜덤 변수에 의존하는 힐 클라이밍 알고리즘입니다. 또한 그것은 반드시 당신에게 '최적의'답을 줄 수는 없습니다. 계산/시간 요구에 따라 반복 횟수를 변경할 수도 있습니다.

http://en.wikipedia.org/wiki/Simulated_annealing http://www1bpt.bridgeport.edu/sed/projects/449/Fall_2000/fangmin/chapter2.htm

+0

위대한, 고마워요 정확히 내가 무엇을 찾고 있어요 :) – Tyzak

1

기능에 고정 점을 찾기 위해 Nelder-Mead 방법을 구현하는 Math::Amoeba을 살펴 보시기 바랍니다.