logic-and-learning-lab/Popper

An inductive logic programming system

解決的問題

Popper 是一個歸納邏輯程式設計(ILP)系統,允許電腦從一組範例和既有的背景知識中學習邏輯規則。它自動化了發現解釋特定關係的底層邏輯的過程,例如根據親子資料識別「祖父母」規則。

運作方式

Popper 接受三個主要輸入:包含正例與負例的檔案、包含已知事實的背景知識(BK)檔案,以及定義搜尋空間的偏差檔案(指定規則頭或體中可使用的謂詞)。它使用 CPSAT 或 NuWLS 等求解器,尋找最簡單且符合資料的邏輯規則。它可透過 --noisy 標記處理雜訊資料,並支援遞迴與類型註解等進階邏輯功能,以優化搜尋過程。

適用對象

專為具有 Prolog 背景的符號 AI、邏輯程式設計與自動規則發現領域的研究人員與開發者設計。

主要特色

  • 遞迴規則學習:能夠學習謂詞自身引用自身的規則。
  • 雜訊處理:可透過 --noisy 標記,從不完美資料中學習。
  • C-SAT 與 NuWLS 整合:支援高效率求解器,加速規則發現過程。
  • 可自訂約束:支援使用類型與方向註解,大幅縮短學習時間並提升準確性。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • Dispatch