Radix economy

From Wikipedia, the free encyclopedia
Jump to: navigation, search

The radix economy of a number in a particular base is the number of digits needed to express it in that base, multiplied by the radix (the number of possible values each digit could have). Various proposals have been made to quantify the relative costs between using different radices in representing numbers, especially in computer systems. Radix economy also has implications for cognitive function, learning, organizational structure, networking, and other fields.

Definition[edit]

The radix economy E(b,N) for any particular number N in a given base b is equal to the number of digits needed to express it in that base (using the floor function \lfloor \rfloor), multiplied by the radix:[1]

E(b,N) = b \lfloor \log_b (N) +1 \rfloor \, .

The radix economy 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 radix economy is therefore, in some senses, more efficient than a base with a higher average radix economy.

For example, 100 in decimal has three digits, so its radix economy is 10×3 = 30; its binary representation has seven digits (11001002) so it has radix economy 2×7 = 14 in base 2; in base 3 its representation has five digits (102013) with a radix economy of 3×5 = 15; in base 36 (2S36) its radix economy is 36×2 = 72.

e has the lowest radix economy[edit]

Proof that e is the real-valued base with the lowest average radix economy:

First, note that the function

 y = \frac {x} {\ln(x)}\,

is strictly decreasing on 1 < x < e and strictly increasing on x > e. Its minimum, therefore, for x > 1, occurs at e.

Next, consider that

 {E(b,N)} \approx {b  {\log_b (N)}} = {b {\ln(N) \over \ln(b)}}

Then for a constant N, {E(b,N)} will have a minimum at e for the same reason y does, meaning e is therefore the base with the lowest average radix economy. Since 2 / ln(2) ≈ 2.89 and 3 / ln(3) ≈ 2.73, it follows that 3 is the integer base with the lowest average radix economy.

Radix economy of different bases[edit]

The radix economy of bases b1 and b2 may be compared for a large value of N:

 {{E(b_1,N)} \over {E(b_2,N)}} \approx {{b_1 {\log_{b_1} (N)}} \over {b_2 {\log_{b_2} (N)}}}
= {\left( \dfrac{b_1 \ln (N)} {\ln (b_1)} \right) \over \left( \dfrac{b_2 \ln (N)} {\ln (b_2)} \right)} = {{b_1 \ln (b_2)} \over {b_2 \ln (b_1)}} \, .

Choosing e for b2 gives the economy relative to that of e by the function:

 {{E(b)} \over {E(e)}} \approx {{b \ln (e)} \over {e \ln (b)}} = {{b} \over {e \ln(b)}} \,

The average radix economies 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 radix economies relative to that of e. Note that the radix economy of any number in base 1 is that number, making it the most economical for the first few integers, but as N climbs to infinity so does its relative economy.

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)} \over {E(e)}}
1 3.5 22.0 91.5 2,665.0  \infty
2 4.7 9.3 13.3 22.9 1.0615
e 4.5 9.0 12.9 22.1 1.0000
3 5.0 9.5 13.1 22.2 1.0046
4 6.0 10.3 14.2 23.9 1.0615
5 6.7 11.7 15.8 26.3 1.1429
6 7.0 12.4 16.7 28.3 1.2319
7 7.0 13.0 18.9 31.3 1.3234
8 8.0 14.7 20.9 33.0 1.4153
9 9.0 16.3 22.6 34.6 1.5069
10 10.0 17.9 24.1 37.9 1.5977
12 12.0 20.9 25.8 43.8 1.7765
15 15.0 25.1 28.8 49.8 2.0377
16 16.0 26.4 30.7 50.9 2.1230
20 20.0 31.2 37.9 58.4 2.4560
30 30.0 39.8 55.2 84.8 3.2449
40 40.0 43.7 71.4 107.7 3.9891
60 60.0 60.0 100.5 138.8 5.3910

Ternary tree efficiency[edit]

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]

Computer hardware efficiencies[edit]

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.[3] (Larger radices required 2r triodes arranged as r flip-flops, as in ENIAC's decimal counters.)[4]

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,

Under these assumptions, the radix 3, on the average, is the most economical choice, closely followed by radices 2 and 4. These assumptions are, of course, only approximately valid, and the choice of 2 as a radix is frequently justified on more complete analysis. Even with the optimistic assumption that 10 triodes will yield a decimal ring, radix 10 leads to about one and one-half times the complexity of radix 2, 3, or 4. This is probably significant despite the shallow nature of the argument used here.[5]

Other criteria[edit]

In another application, the authors of High-Speed Computing Devices consider the speed with which an encoded number may be sent as a series of high-frequency voltage pulses. For this application the compactness of the representation is more important than in the above storage example. They conclude, "A saving of 58 per cent can be gained in going from a binary to a ternary system. A smaller percentage gain is realized in going from a radix 3 to a radix 4 system."[6]

Binary encoding has a notable advantage over all other systems: greater noise immunity. Random voltage fluctuations are less likely to generate an erroneous signal, and circuits may be built with wider voltage tolerances and still represent unambiguous values accurately.

See also[edit]

References[edit]

  1. ^ a b Brian Hayes (2001). "Third Base". American Scientist 89 (6): 490. doi:10.1511/2001.40.3268. Retrieved 2013-07-28. 
  2. ^ Bentley, Jon; Sedgewick, Bob (1998-04-01). "Ternary Search Trees". Dr. Dobb's Journal. UBM Tech. Retrieved 2013-07-28. 
  3. ^ Engineering Research Associates Staff (1950). "3-6 The r-triode Counter, Modulo r". High-Speed Computing Devices. McGraw-Hill. pp. 22–23. Retrieved 2008-08-27. 
  4. ^ Engineering Research Associates Staff (1950). "3-7 The 2r-triode Counter, Modulo r". High-Speed Computing Devices. McGraw-Hill. pp. 23–25. Retrieved 2008-08-27. 
  5. ^ Engineering Research Associates Staff (1950). "6-7 Economy Attained by Radix Choice". High-Speed Computing Devices. McGraw-Hill. pp. 84–87. Retrieved 2008-08-27. 
  6. ^ Engineering Research Associates Staff (1950). "16-2 New Techniques". High-Speed Computing Devices. McGraw-Hill. pp. 419–421. Retrieved 2008-08-27. 

Further reading[edit]

  • 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.

External links[edit]