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 σ/² . . . σ/² k−1
0f 1f (k−1)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,