입력 문자열 길이에 유도를 사용하여 증명을 작성하려면 어떻게해야합니까?


20

컴퓨팅 이론 과정에서 우리의 많은 문제는 입력 문자열의 길이에 유도를 사용하여 유한 오토마타에 대한 진술을 증명하는 것과 관련이 있습니다. 나는 수학적 귀납법을 이해하지만, 현이 연주 될 때 나는 실제 트립됩니다. 누군가가 그런 증거를 단계별로 만드는 과정을 거치면 정말 감사하겠습니다.

다음은 문제의 예입니다 (Hopcroft 및 Ullman 3rd Edition의 2.2.10 연습).

다음 전환 테이블이있는 DFA를 고려하십시오.

        0 1
       ________
-> A | AB
  * B | 학사

이 DFA에서 허용하는 언어를 비공식적으로 설명하고 입력 문자열의 길이를 귀납하여 설명이 정확함을 증명하십시오.

이것은이 책에서 해답이 된 문제이므로 숙제를 할 사람을 찾고 있지 않습니다. 나에게 직접 설명 할 사람이 필요합니다.

책의 답변 : ( 여기 에서 가져옴 )

오토 마톤은 보여지는 1의 수가 짝수 (상태 A)인지 홀수 (상태 B)인지를 알려주고, 후자의 경우를 받아들입니다. | w |에 쉬운 유도입니다 w에 짝수가 1 인 경우에만 dh (A, w) = A임을 나타냅니다. 기준 : | w | 그런 다음 w, 빈 문자열은 반드시 짝수의 1, 즉 0 1과 δ-hat (A, w) = A를 갖습니다.

유도 : w보다 짧은 문자열에 대한 명령문을 가정하십시오. 그런 다음 w = za입니다. 여기서 a는 0 또는 1입니다.

  • 사례 1 : a = 0. w의 짝수가 1이면 z도 마찬가지입니다. 유도 가설에 의해 δ-hat (A, z) = A입니다. DFA의 전이는 δ-hat (A, w) = A를 알려줍니다. w의 홀수가 1이면 z도 마찬가지입니다. 유도 가설에 의해 δ-hat (A, z) = B이고 DFA의 전이는 δ-hat (A, w) = B를 알려줍니다. 따라서이 경우 δ-hat (A, w) = w에 짝수의 1이있는 경우에만 a.

  • 사례 2 : a = 1. w의 짝수가 1이면 z의 홀수는 1입니다. 유도 가설에 의해 δ-hat (A, z) = B. DFA의 전이는 δ-hat (A, w) = A를 알려줍니다. w의 홀수가 1이면 z는 짝수입니다. 1입니다. 유도 가설에 의해 δ-hat (A, z) = A이고, DFA의 전이는 δ-hat (A, w) = B를 알려줍니다. 따라서이 경우에도 δ-hat (A, w ) = w의 짝수가 1 인 경우에만 A.

나는 n i = 0 i = n ( n + 1 ) 과 같은 것을 증명하는 방법을 이해합니다 유도 사용. 나는 이것이 문자열을 만드는 데 어떻게 작동하는지 혼란 스럽습니다. 굵은 글씨로 혼란 스러워요. 나는 그들이 어떻게 일어나고 있는지 / 어떻게 받아 들여 지는지 / 유도하는 방법을 실제로 증명하는 방법을 이해하지 못합니다.i=0ni=n(n+1)2

δ-hat은 확장 된 전이 함수입니다.

답변:


17

문제가 어디에 있는지 확실하지 않으므로 처음부터 시작하겠습니다.

수학적 유도는 중국의 속삭임 게임 (이상적인 경우, 즉 모든 의사 소통은 무손실) 또는 (완전히 설정) 도미노 게임과 같이 작동합니다 . 그때.

보다 공식적으로 모든 유도 증명은 세 가지 기본 요소로 구성됩니다.

  • 유도 앵커 , 기본 사례 : 클레임이 유지하는 작은 사례 ¹를 보여줍니다.
  • 귀납 가설 : 당신 은 주장이 당신이 무언가를 증명하고자하는 세트의 특정 부분 집합에 대해 있다고 가정 합니다.
  • 귀납적 단계 : 가설을 사용하면 주장이 더 많은 요소를 보유 함을 알 수 있습니다.

물론, 단계는 전체베이스 세트 (한계)를 포함하도록 조정되어야합니다.

중요 사항 : 유도 기술에 확신이있는 사람들은 종종 앵커 위에 광택을 내고 가설을 암시 적으로 남겨 둡니다. 전문가 관객 (예 : 논문)에게 작품을 제시 할 때는 문제가 없지만 , 특히 초보자로서 직접 교정 할 때는 권장 하지 않습니다 . 모든 것을 적어 두십시오.


위에 간단한 예를 고려한다 ; 우리는 n 을 보여주고 싶다(N,) 는 모든nN을보유합니다.i=0ni=n(n+1)2nN

  • 앵커 : 경우 n in=0 명확하게 보유합니다.i=0ni=0=n(n+1)2
  • 가설 : 는 임의이지만 고정 ²nN 유지합니다.i=0ki=k(k+1)2nN
  • 단계 : 경우 합계를 계산하십시오.n+1

    i=0n+1i=(n+1)+i=0ni=IHn+1+n(n+1)2=(n+2)(n+1)2

    따라서 유지합니다 . (우리는 가설의 작은 부분, 즉 k = n에 대해서만 필요하다는 점에 주목합니다 . 종종 발생합니다.)n+1k=n

귀납적 원칙은 이제 우리가 그 주장이 실제로 보유하고 있음을 보증합니다 : 우리는 그것을 직접 보여주었습니다 . 이 단계는 그것이0 을 유지하면 1을. 이 경우에 대해 보유 하나 , 그것도 위해 보유 2 ; 등등.0112


이번에는 에 다른 예를 살펴 보겠습니다 . 우리가 증명하려는 주장은 다음과 같습니다 모든 유한 부분 집합에 대한 의 N , 힘의 크기가 설정 A가2 | A |(2N,)AN2AA2|A|³. 우리는 다시 유도 , 즉 부분 집합 A 의 크기에 대해 유도를 수행합니다 .(N,)A

  • 앵커 : 크기가 인 (전용) 세트 , 빈 세트를 고려하십시오 . 분명히, 2 = { } 따라서 | 2 | 청구 된 바와 같이 = 1 = 2 002={}|2|=1=20
  • 가설 : 모든 세트에 대해 그 가정 N| A | n은 어떤 임의의로하지만, 고정 N N , 우리는이 | 2 A | = 2 | A | .AN|A|nnN|2A|=2|A|
  • 단계 : 하자 크기 arbitrary⁴ N + 1 및하자 B B의 임의의 (예를 들면 , B가 로 존재 N + 1 > 0 ). 이제 가설은 B { b }에 적용 되므로 | 2 B { b } | = 2 n . 이후BNn+1bBbn+1>0B{b}|2B{b}|=2n

    ,2B=2B{b}{A{b}A2B{b}}

    우리는 실제로 청구 된 바와 같이 2 n = 2 n + 1|2B|=2|2B{b}|=22n=2n+1

다시, 귀납에 의해 주장이 입증됩니다.


이제 문제에 대한 일반적인 속임수를 사용할 수 있습니다 : 문장 강화 . 클레임을 "자동자가 홀수 개의 단어를 가진 모든 단어를 허용합니다"로 공식화하면 "길이 의 모든 단어 중에서 홀수의 단어를 가진 단어는 자동으로 허용됩니다"와 같은 귀납 가설을 얻습니다 . 우리는 주어진 (수락 된) 단어의 어느 부분에 얼마나 많은 단어가 포함되어 있는지에 대해 아무것도 모르기 때문에 어느 곳으로도 안내하지 않습니다. 가설은 임의로 선택한 단어를 잘라낸 것에 적용되지 않습니다.n

따라서, " 입력의 소비 된 부분에 홀수의 숫자가 포함 된 경우에만 오토 마톤이 상태 에 있습니다"라고 더 강력하게 주장하려고합니다 . 이전 주장을 암시한다는 점에 유의하십시오.B

  • 앵커 : 길이가 0 인 유일한 스트링 처리 한 후 , 오토 마톤은 청구 바와 같이 상태 A에 분명히있다 .εA
  • 가설 : 주장은 임의로 선택되었지만 고정 된 최대 길이의 입력 조각을 보유한다고 가정합니다 .n
  • 단계 : 임의의 단어 w { 0 , 1을 고려하십시오 . 두 가지 경우가 있습니다. w{0,1}n+1
    1. 는 짝수의 것을 포함합니다. 마지막 심볼에는 두 가지 경우가 있습니다. w
      1. :이 경우 w = w 1w n - 1 은 짝수의 짝수를 포함합니다. 유도 가설에 의해, 오토 마톤은 w ' 소비 후상태 A에있다 . w n = 0을 소비하면청구 된 바와 같이오토 마톤이 상태 A 에 머무르게된다.wn=0w=w1wn1Awwn=0A
      2. :이 경우, w = w 1w n - 1 은 홀수 개를 포함합니다. 유도 가설에 의해, 오토 마톤은 w ' 소비 후상태 B에있다 . w n = 1을 소비하면청구 된 바와 같이오토 마톤이 상태 A 로 전환된다.wn=1w=w1wn1Bwwn=1A
    2. 는 홀수의 것을 포함합니다. 사례 1과 유사합니다.w

귀납의 원칙은 그 주장이 사실임을 암시합니다.


  1. 일부 순서대로 유도를 수행합니다. 앵커는 모든 최소한의 요소를 다루어야하며 때로는 진술에 따라 더 많은 것을 포함해야합니다.
  2. "임의하지만 고정 된"은 필수입니다! 우리는 바꿀 수 없다n
  3. 설정된 전원을 나타내는 것은 이상하게 보일 수 있습니다. 전력 세트가 A 에서 0 까지의 모든 기능 세트와 동일하다는 관찰에 근거합니다.2AA0,1
  4. BA 이전에 없었던 요소를 추가 . 이 경우에도 마찬가지이지만 더 복잡한 설정 (예 : 그래프에 노드 추가)에서는 잘못되기 쉽습니다. 항상 임의의 더 큰 물체를 가져 와서 그 부분에 가설을 적용하기 위해 잘라냅니다. 가설이 적용되는 큰 물체를 작게 조립하지 마십시오.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.