logic-and-learning-lab/Popper
An inductive logic programming system
해결하는 문제
Popper는 예제와 기존의 배경 지식에서 논리 규칙을 학습할 수 있는 귀납적 논리 프로그래밍(ILP) 시스템입니다. 예를 들어 부모-자식 데이터를 기반으로 '조부' 규칙을 식별하는 것과 같은 특정 관계를 설명하는 근본적인 논리를 자동으로 발견하는 과정을 자동화합니다.
작동 방식
Popper는 세 가지 주요 입력을 처리합니다: 양성 및 음성 예제가 포함된 파일, 알려진 사실을 포함하는 배경 지식(BK) 파일, 그리고 검색 공간(규칙의 헤드 또는 바디에서 사용 가능한 술어)을 정의하는 편향 파일입니다. CPSAT 또는 NuWLS와 같은 소버를 사용하여 데이터에 적합한 가장 단순한 논리 규칙을 찾습니다. --noisy 플래그를 사용하여 노이즈가 있는 데이터에서 학습할 수 있으며, 재귀 및 타입 주석과 같은 고급 논리 기능을 지원하여 검색 과정을 정교화할 수 있습니다.
대상 사용자
Prolog에 대한 배경 지식을 가진 기호적 AI, 논리 프로그래밍, 자동 규칙 발견 분야의 연구자 및 개발자에게 적합합니다.
주요 특징
- 재귀 규칙 학습: 술어가 자신을 참조하는 규칙을 학습할 수 있습니다.
- 노이즈 처리:
--noisy플래그를 사용하여 불완전한 데이터에서 학습할 수 있습니다. - C-SAT 및 NuWLS 통합: 고성능 소버를 지원하여 규칙 발견 과정을 가속화합니다.
- 사용자 정의 제약 조건: 타입 및 방향 주석을 사용하여 학습 시간을 크게 단축하고 정확도를 향상시킬 수 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- Dispatch