Basics vizuális prolog

Alapjai Visual Prolog nyelv

1.1 Programozási logika

A Prolog, az oldat egy logikus következtetés az ismert pozíciókat. Általában a program Prolog nem egy akció-szekvencia - ez a tényállásra a szabályokat, így következtetések alapján ezeket a tényeket. Ezért Prolog ismert deklaratív nyelv.

Prolog alapul Horn kikötések, amelyek egy részét a formális rendszer, az úgynevezett elsőrendű logika. elsőrendű logika - a legegyszerűbb módja annak, hogy magyarázza el, hogyan „működik” a gondolkodás, és ez könnyebb, mint számtani, amit már használ. Prolog használ egy egyszerűsített változata a szintaxis a elsőrendű logika.

Prolog magában kiadási mechanizmust, amely alapul minták összehasonlítása. A kiválasztás a válaszok kéréseket beolvassa tárolják (ismert) információkat. Prolog megpróbálja érvényességének ellenőrzése a hipotézist (más szavakkal -, hogy válaszoljon a kérdésre), kérve az információkat, amelyek már tudjuk, hogy ez igaz. Prolog ismerete a világ - korlátozott tények (és szabályok) a programban meghatározott.

Az egyik legfontosabb jellemzője a Prologue - az, hogy amellett, hogy a logikus keresés a választ ezekre a kérdésekre, tudja kezelni az alternatívák, és megtalálja a lehetséges megoldásokat. Ahelyett, hogy a szokásos munka a program elején, hogy a végén a Prologue mehet vissza, és többet, mint egy „út” a probléma megoldásában minden alkatrészei.

elsőrendű logika úgy lett kialakítva, hogy a legegyszerűbb átalakítása elveinek logikus gondolkodás a felvehető formában. Prologue előnye szintaxis logikai szoftverfejlesztés nyelvet. Az elsőrendű logika ki kell zárni a javaslat összes releváns szó. Akkor átalakítani ezeket a javaslatokat, helyezzük el őket az első helyen hozzáállás, és utána - csoportosított objektumokat. Ezt követően az érvek tárgyak között, amelyre telepítették hozzáállás.

Egy természetes nyelv

Szintaxisa elsőrendű logika

Bill szereti a kocsi, ha az autó gyönyörű

szeret (Bill, autó), ha fun (autó)

Tények és szabályok

A program kidolgozásában a Prolog bemutatásához szükséges tárgyak (objektumok) és attitűdök (kapcsolatok), majd - a szabályok (szabályok), amelyben ezek a kapcsolatok igaz.

Bill szereti a kutyákat.

javaslat létrehozza objektumok közötti Bill és kutyák; ez a reláció szeret. A meghatározó szabály, ha a mondat igaz, valahogy így nézne ki:

Bill szereti a kutyákat, ha a kutya szép.

Az objektumok közötti nevezzük tény (tény). Tények - egy kapcsolat vagy tulajdonságokkal, amelyekről ismert, hogy van értéke „true”. Az arány áll a név és a kapcsolat a tárgy vagy tárgyak zárójelbe téve. Mint egy javaslatot, hogy a végpont.

Tények szét viszony kifejezésére és tulajdonságai:

Szabályok lehetővé teszik, hogy egy tény egyéb tényeket. Szabály - a következtetés, hogy amiről tudjuk, hogy ez igaz, ha egy vagy több más talált véleményeket vagy tények igazak. Szabályok - összefügg a kapcsolat. Ezek lehetővé teszik Prolog következtetni egyetlen információt a másiktól. A szabály van beállítva, hogy az „igazi”, ha bebizonyosodik, hogy egy adott feltételrendszer igaz.

Cindy szeret mindent, ami Bill szereti.

E szabály értelmében, kiderül, hogy

Cindy szereti a kutyákat.

Prolog szabályok a szintaxis más lesz:

szeret (cindy, valami): - szeret (számla, valami).

Symbol: - van értelme a „ha”, és arra szolgál, hogy elválassza a két része a szabály: fejléc és a test. Title - Tény, hogy igaz lenne, ha igaz lenne, hogy több feltételeket. Ez az úgynevezett terminális vagy függő kapcsolatban. A test - számos feltétel, hogy igaznak kell lennie, hogy a Prolog bizonyítani tudja, hogy a szabályok a főcím igaz.

A szabály lehet tekinteni, mint egy eljárást. A mi esetünkben ez így néz ki: „Annak bizonyítására, hogy Cindy szeret valamit, azt bizonyítják, hogy Bill szereti.” Az ilyen eljárási szempontból előírások végrehajtását teszik szükségessé minden olyan intézkedés, kivéve a bizonyítékok a tények - a nyomtatni valamit, vagy hozzon létre egy fájlt.

Miután kérve néhány a tényeket, kérdéseket tehet fel a köztük lévő kapcsolatot. Ezt nevezik a kérést (query) rendszer Prolog. Prologue mindig keresi a választ, hogy a lekérdezés az első tény, és ezen keresztül az összes tényt, amíg el nem fogynak.

A második esetben a második tárgy - Mi - kezdődik nagybetűvel, míg az első tárgy - cindy - horizontális. Ez azért van, mert Cindy - fix, helyhez kötött tárgy, ismert mennyiségű, és mi - változó.

Kézhezvételét követően a kérelmet, hogy szeret, Cindy, Prolog válaszolni fog:

Kéri (gól) lehet egyszerű vagy összetett. Komplex úgynevezett cél, amely két vagy több részből áll. És minden része egy komplex cél - egy al. Lehet, hogy a használata a konjunktív és diszjunktív társulási formák al-célokat. A karakterek használhatók zárni. és; volt.

Composite célokat is használható megoldást találni, amelynek során:

ü Mind a sub A és B igaz (együtt), al-felosztási pont:

ü részcél igaz, vagy A, vagy a részcél B (diszjunkciót), pontosvesszővel elválasztva subgoals.

Prolog változók mindig úgy kezdődik, nagybetűvel vagy aláhúzás.

Prolog nincs értékadó operátor. Változók kezdeti a prológ, ha összehasonlítjuk a állandók tény vagy szabály. Inicializálás előtt a változó szabadon, miután egy értéket rendelünk hozzá kötötté válik. A változó kötött csak annyi ideig, ami szükséges egy határozatot a kérelem, akkor a Prologue elengedi, és keres egy másik megoldást.

Nem lehet menteni az adatokat, hozzárendel egy értéket egy változónak. Változókat lehet használni, mint a folyamat részeként megoldásokat találjanak, nem pedig egy információs tárház.

Ez a példa kényelmes megfigyelni, hogy ő kiemelkedik a tényeket, amelyek a második érv - olvasás, egy személy változó kezdetben összefüggő ellen érték és a listát a tények arra törekszik tény megfelel a második része a lekérdezés: szereti (ellen, úszás). Mivel ez a tény sem, Prolog tények különböztet a következő tény, amely a második érv - olvasás, azaz szereti (Eric, olvasás) és egy változó személy társított érték Eric. Tovább a listán, akik a tények tény megfelel a második része a lekérdezés: szereti (Eric, úszás). És mivel ez a tény a hely, akkor Prolog megadja a választ:

A változók ilyen típusú akkor használjuk, ha a használni kívánt on-demand nem egy teljes és részletes információk a kérés, figyelmen kívül hagyva a felesleges értékeket. Ezek a változók által jelzett aláhúzás.

Anonymous változókat lehet használni a Prolog tényeket. Például a tényeket:

Ezek segítségével fejezzük ki a természetes nyelv: Mindenkinek megvan a száját. Minden italt.

Anonymous változók illeszkedik bármilyen adat.

articles = könyv (string Cím, string Szerző)

szeret (string nagybetűk, string kisbetűk)

Visual Prolog programot

A fő részei a programokat.

- Szakasz domének (tartományok);

- partíció predikátumok (predikátumok);

- szakasz kikötések (mondat);

- profil cél (célok).

Javaslat. Bármilyen javaslatot minden állítmány ebben a szakaszban kell összeilleszteni. A sorozat mondat leírására egy állítmány nevezett eljárás.

predikátumok részben. Ez felsorolja az összes predikátumok, amelyek eltérnek a standard (beépített VP) és a programban használt. Predikátumok szerepelni, jelezve típusú (domének) érveik.

1) az állítmány neve - egy betűkből, számokból és aláhúzás kezdődő nagybetűvel. A név hossza nem lehet több, mint 250 karakter. A neveket tilos a karakterek, mint a szóköz, -, *, stb.;

2) a domainek listáját (típusok) az alapul érvek zárójelbe téve.

Ezzel szemben a javaslatok alapján kikötések leírása az állítmány nem ér véget a kérdésben. Domains (típusát) érvek lehetnek szabványos, illetve domaint deklarált részben területen.

Argumentumainak száma állítmány - a számos érv tart. A program magában foglalja a két predikátum lehet használni az azonos nevű, de különböző argumentumainak száma.

Domain partíciót. Ha my_predikate (szimbólum, integer) predikátum bejelentett predikátumok szakaszban a következő módon:

my_predikate (szimbólum, integer)

my_predikate (név, szám),

A fent kell szakaszban leírt Domain

Domains lehetővé teszi különböző nevek különböző típusú adatokat.

imya, pol = szimbólum

személy (imya, pol, vozrast)

rovesnik (X, Y): - személy (X, Pol, Let), személy (Pol, Y, Let)

ha a változót használjuk egy mondatban egynél több állítmány, meg kell nyilvánítani azonos mindegyikben.

egy rövid, jelképes, mennyiségi

Kapcsolódó cikkek