Programação Dinâmica e Aprendizagem para Decisão e Controlo
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Automação e Controlo |
Ocorrência: 2024/2025 - 1S 
Ciclos de Estudo/Cursos
Sigla |
Nº de Estudantes |
Plano de Estudos |
Anos Curriculares |
Créditos UCN |
Créditos ECTS |
Horas de Contacto |
Horas Totais |
M.EEC |
7 |
Plano de Estudos Oficial |
2 |
- |
6 |
39 |
|
Docência - Responsabilidades
Língua de trabalho
Inglês
Objetivos
Esta UC visa transpor as bases adquiridas em controlo, otimização, sistemas dinâmicos (diferenciais ou com eventos discretos), determinísticos ou estocásticos para a vertente operacional por forma a lidar com a complexidade computacional inerente a processos de optimização e de exploração, utilizando técnicas de aprendizagem máquina, nomeadamente reinforcement learning.
Resultados de aprendizagem e competências
Aquisição por parte dos estudantes de conhecimentos fundamentais para a conceção e desenvolvimento de sistemas de apoio à gestão e controlo de sistemas dinâmicos tendo como a
programação dinâmica como elemento central bem como as diversas abordagens aproximantes, designadas genericamente de "reinforcement learning" que promovem diferentes compromissos entre exploração e optimização.
São parte dos sub-objetivos, por um lado, estabelecer a ligação com matérias curriculares oferecidas anteriormente – essencialmente, sistemas dinâmicos, controlo, otimização, sistemas com variáveis aleatórios, e cadeias de Markov – e, por outro lado, como fazer a ligação com redes neuronais como
forma eficiente de operacionalizar do ponto de vista computacional os métodos apresentados.
Modo de trabalho
Presencial
Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)
Álgebra Linear, Probabilidades e Estatística, Controlo. Conhecimentos de aprendizagem máquina serão úteis, mas não são pré-requisito essencial.
Programa
1. Introdução.
Clarificação – através de exemplos – como é que os conteúdos desta UC permitem operacionalizar conhecimentos de
UCs anteriores, nomeadamente Controlo.
2. Revisão e complemento de conhecimentos sobre Cadeias de Markov Controladas.
Definição como autómatos estocásticos temporizados. Matriz de Probabilidades de Transição. Regimes transitórios e
permanentes. Aplicações ao controlo e otimização. Processos de Decisão de Markov.
3. Programação Dinâmica
Conceitos básicos gerais nos contextos discreto : função valor (“cost-to-go”) e princípio de
otimalidade. Métodos de resolução da equação de Bellman. Algoritmos básicos de programação
dinâmica para problemas discretos. Exemplo do caso do problema Linear Quadrático. Tipos de problemas de programação dinâmica: Caminho mais curto estocástico, e custo
descontado.
4. Arquiteturas de redes neuronais e métodos de treino.
Arquiteturas para aproximação da função valor através de redes neuronais multinível. Métodos de treino de redes
neuronais.
5. Algoritmos estocásticos iterativos.
Modelo básico. Convergência baseada em função potencial suave. Convergência via propriedades de contração e
monotonia. A abordagem da equação diferencial ordinária.
6. Métodos de simulação. Avaliação de políticas por simulação Monte Carlo. Método das diferenças temporais. Iteração
de políticas otimistas. Iteração do valor por simulação. Aprendizagem Q.
Bibliografia Obrigatória
Richard S. Sutton and Andrew G. Barto;
Reinforcement Learning: An Introduction , MIT press, 2018
Bibliografia Complementar
Dimitri Bertsekas; Reinforcement Learning and Optimal Control , Athena , 2019
Bertsekas, D. P.;
Dynamic Programming and Optimal Control (3rd ed)., Athena Scientific, 2005
Bertsekas, D. P., & Tsitsikis, J. N.;
Neuro-Dynamic Programming, Athena Scientific, 1996
Cassandras, C.G., Lafortune, S.;
Introduction to Discrete Event Systems (2nd ed), Springer, 2008
Métodos de ensino e atividades de aprendizagem
Aulas teóricas: exposição da matéria e resolução de exemplos de exercícios
Aulas teórico práticas: Resolução de exercícios representativos. Apoio ao estudantes na resolução de problemas propostos na aula, esclarecimento de dúvidas e realização de exercícios práticos, bem como acompanhamento de trabalhos apoiados na utilização do OCTAVE/MATLAB e Python.
Software
Octave, MATLAB
Matlab
Python
Palavras Chave
Ciências Físicas > Matemática > Matemática aplicada
Ciências Tecnológicas > Engenharia > Engenharia electrotécnica
Ciências Tecnológicas > Engenharia > Engenharia de sistemas > Teoria de sistemas
Ciências Tecnológicas > Engenharia > Engenharia de controlo > Automação
Tipo de avaliação
Avaliação distribuída sem exame final
Componentes de Avaliação
Designação |
Peso (%) |
Trabalho prático ou de projeto |
50,00 |
Participação presencial |
10,00 |
Teste |
40,00 |
Total: |
100,00 |
Componentes de Ocupação
Designação |
Tempo (Horas) |
Elaboração de projeto |
40,00 |
Estudo autónomo |
83,00 |
Frequência das aulas |
39,00 |
Total: |
162,00 |
Obtenção de frequência
A frequência é obtida através da participação em pelo menos 75% das aulas PL e pela participação no mini-projecto.
Fórmula de cálculo da classificação final
A avaliação final tem três componentes:
TE - Teste Escrito na escala de 0 a 20 valores com um peso de 40%
MP - Mini-projeto elaborado em grupo na escala de 0 a 20 valores com um peso de 50%
CC - Componente Contínua na escala de 0 a 20 valores com um peso de 10%
Classificação Final = 0.4 EF + 0.5 MP +0.1 CC
A Componente Contínua é medida pelo grau de participação da Aula TP.
Provas e trabalhos especiais
Mini projecto de sistema de controlo baseado em aprendizagem, apoiado pelo software OCTAVE/MATLAB, Python, ou outro a definir.
Trabalho de estágio/projeto
Não aplicável
Melhoria de classificação
Os estudantes poderão realizar novo teste escrito, substituindo a nota do TE anterior, podendo cumulativamente melhorar o trabalho, de forma individual.