Sobes.tech
Middle

Барномаи мантиқӣ чист?

sobes.tech AI

Ҷавоб аз AI

Мантиқӣ програмигӣ — формалӣ логикага асосланган дастурлашнинг пардигмаси. Дастур ишга тушириш учун қоидалар ва фактлар тўплами сифатида тасвирланади, ишга тушириш учун қўйилган амрлар қатори сифатида эмас.

Асосий тушунчалар:

  • Фактлар: ҳақиқат деб ҳисобланган баёнотлар (масалан, ота(иван, павел)).
  • Қоидалар: фактлар ўртасидаги боғлиқликларни тасвирлайди (масалан, бобо(X, Y) :- ота(Х, Z), ота(Z, Y), буни ўқиш мумкин: "X Yнинг бобоси, агар X Zнинг отаси бўлса ва Z Yнинг отаси бўлса").
  • Сўровлар: дастурга маълумот олиш учун берилган саволлар (масалан, ?- бобо(иван, Ким?), "Иваннинг неваси ким?").

Дастурни ишга тушириш жараёни, берилган фактлар ва қоидалар асосида сўровнинг ҳақиқийлигини исботлашга қаратилган, бу учун чиқариш механизмлари (масалан, резолюция) қўлланади.

Энг машҳур мантиқий дастурлаш тили — Prolog.

Қўлланишлари QAда:

  • Талаблар спецификацияси мантиқий шаклда.
  • Спецификацияларга асосланган автоматик тестлар яратиш.
  • Тизимда чекловлар ва боғлиқликларни таҳлил қилиш.
  • Тизим хусусиятларини расмий тасдиқлаш.

Prologда мисол:

// Фактлар
ота(иван, павел).
ота(павел, ана).
ота(иван, мария).

// Қоидалар
бобо(X, Y) :- ота(X, Z), ота(Z, Y).

// Сўров
// ? - бобо(иван, Ким?).
// Жавоб: Ким = ана.