I robot stanchi

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:

  1. carica(X): l'oggetto X viene caricato su un camion.
  2. caricatutti: tutti gli oggetti sono caricati sul camion.
  3. scaricatutti: tutti gli oggetti vengono scaricati dal camion.

 
Soluzione proposta

marta
2012-04-17