Sobes.tech
Middle

Čo je to logické programovanie?

sobes.tech AI

Odpoveď od AI

Logické programovanie je paradigma programovania založená na formálnej logike. Program je opísaný ako súbor faktov a pravidiel, nie ako sled inštrukcií na vykonanie.

Hlavné koncepty:

  • Fakty: Vyhlásenia považované za pravdivé (napríklad rodič(ivan, pavel)).
  • Pravidlá: Opisy závislostí medzi faktami (napríklad dedko(X, Y) :- rodič(X, Z), rodič(Z, Y), čítané ako "X je dedko Y, ak X je rodič Z a Z je rodič Y").
  • Dopyty: Otázky kladené programu na získanie informácií (napríklad ?- dedko(ivan, Kto?), "Kto je vnuk Ivana?").

Proces vykonávania programu spočíva v hľadaní dôkazu pravdivosti dopytu na základe daných faktov a pravidiel, pomocou mechanizmov záveru (napríklad rezolúcie).

Najznámejším jazykom logického programovania je Prolog.

Aplikácie v QA:

  • Špecifikácie požiadaviek v logickej forme.
  • Automatické generovanie testov na základe špecifikácií.
  • Analýza obmedzení a závislostí v systéme.
  • Formálna verifikácia vlastností systému.

Príklad v Prologu:

// Fakty
rodič(ivan, pavel).
rodič(pavel, anna).
rodič(ivan, maria).

// Pravidlá
dedko(X, Y) :- rodič(X, Z), rodič(Z, Y).

// Dopyt
// ? - dedko(ivan, Kto?).
// Odpoveď: Kto = anna.