Sobes.tech
Middle

Mi az a logikai programozás?

sobes.tech MI

Válasz az MI-től

A logikai programozás egy olyan programozási paradigma, amely a formális logikán alapul. A programot tények és szabályok halmazaként írjuk le, nem pedig végrehajtási utasítások sorozataként.

Főbb fogalmak:

  • Tények: Igaznak tekintett állítások (például szülő(ivan, pavel)).
  • Szabályok: A tények közötti függőségek leírása (például nagyszülő(X, Y) :- szülő(X, Z), szülő(Z, Y), amit úgy olvasunk, hogy "X nagyszülő Y-nak, ha X szülője Z-nek, és Z szülője Y-nak").
  • Lekérdezések: Kérdések a programhoz információ szerzése érdekében (például ?- nagyszülő(ivan, Ki?), "Ivan unokája ki?").

A program végrehajtási folyamata a tények és szabályok alapján való bizonyítás keresése a kérdés igazságára, következtetési mechanizmusok (például felbontás) alkalmazásával.

A legismertebb logikai programozási nyelv a Prolog.

Alkalmazások QA-ban:

  • Követelmények specifikációja logikai formában.
  • Automatikus tesztgenerálás a specifikációk alapján.
  • Korlátok és függőségek elemzése a rendszerben.
  • A rendszer tulajdonságainak formális ellenőrzése.

Prolog példával:

// Tények
szülő(ivan, pavel).
szülő(pavel, anna).
szülő(ivan, maria).

// Szabályok
nagyapa(X, Y) :- szülő(X, Z), szülő(Z, Y).

// Lekérdezés
// ? - nagyapa(ivan, Ki?).
// Válasz: Ki = anna.