A célok elkülönítése

Az angol szakemberek könyve, amely tartalmazza a logikai programozás alapjait és a Prolog nyelv tulajdonságait - az ötödik generációs számítógép alapnyelvét. Ennek a nyelvnek az alkalmazási területei a szakértői rendszerek, az intelligens adatbázisok, a természetes nyelv feldolgozása, a fordítók fejlesztése, fejlesztése. A könyv hasznos a Prolog nyelv első olvasásához.







Könyv: PROGRAMOZÁS A PROLOGUE NYELVÉBEN

A célok elkülönítése

A célok elkülönítése

A maszk '; meghatározza a célkifejezések diszjunktusát (vagyis azt jelenti). Ha X és Y - bizalom jóváhagyásával, a cél nyilatkozat X, Y összhangban van az adatbázisban, ha a megállapodás X vagy Y. Ha X nem egyezik, akkor egy kísérlet történt bizonyítani az összhang a Y. Ha Y nem ért egyet, ez nem felel meg, és az egész diszjunkciót . Tudjuk használni funktorhoz „;” kifejezni alternatívákat egyetlen követelést. Például feltételezzük, hogy egy objektum egy személy, ha ez a tárgy - akár Ádám vagy Éva, vagy ha az objektum az anya. Mi lehet kifejezni, hogy egy szabály a következő:

személy (X): - (X = adam, X = eva, anya (X, Y)).







Ebben a szabályban ténylegesen három alternatívát azonosítottunk. A Prolog esetében azonban ez a szabály két alternatívát tartalmaz, amelyek közül az egyik két alternatíva. Mivel a függvény ';' épül, és határozzák meg, mint a jobb asszociatív operátor segítségé- vel, a cél nyilatkozat a fenti szabály valóban lehet újraírni az alábbiak szerint:

';' (X = adam, ';' (X = eva, anya (X, Y)))

Így az első lehetőség megfelel annak a ténynek, hogy X egy adam. A második lehetőség két alternatíva: X az eva vagy X van anyja

A diszunciót bárhol használhatjuk, ahol bármely más célnyilatkozatot használhatunk a Prologon. Ajánlatos további zárójeleket alkalmazni, hogy elkerülhetők legyenek a piaci szereplők kölcsönhatásait érintő félreértések "; és ','. Általában elkerülhetjük a diszjunkciót olyan tények és szabályok felhasználásával, amelyek esetleg további további predikátumok meghatározását tartalmazzák. Például a fenti példa pontosan megegyezik az alábbiakkal:

Ez a lehetőség hagyományosabb és talán könnyebben olvasható. Számos Prolog rendszer esetében hatékonyabb lehet a ';' használatával.

Az eredmény a vágás a képtelenség, hogy módosítsa a kiválasztás az alternatívák jelenléte miatt a diszjunkcióban után összehasonlítása szabályt tartalmazó nyírás (lásd. Ch. 4). Ennek következtében számos olyan eset fordul elő, ahol a vágást tartalmazó programot nem lehet rendes programká konvertálni, a diszjunktus használata nélkül. Általában azonban nem ajánlott túl gyakran használni a ";" Figyelmeztetésként utalunk Ch. 8, amely megmutatja, hogy a ";" megnehezíti a programok megértését.




Kapcsolódó cikkek