Intellektual tizimlar


Struktura programmы na Prologe



Download 5,12 Mb.
bet96/118
Sana10.06.2022
Hajmi5,12 Mb.
#651729
1   ...   92   93   94   95   96   97   98   99   ...   118
Bog'liq
Тафаккурли ахб техн кулланилиши 2022

1.1.3. Struktura programmы na Prologe. Programma na yazыke PROLOG vklyuchayet sleduyuщiye osnovnыye razdelы:

  • opisaniye imen i struktur obyektov (domains);

  • opisaniye predikatov – nazvaniy otnosheniy, suщyestvuyuщix mejdu obyektami (predicates);

  • razdel selevыx utverjdeniy (goal), kotorыy mojet otsutstvovat; v etom sluchaye programma budet zaprashivat selevoye utverjdeniye pri zapuske;

  • opisaniye faktov i pravil, opisыvayuщix otnosheniya (clauses).

Imena obyektov (konstant) v PROLOGe pishutsya s malenkoy bukvы, a peremennыx – s bolshoy.
Rassmotrim, kak mojno opisat na PROLOGe zadachu iz nekotoroy predmetnoy oblasti, naprimer geografii.
Programma 1
DOMAINS
gorod, strana = symbol
PREDICATES
situ(gorod,strana)
CLAUSES
situ (london, england).
situ (petersburg, russia).
situ (kiev, ukraine).
situ (pekin, asia).
situ (warszawa, poland).
situ (berlin, europe).
situ (X, europe):- situ (X, russia).
situ (X, europe):- situ (X, poland).
Vыrajeniye
situ(kiev, ukraine)
opisыvayet tot fakt, chto gorod Kiyev naxoditsya na Ukraine. Raneye v programme bыl vveden sootvetstvuyuщiy predikat, rabotayuщiy s obyektami simvolnogo tipa. Nazvaniye goroda i stranы zdes yavlyayutsya konstantami, poetomu po pravilam PROLOGa ix nujno pisat s malenkoy bukvы. Vmesto bloka opredeleniy:
DOMAINS
gorod, strana = symbol
PREDICATES
situ(gorod,strana)
mojno bыlo prosto opisat predikat:
PREDICATES
situ(symbol, symbol)
Inogda pervыy variant predpochtitelneye, poskolku pozvolyayet osenivat semanticheskiy smыsl argumentov predikata.
V konse razdela clauses Programmы 1 opisanы dva pravila. Pravilo zadayet novыy predikat cherez predikatы, opredelennыye raneye. Pravilo sostoit iz golovы (predikata) i tela – posledovatelnosti predikatov. Golova otdelyayetsya ot tela znachkom :- kotorыy mojno interpretirovat kak slovo «Yesli». Takim obrazom, zaklyucheniye yavlyayetsya golovoy pravila, a telo pravila sostoit iz nabora posыlok.
Ispolzovaniye pravil yavlyayetsya osnovnыm sposobom predstavleniya znaniy v intellektualnыx sistemax.
Smыsl pravila sostoit v tom, chto sel, yavlyayuщayasya golovoy, budet istinnoy, yesli interpretator PROLOGa smojet pokazat, chto vse vыrajeniya (podseli) v tele pravila yavlyayutsya istinnыmi.
V pravilax bukva X (ili lyubaya drugaya zaglavnaya bukva, ili lyuboye slovo, nachinayuщyeyesya s zaglavnoy bukvы) oboznachayet peremennuyu, kotoraya mojet prinimat raznыye znacheniya.
Tak, pravilo
situ (X, europe):- situ (X, poland)
oznachayet, chto lyuboy polskiy gorod yavlyayetsya odnovremenno yevropeyskim gorodom. Dobavleniyem novыx pravil mojno popolnyat i modifisirovat opisaniye zadachi. Yesli mы xotim opisat tot fakt, chto vse goroda Fransii yavlyayutsya odnovremenno yevropeyskimi gorodami, to dostatochno dobavit vsego odno pravilo
situ (X, europe):- situ (X, france)
i mojno budet po-prejnemu ispolzovat vse ostalnыye faktы o gorodax Yevropы.
V PROLOGe mojno ispolzovat sostavnыye obyektы. Sostavnыye obyektы pozvolyayut opisыvat iyerarxicheskiye strukturы, v kotorыx opisaniye odnogo predikata vklyuchayet v sebya opisaniye drugix predikatov.
Naprimer:


Programma 2
DOMAINS
personal_library=book(title,author,publication)
publication= publication(publisher,year)
collector,title,author,publisher=symbol
year=integer
PREDICATES
collection(collector, personal_library)
CLAUSES
collection(“Ivanov”,book(“Voyna i mir”, “Lev Tolstoy”,
publication(“Prosveщyeniye”,1990))).
Pri opisanii pravil chasto voznikayet neobxodimost ispolzovat logicheskiye svyazki I i ILI. V kachestve svyazki I ispolzuyetsya zapyataya, a v kachestve svyazki ILI – tochka s zapyatoy. Naprimer:
gigant(X) :- rost(X,Y),Y>200.
star_or_mlad(X) :- X>70; X<10.
PROLOG imeyet bolshoye kolichestvo vstroyennыx predikatov, t.ye. predikatы, opredelyayemыye avtomaticheski. Naprimer, vstroyennыy predikat nl vыzыvayet perevod stroki, a vstroyennыy predikat write primenyayetsya dlya vыvoda informasii na ekran. Vstroyennыye predikatы ispolzuyutsya tak je, kak i opredelyayemыye polzovatelem predikatы, no vstroyennыy predikat ne mojet yavlyatsya golovoy pravila ili poyavlyatsya v fakte.
Chasto ispolzuyemыmi vstroyennыmi predikatami yavlyayutsya = (unifikasiya) i logicheskoye otrisaniye not. Naprimer:
student(X) :- X=”Petrov”; X=”Ivanov”.
xor_student(X) :- not(X=”Petrov”), not(X=”Ivanov”).
planeta(X) :- not(X=”solnse”).
Utverjdeniye not(X = Y) ekvivalentno X<>Y.
Inogda bыvayet polezno ispolzovat predikatы, pro kotorыye zaraneye izvestno, istinnы oni ili lojnы. Dlya etix seley ispolzuyut predikatы true i fail. Predikat true vsegda istinen, v to vremya kak fail vsegda lojen. Posledniy predikat ispolzuyetsya dlya upravleniya prosessom resheniya zadachi na PROLOGe.
PROLOG-programma mojet ispolzovat kommentarii, kotorыye ne vliyayut na vыpolneniye programmы, no mogut okazat pomoщ cheloveku, chitayuщyemu programmu. PROLOG ignoriruyet proizvolnoye chislo strok, zaklyuchennoye mejdu simvolami /* i */. Vse, chto naxoditsya mejdu % i konsom stroki, takje rassmatrivayetsya kak kommentariy:
/* Zdes zapisan
kommentariy */
% Eto toje kommentariy
Pri opisanii konkretnoy predmetnoy oblasti obыchno imeyetsya nabor isxodnыx faktov i pravdopodobnыx dopuщyeniy, na osnovanii kotorыx formuliruyutsya pravila.
Rassmotrim, kakim obrazom na PROLOGe mojno opisat zadachu o semeynыx otnosheniyax.
Pust imeyutsya faktы ob otsovstve:
1) Ivan – otes Igorya.
2) Ivan – otes Sidora.
3) Sidor – otes Lizы.
Vvedem takje tri predikata:
Mujchina (x), oznachayuщiy, chto x – mujchina,
Yedinokrovnыy (x,y), oznachayuщiy yedinokrovnost x i y,
Brat (x,y), oznachayuщiy, chto x brat y.
Spravedlivы, ochevidno, sleduyuщiye pravila:
1) «Vse otsы – mujchinы».
2) «Yesli u detey odin otes, to oni yedinokrovnы».
3) «Brat – eto yedinokrovnыy mujchina».
Rassmotrim vыvod resheniya pri otvete na vopros:
«Yest li bratya u Igorya?».
Programma 3
DOMAINS
person = symbol
PREDICATES
otec(person,person)
man(person)
brat(person,person)
CLAUSES
man(X):-otec(X,_).
brat(X,Y):-otec(Z,Y),otec(Z,X),man(X),X<>Y.
otec(ivan,igor). otec(ivan,sidor). otec(sidor,lisa).
Vo vtorom pravile programmы ukazano usloviye X<>Y. Eto pozvolyayet opisat PROLOG-programme tot fakt, chto chelovek ne mojet bыt sobstvennыm bratom.
Posle zaprosa
goal: brat(igor,X)
Sistema vыdast
X = sidor
Eto otvechayet nashim predstavleniyam o pravilnom reshenii.
Privedennыye primerы primitivnы, no oni pozvolyayut predstavit neojidannost i poleznost resheniy, kotorыye mojet sgenerirovat PROLOG pri bolshom kolichestve faktov i pravil v slojnoy predmetnoy oblasti.

Download 5,12 Mb.

Do'stlaringiz bilan baham:
1   ...   92   93   94   95   96   97   98   99   ...   118




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish