• Nenhum resultado encontrado

UFCG IQuanta DSC. Cheyenne R. G. Isidro Bernardo Lula Júnior

N/A
N/A
Protected

Academic year: 2021

Share "UFCG IQuanta DSC. Cheyenne R. G. Isidro Bernardo Lula Júnior"

Copied!
37
0
0

Texto

(1)

Um Algoritmo para Transformar

Autômatos Finitos

Não-Determinísticos em Autômatos Finitos

Quânticos Preservando o Número de

Estados e a Linguagem Reconhecida

Cheyenne R. G. Isidro

cha@dsc.ufcg.edu.br

Bernardo Lula Júnior

(2)

Motivação

Situação e Problema abordado

Autômatos Finitos

Notação Vetorial

Autômato Finito Quântico

Algoritmo de Transformação

Circuito Quântico para AFQ ancilla

Conclusão

Bibliografia

(3)

Motivação

Estudar a Teoria da Computação Clássica no

contexto quântico

Iniciar com conceitos simples

Mostrar vantagens ao utilizar modelo

quântico

Buscar solução “quântica” para problemas

não resolvidos satisfatoriamente no contexto

clássico

(4)

Situação

Implementar soluções construídas a partir de

um AF

 1. Construir um AFN que resolve o problema

 Descrição de aplicações

 Tratamento formal (prova de teoremas)

 2. Transformar o AFN em um AFD equivalente  3. Implementar o AFD

(5)

Problema

Transformação pode levar à uma explosão

do número de estados (no pior caso)

 AFN – n estados  AFD – 2n estados

(6)

Contexto quântico

Com as futuras máquina quânticas,

queremos evitar esse problema

 Transformar AFN em AFQ diretamente sem

aumento exponencial no número de estados

Solução

 Algoritmo de transformação AFN para AFQ que

preserva a linguagem reconhecida e o número de estados do autômato original

(7)

 Autômatos Finitos são elementos essenciais tanto

na teoria como na prática computacional.

 Um Autômato Finito (AF) é uma 5-tupla

A = (Q, Σ, δ, qinit, Qac), onde:

Q é um conjunto finito de estados;  Σ é um alfabeto de entrada;

 δ : Q x Σ → Q é uma função de transição;  qinit Q é o estado inicial;

 QacQ é um conjunto de estados de aceitação.

(8)

Autômatos Finitos - computação

 Inicia em qinit , A lê símbolo por símbolo da palavra

w = w1w2...wn

 No i-ésimo passo, estando A no estado q, A lê o

símbolo wi e atualiza seu estado para δ(q, wi) = q’

A aceita w se o autômato pára em um estado de

aceitação.

A reconhece a linguagem formada pelas palavras

aceitas.

 A classe de linguagens reconhecidas por AFs é a

(9)

Autômatos Finitos - tipos

Autômato Finito Determinístico (AFD)

 δ(qi, a) = qj

Autômato Finito Não-Determinístico (AFN)

 δ : Q x Σ → 2Q

 δ(qi, a) = { qj1, ...,qjk }

 Um AFN aceita a palavra w se há um caminho

(10)

Autômatos Finitos - equivalência

AFD e AFN reconhecem a mesma classe de

linguagens.

Problema ao transformar um AFN em um

(11)

Notação Vetorial

Seja um AF A (AFD ou AFN) com n estados.

 δ é descrita por matrizes de transição Ma , de

dimensão n x n, uma para cada a

Σ.

 (Ma)ij = 1, sse existe a transição δ(qi, a) = qj  (Ma)ij = 0, caso contrário

 qinit é um vetor coluna de dimensão n onde:  (qinit)i = 1, se qi = qinit

(12)

Notação Vetorial

 Qac é o vetor coluna onde:  (Qac)i = 1, se qi ∈ Qac

 (Qac)i = 0, se qi ∉ Qac

 A quantidade de caminhos de aceitação para

uma palavra w é dada por:

f(w) = qinitT . M

w1. Mw2. ... . Mwn. Qac

(13)

Notação Vetorial - exemplo

 Exemplo: Autômato A  Notação matricial de A       =       =       =       = 1 0 1 0 M e 1 0 1 1 M , 1 0 Q , 0 1 qinit ac 0 1

 Computando a palavra w = 01, temos:

[

]

2 1 0 1 0 1 0 1 0 1 1 0 1 Q M M q ) 01 ( f Tinit 0 1 ac =      ⋅       ⋅       ⋅ = ⋅ ⋅ ⋅ = δ(q2, 0) = {q2} δ(q2, 1) = {q2} qinit = {q1} Qac = {q2} δ(q1, 0) = {q1, q2} δ(q1, 1) = {q2} Q = {q1,q2} Σ = {0, 1}

(14)

Autômato Finito Quântico

AFQ é uma 5 tupla B = (Q,

Σ

,

δ

, q

init

, Q

ac

),

onde:

Q é um conjunto finito de estados;  Σ é um alfabeto de entrada;

 δ : Q x Σ x Q → C é uma função de transição;  qinit Q é o estado inicial;

 QacQ é um conjunto de estados de

(15)

Autômato Finito Quântico

Os estados do AFQ podem estar em superposição!

 Superposição é representada por

∈ α = Q i q i i q q

onde αi é a amplitude do estado qi e 1

Q i 2 i = α

 A função de transição é definida por δ : Q x Σ x Q → C

 O valor de δ(q1, a, q2) é a amplitude de |q2〉 na superposição de estados que B assume ao ler o símbolo a, estando em |q1〉.

(16)

Autômato Finito Quântico

 Para a∈Σ, Ua é a matriz complexa, de dimensão

|Q|x|Q|, definida por:

( )

(

)

∈ δ = Q ' q i i a q q ,a,q' q' U

O operador deve ser unitário, logo, deve satisfazer:

∈   = = δ ⋅ δ ∑ ∈ ∈ ∀ Q q j i j i * j i contrário caso 0 q q se 1 ) q , a , q ( ) q , a , q ( : a , Q q , q

 Para cada símbolo lido da palavra, B aplica a

(17)

AFQ – modelo MO-AFQ

MO-AFQ

 Modelo de Moore e Crutchfield define uma

única medição no final da computação da palavra  Palavra é aceita se 0 q U ) w ( fQ = Qacwinit 2 >

(18)

AFQ – modelo MM-AFQ

MM-AFQ

 Modelo de Kondacs e Watrous define múltiplas

medições, uma a cada leitura de símbolo da palavra

 Introduz um sexto elemento na tupla, o conjunto de

estados de rejeição Qrej.

 Qac e Qrej são conjuntos de estados de parada

 Autômato aceita a palavra, se pára em um dos estados do conjunto Qac com

(19)

AFQ – MO-AFQ e MM-AFQ

Modelos não reconhecem a classe das

linguagens regulares

 Limitação quanto à unitariedade das matrizes.

MM-AFQ são “mais poderosos” que MO-AFQ

 MM-AFQ reconhece todas as linguagem que o

(20)

AFQ – modelo AFQ ancilla

AFQ ancilla

 Modelo de Paschen utiliza qubits auxiliares para tornar

as transformações unitárias.

 AFQ ancilla B é uma 6-tupla B = (Q, Σ, Ω, δ, qinit, Qac),

onde:

 Q, Σ, qinit e Qac são semelhantes ao modelo MO-QFA;

 Ω é um alfabeto auxiliar;

 δ é estendida para δ:Q x Σ x Q x Ω → C[0,1] com a seguinte

restrição:

   = = δ δ ∑ ∈ ∈ ∀ i j * i j i j trário caso con 0 q se q 1 ) y , q , a , q ( ). y , q , a , q ( : a , Q q , q

(21)

AFQ – modelo AFQ ancilla

 Toda linguagem regular pode ser reconhecida por

um AFQ ancilla

 Paschen prova partindo de um AFD mínimo e construindo um AFQ equivalente.

 Queremos transformar diretamente um AFN em

um AFQ equivalente, preservando o número de estados e a linguagem reconhecida!

(22)

Algoritmo

 Seja A = (Q, Σ, δ, qinit, Qac) um AFN qualquer.

Definimos um AFQ ancilla B = (Q’, Σ, Ω, δ’, q’init, Q’ac), como segue:

1. 2.

3. Para cada entrada da função δ’ definir:  , para todo d, 1 ≤ d ≤ k, e  , para todo

{

q : q Q

}

' Q = ∈ } q , ... , q { ) a , q ( i = j1 jk δ k 1 ) 0 , q , a , q ( ' i j d = δ 0 ) 0 , q , a , q ( ' i s = δ q s ∈ Q − {qj1,...,qjk } } 1 , 0 { = Ω

(23)

Algoritmo

 4.

 5.

 6. Para cada a ∈ ∑, definir a matriz Ua como

segue:

As outras entradas são preenchidas com vetores ortonormais arbitrários de forma que a U seja

unitária.

(

)

= ) ( δ = k 1 d i j j i i a q 0 q ' q ,a,q d,0 q d U

{

ac

}

ac span q : q Q ' Q = ∈ init init

q

'

q

=

(24)

Exemplo

 AFN A U0(|0〉|0〉) = |0〉1/√2(|0〉+|1〉) U0(|0〉|1〉) = |0〉1/√2(|0〉−|1〉) U0(|1〉|0〉) = |1〉|0〉 U0(|1〉|1〉) = |1〉|1〉 Q' = {|0〉, |1〉} Σ = {|0〉, |1〉} qinit = {|0〉} Qac = {|1〉} U 0=

[

1/2 1/2 0 0 1/2 −1 /2 0 0 0 0 0 1

]

U 1=

[

0 1 0 0 1 0 0 0 0 0 0 1

]

 AFQ B equivalente δ(q1, 0) = {q1} δ(q1, 1) = {q1} qinit = {q0} Qac = {q1} δ(q0, 0) = {q0 ,q1} δ(q0, 1) = {q1} Q = {q0,q1} Σ = {0, 1} U1(|0〉|0〉) = |0〉|1〉 U1(|0〉|1〉) = |0〉|0〉 U1(|1〉|0〉) = |1〉|1〉 U1(|1〉|1〉) = |1〉|0〉

(25)

Circuito Quântico para

AFQ ancilla

(26)

Circuito Quântico para

AFQ ancilla

(27)

Circuito Quântico para

AFQ ancilla

 Para |w| = n e Σ = {0,1}

Usa 2k qubits para as entradas das

portas Us Usa n qubits para

(28)

Circuito Quântico para

AFQ ancilla

 Para |w| = n e Σ = {0,1}

Usa 2k qubits para as entradas das

portas Us Usa n qubits para

representar w

Usa k qubits extras no estado |0〉 para cada

(29)

Circuito Quântico para

AFQ ancilla

 Para |w| = n e Σ = {0,1}

Usa 2k qubits para as entradas das

portas Us Usa n qubits para

representar w

Usa k qubits extras no estado |0〉 para cada

símbolo da entrada w

O número de qubits necessários é

h = (k+1). n + 2k

(30)

Circuito Quântico para

AFQ ancilla

(31)

Circuito Quântico para

AFQ ancilla

 Para |w| = n e Σ = {0,1}

Usa 2 portas X para

cada símbolo da

(32)

Circuito Quântico para

AFQ ancilla

 Para |w| = n e Σ = {0,1}

Usa 2 portas X para

cada símbolo da

entrada

Usa 2 portas U para

cada símbolo da

(33)

Circuito Quântico para

AFQ ancilla

 Para |w| = n e Σ = {0,1}

Usa 2 portas X para

cada símbolo da

entrada

Usa 2 portas U para

cada símbolo da

entrada

Usa 2 portas SWAP para cada n - 1 símbolos da entrada

(34)

Circuito Quântico para

AFQ ancilla

 Para |w| = n e Σ = {0,1}

Usa 2 portas X para

cada símbolo da

entrada

Usa 2 portas U para

cada símbolo da

entrada

Usa 2 portas SWAP para cada n - 1 símbolos da entrada

O número de portas necessárias é

p = (2.X + 2.U). n + 2.SWAP.(n - 1)

(35)

Conclusão

 Introduzimos didaticamente a computação

quântica a partir de referências da teoria da computação clássica.

 Mostramos uma das vantagens no uso de

Autômatos Quânticos

 Um AFN pode ser implementado diretamente em

hardware quântico sem levar a uma explosão de estados, como acontecia no caso clássico.

 O modelo de AFQ com qubits auxiliares preserva a

linguagem reconhecida e pode ser implementado com custo em escala polinomial ao tamanho da entrada.

(36)

Bibliografia

 Ambainis, A. and Freivalds, R. (1998) “1-Way

Quantum Finite Automata: Strengths, Weaknesses and Generalizations”, FOCS 1998 Proceedings of the 39 Annual Symposium on Foundations of

Computer Science: 332-341

 Kondacs, A and Watrous, J. (1997) “On the Power

of Quantum Finite State Automata”, FOCS 1997: 66-75

 Moore, C and Crutchfield, J. P. (2000) “Quantum

automata and quantum grammars”, In: Theor. Comput. Sci 237(1-2): 275-30

(37)

Bibliografia

 Nielsen, M. A. and Chuang, I. L. (2000) Quantum

Computation and Quantum Information. Cambridge University Press

 Paschen, K. (2000) “Quantum finite automata

using ancilla qubits”, University of Karlsruhe, Technical report

 Hopcroft, J. E., Motwani, R. and Ullman, J. D.

(2001) Introduction to Automata Theory,

Languages and Computation. Addison-Wesley Publishing Company

Referências

Documentos relacionados

Contratação de empresa especializada em fornecimento de carne. Considerando o bem estar dos colaboradores e pacientes, ter uma alimentação balanceada e saudável pode melhorar a

 2) Verifique se o diagrama de estados que você implementou como exercício da aula 1 (slide ~42 : do autômato que aceita cadeias binárias que comecem e terminem com zero,

classificatório, com pontuação máxima de 100 (cem pontos) será ministrada na presença de uma banca examinadora e será constituída de uma aula, com duração de até 30

Na subordem Auchenorrhyncha, algumas espécies representantes da infraordem Cicadomorpha (Cicadidae, Cercopidae e Cicadellidae) e Fulgoromorpha tiveram a ultra-estrutura

Tipo de fixação, lado da instalação: Fixação de passagem Tipo de fixação, lado do dispositivo: Parafusável Material: Metal. 53800132 BTF815M Cantoneira de

1.2 - A matrícula será realizada pelos candidatos aprovados e classificados até o limite do número de vagas fixadas para cada curso ofertado pela FAIARA, mediante

(__)- Para efeito de cálculo estrutural de fundações apoiadas sobre rocha, o elemento estrutural deve ser calculado como peça rígida,.. adotando-se um diagrama de

Decoração policromada com brasão ao centro e complementos a ouro, pintada à mão.. Armas partidas: 1º Almada; 2º Sotomaior; timbre