Projeto Lógico Automatizado de Sistemas Digitais Seqüenciais 2 - Fundamentação Teórica

Documentos relacionados
Teoria dos Grafos Caminhos. Profª. Alessandra Martins Coelho

Conceitos Básicos Isomorfismo de Grafos Subgrafos Passeios em Grafos Conexidade

Teoria dos Grafos Aula 2

1 Análise combinatória

Matemática Discreta 10

Disciplina: Matemática Discreta Agostinho Iaqchan Ryokiti Homa

Projeto Lógico Automatizado de Sistemas Digitais Seqüenciais 1 - Introdução

Percursos em um grafo

1.3 Isomorfismo 12 CAP. 1 CONCEITOS BÁSICOS

Capítulo 0: Conjuntos, funções, relações

Teoria dos Grafos Aula 2

3.4 Álgebra booleana, ordens parciais e reticulados

Percursos em um grafo

GAN Matemática Discreta Professores Renata de Freitas e Petrucio Viana. Lista A

complemento para a disciplina de Matemática Discreta versão 1 - Jerônimo C. Pellegrini Relações de Equivalência e de Ordem

Grafos: árvores geradoras mínimas. Graça Nunes

4.1 Preliminares. No exemplo acima: Dom(R 1 ) = e Im(R 1 ) = Dom(R 2 ) = e Im(R 2 ) = Dom(R 3 ) = e Im(R 3 ) = Diagrama de Venn

Algoritmos Combinatórios: Introdução

Curso: Ciência da Computação Disciplina: Matemática Discreta RELAÇÕES. Prof.: Marcelo Maraschin de Souza

TGR BCC Representação Computacional de Grafos. Prof. Ricardo José Pfitscher

Planificação anual- 8.º ano 2014/2015

Estruturas de Dados Algoritmos

ANÁLISE DE ALGORITMOS

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 2. Conceitos Básicos da Teoria da Computação

Melhores momentos AULA PASSADA. Complexidade Computacional p. 205

Relações binárias. Relações binárias. Discrete Mathematics with Graph Theory Edgar Goodaire e Michael Parmenter, 3rd ed 2006.

CT-200 Fundamentos de Linguagens Formais e Automata - Aula 01 - In...

Projeto e Análise de Algoritmos

Complexidade de Algoritmos

DOMÍNIO/SUBDOMÍNIO OBJETIVOS GERAIS DESCRITORES DE DESEMPENHO CONTEÚDOS

Teoria dos Grafos Aula 7

MATEMÁTICA DISCRETA. Patrícia Ribeiro 2018/2019. Departamento de Matemática, ESTSetúbal 1 / 47

Complexidade computacional

Complexidade de Tempo

Bacharelado em Ciência da Computação Matemática Discreta

AULA 11 PROJETO E ANÁLISE DE ALGORITMOS. Conceitos básicos e representação de grafos Karina Valdivia Delgado

André Vignatti DINF- UFPR

Introdução a Grafos Letícia Rodrigues Bueno

Teoria intuitiva de conjuntos

Grafos Orientados (digrafos)

Cap. 2 Conceitos Básicos em Teoria dos Grafos

Conteúdo. Conceitos e Resultados Gerais. 11 Combinatória. Introdução

AGRUPAMENTO DE ESCOLAS DR. VIEIRA DE CARVALHO

Algoritmo Aproximação. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3

Análise de algoritmos

INE0003 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Doutorado em Ciência da Computação. Algoritmos e Grafos. Raimundo Macêdo LaSiD/DCC/UFBA

1 TEOREMA DE PITÁGORAS

DOMÍNIO TEMÁTICO: NÚMEROS E OPERAÇÕES (NO)

Processamento de Imagens usando Grafos (MAC6903)

DEPARTAMENTO DE MATEMÁTICA E INFORMÁTICA DISCIPLINA: Matemática (8º Ano) METAS CURRICULARES/CONTEÚDOS ANO LETIVO 2016/

Capítulo 1 Conceitos e Resultados Básicos

Algoritmos e Estrutura de Dados. Aula 04 Recorrência Prof. Tiago A. E. Ferreira

Conceito Básicos da Teoria de Grafos

Planificação de Matemática 8º ano. Ano letivo: 2016/17

Aula 2 Definições, Conceitos Básicos e Representação Interna de Grafos. Teoria dos Grafos Prof.

Sejam A e B conjuntos não vazios. Chama-se produto cartesiano de A por B o conjunto

AGRUPAMENTO DE ESCOLAS DE MIRA Escola Sec/3 Drª. Maria Cândida. PLANIFICAÇÃO ANUAL MATEMÁTICA 8º Ano Ano Letivo 2016/2017. Objetivos específicos

Capítulo 09: Mintermos, Maxtermos e Mapa de Karnaugh

Análise de algoritmos. Parte I

Complexidade de algoritmos Notação Big-O

Processamento de Imagens usando Grafos (MAC6903)

Exercícios de revisão para a primeira avaliação Gabaritos selecionados

CT-234. Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches

PROGRAMA DA DISCIPLINA

5COP096 TeoriadaComputação

Processamento de Imagens usando Grafos (MAC6903)

MAC5770 Exercícios preliminares

8.º Ano. Planificação Matemática 16/17. Escola Básica Integrada de Fragoso 8.º Ano

Definição e Conceitos Básicos

A B f(a, B) = A + B. A f(a ) = A

Toward an Architecture-Independent Analysis of Parallel Algorithms

Medida do Tempo de Execução de um Programa

Definição de circuitos melhores: São circuitos menores, mais rápidos, consomem menos energia.

GABRIEL BUJOKAS

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Teoria dos Grafos. Edson Prestes

Gabriel Coutinho DCC035 - Pesquisa Operacional Lista 6

Projeto e Análise de Algoritmos

CAP4. ELEMENTOS DA TEORIA DE GRAFOS. Grafo [graph]. Estrutura que consiste num par ordenado de conjuntos, G ( V, E) , sendo:

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão

Capítulo 6 Análise de Algoritmos Capítulo 6

Análise de algoritmos

Metas/Objetivos/Domínios Conteúdos/Competências/Conceitos Número de Aulas

CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches

Análise e Síntese de Algoritmos

Aula 1. Teoria da Computação III

ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS

DEPARTAMENTO DE MATEMÁTICA E INFORMÁTICA DISCIPLINA: Matemática (8º Ano) METAS CURRICULARES/CONTEÚDOS ANO LETIVO 2017/

AGRUPAMENTO DE ESCOLAS DR. VIEIRA DE CARVALHO

Complexidade e algoritmos para algumas

Melhores momentos AULA 1. Algoritmos p.38/86

PROVA 2 DE MATEMÁTICA DISCRETA 2O. SEMESTRE DE 2008

Doutorado em Ciência da Computação. Algoritmos e Grafos. Raimundo Macêdo LaSiD/DCC/UFBA

Aulas 10 e 11 / 18 e 20 de abril

Análise de Algoritmos

Lógica e Matemática Discreta

Planificação de Matemática 8º ano. Ano letivo: 2017/18

Introdução à Ciência da Computação II

Relações Binárias, Aplicações e Operações

Transcrição:

Pontifícia Universidade Católica do Rio Grande do Sul Instituto de Informática (II-PUCRS) Grupo de Apoio ao Projeto de Hardware - GAPH Projeto Lógico Automatizado de Sistemas Digitais Seqüenciais 2 - Fundamentação Teórica Ney Laert Vilar Calazans* Julho, 1998 *Com o apoio do Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq) e da Fundação de Amparo à Pesquisa do Estado do Rio Grande do Sul (FAPERGS).

Sumário Escola98 H 1 - Estruturas Algébricas H 2 - Grafos H 3 - Funções H 4 - Representações de Funções Discretas H 5 - Análise de Complexidade de Algoritmos H 6 - Problemas Formais

1 - Estruturas Algébricas - conceitos básicos H Conjuntos: cardinalidade, elementos, conjunto potência, ; relações entre elementos ou conjuntos e conjuntos:»,,,,,, etc. H Produto Cartesiano: S T: {(s,t) s S, t T}; conceito expansível para S T U H Faltam operadores para expressar: ordenamento, equivalência/compatibilidade. H Problema: usar conjuntos para expressar isto.

1 - Estruturas Algébricas - exemplo e definição H Exemplo: Naturais (N) e Inteiros (Z) 3 N, -25 N, 6/3 N; 3 Z, -25 Z, 1/3 Z; Z N, N Z; H Contudo, como expressar que 25 39, ou então que - 25 25? H Solução: associar novas relações e conseqüentes operadores aos conjuntos! N Z 0 1 2 3 4 5 6-3-2-1 0 1 2 3 H Estrutura Algébrica - coleção de conjuntos e relações n-árias sobre estes; H Notação: <S,T,,r,δ,...>; H Base - relação binária.

1 - Estruturas Algébricas - relações binárias H Tripla <S,T,r>, onde S é domínio, T é o codomínio e r é o grafo, r S T; H Imagem r(s) de elemento do domínio é {t t T, (s,t) r}, extensível a qquer subconjunto de S. H Estrutura do grafo determina tipos de relação: completamente especificada - r(s), para todo s; sobre - r(s)=t (também dita cobertura de T); funcional - para todo s S, r(s) 1; um-para-um - para todo s s, r(s) r(s )= ;

1 - Relações binárias - exemplos completamente especificada sobre funcional um-para-um

1 - Relações binárias - partição H Combinações de propriedades -> importantes relações; H Partição: uma relação binária sobre e umpara-um; H Partição: cobertura onde blocos (classes) disjuntos dois a dois. partição

1 - Relações Binárias sobre um Conjunto H Aquelas onde S=T; H Propriedades adicionais -> novos tipos: reflexiva - r(s) {s}, para todo s S; simétrica - se r(s) {t}, então r(t) {s}, para qualquer s e qualquer t; antissimétrica - se para algum s e t, r(s) {t}, e também r(t) {s}, então s=t; transitiva - para todo s, t, e u em S, se r(s) {t}, e r(t) {u}, então r(s) {u}; H Como antes, propriedades são ortogonais!

1 - Relações binárias sobre conjunto- exemplos reflexiva simétrica antissimétrica transitiva

1 - Relações binárias - relações de ordem H Uma relação binária reflexiva e transitiva é relação de pré-ordem; H Relação de pré-ordem antissimétrica é relação de ordem; H Se para todo s t, um dentre (s,t) e (t,s) faz parte da relação de ordem, ordem é total, senão, é parcial. relação de ordem

1 - Relações de ordem - diagrama de Hasse H Forma gráfica ilustrando relação de ordem; H Grafo dirigido, com menor número de arestas; H Relação de ordem representada: < S 2, >; H Vértices - elementos de S, Arestas - relação. Exemplos {a,b,c} 3 30 {a,b} {a,c} {b,c} 6 10 15 2 {a} {b} {c} 2 3 5 Ø 1 1

Sumário Escola98 1 - Estruturas Algébricas H 2 - Grafos H 3 - Funções H 4 - Representações de Funções Discretas H 5 - Análise de Complexidade de Algoritmos H 6 - Problemas Formais

2 - Grafos - conceitos básicos H Formalmente, G=<V,E>, com conjunto V de vértices e relação binária E sobre V, E=<V 2,r>, elementos de r são arestas; H Dependendo de E, grafos podem ser dirigidos, não-dirigidos, ter laços ou não, etc; H Conceitos importantes: incidência de arestas, adjacência entre vértices, grau de um vértice, completude, caminho entre vértices, ciclicidade, conexidade, decomposição em subgrafos, isomorfismo, planaridade, árvores, etc, etc.

2 - Grafos - exemplos grafo não-dirigido a b c três componentes conexos grafo dirigido d e f grafo dirigido a b c subgrafo de a b c d e f f

Sumário Escola98 1 - Estruturas Algébricas 2 - Grafos H 3 - Funções H 4 - Representações de Funções Discretas H 5 - Análise de Complexidade de Algoritmos H 6 - Problemas Formais

3 - Funções H aqui - funções são relações binárias! H função parcial - relação binária funcional; H função completa - relação binária funcional e completamente especificada; H função no presente contexto = função parcial. função parcial função completa não é função

3 - Funções especiais H injeção - função um-para-um; H sobrejeção - função sobre; H bijeção - função sobre e um-para-um H função discreta - domínio e codomínio finitos. injeção sobrejeção bijeção

Sumário Escola98 1 - Estruturas Algébricas 2 - Grafos 3 - Funções H 4 - Representações de Funções Discretas H 5 - Análise de Complexidade de Algoritmos H 6 - Problemas Formais

4 - Representações de Funções discretas H Uma forma simples - vetor valor ordena-se elementos do domínio e usa-se vetor de imagens, indexado pelos elementos do domínio;» Exemplo: E de duas entradas - ordem de enumeração natural após conversão de base 2 para base 10.» Solução: [0 0 0 1] H Outras formas - tabela verdade, mapas de Karnaugh, soma de mintermos, produto de maxtermos, diagramas de decisão binária, diagramas de Hasse.

4 - Tabelas Cúbicas para Funções discretas H Introdução via exemplo: Sejam I 1 ={a,b,c}, I 2 ={d,e}, O 1 ={g,h} e O 2 ={i,j,k} conjuntos. Seja S= I 1 I 2 e seja F= {f 1,f 2 } um conjunto de funções discretas onde f 1 :S--> O 1 e f 2 :S--> O 2. H As tabelas cúbicas para estas funções podem ser: 1 2 3 C j D j C j D j C j D j I 1 I 2 f 1 f 2 I 1 I 2 f 1 f 2 I 1 I 2 f 1 f 2 {a} - h {a,b} {d} h k {a,b,c} {d} h k - {d} k - {d} k {b,c} {e} g j {a} {e} i {a} {e} h i {a} {e} h i {b} {d} h {b} {e} g - {b} {e} g - {c} {e} g j {c} {e} g j

4 - Diagramas de Decisão Binária H Existem há muito tempo, mas desde 1986 muito exploradas -> Bryant introduz forma canônica; H Forma muito compacta para manipular funções e conjuntos. Índice=1 a a b 0 1 0 0 1 Índice=2 b b 0 1 0 1 b 1 1 0 a 1 0 a 1 Índice=3 c c c c 0 1 0 1 0 1 0 1 0 c 1 0 1 c 0 0 0 1 0 1 1 1 1 0 1 0 1

Sumário Escola98 1 - Estruturas Algébricas 2 - Grafos 3 - Funções 4 - Representações de Funções Discretas H 5 - Análise de Complexidade de Algoritmos H 6 - Problemas Formais

5 - Análise de Complexidade de Algoritmos H Dados dois algoritmos A e B para resolver um problema, qual deles é melhor? principais critérios: tempo, armazenamento; H Escalabilidade - medida da capacidade de técnica p/ lidar com instâncias de tamanho crescente de problema ; H Lembrar-se da lei de Moore! Exemplo: em 1995, unidade de controle P6: 10 5 portas; em 2000, Pn: 10 8 portas!

5 - Análise de Complexidade de Algoritmos H Definições importantes: problema, algoritmo e tamanho da entrada (t e ); H Em geral, determinação de função de crescimento de uso de recursos é muito difícil, senão inviável! H Solução para projetar e analisar algoritmos: conjunto de funções conhecidas e composição que aproxima crescimento do algoritmo; classes de complexidade de problemas;

5 - Crescimento Assintótico de Funções H Notações assintóticas Ο, Ω, e Θ: limites superior, inferior e estrito (duplo); H Algoritmo f(n) é Ο(g(n)), ou f(n)= Ο(g(n)) se 0 f(n) c 1 g(n), para todo n n 0 ; H Restantes é análogo; H O é conjunto de funções. Consumo de Recursos n 0 n 1 n 2 c 1 g(n) f(n) c 2 g(n) Tamanho da Entrada

5 - Crescimento de Funções - operações H Tabela dá conjunto de funções de base; H Constantes normalmente pequenas; H Coeficientes constantes pequenos; H Linha divisória de complexidade - polinômios! log n n n log n n 2 n 3 2 n 3 n n! 1 2 2 4 8 4 9 2 2 4 8 16 64 16 81 24 3 8 24 64 512 256 6560 40320 4 16 64 256 4096 65536 ~10 7 ~10 13 5 32 160 1024 32768 ~10 9 ~10 15 ~10 35 10 1024 10240 ~10 6 ~10 9 ~10 308 ~10 488 ~10 2639 20 ~10 6 ~10 7 ~10 12 ~10 18???

5 - Crescimento de Funções - exemplo temporal H Supondo uma máquina de 100MIPs de desempenho coeficientes constantes unitários; H Para instâncias de entradas com três ordens de grandeza de diferença; H Lei de Moore - em 15 anos, algoritmo cúbico levaria 4 meses para executar sobre instância 10 6. n f(n)=n f(n)= n log n f(n)=n 2 f(n)=n 3 f(n)=2 n 10 3 10µs 100µs 10ms 10s ~10 285 anos 10 6 10ms 0,2s 2,7h 317anos?

5 - Classes de Complexidade de Problemas H Problema abstrato: relação binária do conjunto de instâncias sobre o conjunto de soluções Q=<I,S,p>; H Problema de decisão: solução é sim ou não; H Problema de otimização: com valor a maximizar ou a minimizar; H Problema concreto: resulta de codificar em binário o domínio de um problema de decisão abstrato.

5 - Classes de Complexidade de Problemas H Classe NPC: subconjunto de problemas em NP tal que qualquer elemento de NP pode ser reduzido a qualquer elemento de NPC; H Classe NPH: conjunto de problemas de decisão concretos tais que qualquer problema da classe NP pode ser reduzido a qualquer elemento seu; H Obviamente, NPC NPH.

5 - Classes de Complexidade de Problemas H Relação suposta como a mais provável entre as classes de complexidade acima: Problemas Concretos P NP NPC NPH

Sumário Escola98 1 - Estruturas Algébricas 2 - Grafos 3 - Funções 4 - Representações de Funções Discretas 5 - Análise de Complexidade de Algoritmos H 6 - Problemas Formais

6 - Problemas Formais H Dois exemplos, caminhos mais curto e mais longo entre dois vértices em um grafo: H Caminho_mais_curto (_mais_longo análogo): Instância: grafo não-dirigido G, peso natural l(e) para cada aresta e, dois vértices a,b e natural B. Questão: existe um caminho simples de a para b em G que tem comprimento total B ou menos? H Problemas concretos associados: Pertence à classe P (mais_curto) e NPC (mais_longo)!