Có những mối liên hệ cực kỳ sâu sắc và lan tỏa giữa logic và khoa học máy tính. Để hiểu chúng có thể là gì, hãy nhớ rằng khoa học máy tính còn được gọi là "công nghệ thông tin" hoặc "tin học", nghĩa là hệ thống máy tính nắm bắt, xử lý và cung cấp thông tin. Vâng, logic là một điều tương tự. Nó nghiên cứu làm thế nào thông tin được nắm bắt trong câu và làm thế nào có thể một câu lệnh là hậu quả của một câu khác, nghĩa là làm thế nào nội dung thông tin của nó đã có trong một câu lệnh khác (hoặc tập hợp các câu lệnh). Theo nghĩa đó, logic và khoa học máy tính về cơ bản là giống nhaukỷ luật, tập trung vào các khía cạnh khác nhau. Các nhà logic học (Church, Kleene, Turing, Post và các sinh viên và đồng nghiệp của họ) đã tạo ra ngành khoa học máy tính và nhiều nhà logic học tiếp tục đóng góp cho Khoa học máy tính, đặc biệt là Jean-Yves Girard và các sinh viên của ông.
Dưới đây là một số ứng dụng logic tiêu chuẩn trong Khoa học Máy tính:
Thiết kế của các mạch kỹ thuật số hoàn toàn dựa trên logic đề xuất, đến mức các kỹ sư của nó gọi nó là "thiết kế logic" chứ không phải là "thiết kế mạch". Ngay cả việc viết một chương trình máy tính thường được cho là liên quan đến việc nghĩ ra "logic" của nó. (Lưu ý rằng "logic" theo nghĩa sau là ý tưởng không chính thức chứ không phải logic chính thức, được sử dụng để chỉ luồng thông tin qua chương trình và liệu nó có được xử lý chính xác hay không.)
Dự đoán logic và anh em toán học của nó, lý thuyết tập hợp, được sử dụng trong nhiều ngôn ngữ điện toán , ví dụ: SQL ngôn ngữ cho các truy vấn cơ sở dữ liệu quan hệ. Ngoài ra còn có các ngôn ngữ lập trình dựa trên logic, được gọi là "ngôn ngữ lập trình logic".
Biểu diễn tri thức , mà bạn đã đề cập, có nhiều hình thức dựa trên logic. Ngay cả khi nó sử dụng các hình thức phi logic, nhiều trong số chúng vẫn có ý nghĩa logic , và do đó dựa trên logic.
Logic xác suất, trong đó các câu lệnh không chỉ có giá trị đúng / sai, nhưng mức độ chắc chắn / không chắc chắn, ngày càng là nền tảng cho các hệ thống máy học .
Nếu bạn muốn chính thức nêu rõ những gì một chương trình làm, tức là đưa ra một đặc tả chương trình , cuối cùng bạn sẽ sử dụng một số dạng của ngôn ngữ logic. Thật vậy, có nhiều ngôn ngữ đặc tả chương trình, như Z và B, dựa trên logic vị ngữ và lý thuyết tập hợp. Ngoài ra còn có các ngôn ngữ đặc tả dựa trên logic phương trình, chẳng hạn như Larch. Các nhà khoa học máy tính thường phát minh ra logic mới để đại diện cho nhu cầu của khoa học máy tính, ví dụ, Logic Hoare và Logic tách, hoặc họ tiếp thu và phát triển các dạng logic truyền thống được sử dụng khác nhau, như logic tạm thời và logic phương thức, và phát triển chúng hơn nữa.
Nếu bạn muốn xác minh xem một chương trình có làm những gì nó phải làm hay không, thì cuối cùng bạn sẽ sử dụng không chỉ ngôn ngữ logic, mà toàn bộ bộ máy logic: lý thuyết bằng chứng, lý thuyết mô hình và quy trình quyết định. Công nghệ xác minh hiện đang phát triển bởi những bước nhảy vọt và tôi hy vọng rằng, trong một thập kỷ nữa hoặc lâu hơn, chúng sẽ được sử dụng thường xuyên cho hầu hết tất cả các phát triển phần mềm.
Trên thực tế, mối liên hệ giữa logic và khoa học máy tính rất sâu sắc và có sức lan tỏa đến mức tôi có thể nói rằng thật khó để trở thành một nhà khoa học máy tính giỏi mà không có sự hiểu biết thấu đáo về logic.
Lý do một số nhà khoa học AI đánh giá thấp logic vào thời điểm này là vì một số nhà phát triển ban đầu của AI đã đề xuất logic ngoài luồng như một công cụhơn là một nền tảng. AI, với bản chất của nó, hứa hẹn sẽ mang đến phép thuật. Chúng tôi không phải làm công việc khó khăn của các hệ thống lập trình để cung cấp kết quả. Họ sẽ có thể tự mình tìm ra cách sản xuất giải pháp vì họ sẽ "thông minh". Logic dường như chỉ ra con đường bởi vì nếu các hệ thống máy tính hiểu logic và biết cách xử lý thông tin bằng cách sử dụng các quy tắc logic, chúng sẽ có thể cung cấp phép thuật. Đó là loại niềm tin vào logic, khi nhìn lại, đặt không đúng chỗ. Ở nơi đầu tiên, logic ngoài luồng quá mạnh và quá yếu cùng một lúc. Nó quá mạnh theo nghĩa các quy tắc logic quá chung chung để đưa ra các quy trình hiệu quả. Nó cũng quá yếu vì đó là logic được các nhà toán học nghĩ ra cho nhu cầu của toán học và nó không ' Không có từ vựng cần thiết để xử lý nhiều loại thông tin trong thế giới thực khác mà các hệ thống AI phải xử lý (như sự không chắc chắn, thông tin theo ngữ cảnh như thời gian, thay đổi, kiến thức, cơ quan, v.v.). Vì vậy, AI hiện đang trải qua một phản ứng dữ dội chống lại logic. Nhưng tôi nghĩ rằng, khi họ vượt qua được phản ứng dữ dội đó, các nhà khoa học AI sẽ nhận ra rằng tất cả các phương pháp mới hơn vẫn dựa trênlogic, được hiểu rộng rãi .