typer af horn klausuler i Prolog

Indlæg af Alice Hansen     opdateret: 2011-10-20

Prolog ( Programmering i Logic ) blev udviklet i Frankrig for at skabe naturligt sprog oversættere . Det var perfektioneret i Skotland for at skrive automatisk sætning bevisførende for matematik og logik . Det kom til international opmærksomhed , da det blev valgt til det japanske " femte generation " projekt . Prolog -programmer består af en nøje ordnet liste af regler ( skrevet som horn klausuler ) . Brugeren stiller spørgsmål og programmet svar-i form af reglerne . Det er en bemærkelsesværdig nyttig paradigme .

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 en positiv bogstavelig . " En typisk horn klausul ser sådan her ud : ( ikke A) eller ( ikke B ) eller C. Den positive bogstavelige er C , både A og B er " negativ ". Hvis hornet klausul har netop én positiv bogstavelig-som Prolog horn klausuler gør-det kaldes en bestemt horn klausul . Horn klausuler er normalt skrevet i en forenklet , men lignende format . Den disjunktive erklæring ( ikke A) eller ( ikke B ) eller C er logisk ækvivalent til meddelelsen ( A og B ), indebærer, C. Det er forenklet til : A , B-: C ( hvor "--:" repræsenterer virkningen pil ) . Den enkleste horn klausul er et enkelt positivt bogstavelig ( hvor der ikke er nogen pil )-det er den samme for både horn klausuler og Prolog

Den Prolog Horn Clauses

Prolog regler så se ud horn klausuler , undtagen . Pilen peger den anden vej . Grammatikken Reglen om, at en sætning består af et navneord sætning og et verbum sætning er skrevet S :-NP , VP . Det sæt regler kan også indeholde dictum, at en navneord sætning er sammensat af en artikel og et substantiv , skriftlig NP :-A, N. Hvis der er en anden regel om, at en navneord sætning er et pluralistisk navneord , kunne det være skrevet NP :-PN . Når alle regler er på plads , kan brugeren sende en " sætning " til programmet , og programmet vil forsøge at matche " sætningen " til reglerne . Prolog værker tilbage gennem de regler, der-hvis spørgsmålet kampe konklusionen ( positive bogstavelige ) af en regel, fortilfælde ( negativ Literals ) bliver den nye spørgsmål. Hvis alle spørgsmål i sidste ende kampen op med fakta , de " sætning "er en gyldig sætning . Denne matching proces virker for matematik , logik og andre regel- baserede systemer samt det virker for grammatik

Cut §

Der er tre typer af horn klausuler , der anvendes i Prolog : Den (ingen pil) konstatering , reglen ( med en pil , en positiv bogstavelige og mindst én negativ bogstavelige ) og snit. Cut klausuler indeholder "! " symbol . Når Prolog tolk ser cut symbolet ( udtales " bang " ) , slettes de resterende regler, der har den samme positive bogstavelige som regel, der indeholder bang . Dette kan have flere effekter på de programmer-det kan repræsentere en række negative resultater, kan man undgå eller afhjælpe problemer med fejl , eller det kan simpelthen fjerne en del af søgningen rummet og fremskynde programmet.


Previous:hvordan du indsætter en linje i en fil i VBS Next:hvordan man åbner en postsættet



 

Kommentarer

Code:
change