Prolog ( Programmering i Logic ) er en unik programmeringsspråk. Den ble utviklet i Frankrike av forskere som var interessert i automatisk naturlig språk oversettelse. Det ble perfeksjonert i Skottland av forskere som var interessert i automatiske teorem rørnormaler . Det kom til verdens oppmerksomhet da den japanske valgte det som base språket for deres " Fifth Generation " Artificial Intelligence ( AI )-prosjektet . Det er mange gode grunner til å bruke Prolog . Ved hjelp Prolog
En av de beste grunnene til å bruke Prolog er at du ikke trenger å fortelle datamaskinen hvordan den skal løse et problem --- er det bare å gi maskinen reglene er involvert i å løse problem . Prolog programmene består av en nøye organisert sett av regler som ser ut som dette : Hvis X og Y og Z deretter W. Dette settet av regler kan være grammatikk regler ( hvis du arbeider på naturlige språk) eller regler om matematikk ( hvis du arbeider på automatiske teorem rørnormaler ) eller regler om noen domenet av interesse. Reglene må ha denne formen: " Hvis ( en rekke forløpere --- inkludert null forløpere ) deretter ( konklusjonen ) . " Forløpere må kobles med " og" sammen . Når reglene er på plass kan du sende inn et spørsmål , og programmet vil svare "ja ", "nei " eller " kan ikke fortelle . "
Kvantifisering
en annen grunn til å bruke Prolog, er at det er veldig lett å uttrykke ting i Prolog som er vanskelig å uttrykke i andre språk . Det er lett å uttrykke fakta i Prolog, men det er også lett å uttrykke komplekse sammenhenger fordi Prolog bruker kvantifisering logikk i stedet for enklere logikken brukes av andre språk . Kvantifisering betyr bare at en variabel kan ha attributter --- med andre ord, er det ikke bare «Hvis A og B da er C « Det kan også være "Hvis en (a, b, c ) og B ( m, n ) og deretter C ( A, B, N) ", hvor a, b, c, m og n er attributter av A, B og C. Hvis for eksempel ligger mellom ( x , y, z ) og mellom (x, k , y) deretter mellom ( x , k , z ) " ville være vanskelig å uttrykke i andre språk --- det ville sikkert ta mer enn én linje på noe annet språk .
Unification
grunnen til at mange mennesker velger Prolog er at det vil automatisk søke etter et svar . Dette kan gjøres på andre språk , men det er ikke automatisk og vil involvere hundrevis eller tusenvis av linjer med kode . Prolog virkelig får sin strøm fra logiske verktøy som kvantifisering og forening . Unification betyr bare at to ting ikke trenger å være lik matche så lenge de kan bli gjort lik ved hjelp av noen liste over erstatninger. for eksempel er P ( j , g ) ikke lik til P ( k , g ), men de kan bli gjort lik if ( j = k ) er på erstatning listen. Unification gjør det enkelt å søke etter noe fordi når Prolog svarer "ja" eller "nei" det vil også returnere substitusjon liste som er nødvendig for å gjøre ting fungerer . hvis for eksempel det faktum Hund ( rik , benji ) er i din data base og du stiller spørsmålet "Dog ( rik , x )" . Prolog vil returnere " ja" og byttelisten ( x = benji ) .