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).
// Сўров
// ? - бобо(иван, Ким?).
// Жавоб: Ким = ана.