상황에 맞는 언어와 일반 언어를 모두 효율적으로 결정할 수 있습니까?


12

이 그림을 보았을 때 문맥이없는 언어와 일반 언어는 효율적인 문제의 일부 (적절한) 입니다. 효율적인 문제는 해결할 수는 있지만 시간이 오래 걸릴 수 있기 때문에 모든 결정 가능한 문제의 하위 집합이라는 것을 완벽하게 이해하고 있습니다.P

모든 문맥 자유와 일반 언어를 효율적으로 decidable? 그것들을 해결하는 데 오랜 시간이 걸리지 않는다는 것을 의미합니까?

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


3
호기심에서이 수치를 어디에서 찾았습니까? “효율적인”은 공식적인 개념이 아니며 다른 사람들이 다른 것을 의미하기 위해 그것을 사용할 수 있기 때문에 설명하는 맥락을 갖는 것이 도움이 될 수 있습니다.
Gilles 'SO- 악마 중지'

2
"효율적"이 " "(일반적으로)을 의미하는 경우, "효율적"은 다항식도 큰 값을 생성하므로 "그다지 오래되지 않음"을 의미하지 않습니다. 복잡성의 기본 결과는 다음 순서보다 각각 더 쉬운 무한한 일련의 문제가 있다는 것입니다. 이것은 의 내부와 외부를 모두 보유합니다 . PPP
Raphael

@Raphael :이 맥락에서 효율적은 다항식 시간으로 결정할 수있는 언어 클래스입니다. 우리는 어떤 결정된 시간 안에 해결책을 찾을 수없는 결정 불가능한 문제와 반대로 결정 가능한 문제에 대해 "매우 오랜 시간이 걸렸습니다"를 사용했습니다.
Gigili

이것을 말하는 올바른 기술적 방법은 w가 단어이고 L이 언어 인 w∈L이 P. 즉 / 일명 "언어 인식"인지를 판단하는 것입니다.
vzn

답변:


15

정규 언어 멤버십은 사전 계산 된 언어 (최소)의 DFA를 시뮬레이션하여 시간 내에 결정될 수 있습니다 .O(n)

컨텍스트 프리 언어 멤버십은 CYK Algorithm에 의해 에서 결정될 수 있습니다 .O(n3)

와 같이 없는 결정 가능한 언어가 있습니다 .E X P T I M EPPEXPTIMEP


2
더 나은 실행 시간을 가지며 문맥이없는 문법에 대한 행렬 곱셈 알고리즘에 대해 언급하고 싶을 수 있습니다.이 알고리즘은 거의 모든 실제 문맥이없는 문법에서 매우 효율적으로 (선형 적으로) 작동합니다. sciencedirect.com/science/article/pii / 030439759190180A
Alex ten Brink

@AlextenBrink이 질문은 "다항식인지 아닌지"보다 세밀한 수준을 요구한다고 생각하지 않습니다.
Raphael

1
결정적이라면 최소 자동 기계가 필요하지 않습니다. 각 단계마다 고유 한 "다음 이동"이 있기 때문에 실행 시간은 여전히 입니다. O(n)
Janoma

1
사실, 일반 언어의 경우 결정 론적 오토마타가 명시 적으로 필요하지 않습니다. 파워 셋 구성과 유사한 방식으로 모든 상태를 추적하여 모든 계산을 병렬로 시뮬레이션합니다.
Hendrik Jan

1
@Dave : 여기에 주어진 다른 복잡성과 같이 고정 된 일반 언어의 경우 입력 문자열의 길이가 선형입니다.
Hendrik Jan

1

DC 에 의한 답변의 개선 / "세밀한 인쇄" : Chomsky Normal Form 형식의 모든 CFL을 CYK 알고리즘 으로 효율적으로 구문 분석 할 수 있으며 모든 CFL을 CNF로 변환 할 수 있습니다. 그러나 임의의 CFL을 CNF 로 변환 하면 일부 알고리즘에 따라 최악의 경우 지수 공간이 필요할 수 있습니다. (여기서 P- 시간 변환을 보장하는 알고리즘을 알지 못합니다. 다른 사람이 있습니까? 비 결정적 CFL 또는 모호한 것과 같은 모든 에지 / 최악의 경우를 고려해야 합니다 .) CNF 섹션의 Wikipedia 상태 변환 순서

더욱이, 문법 크기의 최악의 팽창은 [주 4] 변환 순서에 따라 달라집니다. | G | 사용 원래 문법 G의 크기를 나타 내기 위해, 최악의 경우의 크기 폭발은 사용 된 변환 알고리즘에 따라 ~ 일 수 있습니다. [6] : 72 2 | G ||G|222|G|

따라서 효율적으로 구문 분석 할 수없는 CFL이있을 수 있습니다. 대부분의 프로그래밍 언어는 CNF (또는 아마도 CNF 또는 거의 CNF로 정의 됨) 로 효율적으로 변환 가능 하므로 "일반적인"언어에 대한 CFL 구문 분석은 P에서 "실제적으로"수행됩니다. 커서 검색에서 최근 논문을 찾으십시오. 예를 들어 Greibach의이 오래된 (1973) 연구 논문은 최악의 성능이 P에 의해 제한되지 않을 수도 있음을 나타내는 것으로 보입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.