Defeasible Reasoning Tool

1. Introduction

1.1 Artificial Intelligence

Artificial intelligence (AI) is intelligence demonstrated by machines, as opposed to the natural intelligence displayed by animals including humans. AI research has been defined as the field of study of intelligent agents, which refers to any system that perceives its environment and takes actions that maximize its chance of achieving its goals - Wikipedia

1.2 Knowledge Representation

Knowledge representation and reasoning (KRR, KR&R, KR²) is the field of artificial intelligence (AI) dedicated to representing information about the world in a form that a computer system can use to solve complex tasks such as diagnosing a medical condition or having a dialog in a natural language. Knowledge representation incorporates findings from psychology[1] about how humans solve problems and represent knowledge in order to design formalisms that will make complex systems easier to design and build. Knowledge representation and reasoning also incorporates findings from logic to automate various kinds of reasoning, such as the application of rules or the relations of sets and subsets - Wikipedia

1.3 Defeasible Reasoning

Defeasible reasoning is an important form of non-monotonic reasoning because it introduces mechanisms for strengthening and weakening new information presented to a reasoner. Defeasible reasoning also deals with atypical reasoning situations in which humans inherently reason differently, whether due to their beliefs, context or other circumstances. Defeasible reasoning and its mechanisms allow AI systems to represent human reasoning more accurately than classical reasoning and more accurately than the basic notion of non-monotonicreasoning.

Propositional Defeasible Explanation

2. Key Concepts

2.1 Non-monotonic Reasnoning

Nonmonotonic reasoning is an area of research that attempts to formalize different patterns of “common sense” reasoning, by dropping monotonicity as a property and investigating how to define reasonable notions of consequences. Humans reason by making assumptions based on the knowledge they have, and then revising those assumptions upon learning new information. Several frameworks were formalized to mimic this pattern known as defeasible reasoning.

Nonmonotonic reasoning is a subfield of Artificial Intelligence trying to find more realistic formal models of reasoning than classical logic. In common sense reasoning one often draws conclusions that have to be withdrawn when further information is obtained. The set of conclusions thus does not grow monotonically with the given information. It is this phenomenon that nonmonotonic reasoning methods try to formalize. This volume gives an overview on recent results in the field and points to relevant literature for further study. - Stanford University

2.2 Rational Closure

A particularly appreciated non-monotonic consequence relation is represented by the class of rational consequence relations. A consequence relation |∼ is rational iff it satisfies the following properties:

final resultfinal result
Each postulate corresponds to a pattern of reasoning about Defeasible Information.

Here is a more in-depth explanation.

2.3 Algorithms for Rational Closure

The first algorithm is BaseRank, which is an algorithm on the knowledge base that computes the base rank. The lower the rank for the statement the more defeasible it is, and infinite ranks are classical statements, true in every valuation in every ranked model of the knowledge base.

final result
Rational Closure is an alternative syntactic defenition of minimal ranked entailment, whereby it takes in a defeasible query a |~ b and returns true if it is entailed by the knowledge base.

final result
The above algorithm essentially works by checking if there exists an exceptional subset of the knowledge base such that the query is entailed. If the antecedent (ancestor formula) of the lowest base is exceptional (does not entail the knowledge base for any valuation) then the lowest rank is removed.

Both algorithms were described here, along with a thorough explanation of the KLM framework for those interested.

3. Tool Walkthrough

3.1 Downloadable GUI

3.2 How To Make Queries

Prerequisites: Make sure you have Python and Java installed on your machine

Step 1: Download the Defeasible Reasoning GUI

Step 2: Add own database along with defeasible query in the form of a .txt file (see section 3.2)

Step 3: Enter the database name without the .txt extension and choose the entailment checker algorithm you need. - Regular simply outputs the process whereby Binary outputs “true” or “false”

Step 4: Grab a cup of coffee and relax, the rest will be done for you.

final result

3.3 How To Add Custom Databases

Step 1: Add a defeasible query to the top of a .txt file. The Defeasible query must comply with the tweetyproject standards, where a defeasible query is denoted by ~>.

Step 2: Add the knowledge base formulas directly below the defeasible query in the .txt file.

Step 3: Ensure that the file is visible by placing it in the root folder (containing the src and target folders).

4. Contributing to the tool

Developer and experts could contribute to this repository either through a pull request to modify the code or an issue for changes you would like to see.

5. About This Website

This website is the result of a sophomore research course taken by Anri Lombard and supervised by Tommie Meyer.

Its primary purpose is, initially, to help students climb the steep learning curve if they are interrested in Knowledge Representation research; but aspirationally it could serve as a platform where students can continue to contribute and build upon it so it outgrows its current functionality.

Its secondary purpose is to provide a tool for Rational Closure researchers to use for diagnosis of rational closures conclusion to a defeasible query on a custom knowledge base.