• Nenhum resultado encontrado

Fun¸ c˜ oes seq¨ uenciais e subseq¨ uenciais

e

(4.1.9) ∆piqi ={(aiM,1)}, ∀(pi, qi)∈ E.

De (4.1.8) segue que T ´e funcional. De (4.1.9) segue que

pkqk ={(aK,1)}, onde K =M n

2

.

O transdutor para n= 4 e a enumera¸c˜ao

(1,2),(1,3),(1,4),(2,3),(2,4),(3,4) est´a ilustrado a seguir:

1 2 3 4

σ0/aM σ1/aM σ2/aM γ1/1 γ2/1 γ3/1

σ3/aM σ0/1

σ5/aM σ1/1

σ3/1 σ5/1 γ2/aM

γ6/1

σ4/1 γ4/aM

γ3/aM γ5/aM γ6/aM σ2/1

γ5/1 σ4/aM γ1/aM γ4/1

O quadrado desse transdutor est´a ilustrado na Figura 4.1.1. Ao contr´ario do Exemplo 4.1.1, um estado (p, q) ´e representado na linha pe na colunaq. Novamente, um par de palavras (u, v) ´e codificado com o inteiro|u| − |v|, e uma posi¸c˜ao (p, q) cont´em a codifica¸c˜ao da ´unica diferen¸ca em

pq.

As sa´ıdas s˜ao indicadas pelo desenho das transi¸c˜oes como segue: as linhas cont´ınuas indicam (aM,1); as linhas pontilhadas indicam (1, aM); as linhas tracejadas correspondem `as transi¸c˜oes de T, e os r´otulos dessas transi¸c˜oes podem ser obtidos seguindo (4.1.7). N

106 4.2. Fun¸c˜oes seq¨uenciais e subseq¨uenciais

1 2 3 4

1 ←→ 0

σ0

σ0

M

σ1

γ1

2M

σ2

γ2

3M

σ3

γ3

2 M

σ1

γ1

0 4M

σ4

γ4

5M

σ5

γ5

3 2M

σ2

γ2

4M

σ4

γ4

0 6M

γ6

4 3M

σ3

γ3

5M

σ5

γ5

6M

γ6

0

Figura 4.1.1: Quadrado do transdutor do Exemplo 4.1.2

Posteriormente, um modelo de transdutor determin´ıstico mais geral foi proposto por Sch¨ utzen-berger [Sch77]. Esse modelo, conhecido comotransdutor subseq¨uencial, ´e capaz de realizar diversas fun¸c˜oes intuitivamente seq¨uenciais, mas que n˜ao podem ser realizadas por um transdutor seq¨uencial.

Nesta se¸c˜ao, vamos definir os transdutores seq¨uenciais e subseq¨uenciais, e apresentar algumas propriedades simples, para uso nas se¸c˜oes posteriores. O material desta se¸c˜ao ´e b´asico, e est´a contido na maior parte em [Ber79] e [Eil74] (no livro de Eilenberg, apenas os transdutores seq¨uenciais s˜ao estudados).

O determinismo na entrada pode ser visto como uma a¸c˜ao de um mon´oide livre sobre o conjunto de estados. Assim, ´e ´util definir os transdutores seq¨uenciais e subseq¨uenciais com base nesse conceito.

Recordamos que uma a¸c˜ao de um mon´oide livre Σ sobre um conjuntoQ´e uma fun¸c˜ao parcial

· : Q×Σ → Q satisfazendo as propriedades em (1.2.2). Dados elementos q em Q e u em Σ, podemos omitir o·emq·u, e escrever simplesmente qu.

Defini¸c˜ao 4.2.1 Um Σ-M-transdutor seq¨uencial ´e uma m´aquina composta de

• um conjunto finito de estados Q;

• um estado inicial i;

• uma fun¸c˜ao parcial·:Q×Σ→Q;

• uma fun¸c˜ao parcial∗:Q×Σ→M, com dom´ınio idˆentico ao de ·.

A fun¸c˜ao·´e denominadafun¸c˜ao de transi¸c˜ao, e∗,fun¸c˜ao de emiss˜ao, ou simplesmente emiss˜ao.

Vamos denotar um transdutor seq¨uencial por (Q, i).

Em [Eil74], o termo m´aquina seq¨uencial ´e utilizado apenas no caso em que toda emiss˜ao ´e uma letra, ao inv´es de uma palavra qualquer. Vamos chamar um transdutor com essa propriedade de transdutor seq¨uencial letra-letra.

Utilizando (1.3.3), a fun¸c˜ao de transi¸c˜ao pode ser estendida para uma a¸c˜ao de Σ sobre Q satisfazendo (1.2.2). Tamb´em podemos estender∗para uma fun¸c˜ao∗:Q×Σ→M indutivamente como segue:

q∗1 = 1 (4.2.1a)

q∗(σu) = (q∗σ)((q·σ)∗u), ∀q ∈Q, ∀σ ∈Σ, ∀u∈Σ. (4.2.1b)

Essa extens˜ao tem o mesmo dom´ınio de·, e satisfaz

(4.2.2) q∗(uv) = (q∗u)((q·u)∗v), ∀ q∈Q, ∀ u, v∈Σ. Essas propriedades podem ser demonstradas facilmente por indu¸c˜ao em|u|.

Num transdutor seq¨uencial, todos os estados s˜ao considerados finais.

O comportamento de um Σ-M-transdutor seq¨uencial T ´e uma fun¸c˜ao

|T |: Σ→M, definida por

(4.2.3) u|T|= (i∗u), ∀u∈Σ.

Note quei·u est´a definido se, e somente se, u∈dom|T |.

Defini¸c˜ao 4.2.2 Dizemos que uma fun¸c˜ao f : Σ →M´e uma fun¸c˜ao seq¨uencial se for o compor-tamento de um Σ-M-transdutor seq¨uencial.

A proposi¸c˜ao a seguir mostra a constru¸c˜ao de um transdutor letra-sa´ıda equivalente a um Σ-M-transdutor seq¨uencial.

Proposi¸c˜ao 4.2.1 Toda fun¸c˜ao seq¨uencial ´e racional.

Demonstra¸c˜ao. Sejam f : Σ → M uma fun¸c˜ao seq¨uencial, e S = (Q, i) um Σ-M-transdutor seq¨uencial que realiza f.

SejaT = (Q, E, i, Q) o Σ-M-transdutor letra-sa´ıda com conjunto de transi¸c˜oes definido por q−σ/q∗σ−−−→qσ∈E, ∀q ∈Q, ∀ σ∈Σ,tal queqσ6=∅.

108 4.2. Fun¸c˜oes seq¨uenciais e subseq¨uenciais

Sejam u uma palavra, e pe q estados. Por indu¸c˜ao em|u|, conclu´ımos que existe um passeio p−−→u/x q

emT se, e somente se,

pu=q e p∗u=x.

Portanto,

|T |=|S|, o que mostra quef ´e uma fun¸c˜ao racional.

Uma propriedade simples das fun¸c˜oes seq¨uenciais utiliza a seguinte defini¸c˜ao:

Defini¸c˜ao 4.2.3 Dizemos que uma fun¸c˜ao f : Σ → M preserva prefixos se 1f = 1 e (uσ)f ⊆ (uf)M, para todou emΣ e σ em Σ.

Proposi¸c˜ao 4.2.2 Toda fun¸c˜ao seq¨uencial preserva prefixos.

Demonstra¸c˜ao. A demonstra¸c˜ao ´e trivial.

A m´aquina definida na Defini¸c˜ao 4.2.1 ´e, em algumas referˆencias, denominadatransdutor seq¨ uen-cial `a esquerda, pois a leitura da entrada ´e feita da esquerda para a direita. A fun¸c˜ao realizada por esse tipo de transdutor tamb´em ´e denominada fun¸c˜ao seq¨uencial `a esquerda.

Um transdutor seq¨uencial em que a leitura da entrada, bem como a escrita da sa´ıda, s˜ao feitas da direita para a esquerda, tamb´em pode ser definido. Esse tipo de transdutor ser´a utilizado na Se¸c˜ao 4.3.

Defini¸c˜ao 4.2.4 Um Σ-M-transdutor seq¨uencial `a direita ´e uma m´aquina composta de

• um conjunto finito de estados Q;

• um estado inicial i;

• uma fun¸c˜ao parcial·: Σ×Q→Q;

• uma fun¸c˜ao parcial∗: Σ×Q→M, com dom´ınio idˆentico ao de ·.

Um transdutor seq¨uencial `a direita tamb´em ser´a denotado por (Q, i).

A defini¸c˜ao de transdutor seq¨uencial `a direita pode ser vista como a defini¸c˜ao de transdutor seq¨uencial `a esquerda revertida. Dessa forma, algumas propriedades dos transdutores seq¨uenciais

`

a esquerda tˆem uma vers˜ao semelhante para os transdutores seq¨uenciais `a direita.

Assim, podemos denotar as imagens de um par (σ, q) pelas fun¸c˜oes · e ∗ por σq e σ ∗ q, respectivamente. Essas fun¸c˜oes tamb´em podem ser estendidas para Σ×Qcomo segue:

1q= 1 e 1∗q = 1;

(4.2.4a)

(uσ)·q =u·(σ·q);

(4.2.4b)

(uσ)∗q= (u∗(σ·q))(σ∗q), ∀σ ∈Σ,∀ u∈Σ,∀ q∈Q.

(4.2.4c)

Essas extens˜oes tˆem as seguintes propriedades, que podem ser demonstradas facilmente por indu¸c˜ao em|v|:

(uv)·q=u·(v·q);

(4.2.5a)

(uv)∗q = (u∗(v·q))(v∗q), ∀ u, v∈Σ, ∀ q∈Q.

(4.2.5b)

O comportamento de um Σ-M-transdutor seq¨uencial `a direitaT ´e uma fun¸c˜ao

|T |: Σ→M, definida por

(4.2.6) u|T|= (u∗i), ∀ u∈Σ.

Defini¸c˜ao 4.2.5 Dizemos que uma fun¸c˜ao f : Σ → M ´e seq¨uencial `a direita se for o comporta-mento de um Σ-M-transdutor seq¨uencial `a direita.

A proposi¸c˜ao a seguir mostra a constru¸c˜ao de um transdutor letra-sa´ıda equivalente a um Σ-M-transdutor seq¨uencial `a direita.

Proposi¸c˜ao 4.2.3 Toda fun¸c˜ao seq¨uencial `a direita ´e racional.

Demonstra¸c˜ao. Sejam f : Σ → M uma fun¸c˜ao seq¨uencial `a direita, e S = (Q, i) um Σ-M-transdutor seq¨uencial `a direita que realiza f.

SejaT = (Q, E, Q, i) o Σ-M-transdutor letra-sa´ıda com conjunto de transi¸c˜oes definido por p−σ/σ∗q−−−→q ∈E, ∀ p, q∈Q, ∀σ ∈Σ, tal quep=σq.

Segue diretamente dessa constru¸c˜ao que, para todo estado q e toda palavrau, existe um passeio q−−→u/x iemT se, e somente se, q=uie x=u∗i.

Pela defini¸c˜ao dos estados iniciais e do estado final, conclu´ımos que

|T |=|S|, o que mostra quef ´e uma fun¸c˜ao racional.

H´a uma vers˜ao da Proposi¸c˜ao 4.2.2 para as fun¸c˜oes seq¨uenciais `a direita.

Defini¸c˜ao 4.2.6 Dizemos que uma fun¸c˜ao f : Σ → M preserva sufixos se 1f = 1 e (σu)f ⊆ M(uf), para todou emΣ e σ em Σ.

Proposi¸c˜ao 4.2.4 Toda fun¸c˜ao seq¨uencial `a direita preserva sufixos.

110 4.2. Fun¸c˜oes seq¨uenciais e subseq¨uenciais

Demonstra¸c˜ao. A demonstra¸c˜ao ´e trivial.

Exemplo 4.2.1 Neste exemplo, vamos mostrar que existem fun¸c˜oes seq¨uenciais `a direita que n˜ao s˜ao seq¨uenciais `a esquerda, e vice-versa.

Sejam Σ ={σ, γ} e f : Σ →Σ a fun¸c˜ao total definida por

(4.2.7) 1f = 1, (xσ)f =σ|x|+1 e (xγ)f =γ|x|+1, ∀x∈Σ. Essa fun¸c˜ao ´e realizada pelo transdutor seq¨uencial `a direita descrito a seguir:

Q={i, p, q};

σi=σp=γp=p;

γi=σq=γq=q;

σ∗i=σ∗p=γ∗p=σ;

γ∗i=σ∗q=γ∗q =γ.

Mas, essa fun¸c˜ao n˜ao preserva prefixos, pois

σf =σ e (σγ)f =γ2. Portanto,f ´e seq¨uencial `a direita, mas n˜ao ´e seq¨uencial `a esquerda.

Por simetria, tamb´em podemos construir uma fun¸c˜ao seq¨uencial `a esquerda, mas que n˜ao pre-serva sufixos, ou seja, que n˜ao ´e seq¨uencial `a direita. N

Os transdutores seq¨uenciais letra-palavra `a esquerda e `a direita est˜ao relacionados como segue:

Proposi¸c˜ao 4.2.5 Uma fun¸c˜ao f : Σ → Γ ´e seq¨uencial `a esquerda se, e somente se, a fun¸c˜ao f%: Σ →Γ, definida por

uf%= (u%f)%, ∀ u∈Σ,

´

e seq¨uencial `a direita.

Demonstra¸c˜ao. Suponha quef seja seq¨uencial `a esquerda. Seja (Q, i) um Σ-Γ-transdutor seq¨ uen-cial que realiza f. Utilizando esse transdutor, definimos um Σ-Γ-transdutor seq¨uencial `a direita T = (Q, i) por

σq=qσ e σ∗q= (q∗σ)%, ∀q ∈Q, ∀σ ∈Σ,tal queqσ 6=∅.

Ent˜ao, para toda palavrau em domf%,

u∗i= (i∗u%)%.

Portanto,T realizaf%, e conclu´ımos que essa fun¸c˜ao ´e seq¨uencial `a direita.

Suponha que f% seja seq¨uencial `a direita. Note que, para toda palavrau, uf = (u%f%)%. Uma constru¸c˜ao an´aloga `a feita acima mostra ent˜ao quef ´e seq¨uencial `a esquerda.

Os transdutores seq¨uenciais s˜ao capazes de realizar v´arias fun¸c˜oes entre palavras intuitivamente seq¨uenciais. Alguns exemplos podem ser vistos na Se¸c˜ao XI.2 de [Eil74]. Um exemplo e dois contra-exemplos s˜ao apresentados a seguir.

Exemplo 4.2.2 Um morfismo f : Σ → M ´e uma fun¸c˜ao seq¨uencial, e pode ser realizada pelo transdutor seq¨uencial `a esquerda que cont´em apenas o estado inicial i, e fun¸c˜oes de transi¸c˜ao e de emiss˜ao definidas por

i·σ =i e i∗σ=σf, ∀ σ∈Σ.

De forma semelhante, ´e poss´ıvel construir um transdutor seq¨uencial `a direita que realizaf. N Exemplo 4.2.3 Parte da nota¸c˜ao introduzida nas se¸c˜oes V.2 e V.6 de [Eil74] ser´a utilizada neste e em outros exemplos. Por comodidade, vamos reproduz´ı-la. Para evitar confus˜ao, a palavra vazia ser´a denotada porsempre que essa nota¸c˜ao for utilizada.

Dado um inteirok >0, vamos denotar por ko conjunto k={0,1, . . . , k−1}.

A cada palavra sno mon´oide livre k, associamos o n´umero natural hsik =

n

X

i=0

dikn−i,

onde

s=d0. . . dn e di ∈k, ∀ i,0≤i≤n.

Vamos supor que

hik= 0.

E um fato b´´ asico que, para todo n´umero naturala, existe uma palavrasemk tal quehsik =a.

Ademais, se a >0, ent˜ao esse n´umero pode ser representado por uma ´unica palavra em k−0k. Vamos denominar essa palavra de representa¸c˜ao de a na base k. Vamos fazer a conven¸c˜ao de que a representa¸c˜ao de 0 ´e 0.

Arepresenta¸c˜ao reversa tamb´em ser´a utilizada. Nessa representa¸c˜ao, toda palavras=d0. . . dn

´

e associada ao inteiro

hsi%k=

n

X

i=0

diki. Observe que

hsi%k=hs%ik.

N˜ao havendo possibilidade de confus˜ao, podemos denotar hsik ehsi%k simplesmente porhsi.

Sejam k >1 um inteiro e Σ =k×k. Considere a fun¸c˜ao + : Σ →k tal que+ =e que associa a cada palavra

(d0, d00). . .(dn, d0n), (di, d0i)∈Σ, ∀i, 0≤i≤n,

112 4.2. Fun¸c˜oes seq¨uenciais e subseq¨uenciais

a representa¸c˜ao reversa na base kdo inteiro

hdn. . . d0ik+hd0n. . . d00ik.

Essa fun¸c˜ao n˜ao ´e seq¨uencial para nenhuma base. Por exemplo, para k= 2, temos que (1,1)+ = 01 e (1,1)(1,0)+ = 001,

o que mostra que + n˜ao preserva prefixos. Em geral, dados d´ıgitosd1,d2 e d3 tais que hd1i+hd2i=k e hd3i=k−1,

temos que

(d1, d2)+ = 01 e (d1, d2)(d3,0)+ = 001.

N Exemplo 4.2.4 Sejamk >1 ec≥1 inteiros. Considere a fun¸c˜ao

÷:k+→k+

que associa a toda palavra u em k+ a representa¸c˜ao na base k do quociente inteiro da divis˜ao de huik por c. Vamos denotar a imagem deu poru÷c.

Essa fun¸c˜ao n˜ao ´e seq¨uencial para c >1. Por exemplo, para k= 2 e c= 2, temos que 1÷c= 0 e 10÷c= 1,

o que mostra que ÷n˜ao preserva prefixos. Em geral, se u for a representa¸c˜ao de c−1 na basek, ent˜ao

u÷c= 0 e u0÷c6∈0k.

N Conforme visto, a divis˜ao de dois n´umeros inteiros n˜ao pode ser realizada por um transdutor seq¨uencial. No entanto, essa fun¸c˜ao ´e intuitivamente seq¨uencial.

Essa deficiˆencia pode ser eliminada fazendo uma distin¸c˜ao entre estados finais e n˜ao-finais, e associando a cada estado final um processamento final, entendido como um elemento a ser multi-plicado `a direita na sa´ıda. Essas id´eias foram consideradas por Sch¨utzenberger, e resultaram no conceito de transdutor subseq¨uencial, definido em [Sch77].

Defini¸c˜ao 4.2.7 Um Σ-M-transdutor subseq¨uencial ´e uma m´aquina composta de

• um conjunto finito Q de estados;

• um estado inicial i;

• uma fun¸c˜ao parcial·:Q×Σ→Q;

• uma fun¸c˜ao parcial∗:Q×Σ→M, com dom´ınio idˆentico ao de ·;

• uma fun¸c˜aoλ:Q→M definida apenas em i;

• uma fun¸c˜ao parcialρ:Q→M.

As considera¸c˜oes feitas para as fun¸c˜oes·e∗, na defini¸c˜ao dos transdutores seq¨uenciais, aplicam-se para os transdutores subaplicam-seq¨uenciais.

O elemento iλ ser´a denominado emiss˜ao inicial. A fun¸c˜ao ρ ser´a denominada emiss˜ao final.

Um transdutor subseq¨uencial ser´a denotado por (Q, i, λ, ρ).

Dizemos que os estados q tais que qρ6=∅s˜ao os estados finais do transdutor.

O comportamento de um Σ-M-transdutor subseq¨uencialT ´e uma fun¸c˜ao

|T |= Σ→M, definida por

(4.2.9) u|T |= (iλ)(i∗u)((i·u)ρ),∀u∈Σ.

O elemento iλ associado ao estado inicial ´e multiplicado `a esquerda de toda sa´ıda, e pode ser considerado como um processamento inicial. Nem todos os autores consideram esse proces-samento inicial (que est´a na defini¸c˜ao original de Sch¨utzenberger), pois para qualquer transdutor subseq¨uencial ´e poss´ıvel construir outro transdutor subseq¨uencial equivalente sem uma emiss˜ao ini-cial. No entanto, a defini¸c˜ao da emiss˜ao inicial ´e fundamental para a minimiza¸c˜ao de transdutores subseq¨uenciais, que trataremos posteriormente, e ser´a ent˜ao mantida.

Defini¸c˜ao 4.2.8 Dizemos que uma fun¸c˜aof : Σ →M´e subseq¨uencial se for o comportamento de um Σ-M-transdutor subseq¨uencial.

Evidentemente, toda fun¸c˜ao seq¨uencial `a esquerda ´e subseq¨uencial.

Desde a d´ecada de setenta, fun¸c˜oes subseq¨uenciais tˆem sido bastante estudadas, e algumas pro-priedades muito interessantes dessas fun¸c˜oes (como o Teorema 4.4.2, que fornece uma caracteriza¸c˜ao dessas fun¸c˜oes) fazem com que elas se destaquem no conjunto das fun¸c˜oes racionais. Recentemente, foi constatado que elas s˜ao bastante ´uteis em algumas aplica¸c˜oes em Processamento de Linguagem Natural. Essas aplica¸c˜oes s˜ao estudadas, por exemplo, por Mohri [Moh95, Moh97, MR97].

A seguir, vamos estudar algumas propriedades das fun¸c˜oes subseq¨uenciais.

Proposi¸c˜ao 4.2.6 Toda fun¸c˜ao subseq¨uencial ´e racional.

Demonstra¸c˜ao. Sejam f : Σ → M uma fun¸c˜ao subseq¨uencial, e T = (Q, i, λ, ρ) um Σ-M-transdutor subseq¨uencial que realiza f. Utilizando T, vamos construir um Σ-M-transdutor T0 = (Q∪i0∪t0, E, i0, t0), ondei0 e t0 s˜ao estados novos, que realizaf.

Parte da defini¸c˜ao das transi¸c˜oes de T0 segue a demonstra¸c˜ao da Proposi¸c˜ao 4.2.1. Al´em das constru¸c˜oes descritas nessa demonstra¸c˜ao,E tem uma transi¸c˜ao

i0 −−→1/iλ i e, para cada estado finalt deT,E tem uma transi¸c˜ao

t−−→1/tρ t0.

114 4.2. Fun¸c˜oes seq¨uenciais e subseq¨uenciais

Segue facilmente dessa constru¸c˜ao que

|T |=|T0|, o que mostra quef ´e uma fun¸c˜ao racional.

Observe que T0 n˜ao ´e letra-sa´ıda, devido `as transi¸c˜oes com origem em i0 e t´ermino em t0. Os conceitos de transdutor acess´ıvel, co-acess´ıvel, bi-acess´ıvel e completo s˜ao definidos para transdutores subseq¨uenciais da maneira usual. Por clareza, relacionamos esses conceitos a seguir.

Defini¸c˜ao 4.2.9 Seja T um transdutor subseq¨uencial. Dizemos que T ´e acess´ıvel se, para todo estadoq, existe uma palavra u tal queiu=q. Dizemos queT ´e co-acess´ıvel se, para todo estadoq, existe uma palavrautal quequ´e um estado final. Dizemos queT ´e bi-acess´ıvel seT for acess´ıvel e co-acess´ıvel. Dizemos queT ´e completo se, para todo estadoq e toda letraσ do alfabeto de entrada, qσ6=∅.

Eliminando estados que n˜ao s˜ao acess´ıveis e nem co-acess´ıveis de um transdutor subseq¨uencial, podemos provar que

Proposi¸c˜ao 4.2.7 Toda fun¸c˜ao subseq¨uencial pode ser realizada por um transdutor subseq¨uencial bi-acess´ıvel.

Devido `a presen¸ca de estados que n˜ao s˜ao finais na defini¸c˜ao de transdutor subseq¨uencial, existem fun¸c˜oes subseq¨uenciais que n˜ao preservam prefixos. Assim, existem fun¸c˜oes subseq¨uenciais que n˜ao s˜ao seq¨uenciais. Alguns exemplos ser˜ao vistos no final desta se¸c˜ao.

No entanto, as fun¸c˜oes subseq¨uenciais Σ → Γ que preservam prefixos s˜ao exatamente as fun¸c˜oes seq¨uenciais, conforme demonstrado a seguir.

Proposi¸c˜ao 4.2.8 Uma fun¸c˜ao f : Σ → Γ ´e seq¨uencial se, e somente se, f ´e subseq¨uencial e preserva prefixos.

Demonstra¸c˜ao. Se f for uma fun¸c˜ao seq¨uencial, ent˜ao ´e subseq¨uencial. Ademais, pela Pro-posi¸c˜ao 4.2.2,f preserva prefixos.

Suponha que f seja uma fun¸c˜ao subseq¨uencial que preserva prefixos. SejaT = (Q, i, λ, ρ) um Σ-Γ-transdutor subseq¨uencial bi-acess´ıvel que realiza f.

Como f preserva prefixos, todos os estados de T devem ser finais, iλ = iρ = 1 e, para todo estadoq e toda letra σ tais que qσ6=∅,

qρ(q∗σ)((qσ)ρ).

Utilizando essas propriedades, definimos um Σ-Γ-transdutor seq¨uencialT0 = (Q, i), com fun¸c˜ao de transi¸c˜ao idˆentica `a de T, e de emiss˜ao definida por

q∗σ = (qρ)−1(x((qσ)ρ)), ∀ q∈Q, ∀σ ∈Σ tal queqσ 6=∅,

ondex´e a emiss˜ao deqcomσemT. Recorde que (qρ)−1(x((qσ)ρ)) representa o sufixo de (x((qσ)ρ)) resultante ap´os a retirada do prefixo qρ.

Dessa constru¸c˜ao, segue por indu¸c˜ao em|u|que

u|T |=u|T0|, ∀u∈Σ.

Portanto,f ´e seq¨uencial.

Algumas propriedades de fechamento s˜ao apresentadas a seguir.

Proposi¸c˜ao 4.2.9 Sejam f eg fun¸c˜oes Σ →M tais que f∪g ´e uma fun¸c˜ao.

Se f eg forem fun¸c˜oes seq¨uenciais, ent˜ao f∪g ´e uma fun¸c˜ao seq¨uencial.

Se f e g forem fun¸c˜oes subseq¨uenciais, ent˜ao f ∪g n˜ao ´e necessariamente uma fun¸c˜ao sub-seq¨uencial.

Demonstra¸c˜ao. Suponha quef eg sejam fun¸c˜oes seq¨uenciais, e sejamS = (Q, i) e S0 = (Q0, i0) Σ-M-transdutores seq¨uenciais que realizam f e g, respectivamente.

Seja T = (Q×Q0 ∪Q× {∅} ∪ {∅} ×Q0,(i, i0)) o transdutor seq¨uencial definido como segue.

Para cada estado (p, q) e cada letra σ, a transi¸c˜ao (p, q)σ s´o ´e definida se pelo menos uma das transi¸c˜oes pσ ou qσ estiver definida (supondo que ∅σ = ∅), e p∗σ = q∗σ, se ambas estiverem definidas. Neste caso,

(p, q)σ= (pσ, qσ) e (p, q)∗σ=x ondex´e p∗σ ouq∗σ, dependendo de sepσ6=∅ou qσ6=∅.

Demonstra-se facilmente que |T |=f∪g.

Vamos apresentar um contra-exemplo para o caso em que f e g s˜ao fun¸c˜oes subseq¨uenciais.

Sejam Σ ={σ}, Γ ={a, b}, e f e g as fun¸c˜oes Σ+→Γ definidas por σnf =

(an senfor par

∅ caso contr´ario.

e

σng=

(bn senfor ´ımpar

∅ caso contr´ario.

Claramente, f e g s˜ao disjuntas. Portanto, f ∪g ´e uma fun¸c˜ao. Observe que f ∪g ´e a fun¸c˜ao definida no Exemplo 3.1.5.

E trivial construir transdutores subseq¨´ uenciais que realizam essas fun¸c˜oes. Mas, f ∪g n˜ao ´e uma fun¸c˜ao subseq¨uencial. Esse fato ´e provado na Se¸c˜ao 4.4 (Exemplo 4.4.3).

Proposi¸c˜ao 4.2.10 A composi¸c˜ao de duas fun¸c˜oes seq¨uenciais (subseq¨uenciais) f : Σ → Γ e g: Γ →Ω ´e uma fun¸c˜ao seq¨uencial (subseq¨uencial).

A intersec¸c˜ao de duas fun¸c˜oes seq¨uenciais (subseq¨uenciais) pode n˜ao ser uma fun¸c˜ao seq¨uencial (subseq¨uencial).

Demonstra¸c˜ao. As demonstra¸c˜oes para as composi¸c˜oes de fun¸c˜oes seq¨uenciais e subseq¨uenciais ser˜ao feitas na Se¸c˜ao 4.4 (Proposi¸c˜ao 4.4.1 e Corol´ario 4.4.2).

Para a intersec¸c˜ao, considere as fun¸c˜oes racionais cujos gr´aficos s˜ao r = (a, σσ)(b, σ) e s= (a, σ)(b, σσ). Essa fun¸c˜oes s˜ao seq¨uenciais, mas r∩s n˜ao ´e nem racional, pois domr∩s= {anbn:n≥0} n˜ao ´e reconhec´ıvel.

116 4.2. Fun¸c˜oes seq¨uenciais e subseq¨uenciais

Proposi¸c˜ao 4.2.11 Sejam f : Σ → M uma fun¸c˜ao subseq¨uencial, e A um subconjunto racional de Σ. Ent˜ao, a restri¸c˜ao f|A ´e uma fun¸c˜ao subseq¨uencial.

Demonstra¸c˜ao. Sejam A = (P, i, T) um Σ-autˆomato determin´ıstico que reconhece A, e T = (Q, j, λ, ρ) um transdutor subseq¨uencial que realiza f.

SejaA × T o Σ-M-transdutor subseq¨uencial definido como segue. O conjunto de estados desse transdutor ´e P×Q. A fun¸c˜ao de transi¸c˜ao e a de emiss˜ao s˜ao definidas por

(p, q)·σ = (pσ, qσ) e (p, q)∗σ=q∗σ, para quaisquerp∈P,q ∈Qe σ ∈Σ tais que pσ6=∅e qσ6=∅.

O estado inicial desse transdutor ´e (i, j), e sua emiss˜ao inicial ´e jλ. Um estado (p, q) ´e final se, e somente se,pe q s˜ao estados finais em Ae T, respectivamente. Neste caso, a emiss˜ao final desse estado ´e qρ.

Segue dessa constru¸c˜ao que, para toda entradau,

(i, j)u6=∅se, e somente se,iu6=∅ eju6=∅.

Ent˜ao, pela defini¸c˜ao dos estados finais deA × T,

dom (|A × T |) =A∩dom|T |.

Ademais, se (i, j)u6=∅, ent˜ao

(i, j)∗u=j∗u.

Das defini¸c˜oes das emiss˜oes inicial e final deA × T, segue ent˜ao que |A × T |=f|A.

As proposi¸c˜oes 4.2.9 e 4.2.11 s˜ao exerc´ıcios do Cap´ıtulo IV de [Ber79].

Conclu´ımos esta se¸c˜ao com alguns exemplos de fun¸c˜oes seq¨uenciais e subseq¨uenciais. Outros exemplos podem ser vistos em [Reu90].

Exemplo 4.2.5 Considere a fun¸c˜ao racional τ definida no Exemplo 3.1.5. Essa fun¸c˜ao n˜ao pre-serva prefixos nem sufixos, portanto n˜ao ´e seq¨uencial `a esquerda e nem `a direita. Na Se¸c˜ao 4.4 vamos provar que essa fun¸c˜ao tamb´em n˜ao ´e subseq¨uencial. N

Exemplo 4.2.6 Os transdutores seq¨uenciais e subseq¨uenciais podem ser representados de forma pict´orica como usual.

No caso dos transdutores seq¨uenciais, como todos os estados s˜ao finais, apenas o estado inicial precisa ser identificado. A figura a seguir mostra um exemplo, com Σ ={σ, γ}.

σ/1 σ/σ

γ/γ

Esse Σ-Σ-transdutor apaga todos os s´ımbolos σ que aparecem imediatamente ap´os um n´umero

´ımpar de ocorrˆencias do s´ımboloγ na entrada.

No caso dos transdutores subseq¨uenciais, a emiss˜ao inicial e as emiss˜oes finais podem ser escritas pr´oximas `as setas que indicam o estado inicial e os estados finais. A figura a seguir mostra um exemplo com Σ ={0,1}. A palavra vazia ´e representada por .

0 1 2

0/² 1/²

10

i

0

1 0

²

1 0

1

Esse Σ-Σ-transdutor determina, em nota¸c˜ao bin´aria, o resto da divis˜ao de n´umeros naturais por 3.

N

Exemplo 4.2.7 Sejam Σ ={σ, γ} e f : Σ →Σ a fun¸c˜ao definida por uf =σuγ, ∀u∈Σ.

Essa fun¸c˜ao ´e subseq¨uencial, e ´e realizada pelo Σ-Σ-transdutor subseq¨uencial

σ γ

γ/γ σ/σ

Mas, essa fun¸c˜ao n˜ao ´e seq¨uencial `a esquerda e nem `a direita, pois 1f 6= 1. N

Exemplo 4.2.8 Seja σ uma letra. Vamos representar um n´umero natural npela palavra σn e a palavra vazia por.

Seja f : N→ N uma fun¸c˜ao total e peri´odica de per´ıodo k. Essa fun¸c˜ao ´e subseq¨uencial, e ´e realizada pelo transdutor

0 σ/² 1 σ/² . . . σ/² k1

0f 1f (k1)f

σ/²

²

N

Exemplo 4.2.9 A fun¸c˜ao de adi¸c˜ao definida no Exemplo 4.2.3 pode ser realizada por um trans-dutor subseq¨uencial, representando ovai-um nos estados.

Formalmente, o conjunto de estados ´eQ={0,1}. O estado inicial ´e 0, e ambos os estados s˜ao finais. As emiss˜oes inicial e final de 0 s˜ao iguais `a palavra vazia, e a emiss˜ao final de 1 ´e o d´ıgito 1 (em k).

As transi¸c˜oes e emiss˜oes s˜ao definidas a seguir. Nessa defini¸c˜ao, um d´ıgito d em k ´e iden-tificado com o inteiro hdi, e ÷ e mod representam o quociente e o resto da divis˜ao euclidiana,

118 4.2. Fun¸c˜oes seq¨uenciais e subseq¨uenciais

respectivamente:

0·(d, d0) = (d+d0)÷k, 0∗(d, d0) = (d+d0) modk, 1·(d, d0) = (1 +d+d0)÷k,

1∗(d, d0) = (1 +d+d0) modk, ∀(d, d0)∈k×k.

Claramente, esse transdutor ´e o algoritmo de adi¸c˜ao tradicional, mas executado da esquerda para a direita sobre os reversos dos n´umeros representados (seguidos de eventuais zeros para que tenham o mesmo comprimento). Ou seja, seu comportamento ´e a fun¸c˜ao +.

Para k={0,1}, esse transdutor est´a ilustrado a seguir:

(0,0)/1 (1,1)/0

1 0

(0,0)/0 (0,1)/1 (1,0)/1

² 1

(1,0)/0 (0,1)/0 (1,1)/1

N

Exemplo 4.2.10 Vamos descrever um transdutor subseq¨uencial que realiza o algoritmo da divis˜ao inteira, provando assim que a fun¸c˜ao ÷ definida no Exemplo 4.2.4 ´e uma fun¸c˜ao subseq¨uencial.

Supomos fixos uma base k > 0 e um divisor c > 1. Vamos identificar os d´ıgitos em k com os inteiros representados.

Informalmente, os poss´ıveis restos nessa divis˜ao s˜ao representados nos estados. Ademais, s˜ao necess´arios dois tipos de estados para cada resto. Os estados do primeiro tipo s˜ao utilizados enquanto o prefixo lido do dividendo ´e menor que o divisor. Quando o valor desse prefixo se torna maior que o divisor, os estados do segundo tipo s˜ao utilizados.

Assim, para cada inteiro r, 0≤r < c, esse transdutor tem estados qr e qr0.

Al´em desses estados, o transdutor tem um estadoi, que ´e o inicial. A emiss˜ao inicial ´e a palavra vazia.

Apenas o estado in˜ao ´e final. As emiss˜oes finais dos demais estados s˜ao definidas por qrρ= e qr0ρ= 0.

Para todo d´ıgitod, a transi¸c˜ao e emiss˜ao com origem emis˜ao i·d=qd0 e i∗d=, se d <c, e

i·d=qdmodc e i∗d=d÷c, caso contr´ario.

Para todo estado qr, definimos

qr·d=q(rk+d) modc e qr∗d= (rk+d)÷c.

Para todo estado qr0, serk+d≥c, ent˜ao definimos

qr0 ·d=q(rk+d) modc e q0r∗d= (rk+d)÷c, sen˜ao,

qr0 ·d=q(rk+d)0 e q0r∗d=. Nessa defini¸c˜ao, ÷e mod s˜ao definidos como no Exemplo 4.2.9.

Esse transdutor executa o algoritmo tradicional da divis˜ao. Formalmente, o fato de que esse transdutor realiza a fun¸c˜ao ÷ ´e uma conseq¨uˆencia da propriedade a seguir. Para toda palavra u emk+, sehui< c, ent˜ao

iu=qhui0 e i∗u=, sen˜ao,

iu=qhuimodc e i∗u=hui ÷c.

Essa propriedade pode ser demonstrada por indu¸c˜ao em |u|.

A divis˜ao por 3 na base decimal est´a ilustrada a seguir:

q00 q10 q02

0/0

i

2

0/6 2/7 1/3 4/1

1/7

3/1 0

1

0/3

5/1

2

1/0

2/4

5/1 3/1

4/1 0

1

²

2/4

² ²

0 0 0

q0 q1 q2

1/7 2/0 0/3

2/7 1/3

² 0/6

Nessa figura, cada linha tracejada representa um conjunto de transi¸c˜oes. Esse conjunto ´e codificado no r´otulo segundo a regra a seguir: um par r/srepresenta o conjunto

r+ 3l/s+l, ∀l≥0 tal que r+ 3l <10.

Por exemplo, o par 0/3 representa as transi¸c˜oes

0/3, 3/4, 6/5 e 9/6.

Tamb´em observamos que a fun¸c˜ao que associa a cada entrada u o resto da divis˜ao dehui porc

´

e realizada pelo mesmo transdutor ap´os a substitui¸c˜ao das emiss˜oes finais para qrρ=q0rρ=r, ∀ r, 0≤r < c,