Đẩy xuống Automatons trên mạng đoán - điều đó có nghĩa là gì?


14

Tôi nhận ra automata đẩy xuống không xác định có thể là một sự cải tiến so với các yếu tố quyết định vì chúng có thể "chọn" giữa một số tiểu bang và có một số ngôn ngữ không ngữ cảnh không thể được chấp nhận bởi một đẩy xuống xác định.

Tuy nhiên, tôi không hiểu làm thế nào chính xác họ "chọn" . Ví dụ, đối với palindormes, mọi nguồn tôi tìm thấy chỉ nói máy tự động "đoán" giữa từ. Điều đó nghĩa là gì?

Tôi có thể nghĩ về một số ý nghĩa có thể:

  1. Nó đi vào một trạng thái ngẫu nhiên và do đó có thể không chấp nhận một từ, mà thực sự là trong ngôn ngữ

  2. Nó bằng cách nào đó đi "mọi cách có thể", vì vậy nếu cái đầu tiên sai, nó sẽ kiểm tra xem cái nào có thể đúng không

  3. Có một số cơ chế mà tôi không biết, đó là chọn giữa của từ và do đó không phải là ngẫu nhiên, nhưng máy tự động luôn tìm đúng giữa.

Đây chỉ là một ví dụ; những gì tôi muốn biết là làm thế nào nó hoạt động cho bất kỳ máy tự động nào có một số trạng thái sau cho một và cùng một trạng thái trước nó.


Liên quan: câu hỏi tham khảo của chúng tôi giải thích sự khác biệt giữa các thuật toán ngẫu nhiên và không điều kiện.
Raphael

Câu trả lời:


8

Rất đơn giản, cơ chế là ma thuật. Ý tưởng của chủ nghĩa không xác định là nó chỉ đơn giản là biết nó nên dùng cách nào để chấp nhận từ đó, và nó đi theo cách đó. Nếu có nhiều cách, nó đi một trong số chúng.

Không xác định không thể được thực hiện như vậy trong phần cứng thực. Chúng tôi mô phỏng nó bằng cách sử dụng các kỹ thuật như quay lui. Nhưng nó chủ yếu là một thiết bị lý thuyết, có thể được sử dụng để đơn giản hóa việc trình bày các khái niệm nhất định.

Đối với palindrom, bạn có thể nghĩ về nó theo hai cách. Có một sức mạnh kỳ diệu cho phép máy của bạn nói "đây là giữa của từ, thời gian để chuyển từ đẩy sang bật" hoặc sau khi đọc từng chữ cái, nó nói "Tôi sẽ rẽ nhánh một quá trình mới mà lá thư này là giữa của từ và xem nếu nó tìm thấy nó là một bảng màu. Sau đó, trong chủ đề khác này, tôi sẽ tiếp tục cố gắng, giả sử đây không phải là giữa của từ ".

Một cách khác để nghĩ về nó là song song vô hạn. Vì vậy, một mô hình tương đương sẽ là, thay vì chọn một đường dẫn mới, nó đồng thời thử cả hai đường dẫn, phân nhánh các "quy trình" mới, thành công nếu bất kỳ ở trạng thái cuối cùng sau khi đọc toàn bộ từ. Một lần nữa, điều này không thể được xây dựng bằng phần cứng thực sự, nhưng có thể được mô hình hóa với tính không xác định.

Điều thú vị về thuyết không điều kiện là đối với các máy tự động hữu hạn và máy Turing, nó không làm tăng sức mạnh tính toán của chúng, chỉ là hiệu quả của chúng.


5

Sự khác biệt chính (theo ý kiến ​​của tôi) giữa máy tự động xác định và máy tự động không xác định là đối với máy tự động xác định, một từ đầu vào đã cho chỉ có một đường đi qua máy. Trong một máy tự động không xác định, một từ đầu vào nhất định có thể có nhiều đường dẫn qua máy (vì có thể có sự lựa chọn tại một số điểm).

Theo quan điểm này, điều kiện để chấp nhận một từ đầu vào cũng cần thay đổi để phù hợp với thực tế là một từ có thể tạo ra một số đường dẫn qua máy. Định nghĩa thông thường về sự chấp nhận đối với máy tự động không xác định như sau: Để một từ được máy tự động chấp nhận, phải có ít nhất một đường dẫn chấp nhận được tạo ra bởi từ đó.

Điều này sau đó dẫn đến ý tưởng về "đoán" tự động, nếu một từ được chấp nhận bởi một máy tự động không xác định thì chúng ta có xu hướng nghĩ về máy tự động là tự động đưa ra lựa chọn đúng để (một trong) đường dẫn chấp nhận được theo sau khi từ đó được trình bày như là đầu vào.

Điều này có ý nghĩa gì với palindromes là pda về cơ bản sẽ có hai chế độ: chế độ đẩy trong đó nó đẩy các chữ cái hiện tại trên ngăn xếp và chế độ bật lên trong đó nó bật các chữ cái đó ra và khớp chúng với đầu vào. Máy này sẽ có một chuyển đổi trống từ trạng thái đẩy sang trạng thái bật lên mà nó sẽ có thể theo dõi tại bất kỳ điểm nào trong từ. Tuy nhiên, máy sẽ chỉ làm trống ngăn xếp của nó và chuyển sang trạng thái chấp nhận nếu nó đã đọc một bảng màu và theo chuyển đổi trống ở giữa bảng màu. Vì chúng tôi chỉ yêu cầu sự tồn tại của một con đường chấp nhận, chúng tôi có thể nói rằng máy tự động "đoán" vị trí giữa của từ.


5

Ý tưởng về thuyết không điều kiện khá đơn giản: máy tự động có thể có một số bước tiếp theo trong một số tình huống nhất định. Máy tự động chấp nhận nếu có một số bước (có thể có vài bước!) Dẫn từ cấu hình ban đầu đến chấp nhận, nó chỉ từ chối nếu không có trình tự như vậy.

Điều này có nghĩa là nó "quyết định" bước tiếp theo trong những tình huống mơ hồ đó. Một cách để nói về điều này là nói nó kỳ diệu chọn bước tiếp theo "đúng" luôn luôn (hoặc một, nếu có một số bước "đúng"). Một cách khác để thấy rằng trong những tình huống như vậy, tính toán của máy tự động chia thành nhiều bản sao, mỗi bản sao theo một con đường.

Trong thực tế, điều này có thể được thực hiện bằng cách quay lại, đặt một số dạng thẻ vào những nơi đã đưa ra quyết định và quay lại và thử phương án tiếp theo nếu đường dẫn hiện tại không hoạt động. Điều này thường được xử lý bằng đệ quy. Hoặc bổ sung thông tin mà máy tự động có "hợp pháp" với thông tin bổ sung (đó là những gì bạn làm khi bạn chỉ ra cách thức máy tự động không điều kiện hoạt động trên bảng đen, nhìn về phía trước và tìm ra bước nào dẫn đến thành công).


Tôi không nghĩ rằng quay lui là một ý tưởng tốt. Cây của bạn có thể không hữu hạn. Tôi biết rằng nó được sử dụng trong một số triển khai của chủ nghĩa không xác định, chẳng hạn như Prolog, và tôi nghĩ rằng nó đã quá trong tác phẩm đầu tiên của Robert Floyd. Nhưng nó được dự định là người lập trình giám sát và tôi sẽ không xem xét nó cho lý thuyết automata. Trên thực tế, ngay cả Prolog cũng có cách triển khai khác để giải quyết vấn đề.
babou

@babou, đó là một cách để làm điều đó trong thực tế. Tôi không nói rằng đó là những giải pháp
vonbrand

2

"Đoán" liên quan trực tiếp đến sự giải thích hiện sinh của chúng ta về chủ nghĩa không xác định

Tóm lại: Ý tưởng này cho rằng một máy tự động không xác định có thể đoán (hoặc được trợ giúp bởi một nhà tiên tri) có liên quan trực tiếp đến sự giải thích hiện sinh của chúng ta về chủ nghĩa không xác định. Một cách giải thích khác là có thể (có thể là những người khác) trong đó "đoán" sẽ không có ý nghĩa.

Không xác định là lạ. Chúng ta có một cách để giải thích nó trong lý thuyết automata, nhưng nó không phải là một tiên nghiệm rõ ràng làm thế nào chúng ta nên làm điều đó.

Nó có vẻ đáng ngạc nhiên, nhưng chủ nghĩa không xác định là một tình huống rất phổ biến. Khi người ta phải chứng minh một định lý, đưa ra các tiên đề của một số lý thuyết toán học, quá trình này tự nhiên là một định nghĩa không xác định. Đó là lý do tại sao chúng ta thường không biết phải làm gì để giải quyết vấn đề, ví dụ để tìm các giải pháp của phương trình bậc ba, hoặc chứng minh một số định lý.

Có nhiều cách để kết hợp những gì đã biết với quy tắc suy luận để có kết quả mới. Và tình huống thường giống nhau nếu chúng ta cố gắng xây dựng lại một bằng chứng lạc hậu từ kết quả.

Khi cố gắng giải quyết vấn đề như vậy, chúng tôi cố gắng " đoán " một đường dẫn trong một số hệ thống chuyển tiếp.

Trên thực tế, chúng tôi không đoán, nhưng xây dựng trong tâm trí của chúng tôi một số cấu trúc tổ chức và / hoặc đơn giản hóa mê cung của khả năng để chúng tôi có thể nhìn thấy con đường của chúng tôi thông qua nó. Trong một số trường hợp, câu hỏi tuân theo một mẫu xác định mà chúng ta có một cách tiêu chuẩn để (đôi khi? Thường là? Luôn luôn?) Tìm một giải pháp và chúng ta gọi đó là một thuật toán.

Một kỹ thuật (thường là đắt tiền) chúng ta có thể sử dụng chỉ đơn giản là khám phá đầy đủ mê cung: đi theo tất cả các con đường, thực hiện trước hết để tránh bị bắt trong một sơ đồ con vô hạn. Đây là khá nhiều những gì đang được thực hiện bằng cách khớp tất cả các tính toán có thể có của một máy tự động không xác định. Tính toán khớp nối có nguồn gốc này tự nó là một tính xác định.

Tính toán phù hợp này DC bắt chước tất cả các tính toán có thể có của máy tự động ban đầu Một, nhưng không cho chúng tôi biết nó nên được giải thích như thế nào. Nó chỉ có thể cho chúng ta biết liệu đôi khi A có thể dừng lại, với sự chấp nhận hoặc từ chối, và có thể nó sẽ luôn dừng lại. Nhưng nó không thể, nhiều hơnMột chính nó, nói với chúng tôi rằng Một không bao giờ dừng lại, hoặc không bao giờ dừng lại với sự chấp nhận.

Trên thực tế, có thể có nhiều cách khác nhau để diễn giải một tính toán không xác định . Afaik họ đều nhất quán, nhưng không phải với nhau.

Trong trường hợp nhận dạng ngôn ngữ R, chẳng hạn như NPDA, không thể dừng lại hoặc tạm dừng chấp nhận hoặc từ chối, bộ nhận dạng được cho là chấp nhận đầu vàowNếu có một tính toán dừng lại và chấp nhận . Điều này phù hợp với quan điểm của chúng tôi về quá trình chứng minh không xác định được coi là thành công nếu nó có thể xác định một cây chứng minh cho định lý được chứng minh.

Ý tưởng đoán cho người nhận dạng chỉ là một hình ảnh được lấy từ cách "đoán" của chính chúng ta về cách tìm cây chứng minh đó. Nhưng sự khác biệt lớn là bộ não của chúng ta không phải là máy PDA. Chúng là những thiết bị phức tạp hơn nhiều với khả năng khám phá và ánh xạ các cấu trúc chuyển tiếp để chúng ta có thể tìm đường đi qua chúng, mà đôi khi chúng ta coi là đoán.

Giải thích về tính toán không xác định này là cái mà tôi gọi là sự chấp nhận hiện sinh , liên quan đến thực tế rằng nó chỉ yêu cầu sự tồn tại của một tính toán chấp nhận duy nhất. Nó tương ứng với việc tạm dừng tồn tại mà tôi đã giới thiệu trong một câu trả lời khác .

Tuy nhiên, người ta cũng có thể diễn giải tính không xác định theo cách phổ quát như: một người nhận biết được nói (phổ biến) chấp nhận đầu vào "w" nếu tất cả các tính toán có thể dừng lại và chấp nhận đầu vào. Sự chấp nhận phổ quát này tương ứng với khái niệm dừng phổ quát được đưa ra trong cùng một câu trả lời.

Sự chấp nhận phổ quát, và sự dừng lại phổ quát dường như dẫn đến một sự hiểu biết tự nhất quán về chủ nghĩa không xác định. Do đó người ta có thể làm công việc lý thuyết với định nghĩa đó. Nhưng nó không phù hợp với thực tiễn thông thường của chúng ta trong nhiều tình huống không xác định như một định lý chứng minh, hoặc trong tình huống cuộc sống hàng ngày. Khi đối mặt với một vấn đề, chúng tôi chỉ muốn một cách giải quyết nó, và sau đó không quan tâm liệu các cách khác có thành công hay không (điều này hơi đơn giản hơn một chút).

Nếu chúng ta phải nhận ra một palindrom, chúng ta có thể đoán bằng cách đo chiều dài và tìm giữa. Các PDA không thể. Nhưng, vì chúng ta chỉ quan tâm đến sự tồn tại của một giải pháp, chúng ta luôn có thể giả vờ rằng nó có thể ... nếu điều đó sẽ giúp nó. Hoặc chúng ta có thể xem xét rằng nó có các phép lạ được cung cấp bởi các máy thông minh hơn (chúng ta?) Để giúp nó. Hoặc thậm chí bạn có thể gọi nó là ma thuật, và nghĩ rằng nó (rốt cuộc, bộ định lượng hiện sinh là một loại đũa thần). Nếu nó có thể giúp, nó sẽ. Nếu không có tính toán chấp nhận, không có sự giúp đỡ nào sẽ được sử dụng.

Lưu ý rằng ý tưởng đoán này sẽ là vô nghĩa trong việc giải thích chấp nhận phổ quát.

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.