Código: | CC333 | Sigla: | CC333 |
Áreas Científicas | |
---|---|
Classificação | Área Científica |
OFICIAL | Ciência de Computadores |
Ativa? | Sim |
Unidade Responsável: | Departamento de Ciência de Computadores |
Curso/CE Responsável: | Licenciatura em Geologia |
Sigla | Nº de Estudantes | Plano de Estudos | Anos Curriculares | Créditos UCN | Créditos ECTS | Horas de Contacto | Horas Totais |
---|---|---|---|---|---|---|---|
L:AST | 0 | Plano de Estudos a partir de 2008 | 3 | - | 7,5 | - | |
L:B | 0 | Plano de estudos a partir de 2008 | 3 | - | 7,5 | - | |
L:F | 1 | Plano de estudos a partir de 2008 | 3 | - | 7,5 | - | |
L:G | 0 | P.E - estudantes com 1ª matricula anterior a 09/10 | 3 | - | 7,5 | - | |
P.E - estudantes com 1ª matricula em 09/10 | 3 | - | 7,5 | - | |||
L:M | 1 | Plano de estudos a partir de 2009 | 3 | - | 7,5 | - | |
L:Q | 0 | Plano de estudos Oficial | 3 | - | 7,5 | - |
Estudo e comparação de vários modelos de computação
(Turing-completos), do seu poder computacional e das suas limitações.
Ao completar este curso espera-se que os alunos
- conheçam os modelos de computação clássicos utilizados no estudo da
computabilidade de diversos problemas;
- saibam provar a equivalência de vários modelos Turing-completos;
- conheçam os resultados e métodos mais importantes no estudo da
computabilidade e complexidade;
- saibam classificar exemplos concretos de problemas e provar a sua
(in)decidibilidade dentro das diversas classes de computabilidade.
Os alunos são expostos a vários dos modelos de computação Turing-completos standard, como as máquinas de registo, máquinas de Turing e as funções recursivas. Para além da prova da equivalência dos diferentes modelos, estes são também utilizados para identificar diferentes problemas indecidíveis. São usadas diferentes técnicas, como o método da diagonalização e da redução entre linguagens. Para adquirirem experiência em identificar a complexidade computacional de problemas concretos, faz-se uma introdução às classes P e NP, completude NP e o teorema de Cook, voltando também à técnica da redução.
Conhecimentos de alguns modelos de computação como Autómatos finitos, Expressões regulares e Gramáticas independentes. Conhecimentos básicos de Lógica.
Noção de linguagem/problema (semi-)decidível. Revisão de alguns
modelos de computação (DFA's, NFA's, CFG's e PDA's) e do seu poder
computacional. Máquinas de registo. Tese de Church-Turing. Hierarquia
de Chomsky. Estudo de outros modelos de computação Turing-completos e
sua equivalência (máquinas de Turing, funções recursivas). Enumerabilidade efetiva das instâncias de um modelo
de computação. Método da diagonalização e indecidibilidade do problema
da paragem. Redução "muitos para um" entre linguagens. Introdução à teoria de complexidade: classes P e NP; completude NP; teorema de Cook e outros problemas NP-completos.
Aulas teóricas de exposição dos conteúdos programáticos.
Aulas práticas de resolução de exercícios propostos semanalmente.
Designação | Peso (%) |
---|---|
Exame | 100,00 |
Total: | 100,00 |
N/a
Classificação final corresponde à classificação obtida
- como média aritmética dos dois testes a realizar durante o semestre (cada um com nota mínima de 7 valores);
- ou no exame final.
No caso do aluno ter aprovação por testes e mesmo assim optar por fazer exame final, ficará com a melhor das duas classificações.
Haverá dois testes não obrigatórios com a valorização de 20 valores cada, a realizar durante o semestre.
No caso do aluno ter aprovação por testes e mesmo assim optar por fazer exame final, ficará com a melhor das duas classificações.