편집하다
빠른 알고리즘이 존재하지 않는 이유에 대한 비공식적 인 주장은 다음과 같습니다. 그 문장은 바뀌지 않았지만 다음 섹션의 공식적인 증거와 너무 많이 구조화되어 토론에 버그가 생겨 났기 때문에 여기에 있던 것을 취했습니다. 그 중 DW가 친절하게 지적했습니다. 대신 그 직관을 표현하려고 노력하겠습니다.
이 문제에 대한 영리한 접근 방식은 엔세 가지 목록으로 정리하고 확인하지 않고도 대부분의 조합을 신속하게 정리할 수 있습니다. 따라서이 방법이 효과가 있다고 가정하면, 최적의 상자를 찾기위한 P- 시간 알고리즘이 제공됩니다.
같은 단계를 곱셈과 나눗셈 대신에 덧셈과 뺄셈과 같은 다른 대수로 변환하면 어떻게됩니까? 우리는 알고리즘이 제품 이 동일한 3 파티션을 찾 거나 3 파티션이 존재하지 않는 것으로 판단한다는 것을 알고 있습니다 (아래의 정리) . 따라서 동일한 기술을 추가 그룹으로 변환 할 수 있으면 합 이 같은 3 개의 파티션을 찾 거나 해당 파티션이 존재하지 않는 것으로 판단 할 수 있습니다. 다시 말해 다항식 시간으로 3 분할을 해결할 수 있습니다. 그것은 그럴듯하지 않다.
그렇다면 왜 그러한 알고리즘이 곱셈에 효과가 있고 더하기에 실패 할 수 있습니까? 가능한 한 가지 이유는 모든 정수는 곱셈에서 고유 한 소인수 분해를 갖지만 더하기에는 순환 적입니다. 곱셈은 더하기와 함께 고리를 형성하므로 사용할 수있는 다른 연산 집합이 있습니다. 다른 하나는 비 프라임에서 작동하도록 알고리즘을 일반화해야하며, 우선 순위에 따라 달라질 수 있다는 것입니다. DW가 지적한 한 가지는 특정 번역 방법이 입력 크기를 기하 급수적으로 증가시킬 수 있다는 것입니다. 그리고 아마도 P = NP 일 것입니다.
그러나 이것이 빠른 알고리즘을 작동시키는 허점이라면, 우리가 노력을 집중해야 할 곳을 제안하기 때문에 여전히 아는 것이 유용하다고 생각합니다. NP-complete 문제에 적용하려고 할 때 깨질 수있는 것을 찾아야합니다. 다른 대수로 일반화하는 접근법은 아마도 잘못된 나무를 짖는 것일 수 있습니다. 그래도 곱셈이 실제로 작동하기에 충분히 다르지는 않지만 의심 할 여지가 없습니다.
렘마
방해 m = N−−√삼. 어떤 솔루션이든( a m , b m , ma b)어디서 에이 과 비 양성, 용액의 무게는 ( a b + 1에이+ 1비) m2 때 최소화 a=b=1.
Proof: We see immediately from the restriction xyz=N that any arbitrary solution has this form.
Its weight is (am)(bm)+(am)(mab)+(bm)(mab)=abm2+m2b+m2a=(ab+1a+1b)m2.
Let f(a,b)=ab+1a+1b. To minimize this function, we take the partial derivatives δfδa=b−1a2 and δfδb=a−1b2. The critical point where these partial derivatives are zero comes where a=b2,b=a2, and therefore, since a and b must be real numbers greater than 0, a=b=1. We see from the matrix of second-order partial derivatives that this is a global minimum.
My immediate motivation to prove this was to fill in a hand wave in my proof above that, if a perfect-cube solution exists, it is optimal. However, this formula could be useful for pruning the search tree.
Assorted Thoughts
I don’t see any obvious symmetry except the interchangeability of x, y and z, which only gives us at best a constant factor of 6. We do have some speedups for the 2-partition that basically say we’d want both terms to be as close to each other as possible, but I don’t immediately see an application to this problem.
Off the top of my head, simply taking the log of all the numbers immediately reduces this to a classic 3-partition problem using addition, or equivalently, taking some number to the power of the numbers in any 3-partition addition problem turns it into a multiplication problem such as this. That implies this problem should not be any easier. We do have here the prime factorization, whereas that factorization would not be prime, but does that help us?
Graphically, the surface xyz = 0 would look like the union of the xy-, yz- and xz-planes, and for any positive n, the equation would look like y = n/xz, so each slice along a coordinate plane would be a hyperbola. We can generally say that the quantity we’re trying to minimize is lowest at the origin and grows most rapidly along the line where x = y = z. If we can search only along this manifold, we might be able to reduce to a two-dimensional problem.