Prolog ( Programmering i Logic) er en unik programmeringssprog. Den blev udviklet i Frankrig af forskere , der var interesseret i automatisk naturligt sprog oversættelse . Det blev perfektioneret i Skotland af forskere, der var interesserede i automatiske sætning køleraskeskab . Den kom til verdens opmærksomhed , da den japanske valgte det som grundsproget for deres " femte generation " Artificial Intelligence (AI) projekt. Der er en masse gode grunde til at bruge Prolog . Brug Prolog
En af de bedste grunde til at bruge Prolog er, at du ikke behøver at fortælle computeren, hvordan man løser et problem --- du bare nødt til at give computeren de regler , der er involveret i løsningen af problem. Prolog -programmer består af en nøje bestilt sæt af regler, der ligner dette: Hvis X og Y og Z derefter W. Dette regelsæt kan være grammatiske regler ( hvis du arbejder på naturlige sprog) eller regler om matematik ( hvis du arbejder på automatiske sætning køleraskeskab ) eller regler om ethvert domæne af interesse. Reglerne skal have denne formular : »Hvis ( helst antal fortilfælde --- inklusive nul fortilfælde ), derefter ( konklusion ) . " De fortilfælde skal forbindes med " og" sammenhæng . Når reglerne er på plads, kan du sende et spørgsmål , og programmet vil svare " ja", "nej " eller " kan ikke fortælle . "
Quantification
En anden grund til at bruge Prolog , er, at det er meget let at udtrykke ting i Prolog , som er vanskeligt at udtrykke i andre sprog. Det er let at udtrykke fakta i Prolog , men det er også let at udtrykke komplekse relationer, fordi Prolog bruger kvantificering logik i stedet for den simplere logik anvendes af andre sprog. Kvantificering betyder blot, at en variabel kan have attributter --- med andre ord , er det ikke bare " Hvis A og B derefter C " det kan også være " Hvis A (a , b, c ) og B ( m, n ) og derefter C ( a, b , n ) " hvor a, b, c , m og n er attributter af A, B og C. for eksempel: Hvis Mellem ( x , y, z ) og mellem ( x , k , y) og derefter mellem (x, k , z) "ville være svært at udtrykke på et andet sprog --- det ville helt sikkert tage mere end én linje på et andet sprog .
Unification
grunden til at mange mennesker vælger Prolog er, at det automatisk vil søge efter et svar. Dette kan gøres på andre sprog , men det er ikke automatisk og vil involvere flere hundrede eller tusindvis af linjer kode. Prolog virkelig får sin strøm fra logiske værktøjer som kvantificering og forening . Unification betyder blot, at to ting ikke behøver at være lig med matche så længe de kan gøres lige ved hjælp af nogle liste substitutioner . for eksempel er P ( j , g ) ikke lig til P ( k , g ), men de kan gøres lige if ( j = k ) er på den stedfortræder listen. Unification gør det nemt at søge efter noget , fordi når Prolog svarer "ja" eller "nej" det vil også returnere substitution liste, der er nødvendig for at gøre tingene arbejde. for eksempel, hvis den kendsgerning Dog ( rige, Benji ) er i din database , og du stiller spørgsmålet "Dog ( rige, x )" . Prolog vil vende tilbage "ja" og substitution listen (x = Benji ) .