유한 함수 집합과 두 개의 숫자 A와 B가 주어진 경우 f(A) = B
을 만족하는 합성 함수를 결정하는 가장 빠른 방법은 무엇입니까? 예를 들어기존 함수의 유한 집합에서 대상 함수를 작성하는 가장 빠른 방법
, 우리가있는 경우 :
functions = {
f1(x) = x - 1,
f2(x) = x + 1,
f3(x) = x * x
}
및 A = 1, B = 9
그런 다음 최적의 솔루션이 될 것이다 : f(x) = f3(f2(f2(x)))
. f(A) = B
이고 기능은 가능한 한 적은 기능으로 구성되어 있기 때문입니다.
가장 빠른 해결 방법은 최적의 해결책이 아닐 수도 있습니다. 당신의 예에서
'f1','f2' 및'f3' 함수가 고정되어 있습니까? 그래서 우리는 그것들이 작업 할 우리의 함수임을 알고있는 알고리즘을 작성합니까? 왜냐하면 가변 함수 목록을 원한다면이 질문은 대답하기가 불가능하기 때문입니다. –
실수가 허용되면 (대개 함수에 대해 말할 때 가정 함), 대부분의 쌍 'A, B'는 주어진 함수에 대한 해답을 전혀 가지지 않을 것입니다. 예를 들어'A'가 적분이고'B 'A = 1, B = 1.1'과 같지 않습니다. 그러나 도메인을 정수로 제한하고'f1 (x) = 4 * x'와'f2 (x) = x * x' 함수를 취하면, 예를 들어'B , 3, 5, 6, 7, 10, ... 'A에 대한 값이 주어져도 상관 없습니다. 그래서 기능에 대한 더 많은 정보가 미리 알려지지 않았다면 대부분의 시간은 끝이 없을 것입니다. – coproc
@MikePierce 예, 세트의 기능은 상관 없어도 작동 할 수있는 일반적인 솔루션이 있는지 궁금해하고 있었지만 세트의 기능은 일정합니다. –