복잡성 클래스에 대한 셀룰러 오토마타 차원의 영향


9

예를 들어 3d → 2d 축소 : 2d 셀룰러 오토 마톤으로 3d 셀룰러 오토 마톤을 시뮬레이션하는 비용은 얼마입니까?

보다 구체적인 질문은 다음과 같습니다.

  1. 시간이 얼마나 복잡해 지나요?

  2. 인코딩의 기본 아이디어는 무엇입니까? 3D 그리드가 2D 그리드에 어떻게 효율적으로 (또는 비효율적으로) 매핑됩니까? (도전은 원래 3D 그리드에 인접하지만 더 이상 2D 그리드에 인접하지 않은 두 셀 간의 통신을 달성하는 것으로 보입니다).

  3. 특히, 나는 지수 복잡성 알고리즘의 복잡성 드리프트에 관심이 있습니다 (차원에 관계없이 지수로 남아 있다고 생각합니다).

참고 : 선택한 I / O 방법이 복잡성에 영향을 미치는 복잡도가 낮은 클래스에는 관심이 없습니다. (I / O 방법은 차원이 없다고 가정하는 것이 가장 좋습니다. 가변적 인 시간 단계 동안 하나의 특정 셀에서 로컬로 수행됩니다.)


일부 상황 : 병렬 로컬 그래프 재 작성에 관심이 있지만 그 그래프는 2 차원 그리드보다 3d (또는 아마도 ωd ...) 그리드에 더 가깝습니다 .2 차원에서 하드웨어 구현에 대해 무엇을 기대 해야하는지 알고 싶습니다. 실리콘 칩.

답변:


5

이 기사 에서 2D 셀룰러 오토마타로 3D 셀룰러 오토마타 시뮬레이션 을 설명하겠습니다 .

그리드 인코딩, 함수부터 시작하겠습니다 . 원점에서 보다 작은 거리에있는 셀의 수가 같지 않기 때문에 직관적으로 는 거리를 유지할 수 없습니다 . 이 셀에 대해 같은 수의 셀에 포함 시켜야하지만 형식 이지만 이 있어야합니다 . 이 과 은 셀룰러 오토 마톤에서 찾을 수있는 이웃 개념의 반경과 약간 비슷합니다 .:2아르 자형아르 자형아르 자형2아르 자형>아르 자형아르 자형아르 자형

따라서 기사의 변형은 적어도 의 제곱으로 사물을 더 크게 만듭니다 . 즉 , 첫 번째 그리드에서 점이 에 떨어져 있으면 두 번째 그리드에서 이상 떨어져 있습니다 . 불행히도 주어진 임베딩은 에만 있습니다./2영형()영형()

그러나 이것은 매우 중요한 발언입니다. 첫 번째 오토 마톤에서와 동일한 지역을 얻지 못했기 때문에 이전에 "약간"이라고 말했습니다. 기사를 인용하려면 :

에서 매우 가까운 셀 이 있고 에서 [그들의 ​​인코딩이] 멀어 질 것임이 분명합니다.2

의 한 단계 실행 시간은 에서 임의의 길이 수 있습니다 . 인코딩은 시뮬레이션에 가깝습니다. 2D CA는 심지어 함수의 계산을 시뮬레이션합니다 .2:2

이 3D CA를 2D CA로 인코딩 할 때 3D CA에서 실행되는 알고리즘의 복잡성 (시간이 지남에 따라)이 폭발 할 것이라는 것이 안전합니다. 저자는 시뮬레이션에서 어떤 함수에도 구속 될 수 없다고 말합니다. 정보의 전파 시간이 위치에 따라 다르기 때문에 폭발은 일반적으로 기하 급수적이라고 말합니다.

셀룰러 오토마타에서 알고리즘을 실행한다는 아이디어는 이미 조금 이상해 보이지만 개인적입니다. 그러나 그것은 셀룰러 오토 마톤을 실리콘 칩으로 구현한다는 아이디어와 비교할만한 것이 아닙니다.


링크 주셔서 대단히 감사합니다. 두 노드 사이의 이러한 임의의 거리는 생각보다 훨씬 더 문제를 악화시킵니다. 그러나 알고리즘 의 복잡성 전환 은 3D 자동화에서 구현을 시뮬레이션하여 2d에서 실행할 필요가 없기 때문에 그리 나쁘지 않을 수 있습니다. 이것은 일반적인 솔루션 에이 끔찍한 한계가 있기 때문에 유스 케이스의 경우 특정 인코딩에 의존해야한다는 것을 의미합니다!
Stéphane Gimenez

아, 그리고 가능한 하드웨어 구현에 대해 물어 보자 ;-)
Stéphane Gimenez
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.