Middle
Məntiqi proqramlaşdırma nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Məntiqi proqramlaşdırma, rəsmi məntığa əsaslanan proqramlaşdırma paradigmasıdır. Proqram, icra üçün əmrlər ardıcıllığı kimi deyil, faktlar və qaydalar toplusu kimi təsvir edilir.
Əsas anlayışlar:
- Faktlar: Doğru sayılan bəyanatlar (məsələn,
valideyn(ivan, pavel)). - Qaydalar: Faktlar arasındakı asılılıqları təsvir edir (məsələn,
baba(X, Y) :- valideyn(X, Z), valideyn(Z, Y), "X, Y-nin babasıdır, əgər X Z-nin valideynidir və Z Y-nin valideynidir"). - Sorğular: Proqrama məlumat almaq üçün verilən suallar (məsələn,
?- baba(ivan, Kim?), "Ivanın nəvəsi kimdir?").
Proqramın icra prosesi, verilmiş faktlar və qaydalar əsasında sorğunun doğru olduğunu sübut etməyə çalışmaqdır, çıxarış mexanizmləri (məsələn, rezolyusiya) istifadə edilərək.
Ən məşhur məntiqi proqramlaşdırma dili Prologdur.
QA-da tətbiqlər:
- Tələblərin məntiqi formada spesifikasiyası.
- Spesifikasiyalara əsaslanan avtomatik testlərin yaradılması.
- Sistem daxilində məhdudiyyətlərin və asılılıqların analizi.
- Sistem xüsusiyyətlərinin rəsmi təsdiqi.
Prolog nümunəsi:
// Faktlar
valideyn(ivan, pavel).
valideyn(pavel, anna).
valideyn(ivan, maria).
// Qaydalar
baba(X, Y) :- valideyn(X, Z), valideyn(Z, Y).
// Sorğu
// ? - baba(ivan, Kim?).
// Cavab: Kim = anna.