Curs Inteligenta Artificiala

  • Published on
    23-Jul-2015

  • View
    278

  • Download
    5

Embed Size (px)

Transcript

1 Capitolul 1 Ce este inteligena artificial? Dezvoltareaspectaculoasacalculatoarelornultimiitreizecideaniapermiscercetrilorn domeniusincerceutilizareacalculatoarelorpentrurezolvareaunorproblemedincencemaidificile, din ce n ce mai apropiate de complexitatea problemelor soluionate de om. Pe msur ce problemele de vitezicapacitatedememorareaufostrezolvatelanivelultehnologieiconstrucieicalculatoarelor, limitarea utilizrii tehnicii de calcul n locul expertului uman se datoreaz mai ales incapacitii oamenilor deainstruiiprogramaadecvatcalculatoarele.ncercareaextinderiiutilizriicalculatoarelorlatotceea cepoatefisoluionatdeomaduslaapariiaunuinoudomeniualtiinteicalculatoarelor:inteligena artificial. TermenuldeInteligenartificialafostintroduspentruprimadatn1956dectrecercettorulJohn McCarthy. Inteligenaartificialacoperunnumrfoartemaredesubdomenii.Deieaesteconsideratun subdomeniualtiineicalculatoarelor,seintersecteazcudisciplinefoartediversecumsunt:filozofia, lingvistica, ingineria matematica, etc.Inteligena artificial este un domeniu relativ nou. Ea este preocupat de utilizarea calculatoarelor pentrurezolvareaunorproblemecarenecesitinteligenumanicaresuntdificilderezolvatcu tehnologia de calcul convenional. Exemple de astfel de probleme sunt: interpretarea unor scene vizuale, diagnosticarea, recunoaterea limbajului natural.Inteligenaartificial(AIArtificialInteligence)poateficonsideratcaaceldomeniual informaticiicarearecaobiectivproiectareasistemelornzestratecuanumiteproprietipecarenmod obinuitleasocieminteligeneiumane:nelegerealimbajului,nvarea,raionamentul,rezolvarea problemelor, demonstrarea teoremelor, etc. 1.1Inteligena artificial: o ncercare de definire Primulpasnncercareadedefinireaunuidomeniulreprezintlocalizareaacestuia.Referitorla inteligena artificial, exist cel puin dou puncte de vedere, i anume: -inteligenaartificialestedomeniuinterdisciplinar,avndmultipleconexiunicualte domenii,dintrecaremenionm:filosofia,psihologia,lingvistica,matematica,tiina calculatoarelor, biologia, etc. -inteligena artificial este un subdomeniu al tiinei calculatoarelor. Este att o ramur a tiinei, ct i o ramur a ingineriei. Ca ramur a tiinei, inteligena artificial estepreocupatdedezvoltareaprincipiiloriinstrumentelornecesarepentrunelegerea comportamentuluientitilorinteligentenaturale.Caramuraingineriei,inteligenaartificialeste preocupat de punerea la punct a unor metode i tehnici de construire a unor entiti inteligente artificiale. Exist dou idei importante n definirea Inteligenei artificiale: 1. Inteligena 2. Maina artificial Ceesteinteligena?Noiuneadeinteligen,laoraactualnuestesuficientdebineneleasin consecin nu are o definiie unanim acceptat. Astfel s-au pus diverse ntrebri de-a lungul timpului: Este inteligena o caracteristic pur uman sau nu?Din acest punct de vedere sunt dou posibiliti: Un system intelligent ar trebui s se comporte exact ca un om Unsystemintelligentartrebuissecomportectmaibineposibil(ctmaiapropiatde comportamentul uman) Despre ce tip de comportament este vorba?2 Intereseaz abilitatea unui system de a gndisau de a raiona? Intereseaz doar comportamentul final al sistemului din punctual de vedere al aciunilor sale? ntr-o prim aproximare se poate considera c inteligena este capacitatea de a cunoate, a nelege, araionaianva.Astfelunsistemesteconsideratcareproprietateadeinteligendacn comportamentul su se pot evidenia urmtoarele aspecte: -are capacitatea de a cunoate i a nelege legturile dintre fapte; -are capacitatea de a raiona; -are capacitatea de a nva. Cualtecuvinte,pentruacordareacalificativuluideinteligentunuisistemneintereseazceeace face, i nu cum face acest sistem. Inteligenaartificialseocupcustudiulprincipiilor,modelelorimetodelorderealizareaunor sisteme de calcul inteligente n sensul reproducerii comportamentului entitilor inteligente naturale. DiferiteledefiniiialeInteligeneiartificialepunaccentulnmoddiferit,fieasupraproceselor cognitive, fie asupra comportamentului. Astfel Inteligena Artificial poate fi privit ca studiul sistemelor care: Gndesc asemenea oamenilor Gndesc raional Acioneaz asemenea oamenilor Acioneaz raional Definiiile urmtoare se ncadreaz n aceste direcii: 1.I.A.estelegatdeautomatizareaactivitilorpecarenoileasociemcugndireauman, activiti cum ar fi rezolvarea problemelor, luarea deciziilor, nvare (Bellman, 1978) 2.I.A.estelegatdeefortuldeafacecalculatoarelesgndeasc,deanzestra calculatoarele cu minte n sensul cel mai literal (Haugeland, 1965) 3.I.A.estestudiulfacultilormentalecuajutorulmodelelorcomputaionale(Charniak, McDermott, 1985). 4.Studiulproceselordecalculcefacposibilepercepia,raionamentuliaciunea(Winston, 1992). 5.I.A.esteartadeacreamainicendeplinescfunciicarenecesitinteligencndsunt ndeplinite de oameni (Kurzweil, 1990). 6.Studiul ideilor care permit calculatoarelor s realizeze sarcini care, dac sunt ndeplinite de oameni, presupun inteligen (Winston, 1984). 7.Cumfacemcalculatoarelesfaclucruripecare,pentrumoment,oameniilefacmaibine (Rich, Knigh, 1991). 8.I.A.estedomeniulstudiilorcecautsexpliceisimitecomportamentulinteligentn termeni de procese computaionale (Schalkoff, 1990). 9.I.A.estedomeniulinformaticiipreocupatdeautomatizareacomportriiinteligente(Luger, Stubblefield,1993)10.Inteligena artificial este domeniul stiintei calculatoarelor care se ocupa de studiul i crearea sistemelordecalculiaprogramelorcareprezintaoformadeinteligena:sistemecare invatanoiconcepte,carepotrationaideduceconcepteutileintr-undomeniuallumii inconjuratoare,sistemecarepotintelegelimbajulnaturalsaupercepeiintelegeunpeisaj, intr-un cuvint sisteme care necesita capacitati inteligente specifice omului.11.Unprograminteligentesteunprogramcaremanifestaocomportaresimilarcuaceeaa omului cnd este confruntat cu o problem similar. Nu este necesar ca programul s rezolve sau s ncerce s rezolve problema n acelai mod n care ar rezolva-o oamenii. Multitudineaacestordefiniiiprovinetocmaidinfaptulcdomeniul,fiindlegatdensiesena naturiiumane,estedeosebitdeprovocator.Oncercarededefinireainteligeneiartificialeartrebuis porneascdeladefiniiainteligenei,definiiedepartedeafibanaldeformulat.Multedinabordrile caracterizrii domeniului au atins doar partial acest aspect, altele l-au considerat implicit.3 Sepoateobservadinacestedefiniiicanumitecurentedeopiniiprivescinteligena artificialcaomodalitatedecercetare,descoperireisimulare(copiere)amoduluidefuncionarea inteligeneiumane.Aceastperspectivaconduslanumeroasecercetrininteligenaartificialila dezvoltareaunornoidomeniicumarfitiinacunoasterii,domeniustudiatdepsihologi,lingvisti, informaticieni,filozofi,idomeniulreelelorneuronale,numitiinteligenaartificiallanivel subsimbolic. Oadouaperspectivasuprainteligenteiartificialeconsiderdomeniuldintr-unpunctdevedere pragmatic. Nu conteaz dac inteligena artificial utilizeaz modelele i mecanismele comportamentului inteligentuman,importantestecapacitateasistemelordecalculdearezolvaaceleaiproblemecu performane similare cu cele ale oamenilor.Caoricetiin,inteligenaartificialseocupdeoseriedeproblemecucaracteristicigenerale comune i dezvolt tehnici specifice de rezolvare a acestor probleme.

1.2Natura problemelor de inteligena artificial Majoritateacercetrilorndomeniulinteligeneiartificialeefectuatelanceputulapariiei disciplineis-auorientatsprerezolvareaunorproblemeuorformalizabiledarconsideratecanecesitnd uncomportamentinteligent:demonstrareateoremelorijocurile.Programul"TheLogicTheorist"allui A.Newell,J.ShawiH.Simon[1963]puteasdemonstrezemaimulteteoremedinprimulcapitolal lucrrii"PrincipiaMatematica"aluiWhiteheadiRussell.ProgramulcarejucaahalluiA.Samuel [1967]imbunteaperformaneledejocdupfiecarepartidjucat.Problemelerezolvatedeaceste programe au o caracteristic comun: ele sunt probleme grele. n orice problem putem observa c exist un anumit numr, n de date de intrare de care depinde, deobicei,timpuldeexecuiealalgoritmuluicarerezolvaceaproblem.Deexemplu,dacsepune problemadeterminriituturorpermutriloruneimulimi,atuncinestenumruldeelementealeacelei mulimi; dac se pune problema sortrii unui vector, n reprezint numrul de elemente ale vectorului. Deoarece nu putem ti ntotdeauna cu exactitate de cte ori se execut o instruciune este destul de greu de determinat timpul de execuie. Totui, se poate considera c exist o proporionalitate ntre valoarea n i numrul de execuii. n plus, timpul de execuie a unei instruciuni este dependent de calculatorul utilizat. Majoritateainstruciunilorseexecutdeunnumrmicdeori,astfelctimpulafectatloreste neglijabil. De aceea, se alege o operaie (instruciune) esenial, numit, operaie de baz i se determin decteoriseexecutea.Cerinapentruoperaiadebazestecanumruldeexecuiialeacesteiasse poat calcula n funcie de n, de la nceput. Timpul de calcul estimat pentru un algoritm oarecare se numete ordinul su de complexitate. El se poate nota astfel: O (numr estimat de execuie ale operaiei de baz) Dac,deexemplu,unalgoritmefectueaz2n2+4n+3operaiidebaz,vomspunecacesta esteunalgoritmalcruiordindecomplexitateesteo(n2)sau,altfelspus,algoritmulareuntimpde execuie ptratic. (Pentru un n foarte mare 4n + 3 este o valoare neglijabil comparativ cu 2n2, iar 2n2 este de acelai ordin de mrime cu n2) Orictdeperformantarfiuncalculator,acestanupoaterezolvaoproblemcuunalgoritmde complexitatetimpO(eN),pentruovaloaresemnificativadimensiuniiNaintrrii,ntr-unintervalde timp rezonabil.Spresupunemclucrmcuuncalculatorcareestecapabilsefectuezeunmiliondeoperaii elementare pe secund. n tabelul urmtor sunt indicai timpii necesari efecturii an2, n3, 2n, 3n operaii elementare cu ajutorul unui astfel de calculator, pentru diferite valori ale lui n. 4 on = 20n = 30n = 40n = 50n = 60 n2 0,0004 sec0,0009 sec0,0016 sec0,0025sec0,0036 sec n30,008 sec0,027 sec0,064 sec0,125 sec0,216 sec 2n 1 sec.17,9 min.12,7 zile35,7 ani366 secole 3n 58 min.65 ani3855 secole2x108 secole1,3-1013 secole Cercetrileninteligenaartificials-auorientattocmaisprencercareadeareduceexplozia combinaional implicat de cutarea soluiei acestui tip de probleme. Una din contribuiile mari aduse de inteligenaartificialti