Código Natural: mudanças entre as edições

Linha 141: Linha 141:
== Inovação tecnológica nas representações ==
== Inovação tecnológica nas representações ==


[[Arquivo:Zcutve-base4.png.png|miniaturadaimagem|A sequência de células 1 a 16 pode ser rotulada pela '''base 4h''' com 2 dígitos. Ao contrário da base 4 numérica, que remove zeros a esquerda, a base 4h os mantém, por representar códigos e não números.]]
[[Arquivo:Zcutve-base4.png.png|miniaturadaimagem|A sequência de 16&nbsp;[[Generalized Geohash/pt#Representação geométrica|células]] pode ser rotulada pela '''base&nbsp;4h'''. Esses rótulos podem ser empregados como geocódigos.<br/>Ao contrário da base&nbsp;4 numérica, que remove zeros a esquerda, a base&nbsp;4h os mantém, por representar códigos e não números.]]


[[Arquivo:Zcurve-8cells base4h.png.png|miniaturadaimagem|Oito células rotuladas hierarquicamente pela '''base4h'''. Reparar que os prefixos da ilustração anterior são preservados. Por ex. na anterior <code>00</code> e <code>03</code> possuem mesmo prefixo <code>0</code>  que <code>0G</code> e <code>0Q</code>.]]
[[Arquivo:Zcurve-8cells base4h.png.png|miniaturadaimagem|Oito células rotuladas hierarquicamente pela '''base4h'''. Reparar que os prefixos da ilustração anterior são preservados. Por ex. na anterior <code>00</code> e <code>03</code> possuem mesmo prefixo <code>0</code>  que <code>0G</code> e <code>0Q</code>. Todas ocupam geometricamente o mesmo "quadrante&nbsp;<code>0</code>" da célula-mãe.]]


A demanda por [[geocódigos]] eficientes deu origem a uma inovação tecnológica, desenvolvida pela [[AddressForAll]]. Foi matematicamente generalizada como "repesentação posicioal de Código Natural". Assim como os números decimais (base 10), binários (base 2), hexadecimais (base 16) etc., os códigos podem ser representados nos meios de comunicação de forma mais compacta que cadeias de bits, através de diferentes ''bases''.
A demanda por [[geocódigos]] eficientes motivou uma inovação tecnológica, desenvolvida pela [[AddressForAll]]. Do ponto de vista matemático é uma generalização da [[wikipedia:Positional notation|representação posicional]], aplicada a códigos naturais. Assim como os números (binários base 2, decimais base 10, hexadecimais base 16, etc.), os códigos podem ser representados nos meios de comunicação de forma mais compacta que cadeias de bits, através de diferentes ''bases''.


A [[wikipedia:Quaternary numeral system|'''base&nbsp;4''']] (ou "sistema de numeração quaternário") é simples e representa números de maneira mais compacta que a representação binária. Usa somente os dígitos 0&nbsp;a&nbsp;3. A sequência numérica de 0 a 6 por exemplo, em binária [0, 1, 10, 11, 100, 101, 110]<sub>2</sub>, convertida para ''base 4'' se torna [0, 1, 2, 3, 10, 11, 12]<sub>4</sub>.
A [[wikipedia:Quaternary numeral system|'''base&nbsp;4''']] (ou "sistema de numeração quaternário") é simples e representa números de maneira mais compacta que a notação binária. Usa somente os dígitos 0&nbsp;a&nbsp;3. A sequência numérica de 0 a 6 por exemplo, em notação binária [0, 1, 10, 11, 100, 101, 110]<sub>2</sub>, convertida para ''base 4'' se torna [0, 1, 2, 3, 10, 11, 12]<sub>4</sub>. Economiza 5 dígitos.


Abaixo é ilustrado o uso clássico da base&nbsp;4 em códigos: tradição de adaptação da base numérica,  permitindo zeros a esquerda ao representar códigos. Mostra como a adaptação falha para certos códigos,  e como a inovação da [[base4h|'''base&nbsp;4h''']] resolve o problema:
Abaixo é ilustrado o uso clássico da base&nbsp;4 em códigos: tradição de adaptação da base numérica,  permitindo zeros a esquerda ao representar códigos. Mostra como a adaptação falha para certos códigos,  e como a inovação da [[base4h|'''base&nbsp;4h''']] resolve o problema:
Linha 156: Linha 156:


&nbsp;[[Arquivo:KraEtAll2019-fig03-awns.png]]
&nbsp;[[Arquivo:KraEtAll2019-fig03-awns.png]]
Inspiradas nesta inovação para a base&nbsp;4, foram criadas também a [[base8h|base&nbsp;8h]] e a [[base16h|base&nbsp;16h]].


As questões de ordenação são resolvidas por algoritmos de comparação aplicados à representação interna do código, em geral a binária. A ordem lexicográfica dos bits é a mesma que a chamada "preorder" de uma árvore binária. A "level order" pode ser útil para certas situações, mas não é considerada a ordem nativa dos códigos naturais.
As questões de ordenação são resolvidas por algoritmos de comparação aplicados à representação interna do código, em geral a binária. A ordem lexicográfica dos bits é a mesma que a chamada "preorder" de uma árvore binária. A "level order" pode ser útil para certas situações, mas não é considerada a ordem nativa dos códigos naturais.