다음과 같은 간단한 문제가 이전에 연구되었는지 여부와 해결책이 있는지 알고 싶습니다.
G를 유한 (MxN) 격자로, S를 G 셀의 하위 집합 ( "부스러기")으로 설정하십시오. 두 개의 부스러기는 좌표가 최대 하나 (즉, 정사각형으로 그려진 경우 하나 이상의 모퉁이 점을 공유 함)가 다르면 (로컬로) 연결되어 있다고합니다.
이제 그리드의 선과 열을 순열하여 빵 부스러기 (전체로 설정)를 연결할 수 있습니다. 다시 말해, 목표는 선의 순열과 열의 순열을 만들어 결과 그리드의 두 개의 부스러기가 (로컬로 연결된) 부스러기 체인으로 연결되는 것입니다.
질문 : 항상 해결책이 있습니까?
나는 그것을 공격하는 방법을 잘 모른다. 더 나은 아이디어가 없기 때문에 무차별 대입 솔루션을 찾는 원시 프로그램을 작성했습니다 (임의로 순열을 생성하고 결과 그리드에 부스러기가 연결되어 있는지 확인합니다). 이 프로그램은 지금까지 항상 작은 (10x10 또는 7x14) 그리드에서 솔루션을 찾았으며 더 큰 그리드는 단순한 전략에 도달 할 수 없습니다 (솔루션 전체에서 무작위로 걸려 넘어지기에는 너무 오래 걸렸습니다).
다음은 프로그램으로 해결 된 그리드의 예입니다.
초기 그리드 (부스러기는 X로 표시되고 빈 셀은 점으로 표시됨) :
0 1 2 3 4 5 6 7 8 9
0 X . X X . X . X X .
1 X . . . . X . . . .
2 . . X . . . . X . X
3 . X . . X . X . . X
4 . . . X . . . . . .
5 X X . . . X X . X .
6 . . . X . . . . X .
7 X . X . . X . . . .
8 X . . . X . . X X .
해결책:
6 1 4 7 8 2 9 3 5 0
1 . . . . . . . . X X
4 . . . . . . . X . .
5 X X . . X . . . X X
8 . . X X X . . . . X
7 . . . . . X . . X X
0 . . . X X X . X X X
3 X X X . . . X . . .
6 . . . . X . . X . .
2 . . . X . X X . . .
당연히 문제는 d> 2 차원으로 쉽게 일반화 될 수 있습니다. 다른 일반화도 고려할 수 있다고 생각합니다.
미리 감사드립니다.
얀 데이비드