Alcuni robot possono caricare e scaricare oggetti da un camion. Alcuni oggetti sono pesanti, e dopo aver caricato o scaricato un oggetto pesante un robot è stanco e deve riposarsi per la durata dell'esecuzione di un'azione. Quindi perché un robot possa scaricare o caricare un oggetto pesante, non deve essere stanco.
Rappresentare tale dominio utilizzando i fluenti caricato(X,S) (l'oggetto X è sul camion) e stanco(R,S) (il robot R è stanco). Le azioni possibili sono carica(R,X) (il robot R carica sul camion l'oggetto X) e scarica(R,X) (il robot R scarica dal camion l'oggetto X).
Si tenga presente, per l'assioma dello stato successore del fluente stanco, che un robot che si è stancato, si riposa durante l'esecuzione di una singola azione da parte di un altro robot, quindi se vale stanco(R,S), non può essere vero stanco(R,do(A,S)).
Scrivere le seguenti procedure:
marta