Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licenţă
Domeniul: Informatică
Programul de studii: Informatică - linia de studiu română
Limba de predare: Română

SYLLABUS

I. Date generale
Codul	Disciplina	
MII0001	Inteligenţă artificială	

Semestrul	Ore: C+S+L	Categoria	Statutul	
4	2+1+1	specialitate	obligatorie	

II. Cadre didactice cu norma de bază în Universitate
Numele şi	Titlul	Gradul	Catedra	Tipul activităţii	
prenumele	ştiinţific	didactic		C	S	L	
DUMITRESCU Dan Dumitru	Dr. 	Prof.	Limbaje şi Metode de Programare	*			

Cadre didactice asociate
Numele şi	Titlul	Instituţia	Tipul	Tipul activităţii	
prenumele	ştiinţific		postului	C	S	L	

III. Obiectivele disciplinei
Sa furnizeze o introducere coerenta in domeniul I.A.
Sa realizeze directiile fundamentale de evolutie a domeniului.
Sa asigure baza necesara urmaririi unor cursuri avansate.	

IV. Conţinutul disciplinei
1. Paradigma logico-simbolica a Inteligentei artificiale.
1.1. Rezolvarea problemelor in IA.
1.2. Spatiul starilor problemei.
1.3. Sisteme de reguli de producere.
1.4. Strategii de cautare (control).
1.4.1. Strategii prin incercari succesive.
1.4.2. Control irevocabil.
1.4.3. Introarcere cronologica.
1.4.4. Grafe si arbori de cautare.
1.5. Caracteristicile sistemelor de producere.
1.6. Explozia combinatoriala.
1.7. Cautare euristica.
2. Metode de rezolvare a problemelor.
2.1. Rationamentul inainte si rationamentul inapoi.
2.2. Metode de cautare oarba(neinformata) in spatiul starilor.
2.3. Cautare ordonata. Functia de evaluare.
2.4. Algoritmul A si algoritmul A*.
2.5. Admisibilitatea algoritmului A*.
2.6. Compararea algoritmilor.
3. Reprezentarea cunoasterii in IA.
3.1. Reprezentarea cunoasterii folosind logica predicatelor.
3.2. Reprezentarea cunoasterii folosind logici nestandard.
3.3. Metode declarative si metode procedurale.
3.4. Reprezentarea procedurala(sistemele SIR, SHRDLU).
3.5. Completitudinea si consistenta sistemelor procedurale.
3.6. Retele semantice.
3.7. Reprezentarea cunoasterii prin cadre.
3.8. Reprezentarea prin scenarii.
4. Invatarea in sistemele cu inteligenta artificiala.
4.1. Directii de cercetare.
4.1.1. Achizitia simbolica.
4.1.2. Modelarea neuronala.
4.1.3. Invatarea unui domeniu.
4.2. Strategii de invatare.
4.2.1. Tipuri de invatare.
4.2.2. Invatarea inductiva.
4.3. Instruire neuronala.
4.3.1. Instruire supervizata.
4.3.2. Instruire nesupervizata.
4.3.3. Instruire hebbiana.
5. Paradigma conexionista a Inteligentei Artificiale.
5.1. Istoric.
5.2. Elemente de neurobiologie.
5.3. Modele conexioniste-principii de baza.
5.4. Paradigmele instruirii.
6. Modelul perceptronului.
6.1. Arhitectura de baza.
6.2. Functia criteriu.
6.3. Algoritmul de instruire.
6.4. Convergenta procedurii de instruire.
6.5. Limite ale perceptronului.
6.6. Arhitrctura cu mai multe straturi.
6.7. Instruirea perceptronului cu mai multe straturi.
6.8. Algoritmul Gallant.
7. Instruire prin minimizarea erorilor patratice.
7.1. Metoda globala.
7.2. Algoritmul Widrow-Hoff (regula delta).
7.3. ADALINE.
7.4. Procedura probabilista.
7.5. Convergenta metodei iterative.
7.6. Comparatia cu perceptronul.
8. Retele asociative.
8.1. Memorii asociative bidirectionale(MAB).
8.2. Asociatorul liniar.
8.3. Memorii liniare optimale.
8.4. Functionarea MAB.
8.5. Stabilitatea MAB. Functii Liapunov.
8.6. MAB adaptive.
9. Modelul Hopfield.
9.1. Arhitectura.
9.2. Instruirea si functionarea.
9.3. Stabilitatea.
10. Propagarea inapoi a erorii.
10.1. Arhitectura.
10.2. Functia criteriu.
10.3. Regula de corectie.
10.4. Algoritmul de propagare inapoi.
10.5. Convergenta procedurii.
10.6. Marirea vitezei de convergenta.
10.6.1. Metoda momentului.
10.6.2. Metoda de tip Newton.
10.6.3. Metoda directiilor conjugate.
10.6.4. Metoda de netezire.	

V. Bibliografie
DUMITRESCU,D.,B Lazzerini,Evolutionary Computation, CRC Press, New York, Boca Raton, 2000
DUMITRESCU,D.,B Lazzerini,Fuzzy Sets and treir Application in Training and Clustering , CRC Press, New York, Boca Raton, 2000
DUMITRESCU, D.,Principiile  Inteligentei artificiale,  Editura Albastra, Cluj,2000.
DUMITRESCU, D.,Principiile  teoriei clasificarii,  Editura Academiei, Bucuresti,2000.
DUMITRESCU, D.,Algoritmi genetici si strategii evolutive. Aplicatii in Inteligenta      Artificiala,  Editura Albastra, Cluj,2000.
DUMITRESCU, D., Inteligenta artificiala,  Univ. "Babes-Bolyai", 1995.
DUMITRESCU, D., Modele conexioniste in Inteligenta Artificiala, Univ. "Babes-Bolyai", 1995.
DUMITRESCU, D., Retele Neuronale, Teora, 1997
MALITA, M., Bazele matematice ale Inteligentei Artificiale, Ed.Tehnica, 1988.
PATRIDGE, D., Artificial Intelligence. Aplications in the future of software engineering, Ellis Harwood Series in A.I., John Wiley & Sons, New York 1986.
RICH, E. Artificial Intelligence, Mc.Graw Hill, 1989.
WINSTON, P., Inteligenta artificiala, Ed.Tehnica, 1980.
GOLDBERG, D. E., Genetic Algorithm. Addison-Wesley, Reading, 1989.	

VI. Tematica activităţilor didactice pe săptămâni

Curs 1:	Introducere in IA
-	Ce înseamnă IA?
-	scurt istoric
-	concepte şi definiţii
Curs 2:	Turing şi alte personalităţi în IA 
-	maşina şi testul Turing
-	principalele domenii ale IA
-	personalităţi din IA
-	aplicaţii practice ale IA (industrie, economie, medicina, jocuri)
Curs 3:	Calcul evolutiv – generalităţi
-	noţiunea de bază: algoritm evolutiv, spaţiu de căutare, funcţie de căutare, populaţie, individ genetic, etc.
-	paralelă genotip – fenotip
-	principalele direcţii în CE
Curs 4:	Algoritmi genetici (principii si reprezentare)
-	structura unui algoritm genetic
-	tipuri de algoritm genetici
-	reprezentarea soluţiilor – binar şi real
-	funcţie de calitate
Curs 5:	Algoritmi getici (operatori)
-	operatori de selecţie
-	operatori de recombinare
-	operatori de mutaţie
-	alţi operatori genetici
Curs 6:	Strategii evolutive
-	structura algoritmlui
-	diferenţe şi asemănări cu algoritmii genetici
Curs 7:	Programare genetica
-	reprezentarea cromozomilor
-	operatori genetici
-	metode speciale: LGP, GEP, CGP, MEP, GE. 
Curs 8:	Colonii de furnici si PSO
-	algoritmul ACO
-	algoritmul PSO
-	aplicaţii
Curs 9:	Algoritmi evolutivi multicriteriali
-	principii
-	dominanţă Pareto
-	tipuri de algoritmi
Curs 10:	Reţele neuronale
-	concepte de bază
-	antrenare şi învăţare
Curs 11:	Sisteme expert
-	obiective
-	componente
-	aplicaţii
Curs 12:	Sisteme fuzzy
-	mulţimi fuzzy
-	logici fuzzy
-	aplicaţii
Curs 13:	Maşini cu suport vectorial
-	concepte
-	probleme de clasificare: binare şi multiclas, separabile şi nesaparabile 
Curs 14:	Direcţii recente de cercetare în domeniul IA
-	dezvoltări recente in lume
-	dezvoltări recente în UBB

Sem 1:	Introducere in IA
-	de ce IA?
-	diferite probleme rezolvate cu metode inteligente
-	strategii, jocuri şi probleme NP-complete
Sem 2:	Algoritmi evolutivi
-	utilitatea algoritmilor evolutivi
-	detalii privind operatorii genetici: selecţie, încrucişare şi mutaţie - codificare binară
-	optimizări unicriterale algoritmi genetici – codificare binară
Sem 3:	Algoritmi evolutivi
-	detalii privind operatorii genetici: selecţie, încrucişare şi mutaţie - codificare reală
-	optimizări unicriteriale folosind algoritmi genetici – codificare reală
-	strategii evolutive
-	programare evolutivă
Sem 4:	Algoritmi evolutivi
-	optimizări multicriteriale folosind algoritmi evolutivi
-	optimizări multimodale folosind algoritmi evolutivi
-	rezolvarea problemelor NP-complete folosind algoritmi evolutivi
Sem 5:	Programare genetică
-	reprezentare
-	operatori genetici
-	tipuri de probleme
-	tipuri de algoritmi
Sem 6:	Alte metode de optimizare
-	inteligenţa grupurilor
-	colonii de furnici
Sem 7:	Machine learning
-	sisteme expert
-	maşini cu suport vectorial
-	mulţimi fuzzy
-	reţele neuronale	

Lab 1:	Lab1: Optimizări de funcţii unicirteriale folosind algoritmii genetici
-	prezentarea cerinţelor
-	prezentarea problemelor
-	discuţii pe baza suportului bibliografic
Lab 2:	Rezolvarea problemelor NP-complete folosind algoritmi evolutivi
-	prezentarea problemelor
-	sugestii privind abordarea problemelor NP-complete
-	soluţii ne-evolutive
Lab 3:	Programare genetică, Colonii de furnici, Inteligenţa grupurilor
-	prezentarea metodelor
-	aplicarea lor pentru diverse probleme:
•	problema rucsacului
•	problema comis-voiajorului
•	problema regresiei simbolice
•	problema clasificării
•	alte probleme
Lab 4:	predarea algoritmilor genetici pentru optimizări de funcţii
-	verificarea corectitudinii algoritmului
-	verificarea aplicaţiei (stil, interfaţă, etc.)
-	întrebări legate de operatorii genetici folosiţi
examen practic
-	tipuri de algoritmi evolutivi
-	tipuri de operatori genetici
-	asemănări şi deosebiri între concepte
Lab 5:	predarea algoritmilor evolutivi pentru rezolvarea problemelor NP-complete
-	verificarea corectitudinii algoritmului
-	verificarea aplicaţiei (stil, interfaţă, etc.)
-	întrebări legate de operatorii genetici folosiţi
Lab 6:	predarea algoritmilor evolutivi (GP, ACO, PSO)
-	verificarea corectitudinii algoritmului
-	verificarea aplicaţiei (stil, interfaţă, etc.)
-	discuţii pe baza întrebărilor formulate de studenţi
Lab 7:	discuţii iniţiate de studenţi 
examen practic 
-	tipuri de algoritmi evolutivi
-	tipuri de operatori genetici
-	asemănări şi deosebiri între concepte

VII. Metode didactice folosite
Expunerea, conversaţia, demonstraţia didactică, modelarea, algoritmizarea, problematizarea, descoperirea, brainstorming.	

VIII. Evaluare
Fiecare student trebuie sa demonstreze ca a atins un nivel acceptabil de cunoastere si intelegere a domeniului, ca este capabil sa exprime cunostintele intr-o forma coerenta, ca are capacitatea de a stabili anumite conexiuni si de a utiliza cunostintele in rezolvarea unor probleme. Verificarea cunostintelor consta in EXAMEN scris, EVALUAREA LUCRARILOR de laborator, a activitatii de seminar si din doua lucrari scrise. Fiecare student va primi cate o nota pentru fiecare activitate. Nota finala va fi media notelor.	

IX. Bibliografie suplimentară
1.	Miller, J. F. and Thomson, P. 2000. Cartesian Genetic Programming. In Proceedings of the European Conference on Genetic Programming (April 15 - 16, 2000). R. Poli, W. Banzhaf, W. B. Langdon, J. F. Miller, P. Nordin, and T. C. Fogarty, Eds. Lecture Notes In Computer Science, vol. 1802. Springer-Verlag, London, 121-132.

2.	Miller, J. F., Kalganova, T., Job, D., and Lipnitskaya, N. 2002. The genetic algorithm as a discovery engine: strange circuits and new principles. In Creative Evolutionary Systems, P. J. Bentley and D. W. Corne, Eds. Morgan Kaufmann Publishers, San Francisco, CA, 443-466.

3.	Miller, J. F., Job, D., and Vassilev, V. K. 2000. Principles in the Evolutionary Design of Digital Circuits—Part I. Genetic Programming and Evolvable Machines 1, 1-2 (Apr. 2000), 7-35.

4.	Ferreira, C., 2001. Gene Expression Programming: A New Adaptive Algorithm for Solving Problems. Complex Systems, Vol. 13, issue 2: 87-129

5.	Ferreira, C., 2001. Gene Expression Programming in Problem Solving, invited tutorial of the 6th Online World Conference on Soft Computing in Industrial Applications, September 10-24, 2001.
6.	Oltean, M. (et al.), Evolving Digital Circuits for the Knapsack Problem, International Conference on Computational Sciences, E-HARD Workshop, Edited by M. Bubak, G. D. van Albada, P. Sloot, and J. Dongarra, Vol. III, pp. 1257-1264, 6-9 June, Krakow, Poland, Springer-Verlag, Berlin, 2004
7.	Oltean, M. (et al.), Encoding Multiple Solutions in a Linear GP Chromosome, International Conference on Computational Sciences, E-HARD Workshop, Edited by M. Bubak, G. D. van Albada, P. Sloot, and J. Dongarra, Vol III, pp. 1281-1288, 6-9 June, Krakow, Poland, Springer-Verlag, Berlin, 2004
8.	Oltean M., Improving Multi Expression Programming: an Ascending Trail from Sea-level Even-3-parity Problem to Alpine Even-18-Parity Problem, chapter 10, Evolvable Machines: Theory and Applications, Springer-Verlag, edited by Nadia Nedjah (et al.), pp. 229-255, 2004
9.	Oltean M., Grosan C., Evolving Digital Circuits using Multi Expression Programming, NASA/DoD Conference on Evolvable Hardware, 24-26 June, Seattle, Edited by R. Zebulum (et. al), pages 87-90, IEEE Press, NJ, 2004
10.	Markus Brameier. On linear genetic programming. Dr. rer. nat.-Dissertation, University of Dortmund, Department of Computer Science, Chair of Systems Analysis, February 2004. (Banzhaf).

11.	Zitzler, E., Deb, K., and Thiele, L. (2000). Comparison of multiobjective evolutionary algorithms: Empirical results. Evolutionary Computation Journal, 8(2), 173-195.

12.	Corne, D. W., J. D. Knowles, and M. J. Oates, The Pareto Envelope-based Selection Algorithm for Multiobjective Optimisation In M. S. et al. (Ed.), Parallel Problem Solving from Nature - PPSN VI, Berlin, 839-848, Springer, 2000.

13.	K. Deb, S. Agrawal, A. Pratab, and T. Meyarivan, A Fast Elitist Non- Dominated Sorting Genetic Algorithm for Multi-Objective Optimization: NSGAII, In M. Schoenauer, K. Deb, G. Rudolph, X. Yao, E. Lutton, J. J. Merelo, and H.-P. Schwefel, editors, Proceedings of the Parallel Problem Solving from Nature VI Conference, 849-858, Paris, France, 2000.

14.	J. Knowles and D. Corne, The Pareto Archived Evolution Strategy: A New Baseline Algorithm for Pareto Multiobjective Optimisation, In P. J. Angeline, Z. Michalewicz, M. Schoenauer, X. Yao, and A. Zalzala, editors, Proceedings of the Congress on Evolutionary Computation, Mayower Hotel, Washington D.C., USA, 1:98-105, IEEE Press, 1999.

15.	E. Zitzler, M. Laumanns, and L. Thiele, SPEA2: Improving the Strength Pareto Evolutionary Algorithm, Technical Report 103, Gloriastrasse 35, CH-8092 Zurich, Switzerland, 2001.

	Decan,							Sef de catedra,

	Data,							Titular curs,
								Prof. Dr.  DUMITRESCU Dan Dumitru