Laboratoare inteligență artificială

Previzualizare laborator:

Extras din laborator:

Operatori numerici în Lisp

Sintaxa generală este:

(operator argumente)

Această structură poartă numele de expresie Lisp sau formă Lisp, fiind folosite şi denumirile de expresie simbolică sau s-expresie (sau sexp).

În Lisp se pot utiliza următorii operatori numerici:

Operator Descriere

+ adunare

1+ adună unu

* înmulţire

- diferenţă

1- scade unu

/ împărţire

Numărul de argumente este specific fiecărui operator. Astfel, de exemplu, operatorul 1+, care adună 1 la argumentul său, are un singur argument:

(1+ 5)

pe când, operatorul +, de exemplu, are un număr nelimitat de argumente:

(+ 1 2 3 4 5 6 7 8 9)

Exerciţiu

Indicaţi expresia care se doreşte a fi calculată, dacă în Lisp s-a utilizat următoarea s-expresie:

(+ (* (1+ 1) 3) (1+ (* 2 2)))

Liste

S-a definit o listă simplă ca fiind o secvenţă de atomi între paranteze. Mai departe şi acestea pot fi combinate şi încadrate între alte perechi de paranteze formând liste de nivel superior. Foarte multe structuri de date concrete pot fi reprezentate în LISP cu ajutorul listelor.

Astfel, mulţimile cu un număr finit de elemente pot fi reprezentate ca liste. De exemplu, mulţimea echipelor de fotbal dintr-o divizie ar putea fi reprezentată astfel:

(STEAUA DINAMO RAPID)

iar mulţimea materiilor din anul IV, semestrul I ar putea fi reprezentate astfel:

(SISTEME OPERARE)

(INTELIGENTA ARTIFICIALA)

Un caz aparte îl constituie mulţimea vida, pentru care LISP-ul utilizează lista vidă, notată printr-o pereche de paranteze rotunde ”()”. Pentru lista vidă în LISP mai exista reprezentarea de tip atom special, NIL.

Dar, simbolul NIL poate avea în LISP unul din următoarele înţelesuri:

- valoarea de adevăr "fals" (cu observaţia că orice este diferit de NIL este considerat "adevărat")

- atomul simbolic

- lista vida

In notaţia de listă poate fi transpus şi un arbore. Astfel, de exemplu, următorul arbore:

s-ar putea reprezenta în Lisp sub următoarea formă:

((Expresie)

(Atom

(Număr

(Întreg)

(Real)

)

(Simbol)

)

(Lista)

)

De remarcat faptul că limbajul LISP are un format liber şi se recomandă folosirea spaţiilor sau liniilor noi pentru a oferi programelor un aspect cât mai lizibil. De asemenea, atunci când este necesar, este recomandabilă utilizarea comentariilor.

Un alt aspect abordat în continuare este cel impus de o regula sintactica a acestui limbaj, şi anume obligativitatea închiderii tuturor parantezelor deschise. Respectarea acestei reguli este uneori destul de dificilă (mai ales în cazul utilizării unor liste puternic imbricate). De aceea se foloseşte următoarea prescurtare, care, nu este o construcţie sintactică: la sfârşitul unei liste se va folosi paranteza pătrată ‘]’ ca prescurtare a tuturor parantezelor rotunde ‘)’ care mai trebuie închise (regulă valabilă doar pentru anumite versiuni de Lisp, printre care şi Allegro). Astfel,

(A (B (C (D (E (F] este echivalent cu (A (B (C (D (E (F))))))

În plus, se admite şi convenţia parantezei pătrate deschise ‘[’‚ care echivalează cu una rotundă deschisa, ’(’, semnalând însă punctul până la care corespondenta sa ’]’ poate închide toate parantezele rotunde ’)’ rămase deschise. Astfel,

(A [C (E (F] G] este echivalent cu (A (C (E (F))) G)

Observații:

laboratoarele 2,3,4,5

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • IA_2008_Lab02.doc
  • IA_2008_Lab03.doc
  • IA_2008_Lab05.doc
  • Laborator 4.doc
Alte informații:
Tipuri fișiere:
doc
Nota:
7/10 (1 voturi)
Nr fișiere:
4 fisiere
Pagini (total):
44 pagini
Imagini extrase:
44 imagini
Nr cuvinte:
12 905 cuvinte
Nr caractere:
65 379 caractere
Marime:
117.82KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Laborator
Domeniu:
Inteligența Artificială
Predat:
la facultate
Materie:
Inteligența Artificială
Sus!