Mối quan hệ giữa hệ thống chính thức và ngôn ngữ chính thức


7

Trong một khóa học về khoa học máy tính, người ta thường nghiên cứu hệ thống phân cấp của các ngôn ngữ chính thức, ngữ pháp, máy tự động và máy Turing. Tôi tự hỏi mối quan hệ của các đối tượng này với các hệ thống chính thức là gì.

Ví dụ, tính toán lambda được cho là một hệ thống chính thức. Ngữ pháp của nó cũng sẽ được coi là một hệ thống chính thức?


Tôi đang hỏi liệu một ngữ pháp chính thức có thể được phân loại thành một hệ thống chính thức. Tiếng Anh không phải là ngôn ngữ thông thường của tôi, vì vậy có lẽ câu của tôi có thể được viết tốt hơn. Hãy viết lại nó, nếu bạn muốn.
Rafael Castro

Vâng, tôi sẽ chỉnh sửa nếu nó rõ ràng với tôi những gì bạn có ý nghĩa. Nhưng OK, tôi đã thử chỉnh sửa với một dự đoán có thể về những gì bạn có thể có nghĩa. Có chỉnh sửa đại diện cho những gì bạn đang cố gắng để hỏi?
DW

Câu trả lời:


5

Theo tôi, một hệ thống chính thức nên có

  1. Một tập hợp các biểu tượng được xác định rõ .
  2. Một ngữ pháp được xác định rõ , cho biết các công thức được hình thành tốt được tạo ra từ các ký hiệu như thế nào.
  3. Một hoặc nhiều phép tính suy luận được xác định rõ , có thể hoạt động tương tự như phép tính suy luận liên quan đến ngữ pháp.
  4. Một hoặc nhiều ngữ nghĩa , cho phép gán ý nghĩa cho các công thức, mệnh đề và phát biểu của hệ thống chính thức.

Mặc dù vậy, điểm cuối cùng có thể bị tranh cãi, đó là điểm chịu trách nhiệm cho sự khác biệt đáng kể giữa một hệ thống chính thức và ngữ pháp hoặc ngôn ngữ chính thức. Tính toán suy luận của một hệ thống chính thức có thể thực sự trùng khớp với tính toán của một số ngữ pháp, thậm chí vì vậy nó sẽ không trùng với tính toán ngữ pháp của chính hệ thống chính thức.

(Ngay cả một ngữ pháp có thể có nhiều phép tính suy luận, nhưng sử dụng nhiều phép tính suy luận cho một hệ thống chính thức là phổ biến hơn trong logic, nơi bạn muốn chứng minh những thứ như cắt bỏ hoặc sử dụng một hệ thống chính thức làm cơ sở cho hệ thống chính thức.)

Một ngôn ngữ chính thức được liên kết với cả một ngữ pháp và một hệ thống chính thức. Đối với một hệ thống chính thức, cả tập hợp các công thức được định dạng tốt và tập hợp các công thức được định dạng tốt hợp lệ là các ngôn ngữ chính thức. Ngôn ngữ chính thức là một loại tương đương do bỏ qua cấu trúc bổ sung như ngữ nghĩa của phép tính suy luận hoặc các phần tốt hơn của ngữ pháp. Đó là một liên kết rõ ràng giữa các hệ thống chính thức và ngữ pháp, nhưng các hệ thống và ngữ pháp chính thức có thể liên quan chặt chẽ hơn so với biểu hiện bằng một ngôn ngữ chính thức (nghĩa là chúng có thể có một phép tính suy luận tương đương).


Có bất kỳ tài liệu tham khảo về chủ đề này? Tôi sẽ đánh giá cao để đọc một văn bản thảo luận về điều này.
Rafael Castro

Tôi thích Bách khoa toàn thư Stanford, ví dụ như plato.stanford.edu/entries/goedel-incompletility , plato.stanford.edu/entries/hilbert-program hoặc plato.stanford.edu/entries/frege . Nhưng bạn cũng có thể tra cứu "hệ thống chính thức" trong một bách khoa toàn thư bình thường, như wikipedia hoặc Encyclopædia Britannica. Việc sử dụng các hệ thống chính thức sẽ xuất hiện trong đại số phổ quát (logic phương trình và logic phương trình gần đúng), logic (tính toán mệnh đề, tính toán vị ngữ, logic phương thức), trong khoa học máy tính (automata và ngôn ngữ chính thức), ...
Thomas Klimpel

5

Nói chung, một hệ thống chính thức bao gồm

  • một ngôn ngữ phân biệt các công thức được hình thành tốt của nó với các chuỗi không được hình thành tốt
  • một số loại ngữ nghĩa cho biết công thức nào là đúng và không
  • tiên đề và quy tắc suy luận cố gắng tạo ra, tính toán, chính xác những công thức đó là đúng với ngữ nghĩa.

Chúng ta có thể chỉ định ngôn ngữ của các công thức được hình thành tốt bằng cách sử dụng một ngữ pháp, nhưng ngữ pháp không phải là một hệ thống chính thức.


2

Một ngôn ngữ chính thức L gồm:

  • một bảng chữ cái của các ký hiệu, đó là một tập hợp các ký hiệu với tính đặc biệt mà mỗi ký hiệu đó có thể được chỉ định mà không cần tham chiếu đến bất kỳ giải thích nào. Bảng chữ cái của một ngôn ngữ chính thứcL thường được gọi là Σ.

  • một ngữ pháp xác định chuỗi ký hiệu nào trongΣcác công thức được xác định rõ (thường được gọi là wff ) trongL.

Một hệ thống chính thức S Là:

  • Một ngôn ngữ chính thức L
  • Một bộ máy suy diễn.

Một bộ máy suy diễn bạn có thể yêu cầu là gì?

  • Một tập hợp các wffs tùy ý trongLđó là những tiên đề

  • Một tập hợp các quy tắc suy luận xác định wff nào có mối quan hệ "hậu quả tức thời" giữa chúng.

Dưới đây là một số tài liệu tham khảo tuyệt vời cho dù bạn muốn bắt đầu hoặc đi sâu vào những thứ nhiều thịt hơn:

  • Metalogic: Giới thiệu về siêu dữ liệu Logic theo thứ tự tiêu chuẩn của Geoffrey Hunter.

  • Automata, Ngôn ngữ chính thức và Hệ thống đại số của Masami Ito


1

Những gì bạn thấy trong một khóa học giới thiệu bằng ngôn ngữ chính thức chỉ là một mẫu nhỏ trong vô số mô hình được sử dụng để định nghĩa và nghiên cứu ngôn ngữ (hoặc hàm, số, v.v.) chính thức, về cấu trúc cú pháp của chúng - có thành phần động, cái mà chúng ta gọi là "tính toán" -, đặt sang một bên những gì có thể được coi là nội dung của chúng , được "gắn lại" cho các cấu trúc này một posteriori , hoặc hoàn toàn không. Những mô hình khác nhau đến từ các bối cảnh khác nhau và có các ứng dụng khác nhau, về lý thuyết cũng như thực tiễn.

Ngôn ngữ được sử dụng để mô tả các mô hình này cũng có thể được chính thức hóa, do đó bạn có ngữ pháp cả dưới dạng hệ thống chính thức và ngôn ngữ. Loại hình tròn này có vấn đề, nhưng không thể tránh khỏi, và trong nhiều trường hợp mong muốn.

Khái niệm hệ thống chính thức được sử dụng trong khoa học máy tính phải thực hiện trong lịch sử với việc điều tra các thuộc tính chính thức của các hệ thống logic toán học. Các định nghĩa tiêu chuẩn bạn sẽ thấy trong các câu trả lời khác đến từ nguồn gốc chung này. Có các loại hệ thống chính thức khác trong các lĩnh vực nghiên cứu khác, thuật ngữ này là polysemia. Sự khác biệt giữa các khái niệm về hình thức và nội dung phụ thuộc vào nơi bạn đến.


0

Tôi đang tìm kiếm cùng một câu hỏi, và dường như không có sự rõ ràng. Tôi hy vọng ai đó có thể cung cấp cho chúng tôi.

Xem, ví dụ, trạng thái Levelt trong cuốn sách của anh ấy (" Giới thiệu về lý thuyết ngôn ngữ chính thức và tự động hóa " Cap1, trang 1):

Từ quan điểm toán học, ngữ pháp là HỆ THỐNG FORMAL , như máy Turing, chương trình máy tính, logic giới từ, lý thuyết suy luận, mạng lưới thần kinh, v.v. [ 1 ]

Mặc dù vậy, đây thực sự là vấn đề mà những câu trả lời khác chỉ ra ở đây, bởi vì ngữ pháp chính thức dường như thực sự bỏ lỡ một số thuộc tính cơ bản (tức là bộ máy suy diễn) để được đánh dấu là hệ thống chính thức.

Tuy nhiên, nếu máy Turing là một hệ thống chính thức [ 2 ] và các ngôn ngữ chính thức (và các đại diện của nó, ngữ pháp) tương đương với chúng: tại sao ngữ pháp cũng không phải là một hệ thống chính thức?

Tôi hy vọng sự cân nhắc này, sự kiện mặc dù không có kết luận có thể làm sinh động một số câu trả lời được cải thiện cho vấn đề này.

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.