하자 일 방향성 비순환 그래프 및하자 λ 각 정점 매핑 표지 함수일 V ∈ V를 라벨에 λ ( V ) 어떤 유한의 알파벳 L . 쓰기 n : = | V | 하는 위상 정렬 의 G는 의 전단 사 함수이다 σ 으로부터 { 1 , ... , N } 에 V 있는 (즉,의 순서 시퀀스) 등이 될 때마다 ( V , V ' ) ∈ E 다음 σ - 1 ( V ) < σ - 1 ( V ' ) 의 에지가있는 경우 (즉, V 에 V는 ' 다음 (V)가 이전에 발생하는 V ' 순서대로). 라벨의 σ는 단어이다 σ ( 1 ) ⋯ σ ( N ) 에서 L .
주어진 , 나는 토폴로지 종류의 G 의 레이블을 효율적 으로 열거하고 싶습니다 . 위상 정렬 레이블을 열거하는 것이 복잡합니까? 물론 기하 급수적으로 많은 수가있을 수 있기 때문에 출력 크기의 함수 또는 지연 측면에서 복잡성을 연구하고 싶습니다. 특히, 다항식 지연으로 열거를 수행 할 수 있습니까? (또는 심지어 일정한 지연?)
모든 정점이 고유 한 레이블을 가지고 있는 경우 (또는 동등하게 정점이 { 1 , … , n } 으로 자체 레이블이 지정되어 있음) 선형 확장 열거 에 대한 결과로 레이블이 일정한 상각 시간으로 열거 될 수 있음을 알고 있습니다 posets (이것은 토폴로지 종류의 DAG를 열거하는 것과 같은 것입니다). 그러나 정점에 임의로 레이블이 지정된 경우 매우 많은 수의 토폴로지 정렬에 동일한 레이블이있는 경우가있을 수 있습니다. 따라서 토폴로지 정렬 G를 열거 하고 레이블을 계산하여 레이블을 열거하는 효율적인 방법을 얻을 수는 없습니다. . 포즈 용어에서 레이블이 지정된 DAG ( G , 는레이블이 지정된poset로 볼 수 있으며그에 대한 열거 결과를 찾을 수 없습니다.
나는 다른 질문에 대한 답변 덕분에 이미 관련 문제의 경도를 알고 있습니다. 특히, 사 전적으로 최소 레이블 을 찾는 것이 NP-hard 라는 것을 알고 있습니다. 또한 특정 분류에 의해 주어진 라벨이 달성 될 수 있는지를 결정하는 것이 NP-hard라는 것을 알고 있습니다 ( 이 문제 의 경도에서 : 후보 라벨 시퀀스 주어지면 각 정점이 위치에서 발생해야하는 G 의 토폴로지 정렬을 요청하십시오) s 에서 올바른 레이블이 나타나는 곳). 그러나 나는 당신이 원하는 순서대로 열거 할 수 있기 때문에 열거 형의 경도를 암시한다고 생각하지 않으며 (필수 사전은 아니지만) 열거 알고리즘을 사용하여 레이블을 얻을 수 있는지 여부를 효율적으로 결정할 수는 없다고 생각합니다. 일정한 지연 (첫 번째로 열거하는 기하 급수적으로 많은 시퀀스가있을 수 있기 때문에).
PTIME에서 명확하게 수행 할 수 있습니다. 그러나 점점 더 많은 레이블을 출력 할 때이 방법을 일반화하는 방법을 잘 모르겠습니다.