Logo UAB
2020/2021

Intel·ligència Artificial

Codi: 102768 Crèdits: 6
Titulació Tipus Curs Semestre
2502441 Enginyeria Informàtica OB 2 2
La metodologia docent i l'avaluació proposades a la guia poden experimentar alguna modificació en funció de les restriccions a la presencialitat que imposin les autoritats sanitàries.

Professor/a de contacte

Nom:
Maria Vanrell Martorell
Correu electrònic:
Maria.Vanrell@uab.cat

Utilització d'idiomes a l'assignatura

Llengua vehicular majoritària:
català (cat)
Grup íntegre en anglès:
No
Grup íntegre en català:
Grup íntegre en espanyol:
No

Equip docent

Dimosthenis Karatzas
Ali Furkan Biten
Guillem Arias Bedmar

Equip docent extern a la UAB

Xim Cerdà Company

Prerequisits

Atès el caràcter introductori de l’assignatura s’assumirà que no es posseeix cap tipus de coneixement previ sobre la matèria. És responsabilitat de la pròpia assignatura proporcionar als alumnes un mitjà per adquirir els coneixements descrits a l’apartat de continguts de l’assignatura.

Sobre altres coneixements s'espera de l'estudiant:

  • haver cursat el batxillerat tecnològic o científic
  • haver cursat les assignatures de programació de 1r i 2n
  • tenir les nocions bàsiques de programació en Python
  • tenir coneixements a nivell d’usuari d’algun tipus de plataforma (Windows, Mac o Linux),
  • tenir accés a un ordinador, si és portàtil millor.

 

Objectius

Aquesta assignatura té un caràcter general i introductori al camp de la intel·ligència artificial (IA). Els objectius que es persegueixen són dos:

a)    familiaritzar els estudiants en la resolució de problemes d’IA amb les seves particularitats en la representació, l’avaluació i la metodologia específica de resolució, i

b)    fer que l'estudiant coneixi un ventall de tècniques i algorismes bàsics que permetran solucionar els problemes plantejats i millorar les seves habilitats en programació.

Més concretament aquests objectius perseguiran:

  • Proporcionar una introducció històrica i d’objectius del camp de la IA.
  • Introduir els estudiants amb el problema de la selecció d'una bona representació de coneixement com eix clau per a la resolució dels problemes de la IA.
  • Familiaritzar els estudiants amb quatre representacions de coneixement bàsiques i els seus algorismes corresponents.
  • Dotar l’estudiant amb la capacitat de dissenyar solucions a problemes contextualitzats.
  • Dotar l’estudiant amb la capacitat de presentar i argumentar l’adequació de les solucions dissenyades.

Competències

  • Adquirir hàbits de pensament.
  • Adquirir hàbits de treball personal.
  • Capacitat per concebre, desenvolupar i mantenir sistemes, serveis i aplicacions informàtiques emprant els mètodes de l'enginyeria del software com a instrument per a assegurar-ne la qualitat.
  • Capacitat per concebre, redactar, organitzar, planificar, desenvolupar i signar projectes en l'àmbit de l'enginyeria informàtica que tinguin per objecte la concepció, el desenvolupament o l'explotació de sistemes, serveis i aplicacions informàtiques.
  • Coneixement, disseny i utilització eficient dels tipus i estructures de dades més adequades a la resolució del problema.
  • Conèixer i aplicar els principis fonamentals i les tècniques bàsiques dels sistemes intel·ligents i la seva aplicació pràctica.
  • Conèixer i aplicar els procediments algorítmics bàsics de les tecnologies informàtiques per dissenyar solucions a problemes i per analitzar la idoneïtat i la complexitat dels algoritmes proposats.

Resultats d'aprenentatge

  1. Aplicar diferents mètodes, arquitectures, conceptes i patrons software per al disseny, desenvolupament i anàlisi de programes informàtics.
  2. Desenvolupar el pensament sistèmic.
  3. Dissenyar, desenvolupar, seleccionar i avaluar aplicacions, assegurant la seva fiabilitat i seguretat.
  4. Identificar i definir la solució computacional al reconeixement de patrons, la presa de decisions basada en l'exploració d'alternatives, el raonament amb incertesa i la planificiació de tasques.
  5. Identificar la complexitat computacional d'un algorisme en termes de recursos de memòria i temps d'execució.
  6. Seleccionar i aplicar la combinació d'estructures de dades i estratègies de resolució més apropiada per resoldre de manera eficient un problema informàtic.
  7. Treballar de manera autònoma.

Continguts

1. Introducció a la IA. Objectius i breu història del camp. Definició d'agents racionals, metodologia de resolució de problemes i representació de coneixement.

2. Resolució de problemes de presa de decisions per exploració d'alternatives

2.1. Cerca No informada. Nocions bàsiquessobre cerca i recordatori d'algorismes de cerca no-informada. Anàlisi dels algorismes de cerca: completesa, optimitat i complexitat. Concepte d'heurística i exemples. 

2.2. Cerca informada: bàsica i òptima. GBFS i A* i les seves propietats Concepte de factor de ramificació efectiu. Propietats interessants de les heurístiques.

2.3. Cerca local.  Definicions bàsiques, avantatge i inconvenients. Reinterpretació de la cerca local com lexploració de la funció heurística. Cerca local quan coneixem lestat objectiu: Algorisme Hill-Climbing. Problemes de la Cerca local: màxims locals, planures i crestes. Cerca local quan no coneixem lestat objectiu: Steepest Ascent, Steepest Ascent amb control de màxims locals, Simulated Annealing.

2.4. Cerca amb adversaris basada en Minimax. Definicions bàsiques. AlgorismeMinimax i Poda alfa-beta. Anàlisi de les complexitats. Modificacions al Minimax: aprofundiment progressiu, heurística d'extensió singular (efecte horitzó). Exemples de funcions heurístiques

2.5. Ceraca amb adversaris basada en Simulacions aleatòries. Definicions bàsiques. Algorisme de Monte-Carlo Tree Search. Exemples.

3. Resolució de problemes de reconeixement de patrons.

3.1. Tècniques estadístiques. Espais de característiques com a representació pel raonament basat en casos. Definicions bàsiques de l'espai de característiques. Selecció de característiques i reducció de di1ensió. Classificació amb aprenentatge supervisat: funcions de decisió, assumpcions sobre les distribucions de les dades d'aprenentatge i cerca local per trobar les funcions de decisió i decisió basada en el veí més proper. Classificació amb aprenentatge no supervisat: algorisme k-means, cerca de la millor k amb el discriminant de Fisher. Anàlisi dels algorisme.

3.2. Tècniques estructurades. Grafs o xarxes semàntiques. Definicions bàsiques i representació amb matrius d'adjacència. El problema de la correspondència de grafs, algorismes bàsics, millores i complexitat. Correspondència de grafs inexacte: mesures de similitud, distància d'edició. Cas d'estudi: string matching.

4. Resolució de problemes de raonament

4.1. Lògica i mecanismes dinferència. Representació de coneixement: lògica proposicional i lògica de predicats. Repàs general dels algorismes bàsics: taules de veritat, deducció natural, resolució, unificació i algorismes de pas a forma clausal. Definicions bàsiques sobre sistemes basats en regles: base de regles, memòria de treball, encadenament de regles i estratègies de resolució de conflictes.

 


 

       Introducció a la IA. Objectius i breu historia del camp. Definició d'agents racionals, metodologia de resolució de problemes i representació de coneixement.

 

2.       Resolució de problemas de reconeixement de patrons.

2.1. Tècniques estadístiques. Espais de característiques com a representaciópel raonamentbasat en casos.<spanstyle="mso-spacerun: yes;">  Definicion bàsiques de larepresentació. El problema de la classificació automàtica i l'aprenentage supervisat i no-supervisat. Funcions de decisió. Assumpcions sobre les distribucions de les dades d'aprenentatge. Selecció de característiques. k-means.

2.2. Tècniques estructurades. Grafs o xarxes semàntiques.Definicions bàsiques. El problema de la correspondència de grafs. Repàs a la representació amb matrius d'adjacència. Introducció de mesures de similitud.

3.       Resolució de problemes de presa de decisions per exploració d'alternatives

3.1. Cerca informada.  Nocions bàsiques sobre cerca i recordatorid'algorismes de cerca no-informada. Anàlisi dels algorismes de cerca: completesa, optimalitat i complexitat. Concepte d'heurística i exemples. Cerca infomada bàsica i òptima. A* i anàlisi de les propietats de l'A*. Concepte de factor de ramificació efectiu. Propietats interessants de les heurístiques. Cerca informada local. Problemes de la cerca local. Hill-climbing, steepest ascent.

3.2.Cerca amb adversaris.  Definicions bàsiques. Algorisme del minimax. Exemples. Poda alfa-beta.Anàlisi de les complexitats. Modificacions al minimax: aprofundiment progressiu, poda heurística, heurística d'extensió singular (efecte horitzó). Exemples de funcions heurístiques.

3.3. Cerca per a satisfaccióde restriccions. Definicions bàsiques. Repàs de l'algorisme de Backtracking. Anàlisi de complexitat. Exemples en Prolog. Algorisme de Backtracking amb Forward checking. Aplicacióa la interpretació de figures trièdriques.

4.       Resolució de problemas de raonament

4.1. Lògica i mecanismos d’inferència.  Representació més general del coneixement. Repàs general dels mecanismos bàsics: deducció natural, resolució, formes normals i algorismes decanvi de forma, programació lògica, prolog. Problemes de la lògica per a la resolució de problemes de canvis d'estat. Càlcul de situacions. Mètode de Green. Problema del frame. Axiomes de marc de referència. Sistemes basatsen regles. Definicions bàsiques: base de regles, memòria de treball,encadenament de regles. Exemples. Encadenament endavant i enrere. Anàlisi de l'encadenament endavant.

4.2. Raonament amb incertesa.  Representació de coneixement amb incertesa o vaguetat. Aproximació basada en la definició de factors de certesa. Aproximació probabilística basada en les probabilitats condicionades i el teorema de Bayes. Aproximació basada en la teoria dels conjunts difusos. Aplicació en tots els casos a la propagació de la incertesa en coneixement representaten regles. Exemple de control difús d'un procés. 

 

Metodologia

La intel·ligència artificial es defineix pels tipus de problemes que intenta solucionar, per tant és obvi que serà la tipologia de problemes la que dirigirà l’organització de tots els continguts. Es faran tres tipus de sessions:

Classes de teoria: Seran classes que combinaran les classes de tipus magistrals en les que l’objectiu és que el professor expliqui alguns continguts teòrics de l’assignatura, amb classes de grups reduïts per a la realització i resolució de qüestionaris que permetin avaluar que l'estudiant va entenent els continguts teòrics que es transmeten bé a les classes magistrals o bé a través de vídeos. 

Classes de problemes: Seran classes amb grups més reduïts d’estudiants que facilitin la interacció. En aquestes classes es persegueix reforçar la comprensió dels temes de la teoria plantejant casos pràctics que requereixin el disseny d’una solució en la que es facin servir els mètodes vistos a les classes de teoria. És impossible seguir les classes de problemes si no es segueixen els continguts de les classes de teoria.

Classes de pràctiques: Són classes en les que es duran a terme diferents tipus d’activitats relacionades amb la realitzacióen equip d’un projecte contextualitzat, es duen a terme tres tipus d'activitats: (a) sessions de treball en equip tutoritzades pel professor, (b) sessions per a la resolució d'un qüestionari per avaluar el coneixement individual del codi de tots els estudiants, (c) sessions de presentació de resultats en que tots els membres de l'equip de treball expliquen els resultats del seu projecte.

 

Les competències transversals quees treballen són

  • L'adquisició d'hàbitsde pensament, i en concret el desenvolupament del pensament sistèmic.

Aquesta competència s'adquireix tant a partir dels coneixements teòrics, ja que tots els continguts estan basats en la construcció de sistema intel·ligents amb mòduls que interactuen, com des del punt de vista de les pràctiques en que els estudiants treballen en equip i experimenten la dependència que es genera en el seu treball. Aquesta competències és avaluada en els exàmens de teoria, en l'avaluació de les entregues de problemes i en l'avaluació de la pràctica a tots els nivells.

  • L'adquisició d'hàbits de treball personal, i en concret el treballar de manera autònoma

Aquesta competència s'adquireix també en la capacitat d'estudiar autònomament els continguts teòrics, en l'entrega individual dels problemes i en la participació en la pràctica. En els tres àmbits el treball individual és avaluat, a teoria a través de l'examen, a problemes amb la revisió de les entregues per part del professor i en les pràctiques a partir del qüestionari individual, la participació de l'estudiant en la presentació conjunta dels resultats, i la intra-avaluació que fan elscompanys dins de cada grup.

Activitats formatives

Títol Hores ECTS Resultats d'aprenentatge
Tipus: Dirigides      
Classes de Teoria 30 1,2 2, 4, 5
Tipus: Supervisades      
Classes de Problemes 10 0,4 2, 4, 5, 7
Classes de Pràctiques 12 0,48 1, 4, 6
Tipus: Autònomes      
Estudi Individual 38 1,52 2, 4, 7
Pràctiques 51 2,04 1, 2, 3, 5, 6, 7

Avaluació

Per avaluar el nivell d’aprenentatge de l’estudiant s’estableix una fórmula que combina l’aprenentatge de coneixements, la capacitat de resolució de problemes i les capacitats de treballar en equip, així com de la presentació dels resultats obtinguts.

La nota final es calcula ponderadament de la següent manera i d’acord amb les diferents activitats que es duen a terme:

     Nota final = 0.5 * Nota Teoria + 0.1 * Nota Problemes + 0.4 * Nota Pràctiques

S'aplicarà aquesta fórmula sempre que la nota de teoria sigui més gran o igual que 5, i la nota de pràctiques sigui més gran que 6. No hi ha cap restricció sobre la nota de problemes. Si el càlcul de la fórmula surt >=5, però no arriba al mínim exigit en alguna de les activitats d'avaluació, aleshores la nota que es posarà a l'expedient és de 4,5.

La nota de teoria pretén valorar les capacitats individuals de l’estudiant quant als continguts teòrics de l’assignatura, això es fa de manera continuada durant el curs amb diverses proves tipus qüestionaris que pretenen una avaluació individualitzada de l’estudiant amb les seves capacitats de resoldre problemes fent servir els conceptes teòrics explicats, així com avaluar el nivell de conceptualització que l’estudiant ha fet de les tècniques vistes. 

Examen de recuperació. En cas que la nota de teoria no arribi al nivell adequat per obtenir una nota final aprovada, els estudiants es poden presentar a un examen de recuperació. Per calcular la nota final de Teoria es considera el màxim entre la nota obtinguda en l'avaluació durant el curs i l’examen de recuperació.

La nota de problemes té com objectiu provocar que l’estudiant entri amb els continguts de l’assignatura de manera continuada i a partir de petits problemes que facin que es familiaritzi directament en l’aplicació de la teoria, com a evidència d’aquest treball es demana l'entrega regular de problemes resolts que haurà anat realitzant:

     Nota Problemes = considera l'Avaluació dels problemes entregats i el % d'entregues realitzades en total

per poder calcular aquesta nota el % d'entregues ha de ser superior a 70%.

La nota de pràctiques té un pes essencial a la nota i pretén que l’estudiant implementi i explori les tècniques estudiades dins d'un projecte amb un objectiu global i contextualitzat. A més a més, l’estudiant ha de demostrar les seves habilitats en fer tot aquest treball en equip i presentar convincentment els resultats. La nota es calcula de la següent manera:

    Nota Pràctiques =0,5 * Nota Projecte 1 + 0,5 * Nota Projecte 2

Per poder calcular aquesta nota cada projecte ha de tenir una nota superior oigual a 6. La nota de cada projecte es calcula a partir d'un compendi de notes:

     Nota Projecte = 0,6 * Nota Individual + 0,4 * Nota Grup

 La Nota de Grup ha de ser superior o igual a 5.

     Nota Individual = 0,4 * Qüestionari + 0,3 * Presentació_Individual + 0,3 * Participacio_grupal

     Nota Grup = 0,6 * Codi + 0,3 * Informe + 0,1 * Presentació_Grup

La Nota de Qüestionari ha de ser superior o igual a 5, i la Nota de Codi ha de ser superior o igual a 5.

Sessions de recuperació. En cas que la Nota de Projecte no arribi al nivell adequat per obtenir la nota final aprovada, els estudiants tindran dues opcions de recuperació:

L'opció de tornar a lliurar i defensar els seus projectes en una sessió específica de recuperació. En cas d'haver d'anar a aquesta sessió de recuperació, la Nota de Grup màxima que es podrà tenir serà de 7.

L'opció de tornar a fer el qüestionari en una sessió de recuperació. En cas d'haver d'anar a aquesta sessió de recuperació, la Nota de Qüestionari màxima que es podrà tenir serà de 7.

Notes Importants:

En cas de no superar l'assignatura degut a que alguna de les activitats d'avaluació no arriba a la nota mínima requerida, la nota numèrica de l'expedient serà el mínim entre 4.5 i la mitjana ponderada de les notes, amb l'excepció que la nota numèrica de l'expedient serà el mínim entre 3.0 i la mitjana ponderada de les notes en cas que l'estudiant hagi comès irregularitats en un acte d'avaluació tals com els que l'expliquen més abaix (i per tant no serà possible l'aprovat per compensació).

L'estudiant tindrà la qualificació de "No Avaluable" en el cas que l'estudiant no hagi participat en cap de les activitat d'avaluació.

L'estudiant tindrà una nota de "Matricula d'Honor" si el seu número en el ranking està per sota del nombre màxims de MH permeses en elcurs, i la seva nota final és superior a un llindar que establirà el professor en el moment que tingui totes les notes finals.

Les dates d'avaluació continuada i lliurament de treballs es publicaran a caronte.uab.cat i poden estar subjectes a canvis de programació per motius d'adaptació a possibles incidències. Sempre s'informarà a caronte.uab.cat/ sobre aquests canvis ja que s'entén que aquesta és la plataforma habitual d'intercanvi d'informació entre professors i estudiants.

En el cas d'estudiants repetidors de l'assignatura no es farà cap convalidació amb una nota obtinguda en un any anterior.

Sense perjudici d'altres mesures disciplinàries que s'estimin oportunes, i d'acord amb la normativa acadèmica vigent, les irregularitats comeses per un estudiant que puguin conduir a una variació de la qualificació es qualificaran amb un zero (0). Les activitats d'avaluació qualificades d'aquesta forma i per aquest procediment no seran recuperables. Si és necessari superar qualsevol d'aquestes activitats d'avaluació per aprovar l'assignatura, aquesta assignatura quedarà suspesa directament, sense oportunitat de recuperar-la en el mateix curs. Aquestes irregularitats inclouen, entre d'altres:

  • la còpia total o parcial d'una pràctica, informe, o qualsevol altra activitat d'avaluació;
  • deixar copiar;
  • presentar un treball de grup no fet íntegrament pels membres del grup;
  • presentar com a propis materials elaborats per un tercer, encara que siguin traduccions o adaptacions, i en general treballs amb elements no originals i exclusius de l'estudiant;
  • tenir dispositius de comunicació (com telèfons mòbils, smart watches, etc.) accessibles durant les proves d'avaluació teórico-pràctiques individuals (exàmens).

 En resum: copiar, deixar copiar o plagiar en qualsevol de les activitats d'avaluació equival a un SUSPENS amb nota inferior o igual a 3,0.

 

 

Activitats d'avaluació

Títol Pes Hores ECTS Resultats d'aprenentatge
Defensa del projecte pràctic (qüestionari+memòria+codi+intra_grupal+presentació) 0.4 3 0,12 1, 2, 3, 4, 5, 6, 7
Entrega dels problemes 0.1 0 0 4, 5, 6, 7
Exàmens individuals 0.5 6 0,24 4, 5, 6

Bibliografia

  • S. Russell i P. Norvig, Artificial Intelligences - A modern approach. Prentice Hall, 2003, http://aima.cs.berkeley.edu/
  • Tveter, Donald R., (1998), The Pattern Recognition basis of Artificial Intelligence. IEEE Computer Society.