matemática discreta - aula 14
Post on 31-Jan-2016
265 Views
Preview:
DESCRIPTION
TRANSCRIPT
1
FACULDADE DE COMPUTAÇÃO E INFORMÁTICA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO, SISTEMAS DE INFORMAÇÃO E
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LICENCIATURA EM MATEMÁTICA
Matemática Discreta – Aula 14 – 2º SEMESTRE/2014
TEORIA: FUNÇÕES DISCRETAS (PARTE I)
Nossos objetivos nesta aula são:
Conhecer o conceito de função parcial Reaplicar classificações já conhecidas de relações
(injetora, sobrejetora,...) para funções parciais Aplicar funções parciais para modelagem de Autômatos
Finitos Aplicar funções parciais para operações em
Processamento de Imagens Binárias
Para esta aula, usamos novamente as seções 5.1 (Função Parcial) e 5.2 (Autômato Finito) do nosso livro da referência básica: MENEZES, P.B. Matemática Discreta para Computação e Informática. 4.ed. Bookman: Porto Alegre, 2013.
Não deixem de ler estas seções depois desta aula!
FUNÇÕES PARCIAIS
Uma função parcial 𝑓 ⊆ A × B é uma relação funcional (*) entre A e B, ou seja, cada elemento do domínio (pode sobrar elemento em A) está relacionando com, no máximo, um elemento do contradomínio.
Uma função parcial, geralmente, é indicada por 𝑓: 𝐴 ↛ 𝐵, onde o sinal de corte na flecha denota a propriedade de parcialidade.
Dizemos que uma função parcial é discreta quando o conjunto subjacente à função for discreto, ou seja, se o conjunto de pares {⟨𝑎, 𝑓(𝑎)⟩ } for discreto.
(*) a A, b1, b2 B, (a f b1 a f b2) b1 = b2 não ocorre
A B
A
2
EXERCÍCIO COM DISCUSSÃO EM DUPLAS
Sejam 𝐴 = {𝑎}, 𝐵 = {𝑎, 𝑏} 𝑒 𝐶 = {0, 1, 2}.
(a) Mostre que as relações abaixo são funções parciais e as classifique em injetora, sobrejetora, bijetora ou em nenhum destes tipos:
a. 𝑓: 𝐵 ↛ 𝐵, 𝑓(𝑎) = 𝑏 𝑒 𝑓(𝑏) = 𝑎
b. 𝑔: 𝐴 ↛ 𝐵, 𝑔(𝑎) = 𝑏
c. ℎ: 𝐶 ↛ 𝐵, ℎ(0) = 𝑎, ℎ(1) = 𝑎 𝑒 ℎ(2) = 𝑏
(b) Calcule a função parcial composta 𝑓 ⋄ 𝑔. Deixe bem claro qual é o domínio e o contradomínio desta função parcial.
(c) Mostre, através de um contra-exemplo, que o produto cartesiano entre A e B não é uma função parcial.
3
PRIMEIRA APLICAÇÃO DE FUNÇÃO PARCIAL: AUTÔMATOS FINITOS
Um autômato finito é uma máquina de estados, que permite transições de estados através
da leitura de símbolos (definidos em um alfabeto) de um entrada. A figura abaixo ilustra um autômato finito cujo alfabeto é o conjunto Σ = {a, b} e as
transições de estado na leitura da entrada abba:
Para este autômato, podemos definir dois conjuntos: conjunto de estados Q = {q0, q1, q2, qf} e o alfabeto de entrada Σ = {𝑎, 𝑏}. Assim, as transições possíveis dentro deste autômato podem ser especificados pela seguinte função parcial discreta (função programa) 𝛿: 𝑄 ×Σ ⟶ 𝑄, chamada função de transição do autômato, onde:
o 𝛿(𝑞0, 𝑎) = 𝑞1 o 𝛿(𝑞0, 𝑏) = 𝑞2 o 𝛿(𝑞1, 𝑎) = 𝑞𝑓
o 𝛿(𝑞1, 𝑏) = 𝑞2 o 𝛿(𝑞2, 𝑎) = 𝑞1 o 𝛿(𝑞2, 𝑏) = 𝑞𝑓
o 𝛿(𝑞𝑓 , 𝑎) = 𝑞𝑓
o 𝛿(𝑞𝑓 , 𝑏) = 𝑞𝑓
Vamos denotar por Σ∗ o conjunto de todas as sequências possíveis de símbolos de Σ. Estas
sequencias são chamadas de palavras (ou strings) sobre o alfabeto Σ. No nosso exemplo anterior:
Σ∗ = {𝜖, 𝑎, 𝑏, 𝑎𝑎, 𝑏𝑏, 𝑎𝑏, 𝑏𝑎, 𝑎𝑎𝑎, 𝑎𝑎𝑏, 𝑎𝑏𝑏𝑎, …}
O símbolo ϵ indica a palavra-vazia, isto é, a palavra que não possui símbolos.
4
Utilizando o conjunto Σ∗, podemos estender a função de transição para que possa operar sobre as palavras, ou seja, teremos uma função de transição estendida
𝛿∗: 𝑄 × Σ∗ ⟶ 𝑄 tal que:
o 𝛿∗(𝑞, 𝜖) = 𝑞 e
o 𝛿∗(𝑞, 𝑎𝜔) = 𝛿∗(𝛿(𝑞, 𝑎), 𝜔), 𝑝𝑎𝑟𝑎 𝑎 ∈ Σ 𝑒 𝜔 ∈ Σ∗
Esta extensão diz, essencialmente, o seguinte:
o se não lermos nenhum símbolos, então ficamos no mesmo estado
o ao lermos uma palavra, a transição total sobre o autômato é uma composição das transições provocadas pela leitura de cada símbolo da palavra.
EXERCÍCIO TUTORIADO
Considere novamente o autômato finito mostrado na página anterior:
Mostre a sequência de composições de transições (funções) para que o autômato leia (ou soletre, como na designação dos autômatos) a entrada abba a partir do estado inicial do autômato (𝑞0).
5
EXERCÍCIO COM DISCUSSÃO EM DUPLAS
Considere o autômato finito mostrado abaixo:
(a) Identifique os conjuntos de estados e do alfabeto.
(b) Construa a função de transição deste autômato.
(c) Utilizando a definição de função de transição estendida, mostre a sequencia de composição de transições para soletrar a entrada 001101.
6
SEGUNDA APLICAÇÃO DE FUNÇÃO PARCIAL: PROCESSAMENTO DE IMAGENS BINÁRIAS
Uma imagem binária, ou imagem em preto-e-branco, pode ser vista como uma função
discreta parcial 𝐼(𝑥, 𝑦): ℤ × ℤ ↛ {0,1}. Os valores 0 e 1 indicam, respectivamente, as cores preto e branco.
A função discreta parcial de uma imagem binária pode ser vista como uma matriz:
𝐼(𝑥, 𝑦) = [𝐼(0,0) ⋯ 𝐼(0, 𝑚)
⋮ ⋱ ⋮𝐼(𝑛, 0) ⋯ 𝐼(𝑛, 𝑚)
]
EXERCÍCIO TUTORIADO
Obtenha a função discreta parcial da imagem binária abaixo, representando-a como uma matriz:
7
A partir da matriz que representa a função parcial discreta de uma imagem binária, podemos aplicar vários operadores de Processamento de Imagens Binárias, chamados operadores morfológicos. Cada operador também é uma função parcial discreta que recebe, como entrada, uma imagem (função) e devolve outra imagem (função).
Um operador morfológico bastante importante é a dilatação, que permite “engordar” os
contornos de imagem binária através de um elemento estruturante. Formalmente, a dilatação de uma imagem binária 𝐼(𝑥, 𝑦) por um elemento estruturante 𝐵(𝑥, 𝑦) é o conjunto:
𝐼(𝑥, 𝑦)⨁𝐵(𝑥, 𝑦) = {(𝑑𝑥, 𝑑𝑦) ∈ ℤ × ℤ | 𝐵(𝑑𝑥,𝑑𝑦)(𝑥, 𝑦) ∩ 𝐼(𝑥, 𝑦) ⊆ 𝐼(𝑥, 𝑦)}
onde 𝐵(𝑑𝑥,𝑑𝑦)(𝑥, 𝑦) denota o elemento estruturante deslocado (pelo seu centro) para a
posição (𝑑𝑥, 𝑑𝑦). A figura abaixo mostra dois exemplos de efeito deste operador:
Dilatações em imagens binárias podem ser utilizadas, por exemplo, para reconstrução de letras em sistemas OCR (Optical Character Recognition), conforme mostrado abaixo:
8
Outro operador morfológico bastante importante é a erosão, que permite “emagrecer” os contornos de imagem binária através de um elemento estruturante. Formalmente, a erosão de uma imagem binária 𝐼(𝑥, 𝑦) por um elemento estruturante 𝐵(𝑥, 𝑦) é o conjunto:
𝐼(𝑥, 𝑦) ⊖ 𝐵(𝑥, 𝑦) = {(𝑑𝑥, 𝑑𝑦) ∈ ℤ × ℤ | 𝐵(𝑑𝑥,𝑑𝑦)(𝑥, 𝑦) ⊆ 𝐼(𝑥, 𝑦)}
onde 𝐵(𝑑𝑥,𝑑𝑦)(𝑥, 𝑦) denota o elemento estruturante deslocado (pelo seu centro) para a
posição (𝑑𝑥, 𝑑𝑦). A figura abaixo mostra dois exemplos de efeito deste operador:
Um operador de erosão pode ser utilizado, por exemplo, para separar objetos em uma imagem binária (hemácias, em um exame automatizado de sangue, por exemplo), conforme mostrado no exemplo abaixo.
Neste exemplo, a contagem de objetos na imagem da esquerda é difícil, pois todas as partes estão grudadas. Porém, aplicando o operador de erosão, temos a separação entre estas partes (imagem da direita) e os objetos podem, agora, ser contados.
9
EXERCÍCIOS EXTRA-CLASSE
1. Sejam 𝐴 = {𝑎}, 𝐵 = {𝑎, 𝑏} 𝑒 𝐶 = {0, 1, 2} e as relações definidas abaixo:
(a) mostre que cada uma das relações acima é uma função parcial discreta. (b) calcule o domínio, contradomínio e imagem de cada das funções (c) classifique, em função do tipo de relação, o tipo da função (injetora, sobrejetora,
bijetora,...)
2. Considere o autômato finito visto em aula e reproduzido abaixo:
(a) Mostre a sequencia de composições de transições para soletrar a palavra aaabababa
(b) Mostre a sequencia de composições de transições para soletrar a palavra abbabbbab
10
3. Definimos o fechamento de uma imagem binária por um elemento estruturante por:
𝐼(𝑥, 𝑦) ∘ 𝐵(𝑥, 𝑦) = (𝐼(𝑥, 𝑦) ⊖ 𝐵(𝑥, 𝑦))⨁𝐵(𝑥, 𝑦)
(a) Reescreva o operador de fechamento através de propriedades de conjuntos, como foi feito para a dilatação e erosão.
(b) Como você acha que o operador de fechamento pode melhorar a qualidade de uma imagem de uma digital ? No exemplo abaixo, temos um exemplo de uma imagem ruim de uma digital (esquerda) e uma imagem melhorada (direita) pelo fechamento.
top related