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.