Planning Ontology
Ontology to model Automated Planning Domain
2.0
Description
Automating planning and decision-making tasks is a fundamental goal of artificial intelligence (AI) research. The vast number of available planners and diverse planning domains carry essential information that can be leveraged to improve planner performance. For instance, by analyzing the performance of different planners on various problem configurations, we can identify which planners excel in particular domains and improve their efficiency. To address this issue, we propose a novel approach that employs an ontology to represent the characteristics of planning domains and the capabilities of planners. We gather data on planning domains and planners from the International Planning Competition (IPC) to construct the ontology. Our ontology for AI planning captures critical parameters relevant to planning, including the best planners for a given problem configuration, the ranking of relevant heuristics, and macros to aid in solving complex problems. The ontology represents planning resources, enabling their reuse and improving planner performance.
Introduction
Automated planning, where the objective is to find a sequence of actions that will transition an agent from the initial state of the world to a desired goal state, is an active sub-field of Artificial Intelligence (AI). The ability to generate plans and make decisions in complex domains, such as robotics, logistics, and manufacturing, has led to significant progress in the automation of planning. Currently, there are numerous planning domains, planners, search algorithms, and associated heuristics in the field of automated planning. Each planner, in conjunction with a search algorithm and heuristic, generates plans with varying degrees of quality, cost, and optimality. The empirical results available for various planning problems, ranked by planner performance and the heuristics used as available in International Planning Competition (IPC), can provide valuable information to identify various tunable parameters to improve planner performance. Traditionally, improving planner performance involves manually curating potential combinations to identify the optimal planner configuration. However, there has been limited effort to model the available information in a structured knowledge representation, such as an ontology, to facilitate efficient reasoning and further enhance planner performance.
In the field of planning, several attempts have been made to create ontologies to enhance the understanding of planners’ capabilities. For instance, Plan-Taxonomy introduced a taxonomy that aimed to explain the functionality of planners. In PLANET, authors present a comprehensive ontology called which represents plans in real-world domains and can be leveraged to construct new applications. Nonetheless, the reusability of PLANET is limited as it is not open-sourced. Consequently, researchers face difficulty in extending or replicating the ontology.
Contributions
We build an ontology for planning with the aim to identify and improve an efficient planner for a domain based on performance. For this, we leverage information obtained from the IPC. Building a planning ontology using data from IPC offers several benefits such as a comprehensive coverage of planning domains, a rich source for various benchmark evaluation metrics, and documentation for the planners. However, the ontology is not limited to the PDDL representation or domains in IPC, and can easily be extended to any. Our contributions are at the intersection of ontologies and AI planning in ontology development and showing benefits in two usecases:
- Ontology Development: We developed an ontology for AI planning that can be used to represent and organize knowledge related to planning problems. This ontology provides a structured way to capture the relationships between different planning concepts and enables more efficient and effective knowledge sharing and reuse.
- Usecase 1: Identifying Most Promising Planner for Performance: We demonstrate the ontology’s usage for identifying best-performing planner for a specific planning domain using data of IPC-2011.
- Usecase 2: Macro Selection for Improving Planner Performance: We demonstrate the usage of ontology to extract domain-specific macros - which are action orderings - and show that they can improve planner performance drastically.
Visualization
Classes
Action c
IRI |
http://caressesrobot.org/ontology#Action
|
---|---|
Description | a class that represents a type of action that can be performed in a planning domain |
In Domain Of | |
In Range Of | planning-ontology:hasAction op |
Restriction |
planning-ontology:hasEffect
op
some |
Super Class Of | planning-ontology:MacroAction c |
Parameter c
IRI |
http://caressesrobot.org/ontology#Parameter
|
---|---|
Description | a class that represents what is involved in an action |
In Domain Of | planning-ontology:ofParameterType op |
In Range Of | planning-ontology:hasParameter op |
State c
IRI |
http://purl.org/vocab/lifecycle/schema#State
|
---|---|
Description | represents a situation or a configuration of the world in a planning problem |
In Range Of | |
Super Class Of |
Plan c
IRI |
http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Plan
|
---|---|
In Domain Of | |
In Range Of | planning-ontology:hasPlan op |
Restriction |
|
Action Effect c
IRI |
https://purl.org/ai4s/ontology/planning#ActionEffect
|
---|---|
Description | a class that represents what happens after an action is done |
In Domain Of | |
In Range Of | planning-ontology:hasEffect op |
Restriction |
|
Action Precondition c
IRI |
https://purl.org/ai4s/ontology/planning#ActionPrecondition
|
---|---|
Description | a class that represents what needs to be true before an action can be done |
In Range Of | planning-ontology:hasPrecondition op |
Domain Constant c
IRI |
https://purl.org/ai4s/ontology/planning#DomainConstant
|
---|---|
Description | represents a fixed entity in a planning domain |
In Range Of | planning-ontology:hasConstant op |
Domain Predicate c
IRI |
https://purl.org/ai4s/ontology/planning#DomainPredicate
|
---|---|
Description | a class that represents a condition or a fact that can be true or false in a planning domain |
In Range Of | planning-ontology:hasPredicate op |
Domain Requirement c
IRI |
https://purl.org/ai4s/ontology/planning#DomainRequirement
|
---|---|
Description | A feature that a planning domain requires or supports |
In Domain Of | planning-ontology:solvedBy op |
In Range Of |
Goal State c
IRI |
https://purl.org/ai4s/ontology/planning#GoalState
|
---|---|
Description | represents a desired or a target state defined in a task that a plan should achieve |
Sub Class Of | http://purl.org/vocab/lifecycle/schema#State c |
In Range Of | planning-ontology:hasGoalState op |
Initial State c
IRI |
https://purl.org/ai4s/ontology/planning#InitialState
|
---|---|
Description | represents the starting or the given state of a planning problem |
Sub Class Of | http://purl.org/vocab/lifecycle/schema#State c |
In Range Of | planning-ontology:hasInitialState op |
Macro Action c
IRI |
https://purl.org/ai4s/ontology/planning#MacroAction
|
---|---|
Description | Extracted macro action, which is a combination of multiple actions of a planning domain |
Sub Class Of | http://caressesrobot.org/ontology#Action c |
In Range Of | planning-ontology:hasExtractedAction op |
Parameter Type c
IRI |
https://purl.org/ai4s/ontology/planning#ParameterType
|
---|---|
Description | represents a kind of entity in a planning domain |
In Domain Of | |
In Range Of |
Planner c
IRI |
https://purl.org/ai4s/ontology/planning#Planner
|
---|---|
Description | a system that can generate plans for a given planning domain and problem |
In Domain Of | |
In Range Of | |
Restriction |
|
Planner Type c
IRI |
https://purl.org/ai4s/ontology/planning#PlannerType
|
---|---|
Description | a category or classification of planners based on their characteristics or features |
In Range Of | planning-ontology:ofPlannerType op |
Planning Domain c
IRI |
https://purl.org/ai4s/ontology/planning#PlanningDomain
|
---|---|
Description | a class that represents a problem setting for automated planning |
In Domain Of |
|
Restriction |
|
Planning Problem c
IRI |
https://purl.org/ai4s/ontology/planning#PlanningProblem
|
---|---|
Description | represents a task of the planning domain that requires a plan to be solved |
In Domain Of | |
In Range Of | planning-ontology:hasProblem op |
Restriction |
|
Problem Object c
IRI |
https://purl.org/ai4s/ontology/planning#ProblemObject
|
---|---|
Description | represents an entity or a constant that is involved in a planning problem |
In Range Of |
Object Properties
adds predicate op
IRI |
https://purl.org/ai4s/ontology/planning#addsPredicate
|
---|---|
Description | a property that relates an effect to a state that adds a predicate to it |
Domain | planning-ontology:ActionEffect c |
Range | http://purl.org/vocab/lifecycle/schema#State c |
deletes predicate op
IRI |
https://purl.org/ai4s/ontology/planning#deletesPredicate
|
---|---|
Description | a property that relates an effect to a state that deletes a predicate from it |
Domain | planning-ontology:ActionEffect c |
Range | http://purl.org/vocab/lifecycle/schema#State c |
has action op
IRI |
https://purl.org/ai4s/ontology/planning#hasAction
|
---|---|
Description | a property that relates a planning domain to a domain action that is available in it |
Domain | planning-ontology:PlanningDomain c |
Range | http://caressesrobot.org/ontology#Action c |
has constant op
IRI |
https://purl.org/ai4s/ontology/planning#hasConstant
|
---|---|
Description | a property that relates a planning domain to a domain constant that is defined in it |
Domain | planning-ontology:PlanningDomain c |
Range | planning-ontology:DomainConstant c |
has effect op
IRI |
https://purl.org/ai4s/ontology/planning#hasEffect
|
---|---|
Description | a property that relates an action to an action effect that results from it |
Domain | http://caressesrobot.org/ontology#Action c |
Range | planning-ontology:ActionEffect c |
has extracted action op
IRI |
https://purl.org/ai4s/ontology/planning#hasExtractedAction
|
---|---|
Description | a property that relates a planning domain to an action that is extracted from its plan |
Domain | planning-ontology:PlanningDomain c |
Range | planning-ontology:MacroAction c |
has goal state op
IRI |
https://purl.org/ai4s/ontology/planning#hasGoalState
|
---|---|
Description | a property that relates a planning problem to a goal state that is desired for it |
Domain | planning-ontology:PlanningProblem c |
Range | planning-ontology:GoalState c |
has high relevance planner op
IRI |
https://purl.org/ai4s/ontology/planning#hasHighRelevancePlanner
|
---|---|
Description | a property that relates a planning domain to a planner that has a high relevance score for it |
Domain | planning-ontology:PlanningDomain c |
Range | planning-ontology:Planner c |
has initial state op
IRI |
https://purl.org/ai4s/ontology/planning#hasInitialState
|
---|---|
Description | a property that relates a planning problem to an initial state that is given for it |
Domain | planning-ontology:PlanningProblem c |
Range | planning-ontology:InitialState c |
has low relevance planner op
IRI |
https://purl.org/ai4s/ontology/planning#hasLowRelevancePlanner
|
---|---|
Description | a property that relates a planning domain to a planner that has a low relevance score for it |
Domain | planning-ontology:PlanningDomain c |
Range | planning-ontology:Planner c |
has medium relevance planner op
IRI |
https://purl.org/ai4s/ontology/planning#hasMediumRelevancePlanner
|
---|---|
Description | a property that relates a planning domain to a planner that has a medium relevance score for it |
Domain | planning-ontology:PlanningDomain c |
Range | planning-ontology:Planner c |
has object op
IRI |
https://purl.org/ai4s/ontology/planning#hasObject
|
---|---|
Description | a property that relates a planning problem to a problem object that is involved in it |
Domain | planning-ontology:PlanningProblem c |
Range | planning-ontology:ProblemObject c |
has pddl type instance op
IRI |
https://purl.org/ai4s/ontology/planning#hasPDDLTypeInstance
|
---|---|
Description | a property that relates a type to a problem object that is an instance of it |
Domain | planning-ontology:ParameterType c |
Range | planning-ontology:ProblemObject c |
has parameter op
IRI |
https://purl.org/ai4s/ontology/planning#hasParameter
|
---|---|
Description | a property that relates an action to an action parameter that is involved in it |
Domain | http://caressesrobot.org/ontology#Action c |
Range | http://caressesrobot.org/ontology#Parameter c |
has parameter type op
IRI |
https://purl.org/ai4s/ontology/planning#hasParameterType
|
---|---|
Description | a property that relates a planning domain to a type |
Domain | planning-ontology:PlanningDomain c |
Range | planning-ontology:ParameterType c |
has plan op
IRI |
https://purl.org/ai4s/ontology/planning#hasPlan
|
---|---|
Description | a property that relates a planning problem to a plan that solves it |
Domain | planning-ontology:PlanningProblem c |
Range | http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Plan c |
has precondition op
IRI |
https://purl.org/ai4s/ontology/planning#hasPrecondition
|
---|---|
Description | a property that relates an action to an action precondition that is required for it |
Domain | http://caressesrobot.org/ontology#Action c |
Range | planning-ontology:ActionPrecondition c |
has predicate op
IRI |
https://purl.org/ai4s/ontology/planning#hasPredicate
|
---|---|
Description | a property that relates a planning domain to a domain predicate that is defined in it |
Domain | planning-ontology:PlanningDomain c |
Range | planning-ontology:DomainPredicate c |
has problem op
IRI |
https://purl.org/ai4s/ontology/planning#hasProblem
|
---|---|
Description | a property that relates a planning domain to a planning problem that is defined in it |
Domain | planning-ontology:PlanningDomain c |
Range | planning-ontology:PlanningProblem c |
has requirement op
IRI |
https://purl.org/ai4s/ontology/planning#hasRequirement
|
---|---|
Description | a property that relates a planning domain or problem to a domain requirement that is required or supported by it |
Domain | planning-ontology:PlanningDomain c |
Range | planning-ontology:DomainRequirement c |
has tag op
IRI |
https://purl.org/ai4s/ontology/planning#hasTag
|
---|---|
Description | a property that relates a type to a type tag that labels it |
Domain | planning-ontology:ParameterType c |
is generated by op
IRI |
https://purl.org/ai4s/ontology/planning#isGeneratedBy
|
---|---|
Description | a property that relates a plan to a planner that generates it |
Domain | http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Plan c |
Range | planning-ontology:Planner c |
of parameter type op
IRI |
https://purl.org/ai4s/ontology/planning#ofParameterType
|
---|---|
Description | a property that relates an action parameter to a type that classifies it |
Domain | http://caressesrobot.org/ontology#Parameter c |
Range | planning-ontology:ParameterType c |
of planner type op
IRI |
https://purl.org/ai4s/ontology/planning#ofPlannerType
|
---|---|
Description | a property that relates a planner to a planner type that categorizes it |
Domain | planning-ontology:Planner c |
Range | planning-ontology:PlannerType c |
solved by op
IRI |
https://purl.org/ai4s/ontology/planning#solvedBy
|
---|---|
Description | a property that relates a domain requirement to a planner that solves it |
Domain | planning-ontology:DomainRequirement c |
Range | planning-ontology:Planner c |
solves requirement op
IRI |
https://purl.org/ai4s/ontology/planning#solvesRequirement
|
---|---|
Description | a property that relates a planner to a domain requirement that it can handle or satisfy |
Domain | planning-ontology:Planner c |
Range | planning-ontology:DomainRequirement c |
Datatype Properties
has action explanation dp
IRI |
https://purl.org/ai4s/ontology/planning#hasActionExplanation
|
---|---|
Domain | http://caressesrobot.org/ontology#Action c |
Range | xsd:string |
has model reconciliation explanation dp
IRI |
https://purl.org/ai4s/ontology/planning#hasModelReconciliationExplanation
|
---|---|
Domain | planning-ontology:PlanningDomain c |
Range | xsd:string |
has plan cost dp
IRI |
https://purl.org/ai4s/ontology/planning#hasPlanCost
|
---|---|
Domain | http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Plan c |
Range | xsd:nonNegativeInteger |
has plan explanation dp
IRI |
https://purl.org/ai4s/ontology/planning#hasPlanExplanation
|
---|---|
Domain | http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#Plan c |
Range | xsd:string |
Annotation Properties
contributor ap
IRI |
http://purl.org/dc/terms/contributor
|
---|
creator ap
IRI |
http://purl.org/dc/terms/creator
|
---|
description ap
IRI |
http://purl.org/dc/terms/description
|
---|
language ap
IRI |
http://purl.org/dc/terms/language
|
---|
license ap
IRI |
http://purl.org/dc/terms/license
|
---|
title ap
IRI |
http://purl.org/dc/terms/title
|
---|
Authors ap
IRI |
https://purl.org/ai4s/ontology/planning#Authors
|
---|
Namespaces
- :
-
https://purl.org/ai4s/ontology/planning
- dcterms
-
http://purl.org/dc/terms/
- ontology
-
https://purl.org/ai4s/ontology/
- owl
-
http://www.w3.org/2002/07/owl#
- planning-ontology
-
https://purl.org/ai4s/ontology/planning#
- prov
-
http://www.w3.org/ns/prov#
- rdf
-
http://www.w3.org/1999/02/22-rdf-syntax-ns#
- rdfs
-
http://www.w3.org/2000/01/rdf-schema#
- xsd
-
http://www.w3.org/2001/XMLSchema#
Legend
c | Classes |
op | Object Properties |
dp | Datatype Properties |
ap | Annotation Properties |