Sobes.tech
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.