Prolog je skraćenica od LOGičko PROgramiranje. Prolog je deklarativni programski jezik. To znači da je paradigma programiranja takva da u jeziku opisujemo šta treba da se uradi, a ne kako.
Logičko programiranje je programska paradigma u kojoj programskim naredbama izražavamo činjenice i pravila kojima opisujemo/modelujemo problem, koji prati pravila formalne logike.
Pravila se zapisuju u obliku logičkih iskaza, gde postoji "glava"/head i "telo"/body. Ako je H glava a B1,B2,B3 elementi tela iskaza možemo da izrazimo pravilo oblika "H je tačno ako su B1,B2 i B3 tačni".
Činjenice su kao pravila, ali samo glava, bez tela, dakle oblika "H je tačno".
Prolog nije jedini logički jezik, ima ih gomila: ALF, ASP, Datalog, Janus, Parlog, Prolog++, ali jeste najpopularniji. A nije ni nova tehnologija, koncept je razvijan 60ih i 70ih.
Prolog je jezik četvrte generacije (vidi 7 Podela programskih jezika). Deklarativni pristup je posebno zgodan za programe koji rade simboličku / ne-numeričku obradu. To ga čini posebno zgodnim za primenu u veštačkoj inteligenciji, gde su manipulacija simbolima i inferencija (zaključivanje, izvođenje) osnovni zadaci. Neka polja primene su:
- inteligentna pretraga za podacima u bazama podataka
- razumevanje prirodnih jezika
- mašinsko učenje
- robot planning
- sistemi za automatizaciju
- rešavanje problema
Kada pišemo program ne pišemo korako kako se problem rešava, već opisujemo šta je problem i puštamo Prolog-ovu mašinu za logičko rezonovanje da na osnovu baze znanja-činjenica koje su mu date, izvede rešenje. Pogledajte šemu kako se sve to odnosi međusobno:

Prolog ima tri osnovna elementa:
Činjenice - Facts
Činjenica je predikat koji je tačan. Na primer, "Aragorn, son of Arathorn" je činjenica.
Pravila - Rules
Pravila su činjenice koje sadrže i uslovne iskaze. Da bi se pravilo zadovoljilo potrebno je da uslovi budu ispunjeni. Ako definišemo pravilo kao
deda(X,Y) :- otac(X,Z), roditelj (Z,Y)
onda da bi X bio deda Y-u, Z treba da bude roditelj Y-u a X treba da bude otac Z-u.
Kad smo već kod Aragorna, Aragorn, son of Arathorn, heir of Isildur bi bio iskaz za koji možemo da napravimo pravilo slično ovome, ali o tom potom.
Pitanja - Questions
Da bismo pokrenuli Prolog program trebaju nam pitanja, a na ta pitanja odgovore ćemo dobiti na osnovu činjenica i pravila.