aiplan4eu / unified-planning

The AIPlan4EU Unified Planning Library
Apache License 2.0
181 stars 39 forks source link

Error in TimeTriggeredPlan.extract_epsilon algorithm (no mutex) #605

Open Framba-Luca opened 3 months ago

Framba-Luca commented 3 months ago

The TimeTriggeredPlan.extract_epsilon algorithm does not take into consideration if 2 events are mutex for the epsilon calculation.

This is not compliant with the wanted PDDL semantic.

Framba-Luca commented 3 months ago

Debug info: the extract_epsilon method creates a Set of times of the events, and then computes the minimum distance between 2 events and outputs it as the plan epsilon.

The times should not be a Set[Fraction], but a Dict[FNode, Set[Fraction]], containing as keys the GROUNDED fluents involved in the event, and in the mapped set all the times of the corresponding events. Then the plan epsilon is the minimun between all the minimum distances in the Sets.