Syntax
XPSrulechecker(ops)
Input Parameter
ops : | | STRIPS rules [Action, Condition-List, Add-list, Delete-list, NOT-Condition-List] |
Copyright 2024-2025 Tim C. Lueth. All rights reserved. The code is the property of Tim C. Lueth and may not be redistributed or modified without explicit written permission. This software may be used free of charge for academic research and teaching purposes only. Commercial use, redistribution, modification, or reverse engineering is strictly prohibited. Access to source code is restricted and granted only under specific agreements. For licensing inquiries or commercial use, please contact: Tim C. Lueth
Algorithm (Workflow)
The function XPSrulechecker
is designed to check STRIPS rules for potential human errors during rule definition. It is part of the SolidGeometry library and was introduced in version 5.4. The function is under constant development as of February 3, 2024.
Input Parameters
- ops: A cell array representing STRIPS rules. Each rule consists of an Action, a Condition-List, an Add-list, a Delete-list, and a NOT-Condition-List.
Algorithm Steps
- Initialize a cell array
VV
with the same number of columns as ops
.
- Iterate over each rule in
ops
(rows of ops
).
- For each element in the rule (columns of
ops
), extract variables using varsofstringpattern
and store them in VV
.
- Remove variables in the Condition-List from the Action variables (
VV{1}
).
- For the Add-list and Delete-list, remove variables that are in the Condition-List.
- Check for unused or undefined symbols in the Action, Add-list, and Delete-list:
- If there are unused symbols in the Action, issue a warning indicating the rule number, condition, and the unused symbol.
- If there are unused symbols in the Add-list, issue a similar warning.
- If there are unused symbols in the Delete-list, issue a similar warning.
Algorithm explaination created using ChatGPT on 2025-08-19 07:18. (Please note: No guarantee for the correctness of this explanation)
Last html export of this page out of FM database by TL: 2025-09-21