Prolog ( Programmering i Logic ) blev udviklet i Frankrig for at skabe naturlige oversættere . Det blev perfektioneret i Skotland for at skrive automatisk teorem køleraskeskab for matematik og logik . Den kom til international opmærksomhed, da den blev valgt til den japanske "femte generation "-projektet . Prolog -programmer består af en nøje ordnet liste over regler ( skrevet som horn klausuler) . Brugeren stiller et spørgsmål og programmets svar - i form af reglerne. Det er et bemærkelsesværdigt nyttigt paradigme . The Standard Horn Clauses
Horn klausuler blev opfundet i 1951 af den amerikanske matematiker Alfred Horn. I hans ord , er et horn "-klausul en disjunktion af konstanter , der har højst én positiv bogstavelig. " En typisk horn klausul ser sådan ud: (ikke A) eller (ikke B) eller C. Den positive bogstavelige er C, både A og B er "negativ ". Hvis horn klausul har præcis én positiv literal - som Prolog horn klausuler gør - det kaldes en konkret horn klausul. Horn klausuler normalt skrevet i et forenklet , men tilsvarende format. Den disjunktive erklæring ( ikke A) eller (ikke B) eller C er logisk ækvivalent til den erklæring (A og B) antyder C. Dette er forenklet til : A, B - : C ( hvor "-: " repræsenterer Implikationen pil). Den enkleste horn klausul er et enkelt positivt bogstavelig (hvor der ikke er nogen pil ) - det er den samme for begge horn klausuler og Prolog
The Prolog Horn Clauses
< . p> Prolog reglerne ligne horn klausuler , bortset pilen peger den anden vej. Grammatikken Reglen om, at en sætning er sammensat af et substantiv sætning og et verbum sætning skrives S: - NP, VP. Regelsættet kan også indeholde dictum at et substantiv sætning er sammensat af en artikel og et substantiv , som er skrevet NP : - A , N. Hvis der er en anden regel om, at en navneord sætning er en flertals navneord , kunne det være skrevet NP : - PN . Når alle regler er på plads , kan brugeren sende en " straf " til programmet, og programmet vil forsøge at matche de " sætningen" til reglerne . Prolog fungerer baglæns gennem de regler - hvis spørgsmålet matcher konklusionen (positiv bogstavelig ) af en regel , de fortilfælde (negative litteraler ) bliver de nye spørgsmål. Hvis alle spørgsmålene til sidst matche op med fakta , de " sætningen" er en gyldig sætning. Dette matchende processen fungerer for matematik, logik og andre regel -baserede systemer samt det virker for grammatik.
The Cut paragraf
p Der er tre typer af horn klausuler , der bruges i Prolog : den ( ingen pil ) kendsgerning , reglen ( med en pil , en positiv bogstavelige og mindst én negativ bogstavelige ) og snittet . Cut klausuler indeholder " ! " symbol . Når Prolog fortolkeren ser snittet symbol ( udtales " bang" ) , slettes de resterende regler, der har den samme positive bogstavelige som regel , der indeholder Bang. Dette kan have flere effekter på programmerne - det kan repræsentere visse negative resultater, kan det undgå eller håndtere problemfrit med fejl, eller det kan simpelthen fjerne en del af søgningen plads og fremskynde programmet
< br . >