Ficha Unidade Curricular (FUC)
Informação Geral / General Information
Carga Horária / Course Load
Á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