Numeracja bijektywna - Bijective numeration

Numeracja bijective to dowolny system liczbowy, w którym każdą nieujemną liczbę całkowitą można przedstawić dokładnie w jeden sposób za pomocą skończonego ciągu cyfr . Nazwa wywodzi się z tej bijekcji (korespondencja jeden do jednego) między zbiorem nieujemnych liczb całkowitych a zbiorem skończonych ciągów przy użyciu skończonego zbioru symboli („cyfry”).

Większość zwykłych systemów liczbowych, takich jak powszechny system dziesiętny , nie jest bijektywna, ponieważ więcej niż jeden ciąg cyfr może reprezentować tę samą dodatnią liczbę całkowitą. W szczególności dodanie wiodących zer nie zmienia reprezentowanej wartości, więc „1”, „01” i „001” reprezentują liczbę jeden . Chociaż zwykle jest tylko pierwszy, fakt, że pozostałe są możliwe, oznacza, że ​​liczba dziesiętna nie jest bijektywna. Jednak jednoargumentowy , z tylko jedną cyfrą, jest bijektywny.

Bijective podstawa - k numeracja jest bijective pozycyjny zapis . Używa ciągu cyfr ze zbioru {1, 2, ..., k } (gdzie k ≥ 1) do kodowania każdej dodatniej liczby całkowitej; pozycja cyfry w łańcuchu określa jej wartość jako wielokrotność potęgi k . Smullyan (1961) nazywa tę notację k -adic, ale nie należy jej mylić z liczbami p -adycznymi : liczby bijective to system reprezentacji zwykłych liczb całkowitych przez skończone ciągi niezerowych cyfr, podczas gdy liczby p -adyczne są systemem wartości matematyczne, które zawierają liczby całkowite jako podzbiór i mogą wymagać nieskończonych sekwencji cyfr w dowolnej reprezentacji numerycznej.

Definicja

System bijective base- k używa zestawu cyfr {1, 2, ..., k } ( k ≥ 1) do jednoznacznego reprezentowania każdej nieujemnej liczby całkowitej, w następujący sposób:

  • Liczba całkowita zero jest reprezentowana przez pusty ciąg .
  • Liczba całkowita reprezentowana przez niepusty ciąg cyfr
za n za n -1 ... za 1 za 0
jest
a n k n + a n -1 k n -1 + ... + a 1 k 1 + a 0 k 0 .
  • Ciąg cyfr reprezentujący liczbę całkowitą m > 0 to
za n za n -1 ... za 1 za 0
gdzie
i
będąca najmniejszą liczbą całkowitą nie mniejszą niż x ( funkcja sufitu ).

W przeciwieństwie do tego, standardową notację pozycyjną można zdefiniować za pomocą podobnego algorytmu rekurencyjnego, gdzie

Rozszerzenie na liczby całkowite

W przypadku podstawy , bijective system liczb podstawowych może być rozszerzony do ujemnych liczb całkowitych w taki sam sposób, jak standardowy system liczb podstawowych przy użyciu nieskończonej liczby cyfry , gdzie , reprezentowany jako lewostronnie nieskończony ciąg cyfr . Dzieje się tak, ponieważ sumowanie Eulera

co oznacza, że

a dla każdej liczby dodatniej z numeracją bijektywną reprezentacja cyfry jest reprezentowana przez . Do podstawy , wartości ujemne są przedstawione z , a dla zasady , wartości ujemne są przedstawione . Jest to podobne do tego, w jaki sposób w reprezentacjach ze znakiem cyfrowym wszystkie liczby całkowite z reprezentacjami cyfrowymi są reprezentowane jako gdzie . Ta reprezentacja nie jest już bijektywna, ponieważ cały zestaw lewostronnie nieskończonych sekwencji cyfr służy do reprezentowania -adic liczb całkowitych , których liczby całkowite są tylko podzbiorem.

Własności bijektywnych liczb bazowych k

Dla danej podstawy k ≥ 1,

podstawa celu 1: λ 1 11 111 1111 11111 111111 1111111 11111111 111111111 1111111111 11111111111 111111111111 1111111111111 11111111111111 111111111111111 1111111111111111 ... ( system liczb jednoargumentowych )
podstawa celu 2: λ 1 2 11 12 21 22 111 112 121 122 211 212 221 222 1111 1112 ...
dwójkowy: 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000 ...
podstawa celu 3: λ 1 2 3 11 12 13 21 22 23 31 32 33 111 112 113 121 ...
potrójny: 0 1 2 10 11 12 20 21 22 100 101 102 110 111 112 120 121 ...
podstawa bijektywna 8: λ 1 2 3 4 5 6 7 8 11 12 13 14 15 16 17 18 ...
ósemkowe: 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 ...
podstawa celu 10: λ 1 2 3 4 5 6 7 8 9 A 11 12 13 14 15 16 ...
dziesiętny: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...
podstawa bijektywna 12: λ 1 2 3 4 5 6 7 8 9 A B C 11 12 13 14 ...
dwunastkowy: 0 1 2 3 4 5 6 7 8 9 A B 10 11 12 13 14 ...
podstawa bijektywna 16: λ 1 2 3 4 5 6 7 8 9 A B C D E F G ...
szesnastkowy: 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 ...

Przykłady

34152 (w bijective base-5) = 3×5 4 + 4×5 3 + 1×5 2 + 5×5 1 + 2×1 = 2427 (dziesiętnie).
119A (w bijective podstawy-10, przy czym "A" reprezentujący cyfrową wartość dziesięć) = 1 x 10 3 + 1 x 10 2 + 9 x 10 1 + 1 x 10 = 1200 (dziesiętnie).
Typowa lista alfabetyczna zawierająca więcej niż 26 elementów jest bijektywna i używa kolejności A, B, C...X, Y, Z, AA, AB, AC...ZX, ZY, ZZ, AAA, AAB, AAC. ...

System bijective base-10

Bijektywny system o podstawie 10 to pozycyjny system liczbowy o podstawie dziesięciu , który nie używa cyfry do reprezentowania zera . Zamiast tego ma cyfrę reprezentującą dziesięć, na przykład A .

Podobnie jak w przypadku konwencjonalnego dziesiętnego , każda pozycja cyfry reprezentuje potęgę dziesiątki, więc na przykład 123 to „sto plus dwie dziesiątki plus trzy jednostki”. Wszystkie dodatnie liczby całkowite, które są reprezentowane wyłącznie cyframi niezerowymi w konwencjonalnym systemie dziesiętnym (takim jak 123), mają taką samą reprezentację w systemie dziesiętnym bez zera. Te, które używają zera, muszą zostać przepisane, więc na przykład 10 staje się A, konwencjonalny 20 staje się 1A, konwencjonalny 100 staje się 9A, konwencjonalny 101 staje się A1, konwencjonalny 302 staje się 2A2, konwencjonalny 1000 staje się 99 A, konwencjonalny 1110 staje się AAA, konwencjonalny 2010 staje się 19AA , i tak dalej.

Dodawanie i mnożenie w systemie dziesiętnym bez zera jest zasadniczo takie samo, jak w przypadku konwencjonalnego dziesiętnego, z wyjątkiem tego, że przeniesienia występują, gdy pozycja przekracza dziesięć, a nie gdy przekracza dziewięć. Aby obliczyć 643 + 759, mamy dwanaście jednostek (zapisz 2 po prawej i przenieś 1 do dziesiątek), dziesięć dziesiątek (zapisz A bez konieczności przenoszenia do setek), trzynaście setek (zapisz 3 i przenieś 1 do tysiące) i tysiąc (zapisz 1), aby dać wynik 13A2 zamiast konwencjonalnego 1402.

Bijective base-26 system

W bijective base-26 można użyć liter alfabetu łacińskiego „A” do „Z” do przedstawienia 26-cyfrowych wartości od jednego do dwudziestu sześciu . (A=1, B=2, C=3, ..., Z=26)

Przy takim wyborze zapisu sekwencja liczb (zaczynająca się od 1) zaczyna się od A, B, C, ..., X, Y, Z, AA, AB, AC, ..., AX, AY, AZ, BA, BB , PNE, ...

Każda pozycja cyfry reprezentuje potęgę dwudziestu sześciu, więc na przykład liczebnik ABC reprezentuje wartość 1 × 26 2 + 2 × 26 1 + 3 × 26 0 = 731 przy podstawie 10.

Wiele arkuszy kalkulacyjnych, w tym Microsoft Excel, używa tego systemu do przypisywania etykiet do kolumn arkusza kalkulacyjnego, zaczynając od A, B, C, ..., Z, AA, AB, ..., AZ, BA, ..., ZZ, AAA , itp. Na przykład w Excel 2013 może być do 16384 kolumn (2 14 w kodzie binarnym), oznaczonych od A do XFD. Wariant tego systemu służy do nazywania gwiazd zmiennych . Można go zastosować do każdego problemu, w którym pożądane jest systematyczne nazewnictwo za pomocą liter, przy użyciu możliwie najkrótszych ciągów.

Notatki historyczne

Fakt, że każda nieujemna liczba całkowita ma unikalną reprezentację w bijektywnej bazie k ( k ≥ 1) jest „ twierdzeniem ludowym ”, które było wielokrotnie odkrywane. Wczesne przykłady to Foster (1947) dla przypadku k = 10 oraz Smullyan (1961) i Böhm (1964) dla wszystkich k ≥ 1. Smullyan używa tego systemu do zapewnienia numeracji Gödla ciągów symboli w systemie logicznym; Böhm używa tych reprezentacji do wykonywania obliczeń w języku programowania P′′ . Knuth (1969) wspomina szczególny przypadek k = 10, a Salomaa (1973) omawia przypadki k ≥ 2. Forslund (1995) wydaje się być kolejnym odkryciem i stawia hipotezę, że gdyby starożytne systemy liczbowe używały bijective base- k , mogłyby nie mogą być uznane za takie w dokumentach archeologicznych, ze względu na ogólną nieznajomość tego systemu.

Uwagi

Bibliografia