Wyobraź sobie, że dajesz komuś kartę z kodem „5SBDO0”.
W niektórych czcionkach trudno jest wizualnie odróżnić literę „S” od cyfry pięć (jak w przypadku cyfry zero i litery „O”).
Czytając kod na głos, odróżnienie „B” od „D” może być trudne, wymagając wymówienia „B jak u chłopca”, „D jak u psa” lub użycia zamiast tego „ alfabetu fonetycznego ”.
Jaki jest największy podzbiór liter i cyfr, który w większości przypadków będzie wyglądał jednoznacznie wizualnie i będzie brzmiał jednoznacznie, gdy będzie czytany na głos?
Tło:
Chcemy wygenerować krótki ciąg znaków, który może zakodować jak najwięcej wartości, jednocześnie zachowując łatwość komunikacji.
Wyobraź sobie, że masz ciąg 6 znaków, „123456”. W bazie 10 może to kodować wartości 10 ^ 6.
W zapisie szesnastkowym „1B23DF” możesz zakodować 16 ^ 6 wartości w tej samej liczbie znaków, ale może to brzmieć dwuznacznie, gdy odczytywane na głos. („B” vs. „D”)
Podobnie dla dowolnego ciągu N znaków otrzymujesz (rozmiar alfabetu) ^ N wartości.
Ciąg jest ograniczony do długości około sześciu znaków, ponieważ chce się łatwo zmieścić w pojemności pamięci roboczej człowieka .
Dlatego, aby znaleźć maksymalną liczbę wartości, które możemy zakodować, musimy znaleźć ten największy jednoznaczny zestaw liter / cyfr. Nie ma powodu, dla którego nie możemy brać pod uwagę liter GZ i niektórych typowych znaków interpunkcyjnych, ale nie chcę ręcznie porównywać parami „czy G brzmi jak A?”, „Czy G brzmi jak B?”, „Czy Sam G brzmi jak „C”. Jak wiemy, byłoby to O (n ^ 2) praca lingwistyczna do zrobienia =) ...