폰툰으로 섬을 연결하면 NP가 완료됩니까?


10

나는 내 마음에 문제가 있는데, 그것이 NPC 문제라고 생각하지만 그것을 증명하는 방법을 모른다.

여기 문제가 있습니다 :

매우 큰 호수 에는 k 개의 섬 이 있으며 , 부채꼴 모양의 판툰 이 n 개 있습니다. 이 폰툰은 크기는 같지만 초기 방향이 다르며 호수에서 원래 위치가 다릅니다. 이 폰툰은 질량 중심을 중심으로 자유롭게 회전 할 수 있으며 회전과 관련된 비용은 없습니다.

이제 우리는 호수의 모든 섬을 연결할 수 있도록 폰툰을 움직여야합니다. 우리는 모든 섬을 연결하기에 충분한 폰툰 수를 보장 할 수 있습니다.

[참고] : 우리는 철주를 재사용 할 수 없습니다 !!

과제는 모든 섬을 연결하기 위해 움직이는 폰툰의 총 거리가 최소 인 솔루션을 찾는 것입니다. 한 교주 이동 거리는 질량 중심의 원래 위치와 배치 된 위치 사이의 거리로 계산할 수 있습니다.

명확히하기 위해 나는 그러한 인물을 그렸습니다. 우리가 3 개의 섬 A, B, C를 가지고 있다고 가정하자. 그것들은 호수 어딘가에 위치하고있다. 팬 모양의 팬툰이 몇 개 있습니다. 이제 해결책은 그림 하단에 표시된 A, B 및 C를 연결하기위한 최소 이동 거리 합계를 찾는 것입니다. 그것이 문제를 이해하는 데 도움이되기를 바랍니다. :)

여기에 이미지 설명을 입력하십시오

문제는 NPC 인 것 같지만 그것을 증명할 수는 없습니다. 아무도 나를 도울 수 있습니까?


@vsaxena 아니요, 최종 솔루션이 직선이라고 생각하지 않습니다. 아마도 이미 아치를 형성하고 있지만 그중 하나를 움직일 필요는 없습니다. 대부분의 경우 직선은 좋지만, 철자가 밀도가 높아짐에 따라 해결책은 직선이 아닐 수 있습니다. 그림은 단지 예일뿐입니다. :)

1
스타이너 트리에 매우 가까운 것 같습니다. 미터법 공간에서 많은 기술을 해결하여 두 가지 작업을 모두 수행합니다. en.wikipedia.org/wiki/…
Nicholas Mancuso 2016 년

@NicholasMancuso 브릿지는 노드 대 노드이므로 브릿지가 여러 노드를 연결하는 클래식 스타이너 트리가 아닙니다. VLSI 레이아웃에는 비슷한 특성을 가진 많은 문제가 있습니다.
VSOverFlow

1
@vsaxena : 문제가 지정되지 않았습니다. 내가 정삼각형으로 세 개의 섬 A, B, C를 가지고 있고 철주가 처음에 섬과 연결된 Y 모양을 형성한다고 가정 해보십시오. 유효한 해결책이 없습니까? 아니면 폰툰을 더 옮겨야합니까? 이 솔루션이 유효하지 않은 경우, 폰툰의 유효한 구성은 정확히 무엇 입니까?
JeffE

1
@vsaxena : 그리고 우리가 그것에있는 동안, 섬은 단지 점, 원 또는 입력에 더 복잡한 모양입니까? 폰툰 선 세그먼트, 타원 또는 다른 모양입니까? 모든 섬이 같은 크기와 모양입니까, 아니면 다를 수 있습니까? 모든 폰툰이 같은 크기와 모양입니까, 아니면 다를 수 있습니까?
JeffE

답변:


1

첫째 : 이것은 여행하는 판매원 문제가 아닙니다. TSP는 최소 중량 해밀턴 사이클을 식별해야합니다. 이 사이클에는 사이클이 필요하지 않으며 최소한의 무게 경로도 필요하지 않습니다. 연결하는 모서리 세트의 최소 비용 구성 이 필요하며 , 여기서 건설 비용은 철근을 움직여서 계산합니다.

둘째 : 이것은 최소 중량 스패닝 트리 문제가 아닙니다. 위 참조- 최소 중량 식별이 아닌 최소 비용 구성이 필요합니다 .

셋째 : 구성된 경로는 스패닝 트리이지만 반드시 최소 가중치는 아닙니다. 대안은 스패닝 트리와 일부 추가 모서리가 순환을 야기한다는 것입니다. 그러나 모서리가없는 구성에서 시작하면 모든 모서리에 약간의 비용이 들며 단순히 여분의 모서리를 구성하지 않음으로써 가중치가 낮은 스패닝 트리를 항상 찾을 수 있습니다.

넷째 : 폰툰이 자유롭게 회전한다고 말합니다. 나는 교주 회전과 관련된 비용이 없음을 의미한다고 가정합니다. 그러나 폰툰이 회전하는 점을 지정하지 마십시오. 그들의 질량 중심은? 내부 요점이 있습니까? (외부 지점이 있다면 가중치 구성이 0이 될 것입니다. 예)

우리가 질량 중심과 같은 내부 지점을 중심으로 90도 회전하면 비용은 얼마입니까? 회전이기 때문에 아무것도 없나요? 포인트가 움직 였기 때문에 유한 금액? 이제 우리는 폰툰의 크기도 알아야합니다.

다섯째 : 폰툰과 섬이 모두 유클리드 비행기에 내장되어 있다고 가정합니까?


답변 해 주셔서 감사합니다. 회전은 질량 중심을 중심으로 회전과 관련된 비용이 없으며 이동에만 비용이 포함됩니다. 네, 폰툰과 섬은 모두 유클리드 비행기에 내장되어 있습니다. 게시물을 명확하게 수정했습니다.

이것이 본질적으로 TSP가 아니라는 데 동의합니다. 이 전체 게시물은 용어로 차축을 둘러싸고 있지만 문제는 실제로 각 폰툰과 각 잠재적 끝 폰툰 위치 사이에 선을 그린 다음 각 선의 거리를 무게로 계산하면 예외입니다. 시작점으로 돌아가는 지점의 그래프는 TSP와 거의 동일하게 보입니다 (티로). 폰툰 또는 끝 위치는 그래프의 노드이며 가중치는 거리로 구성됩니다. hamiltonian주기는 그것이 시작된 곳에서 끝나는 것을 의미합니다.

2
이것은 답변이 아니라 일련의 주석입니다.
Raphael

1

새로운 다이어그램을 살펴본 후 섬 사이를 가로 지르려면 여러 개의 폰툰이 필요할 수 있습니다. 이를 감안할 때 노드를 섬으로 바꾸고 작은 호를 가진 충분히 다양한 폰툰 모음을 만들어 Steiner Tree 문제 의 해결책에 매우 가까이 갈 수 있습니다. Wikipedia에 따르면 실제로 Steiner tree 문제에 대한 PTAS가 있다고해서 이것이 NP가 완전히 완료되었다고 즉시 말할 수는 없습니다. 그러나 Steiner 트리의 세부 사항을 살펴보면 대략적인 해결책을 얻거나 문제가 NP-Complete임을 알 수 있습니다.


당신이 묘사하는 것은 거의 최적의 솔루션을 얻는 대략적인 알고리즘입니다. 그러나 솔루션이 최적인지 어떻게 확인합니까?

실제 문제는 섬 사이를 가로 질러 여러 개의 폰툰이 필요하다는 것입니다. 이것은 스타이너 트리와 비슷하게 보입니다. 한 번 봐 가지고 지점과 바운드 알려진 최적의 솔루션으로 (예 : 제약 조건을 무시에 의해 생성) 하한에서 이동하는 방법은.
mcdowella

2
@mcdowella 각 철주는 하나의 다리에만 나타날 수 있기 때문에 스타이너 트리가 아닙니다. 포인트 투 포인트 시스템입니다. 또한 비용 함수는 폰툰의 이동이므로 브리지는 직선 솔루션보다 비용이 저렴한 넓은 호로 형성되는 경우가 있습니다.
VSOverFlow

이것은 다른 관점에서 볼 때 성향이 될 수 없습니다. 우리는 단지 우리의 요구에 맞는 포인트를 추가 할 수 없습니다.
트럼펫은

1
Y 접합이 허용되면 Steiner 트리 문제만큼이나 어렵습니다. Steiner 트리 문제는 다음 중 하나로 바뀔 수 있기 때문입니다. 많은 폰툰을 만들어 섬에서 멀리 떨어 뜨려 놓으십시오. 어느 폰툰을 어디에 사용하든 상관 없습니다. 그런 다음이 문제를 해결할 수 있다면 Steiner tree 문제를 해결할 수 있습니다.이 주장에 대해서는 Steiner tree 문제를 일으키지 않는 일부 폰툰 구성이 중요하지 않습니다. Y 접점이 허용되지 않으면 규칙이 무엇인지 정확히 알아야합니다. 교차로에서 경로가 교차합니까?
mcdowella

0

드로잉 후에도 여전히 NPC 문제입니다. 각 폰툰으로 문제를 줄이더라도 n 개의 위치 중 하나 (예를 들어 알려진 연결선)를 가정 할 수 있습니다. 가장 최적의 답을 얻으려면 각 폰툰을 시도하여 거리를 추가하여 각각의 반응하는 위치에 도달해야합니다. 각 폰툰이 각 위치에서 테스트되어야한다면, 테스트 할 필요가있는 n 개의 조합이 있습니다.

필자는이 문제 뒤에 그래프 아이디어를 보여주기 위해 원본 포스터의 이미지를 추가하여 선택했습니다.

아래 이미지는 다른 모든 폰툰을 다른 색상으로 (단순화하기 위해 -2) 폰툰을 보여줍니다. 모든 잠재적 폰툰 끝 위치는 RED입니다. 나는 3 개의 폰툰과 모든 최종 위치 사이에 선을 그렸지만, 이것이 어떻게 CRAZY가 될 수 있는지 볼 수있었습니다.

단순히 청록색 폰툰이 첫 번째 단계와 가장 가까운 끝 위치에 배치되도록 선택한다고 가정하십시오.

아래에서, 우리는 철주와 그것이 이동해야 할 거리 (일명 가중 이동 거리)를 정확히 보여줍니다.

여기에 이미지 설명을 입력하십시오

여기에서 방금 배치 한 위치 옆에 두 개의 끝 위치가있는 가상 노드를 만들 수 있습니다. 설정된 노드와 가상 노드 내 인접한 두 노드의 거리는 가상 이동 거리가 0입니다.

아래에는 가상 노드가 배치 될 수있는 모든 잠재적 이동 거리 가중치로 생성 된 것을 볼 수 있습니다.

여기에 이미지 설명을 입력하십시오

이것이 어떻게 지속되는지, 그리고 TSP로 여러 번 보았을 때 가장 최적의 솔루션이 항상 모든 선택에 대해 가장 짧은 거리를 선택하는 것이 아니라는 것을 알기 위해 본질적으로 모든 노드 / 가상 노드에 대한 모든 경로를 테스트해야합니다.

결국 (TSP) 문제의 첫 번째 노드는 잠재적 엔드 폰툰 포인트 중 하나 일 수 있으며, 그로부터 그려진 선은 해당 엔드 포인트에서 다른 모든 폰툰까지의 거리입니다. 나머지 모든 폰툰과의 거리 / 무게 등으로 선이 표시된 상태에서 다른 모든 노드는 가상 노드가됩니다. 이 그래프 문제가 어떻게 정확하지 않은가? 정확한 답을 얻으려면 그래프를 통해 모든 경로를 테스트해야합니다.


1
이것이 언급 된 문제의 합리적인 모델인지 아니면 실제로 TSP 모델인지 여부를 제외하고는 NP 축소가 작동하는 방식이 아닙니다. 대상 문제가 NPC 문제의 인스턴스로 구성 될 수 있음을 보여주지 않습니다. NPC 문제의 인스턴스를 대상 문제로 구성 할 수 있음을 보여 주어야합니다.


2
이런. 내 의견과 내가 제공 한 링크를 읽으려고 귀찮은 경우 참조 알고리즘이 정확하다는 것을 알게되었으므로 이해가 위배됩니다. 귀하의 의견에 따르면 P! = NP는 여전히 공개적인 질문입니다. 그래서, 당신은 이것을 이해하지 못했습니다. 죄송합니다. (NP 완료 문제가 순진하게 해결 될 수 있다는 것이 사실이더라도, 사용하는 추론은 잘못 될 것입니다.)
Raphael

2
영형(1.3)

3
@JeffE : 즉,이 답변은 문제가 아마도 isisically NP-complete 임을 증명합니다 .
Ito Tsuyoshi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.