Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouBeatriz Salome Alterado mais de 10 anos atrás
2
Sistemas e Sinais (LEIC) Carlos Cardeira
3
Sistemas e Sinais As Engenharias (Electrotécnica, Mecânica, etc) estão a perder o contacto com o mundo físico. As Engenharias (Electrotécnica, Mecânica, etc) estão a perder o contacto com o mundo físico. Microelectromecânica o que é ? Engª Mecânica ? Electrotécnica ? Processamento de Sinal ? Matemática ? Redes ? Microelectromecânica o que é ? Engª Mecânica ? Electrotécnica ? Processamento de Sinal ? Matemática ? Redes ?
4
Onde existem sistemas ? Sistemas aeronáuticos Sistemas aeronáuticos Mecânica estrutural Mecânica estrutural Sistemas eléctricos Sistemas eléctricos Futuros e Opções Futuros e Opções …
5
Circuitos Os circuitos são o coração de um Engenheiro (especialmente electrotécnico) Os circuitos são o coração de um Engenheiro (especialmente electrotécnico) Mas hoje já existem técnicas analíticas que evitam o desenho de circuitos Mas hoje já existem técnicas analíticas que evitam o desenho de circuitos Circuitos em si passaram a ser uma área de especialização Circuitos em si passaram a ser uma área de especialização
6
Sinais Tradicionalmente, um sinal é uma tensão que varia ao longo do tempo. Tradicionalmente, um sinal é uma tensão que varia ao longo do tempo. Actualmente é mais provável que seja uma sequência de bits enviada pela internet através de TCP/IP Actualmente é mais provável que seja uma sequência de bits enviada pela internet através de TCP/IP
7
Estado O estado de um sistema poderia ser bem determinado pelas variáveis de uma equação diferencial O estado de um sistema poderia ser bem determinado pelas variáveis de uma equação diferencial Agora é mais provável que seja um conjunto de registos de um computador. Agora é mais provável que seja um conjunto de registos de um computador.
8
Sistema Um sistema era razoavelmente bem modelizado por uma função de tranferência linear e invariante no tempo. Um sistema era razoavelmente bem modelizado por uma função de tranferência linear e invariante no tempo. Agora, parece ser mais adequadamente descrito através de uma máquina de Turing ! Agora, parece ser mais adequadamente descrito através de uma máquina de Turing !
9
Sistemas e Sinais Sinais, Sistemas e Funções Sinais, Sistemas e Funções Noção de Estado Noção de Estado Não Determinismo e Equivalência Não Determinismo e Equivalência Composição de Máquinas de Estado Composição de Máquinas de Estado Sistemas Lineares Sistemas Lineares Resposta de Sistemas Lineares Resposta de Sistemas Lineares Sistemas Híbridos Sistemas Híbridos Resposta em frequência Resposta em frequência Filtragem Filtragem Convolução Convolução Transformadas de Fourier Transformadas de Fourier Amostragem Amostragem
10
Sinais e Sistemas Os sinais transportam informação Os sinais transportam informação Os sistemas transformam sinais Os sistemas transformam sinais
11
Sinais Som Som Imagem Imagem Sequência de comandos Sequência de comandos Lista de nomes Lista de nomes…Funções
12
Sistemas Realçar uma imagem Realçar uma imagem Amplificar um som Amplificar um som … Funções ! Funções !
13
Matematicamente … Um sinal é uma função que mapeia um domínio (frequentemente tempo ou espaço) num contradomínio (frequentemente uma medida física como pressão, intensidade de luz …) Um sinal é uma função que mapeia um domínio (frequentemente tempo ou espaço) num contradomínio (frequentemente uma medida física como pressão, intensidade de luz …) Um sistema é uma função que mapeia sinais (entradas) em sinais (saídas). São funções de funções. Um sistema é uma função que mapeia sinais (entradas) em sinais (saídas). São funções de funções.
14
Sinais Sinais são funções que transportam informação: Sinais são funções que transportam informação: Radio e TV chegam-nos através de sinais que são ondas electromagnéticas Radio e TV chegam-nos através de sinais que são ondas electromagnéticas Imagens são sinais que transportam informação através de pontos de intensidade e cor variáveis Imagens são sinais que transportam informação através de pontos de intensidade e cor variáveis
15
Sensores Sensores de pressão, temperatura, velocidade, convertem estas grandezas físicas em tensão (sinais) Sensores de pressão, temperatura, velocidade, convertem estas grandezas físicas em tensão (sinais)
16
Funções Sinais e Sistemas serão encarados como funções. Sinais e Sistemas serão encarados como funções. Cada função é sempre constituída por: Cada função é sempre constituída por: Um nome Um nome Um domínio Um domínio Um contradomínio Um contradomínio A regra que converte cada elemento do domínio em um e só um elemento do contradomínio A regra que converte cada elemento do domínio em um e só um elemento do contradomínio (ver apêndice A do livro de referência)
17
Exemplo: Nome: Cube Nome: Cube Domínio: Reais Domínio: Reais Contradomínio: Reais Contradomínio: Reais Regra: Regra:
18
Sinais de Audio: Domínio e Contradomínio
19
Sinusoide pura
20
Soma de Sinusoides
21
Onda sonora A pressão não pode assumir valores negativos. A pressão não pode assumir valores negativos. Na figura aparecem valores negativos porque normalmente se subtrai a pressão atmosférica (10 5 N/m 2 ) uma vez que os nossos ouvidos não ouvem a pressão atmosférica Na figura aparecem valores negativos porque normalmente se subtrai a pressão atmosférica (10 5 N/m 2 ) uma vez que os nossos ouvidos não ouvem a pressão atmosférica
22
Exemplo x=0:pi/8192:2*pi x=0:pi/8192:2*pi sound(sin(1000*x)) sound(sin(1000*x)) sound(sin(10000*x)) sound(sin(10000*x)) sound(sin(1000*x)+sin(10000*x)) sound(sin(1000*x)+sin(10000*x))
23
Representação discreta Mas num computador não se guardam sinais contínuos (numa cassete sim, embora com distorção…) Mas num computador não se guardam sinais contínuos (numa cassete sim, embora com distorção…) É usual guardá-los em palavras de 16 bit gravadas a intervalos regulares É usual guardá-los em palavras de 16 bit gravadas a intervalos regulares Com 16 bit é possível distinguir 65536 níveis de intensidade diferentes Com 16 bit é possível distinguir 65536 níveis de intensidade diferentes Guardando esses valores a um ritmo de 44 Khz obtém-se uma boa representação do sinal contínuo (som) original Guardando esses valores a um ritmo de 44 Khz obtém-se uma boa representação do sinal contínuo (som) original
24
Representação Discreta
25
Representação Discreta (Exemplo)
26
Se amostrado a 4.41 Khz: [Bocelli44, SampleFreq, Bits]=wavread('bocelli'); siz=size(Bocelli44); ratio=10 for i=ratio:ratio:siz(1) Bocelli4(i/ratio) = (Bocelli44(i, 1) + Bocelli44(i, 2))/2; i end
27
Bocelli amostrado a 4.41 Khz
28
Comparação
29
Imagens Foto a preto e branco Foto a preto e branco
30
Exemplo de imagem
31
Imagens a cores
32
Olhos e ouvidos O ouvido consegue distinguir sons de frequências diferentes quando somados O ouvido consegue distinguir sons de frequências diferentes quando somados O olho não consegue distinguir cores diferentes quando somadas O olho não consegue distinguir cores diferentes quando somadas O ouvido pode ser modelizado por um sistema linear enquanto que o olho não O ouvido pode ser modelizado por um sistema linear enquanto que o olho não
33
Filme: Domínio e Contradomínio
34
Alternativamente: Alternativamente:
35
Sequência de imagens forma um filme
37
Olhos e ouvidos Uma amostragem de 30 Hz é suficiente para reconstruir um filme Uma amostragem de 30 Hz é suficiente para reconstruir um filme Uma amostragem de 8 KHz ainda é insuficiente para reconstituir um som Uma amostragem de 8 KHz ainda é insuficiente para reconstituir um som Conclusão: não fossem os volumes de informação a tratar serem bem diferentes, dir-se-ia que somos muito melhor a ouvir do que a ver. Conclusão: não fossem os volumes de informação a tratar serem bem diferentes, dir-se-ia que somos muito melhor a ouvir do que a ver.
38
Qual a representação mais favorável ? Video:TempoDiscreto Imagens Video:TempoDiscreto Imagens DiscreteTime={0, 1/30, 2/30, …} DiscreteTime={0, 1/30, 2/30, …} Video(t) Imagens Video(t)(i,j) Intensidade 3 (é o pixel i,j da frame t)
39
Qual a representaçao mais favorável AltVideo: TempoDiscreto x Linhas x Colunas Intensidade 3 AltVideo: TempoDiscreto x Linhas x Colunas Intensidade 3 AltVideo(t,i,j) é a intensidade do pixel i, j da frame t AltVideo(t,i,j) é a intensidade do pixel i, j da frame t AltVideo(t,i,j) = Video(t)(i,j) AltVideo(t,i,j) = Video(t)(i,j) A representação mais favorável dependerá do que pretendemos caso a caso. Depende do Engenho … A representação mais favorável dependerá do que pretendemos caso a caso. Depende do Engenho …
40
Sinais que representam atributos físicos Posição de um avião Posição de um avião Posição e velocidade de um avião Posição e velocidade de um avião
41
Sinais que representam atributos físicos Posição de um pêndulo Posição de um pêndulo
42
Sinais compostos por eventos Sequência de eventos que ocorre durante a realização de uma chamada telefónica Sequência de eventos que ocorre durante a realização de uma chamada telefónica Sequência de comandos para uma impressão Sequência de comandos para uma impressão
43
Domínio e Contradomínio Exemplo: Condução Condução: Indices Eventos Índices = {0,1,2,…,N} Eventos: {Ligar, Acelerar, Travar, 1ª, 2ª, 3ª, 4ª, 5ª, Marcha-Atrás, Virar Esquerda, Virar Direita, Parar}
44
Domínio e Contradomínio Exemplo: Entrada e Saída de Pessoas na sala Porta_de_entrada: Indices Eventos Índices = {0,1,2,…,N} Eventos: {Entrada, Saída} Exemplo: Número de Pessoas na sala Pessoas_na_sala: Índices Inteiros Os índices representam uma sucessão ou ordem de eventos e não o tempo
45
SISTEMAS Sistema Entradas (u) Saídas (y) Sinais
46
DTMF DTMF:{0,1,2,3,…,9,*,#} sound DTMF:{0,1,2,3,…,9,*,#} sound
47
SISTEMAS: Pessoas_na_sala Sala (1 p. início) u=( e,e,e,s,e,…) Pessoas_na_sala: [Índices{entrada,saída}] [Índices N.Pessoas_na_sala] y=( 2,3,4,3,4,…)
48
Sistema : Função O sistema Pessoas na sala pode ser descrito através da funcão: O sistema Pessoas na sala pode ser descrito através da funcão: y(0)=1+1(u(0)==e)-1(u(0)==s)=2 y(0)=1+1(u(0)==e)-1(u(0)==s)=2 … (Sistemas deste tipo têm a ver com o dimensionamento de buffers) (Sistemas deste tipo têm a ver com o dimensionamento de buffers)
49
Sistema Contínuo Velocidades:[0,5] Reais, Posição:[0,5] Reais Velocidades:[0,5] Reais, Posição:[0,5] Reais S:Velocidades Posição S:Velocidades Posição S y(0)= pos. ini. u Velocidades y Posição
50
Sistemas que dependem do passado Nestes sistemas, o sinal de saída depende não apenas do valor do sinal de entrada nesse instante, mas de todo o passado do sistema Nestes sistemas, o sinal de saída depende não apenas do valor do sinal de entrada nesse instante, mas de todo o passado do sistema
51
Nota: S(u)(t) faz sentido porque S(u) é uma função de t. S(u)(t) faz sentido porque S(u) é uma função de t. S(u(t)) não faz sentido porque u(t) é apenas um número e a função S depende de todo o passado de u(t) S(u(t)) não faz sentido porque u(t) é apenas um número e a função S depende de todo o passado de u(t)
52
Nota: Neste sistema, y(t) só depende do valor de u(t) no mesmo instante. Neste sistema, y(t) só depende do valor de u(t) no mesmo instante. Neste caso, S(u)(t) e S(u(t)) já fazem sentido. Neste caso, S(u)(t) e S(u(t)) já fazem sentido.
53
Composição de sistemas S1 v y y(0) S2 a v v(0)
54
Máquinas de estados Sinais de entrada e de saída são eventos Sinais de entrada e de saída são eventos Representa-se graficamente a dependencia do passado Representa-se graficamente a dependencia do passado
55
Reconhecedor de Sequências
56
Máquina de estados
57
Tem um número de círculos igual ao número de estados Tem um número de círculos igual ao número de estados De cada estado saem tantas setas quantos os diferentes símbolos de entrada De cada estado saem tantas setas quantos os diferentes símbolos de entrada Cada seta tem o símbolo de entrada / valor da saída que produz caso o sistema esteja nesse estado e receba essa entrada Cada seta tem o símbolo de entrada / valor da saída que produz caso o sistema esteja nesse estado e receba essa entrada
58
Máquina de estados No caso do reconhecedor: No caso do reconhecedor: Update (init, 0) = (a, f) Update (init, 0) = (a, f) Update (a, 1) = (init, f) Update (a, 1) = (init, f) …
59
Máquina de Estados
60
Reconhecedor O reconhecedor de sequências anterior detecta uma sequência de 3 símbolos 0 seguidos O reconhecedor de sequências anterior detecta uma sequência de 3 símbolos 0 seguidos Aceita um alfabeto maior que o primeiro reconhecedor apresentado Aceita um alfabeto maior que o primeiro reconhecedor apresentado
61
Reconhecedor com 4 estados
62
Embora tenha mais estados este reconhecedor produz exactamente o mesmo resultado Embora tenha mais estados este reconhecedor produz exactamente o mesmo resultado Apenas os nomes dos estados são mais intuitivos Apenas os nomes dos estados são mais intuitivos
63
Definição formal de máquina de estados StateMachine = (States, Inputs, Outputs, update, initialState) States é o espaço de estados Inputs é o conjunto de símbolos de entrada (alfabeto de entrada) Outputs é o conjunto dos símbolos de saída (alfabeto de saída) initialState States é o estado inicial update: States x Inputs States x Outputs é a função que mapeia os sinais de entrada nos sinais de saída
64
Entradas e Sinais de entrada Não confundir Entradas com Sinais de entrada. Não confundir Entradas com Sinais de entrada. Um sinal de entrada é uma sequência de elementos do conjunto de entradas Um sinal de entrada é uma sequência de elementos do conjunto de entradas Analogamente em relação às saídas. Analogamente em relação às saídas.
65
Reconhecedor
66
Máquinas de estado Por vezes é conveniente separar a função update em duas: update = (nextState, output), nextState: States x Inputs States output: States x Inputs Outputs Ou: update(s(n), x(n)) = (s(n+1), y(n)) nextState(s(n), x(n)) = s(n+1) output(s(n), x(n)) = y(n)
67
Funcionamento da ME S = (States, Inputs, Outputs, update, initialState) InputSignals = [Nats0 Inputs] OutputSignals = [Nats0 Outputs] Um sinal de entrada x = (x(0), x(1), …, x(n), …) provoca mudanças de estado s: Nats0 States e mudanças nas saídas y: Nats0 Outputs s(0) = initState, and n 0, e recursivamente teremos (s(n+1), y(n)) = update (s(n), x(n)) Assim S define um sistema F: InputSignals OutputSignals
68
Exemplo Reconhecedor: InputSignals = [Nats0 {0,1}] OutputSignals = [Nats0 {t,f}] F: x InputSignals, n Nats0 y(n) = F(x)(n) = t, se (x(n-2), x(n-1)), x(0)) = (0,0,0) = f, se não
69
Símbolo Absent absent Inputs and absent Outputs s States, update(s, absent) = (s, absent)
70
Reconhecedor Modificado
71
O reconhecedor modificado produz apenas a saída true quando encontra a sequência e não produz nada (absent) enquanto não encontrar a sequência. O reconhecedor modificado produz apenas a saída true quando encontra a sequência e não produz nada (absent) enquanto não encontrar a sequência.
72
Simplificações (else e absent implícitos)
73
Guardas Em cada estado, as guardas devem ser disjuntas Em cada estado, as guardas devem ser disjuntas Diz-me que se trata de uma máquina determinística porque a cada entrada só pode corresponder um estado seguinte. Diz-me que se trata de uma máquina determinística porque a cada entrada só pode corresponder um estado seguinte. A união de todas as guardas em cada estado deve ser igual ao conjunto das entradas A união de todas as guardas em cada estado deve ser igual ao conjunto das entradas
74
Máquina de Estados - Tabela Se o número de entradas e de estados for finito, a função update pode ser dada por uma tabela Se o número de entradas e de estados for finito, a função update pode ser dada por uma tabela
75
Exemplo : Parquímetro
76
Parquímetro InputSequence = coin25, tick 20, coin5, tick 15,... StateResponse = 0, 25, 24,..., 6, 5, 10, 9, 8,..., 2, 1, 0 5 OutputSequence = expired, safe, safe,..., safe, safe, safe, safe, safe,..., safe, safe, expired 5
77
Formas de representar máquinas de estados Modelo de conjuntos / funções Modelo de conjuntos / funções Diagrama de estados/transições Diagrama de estados/transições Tabela Tabela As duas últimas formas não permitem representar máquinas infinitas As duas últimas formas não permitem representar máquinas infinitas
78
Exemplo: Gravador de Chamadas Uma empresa quer especificar um gravador de chamadas. Uma empresa quer especificar um gravador de chamadas. Normalmente especifica em linguagem natural (português), que pode ser ambígua. Normalmente especifica em linguagem natural (português), que pode ser ambígua. Se especificasse em Máquinas de Estados não haveria ambiguidade. Se especificasse em Máquinas de Estados não haveria ambiguidade.
79
Especificação e Implementação Normalmente especifica-se as relações entre as entradas e saídas, só que esse conjunto pode ser infinito. Normalmente especifica-se as relações entre as entradas e saídas, só que esse conjunto pode ser infinito. Passar de máquinas de estados a uma implementação é cada vez mais automático Passar de máquinas de estados a uma implementação é cada vez mais automático
80
Gravador de Chamadas
81
Entrada: ring, ring, ring, end greeting, end message, … Estado: idle, count1, count2, play greeting, recording, … Saída: absent, absent, answer, record, recorded, …
82
Gravador de Chamadas Se alguém atender, a máquina vai para idle. Se alguém atender, a máquina vai para idle. As máquinas normais continuam a gravar porque não reconhecem o evento levantar do auscultador. As máquinas normais continuam a gravar porque não reconhecem o evento levantar do auscultador. Funções como gravar, etc, não são feitas pela máquina de estados. Alguém se encarrega disso. Funções como gravar, etc, não são feitas pela máquina de estados. Alguém se encarrega disso.
83
Exemplo: Delay
84
Delay unitário
85
Delay 2
86
Delay n Delay 2 implica 4 estados Delay 2 implica 4 estados Delay n implica 2 n estados Delay n implica 2 n estados Se ligarmos dois delays e os combinarmos o número total de estados é quanto ? Se ligarmos dois delays e os combinarmos o número total de estados é quanto ? Atenção que o estado passa a ser a combinação dos estados. Atenção que o estado passa a ser a combinação dos estados.
87
Máquinas de Estados Não Determinísticas São máquinas em que a uma entrada pode corresponder mais do que um estado ou saída. São máquinas em que a uma entrada pode corresponder mais do que um estado ou saída. Exemplo: parquímetro em que se reduz o número de estados. Fica não determinística mas bastante simplificada. Exemplo: parquímetro em que se reduz o número de estados. Fica não determinística mas bastante simplificada. No entanto a máquina não determinística deve manter o mesmo comportamento da máquina determinística. No entanto a máquina não determinística deve manter o mesmo comportamento da máquina determinística.
88
Máquinas não Determinísticas As guardas já não são disjuntas. As guardas já não são disjuntas. A um sinal de entrada podem corresponder muitos sinais de saída. Exemplo: x(n)= 0, 1, 0, 1, 0, 1 A um sinal de entrada podem corresponder muitos sinais de saída. Exemplo: x(n)= 0, 1, 0, 1, 0, 1
89
Transição de estados Se a máquina for não determinística, pode haver uma probabilidade de ir para um ou para outro estado. Se a máquina for não determinística, pode haver uma probabilidade de ir para um ou para outro estado. Se assim for estamos perante Cadeias de Markov. Se assim for estamos perante Cadeias de Markov. No nosso caso, o não determínismo pode ser usado para situações não modeladas. No nosso caso, o não determínismo pode ser usado para situações não modeladas.
90
Update Em máquinas não determinísticas, a função update não gera um estado mas um conjunto de estados. Não deixa de ser uma função. Em máquinas não determinísticas, a função update não gera um estado mas um conjunto de estados. Não deixa de ser uma função.
91
Estados Possíveis possibleUpdates(a, 0) = { (a, 0) } possibleUpdates(a, 1) = { (b, 1) } possibleUpdates(b, 0) = { (a, 0), (b, 1) } possibleUpdates(b, 1) = { (b, 1) }
92
Função Possibleupdate continua a ser uma função, porque gera sempre um elemento do contradomínio. Possibleupdate continua a ser uma função, porque gera sempre um elemento do contradomínio. Em contrapartida, a relação entre os sinais de entrada e os sinais de saída deixa de ser uma função. Em contrapartida, a relação entre os sinais de entrada e os sinais de saída deixa de ser uma função.
93
Funções e Comportamentos Uma máquina determinística pode ser definida por uma função. Uma máquina não determinística define um comportamento Behaviors = {(x,y) | y is a possible output signal corresponding to x} InputSignals x OutputSignals
94
Parquímetro Não Determinístico
95
Comparação A máquina não determinística é mais simples. A máquina não determinística é mais simples. No entanto, as saídas possíveis da máquina não determinística, incluem as da máquina deterministica. No entanto, as saídas possíveis da máquina não determinística, incluem as da máquina deterministica. A máquina não determinística pode fazer o que a máquina determinística faz e possívelmente algo mais. A máquina não determinística pode fazer o que a máquina determinística faz e possívelmente algo mais.
96
Abstracção A máquina ND esconde detalhes da máquina D A máquina ND esconde detalhes da máquina D As duas máquinas não são equivalentes. As duas máquinas não são equivalentes. A máquina ND é uma abstracção da máquina D A máquina ND é uma abstracção da máquina D
97
Interesse das Máq. ND Por outro lado, se se provar que a Máquina não Determinística não pode ter um certo comportamento, então, garantidamente, a Máquina Determinística também não o poderá ter. Por outro lado, se se provar que a Máquina não Determinística não pode ter um certo comportamento, então, garantidamente, a Máquina Determinística também não o poderá ter. Se a ND for segura, a D também o será, admitindo que, por segura se entende que determinados estados não sucederão. Exemplos: Deadlock. Livelock, etc. Se a ND for segura, a D também o será, admitindo que, por segura se entende que determinados estados não sucederão. Exemplos: Deadlock. Livelock, etc.
98
Equivalência Máquina determinística Máquina determinística Máquina não determinística Máquina não determinística
99
Equivalência e Simulação Ambas respondem com (1, 0, 1, 0 …) à entrada (1, 1, 1, 1 …) Ambas respondem com (1, 0, 1, 0 …) à entrada (1, 1, 1, 1 …) Consideram-se máquinas bisimilares (mutuamente similares) porque uma máquina simula a outra e reciprocamente. Consideram-se máquinas bisimilares (mutuamente similares) porque uma máquina simula a outra e reciprocamente. Considera-se que uma máquina simula outra quando consegue fazer o mesmo que a outra e talvez mais. Considera-se que uma máquina simula outra quando consegue fazer o mesmo que a outra e talvez mais. A máquina não determinística para o parquímetro simulava a máquina determinística do mesmo parquímetro. A máquina não determinística para o parquímetro simulava a máquina determinística do mesmo parquímetro. A e B são mutuamente similares se A simula B e B simula A A e B são mutuamente similares se A simula B e B simula A
100
Simulação Uma máquina simula outra se conseguir ganhar o jogo da igualdade (matching game) Uma máquina simula outra se conseguir ganhar o jogo da igualdade (matching game) Regras do jogo da igualdade: Regras do jogo da igualdade: Inicialmente ambas as máquinas estão prontas no seu estado inicial. Inicialmente ambas as máquinas estão prontas no seu estado inicial. Apresenta-se uma entrada a ambas. B simula A se for capaz de produzir a mesma saída sempre. Apresenta-se uma entrada a ambas. B simula A se for capaz de produzir a mesma saída sempre. Se B não for capaz, perdeu o jogo e não simula A Se B não for capaz, perdeu o jogo e não simula A
101
Simulação (formal) Considere as seguintes máquinas não determinísticas Considere as seguintes máquinas não determinísticas
102
Simulação (formal)
103
Ilustração da Simulação
104
Teorema Se B simula A Se B simula A Comportamentos B כ Comportamentos A Comportamentos B כ Comportamentos A
105
exemplo Comportamentos B = Comportamentos A Comportamentos B = Comportamentos A Mas B não simula A ! Mas B não simula A !
106
Combinações de ME Tendo um sistema descrito por uma máquina A Tendo um sistema descrito por uma máquina A Um sistema descrito pela máquina B Um sistema descrito pela máquina B Se as saídas de A forem ligadas a B deve ser possível conhecer o sistema final com base nos seus componentes. Se as saídas de A forem ligadas a B deve ser possível conhecer o sistema final com base nos seus componentes. Se a saída realimentar para a entrada, também deverá ser possível fazer a mesma análise. Se a saída realimentar para a entrada, também deverá ser possível fazer a mesma análise.
107
Hipótese de funcionamento Quando uma entrada chega ao sistema ela é imediatamente consumida e é gerada a saída correspondente. Quando uma entrada chega ao sistema ela é imediatamente consumida e é gerada a saída correspondente. Essa saída é consumida no mesmo instante pelo sistema a jusante. Essa saída é consumida no mesmo instante pelo sistema a jusante. Cada componente só reage uma vez ao sinal de entrada. Cada componente só reage uma vez ao sinal de entrada. Se houver realimentação, o sinal de saída aparece à entrada no mesmo instante. Se houver realimentação, o sinal de saída aparece à entrada no mesmo instante.
108
Trivial: Composição paralela
109
Composição paralela
111
Composição em cascata
113
Composição em cascata: exemplo
114
No exemplo anterior, os estados (1,0) e (0,1) não são alcançáveis. No exemplo anterior, os estados (1,0) e (0,1) não são alcançáveis. Numa composição em cascata, podem existir estados não alcancáveis. Numa composição em cascata, podem existir estados não alcancáveis.
115
Composição: Produto de Entradas/Saídas
116
Como no caso do atendedor, há sinais que podem ter proveniências diferentes e saídas que podem ter destinos diferentes. Como no caso do atendedor, há sinais que podem ter proveniências diferentes e saídas que podem ter destinos diferentes. O sinal de play e o de record podem ser destinados a máquinas diferentes. O sinal de play e o de record podem ser destinados a máquinas diferentes. O Sinal de Chamada (ring) pode provir de uma entrada diferente do sinal de fim de chamada (end message) O Sinal de Chamada (ring) pode provir de uma entrada diferente do sinal de fim de chamada (end message)
117
Composição: Produto de Entradas/Saídas
118
Composição: Produto de E/S Por vezes, há entradas específicas para determinados elementos do alfabeto. Por vezes, há entradas específicas para determinados elementos do alfabeto.
119
Feedback O Problema consiste em calcular a função update.
120
Ponto Fixo A função update define-se através de iterações que conduzam ao ponto fixo. A função update define-se através de iterações que conduzam ao ponto fixo.
121
O que é o ponto fixo (Fixed Point)
124
Ponto Fixo: Hipóteses Não há soluções: significa que não há sinais que possam colocar o sistema a funcionar. O sistema não funciona. Não há soluções: significa que não há sinais que possam colocar o sistema a funcionar. O sistema não funciona. Há mais do que uma solução: significa que o problema não é bem formado e não pode ser resolvido (not well formed) Há mais do que uma solução: significa que o problema não é bem formado e não pode ser resolvido (not well formed) Há uma solução única: significa que o sistema é bem formado (well formed) Há uma solução única: significa que o sistema é bem formado (well formed)
125
Ponto Fixo: Exemplo X=Y=Reais X=Y=Reais f(x)=2x-1 f(x)=2x-1 Solução do ponto fixo: Solução do ponto fixo: X=f(x) X=f(x) 2x-1 = x 2x-1 = x Tem uma solução única: x = 1 Tem uma solução única: x = 1 Se f(x) = x 2 o sistema tem duas soluções (seria no máximo, uma máquina não determinística) Se f(x) = x 2 o sistema tem duas soluções (seria no máximo, uma máquina não determinística) Se f(x) = x+1 não tem solução Se f(x) = x+1 não tem solução
126
Realimentação sem entradas externas: exemplo 1
127
Sistema bem formado Se estiver no estado 1 e a entrada for verdadeiro, o sistema não tem solução. Se estiver no estado 1 e a entrada for verdadeiro, o sistema não tem solução. Se estiver no estado 1 e a entrada for falsa, ele consome a entrada e passa ao estado 2 gerando a saída falsa que é igual à entrada. Se estiver no estado 1 e a entrada for falsa, ele consome a entrada e passa ao estado 2 gerando a saída falsa que é igual à entrada. Se estiver no estado 2 e a entrada for falsa, o sistema não tem solução. Se estiver no estado 2 e a entrada for falsa, o sistema não tem solução. Se estiver no estado 2 e a entrada for verdadeira, ele consome a entrada e passa ao estado 1 gerando a saída verdadeira que é igual à entrada. Se estiver no estado 2 e a entrada for verdadeira, ele consome a entrada e passa ao estado 1 gerando a saída verdadeira que é igual à entrada. O sistema é bem formado porque para cada estado há uma única solução x=f(x) O sistema é bem formado porque para cada estado há uma única solução x=f(x)
128
Realimentação sem entradas externas
129
Sistema bem formado O sistema não tinha entradas. O sistema não tinha entradas. A entrada react é criada artificialmente para representar que quando surge a máquina pode avançar para o estado seguinte (correr a sua função update). A entrada react é criada artificialmente para representar que quando surge a máquina pode avançar para o estado seguinte (correr a sua função update). As duas máquinas são equivalentes porque quando a entrada react surge, as únicas hipóteses de evolução são as indicadas na máquina inferior. As duas máquinas são equivalentes porque quando a entrada react surge, as únicas hipóteses de evolução são as indicadas na máquina inferior.
130
Realimentação sem entradas externas: exemplo 2
131
Sistema mal formado (not well- formed) Se estiver no estado 1 e a entrada for verdadeiro, o sistema não tem solução. Se estiver no estado 1 e a entrada for verdadeiro, o sistema não tem solução. Se estiver no estado 1 e a entrada for falsa, ele consome a entrada e passa ao estado 2 gerando a saída falsa que é igual à entrada. Se estiver no estado 1 e a entrada for falsa, ele consome a entrada e passa ao estado 2 gerando a saída falsa que é igual à entrada. Para o estado 1 há portanto uma solução única e o sistema está no bom caminho para ser considerado bem-formado Para o estado 1 há portanto uma solução única e o sistema está no bom caminho para ser considerado bem-formado Se estiver no estado 2 e a entrada for verdadeira ou falsa, a saída gerada é diferente da entrada. Se estiver no estado 2 e a entrada for verdadeira ou falsa, a saída gerada é diferente da entrada. O sistema é mal formado porque há um estado em que não há solução para x=f(x) O sistema é mal formado porque há um estado em que não há solução para x=f(x)
132
Realimentação sem entradas externas: exemplo 3
133
Sistema mal formado (not well- formed) Se estiver no estado 1 e a entrada for verdadeiro, a máquina consome a entrada e gera uma saída igual. Se estiver no estado 1 e a entrada for verdadeiro, a máquina consome a entrada e gera uma saída igual. Se estiver no estado 1 e a entrada for falsa, ele consome a entrada e passa ao estado 2 gerando a saída falsa que é igual à entrada. Se estiver no estado 1 e a entrada for falsa, ele consome a entrada e passa ao estado 2 gerando a saída falsa que é igual à entrada. O sistema é mal formado porque há um estado em que há mais do que uma única solução x=f(x). O sistema é mal formado porque há um estado em que há mais do que uma única solução x=f(x).
134
Máquinas em que a saída depende apenas do estado
135
Nestes casos, qualquer que seja a entrada, a saída é sempre a mesma para cada estado. Nestes casos, qualquer que seja a entrada, a saída é sempre a mesma para cada estado. output(s, y) = y terá sempre uma única solução que corresponderá à guarda cuja entrada for igual a y output(s, y) = y terá sempre uma única solução que corresponderá à guarda cuja entrada for igual a y Desta forma, estas máquinas são sempre bem formadas. Desta forma, estas máquinas são sempre bem formadas.
136
Interesse das máquinas bem formadas Máquina B bem formada (saída depende do estado) y z w Se uma máquina é Bem formada (as saídas dependem apenas do estado), então sistema é bem formado A BC
137
Máquinas em que a saída depende apenas do estado Suponhamos que a máquina B está num certo estado e gera a saída y. Suponhamos que a máquina B está num certo estado e gera a saída y. A máquina C (que pode não ser bem formada), gera z. A máquina C (que pode não ser bem formada), gera z. A máquina A gera w. A máquina A gera w. Mas w será uma das guardas desse estado da máquina B. Então ela continuará a gerar y. Mas w será uma das guardas desse estado da máquina B. Então ela continuará a gerar y. O sistema todo é bem formado porque um dos seus elementos o era. O sistema todo é bem formado porque um dos seus elementos o era.
138
Delay A máquina delay tem saídas determinadas pelo estado. É bem formada. A máquina delay tem saídas determinadas pelo estado. É bem formada.
139
Bem formado ou mal formado ? Método geral
140
Começa-se com uma saída algures Começa-se com uma saída algures Para cada máquina Para cada máquina Se a saída puder ser determinada, produzi-la Se a saída puder ser determinada, produzi-la Se a mudança de estado puder ser determinada, fazê-la Se a mudança de estado puder ser determinada, fazê-la Repetir até dar a volta Repetir até dar a volta Se todas as saídas estão determinadas – Bem formado Se todas as saídas estão determinadas – Bem formado Se alguns sinais estiverem indefinidos – Mal formado Se alguns sinais estiverem indefinidos – Mal formado
141
Bem formado ou mal formado ? Exemplo
142
Começar com o estado A Começar com o estado A O estado A gera sempre a saída y2=1 O estado A gera sempre a saída y2=1 Como y2 é realimentada, teremos Como y2 é realimentada, teremos update (a, 1) = (b, (1,1)) O estado B gera sempre a saída y2=0 O estado B gera sempre a saída y2=0 Como y2 é realimentada, teremos Como y2 é realimentada, teremos update (b, 0) = (b, (0,0))
143
Realimentação com entradas
144
A máquina tem dois portos de saída, outputM1 e outputM2. Escolher um estado s. x1 Inputs1, resolver: outputM2 (s, (x1, y2)) = y2; se y2 for única, então nextState (s, x1) = (nextStateM(s, (x1, y2)) output(s, x1) = outputM1(x1, y2) Passará a haver uma equação de ponto fixo para cada valor da entrada. Passará a haver uma equação de ponto fixo para cada valor da entrada.
145
Sumário dos Caps. I a IV Vimos até agora: Vimos até agora: Sinais que são funções com domínio e contradomínio: exemplo: sons, imagens Sinais que são funções com domínio e contradomínio: exemplo: sons, imagens Sistemas que transformam sinais, são funções de funções: exemplo: filtros, máquinas de fax Sistemas que transformam sinais, são funções de funções: exemplo: filtros, máquinas de fax Máquinas de estado (determinísticas ou não) que descrevem a evolução dos sistemas. Máquinas de estado (determinísticas ou não) que descrevem a evolução dos sistemas.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.