Sự mơ hồ và logic


17

Trong lý thuyết automata (automata hữu hạn, automata đẩy xuống, ...) và về độ phức tạp, có một khái niệm về "sự mơ hồ". Máy tự động không rõ ràng nếu có một từ với ít nhất hai lần chạy chấp nhận riêng biệt. Một máy là -ambiguous nếu vì từng chữ chấp nhận bởi máy có ít nhất chạy riêng biệt để chấp nhận .k w k wwkwkw

Khái niệm này cũng được định nghĩa theo ngữ pháp không ngữ cảnh: một ngữ pháp không rõ ràng nếu tồn tại một từ có thể được bắt nguồn theo hai cách khác nhau.

Người ta cũng biết rằng nhiều ngôn ngữ có đặc tính logic tốt trên các mô hình hữu hạn. (Nếu một ngôn ngữ là chính quy, tồn tại một công thức bậc hai đơn âm trên các từ sao cho mỗi từ của là một mô hình của , tương tự NP nếu tương đương với các công thức bậc hai trong đó mọi số lượng hóa bậc 2 đều tồn tại .)φ w L φLϕwLϕ

Do đó, câu hỏi của tôi nằm ở rìa của hai miền: có bất kỳ kết quả nào, hoặc thậm chí là một định nghĩa chính tắc, về "sự mơ hồ" của các công thức của một logic nhất định không?

Tôi có thể tưởng tượng một vài định nghĩa:

  • x ϕ ( x ) ϕ ( x )xϕ(x) là không mơ hồ nếu tồn tại tối đa một sao cho giữ và không mơ hồ. xϕ(x)ϕ(x)
  • φ 0 φ 1 φ iϕ0ϕ1 sẽ mơ hồ nếu tồn tại mô hình của cả hai và hoặc nếu không rõ ràng. ϕ0ϕ1ϕi
  • Một công thức SAT sẽ không mơ hồ nếu có nhiều nhất một bài tập đúng.

Do đó, tôi tự hỏi nếu nó là một khái niệm nổi tiếng, thì nó có thể thú vị để thử nghiên cứu về chủ đề này. Nếu khái niệm đã được biết, bất cứ ai cũng có thể cho tôi từ khóa tôi có thể sử dụng để tìm kiếm thông tin về vấn đề này (vì "sự mơ hồ logic" mang lại nhiều kết quả không liên quan), hoặc tài liệu tham khảo sách / pdf / bài viết?

Câu trả lời:


11

Các quy tắc trong ngữ pháp và các quy tắc suy luận trong logic đều có thể được coi là quy tắc sản xuất mang lại cho chúng ta "công cụ mới" từ "công cụ đã biết". Cũng như có thể có nhiều cách để tạo ra (hoặc phân tích) một từ liên quan đến ngữ pháp, vì vậy có thể có nhiều cách để tạo ra (hoặc chứng minh) một công thức logic. Sự tương tự này có thể được rút ra thêm. Ví dụ, một số hệ thống logic nhất định thừa nhận các hình thức chứng minh thông thường. Tương tự như vậy, một số ngữ pháp nhất định thừa nhận cây phân tích chính tắc.

Vì vậy, tôi muốn nói rằng các ví dụ của bạn từ logic đang đi sai hướng. Sự tương tự chính xác là

"cây phân tích": "từ" = "bằng chứng": "công thức logic"

Trong thực tế, một loại ngữ pháp đủ chung sẽ có thể diễn đạt các quy tắc suy luận điển hình của logic, do đó các từ đúng ngữ pháp sẽ chính xác là các công thức có thể chứng minh được. Trong trường hợp này, cây phân tích thực sự sẽ bằng chứng.

Theo hướng ngược lại, nếu chúng ta sẵn sàng nghĩ về các quy tắc suy luận rất chung chung (không nhất thiết phải có hương vị logic truyền thống), thì mọi ngữ pháp sẽ được biểu thị như một hệ tiên đề (thiết bị đầu cuối) và quy tắc suy luận (sản xuất). Và một lần nữa chúng ta sẽ thấy rằng một bằng chứng là điều tương tự như cây phân tích cú pháp.


Tôi đã không thực sự nghĩ về bằng chứng. Tôi quen với lý thuyết mô hình (hữu hạn) hơn. Chúng tôi quan tâm đến việc tìm ra bộ nào là mô hình của công thức, và bộ nào không. (Đặc biệt, đối với công thức, độ phức tạp của việc tìm kiếm nếu một tập hợp là một mô hình hay không, và đối với công thức có thể chứng minh được, do đó tautology, độ phức tạp là O (1) vì mỗi tập hợp là các mô hình). Nhưng cảm ơn bạn rất nhiều vì câu trả lời của bạn.
Arthur SỮA

2
Vâng, để thêm sự tương tự: lý thuyết mô hình là logic logic ngữ nghĩa là gì đối với các ngôn ngữ. Lý thuyết mô hình gán ý nghĩa cho các lý thuyết logic, trong khi ngữ nghĩa gán ý nghĩa cho các ngôn ngữ. Đôi khi, tốt nhất là không trộn táo và cam, ngay cả khi bạn đã quen với nó.
Andrej Bauer

7

Chỉ cần hai nhận xét. Tôi hy vọng họ giúp đỡ.

Các định nghĩa chuẩn về ngữ nghĩa của logic và sự thật tuân theo cách trình bày của Tarski, tiến hành theo quy nạp trên cấu trúc công thức. Một khả năng khác là đưa ra ngữ nghĩa dựa trên trò chơi theo đề xuất của Hintikka. Sự thật và sự thỏa mãn đều được định nghĩa theo các chiến lược trong một trò chơi. Đối với các công thức đặt hàng đầu tiên, người ta có thể chứng minh rằng một công thức là đúng theo quan niệm của Tarski nếu và chỉ khi tồn tại một chiến lược chiến thắng trong trò chơi Hintikka.

Hướng tới chính thức hóa câu hỏi của bạn, người ta có thể hỏi liệu trò chơi có thừa nhận nhiều chiến lược hay không. Ngoài ra còn có câu hỏi thú vị về việc các chiến lược nên được xác định. Hintikka yêu cầu họ phải có tính quyết định. Bằng chứng cho thấy ngữ nghĩa ban đầu của Hintikka và Tarski là tương đương đòi hỏi Tiên đề lựa chọn. Người ta cũng có thể chính thức hóa sự thật về các trò chơi với các chiến lược không xác định với ít biến chứng hơn.

Ví dụ lý thuyết ngôn ngữ của bạn mang đến cho tâm trí quyết định, quan hệ mô phỏng và chấp nhận ngôn ngữ. Một mối quan hệ mô phỏng giữa automata ngụ ý sự bao gồm ngôn ngữ giữa các ngôn ngữ của họ mặc dù điều ngược lại là không đúng. Đối với automata xác định hai khái niệm trùng nhau. Người ta có thể hỏi liệu có thể mở rộng các mối quan hệ mô phỏng theo cách 'trơn tru' để nắm bắt sự tương đương ngôn ngữ cho automata không xác định. Kousha Etessami có một bài viết rất hay cho thấy cách thực hiện điều này bằng cách sử dụng mô phỏng k ( Một hệ thống mô phỏng tính toán thời gian đa thức cho Automata). Theo trực giác, 'k' phản ánh mức độ không xác định mà mối quan hệ mô phỏng có thể nắm bắt được. Khi 'k' bằng với mức độ không xác định trong tự động, mô phỏng và tương đương ngôn ngữ trùng khớp. Bài báo đó cũng đưa ra một đặc tính logic của mô phỏng k về mặt logic đa phương thức và một đoạn biến giới hạn của logic thứ nhất. Bạn có được sự bao gồm ngôn ngữ, tính quyết định, trò chơi, logic phương thức và logic thứ tự đầu tiên, tất cả trong một gói bội thu.


4

Điều này bắt đầu như một bình luận dưới câu trả lời của Andrej Bauer, nhưng nó quá lớn.

ambiguous(ϕ)M1,M2|M1ϕM2ϕM1ψM2ψ

Trong các từ, tồn tại các mô hình riêng biệt về ngữ pháp của bạn được mã hóa dưới dạng công thức có thể được phân biệt bằng một số công thức , có lẽ là một công thức phụ của .ψ φϕψϕ

Bạn có thể kết nối điều này với phản hồi của Andrej về bằng chứng thông qua Độ phức tạp mô tả. Sự kết hợp giữa sự tồn tại của một mã hóa của một mô hình cụ thể cộng với sự chấp nhận của nó bởi một TM thích hợp như một mô hình của một công thức đã cho là bằng chứng cho thấy các tiên đề và suy luận (và do đó một ngữ pháp tương đương) được mã hóa trong công thức đó là phù hợp.

Để làm cho điều này tương thích hoàn toàn với câu trả lời của Andrej, bạn sẽ phải nói rằng mô hình được "tạo ra" bởi công thức đóng vai trò là bộ lọc trên không gian của tất cả các mô hình hữu hạn có thể (hoặc đại loại như thế), với mã hóa và hành động lọc trên mô hình đầu vào là "bằng chứng". Các bằng chứng khác biệt sau đó chứng kiến ​​sự mơ hồ.

Đây có thể không phải là một tình cảm phổ biến, nhưng tôi có xu hướng nghĩ về lý thuyết mô hình hữu hạn và lý thuyết bằng chứng là điều tương tự nhìn từ các góc độ khác nhau. ;-)


"Về ngữ pháp của bạn được mã hóa một công thức ", tôi xin lỗi, tôi không hiểu. Bạn có nghĩa là "như một công thức". Theo như tôi có thể nói, bạn luôn có thể phân biệt hai mô hình hữu hạn khác nhau. ϕ
Arthur SỮA

Vâng, đó phải là "như một công thức". Tôi đã sửa nó. Đối với việc phân biệt các mô hình hữu hạn, tình huống khác là chỉ có một mô hình hữu hạn được chấp nhận cho ngôn ngữ của bạn (có thể lên đến một số khái niệm về đẳng cấu). Đó là điều ngược lại với sự mơ hồ.
Marc Hamann

Tôi đoán đó thực sự sẽ là "sự mơ hồ". Tôi chỉ không nghĩ về nó như thế này. Chủ yếu là vì liên quan đến ngôn ngữ, điều này sẽ không thực sự thú vị. Nhưng từ một quan điểm hợp lý nếu có ý nghĩa
Arthur MILCHIOR

Tôi không chắc rằng phần ngôn ngữ phải nhàm chán. Tôi có nhiều ý tưởng hơn về điều này, nhưng tôi nghĩ nó sẽ đưa chúng ta vượt ra ngoài phạm vi của diễn đàn này. ;-)
Marc Hamann

0

Không chắc chắn về câu hỏi được áp dụng cho CS, nhưng hãy thử tìm kiếm cụm từ Vaguiness và logic. Trong triết học logic, sự mơ hồ thường được tạo ra khác biệt với sự mơ hồ ( ví dụ ở đây ) và tôi nghĩ những gì bạn đang theo sau là sự mơ hồ (vì sự mơ hồ được định nghĩa là thuật ngữ có trường hợp đường biên giới). Cuốn sách chính trong lĩnh vực này là Vaguiness của Timothy Williamson (nhưng cũng xem thư mục trên trang Stanford ở trên).


1
Cảm ơn về câu trả lời của bạn. Nhưng như bạn nói, tôi không thực sự thấy mối quan hệ với khoa học máy tính. Đặc biệt, một vũ trụ là hoặc không phải là một mô hình của một công thức, thực sự không có bất kỳ sự mơ hồ nào ở đây. Thay vào đó, trên automata, sự mơ hồ là một cái gì đó được xác định rõ ràng, và có thuật toán được biết để quyết định xem một máy tự động có khó hiểu, mơ hồ hay không rõ ràng. (chỉ hơn một số loại máy tự động)
Arthur MILCHIOR

Bạn hoàn toàn đúng, có lẽ tôi không nên nhảy vào câu hỏi này và bị mắc kẹt để ẩn giấu. Tôi chỉ là một người mới ở CS (sắp hoàn thành chương trình đại học về logic / triết học về khoa học và toán học thuần túy). Cảm ơn vì mọi thông tin.
DanielC

0

Tôi (cũng) đồng ý với Anrej.

Tôi nghĩ rằng độ phức tạp mô tả là một đặc tính không tính toán (làm cho nó thú vị theo cách riêng của nó) và do đó, các ví dụ mơ hồ tính toán từ lý thuyết ngôn ngữ chính thức (automata / grammars / ...) mà bạn đã nhìn vào một miền hoàn toàn khác . Trong các ngôn ngữ phức tạp mô tả tương ứng với các lớp và truy vấn phức tạp (trong một ngôn ngữ) tương ứng với các vấn đề tính toán (không phải thuật toán). Không có cách nào để kiểm tra / tính toán một truy vấn AFAIK, vì vậy nếu bạn không tìm kiếm sự mơ hồ tính toán thì IMHO những ví dụ đó là sai lệch.


Kaveh, tôi không chắc chắn rằng tôi đồng ý rằng đặc tính mô tả không phức tạp về độ phức tạp mô tả là đúng 100%. Các chi tiết tính toán rất quan trọng để hiểu làm thế nào một logic cụ thể nắm bắt một lớp phức tạp. Ưu điểm là, một khi bạn đã thực hiện bằng chứng của mình và hiểu cách thức hoạt động của nó, bạn có thể đặt tính toán sang một bên và tập trung vào các chi tiết logic bằng các phương pháp logic tiêu chuẩn.
Marc Hamann

Cùng nhận xét à Mark. Độ phức tạp mô tả còn được gọi là lý thuyết cơ sở dữ liệu, từ vựng tạo ra cấu trúc của cơ sở dữ liệu và các mô hình của lý thuyết tạo ra nội dung của cơ sở dữ liệu. Do đó, thật vui khi chúng ta có thể tính toán và tìm hiểu xem cơ sở dữ liệu có tôn trọng công thức hay không.
Arthur MILCHIOR

@Marc, nhưng không có cách tính toán dự định, đó là một đặc tính mô tả thuần túy . Tất nhiên bạn có thể kết nối nó với các thuật toán (và tính toán của chúng) trong các cài đặt khác, nhưng đó là thứ yếu với bản chất của nó. Như tôi đã nói, các lớp phức tạp (ví dụ ) tương ứng với các ngôn ngữ mô tả (ví dụ ), các vấn đề tính toán tương ứng với các truy vấn, nhưng AFAIK không có bất cứ điều gì tương ứng với các thuật toán hoặc tính toán trong độ phức tạp mô tả ( điều không ngạc nhiên khi xem xét nó cũng là một phần của lý thuyết mô hình). F OAC0FO
Kaveh

1
@Kaveh, tôi đang đưa ra một điểm hơi tinh tế, nhưng một điểm mà tôi nghĩ là quan trọng, vì nó dường như thường bị hiểu lầm (ví dụ như các lần thử P = NP? Thất bại). Có một cơ bản, khá thuật toán brute-force làm nền tảng cho sự tương ứng của một ngôn ngữ logic và một lớp phức tạp. Làm việc với logic cho phép bạn không phải suy nghĩ về các chi tiết của thuật toán này mỗi giây, nhưng vẻ đẹp và thiên tài của các bằng chứng của Fagin, Immerman, Vardi và những người khác nằm chính xác trong việc mô tả các thuật toán này. Những người mất tầm nhìn hoàn toàn nói chung cuối cùng gặp rắc rối.
Marc Hamann

1
@Kaveh, tôi nghĩ chúng tôi hiểu nhau và chia sẻ sự tôn trọng của chúng tôi đối với lĩnh vực này. "Brute-force" không nhằm mục đích một chút về các thuật toán cơ bản, chỉ nói rõ rằng chúng ta đang nói về một cái gì đó trừu tượng hơn một chút so với những gì một người làm, nói, công việc tối ưu hóa thuật toán có thể nghĩ như một thuật toán.
Marc Hamann
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.