Sobes.tech
Middle

Шта је логичко програмирање?

sobes.tech АИ

Одговор од АИ

Logičko programiranje je paradigma programiranja zasnovana na formalnoj logici. Program se opisuje kao skup činjenica i pravila, a ne kao niz instrukcija za izvršenje.

Glavni koncepti:

  • Činjenice: Izjave koje se smatraju istinitim (na primer, roditelj(ivan, pavel)).
  • Pravila: Opisi zavisnosti između činjenica (na primer, deda(X, Y) :- roditelj(X, Z), roditelj(Z, Y), što se čita kao "X je deda Y ako je X roditelj Z, a Z je roditelj Y").
  • Upiti: Pitanja koja se postavljaju programu radi dobijanja informacija (na primer, ?- deda(ivan, Ko?), "Ko je unuk Ivana?").

Proces izvršavanja programa sastoji se u traženju dokaza o istinitosti upita na osnovu datih činjenica i pravila, koristeći mehanizme zaključivanja (na primer, rezoluciju).

Najpoznatiji jezik za logičko programiranje je Prolog.

Primene u QA:

  • Specifikacije zahteva u logičkom obliku.
  • Automatsko generisanje testova na osnovu specifikacija.
  • Analiza ograničenja i zavisnosti u sistemu.
  • Formalna verifikacija svojstava sistema.

Primer u Prologu:

// Činjenice
roditelj(ivan, pavel).
roditelj(pavel, ana).
roditelj(ivan, maria).

// Pravila
deda(X, Y) :- roditelj(X, Z), roditelj(Z, Y).

// Upit
// ? - deda(ivan, Ko?).
// Odgovor: Ko = ana.