Capacitatea individului de a se adapta şi de a rezolva situaţii noi pe baza experienţei acumulate anterior



Yüklə 464 b.
tarix27.07.2018
ölçüsü464 b.



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.

  • Barr, Feigenbaum, 1981



Un subiect uman, o mașină, un arbitru (uman)…

  • Un subiect uman, o mașină, un arbitru (uman)…

  • revista Mind, 1950

  • competiţie anuală: http://www.loebner.net/Prizef/loebner-prize.html

  • Satisface?

    • diferenţa dintre comportament, ce poate fi obiectivat, şi acel ceva adânc, personal şi indefinibil care provoacă comportamentul…


http://www.bbsonline.org/documents/a/00/00/04/84/bbs00000484-00/bbs.searle2.html

  • http://www.bbsonline.org/documents/a/00/00/04/84/bbs00000484-00/bbs.searle2.html

  • Abordarea 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



Prelucrările simbolice

  • Prelucrările simbolice

    • limbaje simbolice
    • confruntările de şabloane (pattern matching)
  • Reprezentarea cunoaşterii (knowledge representation)

  • Raţionament automat şi demonstrarea teoremelor (theorem proving, problem solving)

  • Înţelegerea limbajului natural (natural language undertanding)

  • 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):

    • scrierea funcţiilor recursive folosind expresii condiţionale
    • 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

  • limbajul „de casă” al inteligenţei artificiale

  • incorporează viziunea de programare multi-strat





Transparenţa referenţială

  • Transparenţa referenţială

    • o funcţie transparentă referenţial:
        • function foo1(x)
        • { return(x+2);
        • }
    • ... şi una care nu e:
        • int a;
        • function foo2(int x)
        • { x := x+a;
        • return(x);
        • }


Efectul lateral

  • Efectul lateral

    • O funcţie fără efecte laterale:
        • function foo1(x)
        • { return(x+2);
        • }
    • ... şi o funcţie care produce efecte laterale:
      • int a;
      • function foo3(int x)
      • { a := x+2;
      • return(a);
      • }


s-expresie (expresie simbolică – symbolic expression)

  • s-expresie (expresie simbolică – symbolic expression)

  • atom

  • numeric

  • întreg

  • raţional (fracţie)

  • real

  • complex

  • nenumeric (atom literal, atom simbolic, simbol)

  • listă

  • listă simplă

  • listă cu punct

  • şir (array)

  • şir de caractere

  • tablou (cu oricâte dimensiuni)

  • tabelă de asociaţie (hash table)

  • pachet (sau spaţiu de nume)

  • flux de date



variabile

  • variabile

  • constante

  • funcţii

  • macro-uri

  • forme speciale

  • în implementările orientate-obiect (CLOS):

    • clase
    • metode


( – paranteza stângă – marchează începutul unei liste

  • ( – paranteza stângă – marchează începutul unei liste

  • ) – paranteza dreaptă – marchează sfârşitul unei liste

  • ’ – apostroful, urmat de o expresie e, ’e - scrierea condensată a unui apel (quote e)

  • ; – punct-virgula – marchează începutul unui comentariu

  • ” – între o pereche de ghilimele se include un şir de caractere

  • \ – bara oblică stângă – prefixează un caracter ce e utilizat ca literă iar nu cu semnificaţia lui uzuală

  • | – între o pereche de bare verticale poate fi dat un şir de caractere speciale: în nume de simboluri

  • # – diezul – semnalează că următorul caracter defineşte modul în care trebuie interpretată construcţia care urmează: #’fn

  • ` – un accent invers semnalează că ceea ce urmează este un template care conţine virgule – utilizat în macrouri

  • , – virgulele – utilizate în template-uri pentru a semnala cazuri speciale de înlocuiri

  • : – două puncte:

    • în general: următorul simbol se evaluează la el însuşi
    • în alte cazuri: despart numele unui pachet de numele unei variabile definite în acel pachet (user1:alpha, user1)


întregi:

  • întregi:

    • nnn, +nnn, -nnn, #nnRddddd, #nnrddddd, #b, #o, #x
  • reale:

    • 3.1415926535897932384d0
    • 6.02E+23
  • fracţii:

    • 1/2, -2/4, #x1A/5
  • complexe:

    • #c(1 2)
    • #c(0 1)
    • #c(2/3 1.3)


orice combinaţie de litere şi numere

  • orice combinaţie de litere şi numere

  • următoarele caractere pot apare în simboluri:

    • + - * / @ $ % ^ & _ = < > ~ .
  • exemple:

    • alpha, a21, 1a2, *alpha*, a+b, a-b+c, a/1, $13, 1%2, a^b, cel_mare, a=b, a
  • pot fi incluse şi caractere speciale:

    • |&.+\:;|
    • a|&.+\|:;|b
    • a|&.+\| 2)|b





Dostları ilə paylaş:


Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2017
rəhbərliyinə müraciət

    Ana səhifə