Structura unui program prolog

Laborator
6.8/10 (4 voturi)
Conține 4 fișiere: doc, pro
Pagini : 8 în total
Cuvinte : 2800
Mărime: 21.16KB (arhivat)
Publicat de: Haralambie Miron
Puncte necesare: 0
Profesor îndrumător / Prezentat Profesorului: Iordan Anca

Extras din laborator

Structura unui program VISUAL PROLOG

Un program PROLOG conţine 4 secţiuni de bază:

“clauses”

“predicates”

“domains”

“goal”

Secţiunea “clauses” conţine faptele şi regulile cu care va opera PROLOG pentru satisfacerea interogărilor.

Secţiunea “predicates” este secţiunea în care se declară predicatele şi domeniile (tipurile) argumentelor.

Secţiunea “domains” cuprinde declarea domeniilor (tipurilor) utilizate în program şi care nu sunt domenii standard.

Secţiunea “goal” este secţiunea în care se fac interogările.

Secţiunea “CLAUSES”

Clauzele (faptele şi regulile) pentru un predicat trebuie amplasate împreună în secţiunea CLAUSES. O secvenţă de fapte şi reguli care definesc un predicat poartă numele de procedură.

Atunci când răspunde la o interogare, Visual Prolog va începe cu începutul secţiunii, „clauses” căutând o potrivire cu toate faptele şi regulile din această secţiune.

Secţiunea „PREDICATES”

Atunci când se defineşte un predicat în secţiunea clauses a unui program Visual Prolog, trebuie în prealabil declarat în secţiunea predicates prin care se comunică programului Visual Prolog despre ce este vorba. Există şi predicate predefinite în Visual Prolog care nu trebuie redeclarate. De asemenea vor trebui precizate domeniile argumentelor predicatului. Declararea unui predicat se face după sintaxa:

nume_predicat(tip_argument1, tip_argument2, ... )

Domeniile utilizate în declararea unui argument sunt fie domenii standard, fie domenii care au fost declarate în secţiunea DOMAINS.

Numele predicatelor trebuie să înceapă cu literă, urmată apoi de o secvenţă de litere, cifre şi eventual caracterul _ „underscore”. Nu are importanţă dacă literele utilizate sunt litere mari sau mici dar este recomandabil ca prima literă să fie literă mică, deoarece alte versiuni ale limbajului Prolog nu acceptă literele mari ca primă literă în numele unui predicat. Numele unui predicat nu poate depăşi 250 de caractere.

Exemple de nume de predicate:

Nume corecte de predicate Nume incorecte de predicate

fact [fact]

este_un *este_un*

are_o are/o

listaDeVerificare lista-De-Verificare

choose_Menu_Item choose Menu Item

predicateName predicate<Name>

Exemple

Se poate declara un predicat cu denumirea my_predicate(symbol, integer)în secţiunea predicates:

PREDICATES

my_predicate(symbol, integer)

pentru care nu este necesară declararea domeniilor argumentelor în secţiunea domains deoarece symbol şi integer sunt domenii standard. Dacă însă se declară predicatul my_predicate(name, number) în secţiunea predicates:

PREDICATES

my_predicate(name, number)

va fi necesară o declaraţie pentru cele două domenii name şi number care nu sunt domenii standard. Presupunând că se doreşte ca aceste domenii să corespundă domeniilor standard symbol şi integer, secţiunea declarării domeniilor va fi:

DOMAINS

name = symbol

number = integer

PREDICATES

my_predicate(name, number)

Următoarea secţiune de program prezintă mai multe astfel de declaraţii de predicate şi de domenii:

DOMAINS

persoana, activitate = symbol

masina, marca, culoare = symbol

kilometri, vechime, pret = integer

PREDICATES

place(persoana, activitate)

parinte(persoana, persoana)

poate_cumpara(persoana, masina)

masina(marca, kilometri, vechime, culoare, pret)

verde(symbol)

clasifica(symbol, integer)

Această secţiune de program specifică următoarele informaţii despre predicate şi despre argumentele lor:

Predicatul place are două argumente (persoana şi activitate), ambele aparţinând domeniului symbol (ceea ce înseamnă că valorile lor sunt alfanumerice)

Predicatul parinte are două argumente de tip persoana, unde domeniul persoana este de tip symbol.

Predicatul poate_cumpara are două argumente persoana şi masina, care sunt ambele de tip symbol.

Predicatul masina are 5 argumente marca şi culoare aparţin domeniului symbol, în timp ce kilometri, vechime şi cost aparţin domeniului integer.

Predicatul clasifica, are două argumente, ambele aparţinând domeniilor standard symbol şi integer, astfel încât nu mai este necesară declararea tipului acestora în secţiunea domains.

Preview document

Structura unui program prolog - Pagina 1
Structura unui program prolog - Pagina 2
Structura unui program prolog - Pagina 3
Structura unui program prolog - Pagina 4
Structura unui program prolog - Pagina 5
Structura unui program prolog - Pagina 6
Structura unui program prolog - Pagina 7
Structura unui program prolog - Pagina 8

Conținut arhivă zip

  • Structura unui Program ProLog.doc
  • ia2p2.pro
  • ia2p3.pro
  • ia2p1.pro

Alții au mai descărcat și

Rețea Neuronală

Proiectul de faţă îşi propune realizarea unei reţele neuronale cu maxim două straturi ascunse (hidden layer-e). Se lansează programul proiect1 şi...

Inteligența Artificială

I. Obiective 1 De ce utilizarea tehnicilor de IA sunt importante? Inteligenţa artificială este un domeniu important din punct de vedere economic,...

Utilizarea Rețelelor Neuronale în Recunoașterea Vorbirii

1. Aspecte generale Recunoasterea vorbirii este unul din domeniile prelucrarii de semnal vocal de deosebit interes în momentul de fata. Succesul...

Proiect Neuron

Un neuron artificial are mai multe cai de intrare care corespund arborelui dendritic.Neuronul pe care l-am construit are n cai de...

Inteligență artificială - prolog

1) Introducere Inteligenta Artificiala 1.1 Ce este inteligenta artificiala? Inteligenţa artificială (IA) este inteligenta maşinii şi ramură a...

Subiecte Rezolvate Sisteme Expert

Nr. 1A 1. Tratarea incertitudinii în cadrul sistemelor expert bazate pe reguli de productie. 2. Se considera urmatoarele reguli abstracte: R1:...

Calculul trezoreriei nete pe o perioadă de doi ani pentru determinarea anului favorabil și luarea deciziilor pentru evoluția intreprinderii

Introducere Marven Minsky când a fost întrebat ce este inteligența artificială a răspuns :”Există întotdeauna persoane care au nevoie să...

Scanarea Irisului

Tehnologia biometrica cea mai buna pentru autentificare este scanarea irisului. Dezvoltarea irisului (partea colorata a ochiului) este „haotica’’,...

Te-ar putea interesa și

Prolog

Una din principalele idei ale programarii logice este aceea ca un algoritm este constituit din doua elemente disjuncte: logica si control....

Analiza descriptivă și comparată a domeniilor de programare ORIE

INTRODUCERE În era digitală în care trăim, dezvoltarea software-ului reprezintă un aspect esențial al progresului tehnologic. Două paradigme...

Subiecte Rezolvate Sisteme Expert

Nr. 1A 1. Tratarea incertitudinii în cadrul sistemelor expert bazate pe reguli de productie. 2. Se considera urmatoarele reguli abstracte: R1:...

Cursuri inteligență artificială

1.1. Introducere Termenul de inteligenţă artificială a fost folosit pentru prima dată în 1956 de omul de ştiinţă american John McCarthy. Până...

Inteligență artificială

Laborator 1 Scopul: Insusirea ideilor fundamentale despre inteligenta artificiala, insusirea ideilor fundamentale despre programarea logica,...

Elemente de inteligență artificială

Cap. 1. INTRODUCERE 1.1 Istoric al Inteligenţei Artificiale Inteligenţa Artificială - IA (engl. Artificial Intelligence - AI) a luat fiinţă odată...

Inginerie Software

Fazele dezvoltării unui produs software 1 Ce este ingineria programării? 2. Fazele ingineriei programării 2.1. Faza de analiză 2.2. Faza de...

Bazele Inteligenței Artificiale

Limbajul PROLOG. Lansare mediu PROLOG Pentru dezvoltarea programelor, vom folosi implementarea SWIPROLOG. Lansarea acestuia se face apăsând...

Ai nevoie de altceva?