Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
04088
Acrónimo :
04088
Ciclo :
1.º ciclo
Línguas de Ensino :
Português (pt)
Língua(s) amigável(eis) :
Inglês, Português

Carga Horária / Course Load


Semestre :
2
Créditos ECTS :
6.0
Aula Teórica (T) :
0.0h/sem
Aula Teórico-Prática (TP) :
36.0h/sem
Aula Prática e Laboratorial (PL) :
0.0h/sem
Trabalho de Campo (TC) :
0.0h/sem
Seminario (S) :
0.0h/sem
Estágio (E) :
0.0h/sem
Orientação Tutorial (OT) :
1.0h/sem
Outras (O) :
0.0h/sem
Horas de Contacto :
37.0h/sem
Trabalho Autónomo :
113.0
Horas de Trabalho Total :
150.0h/sem

Área científica / Scientific area


480 - Informática

Departamento / Department


Departamento de Tecnologias Digitais

Ano letivo / Execution Year


2023/2024

Pré-requisitos / Pre-Requisites


Conhecimentos básicos de linguagens de programação.

Objetivos Gerais / Objectives


Proporcionar a aquisição da capacidade de: (OG1) proporcionar a aprendizagem de abordagens fundamentais para a conceção de agentes de software com capacidades de controlar autonomamente o seu comportamento, incluindo a coordenação da sua vida numa sociedade, e de comunicar com os utilizadores e com outros agentes. (OG2) identificar os requisitos dos agentes de software a desenvolver, em termos dos papéis de agente necessários e das necessidades de comunicação (OG3) identificar necessidades que possam ser satisfeitas através da utilização de agentes de software imersos numa sociedade de atores humanos e de outros agentes de software

Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes


Pretende introduzir-se os conceitos e conhecimentos práticos fundamentais à utilização e ao desenvolvimento de agentes de software. Após a conclusão da UC, os alunos devem: (OA1) Ter consciência das vantagens e desafios da utilização e desenvolvimento de agentes imersos numa sociedade de atores humanos e de outros agentes artificiais; (OA2) Saber identificar os requisitos relativamente aos agentes a desenvolver, em termos dos papéis de agente (agente roles) e de comunicação; (OA3) Escolher e implementar as abordagens mais adequadas ao controlo autónomo do comportamento; (OA4) Dominar a linguagem de comunicação de agentes e a linguagem de conteúdo usada nessa comunicação. (OA5) Conhecer mecanismos necessários à coordenação de agentes em sociedade, tendo em vista os objetivos dos utilizadores; (OA6) Identificar necessidades que possam ser satisfeitas através da utilização de agentes de software e analisar criticamente os benefícios e desvantagens esperados no uso desta tecnologia.

Conteúdos Programáticos / Syllabus


(P1) Programação orientada a agentes. Simulação baseada em agentes versus sistemas multiagente. Ferramentas para desenvolvimento de sistemas multiagente e para simulação baseada em agentes. (P2) Agentes e ambientes. Tipos básicos de agentes: dedutivos; reativos; deliberativos; emocionais, adaptativos. Agentes com aprendizagem por reforço; agentes com prospeção incremental de dados; agentes híbridos. (P3) Sistemas multiagente. Coordenação, estigmeria, auto-organização, emergência e comunicação. Atos de discurso – ACL e FIPA. (P4) Tomada de decisão multiagente. Teoria de jogos. Utilidades e preferências. Estratégias dominantes. Equilíbrio de Nash. Ótimo de Pareto. Incerteza. Jogos cooperativos. Agentes negociadores. Agentes leiloeiros. Desenho de mecanismos. Agentes argumentativos. (P5) Introdução à simulação baseada em agentes. Modelação e simulação baseada em agentes (ABMS). Modelos baseados em agentes e sistemas complexos adaptativos. (P6) Questões éticas na construção de agentes.

Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular units content dovetails with the specified learning outcomes


(OG1) / (OA1; OA2; OA3; OA5) <== (P1) + (P2) + (P3) + (P5) (OG2) / (OA4) <== (P2) + (P3) + (P4) (OG3) / (OA6) <== (P2) + (P3) + (P4) + (P6)

Avaliação / Assessment


A avaliação periódica resulta dos seguintes componentes: - Um teste intercalar (20% da nota final) e um outro no final do semestre (20% da nota final); - Um trabalho em grupo (máximo de 3 alunos) na qual o grupo desenvolverá o protótipo de um sistema multiagente com elaboração de um relatório envolvendo 3 entregáveis a submeter ao longo do semestre (30% da nota final, 10% cada entregável) e uma apresentação oral com demonstração do funcionamento do software desenvolvido (30% da nota final). Em alternativas os alunos poderão optar por avaliação em exame final (100% da nota final) São aprovados os alunos que obtenham uma classificação final superior 9.5 valores.

Metodologias de Ensino / Teaching methodologies


O processo ensino-aprendizagem é baseado em aulas teórico-práticas onde é feita a exposição de conceitos e metodologias, são apresentados exemplos de aplicação, e são resolvidos, em simultâneo com a exposição em aula, exercícios tipo com discussão e interpretação de resultados. A componente prática das aulas é orientada para realização de pesquisa e exploração dos problemas e de elementos para a sua resolução, incluindo a programação e realização de miniensaios com o fito da realização final de modelos de agentes e sistemas multiagente e a elaboração final de um protótipo de sistema, de cenários de implementação e uma exposição clara, objetiva, concisa e publicável de todo o trabalho.

Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes


Os objetivos de aprendizagem envolvem um elevado grau de consciencialização da relação entre o tipo de problemas que vão enfrentar na vida profissional e as abordagens mais adequadas. O ensino organizado em torno de problemas/exercício e projetos, no qual a apresentação das abordagens mais técnicas é sempre precedida de uma análise concetual dos problemas, do seu enquadramento prático, e dos seus requisitos que os utilizadores dos sistemas desenvolvidos definem, requer o desenvolvimento desse elevado grau de consciencialização. O processo ensino-aprendizagem baseado em aulas teórico-práticas onde é feita a exposição de conceitos, práticas atuais e metodologias; onde são apresentados exemplos de aplicação e são resolvidos em simultâneo com a exposição em aula exercícios tipo com discussão e interpretação de resultados; e a realização pelo aluno, assistida pelo docente, ao longo de todo semestre, de um projeto mais elaborado centrado na realização de um sistema funcional multi-agente, permite a concretização dos objetivos atrás referidos.

Observações / Observations


-

Bibliografia Principal / Main Bibliography


Wooldridge, M. (2009). An Introduction to MultiAgent Systems - 2nd Edition. In ACM SIGACT News (Vol. 41, Issue 1)

Bibliografia Secundária / Secondary Bibliography


Vlassis, N. (2007). A Concise Introduction to Multiagent Systems and Distributed Artificial Intelligence. In Synthesis Lectures on Artificial Intelligence and Machine Learning (Vol. 1, Issue 1). https://doi.org/10.2200/s00091ed1v01y200705aim002 Leyton-brown, K. (2009). Multiagent Systems: Algorithmic, Game-Theoretic, and Logical Foundations. Gerhard, W. (n.d.). Multiagent systems (2nd ed). MIT press.

Data da última atualização / Last Update Date


2024-02-16