sabbio93 / QRobotEvitaMuri

Risoluzione del problema: https://137.204.107.21/syskb/it.unibo.iss2015intro/docs/Material/TemaFinaleLMBO2017.html
MIT License
2 stars 0 forks source link

Scelta della mossa successiva da parte di RobotMind #27

Closed quellobiondo closed 7 years ago

quellobiondo commented 7 years ago

Per scegliere la mossa successiva ci conviene utilizzare la "knowledge" spaziale della robot mind combinata con delle inferenze. Quindi usiamo il Prolog. Il prof l'adorerà.

Per ora ci concentriamo sulla prima.

Vedo la necessità della robot mind di essere aggiornata al termine di ogni azione del robot fisico. Es. fine rotazione a sinistra -> aggiorna la mia knowledge base spaziale

sabbio93 commented 7 years ago

io come approccio ho il fatto che una non escluda l'altra..... io adotterei un approccio sequenziale a stati diversificato magari in piani a cui poi applicare un inferenziazione logica prima e dopo mi spiego meglio: prolog(decido il piano)=>procedimento a stati=> risoluzione di problemi complessi in prolog. OVVIO che in m1 e in m2 ci DOBBIAMO limitare al solo procedimento sequenziale a stati

quellobiondo commented 7 years ago

Le regole prolog definite, a mio avviso, sono differenti. Come lo sforzo per modellarle. Nel caso della macchina a stati (quella che penso di fare appunto, come dici tu è più facile e l'unica necessaria per M1 ed M2) sono regole simili a switch case xD (anche se non lo sono, sempre inferenza è) Nel caso dell'orientamento nello spazio geometrico con Goal generici la cosa diventa un po' più complicata. Però forse non ha nemmeno senso dal momento che se rimuovi i vincoli dell'applicazione è come se stessimo creando un "Risolutore di problemi geometrici" privo della conoscenza application-specific. Insomma, per ora si fa solo il punto 1.

sabbio93 commented 7 years ago

non hai capito i comportamenti specifici possono essere incapsulati dopo in regole prolog.... l'inferenza logica ti permette di capire il contesto e passare in un domain specific