邏輯推論簡介布林邏輯皮諾公設系統一階邏輯完備定理不完備定理程式實作布林推論一階推論相關訊息相關網站相關書籍參考文獻最新修改訊息相關網站參考文獻最新修改簡體版English |
簡介布林邏輯在電路設計上有強大的用途,是最簡單的邏輯系統,由於是喬治、布林(George Boole)所建立的基礎理論,因此被稱為布林邏輯。 布林所提出的真值表,是布林邏輯中最基礎也最重要的方法,在布林邏輯中,每個值都只能是真的或假的,不可以是其他值。這種非真即假的特性,稱為「排中律」,我們可以將「排中律」寫成下列公式。
推論法則要用布林邏輯來進行推論,必須依靠所謂的推理方法,亞里斯多德 (Aristotle)、希爾伯特 (Hilbert)、洪氏 (Horn)、簡森 (Gentzen) 與羅賓遜 (Robinson) 前後對這些推論方法進行了關鍵性的研究,其中、最簡單且功能強大的莫過於羅氏 (Robinson) 的解析法 (Resolution) 了。 關於布林邏輯的進一步訊息,請參看下列兩份投影片。
然而,純粹的解析法並不完備,要利用羅氏的解析法證明任意問題,必須使用反證法 (Refutation),其方法是將待證明語句 P 的反向句 -P 加入到規則庫當中,如果可以導出矛盾 (假值),則代表該語句 P 被證實。 根據 Horn 的前向推論法與 Robinson 的 Refutation 方法,我們用 Java 寫了一個推理引擎,其程式碼位於 BooleanLogic.java 中,該程式中的 unitResolution() 函數是採用 Robinson 的推論法則,而 hornReasoning() 函數則採用 Horn 的推論法則,兩者的程式碼分別如下。 洪式推論法 (Horn Clause Reasoning)
羅式的推論法 (Robinson's Resolution Reasoning)
結語布林邏輯雖然是一種簡單的邏輯系統,但其數學基礎非常紮實,是西洋文化的精隨之所在。如果我們能欣賞這種邏輯系統的美麗之處,那麼將能理解西方數學的重要性,進而將其應用到電腦領域,發展出更好的人工智慧程式。 |
布林邏輯 (Boolean Logic)
page revision: 9, last edited: 11 Sep 2010 00:42
Post preview:
Close preview