Enginyeria del Coneixement i Sistemes Distribuïts Intel·ligents

Esteu aquí

Crèdits
6
Tipus
Complementària d'especialitat (Enginyeria del Software)
Requisits
  • Prerequisit: AS
Departament
CS
L'objectiu d'aquesta assignatura és donar a l'alumne els coneixements bàsics sobre les últimes tendències en l'ús de tècniques d'Intel•ligència Artificial en sistemes distribuïts de forma que pugui entendre-les i emprar-les en la seva pràctica professional. Es preveu que el contingut de l'assignatura es vagui actualitzant contínuament per incorporar les noves tendències que vaguin sorgint.

En aquest curs es presentaran metodologies, tècniques i tecnologies de la Intel•ligència Artificial que s'estan aplicant ja en la enginyeria de sistemes distribuïts per fer-los més flexibles, adaptables i reconfigurables. Es veurà, d'una banda, un nou paradigma de metodologies de disseny del software basat en agents, a on l'anàlisi i disseny de sistemes distribuïts utilitza conceptes de les societats i organitzacions humanes (actor, rol, responsabilitat, delegació de tasques) per a modelar flexiblement les possibles interaccions dins el sistema i les formes de recuperar-se de fallades. D'altra banda veurem com s'estan aplicant tecnologies intel•ligents (raonadors lògics, planificadors automàtics, mecanismes de negociació i argumentació) per a estendre les tecnologies de serveis web semàntics cap al seu potencial màxim, i per a per fer-los més flexibles i adaptatius.

Professorat

Responsable

  • Javier Béjar Alonso ( )

Hores setmanals

Teoria
2
Problemes
1
Laboratori
1
Aprenentatge dirigit
0
Aprenentatge autònom
6

Competències

Competències Tècniques

Competències tècniques comunes

  • CT4 - Demostrar coneixement i capacitat d'aplicació dels procediments algorísmics bàsics de les tecnologies informàtiques per a dissenyar solucions a problemes, analitzant la idoneïtat i la complexitat dels algorismes
    • CT4.3 - Demostrar coneixement i capacitat d'aplicació dels principis fonamentals i de les tècniques bàsiques dels sistemes intel·ligents i de la seva aplicació pràctica.

Competències Tècniques de cada especialitat

Especialitat enginyeria del software

  • CES1 - Desenvolupar, mantenir i avaluar serveis i sistemes software que satisfacin tots els requisits de l'usuari, que es comportin de forma fiable i eficient, que tinguin un desenvolupament i un manteniment assequible i que compleixin normes de qualitat aplicant les teories, els principis, els mètodes i les pràctiques d'Enginyeria del Software.
    • CES1.4 - Desenvolupar, mantenir i avaluar serveis i aplicacions distribuïdes amb suport de xarxa.

Competències Transversals

Raonament

  • G9 [Avaluable] - Capacitat de raonament crític, lògic i matemàtic. Capacitat de resoldre problemes en la seva àrea d'estudi. Capacitat d'abstracció: capacitat de crear i utilitzar models que reflecteixin situacions reals. Capacitat de dissenyar i realitzar experiments senzills, i analitzar-ne i interpretar-ne els resultats. Capacitat d'anàlisi, de síntesi i d'avaluació.
    • G9.3 - Capacitat crítica, capacitat d'avaluació.

Objectius

  1. Conèixer els orígens i les bases de la computació distribuïda a Internet
    Competències relacionades: CT4.3,
  2. Entendre els conceptes bàsics: “Computació per Interacció”, Orientació a Serveis, Cloud Computing, Future Internet
    Competències relacionades: CT4.3,
  3. Conèixer possibles aplicacions de la Intel•ligència Artificial per als sistemes distribuïts a Internet
    Competències relacionades: CT4.3,
  4. Entendre els conceptes bàsics d'Orientació a Serveis
    Competències relacionades: CT4.3,
  5. Entendre els conceptes bàsics d'Orientació a Agents
    Competències relacionades: CT4.3,
  6. Analitzar un problema de naturalesa distribuïda i identificar-ne els diferents actors i les seves funcionalitats
    Competències relacionades: G9.3, CES1.4,
  7. Dissenyar sistemes distribuits aplicant una metodologia orientada a agents
    Competències relacionades: CES1.4, CT4.3,
  8. Analitzar un disseny orientat a agents i identificar els punts a millorar
    Competències relacionades: G9.3, CES1.4,
  9. Entendre els conceptes bàsics sobre representació del context.
    Competències relacionades: CT4.3,
  10. Analitzar un problema de naturalesa distribuïda i identificar-ne la informació de context que és necessària.
    Competències relacionades: G9.3, CES1.4,
  11. Extreure i representar el coneixement necessari sobre el context per a construir una aplicació distribuïda a Internet que sigui flexible i robusta.
    Competències relacionades: G9.3, CES1.4,
  12. Dissenyar ontologies sobre un context aplicant adequadament una metodologia
    Competències relacionades: CES1.4, CT4.3,
  13. Entendre els conceptes relacionats amb la composició dinàmica de serveis
    Competències relacionades: CT4.3,
  14. Descriure serveis web de forma que puguin ser incorporats en un procés de composició dinàmica
    Competències relacionades: CES1.4, CT4.3,
  15. Extreure i representar les accions necessàries per a resoldre la composició dinàmica mitjançant un planificador
    Competències relacionades: CES1.4, CT4.3,
  16. Entendre el concepte d'aprenentatge i conèixer alguns dels seus tipus.
    Competències relacionades: CT4.3,
  17. Entendre la relació entre adaptació i aprenentatge.
    Competències relacionades: CT4.3,
  18. Entendre com es pot aplicar l'aprenentatge automàtic a la adaptació a l'usuari.
    Competències relacionades: CT4.3,
  19. Entendre com es pot aplicar l'aprenentatge automàtic a la adaptació a fallades.
    Competències relacionades: CT4.3,

Continguts

  1. Introducció
    Evolució de la Computació Distribuïda: dels RPCs a SOA. Concepte de 'Computation as interaction'. Noves tendències: Cloud Computing i Future Internet. El paper de la IA a SOA i la Future Internet.
  2. Disseny d'aplicacions distribuïdes orientades a agents
    Introducció a la Orientació a Serveis i l'estàndard W3C. Limitacions del model. Introducció a la Orientació a Agents i l'estàndard IEEE-FIPA. Conceptes bàsics: Agent i Sistema Multiagent. Metodologíes de disseny orientat a agents. Avantatges.
  3. Modelant el context en sistemes distribuïts
    Modelant el contexte a SOA: llenguatges de descripció de serveis, orquestració i coreografíes. Representació del contexte: domini, model de domini, coneixement, representacio del coneixement. Enginyeria del coneixement aplicada al desenvolupament de sistemes distribuïts a la Web. Representacions basades en Ontologíes. Web Semàntica i Linked Data com a model de representació.
  4. Composició dinàmica de serveis
    Descripció semàntica de serveis, Service Discovery i Service Matchmakers. Problemes dels models estàtics d'orquestració i coreografía. Diferents aproximacions a la Composició dinàmica: goal driven, state driven, utility driven. Planificació aplicada a la composició dinámica de serveis.
  5. Adaptació a l'usuari. Perfilat d'usuaris
    Adaptació implica aprenentatge. Conceptes bàsics de perfilat: perfil individual i perfil social. Aprenentatge inductiu, Sistemes Recomanadors i aprenentatge per reforç.
  6. Altres aplicacions d'IA a sistemes distribuits
    Governança mitjançant models socials: reputació, normes. Models d'estructures socials: equips, aliances, coalicions, organitzacions. Exemples.

Activitats

Activitat Acte avaluatiu


Introducció a la computació distribuïda

L'alumne coneixerà els orígens i les bases de la Computació Distribuïda i les noves tendències de futur. Per reforçar l'aprenentatge l'alumne haurà de llegir un article de la Comissió Europea sobre "Future Internet", disponible a la xarxa.
Objectius: 1 2 3 4
Continguts:
Teoria
2h
Problemes
1h
Laboratori
1h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Disseny d'aplicacions distribuïdes orientades a agents

L'alumne no només haurà d'atendre a les exposicions del professor, sino també fer exercicis pràctics sobre modelatge orientat a agents, i participar a les discussions amb el professor i els seus companys sobre quina és la forma millor de modelar problemes distribuits. Al laboratori l'alumne haurà d'aplicar el que ha aprés a un problema de dificultat mitjana.
Objectius: 4 5 6 7 8
Continguts:
Teoria
6h
Problemes
4h
Laboratori
4h
Aprenentatge dirigit
0h
Aprenentatge autònom
17h

Entrega de la pràctica de modelat orientat a agents

Entrega de l'informe sobre la pràctica de modelat orientat a agents que els alumnes han realitzat a les sessions de laboratori.
Objectius: 5 6 7 8
Setmana: 6 (Fora d'horari lectiu)
Tipus: entrega
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Modelant el context en sistemes distribuïts

L'alumne no només haurà d'atendre a les exposicions del professor, sino també fer exercicis pràctics sobre modelatge del contexte, i participar a les discussions amb el professor i els seus companys sobre quina és la forma millor de modelar diferents aspectes del context d'un sistema distribuit. Al laboratori l'alumne haurà d'aplicar el que ha aprés a un problema de dificultat mitjana.
Objectius: 9 10 11 12
Teoria
7h
Problemes
4h
Laboratori
3h
Aprenentatge dirigit
0h
Aprenentatge autònom
21h

Entrega de la práctica sobre modelatge d'ontologíes

Entrega de l'informe de la pràctica sobre modelatge d'ontologíes que els alumnes han desenvolupat al laboratori.
Objectius: 9 10 11 12
Setmana: 8 (Fora d'horari lectiu)
Tipus: entrega
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Parcial d'ECSDI

Parcial sobre modelatge orientat a agents i representació del contexte
Objectius: 5 6 7 8 9 10 11 12
Setmana: 9
Tipus: examen de teoria
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
5h

Composició dinàmica de serveis

L'alumne no només haurà d'atendre a les exposicions del professor, sinó també fer exercicis pràctics sobre descripció i composició de serveis, i participar a les discussions amb el professor i els seus companys sobre els problemes de la composició de serveis. Al laboratori l'alumne haurà d'aplicar el que ha aprés a un problema de dificultat mitjana.
Objectius: 13 14 15
Continguts:
Teoria
6h
Problemes
4h
Laboratori
7h
Aprenentatge dirigit
0h
Aprenentatge autònom
27h

Adaptació a l'usuari. Perfilat d'usuaris

L'alumne no només haurà d'atendre a les exposicions del professor, sinó també fer exercicis pràctics sobre l'ús dels algorismes bàsics d'Aprenentatge Automàtic per l'aprenentatge de perfils, i participar a les discussions amb el professor i els seus companys sobre com utilitzar aquests algorismes.
Objectius: 16 17 18 19
Continguts:
Teoria
2h
Problemes
2h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Altres aplicacions d'IA a sistemes distribuits

L'alumne no només haurà d'atendre a les exposicions del professor, sinó també participar a les discussions amb el professor i els seus companys sobre l'impacte potencial que poden tenir les tècniques d'Intel·ligència Artificial sobre el futur d'Internet.
Objectius: 3
Continguts:
Teoria
3h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Entrega de la pràctica sobre composició de serveis

Entrega de l'informe de la pràctica sobre composició de serveis que els alumnes han desenvolupat al laboratori.
Objectius: 13 14 15
Setmana: 14 (Fora d'horari lectiu)
Tipus: entrega
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
1h

Examen final d'ECSDI

Examen final de tots els continguts del curs.
Objectius: 6 7 8 10 11 12 14 15 18 19
Setmana: 15 (Fora d'horari lectiu)
Tipus: examen de teoria
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
9h

Metodologia docent

Les clases estan dividides en sessions de teoria, problemes i laboratori.

A les sessions de teoria es desenvoluparan els coneixements de l'assignatura, intercalant l'exposició de nou material teòric amb exemples i la interacció amb els alumnes per tal de discutir els conceptes.

Les classes de problemes permetran aprofondir en els conceptes, les técniques i metodologíes explicats a les sessions de teoria. S'estimularà la participació de l'alumne per tal de comentar les alternatives possibles.

A les clases de laboratori es desenvoluparan petites pràctiques utilitzant eines i llenguatges propis de la Intel·ligència Artificial que permetran practicar i reforçar els coneixements de les classes de teoria.

Mètode d'avaluació

L'avaluació constarà d'un examen parcial, un exàmen final i una nota de laboratori.

L'examen parcial no és alliberatori i es farà a hores de clase.

La nota de laboratori provindrà dels informes que es faran de les pràctiques realitzades.

El càlcul de la nota final es farà de la següent manera:

NP = nota del parcial
NF = nota de l'examen final
NL = nota de laboratori

NOTA = max ((NP*0.25 + NF*0.25), (NP*0.15 + NF*0.35)) + NL*0.45 + Nota Competència

Avaluació de les competències

L'avaluació de la competència sobre raonament es basa en el treball realitzat durant les pràctiques de laboratori. La nota ABCD i la nota de curs es calcula a partir d'una rúbrica detallada que es donarà als alumnes a l'inici de curs.

Bibliografia

Bàsica:

Complementaria:

Web links

Capacitats prèvies

Capacitats prèvies sobre arquitectures de serveis i disseny de serveis adquirides a l'assignatura Arquitectura del software (AS):
- Coneixement de les arquitectures de serveis.
- Coneixement dels principis del disseny de serveis.
- Coneixement dels patrons de disseny de serveis.

Capacitats prèvies sobre Lògica adquirides a l'assignatura Fonaments Matemàtics (FM):
- Coneixement dels conceptes bàsics de lògica de proposicions i predicats
- Capacitat de formular un problema en termes lògics.
- Coneixements sobre Inferència lògica i resolució. Entendre les estratègies de resolució.