Teoria da Computação. Computabilidade e complexidade computacional
|
|
|
- Teresa Borges Costa
- 7 Há anos
- Visualizações:
Transcrição
1 Teoria da Computação Computabilidade e complexidade computacional 1
2 Computabilidade e Complexidade Computabilidade: verifica a existência de algoritmos que resolva uma classe de linguagens trata a possibilidade da sua construção Complexidade: trata da eficiência da computação (dos algoritmos) em computadores existentes Complexidade temporal: tempo de processamento exigido Complexidade espacial: espaço de armazenamento exigido Custo computacional 2
3 Computabilidade computacional 3
4 Computabilidade - Visão geral Quais problemas os computadores conseguem efetivamente resolver? Como isso pode ser verificado? Concentra-se nos problemas com respostas binárias (problemas sim/não ou problemas de decisão). Universo de Todos os Problemas Solucionáveis Não-Solucionáveis Parcialmente Solucionáveis Completamente Insolúveis Computáveis Não-Computáveis 4
5 Computabilidade problemas computáveis Um problema é dito solucionável se existe um algoritmo (Máquina Universal) que solucione o problema tal que sempre para (aceitando ou rejeitando) considerando qualquer entrada Universo de Todos os Problemas Solucionáveis Não-Solucionáveis Parcialmente Solucionáveis Completamente Insolúveis Computáveis Não-Computáveis 5
6 Computabilidade problemas não-computáveis Exemplo de problemas não-computáveis na computação Determinar se dois programas são equivalentes. Determinar se uma gramática livre de contexto é ambígua. Determinar se duas gramáticas livres de contexto são equivalentes. Universo de Todos os Problemas Solucionáveis Não-Solucionáveis Parcialmente Solucionáveis Completamente Insolúveis Computáveis Não-Computáveis 6
7 Computabilidade Questões que NÃO devem ser consideradas na investigação da computabilidade: limitações reais de uma implementação, como pode por exemplo, tamanho de espaço de endereços, tamanho da memória principal, questões de tempo e outros. 7
8 Computabilidade Em estudos iniciados por David Hilbert (início do século XX) foram propostos formalismos para a verificação da computabilidade, sendo os mais importantes: Máquina de Post Máquina com Pilhas Máquina de Turing Máquina Universais Estas máquinas (podem simular computadores reais) não apresentam as limitações citadas anteriormente, logo podem ser utilizadas para verificar o que um dispositivo de computação pode calcular em um determinado tempo (execução em tempo finito) Decidibilidade 8
9 Computabilidade Tese de Church-Turing Tese de Church: Qualquer computação que pode ser executada por meios mecânicos pode ser executada por uma Máquina de Turing. Principais razões pelas quais a maioria dos investigadores demonstram que esta tese é verdadeira: As MT s são tão gerais que podem simular qualquer computação; Nunca ninguém descobriu um modelo algorítmico mais geral que as MT s. 9
10 Porque estudar problemas não-solucionáveis Problemas não-solucionáveis: não existe um algoritmo para uma máquina universal que solucione o problema tal que sempre para considerando qualquer entrada Principais motivos para o estudo dos problemas não- solucionáveis: 1. Verificar as capacidades e limitações dos computadores; 2. Evitar a pesquisa de soluções inexistentes problemas que não podem ser resolvidos computacionalmente (Indecidíveis) 3. Para verificar que outros problemas também são insolúveis (princípio da redução). VERIFICAR O QUE É QUE UM COMPUTADOR PODE FAZER! 10
11 Computabilidade MT podem ser divididas em duas classes: 1) MT que, para qualquer cadeia de entrada, sempre terminam, ou seja, sempre respondem se a cadeia ou a linguagem. Essas linguagens são chamadas Linguagens Recursivas ou Decidíveis (M,w)= aceita w (alcança um estado final) ou rejeita w (para em um estado que não é final) Universo de Todos os Problemas Solucionáveis Não-Solucionáveis Parcialmente Solucionáveis Completamente Insolúveis Computáveis Não-Computáveis 11
12 Computabilidade MT podem ser divididas em duas classes: 2) MT que, para qualquer cadeia de entrada, terminam aceitando a cadeia, se ela fizer parte da linguagem, ou podem funcionar indefinidamente sobre entradas que elas não aceitam (loop). Em outras palavras, não é possível determinar se aceita ou não a entrada. Tais linguagens são chamadas Linguagens Recursivamente Enumeráveis Universo de Todos os Problemas Solucionáveis Não-Solucionáveis Parcialmente Solucionáveis Completamente Insolúveis Computáveis Não-Computáveis 12
13 Problemas não-solucionáveis Outros exemplos de problemas (não-solucionáveis) clássicos da computação: Detector universal de loops (problema da parada): Dado um programa e uma entrada qualquer, não existe um algoritmo genérico capaz de verificar se o programa vai parar ou não para a entrada. Equivalência de compiladores: Não existe algoritmo genérico que sempre para e que seja capaz de comparar quaisquer dois compiladores de LLC, e verificar se são equivalentes. 13
14 Computabilidade Exemplo Classifique o problema de acordo com a entrada (x) Programa constante Read x; While x 10 do x := x + 1; Print x; End; ************** Para x>10 o programa não para! Vai ficar calculando a vida toda? Não para? 14
15 Computabilidade Exemplo Classifique o problema de acordo com a entrada (x) Programa constante Read x; While x 10 do x := x + 1; Print x; End; ************** Para x>10 o programa não para! Vai ficar calculando a vida toda? Não para? parcialmente solucionável 15
16 Decidibilidade - abordagem A classe das LR está ligada ao conceito de decidibilidade. Um problema de decisão PD (Sim/Não ou Aceita/Rejeita) P é decidível se, e somente se, certa linguagem associada a P for recursiva. Logo, determinar se certo problema é decidível é basicamente estabelecer se determinada linguagem é recursiva (MT que a reconhece). Não considera a quantidade de tempo gasto e sim se ele é finito (o conceito que trabalha com a quantidade de tempo gasto é o da Complexidade) 16
17 Problemas não-solucionáveis são parcialmente solucionáveis Alguns problemas não-solucionáveis são parcialmente solucionáveis, ou seja, existe um algoritmo capaz de responder SIM, embora, eventualmente, possa ficar em um loop infinito para uma resposta que deveria ser NÃO. A Classe dos Problemas Parcialmente Solucionáveis é equivalente à Classe das Linguagens Recursivamente Enumeráveis. Os Problemas Parcialmente Solucionáveis são Computáveis Universo de Todos os Problemas Solucionáveis Não-Solucionáveis Parcialmente Solucionáveis Completamente Insolúveis Computáveis Não-Computáveis 17
18 Computabilidade Divisões das Classes de Problemas: Problemas Computáveis (Contáveis). Problemas Não-computáveis (Não-contáveis). A Classe dos Problemas Não-Computáveis é muito maior do que a Classe dos Problemas Computáveis. Universo de Todos os Problemas Solucionáveis Não-Solucionáveis Parcialmente Solucionáveis Completamente Insolúveis Computáveis Unidade 4 Computabilidade Não-Computáveis 18
19 Computabilidade Divisões das Classes de Problemas: Como constatar esta divisão? Problemas Computáveis (Contáveis). Problemas Não-computáveis (Não-contáveis). A Classe dos Problemas Não-Computáveis é muito maior do que a Classe dos Problemas Computáveis. Universo de Todos os Problemas Solucionáveis Não-Solucionáveis Parcialmente Solucionáveis Completamente Insolúveis Computáveis Unidade 4 Computabilidade Não-Computáveis 19
20 Princípio da Redução: Investigar a solucionabilidade de um problema a partir de outro, cuja classe de solucionabilidade é conhecida. Sejam A e B dois problemas de decisão. Suponha que é possível modificar (reduzir) A de tal forma que ele se porte como um caso de B. Se A é não-solucionável (não-computável), então, como A é um caso de B, conclui-se que B também é não-solucionável. Se B é solucionável (parcialmente solucionável) então, como A é um caso de B, conclui-se que A também é solucionável (parcialmentesolucionável) Problema A solucionável Redução de A Problema B insolúvel 20
21 Princípio da Redução Exemplo: Problema 1: obter a área do retângulo reduz Problema 2: obter informações de ALTURA e BASE do retângulo 21
22 Classes de Solucionabilidade de Problemas Problema Solucionável: existe um algoritmo (Máquina Universal) que soluciona o problema, tal que sempre pare para qualquer entrada com uma resposta afirmativa (ACEITA) ou negativa (REJEITA). Problema Não-Solucionável: não existe um algoritmo (Máquina Universal) que solucione o problema tal que sempre para considerando qualquer entrada. Universo de Todos os Problemas Solucionáveis Não-Solucionáveis 22
23 Classes de Solucionabilidade de Problemas Problema Parcialmente Solucionável ou Computável: existe um algoritmo (Máquina Universal) tal que sempre para quando a resposta é afirmativa (ACEITA). Entretanto, quando a resposta esperada for negativa, o programa pode parar (REJEITA) ou permanecer processando indefinidamente (LOOP). Problema Completamente Insolúvel ou Não- Computável: não existe um algoritmo (Máquina Universal) que solucione o problema tal que sempre para quando a resposta é afirmativa (ACEITA). Universo de Todos os Problemas Parcialmente Solucionáveis (Computáveis) Completamente Insolúveis (Não-Computáveis) 23
24 Relação entre as Classes de Problemas Universo de Todos os Problemas Solucionáveis Não-Solucionáveis Parcialmente Solucionáveis Completamente Insolúveis Computáveis Não-Computáveis A união das classes dos problemas Solucionáveis com a dos não-solucionáveis é o universo de todos os problemas. A união das classes dos problemas Parcialmente Solucionáveis com a dos Completamente Insolúveis é o universo de todos os problemas. A classe dos problemas Parcialmente Solucionáveis contem propriamente a classe dos problemas Solucionáveis e parte da classe dos problemas Não-solucionáveis. Todo problema Solucionável é Parcialmente Solucionável. Existem problemas Não-solucionáveis que possuem soluções parciais (ACEITA/REJEITA). Os problemas Completamente Insolúveis não possuem solução total nem parcial. 24
25 Problemas de Decisão São problemas do tipo SIM/NÃO com o objetivo de investigar a computabilidade. A ideia básica é verificar se a função associada a eles é computável em uma máquina universal. 25
26 Problemas de Decisão A propriedade de um problema de decisão é dada pela seguinte ideia: Dado um programa P para uma máquina universal M, decidir se a função computada (P, M) é total, ou seja, se a correspondente computação é finita. Sendo assim, a não-solucionabilidade refere-se à inexistência de um método geral para decidir se um programa para uma máquina universal pare para qualquer entrada. 26
27 Problemas de Decisão Relembrando..: A existência de programas não solucionáveis é importante por diversas razões, como por exemplo: Alguns desses problemas não-solucionáveis permitem estabelecer importantes resultados para a Ciência da Computação (como a inexistência de um detector universal de loops). Demonstrar limitações da capacidade de se expressar soluções através de programas. 27
28 Problemas de Decisão A investigação da solucionabilidade de programas em máquinas universais pode ser vista como um problema de reconhecimento de linguagens: O problema é reescrito como um problema de decisão capaz de gerar respostas do tipo SIM/NÃO. Os argumentos do problema SIM/NÃO são codificados como palavras de um alfabeto, gerando uma linguagem. A questão da solucionabilidade de um problema pode ser traduzida como uma investigação se a linguagem gerada é recursiva (problema solucionável) ou enumerável recursivamente (problema parcialmente solucionável). 28
29 Princípio da Redução Consiste basicamente na construção de um algoritmo de mapeamento entre as linguagens que traduzem os problemas. Máquina de Redução: Suponha dois problemas, A e B e as correspondentes linguagens L A e L B. Uma Máquina de Redução R de L A para L B sobre um alfabeto Σ é tal que, para w Σ: A B Se w L A, então R(w) L B. Se w L A, então R(w) L B. Os seguintes resultados são válidos: Se L B é recursiva, então L A é recursiva Se L B é recursivamente enumerável, então L A é recursivamente enumerável Se L A não é recursiva, então L B não é recursiva. Se L A não é enumerável recursivamente, então L B não é enumerável recursivamente. 29
30 1. Exemplo: Seja R Máquina de Turing de Redução que sempre para e que reduz L A a L B. L A Redução de L A L B Suponha que L B é uma linguagem recursiva. Então existe M B, Máquina Universal, que aceita L B e sempre para para qualquer entrada. Seja a Máquina Universal M definida M w R R(w) M B ACEITA REJEITA As seguintes conclusões podem ser estabelecidas: M sempre para para qualquer entrada, pois R e M B sempre param; se w L A, então M aceita w, pois R(w) L B se w L A, então M rejeita w, pois R(w) L B Portanto, M aceita L A e sempre pára para qualquer entrada. Logo, L A é uma linguagem recursiva 30
31 Princípio da redução Exemplo: Para um aluno se formar em Ciência da Computação precisa ser aprovado em todas as disciplinas que compõem a grade curricular do curso, entre elas, teoria da computação. 31
32 Princípio da redução Exemplo: Para um aluno se formar em Ciência da Computação precisa ser aprovado em todas as disciplinas que compõem a grade curricular do curso, entre elas, teoria da computação. Problema A: O aluno foi aprovado em teoria da computação? Problema B: O aluno vai se formar? 32
33 Princípio da redução Se um aluno x não é aprovado em teoria da computação, ou seja, a resposta de A é não, podese determinar a solução de B para o aluno x. Se um aluno y tem sua formatura confirmada, ou seja, a resposta de B é sim, logo, o aluno y também foi aprovado em teoria da computação (e nas demais disciplinas), e, portanto, a resposta de A também é sim. 33
34 Classes de Problemas Universo de Todos os Problemas Solucionáveis Não-Solucionáveis Parcialmente Solucionáveis Completamente Insolúveis Computáveis Não-Computáveis Como classificar problemas considerando questões de tempo? Complexidade Computacional Máquina de Turing 34
35 Exercícios Livro Teoria da Computação: Máquinas Universais e Computabilidade (Tiarajú) Exercícios: 5.1, 5.4, 5.8 e 5.9. Dê três exemplos para cada um dos tipos de problemas considerando o universo total de problemas: solucionáveis, parcialmente solucionáveis e completamente insolúveis. Explique como que foi feita a classificação em cada uma das categorias. 35
Computabilidade e Complexidade (ENG10014)
Sistemas de Informação Computabilidade e Complexidade (ENG10014) Profa. Juliana Pinheiro Campos E-mail: [email protected] Decidibilidade O estudo da decidibilidade objetiva determinar a solucionabilidade
Teoria da Computação. Computabilidade
Cristiano Lehrer Introdução O objetivo do estudo da solucionabilidade de problemas é investigar a existência ou não de algoritmos que solucionem determinada classe de problemas. Ou seja, investigar os
Apostila 06. Objetivos: Estudar a Computabilidade Estudar a Decidibilidade Estudar a Redutibilidade
Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e
Marcos Castilho. DInf/UFPR. 16 de maio de 2019
16 de maio de 2019 Motivação Quais são os limites da computação? O que é um Problema de decisão? Um problema de decisão é um conjunto de perguntas, cada uma das quais tem um SIM ou um NÃO como resposta.
Teoria da Computação. Computabilidade e complexidade computacional
Teoria da Computação Computabilidade e complexidade computacional 1 Computabilidade e Complexidade Computabilidade: verifica a existência de algoritmos que resolva uma classe de linguagens trata a possibilidade
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Máquina de Turing Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa [email protected] Teoria da Computação Ciência da Computação
Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente
ESIN/UCPel 058814 Linguagens Formais e Autômatos TEXTO 5 Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente Prof. Luiz A M Palazzo Maio de 2007 0. Introdução A Ciência da Computação
SCC-5832 Teoria da Computação
Teoria da Computação SCC-5832 Teoria da Computação João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos
Introdução Maquinas de Turing universais O problema da parada. Indecidibilidade. Rodrigo Gabriel Ferreira Soares DEINFO - UFRPE.
DEINFO - UFRPE Julho, 2014 Motivação Introdução O que pode ser computado? E mais intrigantemente, o que não pode ser computado? Motivação Introdução O que pode ser computado? E mais intrigantemente, o
Linguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens
Linguagens Formais e Autômatos Decidibilidade
Linguagens Formais e Autômatos Decidibilidade Andrei Rimsa Álvares Sumário Introdução A tese de Church-Turing Máquinas de Turing e problemas de decisão Máquina de Turing Universal O problema da parada
I.2 Introdução a Teoria da Computação
I.2 Introdução a Teoria da Computação O que é? Fundamento da Ciência da Computação Tratamento Matemático da Ciência da Computação Estudo Matemático da Transformação da Informação Qual sua importância?
SCC Teoria da Computação e Linguagens Formais
SCC-0205 João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis/ [email protected]
Máquinas Universais. Máquina de Turing. Celso Olivete Júnior.
Máquinas Universais Máquina de Celso Olivete Júnior [email protected] http://www2.fct.unesp.br/docentes/dmec/olivete/ Roteiro Hipótese de Church - Máquinas Universais: Máquina de Máquina de : Noção
Máquinas de Turing - Computabilidade
BCC244-Teoria da Computação Prof. Lucília Figueiredo Lista de Exercícios 03 DECOM ICEB - UFOP Máquinas de Turing - Computabilidade 1. Seja L uma linguagem não livre de contexto. Mostre que: (a) Se X uma
Aula 10: Decidibilidade
Teoria da Computação Aula 10: Decidibilidade DAINF-UTFPR Prof. Ricardo Dutra da Silva Definição 10.1. Um problema de decisão P é um conjunto de questões para as quais as respostas são sim ou não. Exemplo
ECO026 TEORIA DA COMPUTAÇÃO. Prof: Rafael Santos Site:
ECO026 TEORIA DA COMPUTAÇÃO Prof: Rafael Santos Email: [email protected] Site: http://sites.google.com/site/rafafic Máquinas de Turing Uma linguagem Turing-reconhecível (Linguagem recursivamente enumeravel),
SCC Introdução à Teoria da Computação
SCC-0505 João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis/ [email protected]
Aula 10: Decidibilidade
Teoria da Computação Segundo Semestre, 2014 Aula 10: Decidibilidade DAINF-UTFPR Prof. Ricardo Dutra da Silva Definição 10.1. Um problema de decisão P é um conjunto de questões para as quais as respostas
Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens
Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens 1 Introdução Estudar computação do ponto de vista teórico é sinônimo de caracterizar
Linguagens Formais e Autômatos Apresentação da Disciplina
Linguagens Formais e Autômatos Apresentação da Disciplina Andrei Rimsa Álvares Computação Histórico da Computação O que pode ser computado? Ábaco China Aprox. 3500 a.c. Máquina de Babbage Inglaterra 1823
ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Aula 18. Cap O Problema da Parada
ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO Aula 18 Cap 4.2 - O Problema da Parada Profa. Ariane Machado Lima [email protected] 1 Nas últimas aulas Tese de Church-Turing Problemas computacionais descritos
INE5317 Linguagens Formais e Compiladores AULA 3: Introdução a Teoria da Computação
INE5317 Linguagens Formais e Compiladores AULA 3: Introdução a Teoria da Computação bas eado em material produzido pelo prof Olinto Jos é Varela Furtado Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: [email protected]
Modelos de Computação Folha de trabalho n. 10
Modelos de Computação Folha de trabalho n. 10 Nota: Os exercícios obrigatórios marcados de A a D constituem os problemas que devem ser resolvidos individualmente. A resolução em papel deverá ser depositada
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Prof.ª Danielle Casillo Proposta por Alan Turing em 1936; É universalmente conhecida e aceita como formalização de algoritmo; Teoria
Computabilidade e Complexidade (ENG10014)
Sistemas de Informação Computabilidade e Complexidade (ENG10014) Profa. Juliana Pinheiro Campos E-mail: [email protected] Modelo de computação poderoso concebido pelo matemático britânico Alan Turing
Teoria da Computação. Aula 01
Teoria da Computação Aula 01 Celso Olivete Júnior [email protected] www.fct.unesp.br/docentes/dmec/olivete/tc 1 Professor Celso Olivete Júnior Bacharelado em Ciência da Computação (Unoeste-2002) Mestrado
COMPUTABILIDADE 2. Indecidibilidade
Licenciatura em Ciências da Computação COMPUTABILIDADE 2. Indecidibilidade José Carlos Costa Dep. Matemática e Aplicações Universidade do Minho 15 de Novembro de 2011 José Carlos Costa DMA-UMinho 15 de
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO TEORIA DA COMPUTAÇÃO Aula 01 Apresentação da Disciplina Prof.ª Danielle Casillo PLANO DE ENSINO Nome: Teoria da Computação Créditos:
Decidibilidade. Mário S. Alvim Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02)
Decidibilidade Mário S Alvim (msalvim@dccufmgbr) Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02) Mário S Alvim (msalvim@dccufmgbr) Decidibilidade DCC-UFMG (2018/02) 1 / 45 Decidibilidade:
Máquinas de Turing 3
Máquinas de Turing 3 Exercícios Máquinas de Turing com Múltiplas Fitas Máquinas de Turing Não-deterministicas A Tese/Hipótese de Church-Turing Linguagens decidíveis por Máquinas de Turing (Recursivas)
Juliana Kaizer Vizzotto. Universidade Federal de Santa Maria. Disciplina de Teoria da Computação
Universidade Federal de Santa Maria Disciplina de Teoria da Computação Quais são as capacidades e limitações fundamentais dos computadores? Funções Computáveis Algoritmo: descrição finitade uma computação
Linguagens Formais e Autômatos. Autômatos Finitos Determinísticos (AFD)
Linguagens Formais e Autômatos Autômatos Finitos Determinísticos (AFD) Cristiano Lehrer, M.Sc. Linguagens Regulares A teoria da computação começa com uma pergunta: O que é um computador? É, talvez, uma
Linguagens Formais e Autômatos. Apresentação do Plano de Ensino
Linguagens Formais e Autômatos Apresentação do Plano de Ensino Linguagens Formais e Autômatos LFA Código - CMP4145 Turma A01 Engenharia da Computação e Ciência da Computação Horário: Segunda, Terça e Quinta.
Capítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel Introdução.
Capítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel 8.1 - Introdução. Como observado no capítulo anterior, podemos substituir a definição informal de procedimento pela
Linguagens Formais e Autômatos. Tiago Alves de Oliveira
Linguagens Formais e Autômatos Tiago Alves de Oliveira Ementa Linguagens Regulares; Máquinas de Turing; O Problema da Parada da Máquina de Turing; Autômatos Finitos; Linguagens Livres de Contexto; Autômatos
Redutibilidade. Mário S. Alvim Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02)
Redutibilidade Mário S. Alvim ([email protected]) Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02) Mário S. Alvim ([email protected]) Redutibilidade DCC-UFMG (2018/02) 1 / 46 Redutibilidade:
Linguagens Formais e Autômatos. Apresentação do Plano de Ensino
Linguagens Formais e Autômatos Apresentação do Plano de Ensino Linguagens Formais e Autômatos LFA Código - CMP4145 Turma C01 Engenharia da Computação e Ciência da Computação Horário: Segunda e Quinta:
Teoria da Computação (BBC244)
Teoria da Computação (BBC244) Professor: Anderson Almeida Ferreira [email protected] http://www.decom.ufop.br/anderson Sala COM 10 DECOM-UFOP Ementa Gramáticas. Linguagens. Operações com Linguagens.
Linguagens Formais e Autômatos. Apresentação do Plano de Ensino
Linguagens Formais e Autômatos Apresentação do Plano de Ensino Linguagens Formais e Autômatos LFA Código - CMP4145 Turma C01 Engenharia da Computação e Ciência da Computação Horário: Terça e Sexta: 20:30
Complexidade computacional
Complexidade computacional CLRS sec 34.1 e 34.2 Algoritmos p. 1 Algumas questões Por que alguns problemas parecem ser (computacionalmente) mais difíceis do que outros? Algoritmos p. 2 Algumas questões
Linguaguens recursivamente enumeráveis e recursivas
Linguaguens recursivamente enumeráveis e recursivas Uma linguagem diz-se recursivamente enumerável (r.e) ou semi-decidível se é aceite por uma máquina de Turing. SD: classe de linguagens recursivamente
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Máquina de Turing Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa [email protected] Teoria da Computação Ciência da Computação
PCC104 - Projeto e Análise de Algoritmos
PCC104 - Projeto e Análise de Algoritmos Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 5 de dezembro de 2017 Marco Antonio
Linguagens recursivamente enumeráveis
Linguagens recursivamente enumeráveis Uma palavra x Σ é aceite por uma máquina de Turing M ( x L(M)) se M iniciando com a palavra x na fita e no estado inicial, pára num estado final. Caso contrário, M
Linguagens Livres de Contexto
Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação 364018 Linguagens Formais e Autômatos TEXTO 4 Linguagens Livres de Contexto Prof. Luiz A M Palazzo Maio de 2011
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Máquina de Turing Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa [email protected] Teoria da Computação Ciência da Computação
Teoria da Computação
Ciência da Computação Teoria da Computação (ENG10395) Profa. Juliana Pinheiro Campos E-mail: [email protected] Máquinas Universais Máquinas Universais podem ser entendidas de duas formas: Se é capaz
Linguagens Formais e Problemas de Decisão
Linguagens Formais e Problemas de Decisão Mário S. Alvim ([email protected]) Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02) Mário S. Alvim ([email protected]) Linguagens Formais e Problemas
Linguagens Formais e Autômatos (LFA)
Linguagens Formais e Autômatos (LFA) Aula de 18/11/2013 Linguagens Recursivamente Enumeráveis, Complexidade (Custo) de Tempo/Espaço, Transdutores para exibir complexidade de Tempo/Espaço 1 Linguagens Recursivamente
Teoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000)
Teoria da Computação Referência Teoria da Computação (Divério, 2000) 1 L={(0,1)*00} de forma que você pode usar uma Máquina de Turing que não altera os símbolos da fita e sempre move a direita. MT_(0,1)*00=({0,1},{q
Teoria da Computação. Capítulo 1. Máquina de Turing. Prof. Wanderley de Souza Alencar, MSc.
Teoria da Computação Capítulo 1 Máquina de Turing Prof. Wanderley de Souza Alencar, MSc. Pauta 1. Introdução 2. Definição de Máquina de Turing 3. Variações de Máquina de Turing 4. A Tese de Church-Turing
1 INTRODUÇÃO E CONCEITOS BÁSICOS
1 INTRODUÇÃO E CONCEITOS BÁSICOS Inicia com uma breve história do surgimento e do desenvolvimento dos conceitos, resultados e formalismos nos quais a Teoria da Computação é baseada. Formalização dos conceitos
Máquinas de Turing 3
Máquinas de Turing 3 Máquinas de Turing com Múltiplas Fitas Máquinas de Turing Não-deterministicas A Tese/Hipótese de Church-Turing Linguagens decidíveis por Máquinas de Turing (Recursivas) Linguagens
Linguagens Formais e Autômatos (LFA)
Linguagens Formais e Autômatos (LFA) Aula de 25/11/2013 Complexidade (Custo) de Tempo/Espaço, o, Decidibilidade 1 Complexidade (Custo) de Tempo/Espaço o em MT s Complexidade de TEMPO (CT): CT é o número
Capítulo 2: Procedimentos e algoritmos
Capítulo 2: Procedimentos e algoritmos Para estudar o processo de computação de um ponto de vista teórico, com a finalidade de caracterizar o que é ou não é computável, é necessário introduzir um modelo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Prof.ª Danielle Casillo Diferencia-se das máquinas de Turing e Post principalmente pelo fato de possuir a memória de entrada separada
Limites da Computação Algorítmica: Problemas Indecidíveis
Capítulo 10 Limites da Computação Algorítmica: Problemas Indecidíveis Tendo estudado o que as máquinas de Turing podem fazer, estudaremos, agora, o que elas não podem fazer. Embora a tese de Turing nos
SCC Capítulo 4 Máquinas de Turing e a Teoria da Computabilidade
SCC-505 - Capítulo 4 Máquinas de Turing e a Teoria da Computabilidade João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação - Universidade de
Teoria da computabilidade Indecidíveis Decidíveis
Bacharelado em Ciência da Computação Disciplina: Algoritmos e Estruturas de Dados I Professor: Mário Luiz Rodrigues Oliveira Teoria da computabilidade Indecidíveis Decidíveis Teoria da complexidade Intratáveis:
1 introdução. capítulo. O que é uma solução computável? Quais são os limites do que pode ser computado? Existem problemas sem solução computacional?
capítulo 1 introdução A ciência da computação é o conhecimento sistematizado da computação. Sua origem é milenar, tendo se desenvolvido em diferentes regiões e épocas. A teoria da computação é a base fundamental
Teoria da Computação. Máquinas Universais Máquina de Turing
Máquinas Universais Máquina de Turing Cristiano Lehrer Máquina de Turing Proposta por Alan Turing, em 1936. Universalmente conhecida e aceita como formalização de algoritmo. Trata-se de um mecanismo simples
Teoria da Computação. Máquinas Universais Máquina com Pilhas
Máquinas Universais Máquina com Pilhas Cristiano Lehrer Introdução A Máquina com Pilhas diferencia-se das Máquinas de Turing e de Post principalmente pelo fato de possuir uma memória de entrada separada
2. DISCIPLINA REQUISITO (RECOMENDAÇÃO) 3. INDICAÇÃO DE CONJUNTO (BCC) Obrigatória TEORIA: 60 LABORATÓRIO: 30
Universidade Federal do ABC Rua Santa Adélia, 166 - Bairro Bangu - Santo André - SP - Brasil CEP 09.210-170 - Telefone/Fax: +55 11 4996-3166 1. CÓDIGO E NOME DA DISCIPLINA MC3106 - LINGUAGENS FORMAIS E
Máquinas de Turing para construção: Foram encontrados dois modelos que se destacaram em nossas pesquisas.
Máquina de Turing É um dispositivo imaginário que formou a estrutura para fundamentar a ciência da computação moderna. Seu inventor, o matemático Alan Mathison Turing, mostrou que a computação das operações
Universidade Federal de Alfenas
Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 13 Autômato com Pilha [email protected] Última aula Linguagens Livres do Contexto P(S*) Recursivamente enumeráveis Recursivas
Resolução Exe 2.12 Monolítico Recursivo
Resolução Exe 2.12 Monolítico Recursivo Recursivo P R é R 1 onde R 1 def (se T1 então R 2 senão R 3 ) R 2 def F; R 3 R 3 def (se T2 então R 4 senão R 7 ) R 4 def G; R 5 R 5 def (se T1 então R 7 senão R
INE5622 INTRODUÇÃO A COMPILADORES
INE5622 INTRODUÇÃO A COMPILADORES PLANO DE ENSINO Objetivo geral Conhecer o processo de especificação e implementação de linguagens de programação, a partir do estudo dos conceitos, modelos, técnicas e
Conceitos Básicos. Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem
Conceitos Básicos Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem Alfabeto ou Vocabulário: Conjunto finito não vazio de símbolos. Símbolo é um elemento qualquer de um alfabeto.
Linguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens
Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 22 de Fevereiro de 2018
22 de Fevereiro de 2018 Motivação O que é um computador? O que é um algoritmo? Para que serve um algoritmo? Quando um algoritmo é bom? A análise de um algoritmo depende do computador? Motivação Em teoria
