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


2024/2025

Pré-requisitos / Pre-Requisites


Conhecimentos básicos da linguagem de programação Python. Conhecimentos básicos de probabilidade e estatística.

Objetivos Gerais / Objectives


Os objetivos gerais da UC são os seguintes: (OG1) Conhecer as abordagens fundamentais que o conceito de agente de software com capacidades de controlo autónomo envolve. (OG2) Saber implementar uma solução para um problema usando agentes autónomos. (OG3) Entender a noção de sociedade de agentes, da coordenação e na negociação entre agentes, e da sua utilidade na modelação da interação social e na simulação de sistemas complexos

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


No final da UC, os alunos serão capazes de: (OA1) Compreender, definir e descrever o que são agentes autónomos e como se diferenciam do software tradicional. (OA2) Compreender as diferentes arquiteturas de agentes e as suas aplicações. (OA3) Descrever como os agentes percecionam e representam o seu ambiente, raciocinam sob incerteza e como representam o conhecimento. (OA4) Explicar conceitos-chave como estados, ações, recompensas e políticas em contextos de tomada de decisão. (OA5) Aplicar algoritmos de procura para resolver problemas num contexto de agente. (OA6) Implementar algoritmos de planeamento para agentes em ambientes complexos. (OA7) Aplicar técnicas básicas de aprendizagem por reforço (como o Q-learning) a problemas simples. (OA8) Avaliar o desempenho e o comportamento dos agentes. (OA9) Compreender e descrever o que são sistemas multiagente. (OA10) Discutir considerações éticas, de segurança e sociais relacionadas com agentes autónomos.

Conteúdos Programáticos / Syllabus


(CP1) O que são agentes e ambientes? Arquiteturas de agentes (reativa, deliberativa, híbrida). (CP2) Perceções/Sensores, tipos de ambientes (totalmente / parcialmente observáveis, determinísticos /estocásticos). (CP3) Procura (BFS, DFS, UCS) agentes baseados em objetivos, procura informada, funções heurísticas e admissibilidade, problemas de satisfação de restrições. (CP4) Estados, ações, transições, recompensas, políticas; introdução aos MDPs, problemas clássicos de planeamento, de ordem parcial e hierárquico e em ambientes dinâmicos. (CP5) Aprendizagem por Reforço (AR): Algoritmos de AR básicos, iteração de valor, Q-learning, exploração de ações. (CP6) Sistemas multiagente: cooperação e competição, negociação e coordenação, auto-organização, emergência e comunicação. (CP7) Modelação e simulação baseada em agentes (ABMS) e sistemas complexos adaptativos. (CP8) Questões éticas e sociais 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


O objetivo geral/objetivos de aprendizagem (OG1) / (OA1) (OA2) (OA3) e (OA4) serão veiculados pelos conteúdos programático (CP1) (CP2) (CP3) e (CP4). O objetivo geral/objetivos de aprendizagem (OG2) / (OA5) (OA6) (OA7) (OA8) e (OA10) serão veiculados pelos conteúdos programáticos (CP2) (CP3) (CP4) (CP5) e (CP8). Os objetivos gerais/objetivos de aprendizagem (OG3) / (OA9) serão veiculados pelos conteúdos programáticos (CP6) e (CP7). Deste modo, existe uma progressão na apreensão das matérias que permite o entendimento de conceitos mais elaborados a partir de conceitos mais simples.

Avaliação / Assessment


A avaliação na modalidade 'ao longo do semestre' resulta da efetivação de um teste intercalar individual em Moodle(20% da nota final), um trabalho em grupo (máximo de 3 alunos) com elaboração de um relatório (20% da nota final) e uma apresentação oral (20% da nota final) a efetuar pelo grupo e a efetivação de 4 trabalhos para casa (10% da nota final cada um) É exigida uma assiduidade mínima não inferior a 2/3 das aulas (os alunos podem faltar 4 aulas em 12). O Exame Final é um exame escrito, individual, sem consulta, com toda a matéria. Realiza exame final, na 1ª época 2ª época ou época especial, quem não tenha concluído com sucesso a avaliação ao longo do semestre, com uma nota média superior ou igual a 10 (em 20).

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 e concisa.

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


A metodologia de ensino é a apropriada para a apreensão de técnicas de conceção e implementação de agentes de software, e de sociedades de agentes, pois aplica a apresentação de conceitos simples, em aula, a trabalho prático de programação aplicado a partir desses conceitos não só num contexto imediato em aula mas que se procura relevante e lúdico para o aluno. O aluno é induzido a procurar a solução para os problemas, e a validar ele próprio, o sucesso dessa solução.

Observações / Observations


-

Bibliografia Principal / Main Bibliography


Russell & Norvig, Artificial Intelligence: A Modern Approach, 4th Edition Global, Pearson (2022) Sutton & Barto, Reinforcement Learning: An Introduction, 2nd Edition Bradford Books, (2018)

Bibliografia Secundária / Secondary Bibliography


Vlassis, N. A Concise Introduction to Multiagent Systems and Distributed Artificial Intelligence. In Synthesis Lectures on Artificial Intelligence and Machine Learning (Vol.1, Issue 1), 2007. Wooldridge, M. An Introduction to MultiAgent Systems - 2nd Edition. In ACM SIGACT News (Vol. 41, Issue 1), 2009.

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


2025-01-31