Optimal radix choice

From testwiki
Revision as of 08:14, 30 January 2025 by imported>Ming mm (Category:Information_theory)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Template:Short description In mathematics and computer science, optimal radix choice is the problem of choosing the base, or radix, that is best suited for representing numbers. Various proposals have been made to quantify the relative costs of using different radices in representing numbers, especially in computer systems. One formula is the number of digits needed to express it in that base, multiplied by the base (the number of possible values each digit could have). This expression also arises in questions regarding organizational structure, networking, and other fields.

Definition

The cost of representing a number N in a given base b can be defined as

E(b,N)=blogb(N)+1

where we use the floor function and the base-b logarithm logb.

If both b and N are positive integers, then the quantity E(b,N) is equal to the number of digits needed to express the number N in base b, multiplied by base b.[1] This quantity thus measures the cost of storing or processing the number N in base b if the cost of each "digit" is proportional to b. A base with a lower average E(b,N) is therefore, in some senses, more efficient than a base with a higher average value.

For example, 100 in decimal has three digits, so its cost of representation is 10×3 = 30, while its binary representation has seven digits (11001002), so the analogous calculation gives 2×7 = 14. Likewise, in base 3 its representation has five digits (102013), for a value of 3×5 = 15, and in base 36 (2S36) one finds 36×2 = 72.

If the number is imagined to be represented by a combination lock or a tally counter, in which each wheel has b digit faces, from 0,1,...,b1 and having logb(N)+1 wheels, then E(b,N) is the total number of digit faces needed to inclusively represent any integer from 0 to N.

Asymptotic behavior

The quantity E(b,N) for large N can be approximated as follows:

E(b,N)=blogb(N)+1b logb(N)=bln(b)ln(N).
E(b,N)ln(N)bln(b).

The asymptotically best value is obtained for base 3, since bln(b) attains a minimum for b=3 in the positive integers:

2ln(2)2.88539,
3ln(3)2.73072,
4ln(4)2.88539.

For base 10, we have:

10ln(10)4.34294.

Comparing different bases

The values of E(b,N) of bases b1 and b2 may be compared for a large value of N:

E(b1,N)E(b2,N)b1logb1(N)b2logb2(N)=(b1ln(N)ln(b1))(b2ln(N)ln(b2))=b1ln(b2)b2ln(b1).

Choosing e for b2 gives

E(b)E(e)bln(e)eln(b)=beln(b).

The average E(b,N) of various bases up to several arbitrary numbers (avoiding proximity to powers of 2 through 12 and e) are given in the table below. Also shown are the values relative to that of base e. E(1,N) of any number N is just N, making unary the most economical for the first few integers, but this no longer holds as N climbs to infinity.

Base b Avg. E(b,N)

N = 1 to 6

Avg. E(b,N)

N = 1 to 43

Avg. E(b,N)

N = 1 to 182

Avg. E(b,N)

N = 1 to 5329

E(b)E(e) Relative size of
E (b )/E (e )
1 3.5 22.0 91.5 2,665.0
2 4.7 9.3 13.3 22.9 Template:Bartable
e 4.5 9.0 12.9 22.1 Template:Bartable
3 5.0 9.5 13.1 22.2 Template:Bartable
4 6.0 10.3 14.2 23.9 Template:Bartable
5 6.7 11.7 15.8 26.3 Template:Bartable
6 7.0 12.4 16.7 28.3 Template:Bartable
7 7.0 13.0 18.9 31.3 Template:Bartable
8 8.0 14.7 20.9 33.0 Template:Bartable
9 9.0 16.3 22.6 34.6 Template:Bartable
10 10.0 17.9 24.1 37.9 Template:Bartable
12 12.0 20.9 25.8 43.8 Template:Bartable
15 15.0 25.1 28.8 49.8 Template:Bartable
16 16.0 26.4 30.7 50.9 Template:Bartable
20 20.0 31.2 37.9 58.4 Template:Bartable
30 30.0 39.8 55.2 84.8 Template:Bartable
40 40.0 43.7 71.4 107.7 Template:Bartable
60 60.0 60.0 100.5 138.8 Template:Bartable

Ternary tree efficiency

One result of the relative economy of base 3 is that ternary search trees offer an efficient strategy for retrieving elements of a database.[2] A similar analysis suggests that the optimum design of a large telephone menu system to minimise the number of menu choices that the average customer must listen to (i.e. the product of the number of choices per menu and the number of menu levels) is to have three choices per menu.[1]

In a [[d-ary heap|Template:Mvar-ary heap]], a priority queue data structure based on Template:Mvar-ary trees, the worst-case number of comparisons per operation in a heap containing n elements is dlogdn (up to lower-order terms), the same formula used above. It has been suggested that choosing d=3 or d=4 may offer optimal performance in practice.[3]

Brian Hayes suggests that E(b,N) may be the appropriate measure for the complexity of an Interactive voice response menu: in a tree-structured phone menu with n outcomes and r choices per step, the time to traverse the menu is proportional to the product of r (the time to present the choices at each step) with logrn (the number of choices that need to be made to determine the outcome). From this analysis, the optimal number of choices per step in such a menu is three.[1]

Computer hardware efficiencies

The 1950 reference High-Speed Computing Devices describes a particular situation using contemporary technology. Each digit of a number would be stored as the state of a ring counter composed of several triodes. Whether vacuum tubes or thyratrons, the triodes were the most expensive part of a counter. For small radices r less than about 7, a single digit required r triodes.[4] (Larger radices required 2r triodes arranged as r flip-flops, as in ENIAC's decimal counters.)[5]

So the number of triodes in a numerical register with n digits was rn. In order to represent numbers up to 106, the following numbers of tubes were needed:

Radix r Tubes N = rn
2 39.20
3 38.24
4 39.20
5 42.90
10 60.00

The authors conclude, Template:Quote

See also

References

Template:Reflist

Further reading

  • S.L. Hurst, "Multiple-Valued Logic-Its Status and its Future", IEEE trans. computers, Vol. C-33, No 12, pp. 1160–1179, DEC 1984.
  • J. T. Butler, "Multiple-Valued Logic in VLSI Design, ” IEEE Computer Society Press Technology Series, 1991.
  • C.M. Allen, D.D. Givone “The Allen-Givone Implementation Oriented Algebra", in Computer Science and Multiple-Valued Logic: Theory and Applications, D.C. Rine, second edition, D.C. Rine, ed., The Elsevier North-Holland, New York, N.Y., 1984. pp. 268–288.
  • G. Abraham, "Multiple-Valued Negative Resistance Integrated Circuits", in Computer Science and Multiple-Valued Logic: Theory and Applications, D.C. Rine, second edition, D.C. Rine, ed., The Elsevier North-Holland, New York, N.Y., 1984. pp. 394–446.