무한 언어 vs 유한 언어


16

컴퓨터 이론에서 "무한"언어 또는 "유한"언어라는 문구를 사용하는 것이 확실하지 않습니다.

나는 문제의 뿌리가 같은 언어 있다는 생각 L={ab}무한 은 무한 (그러나 셀 수) 문자열의 수를 생성 할 수 있다는 점이다. 그러나 여전히 유한 상태 자동 장치 로 인식 할 수 있습니다 .

그것은 또한 Sipser 책이 실제로 (내가 말할 수있는 한)이 구별을하지 않는 데 도움이되지 않습니다. 무한 / 무한 언어 및 일반 언어와의 관계에 대한 질문이 샘플 시험에서 나왔습니다.


1
ab*(Kleene star)는 문자열 조합을 0 개 이상 가질 수 있음을 의미 하기 때문에 무한 ab합니다. 여기에는 가능한 무한한 수의 문자열이 포함됩니다 : { "", ab ^ 1, ab ^ 2, ab ^ 3, ... , ab ^ n}. 그러나 실제로는 무한 문자열을 생성 할 수있는 방법이 없기 때문에이 언어를 인식하는 FSM을 작성할 수 있습니다. 기계에서 처리 할 때 모든 문자열은 유한해야하지만 언어 자체를 유한하게 만들지는 않습니다. 언어의 무한 성은 이론적입니다.
Hunter McMillen

1
"설명 가능"과 "유한"은 동일하지 않습니다. 예를 들어, 정규식 는 무한 언어에 대한 유한 설명입니다. 유한 오토 마톤은 또 하나의 오토 마톤입니다. 그러나 유한 오토 마톤 이라고 불리는 것은 유한 한 설명이 아니라 일정한 양의 비트 만 저장할 수 있기 때문입니다. {a,b}
Raphael

유한 수의 상태가 다른 기계의 유한 설명보다 중요한 이유는 무엇입니까?
babou

오토 마톤에는 루프가있을 수 있으며 일부 상태는 무한정 사용할 수 있습니다.
doganulus

답변:


28

어머. 이것은 오늘날 "정규 언어"로 알려진 것과 동의어로 "구식 언어"라는 "구식 학교"라는 용어로 인해 혼란스러워 보입니다.

어쨌든, 요즘 수용되는 유한 / 무한에 대한 표준 정의는 언어의 크기에만 관련됩니다.

  1. 유한 한 언어가 어떤 설정이다 유한 기수의, 문자열, | | < .L|L|<
  2. 무한 언어는 세트 인 무한 (문자열의 0 ) 기수 | | = .L0|L|=

유한 은 항상 규칙적입니다.L

무한 은 규칙적 (때로는 "유한 상태"라고 함), 결정 가능 ( "재귀 적"이라고 함), 비정규 (비 유한 상태), 결정 불가능 등일 수 있습니다.L


1
감사합니다 Ran! 따라서 는 무한한 언어입니까? 따라서 무한한 언어가 주어지면 언어의 종류에 대해 알 수있는 것이 없습니다. L={ab}
timberly

1
맞아요. 는 무한한 정규 언어입니다. L={a,b}
Ran G.

1
@timberly 물론, 우리는 그것이 어떤 종류의 언어인지 알고 증명할 수 있습니다.
phant0m


4

컴퓨터 이론에서 "무한"언어 또는 "유한"언어라는 문구를 사용하는 것이 확실하지 않습니다.

문제의 근본 원인은 와 같은 언어 가 무한한 (하지만 셀 수있는) 문자열을 생성 할 수 있다는 점에서 무한하다는 것입니다. 그러나 여전히 유한 상태 자동 장치로 인식 할 수 있습니다.L={ab}

또 다른 문제는 공식 언어 이론이 "언어"라는 용어를 사용하는 방식이 다소 특이하다는 것입니다.

공식 언어 이론을 가진 사람들을 제외한이 세상의 모든 사람들에게 언어는 의사 소통에 사용되는 발언 시스템이므로 각 발언은 형식 ( 구문 )과 의미 ( 의미 ) 를 갖습니다 . 최소한 컴퓨터 과학에 사용되는 형식 언어 이론은 공식적으로 언어 구문 을 정의하는 가장 좋은 방법에 관한 문제에 전념합니다 . 그것은 언어의 구문 (발화의 모습)과 언어의 구문을 정의하는 데 사용되는 정규식과 같은 형식주의 (언어!) 사이의 관계에 관한 것입니다.

따라서 공식 언어 이론에서 '언어'는 단순히 '문자열 집합'으로 정의됩니다. 일반적으로 언어의 문자열에 의미를 할당하지 않습니다.

동시에 정규 표현식과 같은 언어를 설명하는 데 사용되는 형식은 이러한 의미로 언어를 형성합니다. 예를 들어 모든 정규 표현식은 문자열이므로 정규 표현식 세트는 언어입니다. 그러나 이러한 형식주의를 들어, 언어의 문자열은 의미가 있습니다 예를 들어, 모든 정규 표현식의 의미는 의미 언어입니다.

ab{ab}ab{}

{}{}{ϵ,,,,,}. It is infinite, but using the operator 유한 한 방식으로 설명 할 수 있습니다. {}.

또한 정규 표현식을 사용하여이 언어를 설명 할 수 있습니다. (). 모든 정규식과 마찬가지로이 문자열은 유한 문자열이지만 대부분의 정규식과 마찬가지로 연산자, 무한 언어를 설명합니다.

공식 언어의 텍스트가 다음과 같은 표현식을 사용할 때마다 () that denotes a language, ask yourself whether it is discussing the regular expression itself (e.g. how it is constructed, which language it denotes, etc.) or whether it merely uses the regular expression to refer to the language being denoted.

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