Escolar Documentos
Profissional Documentos
Cultura Documentos
CDIGOS ALGBRICOS
Two weekends in a row I came in and found that all my = 0001 = 1 = 1001 = 9
VWXKDGEHHQGXPSHGDQGQRWKLQJZDVGRQH,ZDVUHDOO\
aroused and annoyed because I wanted those answers and = 0010 = 2 = 1010 = 10
two weekends had been lost. And so I said, 'Dammit if the
machine can detect an error, why can't it locate the position
= 0011 = 3 = 1011 = 11
of the error and correct it?'
Richard Hamming (1949)
= 0100 = 4 = 1100 = 12
= 0101 = 5 = 1101 = 13
= 0110 = 6 = 1110 = 14
= 0111 = 7 = 1111 = 15
Figura 1:
TRUQUES E MAGIA COM CDIGOS ALGBRICOS rEstefani Moraes Moreira e Jorge Picado 21
para qualquer potncia de 2 (isto , para os nmeros entre Aps cada resposta, o mgico vai empilhando os car-
0 e 2n 1); nesse caso sero necessrios n cartes nos quais tes sobre o carto-base; em caso de resposta negativa,
se dispem os nmeros de acordo com a sua representao coloca o carto virado ao contrrio depois de rodado de
binria, 2n1 nmeros em cada carto. Habitualmente este DFRUGRFRPDJXUDREVHUYHTXHRVQ~PHURVGRFDUWmR-
truque usa seis cartes e os nmeros variam entre 0 e 63. EDVHTXHFDULDPFREHUWRVSHORFDUWmRQDVXDRULHQWDomR
Se o voluntrio mentir em algum dos cartes, o truque original aparecem vista aps a rotao, e vice-versa).
no funciona. Ser possvel conceber truques deste tipo em 3RU H[HPSOR D JXUD PRVWUD j HVTXHUGD D FROR-
TXHVHGrDSRVVLELOLGDGHDRYROXQWiULRGHPHQWLU"6LPe FDomRGRVFDUW}HVDSyVXPDUHVSRVWDDUPDWLYDQRFDU-
esse o nosso objetivo com este artigo: divulgar os truques to vermelho e, direita, o resultado aps respostas sem
produzidos por Todd Mateer [6] a partir de uma ideia ori- mentira escolha do nmero 14 nos primeiros quatro
ginal de Richard Ehrenborg [1]. Faremos isso no resto desta cartes (ou seja: sim, sim, sim, no).
seco e nas seces 4, 5 e 6, com material retirado desses 1RQDOGDVVHWHUHVSRVWDVRPiJLFRDGLYLQKDRQ~-
artigos. Nas seces 2 e 3 explicaremos as ideias matem- mero e se o espetador mentiu ou no; caso tenha mentido,
ticas da teoria algbrica de cdigos que permitem que os adivinha ainda o carto acerca do qual o espetador men-
truques funcionem. WLX RX VHMD D FRU HVFROKLGD 'H IDFWR QR QDO XPD GH
Comecemos pelo truque seguinte, muito mais duas situaes pode ocorrer: ou exatamente um nmero
elaborado do que o anterior, retirado de [6] . no carto-base est vista ou todos os nmeros esto co-
O mgico pede novamente a um voluntrio entre a as- bertos. No primeiro caso, o espetador nunca mentiu e o
sistncia que pense num nmero entre 0 e 15. O mgico nmero vista o nmero pensado. No outro caso, s
H[LEHHQWmRVHWHFDUW}HVGHFRUJXUDHSHGHDRYROXQ- um nmero do carto-base est coberto por exatamente
trio que pense numa dessas cores e responda sequencial- um carto: esse o nmero pensado e a cor desse carto
mente se o nmero em que pensou aparece em cada carto a cor do carto acerca do qual o voluntrio mentiu.
6LPRX1mRPDVGHVWDYH]pOKHSHUPLWLGRTXHQRFDU- Mais uma vez, no h magia nenhuma, s matem-
to da cor escolhida possa mentir). WLFD1HVWHFDVRDPDWHPiWLFDGRVFyGLJRVFRUUHWRUHVGH
Alm destes sete cartes, o mgico tem ainda outro erros, que explicaremos sucintamente de seguida.
carto, o carto-baseJXUD
Cdigo C1 00 01 10 11
Figura : Carto-base.
TRUQUES E MAGIA COM CDIGOS ALGBRICOS rEstefani Moraes Moreira e Jorge Picado 23
erro singular). Bastou acrescentar alguma redundncia s A palavra original correspondente a uma palavra
palavras do cdigo para resolver o problema. recebida com erros deve ser a palavra do cdigo
Ser C2 FDSD]GHFRUULJLUHVVHHUURLVWRpGHLGHQWLFDU mais prxima da palavra recebida.
a palavra original (DVVXPLQGR TXH QD WUDQVPLVVmR Vy SRGH-
ro ocorrer, quando muito, erros singulares)? claro que no, (Ou seja, assumimos que mais provvel que o menor
pois existem duas palavras em C2 que poderiam ser as nmero de erros possvel tenha ocorrido na transmisso.)
originais: Daqui em diante, assumimos sempre este princpio. (Na
seco seguinte, tornaremos precisa a noo de distncia
implcita no termo mais prxima.)
3. CDIGOS ALGBRICOS
Os cdigos C1, C2 e C3 so exemplos de cdigos binrios.
Um FyGLJR ELQiULR GH FRPSULPHQWR Q um subconjunto C
. de (F2 )n . Denotaremos as palavras de C (que tm todas
comprimento n) por a1 a2 . . . an . Mais geralmente, pode-
Mas se triplicarmos a informao, com o cdigo C3 de- PRVFRQVLGHUDUFyGLJRVGHQLGRVVREUHXPFRUSRQLWR
QLGRSHODWDEHOD arbitrrio [3], mas todos os exemplos que consideraremos
neste artigo so binrios.
Precisemos agora a noo de distncia entre duas pa-
-RWXVYp~IW PLAY REW FORWARD STOP
lavras de (F2 )n :
Cdigo C3 00 00 00 01 01 01 10 10 10 11 11 11
A distncia de Hamming entre duas palavras
alm de qualquer erro singular ser detetvel, tambm a = a1 a2 . . . an e b = b1 b2 . . . bn, que denotamos
pode ser corrigido automaticamente (assumindo nova- por d( a, b), o nmero de ndices i {1, 2, . . . , n}
mente que QDWUDQVPLVVmRVySRGHUmRRFRUUHUTXDQGRPXLWR para os quais ai = bi .
erros singulares). Por exemplo, o erro singular
Por exemplo, d (1101, 0111) = 2. Note que d( a, b) indica
o nmero de erros ocorridos quando a a palavra trans-
mitida e b a palavra recebida.
evidentemente detetado e corrigido; a nica palavra de muito fcil provar que a distncia de Hamming
C3 que poderia ter dado origem palavra 100000 a pa- satisfaz as propriedades usuais de distncia ( uma
lavra 000000: mtrica em (F2 )n ): d( a, b) 0, d( a, b) = 0 se e s se
Palavra de C3 000000 010101 101010 111111 a = b , d( a, b) = d(b, a) e d( a, b) d( a, c) + d(c, b).
Esta ltima propriedade a chamada desigualdade
Palavra recebida 100000 100000 100000 100000
triangular.
1GHHUURV 1 4 2 5
TRUQUES E MAGIA COM CDIGOS ALGBRICOS rEstefani Moraes Moreira e Jorge Picado 25
Os primeiros k smbolos de cada nova palavra dem ser calculados resolvendo o sistema Ca T = 0:
a = a1 a2 ak ck+1 cn
so a mensagem original e os n k smbolos adicionais so
os chamados smbolos de controle.
Um dos mtodos mais utilizados para gerar os smbo-
los de controle e, por conseguinte, as palavras do cdigo,
usa uma matriz binria, i.e., com entradas em F2 ,chama-
da matriz de controle,
C = ( A | Ink ) Assim, C4 formado pelas 16 palavras
onde A uma matriz (n k) k e Ink a matriz identi- a = ( a1 , a2 , a3 , a4 , a1 + a2 + a4 , a1 + a3 + a4 , a2 + a3 + a4 ).
dade de ordem n k . O conjunto C das palavras dado Trata-se de todos os mltiplos e somas (chamadas combi-
pelas solues do sistema de equaes Ca T = 0, sendo 0 naes lineares) das linhas da matriz geradora
o vetor nulo de (F2 )nk . Estes cdigos, criados por Ham- AT
ming nos anos 40 do sculo passado, chamam-se FyGLJRV
1 0 0 0 1 1 0
(n, k) - lineares e podem ser estudados usando lgebra line- T
0 1 0 0 1 0 1
G = ( Ik | A ) =
1 .
0 0 1 0 0 1
ar uma vez que C um subespao vetorial de (F2 )n (isto
0 0 0 1 1 1 1
, qualquer mltiplo de uma palavra uma palavra do
cdigo, a soma de quaisquer duas palavras do cdigo
ainda uma palavra do cdigo). Por exemplo, fcil ver Da frmula (3.2) decorre imediatamente que
que, em qualquer cdigo linear C, (C4 ) = 3, pelo que C4 corrige erros singulares.
ODLDGHFXULRVLGDGHUHUDVHTXHC4 precisamente
(C) = min {d( a, 0) | a C, a = 0} (ou seja, o cdigo que Hamming criou em 1950, nos Laboratrios
(C) igual ao menor nmero de dgitos no nulos (3.2) Bell, para lidar com os erros frequentes cometidos pelo
nas palavras diferentes da palavra nula). computador Bell Model V, uma das primeiras mquinas
da histria da computao, na leitura dos cartes per-
Para mais informao sobre estes cdigos, consulte, furados contendo os dados de entrada dos programas.
por exemplo, o clssico [5] (ainda muito atual) ou os mais Foi a frustrao de Hamming, por ter muitas vezes de
recentes[3, 4]. A referncia [9] contm muitos dos cdigos reiniciar os seus clculos no computador, que o levou a
mais utilizados hoje em dia. dedicar-se investigao de cdigos corretores de erros.
Os cdigos C2 e C3 da seco anterior so cdigos li-
neares binrios: C2 um cdigo (4,2)-linear, com matriz 4. EXPLICAO DO TRUQUE
de controle Estamos agora em condies de perceber o funcionamen-
1 0 1 0 to do truque com os sete cartes coloridos. Tal como no
,
0 1 0 1
primeiro truque, cada nmero de 0 a 15 representado
enquanto C3 um cdigo (6, 2) - linear, com matriz de por uma palavra binria de comprimento 4. Mas agora,
controle como queremos detetar uma possvel mentira (corres-
1 0 1 0 0 0 ponde a corrigir um possvel erro), precisamos de acres-
0 1 0 1 0 0
1 0 0
. centar trs algarismos de controle de modo a que a dis-
0 1 0
0 1 0 0 0 1 tncia mnima entre palavras seja 3. O cdigo (7,4)-linear
da seco anterior um exemplo possvel e nele que
O cdigo (7, 4)-linear C4 GHQLGRSHODPDWUL]GHFRQWUROH este truque se baseia. por isso que o truque usa sete
cartes. A disposio dos nmeros nos sete cartes feita
1 1 0 1 1 0 0 de modo a que cada sequncia de sins e nos correspon-
1 0 1 1 0 1 0 da precisamente a uma das 16 palavras do cdigo, que
0 1 1 1 0 0 1
representam os primeiros 16 naturais (a seguir a cada pa-
constitudo pelas palavras a = a1 a2 a3 a4 c5 c6 c7 lavra, entre parntesis, indica-se a distncia da palavra
(ai , c j F2 ), em que os smbolos de controle c5 , c6 , c7 po- SDODYUDQXODRTXHFRQUPDTXHRFyGLJRWHPGHIDFWR
distncia mnima 3).
= 1 0 0 0 1 1 0 (3)
= 1 0 0 1 0 0 1 (3)
= 1 0 1 0 1 0 1 (4)
= 1 0 1 1 0 1 0 (4)
= 1 1 0 0 0 1 1 (4)
Este problema pode ser ultrapassado fazendo uns
= 1 1 0 1 1 0 0 (4)
buraquinhos nos pequenos quadrados de cada carto.
A posio destes buracos ter de variar de carto para car-
= 1 1 1 0 0 0 0 (3)
to, pelo que precisamos de sete posies distintas: quan-
do colocados um sobre o outro, nenhum par de cartes
= 1 1 1 1 1 1 1 (7)
SRGHSDUWLOKDUXPDSRVLomRFRPXP1DVHJXLQWHJXUD
mais esquerda, podemos ver um esquema possvel para
DFRORFDomRGRVEXUDFRVQRVTXDGUDGRV1DVGXDVJXUDV
Observe que as palavras correspondentes aos nmeros 1, da direita, podemos ver como posicionar os buracos nos
2, 4 e 8 so precisamente as linhas da matriz geradora do dois primeiros cartes (vermelho e laranja).
cdigo e, portanto, o facto enunciado na seco anterior de
que as linhas da matriz geradora geram, por combinao
linear, todas as outras palavras, corresponde ao facto ob-
servado na primeira seco de que os primeiros 16 natu-
rais so mltiplos e somas dos nmeros 1, 2, 4, 8.
Quanto explicao para a forma dos cartes de cor,
aquela que, aps sobreposio do carto no carto-base,
SHUPLWHTXHTXHPjYLVWDSUHFLVDPHQWHRVQ~PHURVLQV-
FULWRVQRFDUWmRGHFRUFRQUPHLVVRFDUROHLWRUQRVFDU-
W}HVGDHVTXHUGDQDVJXUDVH
TRUQUES E MAGIA COM CDIGOS ALGBRICOS rEstefani Moraes Moreira e Jorge Picado 27
Agora, no caso de h pouco (quando o voluntrio es- 6. MAIS UM TRUQUE
colhe o nmero 14, o carto cor-de-rosa e mente neste), no A ideia do truque anterior pode estender-se facilmen-
QDORPiJLFRREVHUYDRVHJXLQWHJXUDGDHVTXHUGD te a um truque que corrija duas mentiras, ou seja, er-
ros duplos [8]. Neste caso, em vez de um s buraco em
cada quadrado dos cartes, sero precisos dois buracos
ou, equivalentemente, duas ranhuras transversais (ver
FDUW}HVQDJXUDTXHSHUPLWDPTXHXPDVHJXQGDFRU
TXHYLVtYHOTXDQGRRVFDUW}HVVmRHPSLOKDGRVVREUHR
FDUWmREDVH1RQDOGXDVUDQKXUDVEUDQFDVDSDUHFHUmR
na posio do nmero a adivinhar.
Neste truque, so mostrados assistncia 10 cartes
JXUD H R PiJLFR WHP DLQGD FRQVLJR R FDUWmREDVH
branco. Um voluntrio dever escolher um nmero entre
$JXUDGDGLUHLWDPRVWUDRUHVXOWDGRQDOQDVLWXD- 0 e 7 bem como duas das cores dos cartes.
o anloga em que o voluntrio no mente. No primeiro Tal como anteriormente, a pessoa ter de dizer se o
caso, o mgico v um buraco branco na posio 14 e a cor nmero em que pensou est em cada carto, podendo
URVDjYROWDGREXUDFRRTXHVLJQLFDTXHpRFDUWmRFRU- desta vez mentir em dois dos 10 cartes. O mgico adivi-
-de-rosa que est imediatamente sobre o carto-base. No nhar o nmero e os dois cartes.
VHJXQGRFDVRRFDjYLVWD Caber agora ao leitor descobrir qual o cdigo cor-
Uma simulao computacional deste truque bem retor de erros que faz funcionar o truque (o cdigo ter
como modelos para construir os cartes encontram-se no oito palavras correspondentes aos oito nmeros, a sua
material suplementar indicado em [6]. matriz geradora ter de ser uma matriz 3 8 e a sua
7. REFERNCIAS >@ - 3LFDGR H + 3LQWR 6LVWHPDV GH LGHQWLFDomR FRP
[1] R. Ehrenborg, Decoding the Hamming code, Math algarismos de controlo, em: Atractor - Matemtica Interac-
Horizons 13 (Abril, 2006), 16-17. tiva, www.atractor.pt/mat/alg_controlo, 2006.
[2] R. W. Hamming, Error detecting and error correcting [10] C. E. Shannon, A mathematical theory of communi-
codes, Bell System Tech. J. 29 (1950), 147-160. cation I, II, Bell System Tech. J.} 27 (1948), 379-423, 623-656.
TRUQUES E MAGIA COM CDIGOS ALGBRICOS rEstefani Moraes Moreira e Jorge Picado 29