Uno dei migliori motivi per utilizzare Prolog è che non c'è bisogno di dire al computer come risolvere un problema --- basta dare al computer le regole coinvolti nella soluzione del problema . Programmi Prolog sono costituiti da una cura ordinata insieme di regole che assomigliano a questo : se X e Y e Z allora W. Questo insieme di regole potrebbero essere le regole grammaticali ( se si sta lavorando sulle lingue naturali) o regole di matematica ( se si sta lavorando su teoremi automatiche) o regole su qualsiasi dominio di interesse . Le regole devono avere questa forma : «Se ( qualsiasi numero di antecedenti --- compreso lo zero antecedenti ) poi ( conclusione ) . " Gli antecedenti devono essere collegati con la "e" congiunzione . Una volta che le regole sono a posto si può inviare una domanda e il programma rispondere "sì ", "no " o " non si può dire . "
Quantificazione
Un altro motivo per usare Prolog , è che è molto facile esprimere le cose in Prolog che sono difficili da esprimere in altre lingue . È facile esprimere fatti in Prolog , ma è anche facile esprimere relazioni complesse perché Prolog utilizza una logica quantificazione anziché il semplice logica usata da altre lingue. Quantificazione significa solo che una variabile può avere attributi --- in altre parole, non è solo " Se A e B poi C" può anche essere " Se A ( a, b, c) e B ( m, n ) allora C ( a, b , n) " in cui a, b , c, m ed n sono attributi di a , b e C. Per esempio: se Between ( x , y , z) e Tra ( x , k, y) allora tra ( x , k , z ) " sarebbe difficile da esprimere in qualsiasi altra lingua --- sarebbe certamente prendere più di una linea in qualsiasi altra lingua .
unificazione
Il motivo molte persone scelgono Prolog è che si cercherà automaticamente una risposta . Ciò può essere fatto in altre lingue , ma non è automatico e coinvolgerebbe centinaia o migliaia di righe di codice . Prolog fa veramente il suo potenza da strumenti logici , come la quantificazione e l'unificazione . unificazione significa solo che due cose non devono essere uguali per abbinare tutto il tempo in quanto possono essere fatti uguali utilizzando qualche lista di sostituzioni . , ad esempio, P ( j , g ) non è uguale a P ( k, g), ma possono essere resi uguali if ( j = k) è sulla lista sostituto . unificazione rende facile per la ricerca di qualcosa, perché quando le risposte Prolog "sì " o "no " Sarà anche restituire la sostituzione elenco che è necessario per far funzionare le cose . per esempio, se il fatto Cane ( ricca , Benji ) è nella vostra base di dati e vi chiedo il "Dog ( ricco , x ) " domanda . Prolog tornerà "sì" e la lista di sostituzione ( x = Benji ) .
Programmazione © www.354353.com