A Álgebra dos Sistemas de Idetificação Carlos Miguel Ribeiro Escola Superior de Educação da Uiversidade do Algarve É muito importate, a ossa sociedade actual, termos uma boa capacidade de receber, verificar e trasmitir dados. Para torar estes processos mais simples, eficietes e fucioais passámos a utilizar úmeros de idetificação para represetar ou codificar a iformação. Estes úmeros de idetificação ecotram-se por todo o lado o osso dia a dia; são utilizados para represetar produtos, documetos, cotas bacárias, bilhetes de avião, idivíduos (úmero de Bilhete de Idetidade, úmero de Idetificação Fiscal), cartões de crédito, otas de euro, etre outros tão cohecidos por todos ós. Um dos sistemas mais atigos aida em voga e que utiliza os úmeros de idetificação é o Uiversal Product Code (UPC), criado em 1969, comummete cohecido por sistema de código de barras, que foi desevolvido com o objectivo de facilitar o cotrole de stocks e pagametos as superfícies comerciais. Outro exemplo deste tipo de sistemas é o Iteratioal Stadard Book Number (ISBN), criado em 1973, que é um sistema adoptado para a catalogação de livros e revistas. O facto de associarmos um úmero de idetificação a um determiado objecto vem facilitar, substacialmete, a trasmissão da iformação, pois basta-os apeas trasmitir o úmero idetificativo de certo produto para que saibamos do que se trata; por exemplo, através de leitores ópticos, ou através da liguagem falada (sesores de fala). No etato, este processo levata-os dúvidas quato à veracidade da iformação recebida, uma vez que é ecessário saber se o úmero recebido correspode, verdadeiramete, ao úmero iicial, ou seja, se ão ocorreram erros durate todo o processo de trasmissão dos dados. Com o objectivo de colmatar esta lacua, surgiu, assim, a ecessidade de arrajar um mecaismo de cotrolo que garata a correspodêcia etre os dados eviados e recebidos. Sem este mecaismo de cotrolo seria impossível, por exemplo, detectar um erro aquado de uma trasferêcia bacária, e todos podemos imagiar os trastoros que isso poderia causar.
Assim, quado um úmero de idetificação é trasmitido, o receptor deverá possuir um processo para verificar se o úmero recebido é o correcto. Para tal, apesamos ao osso úmero de idetificação iicial um grupo de algarismos redudates, deomiados algarismos de teste, que, por sua vez, através de um determiado algoritmo, servirão para fazer a verificação da correcta ou icorrecta trasmissão dos dados. Um úmero de idetificação utiliza um cojuto de dígitos, letras, símbolos ou uma qualquer combiação composta por estes elemetos; o etato, será de realçar que é ecessário que cada letra ou símbolo esteja associado a um valor umérico (pois apeas podemos efectuar cálculos com estes). Como a utilização dos úmeros de idetificação tem por objectivo provideciar um modo simples e prático de catalogação e idetificação de objectos ou bes, estes podem apresetar variadas formas. Note-se que, como já foi referido ateriormete, com o avaçar dos tempos surgiu a ecessidade de arrajar um mecaismo de cotrolo que garatisse que esses dados recebidos correspodessem, efectivamete, aos eviados. Porém, iexplicavelmete, muitos dos sistemas de idetificação em utilização ão detectam muitos dos erros possíveis de ocorrerem o mometo desta trasmissão (pouquíssimos dos que estão em vigor detectam a 100% a maioria dos erros mais comus que são os erros sigulares, ou seja, a troca de um algarismo do úmero de idetificação por outro, e as trasposições de algarismos adjacetes, o mesmo será dizer, a troca de dois algarismos cosecutivos). Vejamos, através dos seguites exemplos, como fucioam, efectivamete, os sistemas de idetificação referidos. Cosideremos o comprimeto do úmero de idetificação, k úmero pelo qual a soma de idetificação tem de ser divisível, A o alfabeto sobre o qual trabalhamos e p i os valores (pesos) pelos quais vou multiplicar cada um dos algarismos do úmero de idetificação e i : A Z uma bijecção e. Assim, cosiderado A um cojuto de k cardial k, um sistema de idetificação o alfabeto A, de comprimeto, é defiido por p1, p2,..., p de iteiros ão ulos e pelas palavras a1a2 a um -uplo ( ) A (chamados úmeros de idetificação) tais que 1 1 2 2 ( ) p i( a ) + p i( a ) +... + p i( a ) 0 mod k, K defiidas em
p1, p2,..., p chama-se vector de verificação de algarismos do Ao -uplo ( ) sistema. O algarismo a é habitualmete apelidado de algarismo de teste (ou cotrolo) do úmero de idetificação. Dada uma palavra a1a2 K a, à soma p i( a ) + p i( a ) +... + p i( a ), que deotaremos por S, chama-se soma de teste. Assim, 1 1 2 2 uma palavra a1a2 K a fará parte do sistema de idetificação se e só se a sua soma de teste S for divisível por k. Relembremos que, o sistema Uiversal Product Code (UPC), vulgarmete cohecido como código de barras, é um sistema de idetificação umérico sobre o alfabeto { 0, 1,, 9} K de cardial 10. Um úmero de idetificação UPC é costituído por 12 dígitos, a1 a2k a11 a12 agrupados de uma determiada forma e separados por hífe. Da esquerda para a direita temos: a 1 que idetifica o tipo de produto, os quatro/cico algarismos seguites costituem o úmero de idetificação do produtor, o terceiro cojuto de algarismos que idetificam o produto e o último algarismo é o algarismo de teste ou cotolo. Este sistema é defiido por { } = 12, k = 10, A= 1, 2, 3,..., 9, i( a) = a, ( p, p, K, p ) = ( 3,1, 3,1, 3,1, 3,1, 3,1, 3,1) 1 2 12 e a 12 é o úico iteiro o itervalo [0,9] para o qual a soma de teste é divisível por 10. Portato a ( 3a + a + 3a + + 3a )( mod 10) 12 1 2 3 11 K. Assim, se tivermos, por exemplo, o úmero 560119907269?, para determiarmos o algarismo de cotrole temos de multiplicar por 3 os algarismos das posições par e por 1 os das posições ímpar. Somado os resultados obtemos 103, pelo que, para que o úmero seja divisível por 10 temos como algarismo de cotrolo o úmero 7. O Iteratioal Stadard Book Number (ISBN) é também um dos mais atigos (foi criado em 1973). Neste sistema a idetificação de um determiado livro processa-se pelo seu autor, título, edição, etre outros aspectos. Estes elemetos são substituídos pela sua idetificação através de um úmero com a vatagem de ser trasmitida e guardada com mais eficiêcia que uma lista de omes. Com a associação de um determiado
úmero a cada título publicado, estamos a forecer uma idetidade úica à publicação. Cada úmero ISBN tem comprimeto 10, podedo a sua apresetação variar ligeiramete de livro para livro (cf., por exemplo, [6] e [9]). O sistema é defiido por e { } { } = 10, k = 11, A= 1, 2, 3,..., 9,10, i( a) = a para a 1,..., 9, i(10) = X ( p, p,, p ) = ( 10, 9, 8, 7, 6, 5, 4, 3, 2,1) K. 1 2 10 O algarismo de teste a 10 justaposto ao úmero a1a2 K a9 é, assim, escolhido de modo a que a correspodete soma de teste seja divisível por 11, ou seja, 10 S = 10a + 9a + K + a 9 1 2 10 ( 11 ) i( 11). a i a mod i= 1 Como se pretede que os úmeros de idetificação ISBN sejam formados por 10 símbolos alfauméricos, covecioou-se represetar o algarismo de teste 10 pelo respectivo símbolo a umeração romaa X. Cada livro é idetificado pelos 9 primeiros algarismos divididos em três secções de comprimeto variável e separadas por hífe, sedo o décimo algarismo o algarismo de cotrolo. A primeira secção, mais à esquerda, idetifica um grupo acioal ou geográfico de editoras, a seguda idetifica uma editora desse grupo e a terceira idetifica um título particular ou determiada edição de um título. A seguda secção tem de dois a cico algarismos, mas, depededo, por exemplo, da quatidade de livros editados pela editora, pode ter mais. Nesse caso, as maiores empresas reservam um maior úmero de algarismos. Cosideremos etão o algarismo de idetificação 0-387-94665-?. Assim, para determiar o algarismo de cotrolo temos de ter 10 0+ 9 3+ 8 8+ 7 7+ 6 9+ 5 4+ 4 6+ 3 6+ 2 5+ 1? divisível por 11. Efectuado as operações obtemos como algarismo de cotrolo o úmero 9. Relembre-se que quado o algarismo de cotrolo é 10 substituímo-lo por X.
Na Europa adoptou-se um sistema aálogo ao UPC, o Europea Article Number (EAN). Este, por utilizar mais um algarismo, permite que um maior úmero de produtos seja idetificado, prevedo, assim, uma maior logevidade do sistema. Aliás, a orgaização que gere o sistema UPC, o Uiform Code Coucil, auciou já que se prevê que este último se esgote por volta de 2005, altura em que os EUA adoptarão o sistema EAN, como já o fizeram etretato muitos outros países ão europeus. Para o sistema EAN temos { } = 13, k = 10, A= 1, 2, 3,..., 9, i( a) = a e ( p, p,, p ) = ( 1, 3,1, 3,1, 3,1, 3,1, 3,1, 3,1) K. 1 2 13 Portato, este sistema o algarismo de teste a 13 satisfaz ( 3 3 )( mod10) a a + a + a + K + a + a. 13 1 2 3 11 12 Podemos, etão, cocluir que o sistema EAN, para determiar o algarismo de teste procede-se de modo idêtico ao sistema UPC. Vejamos agora o que se passa o tão cohecido Bilhete de Idetidade. Muita água tem corrido debaixo da pote desde que se começou a falar um tal algarismo apeso ao úmero do Bilhete de Idetidade. Afial de cotas, o tal dígito ão represeta o úmero de idivíduos com o mesmo ome, como vulgarmete é refereciado. Teoricamete é o algarismo de cotrolo, mas que, efectivamete cotrola muito pouco. Apesar de existirem sistemas de idetificação 100% ifalíveis, aqueles que detectam os pricipais tipos de erros -erros sigulares e trasposições adjacetes é icompreesível como é que o osso Miistério da Justiça utiliza o Bilhete de Idetidade um sistema de idetificação copiado do ISBN, e aida por cima mal copiado! Vejamos etão qual é o grade problema do sistema utilizado o BI. No sistema utilizado o BI temos: k = 11 e ( p, p, K, p ) = ( 10, 9, K, 2,1) 1 2 10 com uma pequea, mas importate alteração: o alfabeto utilizado é o cojuto { 0,1, K,9} pelo que, quado o algarismo de teste deveria ser 10 (X o caso ISBN) é substituído por 0. Ou seja, quado 0 ocorre como dígito de cotrolo, ele pode correspoder, a realidade, a dois valores: 0 ou 10. Assim, em metade dos casos em que ocorre 0 esse dígito está
errado. Não deixa de ser curioso, também, que este sistema teha sido seleccioado também para o NIF (Número de Idetificação Fiscal Vejamos, etão, um exemplo de como determiar o dito algarismo de cotrolo o bilhete de idetidade. Supohamos que temos um bilhete de idetidade com o úmero a K a a, ode a 1 é o algarismo de cotrolo, (dígito que se ecotra situado etre a 10 2 1 caixa do úmero e a data). Assim, a soma 10a10 + 9a9+ K + 2a2+ a1 tem de ser divisível por 11. Cosiderado o úmero 6235008?, e efectuado as operações descritas acima, obtemos a 1= 0. Porém, se modificarmos o úmero aterior (também ele válido) para 6235003? obtemos a 1= 10, mas o BI aparece apeas a 1= 0, ou seja, ambos os úmeros do BI têm como algarismo de cotrolo 0, mas com uma grade difereça: o úmero iicial temos um zero que é o resultado efectivo das operações para a determiação do algarismo de cotrolo, equato que o segudo caso temos um zero que deveria ser um dez. Perate este segudo caso dizemos que estamos a preseça de um zero falso. Uma vez que o sistema utilizado o BI foi mal copiado do ISBN, este ão detecta todos os erros sigulares, pois, se cosiderarmos, por exemplo, os úmeros dos bilhetes de idetidade ateriores, 6235003 e 6235008, ambos têm como algarismo de cotrolo o úmero zero, apesar de um deles ser um zero falso. Um outro caso aida mais estraho é o do sistema utilizado as ovas otas de Euro. Desde 1990 que o Baco Cetral Alemão utilizava, os úmeros de série das suas otas, um sistema que detectava a 100% os dois pricipais tipos de erros. Seria, portato, de esperar que, o mometo de etrada em circulação da moeda úica, a 1 de Jaeiro de 2002, o Baco Cetral Europeu adoptasse, como esquema os úmeros de série das otas de euro, esse sistema. Porém, e para grade espato de todos quatos se iteressam por esta área, apesar de já ser cohecido um método que tem uma eficiêcia de 100% a detecção dos erros sigulares e trasposições, o Baco Cetral Europeu optou por um sistema módulo 9 (a velhiha prova dos ove)! Assim, para determiarmos o algarismo de cotrolo dos úmeros de série de uma qualquer ota de euro, basta cosultar a tabela seguite (para sabermos qual o valor correspodete a cada uma das letras), somar todos os dígitos e dividir por 9.
Letras valores País Letras valores País L 4 Filâdia M 5 Portugal N 6 Áustria P 8 Holada R 1 Luxemburgo S 2 Itália T 3 Irlada U 4 Fraça V 5 Espaha X 7 Alemaha Y 8 Grécia Z 9 Bélgica Assim, se tivermos, por exemplo, o úmero de série M3132681541?, para determiarmos o algarismo que falta (algarismo de cotrolo), somamos todos os algarismos e obtemos 39, oves fora 3 pelo que o algarismo de cotrolo tem de ser 6 (para que o resto dê zero). Cocluímos etão que este sistema ão detecta ehuma troca em os erros sigulares 0 9 e 9 0, pelo que, o úmero de série ão é um dos meios referidos pelo Baco Cetral Europeu de modo a evitar a falsificação. É icompreesível como se cotiuam a utilizar métodos tão primitivos tedo já os matemáticos criado métodos 100 % eficietes a detecção dos pricipais tipos de erros. (Para mais iformações cosultar, por exemplo, [8]) Referêcias Bibliográficas Ribeiro, C. M. (2005). Sistemas de idetificação defiidos sobre grupos e quase-grupos, Tese de Mestrado, Faculdade de Ciêcias e Tecologia da Uiversidade de Coimbra 32-91.