Capacitatea individului de a se adapta şi de a rezolva situaţii noi pe baza experienţei acumulate anterior
Capacitatea individului de a se adapta şi de a rezolva situaţii noi pe baza experienţei acumulate anterior
Dicţionarul Explicativ al Limbii Române (DEX)
IA este ştiinţa, parte a informaticii, care proiectează sisteme artificiale cu comportament inteligent – adică sisteme ce manifestă proprietăţi pe care în mod obişnuit le asociem cu existenţa inteligenţei în comportamentul uman - înţelegerea limbajului, învăţare, raţionament, rezolvarea problemelor ş.a.m.d.
IA este ştiinţa, parte a informaticii, care proiectează sisteme artificiale cu comportament inteligent – adică sisteme ce manifestă proprietăţi pe care în mod obişnuit le asociem cu existenţa inteligenţei în comportamentul uman - înţelegerea limbajului, învăţare, raţionament, rezolvarea problemelor ş.a.m.d.
diferenţa dintre comportament, ce poate fi obiectivat, şi acel ceva adânc, personal şi indefinibil care provoacă comportamentul…
al inteligenţei artificiale tari (mecanicist)
al inteligenţei artificiale tari (mecanicist)
gândire = calcul
toate trăirile care implică conştiinţa reprezintă rezultate ale unor calcule
univers = un imens calculator
E=mc2: fenomenele ce se desfăşoară în celulele creierului pot fi gândite matematic, deci simulate pe un alt mediu computaţional decât cel original conştiinţa însăşi ar putea fi redată pe o maşină
al inteligenţei artificiale slabe:
al inteligenţei artificiale slabe:
Da, conştiinţa este un rezultat al acţiunilor fizice ale creierului
Da, orice acţiune fizică poate fi reprodusă computaţional
Dar simularea computaţională nu trezeşte sau nu presupune şi conştiinţă un robot care trece testul Turing în mare măsură simulează înţelegerea fără ca aceasta să aibă cu adevărat loc
Un calculator supersofisticat care „înţelege” un text în chineză
Un calculator supersofisticat care „înţelege” un text în chineză
Un programator inteligent care reproduce comportamentul programului – fără să „înțeleagă” chineza
problematica testului Turing este redusă la prelucrări dibace de șiruri de caractere
care se pot ridica la concepte…
realist: nu acceptă nici măcar posibilitatea unei reproduceri realiste a conştiinţei.
realist: nu acceptă nici măcar posibilitatea unei reproduceri realiste a conştiinţei.
Mai devreme sau mai târziu, dacă dialogul continuă, maşina trebuie să se dea de gol
Efectele externe ale conştiinţei nu pot fi simulate corespunzător
Există manifestări ale conştiinţei care nu pot fi explicate prin legile cunoscute ale fizicii şi, ca urmare, nu pot fi reproduse computaţional
Mistic: conştiinţa nu poate fi explicată în termeni fizici
Mistic: conştiinţa nu poate fi explicată în termeni fizici
Știinţa e neputincioasă în tentativa de a explica conştiinţa
Raţionament automat şi demonstrarea teoremelor (theorem proving, problem solving)
Înţelegerea limbajului natural (natural language processing)
Vederea artificială (vision)
Planificare şi robotică (robotics)
Învăţare automată (learning)
Sisteme expert (expert systems)
Practical Common Lisp, by Peter Seibel, Amazon's #1 Lisp Book
Practical Common Lisp, by Peter Seibel, Amazon's #1 Lisp Book
Totul despre Lisp: http://www.apl.jhu.edu/~hall/lisp.html
Stuart Shapiro: http://www.cse.buffalo.edu/pub/WWW/faculty/shapiro/Commonlisp/commonLisp.pdf
Guy L. Steele Jr. & Richard P. Gabriel: The Evolution of Lisp
Common Lisp – the Language, second edition: http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/
Despre macro-uri http://www.apl.jhu.edu/~hall/Lisp-Notes/Macros.html
Downloads: http://www.franz.com/downloads/#acl
History of Lisp, by John McCarthy http://www-formal.stanford.edu/jmc/history/lisp/lisp.html
Paul Graham: On Lisp (bibliotecă)
Programare in inteligenta artificiala. Lisp si Prolog, Horia Pop
Programare in inteligenta artificiala. Lisp si Prolog, Horia Pop
Programare in Lisp, Stefan Trausan-Matu, 2004
Lisp, Lore and Logic, W. Richard Stark, 1989
Computer algebra with Lisp and Reduce, F. Brackx, 1991
Performantele inteligentei artificiale - de la teorie la aplicatii, Titu I. Bajenescu, 2002
On Lisp - Advanced Techniques for Common Lisp, Paul Graham, 1994 (xerocopie)
Artificial Intelligence with Common Lisp, James L. Noyes, 1992 (xerocopie)
Giumale et al. 1987, Lisp, 2 vol.
Baza de date a bibliotecii poate fi consultată din pagina de internet a Bibliotecii Centrale Universitare: http://www.bcu-iasi.ro/, accesând Catalogul on-line.
Lisp - unul din cele mai vechi limbaje
Lisp - unul din cele mai vechi limbaje
Vara lui 1956 (Dartmouth Summer Research Project on AI):
Newell, Shaw and Simon sunt preocupaţi să scrie un program de demonstrare automată a teoremelor. Ei simt nevoia unui limbaj care să le permită să manipuleze uşor expresii simbolice utilizând structuri de liste. IPL 2, un limbaj de procesare a listelor (va rula pe calculatorul JOHNNIAC al lui Rand Corporation). In acest limbaj ei vor implementa programul lor The Logic Theorist.
John McCarthy se preocupă de o soluţie algebrică a derivabilităţii funcţiilor. El crede că s-ar putea scrie definiţii recursive pentru derivarea simbolică
Dif(f(x)*g(x)) = Dif(fx)*g(x) + f(x)*Dif(g(x))
Cum se pot scrie definiţii de funcţii recursive folosind expresii conditionale?
Cum se pot scrie definiţii de funcţii recursive folosind expresii conditionale?
Limbajul cel mai evoluat de programare: FORTRAN
Definiţia de funcţie:
function f(x)
...corpul funcţiei
return(valoare)
Instrucţiunea if:
if(expresie) et1, et2, et3
La propunerea lui McCarthy, IBM este de acord să finanţeze un proiect de dezvoltare a unui limbaj simbolic plecând de la FORTRAN:
Herbert Gelernter şi Carl Gerberich de la IBM descriu FLPL (FORTRAN List Processing Language)
Totuşi FLPL nu avea nici expresii condiţionale, nici funcţii recursive, iar ştergerea listelor era făcută explicit de program
Totuşi FLPL nu avea nici expresii condiţionale, nici funcţii recursive, iar ştergerea listelor era făcută explicit de program
Cum să descrii expresii condiţionale?
McCarthy scrie în FORTRAN o funcţie XIF(M,N1,N2) la apel se evaluează atât N1 cât şi N2!!
Vara lui 1958: McMarthy o petrece la IBM Information Research Department, încercând să scrie în FLPL un program de diferenţiere simbolică. Apar câteva idei (imposibil de realizat în FLPL):
Vara lui 1958: McMarthy o petrece la IBM Information Research Department, încercând să scrie în FLPL un program de diferenţiere simbolică. Apar câteva idei (imposibil de realizat în FLPL):
folosirea funcţiilor pe post de argument în alte funcţii
McCarthy îşi aduce aminte de notaţia de funcţii a lui Alonso Church (1941), inventatorul -calculului, în care se pun în evidenţă parametrii formali ai funcţiei şi corpul ei
(x) = x+2+y
(x,y) = x+y
funcţia maplist care formează o listă de aplicaţii ale unui argument funcţional elementelor unei liste
Necesară pentru diferenţierea sumelor/produselor de oricât de mulţi termeni/factori.
ştergerea listelor abandonate...
Soluţia ştergerii la cerere apărea neelegantă.
Toamna lui 1958: John McCarthy este asistent la M.I.T. Împreună cu Marvin Minsky, el implementează prima versiune de Lisp:
Toamna lui 1958: John McCarthy este asistent la M.I.T. Împreună cu Marvin Minsky, el implementează prima versiune de Lisp:
ca interpretor
funcţiile de bază ale Lisp-ului actual
notaţia prefixată a apelului de funcţii
(ulterior numită “Cambridge Polish” datorită asemănării cu notaţia lui Lukasiewicz)
mecanismul de “garbage collection”
IBM 704: car (content-address register) and cdr (content-decrement register)
funcţii cu şi fără efecte laterale
Cele “fără” fiind candidate la demonstraţii automate de corectitudine.
funcţii Lisp reprezentate ca date Lisp
limbaj de prelucrări simbolice
limbaj de prelucrări simbolice
limbaj specializat pentru prelucrarea listelor
paradigma de programare funcţională
limbajul care se mulează pe problema pe care o am de rezolvat
limbajul care se dezvoltă pe măsură ce rezolv problema