Làm cách nào để viết một bằng chứng sử dụng cảm ứng trên độ dài của chuỗi đầu vào?


20

Trong khóa học Lý thuyết tính toán của tôi, rất nhiều vấn đề của chúng tôi liên quan đến việc sử dụng cảm ứng trên độ dài của chuỗi đầu vào để chứng minh các tuyên bố về automata hữu hạn. Tôi hiểu cảm ứng toán học, tuy nhiên khi các chuỗi hoạt động, tôi thực sự tăng gấp ba lần. Tôi thực sự đánh giá cao nếu ai đó sẽ trải qua quá trình làm bằng chứng từng bước như vậy.

Đây là một vấn đề mẫu (Bài tập 2.2.10 từ Hopcroft và Ullman Phiên bản thứ 3):

Hãy xem xét DFA với bảng chuyển đổi sau:

        0 1
       ________
-> A | AB
  * B | ba

Mô tả không chính thức ngôn ngữ được DFA này chấp nhận và chứng minh bằng cảm ứng về độ dài của chuỗi đầu vào mà mô tả của bạn là chính xác.

Đây là một vấn đề được trả lời trong cuốn sách, vì vậy tôi không tìm ai đó để làm bài tập về nhà. Tôi chỉ cần một người giải thích cho tôi thẳng.

Trả lời sách: (lấy từ đây )

Máy tự động cho biết số lượng 1 được nhìn thấy là chẵn (trạng thái A) hay lẻ (trạng thái B), chấp nhận trong trường hợp sau. Nó là một cảm ứng dễ dàng trên | w | để chỉ ra rằng dh (A, w) = A khi và chỉ khi w có số chẵn là 1's. Cơ sở: | w | = 0. Sau đó, w, chuỗi trống chắc chắn có số chẵn là 1, cụ thể là 0 1 và hat-hat (A, w) = A.

Cảm ứng: Giả sử câu lệnh cho chuỗi ngắn hơn w. Khi đó w = za, trong đó a là 0 hoặc 1.

  • Trường hợp 1: a = 0. Nếu w có số chẵn là 1, thì z cũng vậy. Theo giả thuyết quy nạp,-hat (A, z) = A. Quá trình chuyển đổi của DFA cho chúng ta biết hat-hat (A, w) = A. Nếu w có số lẻ là 1 thì z cũng vậy. Theo giả thuyết quy nạp,-hat (A, z) = B và các chuyển đổi của DFA cho chúng ta biết hat-hat (A, w) = B. Do đó, trong trường hợp này,-hat (A, w) = A nếu và chỉ khi w có số chẵn là 1.

  • Trường hợp 2: a = 1. Nếu w có số chẵn là 1's thì z có số lẻ là 1's. Theo giả thuyết quy nạp,-hat (A, z) = B. Các chuyển đổi của DFA cho chúng ta biết hat-hat (A, w) = A. Nếu w có số lẻ là 1, thì z có số chẵn là 1 giây. Theo giả thuyết quy nạp,-hat (A, z) = A và các chuyển đổi của DFA cho chúng ta biết-hat (A, w) = B. Do đó, trong trường hợp này cũng vậy,-hat (A, w ) = A khi và chỉ khi w có số chẵn là 1's.

Tôi hiểu cách chứng minh những thứ như sử dụng cảm ứng. Tôi chỉ bối rối về cách thức hoạt động của chuỗi này. Tôi bối rối bởi những phần in đậm. Tôi không hiểu làm thế nào họ đưa ra / làm thế nào nó thực sự chứng minh những gì được chấp nhận / làm thế nào nó được quy nạp.i=0ni=n(n+1)2

-hat là chức năng chuyển tiếp mở rộng.

Câu trả lời:


17

Vì không rõ vấn đề của bạn nằm ở đâu, tôi sẽ bắt đầu ngay từ đầu.

Quy nạp toán học hoạt động như trò chơi của thì thầm của Trung Quốc (trong trường hợp lý tưởng, tức là tất cả các thông tin liên lạc là lossless) hoặc (hoàn toàn thiết lập) domino : bạn bắt đầu ở đâu đó và cho thấy rằng mỗi bước đi tiếp theo của bạn không phá vỡ bất cứ điều gì, giả sử không có gì đã bị phá vỡ cho đến sau đó.

Chính thức hơn, mọi bằng chứng cảm ứng bao gồm ba yếu tố cơ bản:

  • Neo cảm ứng , cũng là trường hợp cơ sở : bạn hiển thị cho các trường hợp nhỏ¹ mà yêu cầu giữ.
  • Giả thuyết cảm ứng : bạn cho rằng yêu cầu giữ cho một tập hợp con nhất định của tập hợp bạn muốn chứng minh điều gì đó.
  • Bước quy nạp : Sử dụng giả thuyết, bạn cho thấy rằng yêu cầu giữ nhiều yếu tố hơn.

Tất nhiên, bước phải được điều chỉnh sao cho nó bao gồm toàn bộ bộ cơ sở (trong giới hạn).

Lưu ý quan trọng: những người tự tin về kỹ năng cảm ứng của họ thường phủ bóng lên mỏ neo và để lại giả thuyết ngầm. Mặc dù điều này là tốt khi trình bày công việc của bạn cho một đối tượng chuyên gia (ví dụ như một bài báo), điều này không được khuyến khích khi tự làm bằng chứng, đặc biệt là người mới bắt đầu. Viết ra tất cả.


Hãy xem xét một ví dụ đơn giản hơn ; chúng tôi muốn chứng minh rằng Σ n i = 0 i = n ( n + 1 )(N,) tổ chức cho tất cảnN.i=0ni=n(n+1)2nN

  • Neo : Với , n i = 0 i = 0 = n ( n + 1 )n=0 giữ rõ ràng.i=0ni=0=n(n+1)2
  • Giả thuyết : Giả sử tổ chức cho một tùy ý, nhưng fixed²nN.i=0ki=k(k+1)2nN
  • Bước : Với , hãy tính tổng:n+1

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

    Vì vậy, danh tính giữ cho . (Chúng tôi lưu ý rằng chúng tôi chỉ cần một phần nhỏ của giả thuyết, cụ thể là cho k = n . Điều đó thường xảy ra.)n+1k=n

Nguyên tắc quy nạp hiện đảm bảo cho chúng ta rằng yêu sách thực sự đúng: chúng ta đã trực tiếp chỉ ra nó cho . Bước nói, nếu nó giữ cho 0 , nó cũng giữ cho 1 ; nếu nó giữ cho 1 , nó cũng giữ cho 2 ; vân vân00112


Chúng ta hãy có một cái nhìn tại một ví dụ khác, lần này là trên . Yêu cầu mà chúng tôi muốn chứng minh là: với mọi tập con hữu hạn A của N , kích thước của tập hợp công suất 2 A của A2 | Một | ³. Chúng tôi thực hiện cảm ứng của chúng tôi trên ( N , ) , một lần nữa, cụ thể là về kích thước của các tập con A .(2N,)AN2AA2|A|(N,)A

  • Neo: Xem xét tập hợp (chỉ) có kích thước , tập hợp trống. Rõ ràng, 2 = { }02={} và do đó như đã yêu cầu.|2|=1=20
  • Giả thuyết: Giả sử rằng đối với tất cả bộ với | Một | n với một số tùy ý, nhưng cố định n N , chúng ta có | 2 A | = 2 | Một | .AN|A|nnN|2A|=2|A|
  • Bước: Hãy arbitrary⁴ kích thước n + 1 , và để cho b B tùy ý (ví dụ b tồn tại như n + 1 > 0 ). Bây giờ giả thuyết áp dụng cho B { b } và do đó | 2 B { b } | = 2 n . Kể từ khiBNn+1bBbn+1>0B{b}|2B{b}|=2n

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

    chúng ta thực sự có điều đó như tuyên bố.|2B|=2|2B{b}|=22n=2n+1

Một lần nữa, bằng cách cảm ứng yêu cầu được chứng minh.


Bây giờ, đối với vấn đề của bạn có thể sử dụng một mẹo phổ biến: củng cố tuyên bố . Nếu bạn xác định yêu cầu của mình là "máy tự động chấp nhận tất cả các từ có số lượng từ lẻ", bạn sẽ có một giả thuyết cảm ứng như "trong số tất cả các từ có độ dài , chính xác là những từ có số lẻ được chấp nhận bởi máy tự động". Điều này sẽ không dẫn bạn đến bất cứ nơi nào vì chúng tôi không biết bất cứ điều gì về bao nhiêu từ được chứa trong phần nào của một từ (được chấp nhận); giả thuyết không áp dụng cho bất cứ điều gì bạn cắt bỏ từ được lựa chọn tùy ý.n

Do đó, bạn muốn đưa ra một yêu cầu mạnh mẽ hơn: "Máy tự động ở trạng thái khi và chỉ khi phần tiêu thụ của đầu vào có chứa số lượng lẻ" và hiển thị thông tin này. Lưu ý rằng nó ngụ ý yêu cầu trước đây.B

  • Neo : Sau khi xử lý chuỗi chỉ có độ dài bằng không, , máy tự động rõ ràng là trong trạng thái Một như tuyên bố.εA
  • Giả thuyết : Giả sử rằng yêu cầu giữ cho các đoạn đầu vào có độ dài lên đến được chọn tùy ý, nhưng cố định.n
  • Bước : Xem xét một từ tùy ý . Có hai trường hợp. w{0,1}n+1
    1. w
      1. wn=0w=w1wn1Awwn=0A
      2. wn=1: In this case, w=w1wn1 contains an odd number of ones. By induction hypothesis, the automaton is in state B after consuming w. Consuming wn=1 causes the automaton to switch to state A, as claimed.
    2. w contains an odd number of ones. Similar to case 1.

The principle of induction implies that the claim indeed holds.


  1. You perform induction along some partial order; the anchor needs to cover all minimal elements, and sometimes more (depending on the statement).
  2. The "arbitrary, but fixed" is essential! We can not change n in the step and treat it as if it were a fixed number, but we can also not assume anything about it.
  3. Denoting the power set with 2A may seem weird. It is rooted in the observation that the power set is equivalent to the set of all functions from A to 0,1, which is denoted thus.
  4. Choosing B arbitrary is essential for covering the whole space. One may be tempted to say, "Take any such A and add an element that was not there before.". In this case, that would do the same, but it can be easy to get wrong in more complicated settings (e.g. adding nodes to graphs). Always take an arbitrary larger object and then cut it apart to apply the hypothesis on its parts; never assemble the larger object from smaller which are covere by the hypothesis.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.