비 구조적인 알고리즘 존재 증명이 있습니까?


47

특정 복잡성으로 해결할 수있는 것으로 입증되었지만 실제로는이 복잡성에 도달하는 알려진 알고리즘이없는 문제에 대한 참조가 발생했을 수 있습니다.

나는 이것이 어떻게 일어날 수 있는지 내 마음을 감싸는 데 어려움을 겪는다. 알고리즘의 존재에 대한 비 구조적 증거가 어떻게 보이는지.

실제로 그러한 문제가 있습니까? 그들은 실질적인 가치가 있습니까?


11
Robertson-Seymour 정리 에 기반한 알고리즘 ? 또는 간단히 말해서, PEM을 사용하여 알고리즘을 증명할 수있는 곳이 어디인지 알 수없는 곳 (고정 된 Turing 머신마다 사소한 문제를 결정할 수는 없지만 문제를 해결하지 않고 문제를 올바르게 해결하는 알고리즘을 찾는 방법 (일관된 버전)) 정지 문제?) ps : "실제 가치"란 무엇을 의미합니까?
Kaveh


1
라파엘, 당신의 의견 은 아마도 대답으로 업그레이드 될 것 같습니다 . 아마도 당신 (또는 누군가)이 이것을 시도 할 수 있습니까?
존 사이들


답변:


33

기능을 고려하십시오 ( 여기 에서 취함 )

f(n)={10n occurs in the decimal representation of π0else

외관에도 불구하고 는 다음과 같은 주장으로 계산할 수 있습니다. 어느 한 쪽f

  1. 0n 마다 발생 또는n
  2. 가 되도록 발생하지만 하지 않는다.0 k 0 k + 1k0k0k+1

우리는 (아직)인지 모르겠지만, 우리는 알고 와fF={f,f0,f1,}

  1. f(n)=1 이고
  2. fk(n)=[nk] 입니다.

이후 , 계산할 수있다 -하지만 우리는 무엇을 말할 수 없다 것입니다. f fFREff


2
이 답변은 좋고 다른 답변도 좋습니다. 분명히 jkff의 질문에는 알고리즘의 존재를 비 구조적으로 보여줄 수있는 여러 가지 증명 기술이 있다는 의미에서 하나 이상의 답변이 있습니다.
John Sidles

그러나 나는 이것이 가장 단순한 것이기 때문에 이것을 "수락 됨"으로 표시하고 있으며 비 구조적인 알고리즘 존재 증명이 어떻게 발생할 수 있는지에 대한 핵심 아이디어를 보여줍니다.
jkff

@jkff 간단하게, 그것은 TCS 과정 입문 학생들에게 훌륭한 연습입니다. 이 기능에 비추어 직감 / 계산의 개념을 조정하는 데 몇 주가 걸렸습니다.
Raphael

나는 가 상수 1 함수 라는 백만 달러를 기꺼이 내걸 것 입니다. 그리고 나는 백만 달러가 없습니다. f
Daniel McLaury

26

이것은 정확히 당신이 의미하는 것은 아니지만 Seth Pettie와 Vijaya Ramachandran의 최적의 최소 스패닝 트리 알고리즘 은 어떤 의미에서 비 구조적입니다.

선형 ( ) 시간으로 최소 스패닝 트리를 계산하는 결정 론적 알고리즘이 있는지 여부는 공개적인 질문 입니다. Pettie와 Ramachandran은 이러한 알고리즘이 존재하는 경우 선형 시간으로 MST를 계산하는 알고리즘을 설명 합니다 .O(n+m)

직관적으로, 그들의 알고리즘은 MST 문제의 vertex 인스턴스를 선형 시간에 정점이있는 작은 인스턴스로 줄입니다 . 여기서 . 그런 다음 무차별 대입 계산을 통해 vertex 그래프 의 최소 ​​스패닝 트리를 계산 하는 최적 비교 트리 를 계산합니다 . 이것에 quintuply 지수 시간 걸려도 만있어, 시간. 마지막으로이 최적의 의사 결정 트리를 사용하여 작은 인스턴스를 해결합니다.O ( n / k ) O ( k ) k = O ( 로그 로그 로그 로그 로그 로그 로그 n ) k k O ( 로그 로그 n )nO(n/k)O(k)k=O(logloglogloglogloglogn)kkO(loglogn)

즉, Pettie와 Ramachandran은 최적의 MST 알고리즘을 구성하는 알고리즘을 구성하여 간접적으로 만 최적의 MST 알고리즘을 구성합니다.


멋지다! BTW, 그들의 알고리즘은 의사 결정 트리 모델에서 최고의 실행 시간과 일치합니까?
Sasho Nikolov

네 맞습니다!
Jeffε

2
어떤 의미에서, 이것은 비 구조적 증거보다 더 높은 차수 함수 (다른 함수를 취하는 함수이며 시간 복잡성의 증명은 입력의 복잡성에 달려 있음)와 비슷합니다. 나는 알고리즘을 실제로 제공하지 않고 알고리즘의 존재에 대한 증거를 구성하는 데 고전적인 논리 (LEM, DNE 또는 Peirce)를 결정적으로 불러 일으키는 것을 의미하는 비 건설적인 증거를 취합니다. 그래도 여전히 시원합니다.
copumpkin

13

다음은 두 가지 예입니다.

  1. Robertson-Seymour 정리를 사용 하는 일부 알고리즘 . 정리에 따르면 각 경우에 대해 유한 방해가 발생하지만 그러한 유한 집합을 찾는 방법은 제공하지 않습니다. 따라서 알고리즘이 존재 함을 증명할 수는 있지만 알고리즘의 명시 적 진술은 우리가 찾는 방법을 모르는 유한 방해 세트에 따라 달라집니다. 다시 말해, 우리는 알고리즘이 있다는 것을 알고 있지만, 알고리즘을 찾는 방법을 아직 모른다.

  2. 비록 덜 자연 스럽지만 본질적으로 PEM 또는 유사한 비 구조적 공리를 사용하는 것이 더 강력한 예입니다. 이는 알고리즘의 구성 적 존재가 비 구조적 공리 ( Brouwer의 약한 반대 사례 와 유사 함)를 암시한다는 것을 의미한다는 점에서 더 강력합니다 . 이러한 예는 우리가 지금 명백한 알고리즘 (또는 알고리즘을 찾는 알고리즘 적 방법)을 알지 못했을 뿐 아니라 그렇게 할 희망이 없기 때문에 더 강력합니다 .

    예를 들어, PEM 을 사용 하여 알고리즘이 존재 함을 증명할 수 있지만 알고리즘을 찾는 방법과 구성 방법 중 어느 것이 비 구조적 공리를 암시하는지 알 수 없습니다. 간단한 예를 들어 보겠습니다.

    정지 문제는 각 고정 튜링 기계 에 대해 사소하게 결정 가능 합니다 (각 TM이 정지 또는 정지하지 않으며 각 경우에 정답을 출력하는 TM이 있음). 그러나 해결하지 않고 문제를 올바르게 해결하는 알고리즘을 어떻게 찾을 수 있습니까? 정지 문제의 균일 한 버전?

    더 공식적으로, 우리는 TM 주어진 것을 건설적으로 증명할 수 하는 TM이 의 정지 문제를 결정 . 보다 공식적으로 다음 진술은 건설적으로 입증 될 수 없습니다.H T MMHTM

    eN fN [({f}( )=0{e})({f}( )=1{e})]

    여기서 는 코드 가있는 TM (일부 고정 된 TM의 표현)이며, 는 정지 및 는 가 멈추지 않음을 의미 합니다.{e}e{e}{e}{f}{f}


1
"각 사례에 대한 유한 방해"란 무엇입니까? 나는 당신이 " 사소한 닫힌 그래프의무한 세트에 대한 유한 방해 세트 "도 남는 것이 좋지 않다는 것을 의미한다고 생각합니다 (나는 그것을 고치기 위해 답을 편집했지만 거부 된 것 같습니다.
Saeed

8

예.

(1)의 어느 시점에서, 유한 도메인 크기, Cai, Chen 및 Lu에 대한 복소 가중 카운팅 그래프 동형 이분법 정리는 다항 보간을 통해 두 카운팅 문제 사이에 다항 시간 감소가 있음을 증명합니다. 나는 그러한 알고리즘에 대한 실질적인 가치를 모른다.

arXiv 버전의 섹션 4를 참조하십시오. 문제의 정리는 "첫 번째 고정 정리 정리"라고하는 Lemma 4.1입니다.

이 증명을 건설적으로 만드는 한 가지 방법 은 Lovasz 결과의 복합 가중치 버전을 증명하는 것입니다 .

모든 , 동형의 존재 IFF에 의 되도록 .Z H ( G , w , i ) = Z H ( G , w , j ) f G f ( i ) = jGZH(G,w,i)=ZH(G,w,j)fGf(i)=j

여기서, 의 정점 인 , 및 정점이다 및 모든 복소 가중치 그래프 homomorphisms 위에 합 에 하는 추가 제약으로 에 매핑해야이 .H i j G Z H ( G , w , i ) G H i wwHijGZH(G,w,i)GHiw

(1) Jin-Yi Cai, Xi Chen 및 Pinyan Lu, 복잡한 값을 갖는 그래프 동형 : 이분법 정리 ( arXiv ) ( ICALP 2010 )


7

80 년대 후반의 일부 초기 결과 :

두 번째 항목의 요약에서 :

그러나 최근 그래프 이론의 근본적인 발전은 P의 멤버쉽을 보장하기 위해 적용 할 수있는 강력하고 새로운 비 구조적 도구를 사용할 수있게하였습니다. 이러한 도구는 두 가지 수준에서 비 구조적입니다. 또한 그러한 결정 알고리즘이 솔루션 구성에 도움이 될 수 있는지 여부도 공개하지 않습니다. 우리는 이러한 도구의 사용을 간단히 검토하고 설명하며, 이러한 새로운 도구가 적용될 때 약속 된 다항식 시간 결정 알고리즘을 찾는 겉보기에 엄청난 과제를 논의합니다.


6

우리가 보여줄 수있는 무한한 문제 군 (실용적 가치가있는)의 예 :

  1. 각 문제마다이를 해결하는 알고리즘이 있습니다.
  2. 이러한 알고리즘을 구성 할 수있는 방법은 없습니다 (일반적으로).

M

LM={M|L(M)=L(M) and |M||M|}

  1. M

  2. PMP(M)LMMM|M||M|P(M)(M)P


2
귀엽다. 그러나 이것의 실제 가치는 생각보다 덜 의심 스러울 수 있습니다. 이것은 주어진 출력으로 가장 짧은 프로그램, 즉 최적의 데이터 압축을 찾는 문제의 결정 버전입니다.
David Eppstein

1
나는 그 예가 내가 준 예와 비슷하다고 생각합니다. 우리가 그것이 건설적이지 않다고 말할 때 우리는 건설적인 단어를 구성주 의 학교 중 하나 인 재귀 적 / 계산 가능한 것으로 해석하고 있습니다.
Kaveh

2

Mareike Massow, Jens Schmidt, Daria Schymura 및 Siamak Tazari의 MohammadTaghi Hajiaghayi의 자습서에 대한 "이차원 이론 및 알고리즘 그래프 부 이론 강의 노트"에서

각각의 마이너 클로즈드 그래프 속성은 유한 세트의 금지 된 마이너로 특징 지어 질 수 있습니다.

불행하게도, 그 결과는 "내재적으로"비 구조적입니다. 즉, 주어진 마이너 클로즈드 그래프 속성에 대해 어떤 마이너를 제외 할지를 결정할 수있는 알고리즘이 없습니다. 또한 금지 된 미성년자의 수가 많을 수 있습니다. 예를 들어, 원환 체에 임베드 가능한 그래프에 대해 30,000 가지 이상의 금지 된 미성년자가 알려져 있지만 목록이 불완전합니다.

[...]

각각의 소량 폐쇄 그래프 속성은 다항식 시간 (입방 시간에서도)으로 결정될 수 있습니다.


0

Algorithmic Lovász local lemma- "알고리즘 Lovász local lemma는 제한된 의존성으로 제약 시스템에 순종하는 객체를 구성하는 알고리즘적인 방법을 제공합니다. ... "나쁜 사건을 피하기 위해" 분포에 대한 일부 가정 / 제한에서, 구성된 알고리즘은 Moser / Tardos [1]에 의해 제공됩니다. Lovasz 지방의 정리는 복잡한 이론과 다양한 관계가있는 것으로 보인다. 예를 들어 [2]

[1] Moser, Tardos의 Lovász Local Lemma 일반에 대한 건설적인 증거

[2] Lov'asz 지역의 정리 및 만족도 Gebauer, Moser, Scheder, Welzl


다른 의미의 "구성 적"입니다. 때때로 복잡성 이론가 (ab)는 "constructive"라는 단어를 사용하여 효율적인 알고리즘을 의미하며, 이러한 맥락에서 효율적으로 알고리즘 적이 지 않은 것을 비 구조적이라고합니다. 이것은 질문에서 의도적 인 구성 증명 개념과 다릅니다.
Kaveh

첫 문장이 오해의 소지가 있습니다. 알고리즘 LLL은 다항식 시간 알고리즘의 관점에서 완전히 구성 적입니다. 원래의 LLL은 잠재적으로 큰 확률 공간에 대한 귀납적 주장이라는 의미에서 비 구조적인 증거를 가지고있었습니다. Moser와 Tardos의 논문에 대한 후속 작업은 알고리즘 LLL과 LLL의 강화 사이의 거의 모든 격차를
좁혔습니다.

1975 년의 최초의 정리는 비 구조적이며 나중에 연구자 (10 년 후)는 특별한 경우에 대한 구성 알고리즘을 발견했지만 "실제적으로 모든 간격"은 "모든 간격"과 같지 않습니다. 비시 공적 존재 증명이 항상 그런 식으로 유지 될 것이라는 보장이되지 않는 유용한 예, 즉 비 시공성이 항상 절대적인 것은 아니며 "변화에 따라 달라질 수있다", 그리고 추가 / 나중의 연구가 차이를 메울 수 있으며 알고리즘에 의해 모든 갭이 닫히기 때문에 미묘하고 입증하기가 어려울 수 있습니다. 이것의 다른 예가 있습니다. Moser / Tardos 솔루션을 인용했습니다.
vzn

1
내가 말하는 것은 여러분이 첫 문장을 쓴 방식이 "알고리즘 LLL"처럼 보이는 것이 "비 건설적"이라는 것입니다. 이 인용문에는 원래 LLL에 대한 참조가 있었지만 타원을 놓은 위치로 인해 참조가 생략되었습니다. 혼동하지 않도록 더 많은 견적을 포함하도록 편집 할 수 있습니까?
Sasho Nikolov

1
o / wi는 귀하의 답변이 주제와 접선 적으로 만 관련되어 있다고 생각하지만, 비 구조적 증거를 가진 일부 정리도 건설적인 것을 인정하는 것이 좋습니다 (일부는 "구조적"을 정의하는 방법에 따라 다름). 건설적인 LLL을 더욱 발전시키는 한 가지 문제는 LLL이 적용되는 모든 상황에서 합리적인 계산 문제를 정의하는 방법이 명확하지 않다는 것입니다
Sasho Nikolov
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.