Si assumano i seguenti fatti: a. A Simone piacciono soltanto i corsi facili; b. I corsi di Scienze sono difficili; c. Tutti i corsi di informatica sono facili; d. IUM2 è un corso di Informatica Si usi la risoluzione ordinata per rispondere alla domanda: Quale corso piace a Simone? SUGGERIMENTI (per una risoluzione in 4 passi) 1) Si faccia uso dei seguenti predicati: Piace(S,y) per a S piace il corso y; Facile(y) per y è un corso facile; Corso(x,y) per y è un corso di x. 2) Si ordini il contenuto di ogni clausola in modo opportuno, prima di applicare il principio di risoluzione TRADUZIONE IN FORMULE Ay Facile(y)->Piace (S,y) Ax Corso (x,Scienze)-> not Facile(x) Az Corso (z,Informatica)-> Facile (z) Corso(IUM2,Informatica) ---------------------------------------- TRADUZIONE IN CLAUSOLE { not Facile(y), Piace(S,y) } { not Corso(x,Scienze), not Facile(x) } { not Corso(z,Informatica), Facile(z) } { Corso(IUM2, Informatica)} { not Piace(S,c), ans{c} } ---------------------------------------- ORDINO LE CLAUSOLE (come mi fa comodo, io ho pensato di mettere tutti i predicati Facile() davanti cosi si risolvevano prima) 1){ not Facile(y), Piace(S,y) } 2){ not Facile(x), not Corso(x,Scienze) } 3){ Facile(z), not Corso(z,Informatica) } 4){ Corso(IUM2, Informatica)} 5){ not Piace(S,c), ans{c} } ----------------------------------------- RISOLVO (con la risoluzione ordinata) 6) { Piace(S,z), not Corso(z,Informatica) } (1,3) (y/z) 7) { not Corso(z,Informatica), ans{z} } (5,6) (c/z) 8) { ans{IUM2} } (4,7) (z/IUM2) ;)