summaryrefslogtreecommitdiff
path: root/other/burneye2/doc-external/hash/gupta94randomization.ps
blob: c17422ed63d93dd756d3f9eb2979bdd7840e2530 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814
6815
6816
6817
6818
6819
6820
6821
6822
6823
6824
6825
6826
6827
6828
6829
6830
6831
6832
6833
6834
6835
6836
6837
6838
6839
6840
6841
6842
6843
6844
6845
6846
6847
6848
6849
6850
6851
6852
6853
6854
6855
6856
6857
6858
6859
6860
6861
6862
6863
6864
6865
6866
6867
6868
6869
6870
6871
6872
6873
6874
6875
6876
6877
6878
6879
6880
6881
6882
6883
6884
6885
6886
6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954
6955
6956
6957
6958
6959
6960
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971
6972
6973
6974
6975
6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
6991
6992
6993
6994
6995
6996
6997
6998
6999
7000
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495
7496
7497
7498
7499
7500
7501
7502
7503
7504
7505
7506
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
7522
7523
7524
7525
7526
7527
7528
7529
7530
7531
7532
7533
7534
7535
7536
7537
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
7553
7554
7555
7556
7557
7558
7559
7560
7561
7562
7563
7564
7565
7566
7567
7568
7569
7570
7571
7572
7573
7574
7575
7576
7577
7578
7579
7580
7581
7582
7583
7584
7585
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
7606
7607
7608
7609
7610
7611
7612
7613
7614
7615
7616
7617
7618
7619
7620
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631
7632
7633
7634
7635
7636
7637
7638
7639
7640
7641
7642
7643
7644
7645
7646
7647
7648
7649
7650
7651
7652
7653
7654
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665
7666
7667
7668
7669
7670
7671
7672
7673
7674
7675
7676
7677
7678
7679
7680
7681
7682
7683
7684
7685
7686
7687
7688
7689
7690
7691
7692
7693
7694
7695
7696
7697
7698
7699
7700
7701
7702
7703
7704
7705
7706
7707
7708
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727
7728
7729
7730
7731
7732
7733
7734
7735
7736
7737
7738
7739
7740
7741
7742
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752
7753
7754
7755
7756
7757
7758
7759
7760
7761
7762
7763
7764
7765
7766
7767
7768
7769
7770
7771
7772
7773
7774
7775
7776
7777
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802
7803
7804
7805
7806
7807
7808
7809
7810
7811
7812
7813
7814
7815
7816
7817
7818
7819
7820
7821
7822
7823
7824
7825
7826
7827
7828
7829
7830
7831
7832
7833
7834
7835
7836
7837
7838
7839
7840
7841
7842
7843
7844
7845
7846
7847
7848
7849
7850
7851
7852
7853
7854
7855
7856
7857
7858
7859
7860
7861
7862
7863
7864
7865
7866
7867
7868
7869
7870
7871
7872
7873
7874
7875
7876
7877
7878
7879
7880
7881
7882
7883
7884
7885
7886
7887
7888
7889
7890
7891
7892
7893
7894
7895
7896
7897
7898
7899
7900
7901
7902
7903
7904
7905
7906
7907
7908
7909
7910
7911
7912
7913
7914
7915
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925
7926
7927
7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950
7951
7952
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965
7966
7967
7968
7969
7970
7971
7972
7973
7974
7975
7976
7977
7978
7979
7980
7981
7982
7983
7984
7985
7986
7987
7988
7989
7990
7991
7992
7993
7994
7995
7996
7997
7998
7999
8000
8001
8002
8003
8004
8005
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017
8018
8019
8020
8021
8022
8023
8024
8025
8026
8027
8028
8029
8030
8031
8032
8033
8034
8035
8036
8037
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047
8048
8049
8050
8051
8052
8053
8054
8055
8056
8057
8058
8059
8060
8061
8062
8063
8064
8065
8066
8067
8068
8069
8070
8071
8072
8073
8074
8075
8076
8077
8078
8079
8080
8081
8082
8083
8084
8085
8086
8087
8088
8089
8090
8091
8092
8093
8094
8095
8096
8097
8098
8099
8100
8101
8102
8103
8104
8105
8106
8107
8108
8109
8110
8111
8112
8113
8114
8115
8116
8117
8118
8119
8120
8121
8122
8123
8124
8125
8126
8127
8128
8129
8130
8131
8132
8133
8134
8135
8136
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153
8154
8155
8156
8157
8158
8159
8160
8161
8162
8163
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180
8181
8182
8183
8184
8185
8186
8187
8188
8189
8190
8191
8192
8193
8194
8195
8196
8197
8198
8199
8200
8201
8202
8203
8204
8205
8206
8207
8208
8209
8210
8211
8212
8213
8214
8215
8216
8217
8218
8219
8220
8221
8222
8223
8224
8225
8226
8227
8228
8229
8230
8231
8232
8233
8234
8235
8236
8237
8238
8239
8240
8241
8242
8243
8244
8245
8246
8247
8248
8249
8250
8251
8252
8253
8254
8255
8256
8257
8258
8259
8260
8261
8262
8263
8264
8265
8266
8267
8268
8269
8270
8271
8272
8273
8274
8275
8276
8277
8278
8279
8280
8281
8282
8283
8284
8285
8286
8287
8288
8289
8290
8291
8292
8293
8294
8295
8296
8297
8298
8299
8300
8301
8302
8303
8304
8305
8306
8307
8308
8309
8310
8311
8312
8313
8314
8315
8316
8317
8318
8319
8320
8321
8322
8323
8324
8325
8326
8327
8328
8329
8330
8331
8332
8333
8334
8335
8336
8337
8338
8339
8340
8341
8342
8343
8344
8345
8346
8347
8348
8349
8350
8351
8352
8353
8354
8355
8356
8357
8358
8359
8360
8361
8362
8363
8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
8377
8378
8379
8380
8381
8382
8383
8384
8385
8386
8387
8388
8389
8390
8391
8392
8393
8394
8395
8396
8397
8398
8399
8400
8401
8402
8403
8404
8405
8406
8407
8408
8409
8410
8411
8412
8413
8414
8415
8416
8417
8418
8419
8420
8421
8422
8423
8424
8425
8426
8427
8428
8429
8430
8431
8432
8433
8434
8435
8436
8437
8438
8439
8440
8441
8442
8443
8444
8445
8446
8447
8448
8449
8450
8451
8452
8453
8454
8455
8456
8457
8458
8459
8460
8461
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478
8479
8480
8481
8482
8483
8484
8485
8486
8487
8488
8489
8490
8491
8492
8493
8494
8495
8496
8497
8498
8499
8500
8501
8502
8503
8504
8505
8506
8507
8508
8509
8510
8511
8512
8513
8514
8515
8516
8517
8518
8519
8520
8521
8522
8523
8524
8525
8526
8527
8528
8529
8530
8531
8532
8533
8534
8535
8536
8537
8538
8539
8540
8541
8542
8543
8544
8545
8546
8547
8548
8549
8550
8551
8552
8553
8554
8555
8556
8557
8558
8559
8560
8561
8562
8563
8564
8565
8566
8567
8568
8569
8570
8571
8572
8573
8574
8575
8576
8577
8578
8579
8580
8581
8582
8583
8584
8585
8586
8587
8588
8589
8590
8591
8592
8593
8594
8595
8596
8597
8598
8599
8600
8601
8602
8603
8604
8605
8606
8607
8608
8609
8610
8611
8612
8613
8614
8615
8616
8617
8618
8619
8620
8621
8622
8623
8624
8625
8626
8627
8628
8629
8630
8631
8632
8633
8634
8635
8636
8637
8638
8639
8640
8641
8642
8643
8644
8645
8646
8647
8648
8649
8650
8651
8652
8653
8654
8655
8656
8657
8658
8659
8660
8661
8662
8663
8664
8665
8666
8667
8668
8669
8670
8671
8672
8673
8674
8675
8676
8677
8678
8679
8680
8681
8682
8683
8684
8685
8686
8687
8688
8689
8690
8691
8692
8693
8694
8695
8696
8697
8698
8699
8700
8701
8702
8703
8704
8705
8706
8707
8708
8709
8710
8711
8712
8713
8714
8715
8716
8717
8718
8719
8720
8721
8722
8723
8724
8725
8726
8727
8728
8729
8730
8731
8732
8733
8734
8735
8736
8737
8738
8739
8740
8741
8742
8743
8744
8745
8746
8747
8748
8749
8750
8751
8752
8753
8754
8755
8756
8757
8758
8759
8760
8761
8762
8763
8764
8765
8766
8767
8768
8769
8770
8771
8772
8773
8774
8775
8776
8777
8778
8779
8780
8781
8782
8783
8784
8785
8786
8787
8788
8789
8790
8791
8792
8793
8794
8795
8796
8797
8798
8799
8800
8801
8802
8803
8804
8805
8806
8807
8808
8809
8810
8811
8812
8813
8814
8815
8816
8817
8818
8819
8820
8821
8822
8823
8824
8825
8826
8827
8828
8829
8830
8831
8832
8833
8834
8835
8836
8837
8838
8839
8840
8841
8842
8843
8844
8845
8846
8847
8848
8849
8850
8851
8852
8853
8854
8855
8856
8857
8858
8859
8860
8861
8862
8863
8864
8865
8866
8867
8868
8869
8870
8871
8872
8873
8874
8875
8876
8877
8878
8879
8880
8881
8882
8883
8884
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894
8895
8896
8897
8898
8899
8900
8901
8902
8903
8904
8905
8906
8907
8908
8909
8910
8911
8912
8913
8914
8915
8916
8917
8918
8919
8920
8921
8922
8923
8924
8925
8926
8927
8928
8929
8930
8931
8932
8933
8934
8935
8936
8937
8938
8939
8940
8941
8942
8943
8944
8945
8946
8947
8948
8949
8950
8951
8952
8953
8954
8955
8956
8957
8958
8959
8960
8961
8962
8963
8964
8965
8966
8967
8968
8969
8970
8971
8972
8973
8974
8975
8976
8977
8978
8979
8980
8981
8982
8983
8984
8985
8986
8987
8988
8989
8990
8991
8992
8993
8994
8995
8996
8997
8998
8999
9000
9001
9002
9003
9004
9005
9006
9007
9008
9009
9010
9011
9012
9013
9014
9015
9016
9017
9018
9019
9020
9021
9022
9023
9024
9025
9026
9027
9028
9029
9030
9031
9032
9033
9034
9035
9036
9037
9038
9039
9040
9041
9042
9043
9044
9045
9046
9047
9048
9049
9050
9051
9052
9053
9054
9055
9056
9057
9058
9059
9060
9061
9062
9063
9064
9065
9066
9067
9068
9069
9070
9071
9072
9073
9074
9075
9076
9077
9078
9079
9080
9081
9082
9083
9084
9085
9086
9087
9088
9089
9090
9091
9092
9093
9094
9095
9096
9097
9098
9099
9100
9101
9102
9103
9104
9105
9106
9107
9108
9109
9110
9111
9112
9113
9114
9115
9116
9117
9118
9119
9120
9121
9122
9123
9124
9125
9126
9127
9128
9129
9130
9131
9132
9133
9134
9135
9136
9137
9138
9139
9140
9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
9156
9157
9158
9159
9160
9161
9162
9163
9164
9165
9166
9167
9168
9169
9170
9171
9172
9173
9174
9175
9176
9177
9178
9179
9180
9181
9182
9183
9184
9185
9186
9187
9188
9189
9190
9191
9192
9193
9194
9195
9196
9197
9198
9199
9200
9201
9202
9203
9204
9205
9206
9207
9208
9209
9210
9211
9212
9213
9214
9215
9216
9217
9218
9219
9220
9221
9222
9223
9224
9225
9226
9227
9228
9229
9230
9231
9232
9233
9234
9235
9236
9237
9238
9239
9240
9241
9242
9243
9244
9245
9246
9247
9248
9249
9250
9251
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
9267
9268
9269
9270
9271
9272
9273
9274
9275
9276
9277
9278
9279
9280
9281
9282
9283
9284
9285
9286
9287
9288
9289
9290
9291
9292
9293
9294
9295
9296
9297
9298
9299
9300
9301
9302
9303
9304
9305
9306
9307
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319
9320
9321
9322
9323
9324
9325
9326
9327
9328
9329
9330
9331
9332
9333
9334
9335
9336
9337
9338
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
9349
9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
9363
9364
9365
9366
9367
9368
9369
9370
9371
9372
9373
9374
9375
9376
9377
9378
9379
9380
9381
9382
9383
9384
9385
9386
9387
9388
9389
9390
9391
9392
9393
9394
9395
9396
9397
9398
9399
9400
9401
9402
9403
9404
9405
9406
9407
9408
9409
9410
9411
9412
9413
9414
9415
9416
9417
9418
9419
9420
9421
9422
9423
9424
9425
9426
9427
9428
9429
9430
9431
9432
9433
9434
9435
9436
9437
9438
9439
9440
9441
9442
9443
9444
9445
9446
9447
9448
9449
9450
9451
9452
9453
9454
9455
9456
9457
9458
9459
9460
9461
9462
9463
9464
9465
9466
9467
9468
9469
9470
9471
9472
9473
9474
9475
9476
9477
9478
9479
9480
9481
9482
9483
9484
9485
9486
9487
9488
9489
9490
9491
9492
9493
9494
9495
9496
9497
9498
9499
9500
9501
9502
9503
9504
9505
9506
9507
9508
9509
9510
9511
9512
9513
9514
9515
9516
9517
9518
9519
9520
9521
9522
9523
9524
9525
9526
9527
9528
9529
9530
9531
9532
9533
9534
9535
9536
9537
9538
9539
9540
9541
9542
9543
9544
9545
9546
9547
9548
9549
9550
9551
9552
9553
9554
9555
9556
9557
9558
9559
9560
9561
9562
9563
9564
9565
9566
9567
9568
9569
9570
9571
9572
9573
9574
9575
9576
9577
9578
9579
9580
9581
9582
9583
9584
9585
9586
9587
9588
9589
9590
9591
9592
9593
9594
9595
9596
9597
9598
9599
9600
9601
9602
9603
9604
9605
9606
9607
9608
9609
9610
9611
9612
9613
9614
9615
9616
9617
9618
9619
9620
9621
9622
9623
9624
9625
9626
9627
9628
9629
9630
9631
9632
9633
9634
9635
9636
9637
9638
9639
9640
9641
9642
9643
9644
9645
9646
9647
9648
9649
9650
9651
9652
9653
9654
9655
9656
9657
9658
9659
9660
9661
9662
9663
9664
9665
9666
9667
9668
9669
9670
9671
9672
9673
9674
9675
9676
9677
9678
9679
9680
9681
9682
9683
9684
9685
9686
9687
9688
9689
9690
9691
9692
9693
9694
9695
9696
9697
9698
9699
9700
9701
9702
9703
9704
9705
9706
9707
9708
9709
9710
9711
9712
9713
9714
9715
9716
9717
9718
9719
9720
9721
9722
9723
9724
9725
9726
9727
9728
9729
9730
9731
9732
9733
9734
9735
9736
9737
9738
9739
9740
9741
9742
9743
9744
9745
9746
9747
9748
9749
9750
9751
9752
9753
9754
9755
9756
9757
9758
9759
9760
9761
9762
9763
9764
9765
9766
9767
9768
9769
9770
9771
9772
9773
9774
9775
9776
9777
9778
9779
9780
9781
9782
9783
9784
9785
9786
9787
9788
9789
9790
9791
9792
9793
9794
9795
9796
9797
9798
9799
9800
9801
9802
9803
9804
9805
9806
9807
9808
9809
9810
9811
9812
9813
9814
9815
9816
9817
9818
9819
9820
9821
9822
9823
9824
9825
9826
9827
9828
9829
9830
9831
9832
9833
9834
9835
9836
9837
9838
9839
9840
9841
9842
9843
9844
9845
9846
9847
9848
9849
9850
9851
9852
9853
9854
9855
9856
9857
9858
9859
9860
9861
9862
9863
9864
9865
9866
9867
9868
9869
9870
9871
9872
9873
9874
9875
9876
9877
9878
9879
9880
9881
9882
9883
9884
9885
9886
9887
9888
9889
9890
9891
9892
9893
9894
9895
9896
9897
9898
9899
9900
9901
9902
9903
9904
9905
9906
9907
9908
9909
9910
9911
9912
9913
9914
9915
9916
9917
9918
9919
9920
9921
9922
9923
9924
9925
9926
9927
9928
9929
9930
9931
9932
9933
9934
9935
9936
9937
9938
9939
9940
9941
9942
9943
9944
9945
9946
9947
9948
9949
9950
9951
9952
9953
9954
9955
9956
9957
9958
9959
9960
9961
9962
9963
9964
9965
9966
9967
9968
9969
9970
9971
9972
9973
9974
9975
9976
9977
9978
9979
9980
9981
9982
9983
9984
9985
9986
9987
9988
9989
9990
9991
9992
9993
9994
9995
9996
9997
9998
9999
10000
10001
10002
10003
10004
10005
10006
10007
10008
10009
10010
10011
10012
10013
10014
10015
10016
10017
10018
10019
10020
10021
10022
10023
10024
10025
10026
10027
10028
10029
10030
10031
10032
10033
10034
10035
10036
10037
10038
10039
10040
10041
10042
10043
10044
10045
10046
10047
10048
10049
10050
10051
10052
10053
10054
10055
10056
10057
10058
10059
10060
10061
10062
10063
10064
10065
10066
10067
10068
10069
10070
10071
10072
10073
10074
10075
10076
10077
10078
10079
10080
10081
10082
10083
10084
10085
10086
10087
10088
10089
10090
10091
10092
10093
10094
10095
10096
10097
10098
10099
10100
10101
10102
10103
10104
10105
10106
10107
10108
10109
10110
10111
10112
10113
10114
10115
10116
10117
10118
10119
10120
10121
10122
10123
10124
10125
10126
10127
10128
10129
10130
10131
10132
10133
10134
10135
10136
10137
10138
10139
10140
10141
10142
10143
10144
10145
10146
10147
10148
10149
10150
10151
10152
10153
10154
10155
10156
10157
10158
10159
10160
10161
10162
10163
10164
10165
10166
10167
10168
10169
10170
10171
10172
10173
10174
10175
10176
10177
10178
10179
10180
10181
10182
10183
10184
10185
10186
10187
10188
10189
10190
10191
10192
10193
10194
10195
10196
10197
10198
10199
10200
10201
10202
10203
10204
10205
10206
10207
10208
10209
10210
10211
10212
10213
10214
10215
10216
10217
10218
10219
10220
10221
10222
10223
10224
10225
10226
10227
10228
10229
10230
10231
10232
10233
10234
10235
10236
10237
10238
10239
10240
10241
10242
10243
10244
10245
10246
10247
10248
10249
10250
10251
10252
10253
10254
10255
10256
10257
10258
10259
10260
10261
10262
10263
10264
10265
10266
10267
10268
10269
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280
10281
10282
10283
10284
10285
10286
10287
10288
10289
10290
10291
10292
10293
10294
10295
10296
10297
10298
10299
10300
10301
10302
10303
10304
10305
10306
10307
10308
10309
10310
10311
10312
10313
10314
10315
10316
10317
10318
10319
10320
10321
10322
10323
10324
10325
10326
10327
10328
10329
10330
10331
10332
10333
10334
10335
10336
10337
10338
10339
10340
10341
10342
10343
10344
10345
10346
10347
10348
10349
10350
10351
10352
10353
10354
10355
10356
10357
10358
10359
10360
10361
10362
10363
10364
10365
10366
10367
10368
10369
10370
10371
10372
10373
10374
10375
10376
10377
10378
10379
10380
10381
10382
10383
10384
10385
10386
10387
10388
10389
10390
10391
10392
10393
10394
10395
10396
10397
10398
10399
10400
10401
10402
10403
10404
10405
10406
10407
10408
10409
10410
10411
10412
10413
10414
10415
10416
10417
10418
10419
10420
10421
10422
10423
10424
10425
10426
10427
10428
10429
10430
10431
10432
10433
10434
10435
10436
10437
10438
10439
10440
10441
10442
10443
10444
10445
10446
10447
10448
10449
10450
10451
10452
10453
10454
10455
10456
10457
10458
10459
10460
10461
10462
10463
10464
10465
10466
10467
10468
10469
10470
10471
10472
10473
10474
10475
10476
10477
10478
10479
10480
10481
10482
10483
10484
10485
10486
10487
10488
10489
10490
10491
10492
10493
10494
10495
10496
10497
10498
10499
10500
10501
10502
10503
10504
10505
10506
10507
10508
10509
10510
10511
10512
10513
10514
10515
10516
10517
10518
10519
10520
10521
10522
10523
10524
10525
10526
10527
10528
10529
10530
10531
10532
10533
10534
10535
10536
10537
10538
10539
10540
10541
10542
10543
10544
10545
10546
10547
10548
10549
10550
10551
10552
10553
10554
10555
10556
10557
10558
10559
10560
10561
10562
10563
10564
10565
10566
10567
10568
10569
10570
10571
10572
10573
10574
10575
10576
10577
10578
10579
10580
10581
10582
10583
10584
10585
10586
10587
10588
10589
10590
10591
10592
10593
10594
10595
10596
10597
10598
10599
10600
10601
10602
10603
10604
10605
10606
10607
10608
10609
10610
10611
10612
10613
10614
10615
10616
10617
10618
10619
10620
10621
10622
10623
10624
10625
10626
10627
10628
10629
10630
10631
10632
10633
10634
10635
10636
10637
10638
10639
10640
10641
10642
10643
10644
10645
10646
10647
10648
10649
10650
10651
10652
10653
10654
10655
10656
10657
10658
10659
10660
10661
10662
10663
10664
10665
10666
10667
10668
10669
10670
10671
10672
10673
10674
10675
10676
10677
10678
10679
10680
10681
10682
10683
10684
10685
10686
10687
10688
10689
10690
10691
10692
10693
10694
10695
10696
10697
10698
10699
10700
10701
10702
10703
10704
10705
10706
10707
10708
10709
10710
10711
10712
10713
10714
10715
10716
10717
10718
10719
10720
10721
10722
10723
10724
10725
10726
10727
10728
10729
10730
10731
10732
10733
10734
10735
10736
10737
10738
10739
10740
10741
10742
10743
10744
10745
10746
10747
10748
10749
10750
10751
10752
10753
10754
10755
10756
10757
10758
10759
10760
10761
10762
10763
10764
10765
10766
10767
10768
10769
10770
10771
10772
10773
10774
10775
10776
10777
10778
10779
10780
10781
10782
10783
10784
10785
10786
10787
10788
10789
10790
10791
10792
10793
10794
10795
10796
10797
10798
10799
10800
10801
10802
10803
10804
10805
10806
10807
10808
10809
10810
10811
10812
10813
10814
10815
10816
10817
10818
10819
10820
10821
10822
10823
10824
10825
10826
10827
10828
10829
10830
10831
10832
10833
10834
10835
10836
10837
10838
10839
10840
10841
10842
10843
10844
10845
10846
10847
10848
10849
10850
10851
10852
10853
10854
10855
10856
10857
10858
10859
10860
10861
10862
10863
10864
10865
10866
10867
10868
10869
10870
10871
10872
10873
10874
10875
10876
10877
10878
10879
10880
10881
10882
10883
10884
10885
10886
10887
10888
10889
10890
10891
10892
10893
10894
10895
10896
10897
10898
10899
10900
10901
10902
10903
10904
10905
10906
10907
10908
10909
10910
10911
10912
10913
10914
10915
10916
10917
10918
10919
10920
10921
10922
10923
10924
10925
10926
10927
10928
10929
10930
10931
10932
10933
10934
10935
10936
10937
10938
10939
10940
10941
10942
10943
10944
10945
10946
10947
10948
10949
10950
10951
10952
10953
10954
10955
10956
10957
10958
10959
10960
10961
10962
10963
10964
10965
10966
10967
10968
10969
10970
10971
10972
10973
10974
10975
10976
10977
10978
10979
10980
10981
10982
10983
10984
10985
10986
10987
10988
10989
10990
10991
10992
10993
10994
10995
10996
10997
10998
10999
11000
11001
11002
11003
11004
11005
11006
11007
11008
11009
11010
11011
11012
11013
11014
11015
11016
11017
11018
11019
11020
11021
11022
11023
11024
11025
11026
11027
11028
11029
11030
11031
11032
11033
11034
11035
11036
11037
11038
11039
11040
11041
11042
11043
11044
11045
11046
11047
11048
11049
11050
11051
11052
11053
11054
11055
11056
11057
11058
11059
11060
11061
11062
11063
11064
11065
11066
11067
11068
11069
11070
11071
11072
11073
11074
11075
11076
11077
11078
11079
11080
11081
11082
11083
11084
11085
11086
11087
11088
11089
11090
11091
11092
11093
11094
11095
11096
11097
11098
11099
11100
11101
11102
11103
11104
11105
11106
11107
11108
11109
11110
11111
11112
11113
11114
11115
11116
11117
11118
11119
11120
11121
11122
11123
11124
11125
11126
11127
11128
11129
11130
11131
11132
11133
11134
11135
11136
11137
11138
11139
11140
11141
11142
11143
11144
11145
11146
11147
11148
11149
11150
11151
11152
11153
11154
11155
11156
11157
11158
11159
11160
11161
11162
11163
11164
11165
11166
11167
11168
11169
11170
11171
11172
11173
11174
11175
11176
11177
11178
11179
11180
11181
11182
11183
11184
11185
11186
11187
11188
11189
11190
11191
11192
11193
11194
11195
11196
11197
11198
11199
11200
11201
11202
11203
11204
11205
11206
11207
11208
11209
11210
11211
11212
11213
11214
11215
11216
11217
11218
11219
11220
11221
11222
11223
11224
11225
11226
11227
11228
11229
11230
11231
11232
11233
11234
11235
11236
11237
11238
11239
11240
11241
11242
11243
11244
11245
11246
11247
11248
11249
11250
11251
11252
11253
11254
11255
11256
11257
11258
11259
11260
11261
11262
11263
11264
11265
11266
11267
11268
11269
11270
11271
11272
11273
11274
11275
11276
11277
11278
11279
11280
11281
11282
11283
11284
11285
11286
11287
11288
11289
11290
11291
11292
11293
11294
11295
11296
11297
11298
11299
11300
11301
11302
11303
11304
11305
11306
11307
11308
11309
11310
11311
11312
11313
11314
11315
11316
11317
11318
11319
11320
11321
11322
11323
11324
11325
11326
11327
11328
11329
11330
11331
11332
11333
11334
11335
11336
11337
11338
11339
11340
11341
11342
11343
11344
11345
11346
11347
11348
11349
11350
11351
11352
11353
11354
11355
11356
11357
11358
11359
11360
11361
11362
11363
11364
11365
11366
11367
11368
11369
11370
11371
11372
11373
11374
11375
11376
11377
11378
11379
11380
11381
11382
11383
11384
11385
11386
11387
11388
11389
11390
11391
11392
11393
11394
11395
11396
11397
11398
11399
11400
11401
11402
11403
11404
11405
11406
11407
11408
11409
11410
11411
11412
11413
11414
11415
11416
11417
11418
11419
11420
11421
11422
11423
11424
11425
11426
11427
11428
11429
11430
11431
11432
11433
11434
11435
11436
11437
11438
11439
11440
11441
11442
11443
11444
11445
11446
11447
11448
11449
11450
11451
11452
11453
11454
11455
11456
11457
11458
11459
11460
11461
11462
11463
11464
11465
11466
11467
11468
11469
11470
11471
11472
11473
11474
11475
11476
11477
11478
11479
11480
11481
11482
11483
11484
11485
11486
11487
11488
11489
11490
11491
11492
11493
11494
11495
11496
11497
11498
11499
11500
11501
11502
11503
11504
11505
11506
11507
11508
11509
11510
11511
11512
11513
11514
11515
11516
11517
11518
11519
11520
11521
11522
11523
11524
11525
11526
11527
11528
11529
11530
11531
11532
11533
11534
11535
11536
11537
11538
11539
11540
11541
11542
11543
11544
11545
11546
11547
11548
11549
11550
11551
11552
11553
11554
11555
11556
11557
11558
11559
11560
11561
11562
11563
11564
11565
11566
11567
11568
11569
11570
11571
11572
11573
11574
11575
11576
11577
11578
11579
11580
11581
11582
11583
11584
11585
11586
11587
11588
11589
11590
11591
11592
11593
11594
11595
11596
11597
11598
11599
11600
11601
11602
11603
11604
11605
11606
11607
11608
11609
11610
11611
11612
11613
11614
11615
11616
11617
11618
11619
11620
11621
11622
11623
11624
11625
11626
11627
11628
11629
11630
11631
11632
11633
11634
11635
11636
11637
11638
11639
11640
11641
11642
11643
11644
11645
11646
11647
11648
11649
11650
11651
11652
11653
11654
11655
11656
11657
11658
11659
11660
11661
11662
11663
11664
11665
11666
11667
11668
11669
11670
11671
11672
11673
11674
11675
11676
11677
11678
11679
11680
11681
11682
11683
11684
11685
11686
11687
11688
11689
11690
11691
11692
11693
11694
11695
11696
11697
11698
11699
11700
11701
11702
11703
11704
11705
11706
11707
11708
11709
11710
11711
11712
11713
11714
11715
11716
11717
11718
11719
11720
11721
11722
11723
11724
11725
11726
11727
11728
11729
11730
11731
11732
11733
11734
11735
11736
11737
11738
11739
11740
11741
11742
11743
11744
11745
11746
11747
11748
11749
11750
11751
11752
11753
11754
11755
11756
11757
11758
11759
11760
11761
11762
11763
11764
11765
11766
11767
11768
11769
11770
11771
11772
11773
11774
11775
11776
11777
11778
11779
11780
11781
11782
11783
11784
11785
11786
11787
11788
11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
11802
11803
11804
11805
11806
11807
11808
11809
11810
11811
11812
11813
11814
11815
11816
11817
11818
11819
11820
11821
11822
11823
11824
11825
11826
11827
11828
11829
11830
11831
11832
11833
11834
11835
11836
11837
11838
11839
11840
11841
11842
11843
11844
11845
11846
11847
11848
11849
11850
11851
11852
11853
11854
11855
11856
11857
11858
11859
11860
11861
11862
11863
11864
11865
11866
11867
11868
11869
11870
11871
11872
11873
11874
11875
11876
11877
11878
11879
11880
11881
11882
11883
11884
11885
11886
11887
11888
11889
11890
11891
11892
11893
11894
11895
11896
11897
11898
11899
11900
11901
11902
11903
11904
11905
11906
11907
11908
11909
11910
11911
11912
11913
11914
11915
11916
11917
11918
11919
11920
11921
11922
11923
11924
11925
11926
11927
11928
11929
11930
11931
11932
11933
11934
11935
11936
11937
11938
11939
11940
11941
11942
11943
11944
11945
11946
11947
11948
11949
11950
11951
11952
11953
11954
11955
11956
11957
11958
11959
11960
11961
11962
11963
11964
11965
11966
11967
11968
11969
11970
11971
11972
11973
11974
11975
11976
11977
11978
11979
11980
11981
11982
11983
11984
11985
11986
11987
11988
11989
11990
11991
11992
11993
11994
11995
11996
11997
11998
11999
12000
12001
12002
12003
12004
12005
12006
12007
12008
12009
12010
12011
12012
12013
12014
12015
12016
12017
12018
12019
12020
12021
12022
12023
12024
12025
12026
12027
12028
12029
12030
12031
12032
12033
12034
12035
12036
12037
12038
12039
12040
12041
12042
12043
12044
12045
12046
12047
12048
12049
12050
12051
12052
12053
12054
12055
12056
12057
12058
12059
12060
12061
12062
12063
12064
12065
12066
12067
12068
12069
12070
12071
12072
12073
12074
12075
12076
12077
12078
12079
12080
12081
12082
12083
12084
12085
12086
12087
12088
12089
12090
12091
12092
12093
12094
12095
12096
12097
12098
12099
12100
12101
12102
12103
12104
12105
12106
12107
12108
12109
12110
12111
12112
12113
12114
12115
12116
12117
12118
12119
12120
12121
12122
12123
12124
12125
12126
12127
12128
12129
12130
12131
12132
12133
12134
12135
12136
12137
12138
12139
12140
12141
12142
12143
12144
12145
12146
12147
12148
12149
12150
12151
12152
12153
12154
12155
12156
12157
12158
12159
12160
12161
12162
12163
12164
12165
12166
12167
12168
12169
12170
12171
12172
12173
12174
12175
12176
12177
12178
12179
12180
12181
12182
12183
12184
12185
12186
12187
12188
12189
12190
12191
12192
12193
12194
12195
12196
12197
12198
12199
12200
12201
12202
12203
12204
12205
12206
12207
12208
12209
12210
12211
12212
12213
12214
12215
12216
12217
12218
12219
12220
12221
12222
12223
12224
12225
12226
12227
12228
12229
12230
12231
12232
12233
12234
12235
12236
12237
12238
12239
12240
12241
12242
12243
12244
12245
12246
12247
12248
12249
12250
12251
12252
12253
12254
12255
12256
12257
12258
12259
12260
12261
12262
12263
12264
12265
12266
12267
12268
12269
12270
12271
12272
12273
12274
12275
12276
12277
12278
12279
12280
12281
12282
12283
12284
12285
12286
12287
12288
12289
12290
12291
12292
12293
12294
12295
12296
12297
12298
12299
12300
12301
12302
12303
12304
12305
12306
12307
12308
12309
12310
12311
12312
12313
12314
12315
12316
12317
12318
12319
12320
12321
12322
12323
12324
12325
12326
12327
12328
12329
12330
12331
12332
12333
12334
12335
12336
12337
12338
12339
12340
12341
12342
12343
12344
12345
12346
12347
12348
12349
12350
12351
12352
12353
12354
12355
12356
12357
12358
12359
12360
12361
12362
12363
12364
12365
12366
12367
12368
12369
12370
12371
12372
12373
12374
12375
12376
12377
12378
12379
12380
12381
12382
12383
12384
12385
12386
12387
12388
12389
12390
12391
12392
12393
12394
12395
12396
12397
12398
12399
12400
12401
12402
12403
12404
12405
12406
12407
12408
12409
12410
12411
12412
12413
12414
12415
12416
12417
12418
12419
12420
12421
12422
12423
12424
12425
12426
12427
12428
12429
12430
12431
12432
12433
12434
12435
12436
12437
12438
12439
12440
12441
12442
12443
12444
12445
12446
12447
12448
12449
12450
12451
12452
12453
12454
12455
12456
12457
12458
12459
12460
12461
12462
12463
12464
12465
12466
12467
12468
12469
12470
12471
12472
12473
12474
12475
12476
12477
12478
12479
12480
12481
12482
12483
12484
12485
12486
12487
12488
12489
12490
12491
12492
12493
12494
12495
12496
12497
12498
12499
12500
12501
12502
12503
12504
12505
12506
12507
12508
12509
12510
12511
12512
12513
12514
12515
12516
12517
12518
12519
12520
12521
12522
12523
12524
12525
12526
12527
12528
12529
12530
12531
12532
12533
12534
12535
12536
12537
12538
12539
12540
12541
12542
12543
12544
12545
12546
12547
12548
12549
12550
12551
12552
12553
12554
12555
12556
12557
12558
12559
12560
12561
12562
12563
12564
12565
12566
12567
12568
12569
12570
12571
12572
12573
12574
12575
12576
12577
12578
12579
12580
12581
12582
12583
12584
12585
12586
12587
12588
12589
12590
12591
12592
12593
12594
12595
12596
12597
12598
12599
12600
12601
12602
12603
12604
12605
12606
12607
12608
12609
12610
12611
12612
12613
12614
12615
12616
12617
12618
12619
12620
12621
12622
12623
12624
12625
12626
12627
12628
12629
12630
12631
12632
12633
12634
12635
12636
12637
12638
12639
12640
12641
12642
12643
12644
12645
12646
12647
12648
12649
12650
12651
12652
12653
12654
12655
12656
12657
12658
12659
12660
12661
12662
12663
12664
12665
12666
12667
12668
12669
12670
12671
12672
12673
12674
12675
12676
12677
12678
12679
12680
12681
12682
12683
12684
12685
12686
12687
12688
12689
12690
12691
12692
12693
12694
12695
12696
12697
12698
12699
12700
12701
12702
12703
12704
12705
12706
12707
12708
12709
12710
12711
12712
12713
12714
12715
12716
12717
12718
12719
12720
12721
12722
12723
12724
12725
12726
12727
12728
12729
12730
12731
12732
12733
12734
12735
12736
12737
12738
12739
12740
12741
12742
12743
12744
12745
12746
12747
12748
12749
12750
12751
12752
12753
12754
12755
12756
12757
12758
12759
12760
12761
12762
12763
12764
12765
12766
12767
12768
12769
12770
12771
12772
12773
12774
12775
12776
12777
12778
12779
12780
12781
12782
12783
12784
12785
12786
12787
12788
12789
12790
12791
12792
12793
12794
12795
12796
12797
12798
12799
12800
12801
12802
12803
12804
12805
12806
12807
12808
12809
12810
12811
12812
12813
12814
12815
12816
12817
12818
12819
12820
12821
12822
12823
12824
12825
12826
12827
12828
12829
12830
12831
12832
12833
12834
12835
12836
12837
12838
12839
12840
12841
12842
12843
12844
12845
12846
12847
12848
12849
12850
12851
12852
12853
12854
12855
12856
12857
12858
12859
12860
12861
12862
12863
12864
12865
12866
12867
12868
12869
12870
12871
12872
12873
12874
12875
12876
12877
12878
12879
12880
12881
12882
12883
12884
12885
12886
12887
12888
12889
12890
12891
12892
12893
12894
12895
12896
12897
12898
12899
12900
12901
12902
12903
12904
12905
12906
12907
12908
12909
12910
12911
12912
12913
12914
12915
12916
12917
12918
12919
12920
12921
12922
12923
12924
12925
12926
12927
12928
12929
12930
12931
12932
12933
12934
12935
12936
12937
12938
12939
12940
12941
12942
12943
12944
12945
12946
12947
12948
12949
12950
12951
12952
12953
12954
12955
12956
12957
12958
12959
12960
12961
12962
12963
12964
12965
12966
12967
12968
12969
12970
12971
12972
12973
12974
12975
12976
12977
12978
12979
12980
12981
12982
12983
12984
12985
12986
12987
12988
12989
12990
12991
12992
12993
12994
12995
12996
12997
12998
12999
13000
13001
13002
13003
13004
13005
13006
13007
13008
13009
13010
13011
13012
13013
13014
13015
13016
13017
13018
13019
13020
13021
13022
13023
13024
13025
13026
13027
13028
13029
13030
13031
13032
13033
13034
13035
13036
13037
13038
13039
13040
13041
13042
13043
13044
13045
13046
13047
13048
13049
13050
13051
13052
13053
13054
13055
13056
13057
13058
13059
13060
13061
13062
13063
13064
13065
13066
13067
13068
13069
13070
13071
13072
13073
13074
13075
13076
13077
13078
13079
13080
13081
13082
13083
13084
13085
13086
13087
13088
13089
13090
13091
13092
13093
13094
13095
13096
13097
13098
13099
13100
13101
13102
13103
13104
13105
13106
13107
13108
13109
13110
13111
13112
13113
13114
13115
13116
13117
13118
13119
13120
13121
13122
13123
13124
13125
13126
13127
13128
13129
13130
13131
13132
13133
13134
13135
13136
13137
13138
13139
13140
13141
13142
13143
13144
13145
13146
13147
13148
13149
13150
13151
13152
13153
13154
13155
13156
13157
13158
13159
13160
13161
13162
13163
13164
13165
13166
13167
13168
13169
13170
13171
13172
13173
13174
13175
13176
13177
13178
13179
13180
13181
13182
13183
13184
13185
13186
13187
13188
13189
13190
13191
13192
13193
13194
13195
13196
13197
13198
13199
13200
13201
13202
13203
13204
13205
13206
13207
13208
13209
13210
13211
13212
13213
13214
13215
13216
13217
13218
13219
13220
13221
13222
13223
13224
13225
13226
13227
13228
13229
13230
13231
13232
13233
13234
13235
13236
13237
13238
13239
13240
13241
13242
13243
13244
13245
13246
13247
13248
13249
13250
13251
13252
13253
13254
13255
13256
13257
13258
13259
13260
13261
13262
13263
13264
13265
13266
13267
13268
13269
13270
13271
13272
13273
13274
13275
13276
13277
13278
13279
13280
13281
13282
13283
13284
13285
13286
13287
13288
13289
13290
13291
13292
13293
13294
13295
13296
13297
13298
13299
13300
13301
13302
13303
13304
13305
13306
13307
13308
13309
13310
13311
13312
13313
13314
13315
13316
13317
13318
13319
13320
13321
13322
13323
13324
13325
13326
13327
13328
13329
13330
13331
13332
13333
13334
13335
13336
13337
13338
13339
13340
13341
13342
13343
13344
13345
13346
13347
13348
13349
13350
13351
13352
13353
13354
13355
13356
13357
13358
13359
13360
13361
13362
13363
13364
13365
13366
13367
13368
13369
13370
13371
13372
13373
13374
13375
13376
13377
13378
13379
13380
13381
13382
13383
13384
13385
13386
13387
13388
13389
13390
13391
13392
13393
13394
13395
13396
13397
13398
13399
13400
13401
13402
13403
13404
13405
13406
13407
13408
13409
13410
13411
13412
13413
13414
13415
13416
13417
13418
13419
13420
13421
13422
13423
13424
13425
13426
13427
13428
13429
13430
13431
13432
13433
13434
13435
13436
13437
13438
13439
13440
13441
13442
13443
13444
13445
13446
13447
13448
13449
13450
13451
13452
13453
13454
13455
13456
13457
13458
13459
13460
13461
13462
13463
13464
13465
13466
13467
13468
13469
13470
13471
13472
13473
13474
13475
13476
13477
13478
13479
13480
13481
13482
13483
13484
13485
13486
13487
13488
13489
13490
13491
13492
13493
13494
13495
13496
13497
13498
13499
13500
13501
13502
13503
13504
13505
13506
13507
13508
13509
13510
13511
13512
13513
13514
13515
13516
13517
13518
13519
13520
13521
13522
13523
13524
13525
13526
13527
13528
13529
13530
13531
13532
13533
13534
13535
13536
13537
13538
13539
13540
13541
13542
13543
13544
13545
13546
13547
13548
13549
13550
13551
13552
13553
13554
13555
13556
13557
13558
13559
13560
13561
13562
13563
13564
13565
13566
13567
13568
13569
13570
13571
13572
13573
13574
13575
13576
13577
13578
13579
13580
13581
13582
13583
13584
13585
13586
13587
13588
13589
13590
13591
13592
13593
13594
13595
13596
13597
13598
13599
13600
13601
13602
13603
13604
13605
13606
13607
13608
13609
13610
13611
13612
13613
13614
13615
13616
13617
13618
13619
13620
13621
13622
13623
13624
13625
13626
13627
13628
13629
13630
13631
13632
13633
13634
13635
13636
13637
13638
13639
13640
13641
13642
13643
13644
13645
13646
13647
13648
13649
13650
13651
13652
13653
13654
13655
13656
13657
13658
13659
13660
13661
13662
13663
13664
13665
13666
13667
13668
13669
13670
13671
13672
13673
13674
13675
13676
13677
13678
13679
13680
13681
13682
13683
13684
13685
13686
13687
13688
13689
13690
13691
13692
13693
13694
13695
13696
13697
13698
13699
13700
13701
13702
13703
13704
13705
13706
13707
13708
13709
13710
13711
13712
13713
13714
13715
13716
13717
13718
13719
13720
13721
13722
13723
13724
13725
13726
13727
13728
13729
13730
13731
13732
13733
13734
13735
13736
13737
13738
13739
13740
13741
13742
13743
13744
13745
13746
13747
13748
13749
13750
13751
13752
13753
13754
13755
13756
13757
13758
13759
13760
13761
13762
13763
13764
13765
13766
13767
13768
13769
13770
13771
13772
13773
13774
13775
13776
13777
13778
13779
13780
13781
13782
13783
13784
13785
13786
13787
13788
13789
13790
13791
13792
13793
13794
13795
13796
13797
13798
13799
13800
13801
13802
13803
13804
13805
13806
13807
13808
13809
13810
13811
13812
13813
13814
13815
13816
13817
13818
13819
13820
13821
13822
13823
13824
13825
13826
13827
13828
13829
13830
13831
13832
13833
13834
13835
13836
13837
13838
13839
13840
13841
13842
13843
13844
13845
13846
13847
13848
13849
13850
13851
13852
13853
13854
13855
13856
13857
13858
13859
13860
13861
13862
13863
13864
13865
13866
13867
13868
13869
13870
13871
13872
13873
13874
13875
13876
13877
13878
13879
13880
13881
13882
13883
13884
13885
13886
13887
13888
13889
13890
13891
13892
13893
13894
13895
13896
13897
13898
13899
13900
13901
13902
13903
13904
13905
13906
13907
13908
13909
13910
13911
13912
13913
13914
13915
13916
13917
13918
13919
13920
13921
13922
13923
13924
13925
13926
13927
13928
13929
13930
13931
13932
13933
13934
13935
13936
13937
13938
13939
13940
13941
13942
13943
13944
13945
13946
13947
13948
13949
13950
13951
13952
13953
13954
13955
13956
13957
13958
13959
13960
13961
13962
13963
13964
13965
13966
13967
13968
13969
13970
13971
13972
13973
13974
13975
13976
13977
13978
13979
13980
13981
13982
13983
13984
13985
13986
13987
13988
13989
13990
13991
13992
13993
13994
13995
13996
13997
13998
13999
14000
14001
14002
14003
14004
14005
14006
14007
14008
14009
14010
14011
14012
14013
14014
14015
14016
14017
14018
14019
14020
14021
14022
14023
14024
14025
14026
14027
14028
14029
14030
14031
14032
14033
14034
14035
14036
14037
14038
14039
14040
14041
14042
14043
14044
14045
14046
14047
14048
14049
14050
14051
14052
14053
14054
14055
14056
14057
14058
14059
14060
14061
14062
14063
14064
14065
14066
14067
14068
14069
14070
14071
14072
14073
14074
14075
14076
14077
14078
14079
14080
14081
14082
14083
14084
14085
14086
14087
14088
14089
14090
14091
14092
14093
14094
14095
14096
14097
14098
14099
14100
14101
14102
14103
14104
14105
14106
14107
14108
14109
14110
14111
14112
14113
14114
14115
14116
14117
14118
14119
14120
14121
14122
14123
14124
14125
14126
14127
14128
14129
14130
14131
14132
14133
14134
14135
14136
14137
14138
14139
14140
14141
14142
14143
14144
14145
14146
14147
14148
14149
14150
14151
14152
14153
14154
14155
14156
14157
14158
14159
14160
14161
14162
14163
14164
14165
14166
14167
14168
14169
14170
14171
14172
14173
14174
14175
14176
14177
14178
14179
14180
14181
14182
14183
14184
14185
14186
14187
14188
14189
14190
14191
14192
14193
14194
14195
14196
14197
14198
14199
14200
14201
14202
14203
14204
14205
14206
14207
14208
14209
14210
14211
14212
14213
14214
14215
14216
14217
14218
14219
14220
14221
14222
14223
14224
14225
14226
14227
14228
14229
14230
14231
14232
14233
14234
14235
14236
14237
14238
14239
14240
14241
14242
14243
14244
14245
14246
14247
14248
14249
14250
14251
14252
14253
14254
14255
14256
14257
14258
14259
14260
14261
14262
14263
14264
14265
14266
14267
14268
14269
14270
14271
14272
14273
14274
14275
14276
14277
14278
14279
14280
14281
14282
14283
14284
14285
14286
14287
14288
14289
14290
14291
14292
14293
14294
14295
14296
14297
14298
14299
14300
14301
14302
14303
14304
14305
14306
14307
14308
14309
14310
14311
14312
14313
14314
14315
14316
14317
14318
14319
14320
14321
14322
14323
14324
14325
14326
14327
14328
14329
14330
14331
14332
14333
14334
14335
14336
14337
14338
14339
14340
14341
14342
14343
14344
14345
14346
14347
14348
14349
14350
14351
14352
14353
14354
14355
14356
14357
14358
14359
14360
14361
14362
14363
14364
14365
14366
14367
14368
14369
14370
14371
14372
14373
14374
14375
14376
14377
14378
14379
14380
14381
14382
14383
14384
14385
14386
14387
14388
14389
14390
14391
14392
14393
14394
14395
14396
14397
14398
14399
14400
14401
14402
14403
14404
14405
14406
14407
14408
14409
14410
14411
14412
14413
14414
14415
14416
14417
14418
14419
14420
14421
14422
14423
14424
14425
14426
14427
14428
14429
14430
14431
14432
14433
14434
14435
14436
14437
14438
14439
14440
14441
14442
14443
14444
14445
14446
14447
14448
14449
14450
14451
14452
14453
14454
14455
14456
14457
14458
14459
14460
14461
14462
14463
14464
14465
14466
14467
14468
14469
14470
14471
14472
14473
14474
14475
14476
14477
14478
14479
14480
14481
14482
14483
14484
14485
14486
14487
14488
14489
14490
14491
14492
14493
14494
14495
14496
14497
14498
14499
14500
14501
14502
14503
14504
14505
14506
14507
14508
14509
14510
14511
14512
14513
14514
14515
14516
14517
14518
14519
14520
14521
14522
14523
14524
14525
14526
14527
14528
14529
14530
14531
14532
14533
14534
14535
14536
14537
14538
14539
14540
14541
14542
14543
14544
14545
14546
14547
14548
14549
14550
14551
14552
14553
14554
14555
14556
14557
14558
14559
14560
14561
14562
14563
14564
14565
14566
14567
14568
14569
14570
14571
14572
14573
14574
14575
14576
14577
14578
14579
14580
14581
14582
14583
14584
14585
14586
14587
14588
14589
14590
14591
14592
14593
14594
14595
14596
14597
14598
14599
14600
14601
14602
14603
14604
14605
14606
14607
14608
14609
14610
14611
14612
14613
14614
14615
14616
14617
14618
14619
14620
14621
14622
14623
14624
14625
14626
14627
14628
14629
14630
14631
14632
14633
14634
14635
14636
14637
14638
14639
14640
14641
14642
14643
14644
14645
14646
14647
14648
14649
14650
14651
14652
14653
14654
14655
14656
14657
14658
14659
14660
14661
14662
14663
14664
14665
14666
14667
14668
14669
14670
14671
14672
14673
14674
14675
14676
14677
14678
14679
14680
14681
14682
14683
14684
14685
14686
14687
14688
14689
14690
14691
14692
14693
14694
14695
14696
14697
14698
14699
14700
14701
14702
14703
14704
14705
14706
14707
14708
14709
14710
14711
14712
14713
14714
14715
14716
14717
14718
14719
14720
14721
14722
14723
14724
14725
14726
14727
14728
14729
14730
14731
14732
14733
14734
14735
14736
14737
14738
14739
14740
14741
14742
14743
14744
14745
14746
14747
14748
14749
14750
14751
14752
14753
14754
14755
14756
14757
14758
14759
14760
14761
14762
14763
14764
14765
14766
14767
14768
14769
14770
14771
14772
14773
14774
14775
14776
14777
14778
14779
14780
14781
14782
14783
14784
14785
14786
14787
14788
14789
14790
14791
14792
14793
14794
14795
14796
14797
14798
14799
14800
14801
14802
14803
14804
14805
14806
14807
14808
14809
14810
14811
14812
14813
14814
14815
14816
14817
14818
14819
14820
14821
14822
14823
14824
14825
14826
14827
14828
14829
14830
14831
14832
14833
14834
14835
14836
14837
14838
14839
14840
14841
14842
14843
14844
14845
14846
14847
14848
14849
14850
14851
14852
14853
14854
14855
14856
14857
14858
14859
14860
14861
14862
14863
14864
14865
14866
14867
14868
14869
14870
14871
14872
14873
14874
14875
14876
14877
14878
14879
14880
14881
14882
14883
14884
14885
14886
14887
14888
14889
14890
14891
14892
14893
14894
14895
14896
14897
14898
14899
14900
14901
14902
14903
14904
14905
14906
14907
14908
14909
14910
14911
14912
14913
14914
14915
14916
14917
14918
14919
14920
14921
14922
14923
14924
14925
14926
14927
14928
14929
14930
14931
14932
14933
14934
14935
14936
14937
14938
14939
14940
14941
14942
14943
14944
14945
14946
14947
14948
14949
14950
14951
14952
14953
14954
14955
14956
14957
14958
14959
14960
14961
14962
14963
14964
14965
14966
14967
14968
14969
14970
14971
14972
14973
14974
14975
14976
14977
14978
14979
14980
14981
14982
14983
14984
14985
14986
14987
14988
14989
14990
14991
14992
14993
14994
14995
14996
14997
14998
14999
15000
15001
15002
15003
15004
15005
15006
15007
15008
15009
15010
15011
15012
15013
15014
15015
15016
15017
15018
15019
15020
15021
15022
15023
15024
15025
15026
15027
15028
15029
15030
15031
15032
15033
15034
15035
15036
15037
15038
15039
15040
15041
15042
15043
15044
15045
15046
15047
15048
15049
15050
15051
15052
15053
15054
15055
15056
15057
15058
15059
15060
15061
15062
15063
15064
15065
15066
15067
15068
15069
15070
15071
15072
15073
15074
15075
15076
15077
15078
15079
15080
15081
15082
15083
15084
15085
15086
15087
15088
15089
15090
15091
15092
15093
15094
15095
15096
15097
15098
15099
15100
15101
15102
15103
15104
15105
15106
15107
15108
15109
15110
15111
15112
15113
15114
15115
15116
15117
15118
15119
15120
15121
15122
15123
15124
15125
15126
15127
15128
15129
15130
15131
15132
15133
15134
15135
15136
15137
15138
15139
15140
15141
15142
15143
15144
15145
15146
15147
15148
15149
15150
15151
15152
15153
15154
15155
15156
15157
15158
15159
15160
15161
15162
15163
15164
15165
15166
15167
15168
15169
15170
15171
15172
15173
15174
15175
15176
15177
15178
15179
15180
15181
15182
15183
15184
15185
15186
15187
15188
15189
15190
15191
15192
15193
15194
15195
15196
15197
15198
15199
15200
15201
15202
15203
15204
15205
15206
15207
15208
15209
15210
15211
15212
15213
15214
15215
15216
15217
15218
15219
15220
15221
15222
15223
15224
15225
15226
15227
15228
15229
15230
15231
15232
15233
15234
15235
15236
15237
15238
15239
15240
15241
15242
15243
15244
15245
15246
15247
15248
15249
15250
15251
15252
15253
15254
15255
15256
15257
15258
15259
15260
15261
15262
15263
15264
15265
15266
15267
15268
15269
15270
15271
15272
15273
15274
15275
15276
15277
15278
15279
15280
15281
15282
15283
15284
15285
15286
15287
15288
15289
15290
15291
15292
15293
15294
15295
15296
15297
15298
15299
15300
15301
15302
15303
15304
15305
15306
15307
15308
15309
15310
15311
15312
15313
15314
15315
15316
15317
15318
15319
15320
15321
15322
15323
15324
15325
15326
15327
15328
15329
15330
15331
15332
15333
15334
15335
15336
15337
15338
15339
15340
15341
15342
15343
15344
15345
15346
15347
15348
15349
15350
15351
15352
15353
15354
15355
15356
15357
15358
15359
15360
15361
15362
15363
15364
15365
15366
15367
15368
15369
15370
15371
15372
15373
15374
15375
15376
15377
15378
15379
15380
15381
15382
15383
15384
15385
15386
15387
15388
15389
15390
15391
15392
15393
15394
15395
15396
15397
15398
15399
15400
15401
15402
15403
15404
15405
15406
15407
15408
15409
15410
15411
15412
15413
15414
15415
15416
15417
15418
15419
15420
15421
15422
15423
15424
15425
15426
15427
15428
15429
15430
15431
15432
15433
15434
15435
15436
15437
15438
15439
15440
15441
15442
15443
15444
15445
15446
15447
15448
15449
15450
15451
15452
15453
15454
15455
15456
15457
15458
15459
15460
15461
15462
15463
15464
15465
15466
15467
15468
15469
15470
15471
15472
15473
15474
15475
15476
15477
15478
15479
15480
15481
15482
15483
15484
15485
15486
15487
15488
15489
15490
15491
15492
15493
15494
15495
15496
15497
15498
15499
15500
15501
15502
15503
15504
15505
15506
15507
15508
15509
15510
15511
15512
15513
15514
15515
15516
15517
15518
15519
15520
15521
15522
15523
15524
15525
15526
15527
15528
15529
15530
15531
15532
15533
15534
15535
15536
15537
15538
15539
15540
15541
15542
15543
15544
15545
15546
15547
15548
15549
15550
15551
15552
15553
15554
15555
15556
15557
15558
15559
15560
15561
15562
15563
15564
15565
15566
15567
15568
15569
15570
15571
15572
15573
15574
15575
15576
15577
15578
15579
15580
15581
15582
15583
15584
15585
15586
15587
15588
15589
15590
15591
15592
15593
15594
15595
15596
15597
15598
15599
15600
15601
15602
15603
15604
15605
15606
15607
15608
15609
15610
15611
15612
15613
15614
15615
15616
15617
15618
15619
15620
15621
15622
15623
15624
15625
15626
15627
15628
15629
15630
15631
15632
15633
15634
15635
15636
15637
15638
15639
15640
15641
15642
15643
15644
15645
15646
15647
15648
15649
15650
15651
15652
15653
15654
15655
15656
15657
15658
15659
15660
15661
15662
15663
15664
15665
15666
15667
15668
15669
15670
15671
15672
15673
15674
15675
15676
15677
15678
15679
15680
15681
15682
15683
15684
15685
15686
15687
15688
15689
15690
15691
15692
15693
15694
15695
15696
15697
15698
15699
15700
15701
15702
15703
15704
15705
15706
15707
15708
15709
15710
15711
15712
15713
15714
15715
15716
15717
15718
15719
15720
15721
15722
15723
15724
15725
15726
15727
15728
15729
15730
15731
15732
15733
15734
15735
15736
15737
15738
15739
15740
15741
15742
15743
15744
15745
15746
15747
15748
15749
15750
15751
15752
15753
15754
15755
15756
15757
15758
15759
15760
15761
15762
15763
15764
15765
15766
15767
15768
15769
15770
15771
15772
15773
15774
15775
15776
15777
15778
15779
15780
15781
15782
15783
15784
15785
15786
15787
15788
15789
15790
15791
15792
15793
15794
15795
15796
15797
15798
15799
15800
15801
15802
15803
15804
15805
15806
15807
15808
15809
15810
15811
15812
15813
15814
15815
15816
15817
15818
15819
15820
15821
15822
15823
15824
15825
15826
15827
15828
15829
15830
15831
15832
15833
15834
15835
15836
15837
15838
15839
15840
15841
15842
15843
15844
15845
15846
15847
15848
15849
15850
15851
15852
15853
15854
15855
15856
15857
15858
15859
15860
15861
15862
15863
15864
15865
15866
15867
15868
15869
15870
15871
15872
15873
15874
15875
15876
15877
15878
15879
15880
15881
15882
15883
15884
15885
15886
15887
15888
15889
15890
15891
15892
15893
15894
15895
15896
15897
15898
15899
15900
15901
15902
15903
15904
15905
15906
15907
15908
15909
15910
15911
15912
15913
15914
15915
15916
15917
15918
15919
15920
15921
15922
15923
15924
15925
15926
15927
15928
15929
15930
15931
15932
15933
15934
15935
15936
15937
15938
15939
15940
15941
15942
15943
15944
15945
15946
15947
15948
15949
15950
15951
15952
15953
15954
15955
15956
15957
15958
15959
15960
15961
15962
15963
15964
15965
15966
15967
15968
15969
15970
15971
15972
15973
15974
15975
15976
15977
15978
15979
15980
15981
15982
15983
15984
15985
15986
15987
15988
15989
15990
15991
15992
15993
15994
15995
15996
15997
15998
15999
16000
16001
16002
16003
16004
16005
16006
16007
16008
16009
16010
16011
16012
16013
16014
16015
16016
16017
16018
16019
16020
16021
16022
16023
16024
16025
16026
16027
16028
16029
16030
16031
16032
16033
16034
16035
16036
16037
16038
16039
16040
16041
16042
16043
16044
16045
16046
16047
16048
16049
16050
16051
16052
16053
16054
16055
16056
16057
16058
16059
16060
16061
16062
16063
16064
16065
16066
16067
16068
16069
16070
16071
16072
16073
16074
16075
16076
16077
16078
16079
16080
16081
16082
16083
16084
16085
16086
16087
16088
16089
16090
16091
16092
16093
16094
16095
16096
16097
16098
16099
16100
16101
16102
16103
16104
16105
16106
16107
16108
16109
16110
16111
16112
16113
16114
16115
16116
16117
16118
16119
16120
16121
16122
16123
16124
16125
16126
16127
16128
16129
16130
16131
16132
16133
16134
16135
16136
16137
16138
16139
16140
16141
16142
16143
16144
16145
16146
16147
16148
16149
16150
16151
16152
16153
16154
16155
16156
16157
16158
16159
16160
16161
16162
16163
16164
16165
16166
16167
16168
16169
16170
16171
16172
16173
16174
16175
16176
16177
16178
16179
16180
16181
16182
16183
16184
16185
16186
16187
16188
16189
16190
16191
16192
16193
16194
16195
16196
16197
16198
16199
16200
16201
16202
16203
16204
16205
16206
16207
16208
16209
16210
16211
16212
16213
16214
16215
16216
16217
16218
16219
16220
16221
16222
16223
16224
16225
16226
16227
16228
16229
16230
16231
16232
16233
16234
16235
16236
16237
16238
16239
16240
16241
16242
16243
16244
16245
16246
16247
16248
16249
16250
16251
16252
16253
16254
16255
16256
16257
16258
16259
16260
16261
16262
16263
16264
16265
16266
16267
16268
16269
16270
16271
16272
16273
16274
16275
16276
16277
16278
16279
16280
16281
16282
16283
16284
16285
16286
16287
16288
16289
16290
16291
16292
16293
16294
16295
16296
16297
16298
16299
16300
16301
16302
16303
16304
16305
16306
16307
16308
16309
16310
16311
16312
16313
16314
16315
16316
16317
16318
16319
16320
16321
16322
16323
16324
16325
16326
16327
16328
16329
16330
16331
16332
16333
16334
16335
16336
16337
16338
16339
16340
16341
16342
16343
16344
16345
16346
16347
16348
16349
16350
16351
16352
16353
16354
16355
16356
16357
16358
16359
16360
16361
16362
16363
16364
16365
16366
16367
16368
16369
16370
16371
16372
16373
16374
16375
16376
16377
16378
16379
16380
16381
16382
16383
16384
16385
16386
16387
16388
16389
16390
16391
16392
16393
16394
16395
16396
16397
16398
16399
16400
16401
16402
16403
16404
16405
16406
16407
16408
16409
16410
16411
16412
16413
16414
16415
16416
16417
16418
16419
16420
16421
16422
16423
16424
16425
16426
16427
16428
16429
16430
16431
16432
16433
16434
16435
16436
16437
16438
16439
16440
16441
16442
16443
16444
16445
16446
16447
16448
16449
16450
16451
16452
16453
16454
16455
16456
16457
16458
16459
16460
16461
16462
16463
16464
16465
16466
16467
16468
16469
16470
16471
16472
16473
16474
16475
16476
16477
16478
16479
16480
16481
16482
16483
16484
16485
16486
16487
16488
16489
16490
16491
16492
16493
16494
16495
16496
16497
16498
16499
16500
16501
16502
16503
16504
16505
16506
16507
16508
16509
16510
16511
16512
16513
16514
16515
16516
16517
16518
16519
16520
16521
16522
16523
16524
16525
16526
16527
16528
16529
16530
16531
16532
16533
16534
16535
16536
16537
16538
16539
16540
16541
16542
16543
16544
16545
16546
16547
16548
16549
16550
16551
16552
16553
16554
16555
16556
16557
16558
16559
16560
16561
16562
16563
16564
16565
16566
16567
16568
16569
16570
16571
16572
16573
16574
16575
16576
16577
16578
16579
16580
16581
16582
16583
16584
16585
16586
16587
16588
16589
16590
16591
16592
16593
16594
16595
16596
16597
16598
16599
16600
16601
16602
16603
16604
16605
16606
16607
16608
16609
16610
16611
16612
16613
16614
16615
16616
16617
16618
16619
16620
16621
16622
16623
16624
16625
16626
16627
16628
16629
16630
%!PS (but not EPSF because of memory limits)
%%Creator: dvips 5.47 Copyright 1986-91 Radical Eye Software
%%Title: main.dvi
%%Pages: 163 1
%%BoundingBox: 0 0 612 792
%%EndComments
%%BeginProcSet: tex.pro
/TeXDict 200 dict def TeXDict begin /N /def load def /B{bind def}N /S /exch
load def /X{S N}B /TR /translate load N /isls false N /vsize 10 N /@rigin{
isls{[0 1 -1 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
Resolution VResolution vsize neg mul TR matrix currentmatrix dup dup 4 get
round 4 exch put dup dup 5 get round 5 exch put setmatrix}N /@letter{/vsize 10
N}B /@landscape{/isls true N /vsize -1 N}B /@a4{/vsize 10.6929133858 N}B /@a3{
/vsize 15.5531 N}B /@ledger{/vsize 16 N}B /@legal{/vsize 13 N}B /@manualfeed{
statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N
/FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn begin
/FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array
/BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2
array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx FMat N df-tail}
B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{pop nn dup definefont
setfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup
length 4 sub get}B /ch-xoff{128 ch-data dup length 3 sub get sub}B /ch-yoff{
ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B
/ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0
N /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S
dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0
ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice
ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]{ch-image}
imagemask restore}B /D{/cc X dup type /stringtype ne{]}if nn /base get cc ctr
put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf
div put}if put /ctr ctr 1 add N}B /I{cc 1 add D}B /bop{userdict /bop-hook
known{bop-hook}if /SI save N @rigin 0 0 moveto}N /eop{clear SI restore
showpage userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook
known{start-hook}if /VResolution X /Resolution X 1000 div /DVImag X /IE 256
array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for}N /p /show load N
/RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X
/rulex X V}B /V statusdict begin /product where{pop product dup length 7 ge{0
7 getinterval(Display)eq}{pop false}ifelse}{false}ifelse end{{gsave TR -.1 -.1
TR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1
-.1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /a{
moveto}B /delta 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{
S p tail}B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B
/j{3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w
}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p
a}B /bos{/SS save N}B /eos{clear SS restore}B end
%%EndProcSet
%%BeginProcSet: lprep68.procs
systemdict/currentpacking known{currentpacking true setpacking}if
/LW{0}def 
/LW+{LW 2 eq}bind def
/ok{systemdict/statusdict known dup{LW 0 gt and}if}bind def
/md 250 dict def md begin
/av 0 def
/T true def/F false def/mtx matrix def/s75 75 string def/s8 8 string def/s1 ( ) def/pxs 1 def/pys 1 def
1 0 mtx defaultmatrix dtransform exch atan/pa exch def/nlw .24 def/ppr [-32 -29.52 762 582.48] def
/pgs 1 def/por true def/xb 500 array def/so true def/tso true def/fillflag false def/pnm 1 def/fmv true def
/sfl false def/ma 0 def/invertflag false def/dbinvertflag false def/xflip false def/yflip false def/noflips true def/scaleby96 false def/fNote true def/fBitStretch true def
/fg (Rvd\001\001\000\000\177) def
/bdf{bind def}bind def
/xdf{exch def}bdf
/xl{neg exch neg translate}bdf
/fp{pnsh 0 ne pnsv 0 ne and}bdf
/nop{}bdf/lnop[/nop load]cvx bdf
/vrb[
{fp{fg 6 get 0 ne{gsave stroke grestore}{gsave 1 setlinewidth pnsh pnsv scale stroke grestore}ifelse}if newpath}bind
/eofill load
dup
/newpath load
2 index
dup
{clip newpath}bind
{}bind
dup
2 copy
]def
currentscreen/spf xdf/rot xdf/freq xdf
/doop{vrb exch get exec}bdf
/psu{/tso xdf /fNote xdf/fBitStretch xdf/scaleby96 xdf/yflip xdf/xflip xdf
/invertflag xdf/dbinvertflag invertflag statusdict begin version cvr 47.0 ge product (LaserWriter) eq not and end invertflag and {not}if def
xflip yflip or{/noflips false def}if
/pgs xdf 2 index .72 mul exch div/pys xdf div .72 mul/pxs xdf ppr astore pop/por xdf sn and/so xdf}bdf
/tab{statusdict /11x17 known{statusdict begin /11x17 load end}{statusdict /setpage known{statusdict begin 792 1224 1 setpage end}{statusdict /setpageparams known{statusdict begin 792 1224 0 1 setpageparams end}if}ifelse}ifelse}bdf
/txpose{
	pxs pys scale 
	ppr aload pop por{
		noflips{
			pop exch neg exch translate pop 1 -1 scale
		}if
		xflip yflip and{
			pop exch neg exch translate 180 rotate 1 -1 scale 
			ppr 3 get ppr 1 get neg sub neg ppr 2 get 
			ppr 0 get neg sub neg translate
		}if 
		xflip yflip not and{
			pop exch neg exch translate pop 180 rotate 
			ppr 3 get ppr 1 get neg sub neg 0 translate
		}if 
		yflip xflip not and{
			ppr 1 get neg ppr 0 get neg translate
		}if
	}{
		noflips{
			translate pop pop 270 rotate 1 -1 scale
		}if 
		xflip yflip and{
			translate pop pop 90 rotate 1 -1 scale 
			ppr 3 get ppr 1 get neg sub neg ppr 2 get 
			ppr 0 get neg sub neg translate
		}if
		xflip yflip not and{
			translate pop pop 90 rotate ppr 3 get ppr 1 get 
			neg sub neg 0 translate
		}if 
		yflip xflip not and{
			translate pop pop 270 rotate ppr 2 get ppr 0 get 
			neg sub neg 0 exch translate
		}if
	}ifelse
	statusdict begin waittimeout 300 lt{
		/waittimeout 300 def
	}if end 
	scaleby96{
		ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 
		2 copy translate .96 dup scale neg exch neg exch translate
	}if
}bdf
/fr{4 copy ppr aload pop 3 -1 roll add 3 1 roll exch add 6 2 roll 3 -1 roll
sub 3 1 roll exch sub 3 -1 roll exch div 3 1 roll div exch scale pop pop xl}bdf
/obl{{0.212557 mul}{pop 0}ifelse}bdf
/sfd{ps fg 5 -1 roll get mul 100 div 0 ps 5 -1 roll obl ps neg 0 0 6a astore makefont setfont}bdf
/fnt{findfont sfd}bdf
/bt{sa 3 1 roll 3 index and put}bdf
/sa(\000\000\000\000\000\000\000\000\000\000)def
/fs{0 1 bt 1 2 bt 2 4 bt 3 8 bt 4 16 bt 5 32 bt 6 64 bt 7 128 bt sa exch 8 exch put}bdf
/mx1 matrix def
/mx2 matrix def
/mx3 matrix def
/bu{currentpoint currentgray currentlinewidth currentlinecap currentlinejoin currentdash exch aload length
fg 5 sfl{1}{0}ifelse put pnsv pnsh
2t aload pop 3a aload pop mx2 aload pop mx1 aload pop mtx currentmatrix aload pop
mx3 aload pop ps pm restore/ps xdf mx3 astore pop}bdf
/bn{/pm save def mx3 setmatrix newpath 0 0 moveto ct dup 39 get 0 exch getinterval cvx exec
mtx astore setmatrix mx1 astore pop mx2 astore pop 3a astore pop
2t astore pop/pnsh xdf/pnsv xdf gw
/sfl fg 5 get 0 ne def array astore exch setdash setlinejoin setlinecap
setlinewidth setgray moveto}bdf
/fc{save vmstatus exch sub 50000 lt
{(%%[|0|]%%)=print flush}if pop restore}bdf
/tc{32768 div add 3 1 roll 32768 div add 2t astore pop}bdf
/3a [0 0 0] def
/2t 2 array def
/tp{3a astore pop}bdf
/tt{mx2 currentmatrix pop currentpoint 2 copy 2t aload pop qa 2 copy translate 3a aload pop exch dup 0 eq
{pop}{1 eq{-1 1}{1 -1}ifelse scale}ifelse rotate pop neg exch neg exch translate moveto}bdf
/te{mx2 setmatrix}bdf
/th{3 -1 roll div 3 1 roll exch div 2 copy mx1 scale pop scale/sfl true def}bdf
/tu{1 1 mx1 itransform scale/sfl false def}bdf
/ts{1 1 mx1 transform scale/sfl true def}bdf
/fz{/ps xdf}bdf
/dv{dup 0 ne{div}{pop}ifelse}bdf
/pop4{pop pop pop pop}bdf
/it{sfl{mx1 itransform}if}bdf
/gm{exch it moveto}bdf/rm{it rmoveto}bdf
/lm{currentpoint sfl{mx1 transform}if exch pop sub 0 exch it rmoveto}bdf
/fm{statusdict/manualfeed known}bdf
/se{statusdict exch/manualfeed exch put}bdf
/mf{dup/ma exch def 0 gt{fm se/t1 5 st ok ma 1 gt and{/t2 0 st/t3 0 st
statusdict/manualfeedtimeout 3600 put
}if}if}bdf
/jn{/statusdict where exch pop{statusdict exch /jobname exch put}if}bdf
/pen{pnm mul/pnsh xdf pnm mul/pnsv xdf pnsh setlinewidth}bdf
/min{2 copy gt{exch}if pop}bdf
/max{2 copy lt{exch}if pop}bdf
/dh{fg 6 1 put array astore dup {1 pxs div mul exch}forall astore exch pop exch pop exch setdash}bdf
/ih[currentdash]def
/rh{fg 6 0 put ih aload pop setdash}bdf
/dl{gsave nlw pys div setlinewidth 0 setgray}bdf
/dlin{exch currentpoint currentlinewidth 2 div dup
translate newpath moveto lineto currentpoint stroke grestore moveto}bdf
/lin{fg 6 get 0 ne{exch lineto currentpoint 0 doop moveto}
{exch currentpoint/pnlv xdf/pnlh xdf gsave newpath/@1 xdf/@2 xdf fp{pnlh @2 lt{pnlv @1 ge
{pnlh pnlv moveto @2 @1 lineto pnsh 0 rlineto
0 pnsv rlineto pnlh pnsh add pnlv pnsv add lineto pnsh neg 0 rlineto}
{pnlh pnlv moveto pnsh 0 rlineto @2 pnsh add @1 lineto 0 pnsv rlineto
pnsh neg 0 rlineto pnlh pnlv pnsv add lineto}ifelse}{pnlv @1 gt
{@2 @1 moveto pnsh 0 rlineto pnlh pnsh add pnlv lineto 0 pnsv rlineto
pnsh neg 0 rlineto @2 @1 pnsv add lineto}{pnlh pnlv moveto pnsh 0 rlineto
0 pnsv rlineto @2 pnsh add @1 pnsv add lineto pnsh neg 0 rlineto
0 pnsv neg rlineto}ifelse}ifelse
closepath fill}if @2 @1 grestore moveto}ifelse}bdf
/gw{/pnm fg 3 get fg 4 get div def}bdf
/lw{fg exch 4 exch put fg exch 3 exch put gw pnsv pnsh pen}bdf
/barc{/@1 xdf/@2 xdf/@3 xdf/@4 xdf/@5 xdf
/@6 xdf/@7 xdf/@8 xdf gsave
@5 @7 add 2 div @6 @8 add 2 div translate newpath 0 0 moveto
@5 @7 sub @6 @8 sub mtx currentmatrix pop scale @1{newpath}if
0 0 0.5 @4 @3 arc @4 @3 sub abs 360 ge{closepath}if
mtx setmatrix @2 doop grestore}bdf
/ar{dup 0 eq barc}bdf
/ov{0 exch 360 exch true barc}bdf
/rc{/@t xdf currentpoint 6 2 roll newpath 4 copy 4 2 roll exch moveto
6 -1 roll lineto lineto lineto closepath @t doop moveto}bdf
/mup{dup pnsh 2 div le exch pnsv 2 div le or}bdf
/rr{/@1 xdf 2. div/@2 xdf 2. div/@3 xdf
/@4 xdf/@5 xdf/@6 xdf/@7 xdf
@7 @5 eq @6 @4 eq @2 mup or or{@7 @6 @5 @4 @1 rc}
{@4 @6 sub 2. div dup @2 lt{/@2 xdf}{pop}ifelse
@5 @7 sub 2. div dup @2 lt{/@2 xdf}{pop}ifelse
@1 0 eq{/@2 @2 pnsh 2 div 2 copy gt{sub def}{0 pop4}ifelse}if
currentpoint newpath
@4 @6 add 2. div @7 moveto
@4 @7 @4 @5 @2 arcto pop4
@4 @5 @6 @5 @2 arcto pop4
@6 @5 @6 @7 @2 arcto pop4
@6 @7 @4 @7 @2 arcto pop4
closepath @1 doop moveto}ifelse}bdf
/pr{gsave newpath/pl{exch moveto/pl{exch lineto}def}def}bdf
/pl{exch lineto}bdf
/ep{dup 0 eq{{moveto}{exch lin}{}{(%%[|1|]%%)= flush}pathforall
pop grestore}{doop grestore}ifelse currentpoint newpath moveto}bdf
/gr{64. div setgray}bdf
/pat{s8 copy pop 9.375 pa por not{90 add}if{1 add 4 mul cvi s8 exch get exch 1 add 4 mul cvi 7 sub bitshift 1 and}setscreen gr}bdf
/sg{freq rot/spf load setscreen gr}bdf
/dc{transform round .5 sub exch round .5 sub exch itransform}bdf
/sn{userdict/smooth4 known}bdf
/x8{3 bitshift}bdf
/x4{2 bitshift}bdf
/d4{-2 bitshift}bdf
/d8{-3 bitshift}bdf
/rb{15 add -4 bitshift 1 bitshift}bdf
/db{/@7 save def/@1 xdf/@2 xdf/@3 xdf/@4 xdf/@5 xdf/@6 @5 @3 4 add mul def
dc translate scale/xdbit 1 1 idtransform abs/ydbit exch def abs def{0 0 1 ydbit add 1 10 rc clip}if
@1 0 eq @1 4 eq or{1 setgray ydbit 0 1 ydbit add 1 2 rc}if
@1 3 eq @1 7 eq or{1}{0}ifelse setgray/@9 @1 0 eq @1 1 eq @1 3 eq or or dbinvertflag xor def/@13 @6 def
@2 fBitStretch or{/@10 @4 x4 def/@11 @3 x4 def/@12 @10 rb def/@13 @12 @11 mul def/@15 1 1 dtransform abs/calcY 1 index def round cvi/@14 exch def
abs/calcX 1 index def round cvi scaleby96 not{1 add}if def/@16 @15 rb def/@17 @16 @14 mul def}if
sn @13 60000 lt and @2 fBitStretch or and{mtx currentmatrix dup 1 get exch 2 get 0. eq exch 0. eq and @17 60000 lt and fBitStretch and{@16 3 bitshift @14 @9 [calcX 0 0 calcY 0 0]{@17 string @13 string
currentfile @6 string readhexstring pop 1 index @4 @3 @5 @12 @2 smooth4
@10 @11 @12 dup string 5 index @15 @14 @16 dup string stretch}imagemask}{@12 x8 @11 @9 [@10 0 0 @11 0 0]{@13 string
currentfile @6 string readhexstring pop 1 index @4 @3 @5 @12 @2 smooth4}imagemask}ifelse}{@5 3 bitshift @3 4 add @9 [@4 0 0 @3 0 2]{currentfile @6 string readhexstring pop}imagemask}ifelse
@7 restore}bdf
/multibit{/mbdeep exch def/mbY exch def/mbX exch def
save mbX mbY mbdeep[mbX 0 0 mbY 0 0]{currentfile picstr readhexstring pop}image
restore}bdf
/wd 16 dict def
/mfont 14 dict def
/mdf{mfont wcheck not{/mfont 14 dict def}if mfont begin xdf end}bdf
/cf{{1 index/FID ne{def}{pop pop}ifelse}forall}bdf/rf{/@1 exch def/@2 exch def
FontDirectory @2 known{cleartomark pop}{findfont dup begin dup length @1 add dict begin
cf{/Encoding macvec def}{Encoding dup length array copy/Encoding exch def
counttomark 2 idiv{Encoding 3 1 roll put}repeat}ifelse
pop
exec currentdict end end @2 exch definefont pop}ifelse}bdf
/bmbc{exch begin wd begin
/cr xdf
save
CharTable cr 6 mul 6 getinterval{}forall
/bitheight xdf/bitwidth xdf
.96 div/width xdf
Gkernmax add/XOffset xdf Gdescent add/YOffset xdf/rowbytes xdf
rowbytes 255 eq{0 0 0 0 0 0 setcachedevice}
{Gnormsize dup scale
width 0 XOffset YOffset bitwidth XOffset add bitheight YOffset add
setcachedevice
rowbytes 0 ne{
XOffset YOffset translate newpath 0 0 moveto
bitwidth bitheight scale
sn{
/xSmt bitwidth x4 def
/ySmt bitheight x4 def
/rSmt xSmt rb def
rSmt x8 ySmt true
[xSmt 0 0 ySmt neg 0 ySmt]
{rSmt ySmt mul string CharData cr get
1 index bitwidth bitheight rowbytes rSmt tso smooth4}
}{rowbytes 3 bitshift bitheight 4 add true
[bitwidth 0 0 bitheight neg 0 bitheight 2 add]
{CharData cr get}
}ifelse
imagemask
}if
}ifelse
restore
end end
}bdf
/bb{.96 exch div/Gnormsize mdf 2 index
/Gkernmax mdf 1 index/Gdescent mdf
3 index div 4 1 roll
2 index div 1. 5 2 roll
exch div 4 1 roll
4 array astore/FontBBox mdf
}bdf
/cdf{mfont/CharData get 3 1 roll put}bdf
/bf{
mfont begin
/FontType 3 def
/FontMatrix [1 0 0 1 0 0] def
/Encoding macvec def
/BuildChar/bmbc load def
end
mfont definefont pop
}bdf
/wi LW 1 eq{{gsave 0 0 0 0 0 0 0 0 moveto lineto lineto lineto closepath clip stringwidth grestore}bind}{/stringwidth load}ifelse def
/aps{0 get 124 eq}bdf
/xc{s75 cvs dup}bdf
/xp{put cvn}bdf
/scs{xc 3 67 put dup 0 95 xp}bdf
/sos{xc 3 79 xp}bdf
/sbs{xc 1 66 xp}bdf
/sis{xc 2 73 xp}bdf
/sob{xc 2 79 xp}bdf
/sss{xc 4 83 xp}bdf
/dd{exch 1 index add 3 1 roll add exch}bdf
/smc{moveto dup show}bdf
/kwn{FontDirectory 1 index known{findfont exch pop}}bdf
/gl{1 currentgray sub setgray}bdf
/mm{/mfont 10 dict def mfont begin
/FontMatrix [1 0 0 1 0 0] def
/FontType 3 def
/Encoding macvec def
/df 4 index findfont def
/FontBBox [0 0 1 1] def
/xda xdf/mbc xdf
/BuildChar{wd begin/cr xdf/fd xdf/cs s1 dup 0 cr put def fd/mbc get exec end}def
exec end mfont definefont}bdf
/ac{dup scs kwn{exch findfont dup length 1 add dict begin{1 index/FID ne 2 index/UniqueID ne and{def}{pop pop}ifelse}forall
fmv{/Encoding macvec def}if/StrokeWidth nlw 1000 mul pys div ps div dup 12 lt{pop 12}if def
/PaintType 2 def currentdict end definefont}ifelse}bdf
/mb{dup sbs kwn{exch{pop}{bbc}{}mm}ifelse sfd}bdf
/mo{dup sos kwn{exch{pop}{boc}{}mm}ifelse sfd}bdf
/ms{dup sss kwn{exch{pop}{bsc}{}mm}ifelse sfd}bdf
/ou{dup sos kwn{exch dup ac pop{scs findfont /df2 xdf}{aoc}{}mm}ifelse sfd}bdf
/su{dup sss kwn{exch dup ac pop{scs findfont /df2 xdf}{asc}{}mm}ifelse sfd}bdf
/ao{/fmv true def ou}bdf/as{/fmv true def su}bdf
/vo{/fmv false def ou}bdf/vs{/fmv false def su}bdf
/bbc{/da .03 def fd/df get setfont
gsave cs wi 1 index 0 ne{exch da add exch}if grestore setcharwidth
cs 0 0 smc da 0 smc da da smc 0 da moveto show}bdf
/boc{/da 1 ps div def fd/df get setfont
gsave cs wi 1 index 0 ne{exch da add exch}if grestore setcharwidth
cs 0 0 smc da 0 smc da da smc 0 da smc gl da 2. div dup moveto show}bdf
/bsc{/da 1 ps div def
/ds .05 def/da2 da 2. div def fd/df get setfont
gsave cs wi 1 index 0 ne{exch ds add da2 add exch}if grestore setcharwidth
cs ds da2 add .01 add 0 smc 0 ds da2 sub translate 0 0 smc
da 0 smc da da smc 0 da smc gl da 2. div dup moveto show}bdf
/aoc{fd/df get setfont
gsave cs wi grestore setcharwidth
gl cs 0 0 smc fd/df2 get setfont gl 0 0 moveto show}bdf
/asc{/da .05 def fd/df get setfont
gsave cs wi 1 index 0 ne{exch da add exch}if grestore setcharwidth
cs da .01 add 0 smc 0 da translate gl 0 0 smc gl fd/df2 get setfont 0 0 moveto show}bdf
/st{1000 mul usertime add dup 2147483647 gt{2147483647 sub}if def}bdf
/the{usertime sub dup 0 lt exch -2147483648 gt and}bdf
/6a 6 array def
/2a 2 array def
/3q 3 array def
/qs{3 -1 roll sub exch 3 -1 roll sub exch}bdf
/qa{3 -1 roll add exch 3 -1 roll add exch}bdf
/qm{3 -1 roll 1 index mul 3 1 roll mul}bdf
/qn{6a exch get mul}bdf
/qA .166667 def/qB .833333 def/qC .5 def
/qx{6a astore pop
qA 0 qn qB 2 qn add   qA 1 qn qB 3 qn add
qB 2 qn qA 4 qn add   qB 3 qn qA 5 qn add
qC 2 qn qC 4 qn add   qC 3 qn qC 5 qn add}bdf
/qp{6 copy 12 -2 roll pop pop}bdf
/qc{exch qp qx curveto}bdf
/qi{{exch 4 copy 2a astore aload pop qa .5 qm newpath moveto}{exch 2 copy 6 -2 roll 2 qm qs 4 2 roll}ifelse}bdf
/qq{{qc 2a aload pop qx curveto}{exch 4 copy qs qa qx curveto}ifelse}bdf
/pt{currentpoint newpath moveto}bdf
/qf{/fillflag true def}bdf
/ec{1 and 0 ne{0 doop}if grestore currentpoint newpath moveto/fillflag false def}bdf
/eu{currentpoint fp{0 ep}{grestore newpath}ifelse moveto/fillflag false def}bdf
/bp{currentpoint newpath 2 copy moveto}bdf
/ef{gsave fillflag{gsave eofill grestore}if}bdf
/sm{0 exch{@1 eq{1 add}if}forall}bdf
/lshow{4 1 roll exch/@1 exch def{1 index wi pop sub 1 index sm dv 0 @1 4 -1 roll widthshow}{1 index wi pop sub
1 index dup sm 10 mul exch length 1 sub add dv dup 10. mul 0 @1 4 -1 roll 0 6 -1 roll awidthshow}ifelse}bdf
/setTxMode{sa 9 2 index put 3 eq{1}{0}ifelse setgray}bdf
/SwToSym{{}mark false/Symbol/|______Symbol 0 rf 0 sa 6 get 0 ne{pop 1}{sa 7 get 0 eq{pop 2}if}ifelse
sa 1 get 0 ne/|______Symbol
sa 4 get 0 ne{vs}{sa 3 get 0 ne{vo}{fnt}ifelse}ifelse}bdf
/mc{0 3 1 roll transform neg exch pop}bdf
/ul{dup 0 ne sa 2 get 0 ne and{gsave 0 0
/UnderlinePosition kif{mc}{ps -10 div}ifelse/UnderlineThickness kif{mc}{ps 15 div}ifelse
abs setlinewidth neg rmoveto
sa 4 get 0 ne{gsave currentlinewidth 2. div dup rmoveto currentpoint newpath moveto
2 copy rlineto stroke grestore}if
sa 3 get sa 4 get or 0 ne{gsave gl 2 copy rlineto stroke grestore rlineto strokepath nlw pys div setlinewidth}{rlineto}ifelse
stroke grestore}{pop}ifelse}bdf
/sgt{2 copy known{get true}{pop pop false}ifelse}bdf
/kif{currentfont dup/FontMatrix get exch/FontInfo sgt{true}{currentfont/df sgt
{dup/FontInfo sgt{3 1 roll/FontMatrix get mtx concatmatrix exch true}{pop pop pop false}
ifelse}{pop pop false}ifelse}ifelse{3 -1 roll sgt{exch true}{pop false}ifelse}{false}ifelse}bdf
/blank/Times-Roman findfont/CharStrings get/space get def
/macvec 256 array def
/NUL/SOH/STX/ETX/EOT/ENQ/ACK/BEL/BS/HT/LF/VT/FF/CR/SO/SI
/DLE/DC1/DC2/DC3/DC4/NAK/SYN/ETB/CAN/EM/SUB/ESC/FS/GS/RS/US
macvec 0 32 getinterval astore pop
macvec 32/Times-Roman findfont/Encoding get
32 96 getinterval putinterval macvec dup 39/quotesingle put 96/grave put
/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute
/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave
/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde/oacute
/ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex/udieresis
/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls
/registered/copyright/trademark/acute/dieresis/notequal/AE/Oslash
/infinity/plusminus/lessequal/greaterequal/yen/mu/partialdiff/summation
/product/pi/integral/ordfeminine/ordmasculine/Omega/ae/oslash
/questiondown/exclamdown/logicalnot/radical/florin/approxequal/Delta/guillemotleft
/guillemotright/ellipsis/blank/Agrave/Atilde/Otilde/OE/oe
/endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide/lozenge
/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright/fi/fl
/daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand/Acircumflex/Ecircumflex/Aacute
/Edieresis/Egrave/Iacute/Icircumflex/Idieresis/Igrave/Oacute/Ocircumflex
/apple/Ograve/Uacute/Ucircumflex/Ugrave/dotlessi/circumflex/tilde
/macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron
macvec 128 128 getinterval astore pop
{}mark true/Courier/|______Courier 0 rf
{/Metrics 21 dict begin/zero 600 def/one 600 def/two 600 def/three 600 def/four 600 def/five 600 def/six 600 def/seven 600 def/eight 600 def
/nine 600 def/comma 600 def/period 600 def/dollar 600 def/numbersign 600 def/percent 600 def/plus 600 def/hyphen 600 def/E 600 def/parenleft 600 def/parenright 600 def/space 600 def
currentdict end def currentdict/UniqueID known{/UniqueID 16#800000 def}if/FontBBox FontBBox 4 array astore def}mark true/Helvetica/|______Seattle 1 rf
/oldsettransfer/settransfer load def
/concatprocs{/proc2 exch cvlit def/proc1 exch cvlit def/newproc proc1 length proc2 length add array def
newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval newproc cvx}def
/settransfer{currenttransfer concatprocs oldsettransfer}def
/PaintBlack{{1 exch sub}settransfer gsave newpath clippath 1 setgray fill grestore}def
/od{(Rvd\001\001\000\000\177) fg copy pop txpose
1 0 mtx defaultmatrix dtransform exch atan/pa exch def
newpath clippath mark
{transform{itransform moveto}}{transform{itransform lineto}}
{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform
{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}
{{closepath}}pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put
10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}bdf
/cd{}bdf
/op{/sfl false def/pm save def}bdf
/cp{ pop pop pm restore } bdf
/px{0 3 1 roll tp tt}bdf
/psb{/us save def}bdf
/pse{us restore}bdf
/ct 40 string def
/nc{currentpoint initclip newpath gc{dup type dup/arraytype eq exch/packedarraytype eq or{exec}if}
forall clip newpath moveto}def
/kp{ct 0 2 index length 2 index 39 2 index put getinterval copy cvx exec mx3 currentmatrix pop}bdf
/av 68 def
end
LW 1 eq userdict/a4small known not and{/a4small
[[300 72 div 0 0 -300 72 div -120 3381]
280 3255
{statusdict/jobstate (printing) put 0 setblink
margins
exch 196 add exch 304 add 8 div round cvi frametoroket
statusdict/jobstate (busy) put
1 setblink}
/framedevice load
60 45{dup mul exch dup mul add 1.0 exch sub}/setscreen load
{}/settransfer load/initgraphics load/erasepage load]cvx
statusdict begin bind end readonly def}if
md begin/bigs[lnop userdict/letter known{/letter load}{lnop}ifelse userdict/legal known{/legal load}{lnop}ifelse userdict/a4 known{/a4 load}{lnop}ifelse userdict/b5 known{/b5 load}{lnop}ifelse 
lnop lnop lnop /tab load]def
/smalls[lnop userdict/lettersmall known{/lettersmall load}{userdict/note known{/note load}{lnop}ifelse}ifelse
userdict/legal known{/legal load}{lnop}ifelse userdict/a4small known{/a4small load}{lnop}ifelse 
userdict/b5 known{/b5 load}{userdict/note known{/note load}{lnop}ifelse}ifelse lnop lnop lnop /tab load]def end
systemdict/currentpacking known{setpacking}if

%%EndProcSet
%%BeginProcSet: special.pro
TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N /vs
792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP false N /BBcalc false N
/p 3 def}B /@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{
@scaleunit div /vsc X}B /@hsize{/hs X /CLIP true N}B /@vsize{/vs X /CLIP true
N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{10 div /rwi X}
B /@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X /BBcalc true N}B
/magscale true def end /@MacSetUp{userdict /md known{userdict /md get type
/dicttype eq{md begin /letter{}N /note{}N /legal{}N /od{txpose 1 0 mtx
defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{
itransform moveto}}{transform{itransform lineto}}{6 -2 roll transform 6 -2
roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll
itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array
astore /gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{
PaintBlack}if}N /txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR
pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip
not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if
yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR pop pop 270
rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get
ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not
and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip
not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}
ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy
TR .96 dup scale neg S neg S TR}if}N /cp{pop pop showpage pm restore}N end}if}
if}N /normalscale{Resolution 72 div VResolution 72 div neg scale magscale{
DVImag dup scale}if}N /psfts{S 65536 div N}N /startTexFig{/psf$SavedState save
N userdict maxlength dict begin /magscale false def normalscale currentpoint
TR /psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts
/psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx psf$llx
sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx
psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR /showpage{}N
/erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{psf$llx psf$lly
psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll
S lineto S lineto S lineto closepath clip newpath moveto}N /endTexFig{end
psf$SavedState restore}N /@beginspecial{SDict begin /SpecialSave save N gsave
normalscale currentpoint TR @SpecialDefaults}N /@setspecial{CLIP{newpath 0 0
moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR
hsc vsc scale ang rotate BBcalc{rwi urx llx sub div dup scale llx neg lly neg
TR}if /showpage{}N /erasepage{}N /copypage{}N newpath}N /@endspecial{grestore
clear SpecialSave restore end}N /@defspecial{SDict begin}N /@fedspecial{end}B
/li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{/SaveX currentpoint /SaveY X N 1
setlinecap newpath}N /st{stroke SaveX SaveY moveto}N /fil{fill SaveX SaveY
moveto}N /ellipse{/endangle X /startangle X /yrad X /xrad X /savematrix matrix
currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix
setmatrix}N end
%%EndProcSet
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 300
TeXDict begin 
%%EndSetup
1000 300 300 @start bos /Fa 6 109 df<1FE0003FF8007FFE007C3E007C1F00380F00003F
0007FF001FFF007FCF00FC0F00F00F00F00F00F81F00F83F007FFFE03FF7E00FC3E013127E9116
>97 D<001E0000FF8001FF8003EF8003CF8003C20003C0007FFF00FFFF00FFFF0003C00003C000
03C00003C00003C00003C00003C00003C00003C00003C00003C00003C0007FFE00FFFF007FFE00
11197F9816>102 D<07E7800FFFE03FFFE03C3DE07C3EC0781E00781E00781E007C3E003C3C00
3FFC003FF0007FE0007000007800003FFC003FFF007FFFC07003C0F001E0E000E0E000E0E000E0
F001E07C07C03FFF800FFE0003F800131C7F9116>I<01C00003E00003E00003E00001C0000000
000000000000007FE0007FE0007FE00001E00001E00001E00001E00001E00001E00001E00001E0
0001E00001E00001E00001E0007FFF80FFFF807FFF80111A7E9916>105
D<007000F800F800F800700000000000003FF83FF83FF800780078007800780078007800780078
00780078007800780078007800780078007800787078F8F8F8F0FFE07FC03F800D237E9916>I<
FFE000FFE000FFE00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E000
01E00001E00001E00001E00001E00001E00001E00001E00001E000FFFFC0FFFFC0FFFFC012197E
9816>108 D E /Fb 1 62 df<00C000C001C00180038003000700060006000E000C001C001800
18003800300070006000E000C000C0000A157E8F0F>61 D E /Fc 2 55
df<0CFCFC1C1C1C1C1C1C1C1CFFFF080D7D8C0E>49 D<0F001F8033806380E000FF00FF80E1C0
E1C0E1C061C03F801E000A0D7E8C0E>54 D E /Fd 4 111 df<03C00FE01EF03DE078C0780078
00F000F000702070E03FC01F000C0D7F8C0F>99 D<03000780078007000000000000001C003E00
6700CE00CE000E001C001C00398039803B003F001C00091480930C>105
D<003000780070006000000000000003C007E00CF00CE018E000E000E001C001C001C001C00380
038003807380F700FF00FE0078000D1A81930E>I<1C7C003EFE006F8E00CF0E00CE0E000E0E00
0E0E001C1C001C1CC01C38C01C3980381F00180E00120D808C15>110 D
E /Fe 1 1 df<FFFFC0FFFFC012027D871A>0 D E /Ff 2 113 df<FFFFFF80FFFFFF8019027D
8A20>0 D<00000000C000000001C0000000018000000003800000000300000000070000000006
000000000E000000000C000000001C000000001800000000380000000030000000007000000000
6000000000E000000000C000000001C00000000180000000038000000003000006000700001E00
0600003F000E00007F000C0000C7801C0000078018000003C038000003C030000003C070000001
E060000001E0E0000000F0C0000000F1C000000079800000007B800000003F000000003F000000
001E000000001E000000000C000000000C000000222A7E8123>112 D E
/Fg 11 73 df<00030003000700060006000E000C000C001C0018001800380030003000700060
006000E000C000C001C0018001800380030003000700060006000E000C000C001C001800180038
0030003000700060006000E000C000C000102C81AA0E>2 D<0000000000300000000000F00000
000003C0000000000F00000000003C0000000000F00000000003C0000000000F00000000003C00
00000000F00000000003C0000000000F00000000003C0000000000F00000000003C0000000000F
00000000003C0000000000F00000000003C0000000000F00000000003C0000000000F000000000
00C000000000002C1781952A>8 D<000200001E00007E0001FE000FFE00FFFE00FFFE000FFE00
01FE00007E00001E00000200110C7E852A>27 D<0000000000300000000000700000000001E000
0000000380000000000700000000000E00000000003C0000000000700000000000E00000000001
C0000000000780000000000E00000000001C0000000000780000000000E00000000001C0000000
000380000000000F00000000001C0000000000380000000000700000000001E000000000038000
0000000700000000001E0000000000380000000000700000000000E00000000003C00000000007
00000000000E00000000001C0000000000780000000000E00000000000C000000000002C2381A1
2A>35 D<0000000000F0000000003FF00000000FFF00000003FFC0000000FFF00000003FFC0000
000FFF00000000FFC000000000F000000000002C0981872A>40 D<000000000030000000000070
0000000000E00000000003C0000000000700000000000E00000000001C00000000003800000000
00F00000000001C0000000000380000000000700000000000E00000000003C0000000000700000
000000E00000000001C0000000000380000000000F00000000001C000000000038000000000070
0000000000E00000000003C0000000000700000000000E00000000001C00000000003800000000
00F00000000001C0000000000380000000000700000000000E00000000003C0000000000700000
000000E00000000000C000000000002C2581A32A>44 D<8000F000FC00FF00FFE0FFFEFFFEFFE0
FF00FC00F00080000F0C67852A>I<06000600060006000F000F000F001F801F803FC03FC07FE0
7FE07FE0FFF00C0F86A72A>54 D<FFF07FE07FE07FE03FC03FC01F801F800F000F000F00060006
00060006000C0F86902A>63 D<C000C000E000600060007000300030003800180018001C000C00
0C000E000600060007000300030003800180018001C000C000C000E00060006000700030003000
3800180018001C000C000C000E00060006000700030003102C81AA0E>66
D<C00000000000F000000000003C00000000000F000000000003C00000000000F000000000003C
00000000000F000000000003C00000000000F000000000003C00000000000F000000000003C000
00000000F000000000003C00000000000F000000000003C00000000000F000000000003C000000
00000F000000000003C00000000000F00000000000302C1781952A>72 D
E /Fh 5 109 df<07C00FE01FF03C783838783C783CF01EF01EF01EF01EF01EF01EF01EF01EF0
1E783C783C3C783C781FF00FE007C00F177E9614>48 D<0180038007800F803F80FF80FF804780
078007800780078007800780078007800780078007800780FFF8FFF8FFF80D177D9614>I<0380
07C007C007C00380000000000000FFC0FFC0FFC003C003C003C003C003C003C003C003C003C003
C0FFFFFFFFFFFF10187E9714>105 D<FC0000FC0000FC00001C00001C00001C00001C00001DFF
801DFF801DFF801C78001CF0001DE0001FC0001FE0001FE0001EF0001C70001C78001C3C00FF3F
80FF3F80FF3F8011177F9614>107 D<FFC0FFC0FFC003C003C003C003C003C003C003C003C003
C003C003C003C003C003C003C003C003C0FFFFFFFFFFFF10177E9614>I
E /Fi 1 51 df<7FFFFFC0FFFFFFE0C0000060C0000060C0000060C0000060C0000060C0000060
C0000060C0000060C0000060C0000060C0000060C0000060C0000060C0000060C0000060C00000
60C0000060C0000060C0000060C0000060C0000060C0000060C0000060FFFFFFE0FFFFFFE01B1B
7B9E25>50 D E /Fj 1 120 df<0007F80000003FFF000000FFFFC00003FFFFF00007FFFFF800
0FFFFFFC001FFFFFFE001FFFFFFE003FFFFFFF003FFFFFFF007FFFFFFF807FFFFFFF807FFFFFFF
80FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFF
FFC07FFFFFFF807FFFFFFF807FFFFFFF803FFFFFFF003FFFFFFF001FFFFFFE001FFFFFFE000FFF
FFFC0007FFFFF80003FFFFF00000FFFFC000003FFF00000007F800002222919021>119
D E /Fk 16 107 df<00000000001800000000007C0000000001FC0000000007F8000000001FF0
000000007FC000000001FF0000000007FC000000001FF0000000007FC000000001FF0000000007
FC000000001FF0000000007FC000000001FF0000000007FC000000001FF0000000007FC0000000
01FF0000000007FC000000001FF0000000007FC000000000FF0000000000FC0000000000700000
0000002E1982962A>8 D<0000003000000078000000F8000000F8000001F0000003F0000003E0
000007C0000007C000000F8000001F8000001F0000003E0000003E0000007C000000FC000000F8
000001F0000001F0000003E0000007E0000007C000000F8000000F8000001F0000003F0000003E
0000007C0000007C000000F8000001F8000001F0000003E0000003E0000007C000000FC000000F
8000001F0000001F0000003E0000007E0000007C000000F8000000F8000000F000000060000000
1D2E82AB19>20 D<000040000000C0000001E0000003E0000007F0000007F000000FF800001FF8
00003FFC00007FFC0000FFFE0001FFFE0003FFFF0007FFFF000FFFFF801FFFFF803FFC00007C00
0000800000001A137F922A>25 D<02000003000003C00003E00003F80003FC0007FF0007FF8007
FFE007FFF007FFF80FFFE00FFFC00FFF000FFC001FF8001FF0001FC0001F80003F00003C000038
0000700000600000400000800000151A80991C>29 D<00000000001800000000007C0000000001
FC0000000003F8000000000FF0000000003FC0000000007F0000000001FE0000000007F8000000
000FE0000000003FC000000000FF0000000001FC0000000007F8000000001FE0000000007F8000
000000FE0000000003FC000000000FF0000000001FC0000000007F8000000001FE0000000003F8
000000000FF0000000003FC0000000007F0000000000FE0000000000F800000000006000000000
002E1D829A2A>34 D<0000008000001F00001FFE00FFFFFC00FFFFF8007FFFF0007FFFE0003FFF
C0003FFF80001FFF00001FFE00000FFC00000FF8000007F0000007F0000003E0000003C0000001
80000001000000191370942A>42 D<800000E00000F80000FF0000FFC000FFF800FFFF00FFFFE0
FFFFFEFFFFFEFFFFE0FFFF00FFF800FFC000FF0000F80000E0000080000017126F882A>45
D<00C00000C00000C00000C00001E00001E00001E00003F00003F00003F00007F80007F80007F8
000FFC000FFC001FFE001FFE001FFE003FFF003FFF007FFF807FFF80FFFFC0121789A72A>54
D<FFFFC07FFF807FFF803FFF003FFF001FFE001FFE001FFE000FFC000FFC0007F80007F80007F8
0003F00003F00003F00001E00001E00001E00000C00000C00000C00000C000121789982A>63
D<60000000F0000000F8000000F80000007C0000007C0000003E0000003E0000001F0000001F00
00000F8000000F80000007C0000007C0000003E0000003E0000001F0000001F0000000F8000000
F80000007C0000007C0000003E0000003E0000001F0000001F0000000F8000000F80000007C000
0007C0000003E0000003E0000001F0000001F0000000F8000000F80000007C0000007C0000003E
0000003E0000001F0000001F0000000F8000000F800000078000000300192E82AB15>65
D<700000000000FC0000000000FF00000000007FC0000000001FF00000000007FC0000000001FF
00000000007FC0000000001FF00000000007FC0000000001FF00000000007FC0000000001FF000
00000007FC0000000001FF00000000007FC0000000001FF00000000007FC0000000001FF000000
00007FC0000000001FF00000000007F80000000001FC00000000007C0000000000182E1982962A
>72 D<600000000000F80000000000FC00000000007F00000000003F80000000000FE000000000
07F00000000001FC0000000000FE00000000003F80000000001FC00000000007F00000000003F8
0000000000FE00000000007F00000000001FC0000000000FE00000000003F80000000001FC0000
0000007F00000000003F80000000000FE00000000007F00000000001FC0000000000FE00000000
003F80000000001FC00000000007F00000000003F80000000000FC00000000007C000000000018
2E20829D2A>81 D<60000000F0000000F8000000F80000007C0000007E0000003E0000001F0000
001F0000000F8000000FC0000007C0000003E0000003E0000001F0000001F8000000F80000007C
0000007C0000003E0000003F0000001F0000000F8000000F80000007C0000007E0000003E00000
01F0000001F0000000F8000000FC0000007C0000003E0000003E0000001F0000001F8000000F80
000007C0000007C0000003E0000003F0000001F0000000F8000000F800000078000000301D2E82
AB19>84 D<000200000600001E00003E0000FE0001FE0007FF000FFF003FFF007FFF00FFFF003F
FF801FFF8007FF8001FF8000FFC0007FC0001FC0000FC00007E00001E00000E000007000003000
0010000008151A79991C>94 D<600000000000F80000000000FE00000000007F00000000003FC0
000000000FF00000000003F80000000001FE00000000007F80000000001FC0000000000FF00000
000003FC0000000000FE00000000007F80000000001FE00000000007F80000000003FC00000000
00FF00000000003FC0000000000FE00000000007F80000000001FE00000000007F00000000003F
C0000000000FF00000000003F80000000001FC00000000007C0000000000182E1D829A2A>98
D<010000000180000003C0000003E0000007F0000007F000000FF800000FFC00001FFE00001FFF
00003FFF80003FFFC0007FFFE0007FFFF000FFFFF800FFFFFC00001FFE0000001F000000008019
1370922A>106 D E /Fl 1 1 df<FFFFC0FFFFC012027D8618>0 D E /Fm
9 116 df<01E60007FF000E1F001C1F003C1E00381E00781E00781E00F03C00F03C00F03C00F0
3C80F07980E07980F0F98071FB003FBF001E1E0011127C9115>97 D<000FE0001FE00003E00003
C00003C00003C00003C000078000078000078000078001EF0007FF000E1F001C1F003C1E00381E
00781E00781E00F03C00F03C00F03C00F03C80F07980E07980F0F98071FB003FBF001E1E00131D
7C9C15>100 D<00F003FC0F0C1C0C3C0C380C78387FF0FFC0F000F000F000F0007008701C3878
3FE00F800E127C9113>I<0FE0001FE00003E00003C00003C00003C00003C00007800007800007
80000780000F3E000FFF000FC7800F07801F07801E07801E07801E07803C0F003C0F003C0F003C
1E20781E60781E60783C60781CC0F01F80600F00131D7E9C15>104 D<1C1F83E03F3FCFF06761
FC7867C1F078CF81F078CF01E0780F01E0780F01E0781E03C0F01E03C0F01E03C0F01E03C1E23C
0781E63C0781E63C0783C63C0781CC780F01F8300600F01F127D9122>109
D<1C1F003F7F8067E3C06783C0CF83C0CF03C00F03C00F03C01E07801E07801E07801E0F103C0F
303C0F303C1E303C0E60780FC030078014127D9117>I<00F80003FC000F0E001E07001C070038
0700780780780780F00F00F00F00F00F00F00E00F01E00F01C0070380078F0003FE0000F800011
127C9115>I<1C3C3F7E67C36787CF0FCF0F0F060F001E001E001E001E003C003C003C003C0078
00300010127D9112>114 D<01F007F806180E3C1C781E301F801FE01FF00FF007F820787070F0
70F060E0E07FC01F000E127D9111>I E /Fn 28 122 df<003F000001FF800003C1C1800781E1
800F00F1801E00F3003E00F3007C00FB007C007E007C007E00F8007C00F8007800F8007800F800
7800780078007801F8007803F8003C0E38C01FFC3F8007E00F001A147F931D>11
D<000F80003FC000706000E06001C00001C00003C00003C00003C00003F00001F80000FC00007E
0001FF0003DF00078F000F07001E07003E07007C07007C07007C0700F80600F80600F80E00F80C
00F80C00781C007818003830001FF0000FE00013207F9F14>14 D<78FCFCFEFE7E0606060C0C18
387020070F7D850D>59 D<000001C00000078000001E00000078000001E00000078000000E0000
003C000000F0000003C000000F0000003C000000F0000000F00000003C0000000F00000003C000
0000F00000003C0000000E0000000780000001E0000000780000001E0000000780000001C01A1A
7C9723>I<E0000000780000001E0000000780000001E0000000780000001C0000000F00000003
C0000000F00000003C0000000F00000003C0000003C000000F0000003C000000F0000003C00000
0F0000001C00000078000001E00000078000001E00000078000000E00000001A1A7C9723>62
D<00FFFFFF8000FFFFFF00000F800F00000F800700000F800700001F000300001F000300001F00
0300001F000600003E030600003E030600003E030000003E070000007C0E0000007FFE0000007F
FE0000007C0E000000F80C000000F80C000000F80C000000F80C000001F000000001F000000001
F000000001F000000003E000000003E000000003E000000003E00000007FFF000000FFFF000000
211F7F9E1D>70 D<0000FE030007FF86001F81CE003C007E00F8003E01E0003C03C0001C078000
1C0F80001C0F0000181F0000183E0000183E0000003C0000007C0000007C0000007C0000007800
0000F800FFFCF800FFFCF80003E0780007C0780007C07C0007C03C0007C03C000F801E000F800F
001F8007E0778003FFE300007F0100201F7E9E24>I<00FFFE0000FFFE00000F8000000F800000
0F8000001F0000001F0000001F0000001F0000003E0000003E0000003E0000003E0000007C0000
007C0000007C0000007C000000F8000000F8000000F8006000F8006001F000C001F000C001F001
8001F0018003E0038003E0070003E00F0003E03F007FFFFE00FFFFFE001B1F7F9E1F>76
D<00FFFFE000FFFFF8000F807C000F801E000F801E001F001F001F001F001F001F001F001F003E
003E003E003E003E003C003E0078007C00F8007C03E0007FFFC0007FFE0000F8000000F8000000
F8000000F8000001F0000001F0000001F0000001F0000003E0000003E0000003E0000003E00000
7FFE0000FFFE0000201F7F9E1D>80 D<0001FC00000FFF00001F07C0007803E000F001E001E000
F003C000F0078000F80F8000781F0000781F0000783E0000783E0000F83C0000F87C0000F87C00
00F87C0000F8F80001F0F80001F0F80001E0F80003E0F80003C0780007C078000F807C1C0F003C
7E1E003EE33C001EC1F8000FC3E00007FF800000FF008000018080000181800001810000038700
0003FE000003FE000001FC000001F8000000F0001D287E9E24>I<0007E180001FF30000383F00
00F00F0000E00F0001E0060003C0060003C0060003C0060007C0000007C0000007E0000003FE00
0003FFC00003FFE00001FFF000007FF000000FF0000001F8000000F8000000F8000000F0003000
F0003000F0003000E0007001E0007001C000780380007E0F0000E7FE000081F80000191F7D9E1C
>83 D<0FFFFFFC1FFFFFF81E03E0781803E0383803E0183007C0183007C0186007C0186007C030
C00F8030C00F8030000F8000000F8000001F0000001F0000001F0000001F0000003E0000003E00
00003E0000003E0000007C0000007C0000007C0000007C000000F8000000F8000000F8000001F8
00007FFFE0007FFFE0001E1F7F9E1B>I<007E0001FF0007C3800F01801E01803E01803C03007C
0E007FFC007FE000F80000F80000F800007800007800007801003803803C0F001FFC0007F00011
147F9315>101 D<0000F00003FC00073C00077C000F7C000F38000F00001E00001E00001E0000
1E00001E0003FFF007FFF0003C00003C00003C0000780000780000780000780000780000F80000
F00000F00000F00000F00000F00001E00001E00001E00001E00001C00003C00003C000738000FB
8000FF0000F70000FE000078000016297D9F16>I<003C6000FEF003C3E00783E00F01E00F01E0
1E03C03E03C03E03C03E03C07C07807C07807C07807C07807C0F003C0F003C1F001C3F000FFE00
079E00001E00001E00003C00703C00F83C00F87800F1F000FFE0003F0000141D7F9316>I<0070
00F800F800F000E000000000000000000000000007001FC039C031E061E063C0C3C00780078007
800F000F000F001E181E303C303C601CE01FC007000D1F7F9E10>105 D<0003800007C00007C0
00078000070000000000000000000000000000000000000000780000FE00018F00030F00060F00
060F000C1E00001E00001E00001E00003C00003C00003C00003C00007800007800007800007800
00F00000F00000F00000F00001E00071E000F9E000FBC000F78000FF00007C00001228809E13>
I<00F0000FF0000FE00001E00001E00001E00003C00003C00003C00003C0000780000780000781
C00787E00F0E300F18F00F31F00F61F01EC1E01F81C01F80001FE0003DF0003C78003C78003C3C
307878607878607878407838C0F01F80600F0014207E9F18>I<0E03F03F003F8FF87F8033DC3D
C3C063F03F81C063E01F01E063C01E01E0C7C03C03C007803C03C007803C03C007803C03C00F00
7807800F007807800F007807800F00780F0C1E00F00F181E00F01E181E00F01E301E00F00E703C
01E00FE01800C0038026147F9328>109 D<0E07E0003F8FF00033F8780063F0380063E03C0063
C03C00C78078000780780007807800078078000F00F0000F00F0000F00F0000F01E1801E01E300
1E03C3001E03C6001E01CE003C01FC001800700019147F931B>I<003F0001FFC003C1E00780F0
0F00F01E00F03E00F87C00F87C00F87C00F8F801F0F801F0F801F0F803E07803C0780780780F00
3C1E001FFC0007E00015147F9316>I<0E0F003FBF8033F18063E3C063C7C063C7C0C787800787
000780000780000F00000F00000F00000F00001E00001E00001E00001E00003C00001800001214
7F9315>114 D<007C01FE0387070F070F070E0F000FF007FC07FE03FE00FF001F780FF80EF80E
F01C70383FF01FC010147E9315>I<0700181FC03C39C07831E07861E07863C078C3C0F00780F0
0780F00780F00F01E00F01E00F01E00F01E30F03C60F03C60F07C60F0FCC07F9FC01F07018147F
931A>117 D<0701C01FC3E039C3F031E3F061E1F063C0F0C3C0600780600780600780600F00C0
0F00C00F00C00F01800F01800F03000F0200078E0003FC0001F00014147F9316>I<070030701F
C078F839C0F0FC31E0F0FC61E0F07C63C0F03CC3C1E0180781E0180781E0180781E0180F03C030
0F03C0300F03C0300F03C0600F03C0600F03C0C00F07C0C0078FE38003FCFF0001F07C001E147F
9321>I<07C3C00FE7E0187C603078F06079F06079F0C0F1E000F1C000F00000F00001E00001E0
0039E00079E030FBC060FBC060F3C0C0E7E3807CFF00383C0014147E931A>I<0700301FC07839
C0F031E0F061E0F063C0F0C3C1E00781E00781E00781E00F03C00F03C00F03C00F03C00F07800F
07800F07800F1F8007FF0001EF00000F00000F00381E007C1C007C3C0078780070F0003FE0001F
8000151D7F9316>I E /Fo 69 123 df<2008783CF83EF83EF83EF83EF83EF83EF83EF83EF83E
F83E783C30180F0E7C9C18>34 D<03E00007F0000FF8000FF8001F7C001E3C001E3C001E3C001E
7FF01E7FF01EFFF01FFFF00FEF000FCF000F8F003F9F007F9E007FDE00FBFE00F3FC00F1FC00F0
F800F0F8F0F9FEF07FFFF07FFFF03FCFE01F07C0141C7F9B18>38 D<1C3E3F3F1F0F0F0F1F3E7E
FCF870080E799B18>I<007800F801F803E007C00F801F001E003E003C007C0078007800F800F0
00F000F000F000F000F000F000F000F800780078007C003C003E001E001F000F8007C003E001F8
00F800780D247A9F18>I<7000F8007C003E001F000F8007C003C003E001E001F000F000F000F8
0078007800780078007800780078007800F800F000F001F001E003E003C007C00F801F003E007C
00F80070000D247C9F18>I<01C00001C00001E00001E000E1E380F9EF80FDFF80FFFF803FFE00
0FF8000FF8003FFE00FFFF80FDFF80F9EF80E1E38001E00001E00001C00001C00011147D9718>
I<00600000F00000F00000F00000F00000F00000F00000F0007FFFC0FFFFE0FFFFE07FFFC000F0
0000F00000F00000F00000F00000F00000F00000600013147E9718>I<1E003F007F007F807F80
3F801F800F801F007F00FE00FC007000090D798618>I<7FFF00FFFF80FFFF807FFF0011047D8F
18>I<000300000780000F80000F80000F00001F00001F00003E00003E00003C00007C00007C00
00F80000F80000F00001F00001F00003E00003E00007C00007C0000780000F80000F80001F0000
1F00001E00003E00003E00007C00007C0000780000F80000F80000F0000060000011247D9F18>
47 D<01F00007FC000FFE001FFF001F1F003E0F807C07C07803C07803C0F001E0F001E0F001E0
F001E0F001E0F001E0F001E0F001E0F001E0F803E07803C07803C07C07C03E0F801F1F001FFF00
0FFE0007FC0001F000131C7E9B18>I<01C001C003C007C00FC03FC0FFC0FFC0FBC063C003C003
C003C003C003C003C003C003C003C003C003C003C003C003C07FFEFFFFFFFF7FFE101C7C9B18>
I<07F8001FFE003FFF007FFF80FC1FC0F807C0F803E0F801E07001E00001E00001E00003E00003
C00007C0000F80001F00003E00007C0000F80001F00007E0000FC0001F81E03E01E07FFFE0FFFF
E0FFFFE07FFFE0131C7E9B18>I<07F8001FFE003FFF007FFF807C0FC07C07C07C03C03803C000
03C00007C0001F8003FF0003FE0003FE0003FF00000F800003C00003E00001E00001E07001E0F8
03E0F803C0FC0FC07FFF807FFF001FFE0007F800131C7E9B18>I<003F00007F0000FF0000EF00
01EF0003CF0003CF00078F000F8F000F0F001F0F003E0F003C0F007C0F00F80F00FFFFF8FFFFF8
FFFFF8FFFFF8000F00000F00000F00000F00000F0000FFF001FFF801FFF800FFF0151C7F9B18>
I<387CFEFEFE7C38000000000000387CFEFEFE7C380714789318>58 D<1C3E7F7F7F3E1C000000
0000001C3E7F7F7F3F1F1F1E7EFCF870081A799318>I<7FFFC0FFFFE0FFFFE0FFFFE000000000
0000000000000000FFFFE0FFFFE0FFFFE07FFFC0130C7E9318>61 D<0FF0003FFE007FFF00FFFF
00F81F80F80780F80F80703F80007F0000FE0001F80003F00003E00003C00003C00003C00003C0
0003800000000000000000000000000000000003800007C00007C00007C000038000111C7D9B18
>63 D<00F80000F80000F80001FC0001DC0001DC0001DC0003DE0003DE0003DE0003DE00038E00
078F00078F00078F00078F00078F000F07800FFF800FFF800FFF800FFF801E03C01E03C07F8FF0
FFDFF8FFDFF87F8FF0151C7F9B18>65 D<FFFE00FFFF00FFFF80FFFFC01E03C01E03E01E01E01E
01E01E01E01E03E01E03C01FFFC01FFF801FFF001FFFC01E07E01E01E01E01F01E00F01E00F01E
00F01E00F01E01F01E03E0FFFFE0FFFFC0FFFF80FFFE00141C7F9B18>I<01F8E003FFE00FFFE0
0FFFE01F87E03E03E07C03E07C01E07801E0F801E0F80000F00000F00000F00000F00000F00000
F00000F80000F801E07801E07C01E07C01E03E03E01F87C00FFF800FFF0003FE0001F800131C7E
9B18>I<7FF800FFFE00FFFF007FFF801E0FC01E07C01E03E01E01E01E01E01E01F01E00F01E00
F01E00F01E00F01E00F01E00F01E00F01E00F01E01F01E01E01E01E01E03E01E07C01E0FC07FFF
80FFFF00FFFE007FF800141C7F9B18>I<FFFFF0FFFFF0FFFFF0FFFFF01E00F01E00F01E00F01E
00F01E1E001E1E001E1E001FFE001FFE001FFE001FFE001E1E001E1E001E1E001E00001E00781E
00781E00781E00781E0078FFFFF8FFFFF8FFFFF8FFFFF8151C7F9B18>I<FFFFF0FFFFF0FFFFF0
FFFFF01E00F01E00F01E00F01E00F01E00001E0F001E0F001E0F001FFF001FFF001FFF001FFF00
1E0F001E0F001E0F001E00001E00001E00001E00001E0000FFE000FFE000FFE000FFE000141C7F
9B18>I<01F9C007FFC00FFFC01FFFC01F8FC03E07C07C07C07C03C07803C0F803C0F00000F000
00F00000F00000F00000F01FF0F03FF0F03FF0F81FF07803C07C07C07C07C03E07C01F8FC01FFF
C00FFFC007FFC001FBC0141C7E9B18>I<7F8FF0FFDFF8FFDFF87F8FF01E03C01E03C01E03C01E
03C01E03C01E03C01E03C01FFFC01FFFC01FFFC01FFFC01E03C01E03C01E03C01E03C01E03C01E
03C01E03C01E03C01E03C07F8FF0FFDFF8FFDFF87F8FF0151C7F9B18>I<7FFF80FFFFC0FFFFC0
7FFF8001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E000
01E00001E00001E00001E00001E00001E00001E00001E0007FFF80FFFFC0FFFFC07FFF80121C7D
9B18>I<7F8FF0FFDFF8FFDFF87F8FF01E0F801E0F801E1F001E3E001E3C001E7C001EF8001EF0
001FF8001FF8001FFC001FFC001FBC001F3E001F1E001E1F001E0F001E0F801E07801E07C07F87
F0FFCFF8FFCFF87F87F0151C7F9B18>75 D<7FF000FFF000FFF0007FF0000F00000F00000F0000
0F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00F0
0F00F00F00F00F00F00F00F07FFFF0FFFFF0FFFFF07FFFF0141C7F9B18>I<FF07F8FF07F8FF8F
F8FF8FF83D8DE03D8DE03D8DE03D8DE03DDDE03DDDE03DDDE03DDDE03DDDE03DDDE03CD9E03CF9
E03CF9E03CF9E03C71E03C01E03C01E03C01E03C01E03C01E0FF07F8FF07F8FF07F8FF07F8151C
7F9B18>I<7F8FF0FF9FF8FFDFF87FCFF01EC3C01EC3C01EE3C01EE3C01EE3C01EE3C01EE3C01E
73C01E73C01E73C01E73C01E73C01E73C01E3BC01E3BC01E3BC01E3BC01E3BC01E1BC01E1BC07F
9FC0FFDFC0FFCFC07F8FC0151C7F9B18>I<0FF8003FFE007FFF007FFF007C1F00F80F80F00780
F00780F00780F00780F00780F00780F00780F00780F00780F00780F00780F00780F00780F00780
F00780F00780F80F807C1F007FFF007FFF003FFE000FF800111C7D9B18>I<FFFE00FFFF00FFFF
C0FFFFC01E07E01E01E01E01F01E00F01E00F01E00F01E00F01E01F01E01E01E07E01FFFC01FFF
C01FFF001FFE001E00001E00001E00001E00001E00001E0000FFC000FFC000FFC000FFC000141C
7F9B18>I<7FF800FFFC00FFFF007FFF801E1F801E07C01E03C01E03C01E03C01E03C01E07C01E
1F801FFF801FFF001FFE001FFF001E1F801E0F801E07801E07801E07801E07801E07BC1E07BC7F
87FCFFC3FCFFC1F87F80F0161C7F9B18>82 D<07F3801FFF803FFF807FFF807C1F80F80780F007
80F00780F00000F800007C00007FC0003FFC001FFF0007FF80007FC00007C00003E00001E00001
E07001E0F001E0F003E0FC07C0FFFFC0FFFF80FFFF00E7FC00131C7E9B18>I<7FFFF8FFFFF8FF
FFF8FFFFF8F07878F07878F07878F0787800780000780000780000780000780000780000780000
780000780000780000780000780000780000780000780000780007FF8007FF8007FF8007FF8015
1C7F9B18>I<FFC7FEFFC7FEFFC7FEFFC7FE1E00F01E00F01E00F01E00F01E00F01E00F01E00F0
1E00F01E00F01E00F01E00F01E00F01E00F01E00F01E00F01E00F01E00F01F01F00F01E00FC7E0
07FFC003FF8001FF00007C00171C809B18>I<FF8FF8FF8FF8FF8FF8FF8FF81E03C01E03C01E03
C01E03C00F07800F07800F07800F0780070700078F00078F00078F00078F00038E0003DE0003DE
0003DE0001DC0001DC0001DC0001FC0001FC0000F80000F800151C7F9B18>I<FF07F8FF07F8FF
07F8FF07F87800F07800F03C01E03C01E03C01E03C01E03C01E03CF9E03CF9E03DFDE03DFDE01D
DDC01DDDC01DDDC01DDDC01DDDC01DDDC01DDDC01DDDC00D8D800F8F800F8F800F8F800F078015
1C7F9B18>I<FFF8FFF8FFF8FFF8F000F000F000F000F000F000F000F000F000F000F000F000F0
00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000FFF8FFF8FFF8FFF8
0D24779F18>91 D<FFF8FFF8FFF8FFF80078007800780078007800780078007800780078007800
780078007800780078007800780078007800780078007800780078007800780078FFF8FFF8FFF8
FFF80D247F9F18>93 D<0E1F3F7E7CF8F0F0F0F8FCFC7C38080E789E18>96
D<1FF0003FFC007FFE007FFF007C1F8038078000078007FF801FFF803FFF807FFF80FC0780F007
80F00780F80F80FC3F807FFFF83FFFF81FFBF80FE1F815147E9318>I<7F0000FF0000FF00007F
00000F00000F00000F00000F00000F3F000FFFC00FFFE00FFFF00FE1F80F80F80F807C0F007C0F
003C0F003C0F003C0F003C0F807C0F807C0FC0F80FE3F80FFFF00FFFE00FFFC0073F00161C809B
18>I<01FE0007FF001FFF803FFF803F0F807C0700780000F80000F00000F00000F00000F00000
F803C07803C07C07C03F07803FFF801FFF0007FE0001F80012147D9318>I<001FC0003FC0003F
C0001FC00003C00003C00003C00003C003F3C00FFFC01FFFC03FFFC07F0FC07C07C0F807C0F803
C0F003C0F003C0F003C0F003C0F807C0F807C07C0FC07E1FC03FFFF81FFFFC0FFBFC03F3F8161C
7F9B18>I<01F80007FE000FFF001FFF803F0FC07C03C07803E0F801E0FFFFE0FFFFE0FFFFE0FF
FFE0F801E07801E07E03E03F87C01FFFC00FFF8007FF0001FC0013147E9318>I<000F80003FC0
007FE000FFE001F3E001E1C001E00001E0007FFFC0FFFFC0FFFFC0FFFFC001E00001E00001E000
01E00001E00001E00001E00001E00001E00001E00001E00001E0007FFF807FFF807FFF807FFF80
131C7F9B18>I<01F1F007FFF80FFFF81FFFF81F1F703E0F803C07803C07803C07803E0F801F1F
001FFF003FFE003FFC003DF0003C00003C00003FFF001FFFC03FFFE07FFFF0FC01F8F800F8F000
78F00078F800F87E03F07FFFF03FFFE00FFF8003FE00151F7F9318>I<7F0000FF0000FF00007F
00000F00000F00000F00000F00000F3F000FFF800FFFC00FFFE00FE3E00F81E00F81E00F01E00F
01E00F01E00F01E00F01E00F01E00F01E00F01E00F01E07FE1FCFFF3FEFFF3FE7FE1FC171C809B
18>I<01C00003E00003E00003E00001C0000000000000000000000000007FE000FFE000FFE000
7FE00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E000
FFFF80FFFFC0FFFFC0FFFF80121D7D9C18>I<001C003E003E003E001C00000000000000000FFE
1FFE1FFE0FFE001E001E001E001E001E001E001E001E001E001E001E001E001E001E001E001E00
1E001E001E001E703EF87CFFF8FFF07FE03FC00F277E9C18>I<FF0000FF0000FF0000FF00000F
00000F00000F00000F00000F7FF80F7FF80F7FF80F7FF80F1F800F3F000F7E000F7C000FF8000F
FC000FFE000FDE000F9F000F0F800F07C00F07C0FFC3FCFFE7FCFFE7FCFFC3FC161C809B18>I<
7FF000FFF000FFF0007FF00000F00000F00000F00000F00000F00000F00000F00000F00000F000
00F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0007FFFE0FFFFF0
FFFFF07FFFE0141C7E9B18>I<7EF8F800FFFDFC00FFFFFE007FFFFE001F9F9E001F1F1E001E1E
1E001E1E1E001E1E1E001E1E1E001E1E1E001E1E1E001E1E1E001E1E1E001E1E1E001E1E1E007F
9F9F80FFDFDFC0FFDFDFC07F8F8F801A14819318>I<7F3F00FFFF80FFFFC07FFFE00FE3E00F81
E00F81E00F01E00F01E00F01E00F01E00F01E00F01E00F01E00F01E00F01E07FE1FCFFF3FEFFF3
FE7FE1FC1714809318>I<01F0000FFE001FFF003FFF803E0F807C07C07803C0F001E0F001E0F0
01E0F001E0F001E0F803E07803C07C07C03E0F803FFF801FFF000FFE0001F00013147E9318>I<
7F3F00FFFFC0FFFFE07FFFF00FE1F80F80F80F807C0F007C0F003C0F003C0F003C0F003C0F807C
0F807C0FC0F80FE3F80FFFF00FFFE00FFFC00F3F000F00000F00000F00000F00000F00000F0000
7FE000FFF000FFF0007FE000161E809318>I<03F3C00FFFC01FFFC03FFFC07E1FC07C0FC0F807
C0F807C0F003C0F003C0F003C0F003C0F807C0F807C07C0FC07E1FC03FFFC01FFFC00FFBC007E3
C00003C00003C00003C00003C00003C00003C0003FFC003FFC003FFC003FFC161E7E9318>I<7F
C7E0FFDFF0FFFFF87FFFF803FCF803F07003F00003E00003E00003C00003C00003C00003C00003
C00003C00003C0007FFF00FFFF80FFFF807FFF0015147F9318>I<0FFF003FFF007FFF00FFFF00
F80F00F00F00F00000FE00007FF0003FFC000FFE00007F00700F80F00780F80780FC1F80FFFF00
FFFF00FFFE00E7F80011147D9318>I<01C00003C00003C00003C00003C0007FFFC0FFFFC0FFFF
C0FFFFC003C00003C00003C00003C00003C00003C00003C0C003C1E003C1E003C1E003C3E003E3
C001FFC001FF8000FF00007E0013197F9818>I<7F0FE0FF1FE0FF1FE07F0FE00F01E00F01E00F
01E00F01E00F01E00F01E00F01E00F01E00F01E00F01E00F01E00F07E00FFFFC0FFFFE07FFFE03
FDFC1714809318>I<7F8FF0FF8FF8FF8FF87F8FF00F07800F07800F07800F8F80078F00078F00
078F00038E0003DE0003DE0003DE0001DC0001FC0001FC0001FC0000F80015147F9318>I<FFDF
F8FFDFF8FFDFF8FFDFF83C01E03C01E03C01E01C01C01CF9C01DFDC01DFDC01DFDC01DDDC01DDD
C01DDDC00DDD800FDF800FDF800F8F800F8F8015147F9318>I<7F8FF0FF9FF0FF9FF07F8FF007
DF0003DE0003FC0001FC0000F80000F00000F80001FC0001FC0003DE00079F00078F007F8FF0FF
8FF8FF8FF87F8FF015147F9318>I<7F8FF0FF8FF8FF8FF87F8FF00F07800F07800F8780078780
078F00078F0003CF0003CE0003CE0001CE0001DE0001DC0000FC0000FC0000FC00007800007800
00780000F00000F0007DF0007FE0007FE0007FC0003F80001E0000151E7F9318>I<3FFFF07FFF
F07FFFF07FFFF07807E0780FC0781F80003E00007C0000F80001F00003E00007C0F01F80F03F00
F07E00F0FFFFF0FFFFF0FFFFF0FFFFF014147F9318>I E /Fp 11 107 df<FFFFFFC0FFFFFFC0
1A027C8B23>0 D<78FCFCFCFC7806067D8D0D>I<FFFFFFF0FFFFFFF00000000000000000000000
0000000000000000000000000000000000FFFFFFF0FFFFFFF00000000000000000000000000000
0000000000000000000000000000FFFFFFF0FFFFFFF01C147D9423>17 D<000000C0000003C000
000F0000003C000000F0000003C000000F0000001C00000078000001E00000078000001E000000
78000000E0000000780000001E0000000780000001E0000000780000001C0000000F00000003C0
000000F00000003C0000000F00000003C0000000C0000000000000000000000000000000000000
00000000000000000000FFFFFFC0FFFFFFC01A247C9C23>20 D<007FF801FFF80780000E00001C
0000380000300000700000600000600000E00000C00000C00000FFFFF8FFFFF8C00000C00000E0
00006000006000007000003000003800001C00000E000007800001FFF8007FF8151C7C981E>50
D<00000C00001C0000180000380000300000700000600000E00000C00001C00001800003800003
00000700000600000E00000C00001C0000180000380000300000300000700000600000E00000C0
0001C0000180000380000300000700000600000E00000C00001C00001800003800003000007000
00600000E00000C00000162A7A9F00>54 D<00060000060003FE0007FC001E1E001C0E00381F00
381F00701B80703B80703380F033C0F033C0F073C0F063C0F063C0F0E3C0F0C3C0F0C3C0F0C3C0
F1C3C0F183C0F183C0F383C0F303C07303807303807703803E07003E07001E0E001E1E000FFC00
0FF0001C000018000018000012257EA117>59 D<C00006C00006C00006C00006C00006C00006C0
0006C00006C00006C00006C00006C00006C00006C00006C00006C00006C00006C00006C00006E0
000E60000C70001C3800381F01F007FFC000FE00171A7D991E>91 D<001F007F00F801E003C003
C003C003C003C003C003C003C003C003C003C003C003C003C003C007800F00FE00F800FE000F00
078003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C001E000F8007F00
1F102D7DA117>102 D<F800FE001F00078003C003C003C003C003C003C003C003C003C003C003
C003C003C003C003C001E000F0007F001F007F00F001E003C003C003C003C003C003C003C003C0
03C003C003C003C003C003C003C007801F00FE00F800102D7DA117>I<C0C0C0C0C0C0C0C0C0C0
C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0022D7BA1
0D>106 D E /Fq 6 56 df<060C183830707060E0E0E0E0E0E0E0E0E0E06070703038180C0607
1A7F920C>40 D<C0603038181C1C0C0E0E0E0E0E0E0E0E0E0E0C1C1C18383060C0071A7E920C>
I<0C007C00FC009C001C001C001C001C001C001C001C001C001C001C00FF80FF8009107E8F0F>
49 D<1F007F80C3C0E1E0E0E000E001E001C0038007000E00186030607FC0FFC0FFC00B107F8F
0F>I<1F003F8073C073C023C003800F800F0003C001C001E041E0E1E0E1C07F803F000B107F8F
0F>I<60007FE07FE07FC0C180C180030006000E000C000C001C001C001C001C001C0008000B11
7E900F>55 D E /Fr 16 92 df<0006000C001800380070006000E001C001C003800380070007
000E000E001E001C001C003C003C0038003800780078007800780078007000F000F000F000F000
F000F000F000F000F000F000F000F000F000F000F000F000F000F0007000780078007800780078
00380038003C003C001C001C001E000E000E00070007000380038001C001C000E0006000700038
0018000C00060F4A788119>16 D<C0006000300038001C000C000E00070007000380038001C001
C000E000E000F0007000700078007800380038003C003C003C003C003C001C001E001E001E001E
001E001E001E001E001E001E001E001E001E001E001E001E001E001E001C003C003C003C003C00
3C00380038007800780070007000F000E000E001C001C003800380070007000E000C001C003800
30006000C0000F4A7F8119>I<0000300000600000C0000180000380000700000E00000C00001C
0000380000380000700000E00000E00001C00001C00003C0000380000380000700000700000F00
000E00000E00001E00001E00001C00001C00003C00003C00003C00003800007800007800007800
00780000780000780000700000F00000F00000F00000F00000F00000F00000F00000F00000F000
00F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F000007000
007800007800007800007800007800007800003800003C00003C00003C00001C00001C00001E00
001E00000E00000E00000F000007000007000003800003800003C00001C00001C00000E00000E0
00007000003800003800001C00000C00000E000007000003800001800000C00000600000301463
77811F>I<C000006000003000001800001C00000E000007000003000003800001C00001C00000
E000007000007000003800003800003C00001C00001C00000E00000E00000F0000070000070000
07800007800003800003800003C00003C00003C00001C00001E00001E00001E00001E00001E000
01E00000E00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F000
00F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000E00001E00001E000
01E00001E00001E00001E00001C00003C00003C00003C000038000038000078000078000070000
0700000F00000E00000E00001C00001C00003C0000380000380000700000700000E00001C00001
C0000380000300000700000E00001C0000180000300000600000C0000014637F811F>I<000018
0000300000700000E00000C0000180000380000700000700000E00000E00001C00003C00003800
00780000700000F00000F00001E00001E00001C00003C00003C00003C000078000078000078000
0F00000F00000F00001F00001F00001E00001E00001E00003E00003E00003E00003C00003C0000
7C00007C00007C00007C00007C00007C00007C0000780000780000F80000F80000F80000F80000
F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000
F80000F80000F80000F80000F80000F80000F80000F80000F800007800007800007C00007C0000
7C00007C00007C00007C00007C00003C00003C00003E00003E00003E00001E00001E00001E0000
1F00001F00000F00000F00000F000007800007800007800003C00003C00003C00001C00001E000
01E00000F00000F000007000007800003800003C00001C00000E00000E00000700000700000380
0001800000C00000E0000070000030000018157C768121>32 D<C0000060000070000038000018
00000C00000E000007000007000003800003800001C00001E00000E00000F00000700000780000
7800003C00003C00001C00001E00001E00001E00000F00000F00000F0000078000078000078000
07C00007C00003C00003C00003C00003E00003E00003E00001E00001E00001F00001F00001F000
01F00001F00001F00001F00000F00000F00000F80000F80000F80000F80000F80000F80000F800
00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800
00F80000F80000F80000F80000F80000F80000F00000F00001F00001F00001F00001F00001F000
01F00001F00001E00001E00003E00003E00003E00003C00003C00003C00007C00007C000078000
0780000780000F00000F00000F00001E00001E00001E00001C00003C00003C0000780000780000
700000F00000E00001E00001C0000380000380000700000700000E00000C000018000038000070
0000600000C00000157C7F8121>I<FFF0FFF0FFF0FFF0F000F000F000F000F000F000F000F000
F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F0
00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000
F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F0
00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000
F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F0
00F000F000F000F000F000F000F000F000F000F000FFF0FFF0FFF0FFF00C7C758118>I<FFF0FF
F0FFF0FFF000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F0
00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000
F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F0
00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000
F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F0
00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000
F000F0FFF0FFF0FFF0FFF00C7C808118>I<00000C0000180000380000300000700000E00000C0
0001C0000380000380000700000700000F00000E00001E00001C00003C00003C00007800007800
00F80000F00000F00001F00001E00003E00003E00003C00003C00007C00007C00007C0000F8000
0F80000F80000F80001F80001F00001F00001F00001F00003F00003F00003F00003E00003E0000
3E00003E00007E00007E00007E00007E00007E00007E00007E00007C00007C00007C0000FC0000
FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000
FC0000FC0000FC0000164B748024>48 D<C000006000007000003000003800001C00000C00000E
000007000007000003800003800003C00001C00001E00000E00000F00000F00000780000780000
7C00003C00003C00003E00001E00001F00001F00000F00000F00000F80000F80000F800007C000
07C00007C00007C00007E00003E00003E00003E00003E00003F00003F00003F00001F00001F000
01F00001F00001F80001F80001F80001F80001F80001F80001F80000F80000F80000F80000FC00
00FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC00
00FC0000FC0000FC164B7F8024>I<FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000
FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC00007C00007C00007C00007E0000
7E00007E00007E00007E00007E00007E00003E00003E00003E00003E00003F00003F00003F0000
1F00001F00001F00001F00001F80000F80000F80000F80000F800007C00007C00007C00003C000
03C00003E00003E00001E00001F00000F00000F00000F800007800007800003C00003C00001C00
001E00000E00000F000007000007000003800003800001C00000C00000E0000070000030000038
00001800000C164B748224>64 D<0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC00
00FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000F80000F80000F80001F800
01F80001F80001F80001F80001F80001F80001F00001F00001F00001F00003F00003F00003F000
03E00003E00003E00003E00007E00007C00007C00007C00007C0000F80000F80000F80000F0000
0F00001F00001F00001E00003E00003C00003C00007C0000780000780000F00000F00000E00001
E00001C00003C0000380000380000700000700000E00000C00001C000038000030000070000060
0000C00000164B7F8224>I<FFFFFFFFE0FFFFFFFFF07800001FF07C000003F03E000000F81F00
0000380F0000001C0F8000000C07C000000C03C000000603E000000001F000000000F800000000
78000000007C000000003E000000001E000000001F000000000F8000000007C000000003C00000
0003C000000001800000000380000000030000000006000000000C000000001800000000380000
000030000000006000000000C0000006018000000C038000000C030000001C06000000380C0000
00F818000001F83800001FF03FFFFFFFF07FFFFFFFF0FFFFFFFFE0272A7E7F2C>80
D<FFFFFFFFFFFFC0FFFFFFFFFFFFE07F80000003FFE07F800000001FE03FC000000007F01FE000
000001F00FF000000000780FF0000000003807F8000000001C03FC000000000C03FE000000000C
01FE000000000600FF0000000000007F8000000000007F8000000000003FC000000000001FE000
000000000FF000000000000FF0000000000007F8000000000003FC000000000003FC0000000000
01FE000000000000FF0000000000007F8000000000007F8000000000003FC000000000001FE000
000000001FE000000000000FE0000000000007E0000000000003C0000000000003800000000000
070000000000000E0000000000001C0000000000003800000000000070000000000000F0000000
000000E0000000000001C0000000000003800000000000070000000000000E0000000000001C00
00000006003C000000000C0038000000000C0070000000001C00E0000000003801C00000000078
038000000000F8070000000003F00E000000001FF01E00000003FFF01FFFFFFFFFFFE03FFFFFFF
FFFFE07FFFFFFFFFFFE0FFFFFFFFFFFFC0373A7E7F3C>88 D<000000038000000007C00000000E
600000001CF00000001DF00000003DF000000039F000000038E000000078000000007800000000
7000000000F000000000F000000000F000000000F000000001E000000001E000000001E0000000
03E000000003E000000003C000000003C000000007C000000007C000000007C000000007C00000
000F800000000F800000000F800000000F800000001F800000001F800000001F000000001F0000
00003F000000003F000000003F000000003F000000003E000000007E000000007E000000007E00
0000007E000000007E00000000FC00000000FC00000000FC00000000FC00000001F800000001F8
00000001F800000001F800000001F800000001F000000003F000000003F000000003F000000003
F000000003E000000003E000000007E000000007E000000007C000000007C000000007C0000000
07C00000000F800000000F800000000F800000000F800000000F000000000F000000001F000000
001F000000001E000000001E000000001E000000003C000000003C000000003C000000003C0000
000078000000007800000000780000007070000000F8F0000000F8E0000000F9E0000000F1C000
000063800000003F000000001E00000000245C7E7F17>90 D<600000000300F00000000780F000
00000780F00000000780F00000000780F00000000780F00000000780F00000000780F000000007
80F00000000780F00000000780F00000000780F00000000780F00000000780F00000000780F000
00000780F00000000780F00000000780F00000000780F00000000780F00000000780F000000007
80F00000000780F00000000780F00000000780F00000000780F00000000780F00000000780F000
00000780F00000000780F00000000780F00000000780F00000000780F00000000780F000000007
80F00000000780F00000000780F00000000780F00000000780F00000000780F00000000780F800
00000F80F80000000F80780000000F007C0000001F007C0000001F003E0000003E003E0000003E
001F0000007C001F800000FC000FC00001F80007F00007F00003FC001FE00000FF80FF8000007F
FFFF0000001FFFFC00000007FFF000000000FF800000293A7E7F2E>I E
/Fs 11 111 df<07C00007E00001F00001F00000F00000F00000F800007800007800007C00003C
00003C00003E00003E00001E00001F00003F00007F0000EF0001CF8003C7800787800F07C01E03
C03C03C07803E0F801E0F001E0E000F0141D7E9C18>21 D<70F0F8F8781818183030706040050D
7D840C>59 D<E0000000780000001E0000000780000001E0000000780000001E00000007800000
01E0000000780000001E00000007800000078000001E00000078000001E00000078000001E0000
0078000001E00000078000001E00000078000000E000000019187D9520>62
D<0003F800001FFE00007C0F8000F007C003E003C007C001E0078001E00F0001F01E0001F03E00
01F03E0001F07C0001F07C0001F07C0001F0F80003E0F80003E0F80003E0F80007C0F80007C0F8
000F80F8000F0078001F007C003E003C007C003E00F0001F83E00007FF800001FC00001C1C7E9B
20>79 D<01FFFF0003FFFFC0003C03E0003C01F0003C01F0003C01F0007801F0007801F0007801
F0007801E000F003E000F003C000F0078000F01F0001FFFE0001FFF00001E0000001E0000003C0
000003C0000003C0000003C0000007800000078000000780000007800000FFF80000FFF000001C
1C7E9B1B>I<1FFFFFF01FFFFFF03C0780F0380780607007806060078060600F0060C00F0060C0
0F0060C00F0060001E0000001E0000001E0000001E0000003C0000003C0000003C0000003C0000
0078000000780000007800000078000000F0000000F0000000F0000000F000007FFF80007FFF80
001C1C7F9B18>84 D<00F803FE071E0E1F1C3E381E78007800F000F000F000F000F000F004700E
383C1FF00FC010127F9112>99 D<00F803FE0F061E063C063806781C7FF8FFE0F000F000F000F0
007004700E383C1FF00FC00F127F9113>101 D<00E001E003E003E001C0000000000000000000
000F001F8033C063C04780C78007800F000F000F001E001E203C603C603CE03CC01F800F000B1C
7F9B0E>105 D<1E0FC1F8003F1FE3FC0067B0F61E0063E0FC1E00C7C0F81E00C780F01E000780
F01E000780F01E000F01E03C000F01E03C000F01E03C000F01E078401E03C078C01E03C078C01E
03C0F1801E03C0F3803C07807F001803003C0022127F9124>109 D<1E0F803F3FC067F1E063C1
E0C7C1E0C781E00781E00781E00F03C00F03C00F03C00F07841E078C1E078C1E0F181E0F383C07
F01803C016127F9119>I E /Ft 9 107 df<FFFFF0FFFFF014027D881B>0
D<070007000700E738FFF87FF01FC01FC07FF0FFF8E7380700070007000D0E7E8E12>3
D<0000300000F00003C0000700001E0000780001E0000780000E00003C0000F00000F000003C00
000E000007800001E000007800001E000007000003C00000F00000300000000000000000000000
00000000000000FFFFF0FFFFF0141E7D951B>20 D<0000018000000180000000C0000000E00000
0070FFFFFFFCFFFFFFF800000070000000E0000000C000000180000001801E0C7E8D23>33
D<0E1F1F1F1E3E3E3C3C7C78787070F0E06008117F910A>48 D<07C00FC01FF03FE03FFC7C7070
7EF018E03FC01CC01F800CC00F800CC007C00CC007E00CE00FF01C603DF83838F8FFF01FF03FE0
0FC00F801E0E7E8D23>I<FF80FF80C000C000C000C000C000C000C000C000C000C000C000C000
C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C0
0009227A9810>100 D<FF80FF8001800180018001800180018001800180018001800180018001
800180018001800180018001800180018001800180018001800180018001800180018001800180
0922809810>I<C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
C002217C980A>106 D E /Fu 51 123 df<0000FFC0FF00000FFFF7FFC0003FFFFFFFE000FFC0
FFCFF001FE01FF8FF003FC01FF0FF007FC01FF0FF007F801FE0FF007F801FE07E007F801FE0000
07F801FE000007F801FE000007F801FE000007F801FE000007F801FE0000FFFFFFFFF800FFFFFF
FFF800FFFFFFFFF800FFFFFFFFF80007F801FE000007F801FE000007F801FE000007F801FE0000
07F801FE000007F801FE000007F801FE000007F801FE000007F801FE000007F801FE000007F801
FE000007F801FE000007F801FE000007F801FE000007F801FE000007F801FE000007F801FE0000
07F801FE000007F801FE00007FFF0FFFF0007FFF0FFFF0007FFF0FFFF0007FFF0FFFF0002C2A7F
A928>11 D<FFFF80FFFF80FFFF80FFFF80FFFF80FFFF80FFFF8011077F9017>45
D<1E007F807F80FFC0FFC0FFC0FFC07F807F801E000A0A7C8913>I<000700001F00007F0007FF
00FFFF00FFFF00FFFF00F8FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
0000FF0000FF0000FF0000FF0000FF007FFFFE7FFFFE7FFFFE7FFFFE17277BA622>49
D<00FF800007FFF0001FFFFC003FFFFE007E07FF807F01FF80FF80FFC0FF80FFC0FF807FE0FF80
7FE0FF803FE07F003FE01C007FE000007FE000007FE000007FC00000FFC00000FF800001FF0000
01FE000003FC000007F000000FE000001FC000003F0000007E01E0007C01E000F801E001F003C0
03C003C0078003C00FFFFFC01FFFFFC03FFFFFC07FFFFFC0FFFFFF80FFFFFF80FFFFFF80FFFFFF
801B277DA622>I<007F800003FFF00007FFFC000FFFFE001F83FF003FC1FF003FC0FF803FC0FF
803FE0FF803FC0FF801FC0FF800F81FF800001FF000001FF000003FE000007F80000FFF00000FF
C00000FFF8000003FE000000FF000000FF8000007FC000007FC000007FE000007FE01C007FE07F
007FE0FF807FE0FF807FE0FF807FE0FF807FC0FF80FFC0FF00FF807F01FF003FFFFE001FFFFC00
07FFF00000FF80001B277DA622>I<00001F0000003F0000003F0000007F000000FF000001FF00
0001FF000003FF000007FF00000FFF00001F7F00001E7F00003C7F0000787F0000F87F0001F07F
0001E07F0003C07F0007807F000F807F000F007F001E007F003C007F007C007F00F8007F00FFFF
FFF8FFFFFFF8FFFFFFF8FFFFFFF80000FF000000FF000000FF000000FF000000FF000000FF0000
7FFFF8007FFFF8007FFFF8007FFFF81D277EA622>I<180003001F803F001FFFFF001FFFFE001F
FFFC001FFFFC001FFFF0001FFFE0001FFF80001FFC00001E0000001E0000001E0000001E000000
1E0000001E3FC0001FFFF8001FFFFC001F80FF001F007F801E007F8000003FC000003FC000003F
E000003FE018003FE07E003FE0FF003FE0FF003FE0FF003FE0FF003FC0FF007FC0FE007FC07C00
FF803F01FF003FFFFE000FFFF80003FFE00000FF00001B277DA622>I<0007F000003FFC0000FF
FE0001FFFF0007FC1F000FF03F800FE07F801FE07F803FC07F803FC07F807FC03F007F801E007F
8000007F800000FF820000FF9FF000FFFFFC00FFFFFE00FFE07F00FFE03F80FFC03FC0FFC03FC0
FF803FE0FF803FE0FF803FE0FF803FE0FF803FE07F803FE07F803FE07F803FE07F803FE03F803F
C03FC03FC01FC07F800FE0FF0007FFFE0003FFFC0000FFF000003FC0001B277DA622>I<000007
C00000000007C0000000000FE0000000000FE0000000000FE0000000001FF0000000001FF00000
00003FF8000000003FF8000000003FF8000000007FFC000000007FFC00000000FFFE00000000F3
FE00000000F3FE00000001F3FF00000001E1FF00000003E1FF80000003C0FF80000003C0FF8000
0007C0FFC0000007807FC000000F807FE000000F003FE000000F003FE000001F003FF000001E00
1FF000003FFFFFF800003FFFFFF800003FFFFFF800007FFFFFFC0000780007FC0000F80007FE00
00F00003FE0000F00003FE0001F00003FF0001E00001FF00FFFF003FFFFEFFFF003FFFFEFFFF00
3FFFFEFFFF003FFFFE2F297EA834>65 D<FFFFFFFC0000FFFFFFFF8000FFFFFFFFC000FFFFFFFF
F00003FC001FF80003FC000FF80003FC0007FC0003FC0007FC0003FC0007FE0003FC0003FE0003
FC0003FE0003FC0003FE0003FC0003FE0003FC0007FC0003FC0007FC0003FC000FF80003FC001F
F80003FC003FF00003FFFFFFC00003FFFFFF000003FFFFFFE00003FC001FF80003FC0007FC0003
FC0003FE0003FC0003FF0003FC0001FF0003FC0001FF8003FC0001FF8003FC0001FF8003FC0001
FF8003FC0001FF8003FC0001FF8003FC0001FF8003FC0003FF0003FC0003FF0003FC0007FE0003
FC001FFC00FFFFFFFFF800FFFFFFFFF000FFFFFFFFC000FFFFFFFE000029297DA831>I<00003F
F003800003FFFE0780000FFFFF8F80003FFFFFFF8000FFF807FF8001FF8001FF8007FF00007F80
0FFC00003F800FF800001F801FF800001F803FF000000F803FF000000F807FE0000007807FE000
0007807FE000000780FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000
FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC0000000007FE000
0000007FE0000007807FE0000007803FF0000007803FF000000F801FF800000F800FF800001F00
0FFC00001F0007FF00003E0001FF8000FC0000FFF803F800003FFFFFF000000FFFFFC0000003FF
FF000000003FF0000029297CA832>I<FFFFFFF80000FFFFFFFF8000FFFFFFFFE000FFFFFFFFF8
0003FE003FFC0003FE0007FE0003FE0001FF0003FE0000FF8003FE00007FC003FE00007FC003FE
00003FE003FE00003FE003FE00001FF003FE00001FF003FE00001FF003FE00001FF003FE00001F
F803FE00001FF803FE00001FF803FE00001FF803FE00001FF803FE00001FF803FE00001FF803FE
00001FF803FE00001FF803FE00001FF803FE00001FF003FE00001FF003FE00001FF003FE00003F
E003FE00003FE003FE00003FC003FE00007FC003FE0000FF8003FE0001FF0003FE0007FE0003FE
001FFC00FFFFFFFFF800FFFFFFFFE000FFFFFFFF8000FFFFFFFC00002D297DA835>I<FFFFFFFF
E0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE003FE003FF003FE0007F003FE0003F003FE0001F003FE00
01F003FE0000F003FE0000F003FE03C0F003FE03C0F803FE03C07803FE03C07803FE03C07803FE
07C00003FE0FC00003FFFFC00003FFFFC00003FFFFC00003FFFFC00003FE0FC00003FE07C01E03
FE03C01E03FE03C01E03FE03C03C03FE03C03C03FE03C03C03FE00003C03FE00007C03FE00007C
03FE0000F803FE0000F803FE0001F803FE0007F803FE003FF8FFFFFFFFF8FFFFFFFFF0FFFFFFFF
F0FFFFFFFFF027297DA82D>I<FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC003FE007FE003
FE000FE003FE0007E003FE0003E003FE0003E003FE0001E003FE0001E003FE03C1E003FE03C1F0
03FE03C0F003FE03C0F003FE03C0F003FE07C00003FE0FC00003FFFFC00003FFFFC00003FFFFC0
0003FFFFC00003FE0FC00003FE07C00003FE03C00003FE03C00003FE03C00003FE03C00003FE03
C00003FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE
000000FFFFFE0000FFFFFE0000FFFFFE0000FFFFFE000024297DA82B>I<00007FE007000003FF
FC0F00001FFFFF1F00007FFFFFFF0000FFF00FFF0003FF8001FF0007FE0000FF000FFC00007F00
0FF800003F001FF000003F003FF000001F003FE000001F007FE000000F007FE000000F007FE000
000F00FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000
FFC000000000FFC000000000FFC000000000FFC003FFFFF8FFC003FFFFF87FE003FFFFF87FE003
FFFFF87FE00001FF003FE00001FF003FF00001FF001FF00001FF000FF80001FF000FFC0001FF00
07FE0001FF0003FF8003FF0000FFF007FF00007FFFFFFF00001FFFFFBF000003FFFE0F0000007F
F003002D297CA836>I<FFFFF83FFFFEFFFFF83FFFFEFFFFF83FFFFEFFFFF83FFFFE03FE0000FF
8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE
0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF
8003FFFFFFFF8003FFFFFFFF8003FFFFFFFF8003FFFFFFFF8003FE0000FF8003FE0000FF8003FE
0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF
8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF80FFFF
F83FFFFEFFFFF83FFFFEFFFFF83FFFFEFFFFF83FFFFE2F297DA836>I<FFFFFEFFFFFEFFFFFEFF
FFFE01FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF0001
FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF0001
FF0001FF0001FF0001FF0001FF0001FF0001FF0001FF00FFFFFEFFFFFEFFFFFEFFFFFE17297FA8
1A>I<FFFFFE0000FFFFFE0000FFFFFE0000FFFFFE000003FE00000003FE00000003FE00000003
FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE000000
03FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE0000
0003FE0003C003FE0003C003FE0003C003FE0003C003FE0007C003FE00078003FE00078003FE00
078003FE000F8003FE000F8003FE001F8003FE003F8003FE007F8003FE01FF80FFFFFFFF00FFFF
FFFF00FFFFFFFF00FFFFFFFF0022297DA829>76 D<FFFF0000003FFFC0FFFF8000007FFFC0FFFF
8000007FFFC0FFFF8000007FFFC003FFC00000FFF00003FFC00000FFF00003DFE00001EFF00003
DFE00001EFF00003CFF00003CFF00003CFF00003CFF00003CFF00003CFF00003C7F800078FF000
03C7F800078FF00003C3FC000F0FF00003C3FC000F0FF00003C3FC000F0FF00003C1FE001E0FF0
0003C1FE001E0FF00003C0FF003C0FF00003C0FF003C0FF00003C07F80780FF00003C07F80780F
F00003C07F80780FF00003C03FC0F00FF00003C03FC0F00FF00003C01FE1E00FF00003C01FE1E0
0FF00003C01FE1E00FF00003C00FF3C00FF00003C00FF3C00FF00003C007FF800FF00003C007FF
800FF00003C007FF800FF00003C003FF000FF00003C003FF000FF00003C001FE000FF00003C001
FE000FF000FFFF00FC03FFFFC0FFFF00FC03FFFFC0FFFF00FC03FFFFC0FFFF007803FFFFC03A29
7DA841>I<FFFF0001FFFEFFFF0001FFFEFFFF8001FFFEFFFFC001FFFE03FFE000078003FFF000
078003FFF000078003DFF800078003CFFC00078003CFFE00078003C7FF00078003C3FF00078003
C1FF80078003C0FFC0078003C0FFE0078003C07FF0078003C03FF0078003C01FF8078003C00FFC
078003C00FFE078003C007FF078003C003FF078003C001FF878003C001FFC78003C000FFE78003
C0007FF78003C0003FF78003C0001FFF8003C0001FFF8003C0000FFF8003C00007FF8003C00003
FF8003C00001FF8003C00001FF8003C00000FF8003C000007F8003C000003F80FFFF00001F80FF
FF00001F80FFFF00000F80FFFF000007802F297DA836>I<0000FFE000000007FFFC0000003FFF
FF8000007FC07FC00001FF001FF00003FC0007F80007F80003FC000FF80003FE001FF00001FF00
1FF00001FF003FE00000FF803FE00000FF807FE00000FFC07FC000007FC07FC000007FC07FC000
007FC0FFC000007FE0FFC000007FE0FFC000007FE0FFC000007FE0FFC000007FE0FFC000007FE0
FFC000007FE0FFC000007FE0FFC000007FE0FFC000007FE07FC000007FC07FE00000FFC07FE000
00FFC03FE00000FF803FE00000FF801FF00001FF001FF00001FF000FF80003FE0007FC0007FC00
03FE000FF80001FF001FF00000FFC07FE000003FFFFF8000000FFFFE00000000FFE000002B297C
A834>I<FFFFFFF000FFFFFFFF00FFFFFFFFC0FFFFFFFFE003FE003FF003FE001FF803FE000FFC
03FE0007FC03FE0007FC03FE0007FE03FE0007FE03FE0007FE03FE0007FE03FE0007FE03FE0007
FE03FE0007FC03FE0007FC03FE000FF803FE001FF803FE007FF003FFFFFFE003FFFFFF8003FFFF
FC0003FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE
00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE000000FFFFF80000FF
FFF80000FFFFF80000FFFFF8000027297DA82F>I<FFFFFFE00000FFFFFFFE0000FFFFFFFF8000
FFFFFFFFE00003FE007FF00003FE001FF80003FE000FFC0003FE0007FC0003FE0007FC0003FE00
07FE0003FE0007FE0003FE0007FE0003FE0007FE0003FE0007FE0003FE0007FC0003FE0007FC00
03FE000FF80003FE001FF00003FE007FE00003FFFFFF800003FFFFFE000003FFFFFC000003FE01
FF000003FE00FF800003FE007FC00003FE007FC00003FE003FE00003FE003FE00003FE003FE000
03FE003FE00003FE003FF00003FE003FF00003FE003FF00003FE003FF00003FE003FF00F03FE00
3FF80F03FE003FFC0FFFFFF81FFE1FFFFFF80FFFFEFFFFF803FFFCFFFFF8007FF030297DA834>
82 D<007F80E003FFF1E00FFFFFE01FFFFFE03FC07FE03F001FE07F000FE07E0007E0FE0003E0
FE0003E0FE0001E0FF0001E0FF0001E0FF800000FFF80000FFFF80007FFFF8007FFFFE003FFFFF
001FFFFFC00FFFFFC007FFFFE001FFFFF0003FFFF00001FFF800001FF800000FF8000007F8F000
07F8F00003F8F00003F8F00003F8F80003F8FC0007F0FE0007F0FF000FE0FFE01FE0FFFFFFC0FF
FFFF00F0FFFE00E01FF0001D297CA826>I<7FFFFFFFFFC07FFFFFFFFFC07FFFFFFFFFC07FFFFF
FFFFC07F807FC03FC07E007FC00FC07C007FC007C07C007FC007C0F8007FC003E0F8007FC003E0
F8007FC003E0F0007FC001E0F0007FC001E0F0007FC001E0F0007FC001E0F0007FC001E000007F
C0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC00000
00007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007F
C0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC00000
00FFFFFFE00000FFFFFFE00000FFFFFFE00000FFFFFFE0002B287EA730>I<01FF80000FFFF000
1FFFFC003FC1FE003FC0FF003FC0FF003FC07F803FC07F800F007F8000007F800000FF80007FFF
8003FFFF800FFFFF803FF07F807FC07F807F807F80FF807F80FF007F80FF007F80FF007F80FF80
FF807F81FF807FC3FFFC3FFFFFFC0FFF1FFC01FC07FC1E1B7E9A21>97 D<FFF0000000FFF00000
00FFF0000000FFF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF000
00000FF00000000FF00000000FF00000000FF00000000FF00000000FF0FE00000FF7FFC0000FFF
FFF0000FFE07F8000FFC03FC000FF001FE000FF001FE000FF000FF000FF000FF000FF000FF800F
F000FF800FF000FF800FF000FF800FF000FF800FF000FF800FF000FF800FF000FF800FF000FF80
0FF000FF000FF001FF000FF001FE000FF801FE000FFC03FC000FFE0FF8000FDFFFE0000F87FF80
000F01FE0000212A7EA926>I<001FF00000FFFE0003FFFF000FF07F801FE07F803FC07F803FC0
7F807FC07F807F801E00FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF
800000FF8000007FC000007FC000003FC003C03FE007C01FF007C00FFC1F8003FFFF0000FFFC00
001FE0001A1B7E9A1F>I<00007FF80000007FF80000007FF80000007FF800000007F800000007
F800000007F800000007F800000007F800000007F800000007F800000007F800000007F8000000
07F800000007F800003FC7F80001FFF7F80003FFFFF8000FF83FF8001FE00FF8003FC007F8003F
C007F8007FC007F8007F8007F800FF8007F800FF8007F800FF8007F800FF8007F800FF8007F800
FF8007F800FF8007F800FF8007F800FF8007F8007F8007F8007F8007F8003FC007F8003FC00FF8
001FE01FF8000FF07FFF8007FFFFFF8001FFF7FF80003F87FF80212A7EA926>I<003FE00001FF
F80003FFFE000FF07F001FE03F803FC03FC03FC01FC07F801FC07F800FE0FF800FE0FF800FE0FF
FFFFE0FFFFFFE0FFFFFFE0FF800000FF800000FF800000FF8000007F8000007FC000003FC001E0
3FE003E01FF003C00FFC0FC003FFFF8000FFFE00001FF0001B1B7E9A20>I<0003F800001FFE00
007FFF0001FF7F8003FE7F8003FC7F8007F87F8007F87F8007F83F0007F8000007F8000007F800
0007F8000007F8000007F80000FFFFC000FFFFC000FFFFC000FFFFC00007F8000007F8000007F8
000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007
F8000007F8000007F8000007F8000007F8000007F8000007F800007FFFC0007FFFC0007FFFC000
7FFFC000192A7EA915>I<00FF81F003FFEFF80FFFFFFC1FC1FEFC3FC1FEFC3F80FEFC7F80FF30
7F80FF007F80FF007F80FF007F80FF007F80FF003F80FE003FC1FE001FC1FC001FFFF8001FFFE0
003CFF80003C0000003E0000003E0000003FFFF8003FFFFF003FFFFFC01FFFFFE00FFFFFF01FFF
FFF03FFFFFF87E000FF8FE0003F8FC0001F8FC0001F8FC0001F8FE0003F87E0003F07F0007F03F
C01FE00FFFFF8003FFFE00007FF0001E287E9A22>I<FFF0000000FFF0000000FFF0000000FFF0
0000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000F
F00000000FF00000000FF00000000FF00000000FF07F00000FF1FFC0000FF7FFE0000FFF8FF000
0FFE07F8000FFC07F8000FFC07F8000FF807F8000FF807F8000FF007F8000FF007F8000FF007F8
000FF007F8000FF007F8000FF007F8000FF007F8000FF007F8000FF007F8000FF007F8000FF007
F8000FF007F8000FF007F8000FF007F800FFFF1FFF80FFFF1FFF80FFFF1FFF80FFFF1FFF80212A
7DA926>I<07800FE01FF03FF03FF03FF03FF01FF00FE00780000000000000000000000000FFF0
FFF0FFF0FFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00F
F00FF00FF0FFFFFFFFFFFFFFFF102B7EAA13>I<FFF00000FFF00000FFF00000FFF000000FF000
000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0
00000FF07FFC0FF07FFC0FF07FFC0FF07FFC0FF01F800FF03F000FF07E000FF1F8000FF3F0000F
F7E0000FFFE0000FFFE0000FFFF0000FFFF8000FFFFC000FFFFC000FF3FE000FE1FF000FE0FF00
0FE0FF800FE07FC00FE03FC00FE03FE0FFFE7FFEFFFE7FFEFFFE7FFEFFFE7FFE1F2A7EA924>
107 D<FFF0FFF0FFF0FFF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0
0FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00F
F0FFFFFFFFFFFFFFFF102A7EA913>I<FFE03F800FE000FFE1FFE07FF800FFE7FFF1FFFC00FFEF
87FBE1FE000FFE03FF80FF000FFC03FF00FF000FFC03FF00FF000FF803FE00FF000FF803FE00FF
000FF003FC00FF000FF003FC00FF000FF003FC00FF000FF003FC00FF000FF003FC00FF000FF003
FC00FF000FF003FC00FF000FF003FC00FF000FF003FC00FF000FF003FC00FF000FF003FC00FF00
0FF003FC00FF000FF003FC00FF000FF003FC00FF00FFFF1FFFC7FFF0FFFF1FFFC7FFF0FFFF1FFF
C7FFF0FFFF1FFFC7FFF0341B7D9A39>I<FFE07F0000FFE1FFC000FFE7FFE000FFEF8FF0000FFE
07F8000FFC07F8000FFC07F8000FF807F8000FF807F8000FF007F8000FF007F8000FF007F8000F
F007F8000FF007F8000FF007F8000FF007F8000FF007F8000FF007F8000FF007F8000FF007F800
0FF007F8000FF007F8000FF007F800FFFF1FFF80FFFF1FFF80FFFF1FFF80FFFF1FFF80211B7D9A
26>I<003FE00001FFFC0003FFFE000FF07F801FC01FC03FC01FE03F800FE07F800FF07F800FF0
7F800FF0FF800FF8FF800FF8FF800FF8FF800FF8FF800FF8FF800FF8FF800FF8FF800FF87F800F
F07F800FF03F800FE03FC01FE01FE03FC00FF07F8007FFFF0001FFFC00003FE0001D1B7E9A22>
I<FFF0FE0000FFF7FFC000FFFFFFF000FFFE0FF8000FFC07FC000FF003FE000FF001FE000FF001
FF000FF001FF000FF000FF800FF000FF800FF000FF800FF000FF800FF000FF800FF000FF800FF0
00FF800FF000FF800FF000FF800FF001FF000FF001FF000FF003FE000FF803FE000FFC07FC000F
FE0FF8000FFFFFE0000FF7FF80000FF1FE00000FF00000000FF00000000FF00000000FF0000000
0FF00000000FF00000000FF00000000FF0000000FFFF000000FFFF000000FFFF000000FFFF0000
0021277E9A26>I<003FC0780000FFF0F80003FFF9F8000FF83FF8001FF01FF8003FE00FF8003F
E00FF8007FC007F8007FC007F800FF8007F800FF8007F800FF8007F800FF8007F800FF8007F800
FF8007F800FF8007F800FF8007F800FF8007F8007FC007F8007FC007F8003FC007F8003FE00FF8
001FF01FF8000FF87FF80007FFFFF80001FFF7F800003F87F800000007F800000007F800000007
F800000007F800000007F800000007F800000007F800000007F80000007FFF8000007FFF800000
7FFF8000007FFF8021277E9A24>I<FFE3F0FFEFFCFFFFFEFFFCFF0FFCFF0FF8FF0FF8FF0FF0FF
0FF03C0FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF000
0FF0000FF000FFFF80FFFF80FFFF80FFFF80181B7E9A1C>I<03FE700FFFF03FFFF07E03F07C01
F0F800F0F800F0FC00F0FF0000FFF800FFFF007FFFC07FFFF03FFFF80FFFF803FFFC003FFC0001
FCF000FCF0007CF8007CF8007CFC00F8FF01F8FFFFF0FFFFC0E1FE00161B7E9A1B>I<00780000
780000780000780000F80000F80000F80001F80003F80003F80007F8001FFFF0FFFFF0FFFFF0FF
FFF007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007
F87807F87807F87807F87807F87807F87807F8F803FCF001FFF000FFC0003F8015267FA51B>I<
FFF07FF800FFF07FF800FFF07FF800FFF07FF8000FF007F8000FF007F8000FF007F8000FF007F8
000FF007F8000FF007F8000FF007F8000FF007F8000FF007F8000FF007F8000FF007F8000FF007
F8000FF007F8000FF007F8000FF007F8000FF007F8000FF00FF8000FF00FF8000FF01FF80007F8
3FFF8007FFFFFF8001FFF7FF80007FC7FF80211B7D9A26>I<FFFF07FF80FFFF07FF80FFFF07FF
80FFFF07FF8007F800F00007FC01F00003FC01E00003FE03E00001FE03C00001FE03C00001FF07
C00000FF07800000FF8F8000007F8F0000007F8F0000003FDE0000003FDE0000003FFE0000001F
FC0000001FFC0000000FF80000000FF80000000FF800000007F000000007F000000003E0000000
03E00000211B7F9A24>I<FFFE3FFE1FFEFFFE3FFE1FFEFFFE3FFE1FFEFFFE3FFE1FFE07F807F8
03C007F807F803C007F80FF807C003FC0FFC078003FC0FFC078003FE1FFE0F8001FE1EFE0F0001
FE1EFE0F0001FF3EFF1F0000FF3C7F1E0000FF7C7F3E00007FF83FBC00007FF83FBC00007FF83F
FC00003FF01FF800003FF01FF800003FF01FF800001FE00FF000001FE00FF000000FC007E00000
0FC007E000000FC007E00000078003C0002F1B7F9A32>I<FFFE1FFF00FFFE1FFF00FFFE1FFF00
FFFE1FFF0003FC0FC00001FE0F800001FF1F000000FF3E0000007FFC0000003FFC0000003FF800
00001FF00000000FF000000007F800000007FC0000000FFC0000001FFE0000003EFF0000007EFF
8000007C7F800000F83FC00001F03FE00003E01FF000FFF83FFF80FFF83FFF80FFF83FFF80FFF8
3FFF80211B7F9A24>I<FFFF07FF80FFFF07FF80FFFF07FF80FFFF07FF8007F800F00007FC01F0
0003FC01E00003FE03E00001FE03C00001FE03C00001FF07C00000FF07800000FF8F8000007F8F
0000007F8F0000003FDE0000003FDE0000003FFE0000001FFC0000001FFC0000000FF80000000F
F80000000FF800000007F000000007F000000003E000000003E000000003C000000003C000003C
07C000007E07800000FF0F800000FF0F000000F01F000000F03E000000787C0000007FF8000000
3FF00000000FC000000021277F9A24>I<3FFFFF803FFFFF803FFFFF803F81FF003E03FF003C07
FE007C07FC007C0FF800781FF800781FF000783FE000007FE00000FFC00000FF800001FF878003
FF078003FE078007FC07800FFC0F800FF80F801FF00F003FF01F007FE03F007FC0FF00FFFFFF00
FFFFFF00FFFFFF00191B7E9A1F>I E /Fv 7 113 df<07C01FC0380070007F80FF80E000600070
803F801F000A0B7E8A0D>15 D<183C307E60FE61C76183C306E306761C7FF83FF00FC00E000C00
1C001C00180010107E8A14>39 D<07801FC039C070807000E000E000E00060407FC01F800A0B7E
8A0E>99 D<06070600000000387CCEDC1C38383B767E3C08127F910B>105
D<3C78F0007FFDFC00CF8F1C00CF0E1C000E0E1C001C1C38001C1C38001C1C39801C1C73003838
7F0018183C00190B7F8A1B>109 D<3CF0007FFC00CF1C00CE1C000E1C001C38001C38001C3980
1C7300387F00183C00110B7F8A13>I<1E703FFC678C670E070E0E1C0E1C0E1C0E381FF01DC01C
001C003800FE00FE000F10808A10>112 D E /Fw 39 121 df<007801FC038607000700060007
00078003C001E007F00E781C383C38781878187838F0307030706070603FC01F8002000F188096
10>14 D<03F00FE03C0078007000FFC0FFC0F000F000F000F00078603FE00F800C0E7F8D0E>I<
0601800E03800E03800E03801C07001C07001C07001C0700380E00380E60381E603C3E407FEFC0
77C780700000700000E00000E00000E00000C0000013147F8D15>22 D<7C0180FC03801C03801C
0700380700380E00380E00381C0070780070F00073C0007F8000FE0000F00000110E7F8D11>I<
0FFFE01FFFF03FFFE0718C00C18C00019C00039C00031C00031C00071C00071C000E1E000E0E00
0C0C00140E808D14>25 D<180780301FC0603FE06070E0C06060C0C060C0C060C180C0C180C0E1
83807B0F003FFE001FFC0007F0000700000600000E00000E00000E00000C000013147E8D17>39
D<70F8F8F87005057E840A>58 D<70F0F8F878181830306040050B7E840A>I<0000300000F000
03C0000700001E0000780001E0000780000E00003C0000F00000F000003C00000E000007800001
E000007800001E000007000003C00000F000003014167D921B>I<001800180038003000300070
0060006000E000C001C0018001800380030003000700060006000E000C000C001C001800380030
003000700060006000E000C000C0000D217E9812>I<C00000F000003C00000E000007800001E0
00007800001E000007000003C00000F00000F00003C0000700001E0000780001E0000780000E00
003C0000F00000C0000014167D921B>I<0000C00001C00001E00003E00003E00007E0000DE000
0DE00019E00019E00031E00071E00061E000C1F000C1F001FFF003FFF00300F00600F00600F00E
00F07F87FEFF07FE17177F961A>65 D<001F8600FFCC03E07C07803C0F003C1E00183C00183800
18780018700000F00000F00000F00000E00000E00060E00060E000C0F000C07001807803003E0E
001FFC0007E00017177E9619>67 D<07FF3FF807FF3FF800F0078000F0078000F0078001E00F00
01E00F0001E00F0001E00F0003C01E0003FFFE0003FFFE0003C01E0007803C0007803C0007803C
0007803C000F0078000F0078000F0078000F007800FFE7FF00FFC7FE001D177F961D>72
D<07F80FF807F80FF800FC018000FC018000FE0180019E0300019E0300018F0300018F03000307
8600030786000307C6000303C6000603CC000601EC000601EC000600FC000C00F8000C00F8000C
0078001C007800FF803000FF0030001D177F961C>78 D<001FC0007FF001F07803C03C07001C0F
001E1E001E1C001E3C001E38001E78001E78001E78001E78003CF0003C7000787800787800F078
01E03C03C01E0F800FFE0003F00017177F961B>I<07FFF00007FFFC0000F01E0000F00F0000F0
0F0001E00F0001E00F0001E00F0001E01E0003C07C0003FFF00003FFE00003C0F0000780780007
80780007807800078078000F00F0000F00F0000F00F1800F00F380FFE07F00FFC03E0019177F96
1B>82 D<003E3000FF6001C1E00300E00700E00E00C00E00C00F00000F80000FF80007FE0003FF
0000FF80000F80000780000380300380600700700700700E00781C00FFF80087E00014177E9615
>I<03CC0FFC1C3C383C7038F038F038F038E070E073E0F3F1F27FFE1E3C100E7F8D13>97
D<7E007C001C001C001C00380038003800380077C07FE078707078E078E078E078E078C0F0C0F0
C0E0E3C07F803E000D177F960F>I<03E00FF01C7838787870F000F000F000E000E000E0107070
3FE01F800D0E7F8D0F>I<03E00FF03C1878187070FFE0FF80F000E000E000F01070703FE01F80
0D0E7F8D10>101 D<1F80001F00000700000700000700000E00000E00000E00000E00001CF800
1DFE001F0E001E0E003C0E003C0E00380E00381C00701C00701CC07038C0703980E01F00600E00
12177F9614>104 D<018003C003C00180000000000000000000001E003F0067006700C7000E00
0E000E001C001CC038C039801F000E000A1780960C>I<0018003C003C00180000000000000000
000001E003F006380C38187000700070007000E000E000E000E001C001C001C071C0F380F700FE
007C000E1D80960E>I<1F801F000700070007000E000E000E000E001C1E1C3E1C671DCF3B1E3F
0C3FC039E070E070E370E370E6E07C603810177F9612>I<3F3E0E0E0E1C1C1C1C383838387070
7070E0E6E6E4FC7808177F960B>I<1C3E0F803E7FBFC067C3F1C06783E1C0CF03C1C00F0381C0
0E0381C00E0383801C0703801C0703981C0707181C070730380E03E0180601C01D0E808D1F>I<
1C3E003E7F8067C380678380CF03800F03800E03800E07001C07001C07301C0E301C0E603807C0
180380140E808D15>I<03E00FF81C1C381E781EF01EF01EF01EE03CE03CE07870F03FC01F000F
0E7F8D11>I<0E3E001F7F0033C3803383C06703C00703C00703C00703C00E07800E07800E0700
0F1E001FFC001DF0001C00001C0000380000380000FF0000FE00001214818D12>I<03C40FEC1C
3C383C7038F038F038F038E070E070E0F0F1F07FE01EE000E000E001C001C00FF80FF00E147F8D
10>I<1C703FF8679C673CCE780E300E000E001C001C001C001C00380018000E0E808D10>I<07C0
0FE01CF01CF03CE03F801FC00FE001E0F0E0F0E0E1C0FF803F000C0E7E8D10>I<060007000E00
0E000E000E00FFC0FFC01C001C003800380038003800700070C070C071807F003E000A147F930D
>I<1E01803F0380670380670380C707000E07000E07000E07001C0E001C0E601C1E600E3E400F
FFC003C780130E808D14>I<1E0C3F1E671F670FC7060E060E060E061C0C1C0C1C180E380FF003
C0100E808D11>I<1E030C3F071E67071F67070FC70E060E0E060E0E060E0E061C1C0C1C1C0C1C
1C180E3E180FFFF003C3E0180E808D19>I<0F1E003FBF0071E38060E780C1CF0001C60001C000
01C000638000F38300F38300E78600FFFC0038F800110E7F8D14>I E /Fx
32 113 df<FFFFFFFCFFFFFFFC1E027C8C27>0 D<78FCFCFCFC7806067C8E0E>I<C00003E00007
70000E38001C1C00380E00700700E00381C001C38000E700007E00003C00003C00007E0000E700
01C3800381C00700E00E00701C003838001C70000EE00007C000031818799727>I<03F0000FFC
001FFE003FFF007FFF807FFF80FFFFC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC07FFF
807FFF803FFF001FFE000FFC0003F00012147D9519>15 D<FFFFFFFFFFFFFFFF00000000000000
00000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF000000000000
0000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF20167D9627
>17 D<001FFFFC007FFFFC01E00000078000000E0000001C000000380000003000000070000000
60000000E0000000C0000000C0000000C0000000C0000000C0000000C0000000C0000000E00000
00600000007000000030000000380000001C0000000E0000000780000001E00000007FFFFC001F
FFFC00000000000000000000000000000000000000000000000000000000000000007FFFFFFC7F
FFFFFC1E277C9F27>I<0000000C0000003C000000F0000003C000000F0000003C000000F00000
07C000001F00000078000001E00000078000001E00000078000000E0000000780000001E000000
0780000001E0000000780000001F00000007C0000000F00000003C0000000F00000003C0000000
F00000003C0000000C000000000000000000000000000000000000000000000000000000000000
0000FFFFFFFCFFFFFFFC1E277C9F27>20 D<C0000000F00000003C0000000F00000003C0000000
F00000003C0000000F80000003E0000000780000001E0000000780000001E0000000780000001C
00000078000001E00000078000001E00000078000003E000000F8000003C000000F0000003C000
000F0000003C000000F0000000C000000000000000000000000000000000000000000000000000
00000000000000000000FFFFFFFCFFFFFFFC1E277C9F27>I<07E000010FF800011FFC0001381E
0003700780036003C006C001E00EC000781C80003FF880001FF0800007E0200B7D9127>24
D<07E000011FF800013FFE0001781F000360078003C001E006C000F81E80007FFC80001FF88000
07E0000000000000000007E000011FF800013FFE0001781F000360078003C001E006C000F81E80
007FFC80001FF8800007E020167D9727>I<001FFFFC00FFFFFC01E00000078000000E0000001C
0000003800000030000000700000006000000060000000E0000000C0000000C0000000C0000000
C0000000C0000000C0000000E000000060000000600000007000000030000000380000001C0000
000E0000000780000001E0000000FFFFFC001FFFFC1E1E7C9A27>I<0000001800600000007801
E0000001E00780000003800E0000000F003C0000003C00F0000000F003C0000003C00F00000007
001C0000001E00780000007801E0000001E00780000007801E0000000E00380000003C00F00000
00F003C0000000F003C00000003C00F00000000E003800000007801E00000001E0078000000078
01E00000001E007800000007001C00000003C00F00000000F003C00000003C00F00000000F003C
00000003800E00000001E007800000007801E00000001800602B207D9B32>28
D<000000006000000000003000000000003000000000001800000000001800000000000C000000
00000600000000000380FFFFFFFFFFE0FFFFFFFFFFC0000000000380000000000600000000000C
000000000018000000000018000000000030000000000030000000000060002B127D9432>33
D<0000006000000000006000000000003000000000001800000000001800000000000C00000000
00060000000000030000FFFFFFFF8000FFFFFFFFC000000000007000000000001C00000000000F
800000000003E0000000000780000000001E00000000003800000000006000FFFFFFFFC000FFFF
FFFF80000000000700000000000600000000000C00000000001800000000003000000000003000
000000006000000000006000002B1C7D9932>41 D<01F80003F00007FF000FFC000FFF803F8E00
1E1FE07C03003807F0F001807003F9E000C06001FBC000C0E000FF800060C0007F000060C0003F
000060C0003F800060C0001F800060C0001FC00060C0003FE000E060007BF000C06000F3F801C0
3001E1FC03801807C0FF0F000E3F803FFE0007FE001FFC0001F80003F0002B157D9432>49
D<001FFF00FFFF01E0000780000E00001C0000380000300000700000600000600000E00000C000
00C00000FFFFFFFFFFFFC00000C00000E000006000006000007000003000003800001C00000E00
0007800001E00000FFFF001FFF181E7C9A21>I<00000300000700000600000E00000C00001C00
00180000380000300000700000600000E00000C00001C000018000038000030000070000060000
0E00000C00001C0000180000180000380000300000700000600000E00000C00001C00001800003
80000300000700000600000E00000C00001C0000180000380000300000700000600000E00000C0
0000182E79A200>54 D<C0000030C0000030E000007060000060700000E0300000C0300000C038
0001C0180001801C0003800C0003000C0003000E00070007FFFE0007FFFE0003000C0003000C00
03801C00018018000180180001C0380000C0300000E0700000606000006060000070E0000030C0
000039C0000019800000198000001F8000000F0000000F000000060000000600001C2380A21D>
56 D<00030000030001FF0007FE000F0F001C07803C0FC0380DC0380DC0700CE0701CE07018E0
F018F0F018F0F038F0F030F0F030F0F030F0F070F0F060F0F060F0F0E0F0F0C0F0F0C0F0F0C0F0
F1C0F0F180F07180E07180E07B81E03B01C03B01C03F03C01F03800F0F0007FE0007F8000E0000
0C00000C000014287EA419>59 D<0F800FC0001FC07FE00038E1F3E000307383F000607F01F000
603E01F800603C00FC00703C00FC00303E007E00383E003E001C3E003F000E3E001F00063E001F
80073E000F00033E003C00033E00F000033FFFC000033FFF0000633E0F8000673E0F8000663E0F
80003E3E0F80001C3E0F8000003E0F8000003E0F8000003E0F8000003E0F8000003C0F8000003C
0F8000703C0F8000E0380F8000307807C700387007CE001FE003F80007C000F00021237EA224>
I<0000000F000000001F000000001F000000003F000000007F000000007F00000000FF00000000
DF00000001DF000000019F000000039F000000071F000000071F0000000E1F0000000C1F000000
1C1F000000381F000000381F000000701F000000E01F000000E01F000001C01F000003801F0000
03801F000007FFFF00000FFFFF00001FFFFF80001C001F802038001F806070000F8070F0000F80
FFE0000FC0FFC0000FCEFF80000FFEFF000007F87E000007E03C0000000027257EA328>65
D<00380FF000F87FF803F8FFFC07FBC1FC0EFF80FC00FF007C00FE007C01FE007801FC00F801FC
00F001F801E001F807C001F01F0003F07C0003E3FF0003E7FFC003E7FFE003C01FF007C007F007
C003F807C001F8078001F80F8000F80F8000F80F8000F80F0000F01F0001F01F0001E01E0003C0
3EE007803DFC1E007FFFFC007BFFF000E07F80001E227FA121>I<000007C000001FE000007FF0
0001FFF00003C7F0000783E0000F03E0001F0380001E0200003E0000003C0000007C0000007800
0000F8000000F8000001F0000001F0000001F0000003E0000003E0000003E0000007E0000007C0
000007C0000007C000000F8000080F80003C0F0000781FFC00F81FFFE0F03FFFFFE07FFFFF80F0
7FFF00C003F8001F227EA122>76 D<C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0
C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000
C0C00000C0C00000C0C00000C0C00000C0C00000C0E00001C06000018070000380380007001C00
0E000F807C0003FFF000007F80001A1D7D9C21>91 D<C000C000C000C000C000C000C000C000C0
00C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000
C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C0
00FFF0FFF00C3277A416>98 D<0030003000300030003000300030003000300030003000300030
003000300030003000300030003000300030003000300030003000300030003000300030003000
30003000300030003000300030003000300030003000300030003000300030FFF0FFF00C3280A4
16>I<FFF0FFF0C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000
C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C0
00C000C000C000C000C000C000C000C000C000C000C000C0000C3277A416>I<FFF0FFF0003000
300030003000300030003000300030003000300030003000300030003000300030003000300030
003000300030003000300030003000300030003000300030003000300030003000300030003000
3000300030003000300030003000300C3280A416>I<0007C0003FC0007C0000F00001E00001E0
0001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0
0001E00003C00003C0000F8000FE0000F80000FE00000F800003C00003C00001E00001E00001E0
0001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0
0000F000007C00003FC00007C012317DA419>I<F80000FF00000F800003C00001E00001E00001
E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001
E00000F00000F000007C00001FC00007C0001FC0007C0000F00000F00001E00001E00001E00001
E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00003
C0000F8000FF0000F8000012317DA419>I<C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C002317AA40E>106
D<0000000003000000000300000000070000000006000000000E000000000C000000001C000000
0018000000003800000000300000000070000000006000000000E000000000C000000001C00000
00018000000003800000000300000000070000000006000000000E000000000C000000001C0000
00001800000000380003000030000F000070001F800060003F8000E000E7C000C00047C001C000
03E001800003E003800003E003000001F007000001F006000000F80E000000F80C0000007C1C00
00007C180000003E380000003E300000001F700000001F600000000FE00000000FC000000007C0
000000078000000003800000000300000028327D812A>112 D E /Fy 47
123 df<000180000300000600000C00001C0000380000700000600000E00001C00001C0000380
000380000700000700000F00000E00001E00001E00001C00003C00003C00003800003800007800
00780000700000700000700000700000F00000F00000F00000F00000F00000F000007000007000
007000007000007000003000003800001800001C00000C0000112E7AA113>40
D<001800000C00000E000006000007000007000003000003800003800003800003800003800003
80000380000380000380000380000780000780000780000700000700000F00000F00000E00000E
00001E00001C00001C00003C0000380000380000700000700000E00000E00001C00001C0000380
000700000600000C00001C0000380000600000C00000112E80A113>I<7FF07FF0FFE07FE00C04
7D8B10>45 D<00020006000E001C003C01FC07BC067800780078007800F000F000F000F001E001
E001E001E003C003C003C003C00780078007800780FFF8FFF80F1D7B9C17>49
D<001F80007FC000E0E00180700330780338780618780E30780C30780C60780CE0780FC0F00700
E00001E00003C0000700001E0000380000E00003C0000700000E00301C00701800603F81E07FFF
C061FF80C07F00C03C00151D7D9C17>I<07000F801F801F801F000E0000000000000000000000
00000000000038007C00FC00FC00F800700009147B930E>58 D<0000060000000E0000000E0000
001F0000001F0000003F0000003F0000007F000000DF000000DF0000019F0000019F0000031F00
00031F0000061F00000C1F00000C1F0000181F0000181F8000300F80003FFF80007FFF8000E00F
8000C00F8001800F8001800F8003000F8003000F800F000F807FE0FFF8FFC0FFF81D1F7E9E22>
65 D<01FFFFC001FFFFF0001F00F8001F0078001F007C003E007C003E007C003E007C003E007C
007C00F8007C00F8007C01F0007C03E000F80FC000FFFF0000FFFF8000F807C001F003E001F003
E001F001E001F001E003E003E003E003E003E003E003E003C007C007C007C00F8007C01F0007C0
3E00FFFFFC00FFFFE0001E1F7D9E20>I<0000FC060007FF0C001F819C007C00FC00F0007C01E0
007803C00038078000380F8000380F0000301F0000303E0000303E0000003C0000007C0000007C
0000007C00000078000000F8000000F8000000F80000C07800018078000180780003007C000300
3C0006001E000C000F00380007C0F00003FFC00000FE00001F1F7A9E21>I<01FFFF8001FFFFE0
001F01F0001F0078001F003C003E003C003E001E003E001E003E001E007C001E007C001E007C00
1E007C001E00F8003E00F8003E00F8003E00F8003E01F0007C01F0007C01F0007C01F0007803E0
00F003E000F003E001E003E003C007C007C007C00F8007C01E0007C07C00FFFFF000FFFFC0001F
1F7D9E22>I<01FFFFFE01FFFFFC001F003C001F001C001F001C003E000C003E000C003E000C00
3E0018007C0C18007C0C18007C0C00007C1C0000F8380000FFF80000FFF80000F8380001F03000
01F0300001F0303001F0306003E0006003E0006003E000C003E001C007C0018007C0038007C007
0007C01F00FFFFFF00FFFFFE001F1F7D9E1F>I<0001FC0C0007FF18001F03B8007C01F800F000
F801E000F003C00070078000700F8000700F0000601F0000603E0000603E0000007C0000007C00
00007C0000007C000000F8000000F801FFF0F801FFF0F8000F8078001F0078001F0078001F007C
001F003C003E001E003E001F007E000FC1DE0003FF8C0000FE04001E1F7A9E23>71
D<01FFF3FFE001FFF3FFE0001F007C00001F007C00001F007C00003E00F800003E00F800003E00
F800003E00F800007C01F000007C01F000007C01F000007C01F00000F803E00000FFFFE00000FF
FFE00000F803E00001F007C00001F007C00001F007C00001F007C00003E00F800003E00F800003
E00F800003E00F800007C01F000007C01F000007C01F000007C01F0000FFF9FFF000FFF9FFE000
231F7D9E22>I<01FFF801FFF8001F00001F00001F00003E00003E00003E00003E00007C00007C
00007C00007C0000F80000F80000F80000F80001F00001F00001F00001F00003E00003E00003E0
0003E00007C00007C00007C00007C000FFFC00FFFC00151F7E9E12>I<01FFF87FE001FFF87FE0
001F001F00001F001C00001F003000003E006000003E00C000003E018000003E070000007C0E00
00007C1C0000007C300000007C70000000F8F8000000F9F8000000FBF8000000FE7C000001FC7C
000001F87C000001F03E000001F03E000003E03E000003E03F000003E01F000003E01F000007C0
1F800007C00F800007C00F800007C00FC000FFFC7FF800FFF87FF800231F7D9E23>75
D<01FFFC0001FFFC00001F0000001F0000001F0000003E0000003E0000003E0000003E0000007C
0000007C0000007C0000007C000000F8000000F8000000F8000000F8000001F0000001F0000001
F0018001F0018003E0030003E0030003E0060003E0060007C00E0007C01C0007C03C0007C0FC00
FFFFF800FFFFF800191F7D9E1D>I<01FF8001FFC001FF8001FFC0001F8003F800001F8003F800
001F8006F80000378007F0000037800DF0000037800DF00000378019F00000678033E000006780
33E00000678063E00000678063E00000C3C0C7C00000C3C0C7C00000C3C187C00000C3C187C000
0183C30F80000183C60F80000183C60F80000183CC0F80000303CC1F00000303D81F00000303D8
1F00000303F01F00000603F03E00000603E03E00000603C03E00000E03C03E0000FFE387FFE000
FFC387FFC0002A1F7D9E29>I<01FF80FFE001FF80FFE0001F801E00001FC00C00001FC00C0000
37C018000033E018000033E018000033E018000063F030000061F030000061F030000061F83000
00C0F8600000C0F8600000C0FC600000C07C600001807CC00001807CC00001803EC00001803EC0
0003003F800003001F800003001F800003001F800006000F000006000F000006000F00000E000F
0000FFE0060000FFC0060000231F7D9E22>I<01FFFF8001FFFFE0001F01F0001F0078001F0078
003E007C003E007C003E007C003E007C007C00F8007C00F8007C00F0007C01E000F803E000F80F
8000FFFF0000FFF80001F0000001F0000001F0000001F0000003E0000003E0000003E0000003E0
000007C0000007C0000007C0000007C00000FFFC0000FFF800001E1F7D9E1F>80
D<01FFFF0001FFFFC0001F03E0001F00F0001F00F8003E00F8003E00F8003E00F8003E00F8007C
01F0007C01F0007C03E0007C07C000F81F0000FFFE0000FFF80000F83C0001F03E0001F01E0001
F01F0001F01F0003E03E0003E03E0003E03E0003E03E0007C07C0007C07C1807C07C1807C03E30
FFFC1FE0FFF80FC01D1F7D9E21>82 D<0007E0C0001FF980003C1F800070078000E0078001E003
0003C0030003C0030003C0030007C0000007C0000007F0000003FE000003FFC00001FFE00000FF
F000007FF8000007F8000000FC0000007C0000007C000000780030007800300078003000700070
00F0007001E0007801C0007E078000E7FF000081FC00001A1F7D9E1A>I<0FFFFFF01FFFFFE01E
07C1E01807C0E03807C060300F8060300F8060600F8060600F80C0C01F00C0C01F00C0001F0000
001F0000003E0000003E0000003E0000003E0000007C0000007C0000007C0000007C000000F800
0000F8000000F8000000F8000001F0000001F0000001F0000003F00000FFFF8000FFFF80001C1F
789E21>I<FFF80FFCFFF80FFC0F8003C00F8001800F8003000F8003000F8006000F800C000F80
0C000FC0180007C0180007C0300007C0700007C0600007C0C00007C0C00007C1800007C3800007
C3000007E6000007E6000003EC000003FC000003F8000003F0000003F0000003E0000003E00000
03C0000003800000038000001E1F779E22>86 D<00F18003FBC0070F800E0F801C07803C07803C
0F00780F00780F00780F00F01E00F01E00F01E00F01E30F03C60F03C60707C6070FCC03F9F800F
0F0014147C9317>97 D<03C0003FC0003F80000780000780000780000F00000F00000F00000F00
001E00001E00001E78001FFE003F8E003E07003C07003C0780780780780780780780780780F00F
00F00F00F00F00F01E00F01C00703C0070380038F0003FE0000F800011207C9F15>I<007E0001
FF000387800F0F801E0F801C0F003C0600780000780000780000F00000F00000F00000F00000F0
0000700200700700381E001FF80007E00011147C9315>I<0000780007F80007F00000F00000F0
0000F00001E00001E00001E00001E00003C00003C000F3C003FBC0070F800E0F801C07803C0780
3C0F00780F00780F00780F00F01E00F01E00F01E00F01E30F03C60F03C60707C6070FCC03F9F80
0F0F0015207C9F17>I<007C0001FF000783000F01801E01803C01803C0300780E007FFC007FE0
00F00000F00000F00000F000007000007002007807003C1E001FF80007E00011147C9315>I<00
01E00003F8000778000FF8000EF8001E70001E00001E00001E00003E00003C00003C0007FFE007
FFE0003C0000780000780000780000780000780000F00000F00000F00000F00000F00001E00001
E00001E00001E00001E00003C00003C00003C00003C000038000778000FF0000FF0000F60000FC
00007800001529819F0E>I<003E3000FF7801E3F00381F00780F00700F00F01E01E01E01E01E0
1E01E03C03C03C03C03C03C03C03C03C07801C07801C0F800E3F800FFF0003CF00000F00000F00
001E00701E00F81E00F83C00F0F800FFF0003F8000151D7E9315>I<00F0000FF0000FE00001E0
0001E00001E00003C00003C00003C00003C000078000078000079F0007FF800FE3C00F81C00F01
E00F01E01E03C01E03C01E03C01E03C03C07803C07803C07803C0F0C780F18780E18781E30780E
70F00FE060078016207E9F17>I<006000F001F001F000E00000000000000000000000000F001F
8033C033C063C063C0C780078007800F000F001E001E001E303C603C603CC03CC01F800F000C1F
7D9E0E>I<0003800007C00007C000078000070000000000000000000000000000000000000000
7C0000FE00018F00030F00060F00060F000C1E00001E00001E00001E00003C00003C00003C0000
3C0000780000780000780000780000F00000F00000F00000F00001E00071E000F9E000FBC000F7
8000FF00007C00001228819E0E>I<00F0000FF0000FE00001E00001E00001E00003C00003C000
03C00003C0000780000780000781E00783E00F0E300F18F00F11F00F21F01E41E01F81C01F8000
1FF0003CF8003C3C003C3C003C1E30783C60783C60783C60781CC0F01F80600F0014207E9F15>
I<01E01FE01FC003C003C003C007800780078007800F000F000F000F001E001E001E001E003C00
3C003C003C0078007800780078C0F180F180F180F3007E003C000B207D9F0C>I<0F07C0F8001F
9FE3FC0033F8F71E0063E07C0E0063C0780F0063C0780F00C780F01E000780F01E000780F01E00
0780F01E000F01E03C000F01E03C000F01E03C000F01E078601E03C078C01E03C070C01E03C0F1
801E03C073803C07807F001803003C0023147D9325>I<0F07C01F9FE033F8F063E07063C07863
C078C780F00780F00780F00780F00F01E00F01E00F01E00F03C31E03C61E03861E078C1E039C3C
03F81801E018147D931A>I<007C0001FF000383800F01C01E01C01C01E03C01E07801E07801E0
7801E0F003C0F003C0F003C0F00780F00700700F00701E003838001FF00007C00013147C9317>
I<01E1E003F3F8067E1C0C7C1C0C781E0C781E18F01E00F01E00F01E00F01E01E03C01E03C01E0
3C01E07803C07803C07003E0E003E1C007BF80079E000780000780000F00000F00000F00000F00
001E0000FFE000FFE000171D809317>I<0F1E001FBF0033E18063C3C063C7C063C7C0C7878007
87000780000780000F00000F00000F00000F00001E00001E00001E00001E00003C000018000012
147D9313>114 D<00FC03FE0707060F0E0F0E0E1E001FE00FF80FFC07FC01FE003E781EF81CF8
1CF01860703FE01F8010147D9313>I<00C001E003C003C003C003C007800780FFF0FFF00F000F
000F000F001E001E001E001E003C003C003C003C307860786078C079C03F801E000C1C7C9B0F>
I<0780601FC0F039C1E031E1E061C1E063C1E0C3C3C00783C00783C00783C00F07800F07800F07
800F078C0F0F180E0F180F0F180F1F3007F7E003E3C016147D9318>I<0781C01FC3C039C3E031
E1E061C0E063C0E0C3C0C00780C00780C00780C00F01800F01800F01800F03000F03000F06000F
06000F0C0007F80001E00013147D9315>I<078060E01FC0F1E039C1E1F031E1E0F061C1E07063
C1E070C3C3C0600783C0600783C0600783C0600F0780C00F0780C00F0780C00F0781800F078180
0F0781000F0F8300071F860007FBFC0001F0F8001C147D931E>I<0780301FC07839C0F031E0F0
61C0F063C0F0C3C1E00781E00781E00781E00F03C00F03C00F03C00F03C00F07800F07800F0780
0F1F8007FF0001EF00000F00000E00381E007C1C007C3C0078780070F0003FC0001F0000151D7D
9316>121 D<00E06003F0C007FFC00FFF800C0300000600000C0000180000300000600000C000
0180000300000600C00C01801803803FFF007FFE0060FC00C0780013147E9313>I
E /Fz 64 125 df<FFFFFEFFFFFE07C03E07C00E07C00607C00607C00707C00307C00307C00307
C00307C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007
C00007C00007C00007C00007C00007C000FFFF00FFFF00181F7F9E1C>0
D<001F8000FFC001E0E003C0F00781F00F01F00F00E00F00000F00000F00000F00000F0000FFFF
F0FFFFF00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00
F00F00F00F00F00F00F00F00F0FFC3FFFFC3FF1820809F19>12 D<006000C00180038007000600
0E001C001C003C003800380078007000700070007000F000F000F000F000F000F000F000F000F0
00F000F000F00070007000700070007800380038003C001C001C000E00060007000380018000C0
00600B2E7DA112>40 D<C0006000300038001C000C000E000700070007800380038003C001C001
C001C001C001E001E001E001E001E001E001E001E001E001E001E001E001C001C001C001C003C0
038003800780070007000E000C001C00380030006000C0000B2E7DA112>I<018001C001800180
C183E187F99F7DBE1FF807E007E01FF87DBEF99FE187C1830180018001C0018010147DA117>I<
78FCFCFEFE7E0606060C0C18387020070F7D850D>44 D<FFC0FFC0FFC00A037F8B0F>I<78FCFC
FCFC7806067D850D>I<03F0000FFC001E1E003C0F00380700780780780780780780F807C0F807
C0F807C0F807C0F807C0F807C0F807C0F807C0F807C0F807C0F807C0F807C0F807C07807807807
807807803C0F003C0F001E1E000FFC0003F000121D7E9C17>48 D<00C001C00FC0FFC0F3C003C0
03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003
C003C07FFF7FFF101D7D9C17>I<07F0001FFC00383E00601F00F80F80FC0F80FC0FC0FC07C078
07C03007C0000FC0000F80000F80001F00001E00003C0000780000F00000E00001C00003800007
00C00E00C01C00C01801C03FFF807FFF80FFFF80FFFF80121D7E9C17>I<07F0001FFC00383E00
381F007C1F807C0F807C0F803C1F80001F00001F00001E00003C0003F80003F000003C00001E00
000F00000F80000FC0000FC0300FC0780FC0FC0FC0FC0F80FC0F80781F00383E001FFC0007F000
121D7E9C17>I<000E00000E00001E00003E00003E00007E0000FE0000DE00019E00039E00031E
00061E000E1E000C1E00181E00381E00301E00601E00E01E00FFFFF0FFFFF0001E00001E00001E
00001E00001E00001E0001FFE001FFE0141D7F9C17>I<3803003FFF003FFE003FFC003FF0003F
C00030000030000030000030000030000031F00037FC003E1E00380F003007800007800007C000
07C00007C07807C0F807C0F807C0F80780F00F80600F00383E001FF80007E000121D7E9C17>I<
007C0001FE000783000F07801E0F801C0F803C0700780000780000780000F80000F9FC00FBFE00
FE0F00FC0700FC0780F807C0F807C0F807C0F807C07807C07807C07807C03807803C07801C0F00
0E1E0007FC0003F000121D7E9C17>I<78FCFCFCFC78000000000000000078FCFCFCFC7806147D
930D>58 D<78FCFCFCFC78000000000000000070F8FCFCFC7C0C0C0C181838306020061D7D930D
>I<7FFFFFE0FFFFFFF00000000000000000000000000000000000000000000000000000000000
000000FFFFFFF07FFFFFE01C0C7D9023>61 D<0003800000038000000380000007C0000007C000
0007C000000FE000000FE000000FE0000019F0000019F0000019F0000030F8000030F8000030F8
0000607C0000607C0000607C0000C03E0000C03E0000FFFE0001FFFF0001801F0001801F000300
0F8003000F8003000F80070007C00F8007C0FFE07FFEFFE07FFE1F1F7F9E22>65
D<FFFFF000FFFFFC0007C03F0007C01F0007C00F8007C00FC007C00FC007C00FC007C00FC007C0
0FC007C00F8007C01F8007C01F0007C07E0007FFFC0007FFFE0007C01F0007C00F8007C00FC007
C007C007C007E007C007E007C007E007C007E007C007E007C007C007C00FC007C00F8007C03F00
FFFFFE00FFFFF8001B1F7F9E20>I<001FC040007FF0C001F819C003E00FC0078007C00F0003C0
1F0001C03E0001C03E0001C07E0000C07C0000C07C0000C0FC000000FC000000FC000000FC0000
00FC000000FC000000FC0000007C0000007C0000C07E0000C03E0000C03E0000C01F0001800F00
01800780030003E0060001F81C00007FF800001FC0001A1F7D9E21>I<FFFFF000FFFFFE0007C0
3F0007C00F8007C007C007C003E007C001F007C001F007C000F807C000F807C000F807C000FC07
C000FC07C000FC07C000FC07C000FC07C000FC07C000FC07C000FC07C000FC07C000F807C000F8
07C000F807C001F007C001F007C003E007C003C007C00F8007C03F00FFFFFE00FFFFF0001E1F7F
9E23>I<FFFFFF80FFFFFF8007C00F8007C0038007C0018007C0018007C001C007C000C007C000
C007C060C007C060C007C0600007C0600007C0E00007FFE00007FFE00007C0E00007C0600007C0
600007C0603007C0603007C0003007C0006007C0006007C0006007C000E007C000E007C001E007
C007C0FFFFFFC0FFFFFFC01C1F7F9E1F>I<FFFFFF80FFFFFF8007C00F8007C0038007C0018007
C0018007C001C007C000C007C000C007C060C007C060C007C0600007C0600007C0E00007FFE000
07FFE00007C0E00007C0600007C0600007C0600007C0600007C0000007C0000007C0000007C000
0007C0000007C0000007C0000007C00000FFFF0000FFFF00001A1F7F9E1E>I<000FE020007FF8
6001F81CE003E007E007C003E00F8001E01F0000E03E0000E03E0000E07E0000607C0000607C00
0060FC000000FC000000FC000000FC000000FC000000FC000000FC00FFFC7C00FFFC7C0003E07E
0003E03E0003E03E0003E01F0003E00F8003E007C003E003E007E001F80FE0007FFCE0000FE020
1E1F7D9E24>I<FFFC7FFEFFFC7FFE07C007C007C007C007C007C007C007C007C007C007C007C0
07C007C007C007C007C007C007C007C007C007C007C007C007FFFFC007FFFFC007C007C007C007
C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C0
07C007C007C0FFFC7FFEFFFC7FFE1F1F7F9E22>I<FFFEFFFE07C007C007C007C007C007C007C0
07C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007
C0FFFEFFFE0F1F809E10>I<FFFF00FFFF0007C00007C00007C00007C00007C00007C00007C000
07C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00307C00307C003
07C00307C00707C00707C00607C00E07C01E07C07EFFFFFEFFFFFE181F7F9E1C>76
D<FFC0000FFEFFE0001FFE07E0001FC007E0001FC006F00037C006F00037C006F00037C0067800
67C006780067C006780067C0063C00C7C0063C00C7C0063C00C7C0061E0187C0061E0187C0060F
0307C0060F0307C0060F0307C006078607C006078607C006078607C00603CC07C00603CC07C006
03CC07C00601F807C00601F807C00601F807C00600F007C00F00F007C0FFF0F0FFFEFFF060FFFE
271F7F9E2A>I<FFC01FFEFFE01FFE07F001E007F000C006F800C006F800C0067C00C0067E00C0
063E00C0061F00C0061F80C0060F80C00607C0C00607E0C00603E0C00603F0C00601F0C00600F8
C00600FCC006007CC006003EC006003FC006001FC006000FC006000FC0060007C0060007C00600
03C00F0001C0FFF001C0FFF000C01F1F7F9E22>I<FFFFF000FFFFFC0007C03E0007C01F0007C0
0F8007C00F8007C00FC007C00FC007C00FC007C00FC007C00FC007C00F8007C00F8007C01F0007
C03E0007FFFC0007FFF00007C0000007C0000007C0000007C0000007C0000007C0000007C00000
07C0000007C0000007C0000007C0000007C00000FFFE0000FFFE00001A1F7F9E1F>80
D<003FC00000FFF00003F0FC0007C03E000F801F001F000F801F000F803E0007C03E0007C07E00
07E07C0003E0FC0003F0FC0003F0FC0003F0FC0003F0FC0003F0FC0003F0FC0003F0FC0003F0FC
0003F07C0003E07E0007E07E0007E03E0007C01F0F0F801F1F8F800FB0DF0007F07E0003F0FC00
00FFF000003FF010000030100000381000003C3000003FF000003FF000001FE000001FE000000F
C0000007801C287D9E23>I<FFFFC000FFFFF80007C07C0007C03E0007C01F0007C01F0007C01F
8007C01F8007C01F8007C01F8007C01F0007C01F0007C03E0007C07C0007FFF80007FFC00007C0
E00007C0F00007C0780007C0780007C07C0007C07C0007C07C0007C07E0007C07E0007C07E0007
C07E0607C07F0607C03F8EFFFE1FFCFFFE03F01F1F7F9E21>I<07E0800FF9803C1F8038078070
0380700380F00180F00180F00180F80000F80000FE00007FE0007FFC003FFE001FFF0007FF8000
FF80000F800007C00007C00003C0C003C0C003C0C003C0E00380E00780F00700FE0E00CFFC0083
F800121F7D9E19>I<7FFFFFE07FFFFFE07C0F81E0700F80E0600F8060600F8060E00F8070C00F
8030C00F8030C00F8030C00F8030000F8000000F8000000F8000000F8000000F8000000F800000
0F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000
000F8000000F800007FFFF0007FFFF001C1F7E9E21>I<FFFE1FFEFFFE1FFE07C001E007C000C0
07C000C007C000C007C000C007C000C007C000C007C000C007C000C007C000C007C000C007C000
C007C000C007C000C007C000C007C000C007C000C007C000C007C000C007C000C007C000C007C0
00C003C0018003E0018001E0030000F00600007C1C00001FF8000007E0001F1F7F9E22>I<FEFE
C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
C0C0FEFE072D7CA10D>91 D<FEFE06060606060606060606060606060606060606060606060606
06060606060606060606060606060606FEFE072D7FA10D>93 D<07F0001FFC003E1E003E0F003E
07801C078000078000078003FF800FFF803F07807C07807C0780F80798F80798F80798F80F987C
1FF83FF3F00FC1E015147F9317>97 D<0F0000FF0000FF00000F00000F00000F00000F00000F00
000F00000F00000F00000F00000F1F800F7FC00FE1E00F80F00F00780F00780F007C0F007C0F00
7C0F007C0F007C0F007C0F007C0F00780F00780F00F80F80F00EC1E00E7FC00C1F001620809F19
>I<03F00FFC1E3E3C3E3C3E781C7800F800F800F800F800F800F80078007C003C033E031F0E0F
FC03F010147E9314>I<0003C0003FC0003FC00003C00003C00003C00003C00003C00003C00003
C00003C00003C003E3C00FFBC01E0FC03C07C07C03C07803C07803C0F803C0F803C0F803C0F803
C0F803C0F803C07803C07803C07803C03C07C01E1FC00FFBFC03E3FC16207E9F19>I<03F0000F
FC001E1E003C0F003C0F00780F00780780F80780FFFF80FFFF80F80000F80000F800007800007C
00003C01801E03800F070007FE0001F80011147F9314>I<003E0000FF0003CF80078F80078F80
0F07000F00000F00000F00000F00000F00000F0000FFF000FFF0000F00000F00000F00000F0000
0F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0000FFF000
FFF0001120809F0E>I<03F1E00FFFF01E1F703C0F607C0F807C0F807C0F807C0F807C0F803C0F
001E1E001FFC0033F0003000003000003800003FFE003FFF801FFFC03FFFE07801E07000F0E000
70E00070E000707000E07801E03E07C00FFF0003FC00141E7F9317>I<0F0000FF0000FF00000F
00000F00000F00000F00000F00000F00000F00000F00000F00000F1F800F7FC00FE1E00FC0F00F
80F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F
00F0FFF3FFFFF3FF1820809F19>I<0E001F003F003F001F000E00000000000000000000000F00
7F007F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00FFE0FFE00B
1F809E0D>I<0F0000FF0000FF00000F00000F00000F00000F00000F00000F00000F00000F0000
0F00000F0FF80F0FF80F07C00F07000F06000F0C000F18000F38000F78000FFC000FBC000F1E00
0F1F000F0F000F0F800F07C00F03C00F03E0FFE7FCFFE7FC1620809F18>107
D<0F00FF00FF000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00
0F000F000F000F000F000F000F000F000F000F000F00FFF0FFF00C20809F0D>I<0F0FC07E00FF
3FE1FF00FFE0F707800FC07E03C00F807C03C00F007803C00F007803C00F007803C00F007803C0
0F007803C00F007803C00F007803C00F007803C00F007803C00F007803C00F007803C00F007803
C00F007803C0FFF3FF9FFCFFF3FF9FFC2614809327>I<0F1F80FF7FC0FFE1E00FC0F00F80F00F
00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F0FF
F3FFFFF3FF1814809319>I<01F80007FE001F0F803C03C03C03C07801E07801E0F801F0F801F0
F801F0F801F0F801F0F801F07801E07801E03C03C03C03C01F0F8007FE0001F80014147F9317>
I<0F1F80FF7FC0FFE1E00F81F00F00F80F00F80F007C0F007C0F007C0F007C0F007C0F007C0F00
7C0F00780F00F80F00F80F81F00FC3E00F7FC00F1F000F00000F00000F00000F00000F00000F00
000F0000FFF000FFF000161D809319>I<03E0C00FF9C01F1DC03E07C07C07C07C03C07803C0F8
03C0F803C0F803C0F803C0F803C0F803C07803C07C03C07C07C03E07C01E1FC00FFBC003E3C000
03C00003C00003C00003C00003C00003C00003C0003FFC003FFC161D7E9318>I<0F7CFFFEFFDF
0F9F0F9F0F0E0F000F000F000F000F000F000F000F000F000F000F000F00FFF0FFF01014809312
>I<0FB03FF07070E030E030E030F000FF007FC03FE01FF003F80078C038C038E038E030F070FF
E08F800D147E9312>I<06000600060006000E000E001E003E00FFF8FFF81E001E001E001E001E
001E001E001E001E001E001E181E181E181E181E180F3007E003C00D1C7F9B12>I<0F00F0FF0F
F0FF0FF00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00
F00F01F00F01F00707F003FEFF01F8FF1814809319>I<FFC7F8FFC7F81F01E00F01C00F01800F
018007830007830007830003C60003C60003EE0001EC0001EC0001FC0000F80000F80000700000
700000700015147F9318>I<FF9FF3FCFF9FF3FC1E03C0F01E03C0E00F03C0C00F07C0C00F07E0
C00787E180078CE180078CF18003CCF30003D8730003D87B0003F87F0001F87E0001F03E0001F0
3E0000F03C0000E01C0000E01C001E147F9321>I<7FE7FC7FE7FC0783E007838003C30001E600
01EE0000FC00007800007800003C00007E0000FE0001CF000187800387800703C00F03E0FFCFFE
FFCFFE1714809318>I<FFC7F8FFC7F81F01E00F01C00F01800F018007830007830007830003C6
0003C60003EE0001EC0001EC0001FC0000F80000F8000070000070000070000060000060000060
0070C000F8C000C18000E380007F00003C0000151D7F9318>I<3FFF3FFF381E303E703C607860
F861F001E003E007C007830F831F031E073C067C06781EFFFEFFFE10147F9314>I<FFFFFFFFFF
F0FFFFFFFFFFF02C02808C2D>124 D E /FA 26 122 df<0000E000000001F000000001F00000
0003F800000003F800000003F800000007FC00000007FC0000000FFE0000000EFE0000000EFE00
00001CFF0000001C7F0000003C7F800000383F800000383F800000703FC00000701FC00000F01F
E00000E00FE00000FFFFE00001FFFFF00001FFFFF00003C007F800038003F800038003F8000700
01FC00070001FC00FFF01FFFE0FFF01FFFE0FFF01FFFE0231F7E9E28>65
D<0007FC06003FFF0E00FFFFDE03FE03FE07F800FE0FE0007E1FC0003E3F80001E3F80001E7F80
000E7F00000E7F00000EFF000000FF000000FF000000FF000000FF000000FF000000FF0000007F
0000007F00000E7F80000E3F80000E3F80001C1FC0001C0FE0003807F8007803FE01F000FFFFC0
003FFF800007FC001F1F7D9E26>67 D<FFFFFE0000FFFFFFC000FFFFFFF00007F00FF80007F001
FC0007F000FE0007F0007F0007F0007F0007F0003F8007F0003F8007F0003F8007F0003FC007F0
003FC007F0003FC007F0003FC007F0003FC007F0003FC007F0003FC007F0003FC007F0003FC007
F0003F8007F0003F8007F0003F8007F0007F0007F0007F0007F000FE0007F001FC0007F00FF800
FFFFFFF000FFFFFFC000FFFFFE0000221F7E9E28>I<FFF80000FFF8FFF80000FFF8FFFC0001FF
F807FC0001FF0007FC0001FF00077E0003BF00077E0003BF00073F00073F00073F00073F00073F
00073F00071F800E3F00071F800E3F00070FC01C3F00070FC01C3F000707E0383F000707E0383F
000707E0383F000703F0703F000703F0703F000701F8E03F000701F8E03F000700FDC03F000700
FDC03F000700FDC03F0007007F803F0007007F803F0007003F003F0007003F003F00FFF83F07FF
F8FFF81E07FFF8FFF81E07FFF82D1F7E9E32>77 D<03FC180FFF381FFFF83E03F87C00F8780078
F80078F80038F80038FC0000FF0000FFF8007FFF007FFFC03FFFE01FFFF00FFFF803FFF8001FFC
0001FC0000FC00007CE0007CE0007CE0007CF00078F800F8FE01F0FFFFE0E7FFC0C1FF00161F7D
9E1D>83 D<03FC000FFF801FFFC03F8FE03F83F03F83F01F03F00E03F001FFF00FFFF03FC3F07E
03F0FC03F0FC03F0FC03F0FC03F07E0FF07FFDFE3FF9FE0FE07E17147F9319>97
D<FF800000FF800000FF8000001F8000001F8000001F8000001F8000001F8000001F8000001F80
00001F8000001F8000001F8FF0001FFFF8001FFFFC001FE07E001F803F001F803F001F803F801F
803F801F803F801F803F801F803F801F803F801F803F801F803F801F803F001FC07F001FE0FE00
1FFFFC001E3FF8001C0FE00019207F9F1D>I<01FC0007FF001FFF803F9FC03F1FC07E1FC07E0F
80FE0700FE0000FE0000FE0000FE0000FE00007E00007F00E03F00E03F83C01FFF8007FF0001FC
0013147E9317>I<0007FC000007FC000007FC000000FC000000FC000000FC000000FC000000FC
000000FC000000FC000000FC000000FC0003F8FC000FFFFC001FFFFC003F83FC007F00FC007E00
FC00FE00FC00FE00FC00FE00FC00FE00FC00FE00FC00FE00FC00FE00FC00FE00FC007E00FC007E
01FC003F07FC001FFFFF800FFEFF8003F0FF8019207E9F1D>I<01FE0007FF801FFFE03F87F07F
03F07F01F8FE01F8FFFFF8FFFFF8FFFFF8FE0000FE0000FE00007E00007F00383F80783FC0F00F
FFF007FFC000FF0015147F9318>I<001FC0007FE001FFF003F0F007E7F00FC7F00FC3E00FC3E0
0FC0000FC0000FC0000FC000FFFC00FFFC00FFFC000FC0000FC0000FC0000FC0000FC0000FC000
0FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0007FFC007FFC007FFC0014207F9F10>
I<03FC7C0FFFFE1FFFFE3F0FFE3E07DC7E07E07E07E07E07E07E07E03E07C03F0FC01FFF801FFF
003BFC003800003800003FFF803FFFF01FFFF81FFFFC7FFFFC7C00FEF8003EF8003EF8003E7C00
7C7F01FC3FFFF80FFFE001FF00171E7F931A>I<FF800000FF800000FF8000001F8000001F8000
001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F87F0001F9FF8001FBF
FC001FF0FE001FC07E001FC07E001F807E001F807E001F807E001F807E001F807E001F807E001F
807E001F807E001F807E001F807E001F807E00FFF1FFC0FFF1FFC0FFF1FFC01A207E9F1D>I<0E
003F803F807F807F803F803F800E0000000000000000000000FF80FF80FF801F801F801F801F80
1F801F801F801F801F801F801F801F801F801F80FFF0FFF0FFF00C217EA00F>I<FF80FF80FF80
1F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F
801F801F801F801F801F801F80FFF0FFF0FFF00C207E9F0F>108 D<FF07F00FE000FF1FFC3FF8
00FF3FFE7FFC001F707FE0FE001FC03F807E001FC03F807E001F803F007E001F803F007E001F80
3F007E001F803F007E001F803F007E001F803F007E001F803F007E001F803F007E001F803F007E
001F803F007E001F803F007E00FFF1FFE3FFC0FFF1FFE3FFC0FFF1FFE3FFC02A147E932D>I<FF
07F000FF1FF800FF3FFC001F70FE001FC07E001FC07E001F807E001F807E001F807E001F807E00
1F807E001F807E001F807E001F807E001F807E001F807E001F807E00FFF1FFC0FFF1FFC0FFF1FF
C01A147E931D>I<01FF0007FFC01FFFF03F83F83F01F87E00FC7E00FCFE00FEFE00FEFE00FEFE
00FEFE00FEFE00FE7E00FC7E00FC3F01F83F83F81FFFF007FFC001FF0017147F931A>I<FF8FF0
00FFFFF800FFFFFC001FE0FE001F807F001F807F001F803F801F803F801F803F801F803F801F80
3F801F803F801F803F801F803F801F807F001FC07F001FE0FE001FFFFC001FBFF8001F8FE0001F
8000001F8000001F8000001F8000001F8000001F800000FFF00000FFF00000FFF00000191D7F93
1D>I<FF3F00FF7F80FFFFC01FEFE01FCFE01FCFE01F87C01F83801F80001F80001F80001F8000
1F80001F80001F80001F80001F8000FFF800FFF800FFF80013147F9316>114
D<0FE63FFE7FFE781EF00EF00EFC00FFE07FF87FFC1FFE0FFF00FFE00FE00FF00FF81EFFFEFFFC
C7F010147E9315>I<0380038003800380078007800F800F803F80FFFCFFFCFFFC1F801F801F80
1F801F801F801F801F801F801F8E1F8E1F8E1F8E1F8C0FFC07F803F00F1D7F9C14>I<FF83FE00
FF83FE00FF83FE001F807E001F807E001F807E001F807E001F807E001F807E001F807E001F807E
001F807E001F807E001F807E001F807E001F80FE001F81FE000FFFFFC007FE7FC003F87FC01A14
7E931D>I<FFF0FF80FFF0FF80FFF0FF800FC038000FC0380007E0700007E0700007F0F00003F0
E00003F9E00001F9C00001F9C00000FF800000FF800000FF8000007F0000007F0000003E000000
3E0000001C000019147F931C>I<FFE7FF3FE0FFE7FF3FE0FFE7FF3FE01F80FC07000FC1FC0E00
0FC1FC0E000FE3FE1E0007E3BE1C0007E3BE1C0007F7BF3C0003F71F380003F71FB80001FE0FF0
0001FE0FF00001FE0FF00000FC07E00000FC07E00000FC07E000007803C000007803C00023147F
9326>I<FFF0FF80FFF0FF80FFF0FF800FC038000FC0380007E0700007E0700007F0F00003F0E0
0003F9E00001F9C00001F9C00000FF800000FF800000FF8000007F0000007F0000003E0000003E
0000001C0000001C00007C380000FE380000FE780000E0700000F1E000007FC000007F8000001E
000000191D7F931C>121 D E /FB 64 123 df<003F000000FFC00003C1E0600780F0C00F00F0
C01E0078C03E0079803C0079807C007B007C007B007C007E00F8007E00F8007C00F8007800F800
7800780078007800F8003803BC403C0F3CE01FFC1FC007E00F001B157E941F>11
D<000FC0003FE000783000E01801C00001C00003C00003800003C00003C00003E00003F00001F8
0000FC00007E0000FF0003FF80078F800F07801E03803E03803C03807C03807C03807C0380F803
00F80300F80700F80600F80600780C00780C003C18001FF0000FE00015237EA216>14
D<007E03FE07800F001E003C007C007800FFF8FFF8F800F000F000F000F000F000780078043C1E
1FF807E00F157D9414>I<1E03E03F8FF063DC7863F03CC3E03CC3C03CC3C03C07807807807807
80780780780F00F00F00F00F00F00F00F01E01E01E01E01E01E01E01E03C03C01803C00003C000
03C0000780000780000780000780000F00000F00000F00000600171F7F9418>17
D<03E00003F00000F800007C00007C00003C00003E00003E00001E00001E00001F00000F00000F
00000F800007800007800007C00007C00003C00003C00007E0000DE0001DE00039F00070F000E0
F001C0F80380F80780780F00781E007C3C003C78003CF0003E60001E17237EA21C>21
D<00C00C0001E01E0001E01E0003C03C0003C03C0003C03C0003C03C0007807800078078000780
7800078078000F00F0000F00F0000F00F0800F00F0C01F01E1801F01E1801F03E1001F86E3003F
FCFE003DF03C003C0000003C00000078000000780000007800000078000000F0000000F0000000
F0000000600000001A1F7F941D>I<07FFFF800FFFFFC01FFFFF803FFFFF8070318000E0618000
C06180000061800000E3800000C3800001C3800001C3800001C3800003838000038380000783C0
000703C0000F03C0000F03E0000E01E0000E01C0001A157F941C>25 D<007FFF8001FFFFC003FF
FF8007FFFF800F83C0001E01E0003C01E0003C01E0007801E0007801E0007801E000F003C000F0
03C000F003C000F0078000F0070000700F0000701E0000383800001FF0000007C000001A157E94
1C>27 D<0F8000201FE0006031F000C061F0018020F8038000F8030000780600007C0C00003C18
00003C3000003E6000001EC000001FC000001F8000001F0000000F0000000F0000001F80000037
80000067800000E7800000C7C0000183C0000303E0000603E0000C01E0001801F0403000F0C070
00F8C060007F80C0001F001B1F7F941F>31 D<0C001F0018007F801800FFC03001FFE06003C1E0
600700E060060060C00C0060C00C0060C0180060C01800E0C01000C0C03001C0E0300380E03007
0078601E003F60FC003FFFF8000FFFF00007FFC00000FF000001C0000001C0000001C0000003C0
000003C0000003800000078000000780000007800000070000001B1F7E9420>39
D<78FCFCFCFC7806067C850E>58 D<78FCFCFEFE7E0606060C0C1C1830706007107C850E>I<00
00001800000078000001E00000078000001E00000078000003E000000F8000003C000000F00000
03C000000F0000003C000000F0000000F00000003C0000000F00000003C0000000F00000003C00
00000F80000003E0000000780000001E0000000780000001E000000078000000181D1C7C9926>
I<000180000180000380000300000300000700000600000600000E00000C00000C00001C000018
0000180000180000380000300000300000700000600000600000E00000C00000C00001C0000180
000180000380000300000300000700000600000600000E00000C00000C00000C00001C00001800
00180000380000300000300000700000600000600000E00000C00000C0000011317DA418>I<C0
000000F00000003C0000000F00000003C0000000F00000003E0000000F80000001E00000007800
00001E0000000780000001E00000007800000078000001E00000078000001E00000078000001E0
00000F8000003E000000F0000003C000000F0000003C000000F0000000C00000001D1C7C9926>
I<000001C000000001C000000003C000000007C000000007C00000000FC00000000FC00000001F
C000000037C000000037C000000067E000000063E0000000C3E000000183E000000183E0000003
03E000000303E000000603E000000E03E000000C03E000001803F000001803F000003FFFF00000
7FFFF000006001F00000C001F00000C001F000018001F000038001F000030001F000070001F800
1F0001F800FFE01FFF80FFC01FFF8021227EA125>65 D<007FFFFC0000FFFFFF000007C00F8000
07C007C0000F8007C0000F8003C0000F8003E0000F8003E0001F0003C0001F0007C0001F0007C0
001F000F80003E001F00003E003E00003E007C00003FFFF000007FFFF000007C00F800007C007C
00007C003E0000F8003E0000F8001E0000F8001F0000F8001F0001F0003E0001F0003E0001F000
3E0001F0007C0003E0007C0003E000F80003E003F00007E007C0007FFFFF8000FFFFFC00002322
7EA125>I<0000FE010003FF83000F80C7003E006F0078003E01F0003E03E0001E07C0001E0780
001C0F00001C1F00001C1E00001C3E0000187C0000187C0000007C000000F8000000F8000000F8
000000F8000000F8000000F0000060F0000060F00000C0F80000C0F80001807800018078000300
3C0006003E000C001F00180007C0F00003FFC00000FF000020227DA123>I<007FFFF80000FFFF
FE000007C01F000007C00780000F8003C0000F8003C0000F8001E0000F8001E0001F0001E0001F
0001F0001F0001F0001F0001F0003E0001F0003E0001F0003E0001F0003E0001F0007C0003E000
7C0003E0007C0003E0007C0003E000F80007C000F80007C000F800078000F8000F8001F0000F00
01F0001E0001F0003E0001F0003C0003E000780003E000F00003E003E00007E00F80007FFFFE00
00FFFFF8000024227EA128>I<007FFFFFC000FFFFFFC00007C007C00007C003C0000F8001C000
0F8001C0000F800180000F800180001F000180001F018180001F018180001F018180003E030000
003E030000003E070000003FFF0000007FFE0000007C0E0000007C0E0000007C0E000000F80C00
0000F80C030000F80C030000F800060001F000060001F0000C0001F0000C0001F0001C0003E000
180003E000380003E000F00007E003F0007FFFFFF000FFFFFFE00022227EA124>I<007FFFFFC0
00FFFFFFC00007C007C00007C003C0000F8001C0000F8001C0000F800180000F800180001F0001
80001F000180001F018180001F018180003E030000003E030000003E070000003E0F0000007FFE
0000007FFE0000007C0E0000007C0E000000F80C000000F80C000000F80C000000F80C000001F0
00000001F000000001F000000001F000000003E000000003E000000003E000000007E00000007F
FF000000FFFF00000022227EA120>I<00007F00800003FFC180000FC0E380003E003780007800
1F0000F0001F0001E0000F0003C0000F000780000E000F00000E001F00000E001E00000E003E00
000C007C00000C007C000000007C00000000F800000000F800000000F800000000F800000000F8
007FFF00F8007FFF00F00001F000F80001F000F80003E000F80003E000780003E0007C0003E000
3C0007C0001E0007C0000F000FC00007E03BC00003FFF18000007F80800021227DA126>I<007F
FE3FFF00FFFE7FFF0007C003E00007C003E0000F8007C0000F8007C0000F8007C0000F8007C000
1F000F80001F000F80001F000F80001F000F80003E001F00003E001F00003E001F00003FFFFF00
007FFFFE00007C003E00007C003E00007C003E0000F8007C0000F8007C0000F8007C0000F8007C
0001F000F80001F000F80001F000F80001F000F80003E001F00003E001F00003E001F00007E003
F0007FFE3FFF00FFFE7FFF0028227EA128>I<00FFFE00FFFE0007C00007C0000F80000F80000F
80000F80001F00001F00001F00001F00003E00003E00003E00003E00007C00007C00007C00007C
0000F80000F80000F80000F80001F00001F00001F00001F00003E00003E00003E00007E000FFFE
00FFFE0017227FA116>I<007FFE07FF00FFFE07FF0007C001F00007C001C0000F800380000F80
0700000F800C00000F801800001F003000001F006000001F01C000001F038000003E060000003E
0E0000003E1E0000003E3F0000007CFF0000007DDF0000007F0F8000007E0F800000FC0FC00000
F807C00000F807C00000F807E00001F003E00001F003E00001F003F00001F001F00003E001F000
03E001F80003E000F80007E001FC007FFE0FFF80FFFE0FFF8028227EA129>75
D<007FFF0000FFFF000007C0000007C000000F8000000F8000000F8000000F8000001F0000001F
0000001F0000001F0000003E0000003E0000003E0000003E0000007C0000007C0000007C000000
7C000000F8000000F8003000F8003000F8006001F0006001F0006001F000C001F000C003E001C0
03E0038003E0078007E01F807FFFFF00FFFFFF001C227EA121>I<007FF00007FF00FFF00007FF
0007F0000FE00007F0001BE0000DF0001FC0000DF00037C0000DF00037C0000DF00067C00019F0
00CF800019F000CF800019F0018F800018F8018F800030F8031F000030F8031F000030F8061F00
0030F80C1F000060F80C3E000060F8183E000060F8183E000060F8303E0000C0F8607C0000C0F8
607C0000C0F8C07C0000C07CC07C0001807D80F80001807F00F80001807F00F80001807E00F800
03007E01F00003007C01F00003007C01F0000F807803F0007FF0703FFF00FFF0707FFF0030227E
A12F>I<007FE007FF00FFE00FFF0007E000F00007F000E0000DF000C0000DF000C0000CF800C0
000CF800C00018F8018000187C018000187C018000187E018000303E030000303E030000303F03
0000301F030000601F060000601F860000600F860000600F860000C00FCC0000C007CC0000C007
CC0000C003EC00018003F800018003F800018001F800018001F800030001F000030000F0000300
00F0000F8000F0007FF0006000FFF000600028227EA127>I<0000FF000007FFC0001F03E0003C
00F800F8007801E0003C03C0003E07C0001E0F80001E0F00001F1F00001F3E00001F3E00001F7C
00001F7C00001F7C00001FF800003EF800003EF800003EF800007CF800007CF800007CF80000F8
F80000F0F80001F0F80003E0F80003C0780007807C000F003E001E001F007C000F81F00007FFC0
0000FE000020227DA125>I<007FFFF00000FFFFFC000007C03E000007C00F00000F800F80000F
800780000F800780000F800780001F000F80001F000F80001F000F80001F000F00003E001F0000
3E001E00003E003C00003E007800007C01F000007FFFC000007FFF0000007C00000000F8000000
00F800000000F800000000F800000001F000000001F000000001F000000001F000000003E00000
0003E000000003E000000007E00000007FFE000000FFFE00000021227EA11F>I<0000FF000007
FFC0001F83E0003C00F800F8007801F0003C03E0003E07C0001E0F80001E0F00001F1F00001F3E
00001F3E00001F7C00001F7C00001F7C00001FF800003EF800003EF800003EF800003CF800007C
F000007CF00000F8F00000F0F00001F0F80001E0F81E03C0783F07807C618F003CC09E001EC0FC
000FC1F00007FFC00000FE8020000080200000C0600001C0400001C0C00001E1800001FF800001
FF000000FF000000FE0000007800202C7DA127>I<007FFFE00000FFFFFC000007C03E000007C0
0F00000F800F80000F800780000F800780000F800780001F000F80001F000F80001F000F80001F
001F00003E001E00003E003C00003E007800003E01F000007FFFC000007FFF8000007C07C00000
7C03E00000F801E00000F801F00000F801F00000F801F00001F003E00001F003E00001F003E000
01F003E00003E007C00003E007C0C003E007C0C007E003E1807FFE01FF00FFFE007E0022227EA1
25>I<0003F020000FFC60001C0EE0003003E0006003C000E001C001C001C001C001C003800180
0380018003C0000003C0000003E0000003FC000001FF800001FFF00000FFF800003FFC000007FC
0000007E0000003E0000001E0000001E0000001E0030001C0030001C0030001C00300038007000
3000780070007C00E0006F03C000C7FF000081FC00001B227DA11E>I<1FFFFFFE1FFFFFFE1F01
F01E3C01F00E3803E00E3003E00E7003E00C6003E00C6007C00CC007C00CC007C00CC007C00C00
0F8000000F8000000F8000000F8000001F0000001F0000001F0000001F0000003E0000003E0000
003E0000003E0000007C0000007C0000007C0000007C000000F8000000F8000000F8000001F800
007FFFE000FFFFE0001F227EA11D>I<7FFE07FFFFFE0FFF07C000F007C000E00F8000C00F8000
C00F8000C00F8000C01F0001801F0001801F0001801F0001803E0003003E0003003E0003003E00
03007C0006007C0006007C0006007C000600F8000C00F8000C00F8000C00F8000C00F0001800F0
001800F0003000F0003000F00060007800C000780380003E0F00000FFC000003F0000020227CA1
21>I<FFFC00FFC0FFF800FFC00FC0003E000F800018000F800030000FC000300007C000600007
C000E00007C000C00007C001800007C001800007C003000007C006000007E006000003E00C0000
03E01C000003E018000003E030000003E030000003E060000003E0C0000003F0C0000001F18000
0001F380000001F300000001F600000001F600000001FC00000001F800000001F800000001F000
000000F000000000E000000000C000000022227DA11C>I<007FFE0FFF007FFE0FFF0007F003F0
0003E001C00003F003800003F007000001F00E000001F80C000000F818000000FC30000000FC60
0000007CC00000007F800000007F800000003F000000003F000000001F000000001F800000003F
800000006F80000000CFC00000018FC000000387C000000707E000000E03E000001C03F0000018
03F000003001F000006001F80000C001F80001C000F80007C001FC00FFF007FFC0FFF00FFFC028
227FA128>88 D<007FFFFE007FFFFE007E007C00F800F800E001F800E001F001C003E0018007C0
01800F8003001F0003003F0003003E0000007C000000F8000001F0000003F0000003E0000007C0
00000F8000001F0000003F0060007E0060007C006000F800C001F000C003E000C007E0018007C0
03800F8003801F0007003E001F007E007F00FFFFFE00FFFFFE001F227DA121>90
D<0078C001FDE00387E00707C00F03C01E03C03E03C03C07807C07807C07807C0780F80F00F80F
00F80F08F80F0CF81E18781E18783E1038EE301FCFE00F03C016157E941A>97
D<03E0003FC0003FC00003C00003C0000780000780000780000780000F00000F00000F00000F00
001E00001E7C001FFE001F87003F07803E03803C03C03C07C07807C07807C07807C07807C0F00F
80F00F80F00F80F01F00F01E00701C00703C0038F0001FE0000F800012237EA215>I<003F0000
FF8003C1C00783C00F07C01E07C03E03803C00007C00007C00007C0000F80000F80000F80000F8
00007800407800C03803803C0F001FFC0007F00012157E9415>I<00003E0003FC0003FC00003C
00003C0000780000780000780000780000F00000F00000F00000F00001E00079E001FDE00387E0
0707C00F03C01E03C03E03C03C07807C07807C07807C0780F80F00F80F00F80F08F80F0CF81E18
781E18783E1038EE301FCFE00F03C017237EA219>I<007C0003FF000783800F01801E01803C01
807C0300780E00FFFC00FFE000F80000F00000F00000F00000F00000F00080F00180780700381E
001FF8000FE00011157D9417>I<00003E0000007F000000EF800001CF800001CF000003C60000
03C000000380000007800000078000000780000007800000078000000F000001FFFC0001FFFC00
000F0000000F0000001E0000001E0000001E0000001E0000001E0000003C0000003C0000003C00
00003C0000003C000000780000007800000078000000780000007800000070000000F0000000F0
000000F0000000E0000000E0000039E0000079C00000F9800000FB8000007F0000003C00000019
2D7EA218>I<000F8C003FDE0078FE00E07C01E03C03C03C07C03C0780780F80780F80780F8078
1F00F01F00F01F00F01F00F01F01E00F01E00F03E0078FE003FFC001F3C00003C00003C0000780
000780380780780F00F81E00F83C007FF8003FE000171F809417>I<00F8000FF0000FF00000F0
0000F00001E00001E00001E00001E00003C00003C00003C00003C000078000078F8007BFC007F1
E00FC0F00F80F00F00F00F00F01E01E01E01E01E01E01E01E03C03C03C03C03C07823C07837807
86780F06780F0C780718F007F06001E018237EA21C>I<007000F800F800F000E0000000000000
000000000000000000000F001F8033C061C0C3C0C3C0C3C00780078007800F000F001E001E101E
183C303C303C603CE01FC00F000E227FA111>I<0000600000F00001F00001F00000E000000000
0000000000000000000000000000000000000000001E00007F8000E3C001C3C00183C00303C003
03C0000780000780000780000780000F00000F00000F00000F00001E00001E00001E00001E0000
3C00003C00003C00003C0000780000780038780078F000F9E000FBC0007F80003E0000142C81A1
14>I<00F8000FF0000FF00000F00000F00001E00001E00001E00001E00003C00003C00003C000
03C0000780000780F00781F807830C0F0E3C0F187C0F307C0F60781FC0301FC0001FF8001E7C00
3C1E003C1F003C0F083C0F0C781E18781E18781E30780E30F007E06003C016237EA219>I<01F0
1FE01FE001E001E003C003C003C003C007800780078007800F000F000F000F001E001E001E001E
003C003C003C003C0078007800788078C0F180F180F18073007F001E000C237EA20F>I<1E03F0
1F80003F8FF87FC00063DC3CE1E00063F01F80F000C3E01F00F000C3C01E00F000C3C01E00F000
07803C01E00007803C01E00007803C01E00007803C01E0000F007803C0000F007803C0000F0078
0782000F00780783001E00F00786001E00F00F06001E00F00F0C001E00F00718003C01E007F000
1800C001E00029157F942B>I<1E03E0003F8FF00063DC780063F03C00C3E03C00C3C03C00C3C0
3C00078078000780780007807800078078000F00F0000F00F0000F01E0800F01E0C01E01E1801E
03C1801E03C3001E01C6003C01FC00180078001B157F941D>I<003E0000FF8003C3C00781E00F
01E01E01F03E01F03C01F07C01F07C01F07C01F0F803E0F803E0F803C0F807C0780780780F0078
0E003C3C001FF80007E00014157E9417>I<03C0F007F3FC0C7F1E0C7C1E18780F18780F18780F
00F01F00F01F00F01F00F01F01E03E01E03E01E03E01E03C03C07803C07803E0F003F1E007BF80
079E000780000780000F00000F00000F00000F00001E00001E0000FFE000FFE000181F819418>
I<007C1001FE7003C7F00703E00F01E01E01E03E01E03C03C07C03C07C03C07C03C0F80780F807
80F80780F80780F80F00780F00781F003C7F001FFE000F9E00001E00001E00003C00003C00003C
00003C0000780000780007FF8007FF80141F7E9416>I<1E07803F9FC063F8E063E1E0C3E3E0C3
C3E0C3C3C00781800780000780000780000F00000F00000F00000F00001E00001E00001E00001E
00003C000018000014157F9416>I<007E0000FF0001C38003838007078007078007020007C000
07FC0007FE0003FF0001FF80001F80300780780780F80700F80700F00E00701C003FF8000FE000
11157E9417>I<00E001E001E001E001E003C003C003C003C00780FFFCFFFC07800F000F000F00
0F001E001E001E001E003C003C003C083C0C78187838783038E03FC00F000E1F7F9E12>I<0F80
18001FC03C0031E03C0061E07800E1E07800C1E07800C3C0780003C0F0000780F0000780F00007
80F0000F01E0000F01E0000F01E1000F01E1800F03C3000F03C3000F07C200070DC60007F9FC00
01F078001A157F941C>I<0F80E01FC1F031E1F861E1F8E1E0F8C1E078C3C03803C03007803007
80300780300F00600F00600F00C00F00C00F01800F01800F030007860003FC0001F80016157F94
18>I<0F80181C001FC03C3E0031E03C3F0061E0783F00E1E0781F00C1E0780F00C3C078070003
C0F006000780F006000780F006000780F006000F01E00C000F01E00C000F01E00C000F01E01800
0F01E018000F01E030000F03E060000786F0E00003FC7F800000F81F000021157F9423>I<03E0
F00FF3F81C3F1C303E3C303C7C603C7C603C7800783000780000780000780000F00000F00038F0
0878F00CF9E018F9E018F1E0306370E07E3FC03C1F0016157E941C>I<0F80181FC03C31E03C61
E078E1E078C1E078C3C07803C0F00780F00780F00780F00F01E00F01E00F01E00F01E00F03C00F
03C00F07C0070FC007FF8001F780000780000780000F003C0F007C1E007C3C0078380070F0003F
E0001F8000171F7F9418>I<00E03003F87007FCE007FFC00C07800C0300000600000C00001800
00300000600000C0000180000300400600600C00C01F03C03FFF8079FF0060FE00C0780014157E
9417>I E /FC 60 123 df<0007F800003FFC0000FFFE0003F83F0007F07F0007E07F000FC07F
000FC07F000FC03E000FC008000FC000000FC000000FC00000FFFFFF00FFFFFF00FFFFFF000FC0
3F000FC03F000FC03F000FC03F000FC03F000FC03F000FC03F000FC03F000FC03F000FC03F000F
C03F000FC03F000FC03F000FC03F000FC03F000FC03F007FF0FFE07FF0FFE07FF0FFE01B237FA2
1F>12 D<0007FF00003FFF0000FFFF0003F87F0007E07F0007E07F000FC07F000FC03F000FC03F
000FC03F000FC03F000FC03F000FC03F00FFFFFF00FFFFFF00FFFFFF000FC03F000FC03F000FC0
3F000FC03F000FC03F000FC03F000FC03F000FC03F000FC03F000FC03F000FC03F000FC03F000F
C03F000FC03F000FC03F000FC03F007FF9FFE07FF9FFE07FF9FFE01B237FA21F>I<001C003800
7000E001E003C0078007800F001F001E003E003E003E007C007C007C007C00FC00F800F800F800
F800F800F800F800F800F800F800F800FC007C007C007C007C003E003E003E001E001F000F0007
80078003C001E000E000700038001C0E317CA416>40 D<E000700038001C001E000F0007800780
03C003E001E001F001F001F000F800F800F800F800FC007C007C007C007C007C007C007C007C00
7C007C007C00FC00F800F800F800F801F001F001F001E003E003C0078007800F001E001C003800
7000E0000E317DA416>I<FFFCFFFCFFFCFFFCFFFC0E057F8D13>45 D<3C7EFFFFFFFF7E3C0808
7C8710>I<00180000780003F800FFF800FFF800FFF80003F80003F80003F80003F80003F80003
F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003
F80003F80003F80003F80003F8007FFFE07FFFE07FFFE013207C9F1C>49
D<03FC001FFF003FFF807C3FE0FE0FE0FF07F0FF07F0FF07F8FF03F87E03F81803F80007F80007
F00007F0000FE0000FC0001F80003F00003E0000780000F03801E03803C0380780380F00781FFF
F81FFFF03FFFF07FFFF0FFFFF0FFFFF0FFFFF015207D9F1C>I<00FE0003FF800FFFE01F07F01F
87F03FC3F83FC3F83FC3F83FC3F81F87F80F07F0000FE0001FC001FF8001FE0001FFC00007F000
03F80001FC0001FC3E01FE7F01FEFF81FEFF81FEFF81FEFF81FCFF01FC7F03F83E07F01FFFE00F
FFC001FE0017207E9F1C>I<0001E00003E00007E00007E0000FE0001FE0003FE0003FE0007FE0
00FFE001EFE003CFE0038FE0078FE00F0FE01E0FE01C0FE03C0FE0780FE0F00FE0FFFFFEFFFFFE
FFFFFE000FE0000FE0000FE0000FE0000FE0000FE001FFFE01FFFE01FFFE17207E9F1C>I<3000
603C01E03FFFE03FFFC03FFF803FFF003FFE003FF80039000038000038000038000039FC003BFF
003FFFC03E0FE03C07E03807F00007F00007F80007F83C07F87E07F8FE07F8FF07F8FF07F0FE07
F07C0FE07C1FC03FFF801FFF0007F80015207D9F1C>I<7000007C00007FFFFE7FFFFE7FFFFE7F
FFFC7FFFF87FFFF0FFFFF0F000E0E001C0E00380E00700E00E00000E00001C00003C00003C0000
7C00007C0000F80000F80001F80001F80001F80001F80003F80003F80003F80003F80003F80003
F80001F00000E00017227DA11C>55 D<00FE0003FFC007FFE00F83F01E01F01E00F83E00F83E00
F83F80F83FC0F83FF1F03FFFF01FFFE01FFF800FFFE007FFF00FFFF81FFFFC3E3FFC7C0FFE7C03
FEF801FEF8007EF8003EF8003EF8003C7C003C7E00783F01F01FFFE00FFFC001FE0017207E9F1C
>I<3C7EFFFFFFFF7E3C0000000000003C7EFFFFFFFF7E3C08167C9510>58
D<00007000000000F800000000F800000000F800000001FC00000001FC00000003FE00000003FE
00000003FE00000007FF00000007FF0000000FFF8000000E7F8000000E7F8000001E7FC000001C
3FC000001C3FC00000381FE00000381FE00000781FF00000700FF00000700FF00000E00FF80000
FFFFF80001FFFFFC0001FFFFFC0001C003FC0003C003FE00038001FE00038001FE00070000FF00
FFF01FFFF8FFF01FFFF8FFF01FFFF825227EA12A>65 D<FFFFFF8000FFFFFFF000FFFFFFF80007
F803FC0007F801FE0007F800FE0007F800FF0007F800FF0007F800FF0007F800FF0007F800FF00
07F800FE0007F801FE0007F801FC0007F807F80007FFFFF00007FFFFF00007FFFFFC0007F800FE
0007F8007F0007F8007F8007F8003F8007F8003FC007F8003FC007F8003FC007F8003FC007F800
3FC007F8003FC007F8007F8007F800FF8007F801FF00FFFFFFFE00FFFFFFF800FFFFFFE0002222
7EA128>I<0003FE0180001FFF838000FFFFE78001FF00FF8003F8003F8007F0001F800FE0000F
801FC0000F803F800007803F800007807F800003807F000003807F00000380FF00000000FF0000
0000FF00000000FF00000000FF00000000FF00000000FF00000000FF000000007F000000007F00
0003807F800003803F800003803F800007801FC00007000FE0000F0007F0001E0003F8003C0001
FF00F80000FFFFF000001FFFC0000003FE000021227DA128>I<FFFFFF8000FFFFFFF000FFFFFF
FC0007F803FE0007F8007F0007F8003F8007F8001FC007F8000FE007F8000FE007F8000FF007F8
0007F007F80007F007F80007F007F80007F807F80007F807F80007F807F80007F807F80007F807
F80007F807F80007F807F80007F807F80007F807F80007F007F80007F007F80007F007F8000FE0
07F8000FE007F8001FC007F8003F8007F8007F0007F803FE00FFFFFFFC00FFFFFFF000FFFFFF80
0025227EA12B>I<FFFFFFFCFFFFFFFCFFFFFFFC07F801FC07F8007C07F8003C07F8001C07F800
1E07F8001E07F81C0E07F81C0E07F81C0E07F81C0E07F83C0007F87C0007FFFC0007FFFC0007FF
FC0007F87C0007F83C0007F81C0707F81C0707F81C0707F81C0E07F8000E07F8000E07F8001E07
F8001E07F8003E07F8007E07F801FCFFFFFFFCFFFFFFFCFFFFFFFC20227EA125>I<FFFFFFF8FF
FFFFF8FFFFFFF807F803F807F800F807F8007807F8003807F8003C07F8003C07F8381C07F8381C
07F8381C07F8381C07F8780007F8F80007FFF80007FFF80007FFF80007F8F80007F8780007F838
0007F8380007F8380007F8380007F8000007F8000007F8000007F8000007F8000007F8000007F8
0000FFFFF000FFFFF000FFFFF0001E227EA123>I<0003FE00C0001FFFC1C0007FFFF3C001FF80
FFC003FC003FC007F0000FC00FE00007C01FC00007C03FC00003C03F800003C07F800001C07F00
0001C07F000001C0FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF
00000000FF001FFFFC7F001FFFFC7F001FFFFC7F80003FC03F80003FC03FC0003FC01FC0003FC0
0FE0003FC007F0003FC003FC003FC001FF80FFC0007FFFEFC0001FFFC3C00003FF00C026227DA1
2C>I<FFFFC7FFFEFFFFC7FFFEFFFFC7FFFE07F8003FC007F8003FC007F8003FC007F8003FC007
F8003FC007F8003FC007F8003FC007F8003FC007F8003FC007F8003FC007F8003FC007F8003FC0
07FFFFFFC007FFFFFFC007FFFFFFC007F8003FC007F8003FC007F8003FC007F8003FC007F8003F
C007F8003FC007F8003FC007F8003FC007F8003FC007F8003FC007F8003FC007F8003FC007F800
3FC0FFFFC7FFFEFFFFC7FFFEFFFFC7FFFE27227EA12C>I<FFFFF0FFFFF0FFFFF003FC0003FC00
03FC0003FC0003FC0003FC0003FC0003FC0003FC0003FC0003FC0003FC0003FC0003FC0003FC00
03FC0003FC0003FC0003FC0003FC0003FC0003FC0003FC0003FC0003FC0003FC0003FC0003FC00
FFFFF0FFFFF0FFFFF0142280A115>I<FFFFC07FFCFFFFC07FFCFFFFC07FFC07F8000F0007F800
1E0007F8003C0007F800780007F801E00007F803C00007F807800007F80F000007F81E000007F8
3C000007F87C000007F8FC000007F9FE000007FBFF000007FFFF000007FF7F800007FC7FC00007
F83FC00007F81FE00007F81FF00007F80FF00007F807F80007F807FC0007F803FC0007F803FE00
07F801FF0007F800FF0007F800FF80FFFFC7FFFCFFFFC7FFFCFFFFC7FFFC26227EA12C>75
D<FFFFF000FFFFF000FFFFF00007F8000007F8000007F8000007F8000007F8000007F8000007F8
000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007
F8000007F8003807F8003807F8003807F8003807F8007807F8007807F8007807F800F007F801F0
07F803F007F80FF0FFFFFFF0FFFFFFF0FFFFFFF01D227EA122>I<FFFC00003FFFFFFC00003FFF
FFFE00007FFF07FE00007FE007FE00007FE0077F0000EFE0077F0000EFE0073F8001CFE0073F80
01CFE0073F8001CFE0071FC0038FE0071FC0038FE0070FE0070FE0070FE0070FE0070FE0070FE0
0707F00E0FE00707F00E0FE00703F81C0FE00703F81C0FE00701FC380FE00701FC380FE00701FC
380FE00700FE700FE00700FE700FE007007FE00FE007007FE00FE007007FE00FE007003FC00FE0
07003FC00FE007001F800FE007001F800FE0FFF81F81FFFFFFF80F01FFFFFFF80F01FFFF30227E
A135>I<FFFC003FFEFFFE003FFEFFFF003FFE07FF0001C007FF8001C0077FC001C0073FE001C0
071FF001C0071FF001C0070FF801C00707FC01C00703FE01C00703FE01C00701FF01C00700FF81
C007007FC1C007003FE1C007003FE1C007001FF1C007000FF9C0070007FDC0070003FFC0070003
FFC0070001FFC0070000FFC00700007FC00700007FC00700003FC00700001FC00700000FC00700
0007C0FFF80007C0FFF80003C0FFF80001C027227EA12C>I<FFFFFF00FFFFFFE0FFFFFFF007F8
07F807F801FC07F800FE07F800FE07F800FF07F800FF07F800FF07F800FF07F800FF07F800FF07
F800FE07F800FE07F801FC07F807F807FFFFF007FFFFE007FFFF0007F8000007F8000007F80000
07F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80000FFFFC000FFFFC0
00FFFFC00020227EA126>80 D<FFFFFE0000FFFFFFC000FFFFFFF00007F807F80007F801FC0007
F800FE0007F800FF0007F800FF0007F800FF0007F800FF0007F800FF0007F800FF0007F800FE00
07F801FC0007F807F80007FFFFF00007FFFFC00007FFFFE00007F80FF00007F807F80007F807F8
0007F803FC0007F803FC0007F803FC0007F803FC0007F803FC0007F803FC0007F803FC0007F803
FC0007F803FC0E07F801FE0EFFFFC1FFFCFFFFC07FF8FFFFC01FF027227EA12A>82
D<01FC0C07FF9C1FFFFC3F03FC3E00FC7C007C7C003CFC001CFC001CFE001CFE0000FF8000FFFC
007FFFC07FFFE03FFFF01FFFF80FFFFC07FFFE01FFFE000FFF0000FF00007F00007FE0003FE000
3FE0003FF0003EF0003EFC007CFF00FCFFFFF8E7FFE0C0FF8018227DA11F>I<7FFFFFFF807FFF
FFFF807FFFFFFF807E07F81F807807F807807807F807807007F80380F007F803C0F007F803C0E0
07F801C0E007F801C0E007F801C0E007F801C00007F800000007F800000007F800000007F80000
0007F800000007F800000007F800000007F800000007F800000007F800000007F800000007F800
000007F800000007F800000007F800000007F800000007F800000007F8000007FFFFF80007FFFF
F80007FFFFF80022227EA127>I<FFFFC07FFCFFFFC07FFCFFFFC07FFC07F800038007F8000380
07F800038007F800038007F800038007F800038007F800038007F800038007F800038007F80003
8007F800038007F800038007F800038007F800038007F800038007F800038007F800038007F800
038007F800038007F800038007F800038007F800038007F800038003F800070003F800070001FC
000E0000FE001E00007F807C00003FFFF800000FFFE0000001FF000026227EA12B>I<FFFF8FFF
F83FFEFFFF8FFFF83FFEFFFF8FFFF83FFE07F8007F8001C007F8007F8001C003FC007FC0038003
FC003FC0038003FE003FC0038001FE007FE0070001FE007FE0070001FF007FE00F0000FF00EFF0
0E0000FF00EFF00E0000FF80EFF81E00007F81C7F81C00007F81C7F81C00003FC3C7FC3800003F
C383FC3800003FE383FC3800001FE783FE7000001FE701FE7000001FF701FFF000000FFE00FFE0
00000FFE00FFE000000FFE00FFE0000007FC007FC0000007FC007FC0000003FC007F80000003F8
003F80000003F8003F80000001F0001F00000001F0001F00000001F0001F00000000E0000E0000
37227FA13A>87 D<3FFFFFE03FFFFFE03FFFFFE03FC07FC03F007F803E00FF803C00FF007801FF
007803FE007803FC007007FC007007F800700FF800001FF000001FE000003FE000007FC000007F
C00000FF800000FF00E001FF00E003FE00E003FC00E007FC00E007F801E00FF801E01FF001C01F
E003C03FE007C03FC00FC07FC03FC0FFFFFFC0FFFFFFC0FFFFFFC01B227DA122>90
D<FF80FF80FF80E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000
E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0
00E000E000E000E000E000E000E000FF80FF80FF8009317BA410>I<FF80FF80FF800380038003
800380038003800380038003800380038003800380038003800380038003800380038003800380
038003800380038003800380038003800380038003800380038003800380038003800380038003
800380FF80FF80FF8009317FA410>93 D<07FC001FFF803FFFC07F0FE07F07E07F03F03E03F01C
03F00003F001FFF00FFFF03FE3F07F83F07F03F0FE03F0FE03F0FE03F0FE07F07F0FF03FFDFF1F
F8FF0FC07F18167E951B>97 D<FF800000FF800000FF8000001F8000001F8000001F8000001F80
00001F8000001F8000001F8000001F8000001F8000001F8000001F87F0001FBFFC001FFFFE001F
F07F001FC03F001F801F801F801F801F801FC01F801FC01F801FC01F801FC01F801FC01F801FC0
1F801FC01F801FC01F801F801F803F801FC03F001FE07E001F7FFC001E3FF8001C0FE0001A237E
A21F>I<00FF0007FFC00FFFE01F87F03F07F07F07F07E03E07E01C0FE0000FE0000FE0000FE00
00FE0000FE00007E00007F00007F00703F80701FC1E00FFFC007FF8000FE0014167E9519>I<00
03FE000003FE000003FE0000007E0000007E0000007E0000007E0000007E0000007E0000007E00
00007E0000007E0000007E0001FC7E0007FF7E001FFFFE003F81FE003F007E007E007E007E007E
00FE007E00FE007E00FE007E00FE007E00FE007E00FE007E00FE007E00FE007E007E007E007E00
7E003F00FE003F83FE001FFFFFC007FF7FC001F87FC01A237EA21F>I<00FE0007FF800FFFC01F
87E03F03F07E01F07E01F8FE01F8FFFFF8FFFFF8FFFFF8FE0000FE0000FE00007E00007E00007F
00383F00781FC0F00FFFE003FFC000FE0015167E951A>I<001FC0007FE001FFF003F0F007E7F0
07C7F00FC7F00FC3E00FC0000FC0000FC0000FC0000FC000FFFC00FFFC00FFFC000FC0000FC000
0FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC000
0FC0007FFC007FFC007FFC0014237FA211>I<01FC1E0007FF7F001FFFFF803F07EF803E03E700
7E03F2007E03F0007E03F0007E03F0007E03F0003E03E0003F07E0001FFFC0001FFF000039FC00
0038000000380000003C0000003FFFE0003FFFF8001FFFFE001FFFFF003FFFFF007C003F80F800
0F80F8000F80F8000F80F8000F807C001F003F007E001FFFFC000FFFF80001FFC00019217F951C
>I<FF800000FF800000FF8000001F8000001F8000001F8000001F8000001F8000001F8000001F
8000001F8000001F8000001F8000001F87E0001F9FF8001FBFFC001FF0FC001FE07E001FC07E00
1F807E001F807E001F807E001F807E001F807E001F807E001F807E001F807E001F807E001F807E
001F807E001F807E001F807E00FFF1FFC0FFF1FFC0FFF1FFC01A237EA21F>I<0E003F003F807F
807F803F803F000E00000000000000000000000000FF80FF80FF801F801F801F801F801F801F80
1F801F801F801F801F801F801F801F801F801F80FFF0FFF0FFF00C247FA30F>I<FF800000FF80
0000FF8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F
8000001F8000001F83FF801F83FF801F83FF801F80F0001F83E0001F8780001F8F00001F9E0000
1FBE00001FFE00001FFF00001FFF80001FCFC0001F8FC0001F87E0001F83F0001F83F0001F81F8
001F80FC00FFF1FFC0FFF1FFC0FFF1FFC01A237EA21E>107 D<FF80FF80FF801F801F801F801F
801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F80
1F801F801F801F801F801F80FFF0FFF0FFF00C237FA20F>I<FF87F00FE000FF9FFC3FF800FFBF
FE7FFC001FF07EE0FC001FE03FC07E001FC03F807E001F803F007E001F803F007E001F803F007E
001F803F007E001F803F007E001F803F007E001F803F007E001F803F007E001F803F007E001F80
3F007E001F803F007E001F803F007E001F803F007E00FFF1FFE3FFC0FFF1FFE3FFC0FFF1FFE3FF
C02A167E952F>I<FF87E000FF9FF800FFBFFC001FF0FC001FE07E001FC07E001F807E001F807E
001F807E001F807E001F807E001F807E001F807E001F807E001F807E001F807E001F807E001F80
7E001F807E00FFF1FFC0FFF1FFC0FFF1FFC01A167E951F>I<00FE0007FFC00FFFE01F83F03F01
F87E00FC7E00FC7E00FCFE00FEFE00FEFE00FEFE00FEFE00FEFE00FEFE00FE7E00FC7E00FC3F01
F81F83F00FFFE007FFC000FE0017167E951C>I<FF87F000FFBFFC00FFFFFE001FF0FF001FC07F
001F803F801F803F801F801FC01F801FC01F801FC01F801FC01F801FC01F801FC01F801FC01F80
1FC01F803F801F803F801FC07F001FE0FE001FFFFC001FBFF8001F8FE0001F8000001F8000001F
8000001F8000001F8000001F8000001F800000FFF00000FFF00000FFF000001A207E951F>I<01
FC070007FF0F000FFFCF001FC1FF003F807F007F007F007F003F00FE003F00FE003F00FE003F00
FE003F00FE003F00FE003F00FE003F00FE003F007F003F007F003F003F80FF001FC1FF001FFFFF
0007FF3F0001FC3F0000003F0000003F0000003F0000003F0000003F0000003F0000003F000001
FFE00001FFE00001FFE01B207E951E>I<FF3E00FF7F80FFFFC01FEFE01FCFE01FCFE01F87C01F
83801F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F8000FFF800FF
F800FFF80013167E9517>I<07F3001FFF007FFF00780F00F00700F00700F00000FE0000FFF000
7FFC003FFE001FFF0007FF00007F80000F80E00780E00780F00780FC0F00FFFE00FFFC00C7F000
11167E9516>I<01C00001C00001C00001C00003C00003C00007C00007C0000FC0003FC000FFFF
00FFFF00FFFF000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC3
800FC3800FC3800FC3800FC3800FE70007FF0003FE0001F80011207F9F16>I<FF83FE00FF83FE
00FF83FE001F807E001F807E001F807E001F807E001F807E001F807E001F807E001F807E001F80
7E001F807E001F807E001F807E001F807E001F80FE001F80FE001F83FE000FFF7FC007FE7FC003
F87FC01A167E951F>I<FFF03FE0FFF03FE0FFF03FE00FC00E000FE01E0007E01C0007E01C0003
F0380003F0380003F8780001F8700001FCF00000FCE00000FCE000007FC000007FC000007FC000
003F8000003F8000001F0000001F0000000E00001B167F951E>I<FFE3FF8FF8FFE3FF8FF8FFE3
FF8FF81FC07C03C00FC07E03800FC0FE038007E0FE070007E1FF070007E1DF070003F1DF0E0003
F3DF8E0003FB8F9E0001FB8FDC0001FF07DC0001FF07FC0000FF07F80000FE03F800007E03F000
007E03F000007C01F000003C01E000003C01E00025167F9528>I<FFF03FE0FFF03FE0FFF03FE0
0FC00E000FE01E0007E01C0007E01C0003F0380003F0380003F8780001F8700001FCF00000FCE0
0000FCE000007FC000007FC000007FC000003F8000003F8000001F0000001F0000000E0000000E
0000001C00007C1C0000FE3C0000FE380000E0780000F1F000007FE000007FC000001F0000001B
207F951E>121 D<7FFFF07FFFF07FFFF07C0FE0781FC0F01F80F03F80E07F00E0FE00E0FE0001
FC0003F87007F07007F0700FE0701FC0F01F80E03F81E07F07E0FFFFE0FFFFE0FFFFE014167E95
19>I E /FD 66 124 df<003F0F8000FFFFC003E3F3E00787E3E00707C3E00F07C1C00F03C000
0F03C0000F03C0000F03C0000F03C000FFFFFC00FFFFFC000F03C0000F03C0000F03C0000F03C0
000F03C0000F03C0000F03C0000F03C0000F03C0000F03C0000F03C0000F03C0000F03C0000F03
C0007F87FC007F87FC001B1D809C18>11 D<003F0000FF8003E3800787C00707C00F07C00F0380
0F00000F00000F00000F0000FFFFC0FFFFC00F03C00F03C00F03C00F03C00F03C00F03C00F03C0
0F03C00F03C00F03C00F03C00F03C00F03C00F03C07F87F87F87F8151D809C17>I<001F03F000
00FFDFF80003E1FC38000783F07C000703F07C000F03E07C000F01E038000F01E000000F01E000
000F01E000000F01E00000FFFFFFFC00FFFFFFFC000F01E03C000F01E03C000F01E03C000F01E0
3C000F01E03C000F01E03C000F01E03C000F01E03C000F01E03C000F01E03C000F01E03C000F01
E03C000F01E03C000F01E03C007FC7F8FF807FC7F8FF80211D809C23>14
D<70F8FCFC7C0C0C0C1818306040060D7D9C0C>39 D<00C00180030007000E000E001C001C0038
00380038007000700070007000F000F000F000F000F000F000F000F000F000F000F000F0007000
7000700070003800380038001C001C000E000E0007000300018000C00A2A7D9E10>I<C0006000
300038001C001C000E000E00070007000700038003800380038003C003C003C003C003C003C003
C003C003C003C003C003C003800380038003800700070007000E000E001C001C00380030006000
C0000A2A7E9E10>I<000600000006000000060000000600000006000000060000000600000006
00000006000000060000000600000006000000060000FFFFFFE0FFFFFFE0000600000006000000
060000000600000006000000060000000600000006000000060000000600000006000000060000
000600001B1C7E9720>43 D<70F0F8F8781818183030706040050D7D840C>I<FFE0FFE0FFE00B
03808A0E>I<70F8F8F87005057D840C>I<07E00FF01C38381C781E700E700EF00FF00FF00FF00F
F00FF00FF00FF00FF00FF00FF00FF00FF00F700E700E781E381C1C380FF007E0101B7E9A15>48
D<018003801F80FF80E78007800780078007800780078007800780078007800780078007800780
078007800780078007800780FFFCFFFC0E1B7D9A15>I<07E01FF8307C783EFC1EFC1FFC1FFC0F
780F001F001E001E003C003C007800F000E001C0038007030E031C0318073FFE7FFEFFFEFFFE10
1B7E9A15>I<07E01FF0387C7C3C7C3E7E1E7C3E383E003C003C007807E007E00078003C001E00
1E001F301F781FFC1FFC1FFC1E783C78783FF00FC0101B7E9A15>I<001C00001C00003C00007C
00007C0000FC0001FC0003BC00033C00073C000E3C000C3C00183C00383C00303C00603C00E03C
00FFFFC0FFFFC0003C00003C00003C00003C00003C00003C0003FFC003FFC0121B7F9A15>I<30
0C3FFC3FF83FF03FC03000300030003000300033E03FF03C3C301C301E001E001F001F701FF81F
F81FF81EF81E603C30781FF00FC0101B7E9A15>I<00F003FC070C0C1E1C3E383E381C70007000
F000F3F0F7F8FC1CF80EF80EF00FF00FF00FF00F700F700F700E380E381C1C380FF003E0101B7E
9A15>I<6000007FFF807FFF807FFF007FFF00E00600C00C00C01800C018000030000060000060
0000E00000E00001C00001C00003C00003C00003C00003C00007C00007C00007C00007C00007C0
0007C00007C000038000111C7E9B15>I<07E00FF01C38381C300E700E700E780E7C1C7F1C3FB8
1FF00FF80FFC1DFE38FE703FE01FE00FE007E007E0077006700C3C3C1FF007E0101B7E9A15>I<
07E00FF01C38381C701C700EF00EF00EF00FF00FF00FF00F701F701F383F1FEF0FCF000F000E00
0E381E7C1C7C18783830F03FE00F80101B7E9A15>I<70F8F8F870000000000000000070F0F8F8
781818183030706040051A7D910C>59 D<7FFFFFC0FFFFFFE00000000000000000000000000000
000000000000000000000000000000000000FFFFFFE07FFFFFC01B0C7E8F20>61
D<00060000000F0000000F0000000F0000001F8000001F8000001F8000003FC0000037C0000037
C0000077E0000063E0000063E00000E3F00000C1F00000C1F00001C1F8000180F8000180F80003
FFFC0003FFFC0003007C0007007E0006003E0006003E001F003F00FFC1FFF0FFC1FFF01C1C7F9B
1F>65 D<FFFFC0FFFFF00F80F80F807C0F803C0F803E0F803E0F803E0F803E0F803E0F807C0F80
F80FFFF00FFFE00F80F80F807C0F803E0F801E0F801F0F801F0F801F0F801F0F801F0F803E0F80
3E0F80FCFFFFF8FFFFE0181C7E9B1D>I<001F808000FFE18003F03B8007C00F800F0007801E00
07803E0003803C0003807C00018078000180F8000180F8000000F8000000F8000000F8000000F8
000000F8000000F8000000780001807C0001803C0001803E0003001E0003000F00060007C00C00
03F0380000FFF000001FC000191C7E9B1E>I<FFFFC000FFFFF0000F80FC000F803E000F801F00
0F800F000F8007800F8007C00F8003C00F8003C00F8003E00F8003E00F8003E00F8003E00F8003
E00F8003E00F8003E00F8003E00F8003C00F8003C00F8007C00F8007800F800F800F800F000F80
3E000F80FC00FFFFF000FFFFC0001B1C7E9B20>I<FFFFFCFFFFFC0F803C0F801C0F800C0F800E
0F80060F83060F83060F83060F83000F87000FFF000FFF000F87000F83000F83000F83030F8303
0F80030F80060F80060F80060F800E0F801E0F807CFFFFFCFFFFFC181C7E9B1C>I<FFFFF8FFFF
F80F80780F80380F80180F801C0F800C0F800C0F830C0F830C0F83000F83000F87000FFF000FFF
000F87000F83000F83000F83000F83000F80000F80000F80000F80000F80000F8000FFFC00FFFC
00161C7E9B1B>I<001F808000FFE18003F03B8007C00F800F0007801E0007803E0003803C0003
807C00018078000180F8000180F8000000F8000000F8000000F8000000F8000000F801FFF0F801
FFF078000F807C000F803C000F803E000F801E000F800F000F8007C00F8003F03F8000FFF38000
1FC0801C1C7E9B21>I<FFF8FFF80F800F800F800F800F800F800F800F800F800F800F800F800F
800F800F800F800F800F800F800F800F800F800F800F80FFF8FFF80D1C7F9B0F>73
D<FFF87FE0FFF87FE00F803E000F8018000F8030000F8070000F80E0000F81C0000F8380000F83
00000F8600000F8F00000F9F00000FBF80000FEF80000FE7C0000FC7E0000F83E0000F83F0000F
81F0000F80F8000F80F8000F807C000F807E000F803E000F803F00FFF9FFF0FFF9FFF01C1C7E9B
20>75 D<FFC001FF80FFC001FF800FE003F8000FE003F8000FE003F8000DF006F8000DF006F800
0DF006F8000CF80CF8000CF80CF8000CF80CF8000C7C18F8000C7C18F8000C7C18F8000C3E30F8
000C3E30F8000C3E30F8000C1F60F8000C1F60F8000C1F60F8000C0FC0F8000C0FC0F8000C0FC0
F8000C0780F8000C0780F8001E0780F800FFC30FFF80FFC30FFF80211C7E9B26>77
D<FF80FFC0FFC0FFC00FC01E000FE00C000FF00C000DF00C000CF80C000CF80C000C7C0C000C7E
0C000C3E0C000C1F0C000C1F0C000C0F8C000C0FCC000C07CC000C07EC000C03EC000C01FC000C
01FC000C00FC000C00FC000C007C000C003C000C003C001E001C00FFC01C00FFC00C001A1C7E9B
1F>I<003F800001FFF00003E0F80007803C000F001E001E000F003C0007803C0007807C0007C0
780003C0F80003E0F80003E0F80003E0F80003E0F80003E0F80003E0F80003E0F80003E07C0007
C07C0007C03C0007803E000F801E000F000F001E0007803C0003E0F80001FFF000003F80001B1C
7E9B20>I<FFFF80FFFFE00F80F00F80780F803C0F803E0F803E0F803E0F803E0F803E0F803E0F
803C0F80780F80F00FFFE00FFF800F80000F80000F80000F80000F80000F80000F80000F80000F
80000F8000FFF800FFF800171C7E9B1C>I<FFFF0000FFFFE0000F81F0000F8078000F803C000F
803E000F803E000F803E000F803E000F803E000F803C000F8078000F81F0000FFFE0000FFFC000
0F83E0000F81F0000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8
300F807C30FFF83FE0FFF80FC01C1C7E9B1F>82 D<07E0801FF9803C1F80780780700380F00380
F00180F00180F80000F80000FF00007FF0003FFC001FFE000FFF0003FF80003F800007C00007C0
0003C0C003C0C003C0C00380E00380F00700FC0F00CFFC0083F800121C7E9B17>I<7FFFFFC07F
FFFFC0781F03C0701F01C0601F00C0E01F00E0C01F0060C01F0060C01F0060C01F0060001F0000
001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F00
00001F0000001F0000001F0000001F0000001F000007FFFC0007FFFC001B1C7F9B1E>I<FFF01F
F0FFF01FF00F8007800F8003000FC0070007C0060007C0060007E00E0003E00C0003E00C0001F0
180001F0180001F8180000F8300000F8300000FC7000007C6000007C6000007EE000003EC00000
3EC000001F8000001F8000001F8000000F0000000F0000000F0000000600001C1C7F9B1F>86
D<FFF1FFE1FFFFF1FFE1FF1F803E00780F803F00300F801F00300F801F003007C03F806007C03F
806007C03F806003E03FC0C003E067C0C003E067C0C001F067C18001F0C3E18001F0C3E18000F8
C3E30000F981F30000F981F300007D81F600007F00FE00007F00FE00007F00FE00003E007C0000
3E007C00003E007C00001C003800001C003800001C003800281C7F9B2B>I<FEFEC0C0C0C0C0C0
C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0FEFE07297C9E0C>
91 D<FEFE06060606060606060606060606060606060606060606060606060606060606060606
060606FEFE0729809E0C>93 D<1FE0003FF8007C3C007C1E007C1E00381E00001E0007FE001FFE
003C1E00781E00F01E00F01E60F01E60F03E60787FE03FFFC00F8F8013127F9115>97
D<FE0000FE00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E7E001FFF
001F87801E01C01E01E01E00E01E00F01E00F01E00F01E00F01E00F01E00F01E00E01E01E01E01
C01F87801DFF00187C00141D7F9C17>I<03F00FF81E7C387C787C7038F000F000F000F000F000
F000780078063C061E0C0FF803E00F127F9112>I<003F80003F80000780000780000780000780
00078000078000078000078000078003E7800FFF801E1F80380780780780700780F00780F00780
F00780F00780F00780F00780700780780780380F801E1F800FF7F007E7F0141D7F9C17>I<03E0
0FF01C38381C781E700EFFFEFFFEF000F000F000F000700078063C061E0C0FF803E00F127F9112
>I<007C01FE03DF079F0F1F0F0E0F000F000F000F000F00FFE0FFE00F000F000F000F000F000F
000F000F000F000F000F000F000F000F007FF07FF0101D809C0D>I<07E3800FFFC03C3DC0381D
80781E00781E00781E00781E00381C003C3C003FF00037E0007000007000003FF8003FFE001FFF
003FFF807007C0E001C0E001C0E001C0E001C07003803C0F001FFE0007F800121B7F9115>I<FE
0000FE00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E7E001EFF001F
8F001F07801E07801E07801E07801E07801E07801E07801E07801E07801E07801E07801E07801E
0780FFCFF0FFCFF0141D7F9C17>I<1C003E003E003E001C00000000000000000000000000FE00
FE001E001E001E001E001E001E001E001E001E001E001E001E001E001E00FFC0FFC00A1D809C0B
>I<FE0000FE00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E7FC01E
7FC01E3E001E18001E30001E60001EE0001FE0001FF0001FF0001E78001E7C001E3C001E3E001E
1E001E1F00FF9FE0FF9FE0131D7F9C16>107 D<FE00FE001E001E001E001E001E001E001E001E
001E001E001E001E001E001E001E001E001E001E001E001E001E001E001E001E001E00FFC0FFC0
0A1D809C0B>I<FE3E07C0FEFF9FF01F87B0F01F03E0781F03E0781E03C0781E03C0781E03C078
1E03C0781E03C0781E03C0781E03C0781E03C0781E03C0781E03C0781E03C078FFCFF9FFFFCFF9
FF20127F9123>I<FE7E00FEFF001F8F001F07801E07801E07801E07801E07801E07801E07801E
07801E07801E07801E07801E07801E0780FFCFF0FFCFF014127F9117>I<03F0000FFC001E1E00
380700780780700380F003C0F003C0F003C0F003C0F003C0F003C07003807807803807001E1E00
0FFC0003F00012127F9115>I<FE7E00FFFF001F87801E03C01E01E01E01E01E00F01E00F01E00
F01E00F01E00F01E00F01E01E01E01E01E03C01F87801FFF001E7C001E00001E00001E00001E00
001E00001E0000FFC000FFC000141A7F9117>I<FFE0FFF01FF81EF81EF81E701E001E001E001E
001E001E001E001E001E001E00FFE0FFE00D127F9110>114 D<1FB03FF07070E030E030F000FE
007FC07FE01FF007F80078C038C038E038F070FFE08F800D127F9110>I<06000600060006000E
000E001E003E00FFE0FFE01E001E001E001E001E001E001E001E001E301E301E301E301E300E60
0FE003C00C1A7F9910>I<FE3F80FE3F801E07801E07801E07801E07801E07801E07801E07801E
07801E07801E07801E07801E07801E0F800E1F800FF7F003E7F014127F9117>I<FF8FE0FF8FE0
1E07801E03000F06000F06000F0600078C00078C0007DC0003D80003D80003F80001F00001F000
00E00000E00000E00013127F9116>I<FF3FCFE0FF3FCFE01E0F07801E0F03001E0F03000F0F86
000F0F86000F1B8600079BCC00079BCC0007B1CC0003F1F80003F1F80003E0F80001E0F00001E0
F00001C0700000C060001B127F911E>I<7FCFF07FCFF00F878007860003CC0003DC0001F80000
F00000F00000780000FC0001FC00019E00031F00070F000F0780FF9FF8FF9FF81512809116>I<
FF8FE0FF8FE01E07801E03000F06000F06000F0600078C00078C0007DC0003D80003D80003F800
01F00001F00000E00000E00000E00000C00000C00070C000F98000C18000C700007E00003C0000
131A7F9116>I<FFFFF0FFFFF01402808B15>123 D E /FE 8 57 df<06001E00FE00EE000E000E
000E000E000E000E000E000E000E000E000E000E000E007FE07FE00B137E9211>49
D<1F007FC0FBE0F9E0F8F070F000F000F001E001C0038007000E000C30183030707FE0FFE0FFE0
0C137E9211>I<0FC03FE03870787878783878007000F00FC00FC000700038703CF83CF83CF838
70783FF01FC00E137F9211>I<00E001E001E003E007E00EE01CE018E030E070E0E0E0FFFCFFFC
00E000E000E000E007FC07FC0E137F9211>I<60607FE07FC07F006000600060006F007FC071E0
60E000F000F070F0F0F0F0E0E1C07F801F000C137E9211>I<03E00FF01C38387878787030F000
F7E0FFF0F838F03CF03CF03CF03C703C703838701FE007C00E137F9211>I<60007FFC7FFC7FF8
E030C060C0C000C001800300070007000E000E000E001E001E001E001E000C000E147E9311>I<
0FC01FE038707038703878387E703FE01FC01FF03BF870FCE03CE01CE01CE01878383FF00FC00E
137F9211>I E /FF 69 124 df<00001FC0F800007FE1FC0000F1F3BE0001C1F73E0001C1EF3C
0003C0CF180003C00E000007801E000007801E000007801E000007801E000007803C00000F003C
00000F003C0001FFFFFFE001FFFFFFE0000F003C00001E007800001E007800001E007800001E00
7800001E007800003C00F000003C00F000003C00F000003C00F000003C00F000007801E0000078
01E000007801E000007801E000007801E00000F003C00000F003C00000F003C00000F003C00000
E003800001E007800001E007000039C707000079CF0E0000FB9F0E0000FB1F3C00007F0FF00000
3C07E00000272D82A21E>11 D<00000FF000003FFC0000F01C0001C03E0001C03E0003C03C0003
8038000780000007800000078000000F0000000F0000000F0000000F000001FFFFF001FFFFF000
1E00F0001E01E0001E01E0001E01E0001E01E0003C03C0003C03C0003C03C0003C03C0003C0780
00780780007807880078078C00780F1800780F1800F00F1800F0073000F007E000F001C000E000
0001E0000001E0000001C0000039C000007BC00000FB800000FB0000007E0000003C0000001F2D
82A21B>I<00000FE3C000003FF7800000F0FF800001E0FF800001C0F7800003C06F000003C00F
000003800F000007800F000007801E000007801E000007801E00000F001E00000F003C0001FFFF
FC0001FFFFFC00000F003C00001E007800001E007800001E007800001E007800001E00F000001E
00F000003C00F000003C00F000003C01E000003C01E000003C01E200007801E300007803C60000
7803C600007803C600007801CC0000F001F80000F000700000F000000000E000000000E0000000
01E000000039C000000079C0000000F980000000FB800000007F000000003C00000000222D82A2
1D>I<00000FC01FC78000003FE0FFEF00000071F1E1FF000000E1F381FF000001C1E381EF0000
03C0C780DE000003C007001E000003C00F001E000003C00F001E000007800F003C000007800F00
3C000007801E003C000007801E003C000007801E00780000FFFFFFFFF80001FFFFFFFFF800000F
003C007800000F003C00F000000F003C00F000001E003C00F000001E003C00F000001E007801E0
00001E007801E000001E007801E000003C007801E000003C007803C000003C00F003C000003C00
F003C400003C00F003C600007800F0078C00007800F0078C00007801E0078C00007801E0039800
007801E003F00000F001E000E00000F001C000000000F003C000000000E003C000000000E00380
00000039E3838000000079C78700000000F9CF8600000000FB8F9E000000007F07F8000000003E
03F000000000312D82A22C>15 D<0E001F003F003F803F801F0003000300060006000C001C0018
007000E000C000091076A20F>39 D<0E1E3F3E3E1E06060C0C18383060C08008107D850F>44
D<7FF87FF8FFF07FF00D047D8B11>I<387CFCFCF87006067B850F>I<000FC0003FF000F0F801E0
7803C03C07803C07803C0F003C0F003C1F003C1E007C3E007C3E007C3E007C7C00F87C00F87C00
F87C00F8F801F0F801F0F801F0F801E0F003E0F003C0F003C0F00780F00780F00F00781E007C3C
003FF0000FC00016207B9F19>48 D<000080000180000300000700000F00003F0003FE0007DE00
001E00001E00003C00003C00003C00003C0000780000780000780000780000F00000F00000F000
00F00001E00001E00001E00001E00003C00003C00003C00007C000FFFE00FFFE0011207B9F19>
I<000F80003FE00070F000C07801803C03103C06183C06183E0C183E0C183E18307C18307C1860
7C18C0F80F80F00F01E00003C0000780000F00003C0000700001E0000380000600000C00181800
383E00703FFFE077FFE060FFC0C07F80C01E0017207C9F19>I<000FC0007FF000F07801803803
003C06303C0E303C0C303C0C303C0C603807C0780380700000E00001C0007F8000FE00000F0000
07800003C00003C00003C00003C00007C07807C0F807C0F80780F00F80C00F00C01E00707C003F
F0001FC00016207B9F19>I<0000300000780000F00000F00000F00000F00001E00001E00001C0
0003C00003C0000380000780000700000F00000E00001E00001C00003C000038000070C00061E0
00E3C001C3C00183C00303C00607800C07801F87807FE780E07F00401FF0000FC0000F00001E00
001E00001E00001E00003C00003C00003C00001800152A7E9F19>I<00800C00E03C00FFF801FF
E001FFC001FF00018000030000030000030000030000060000067E0007FF000783800E03C00C03
C00003E00003E00003E00003E00003E07807C0F807C0F807C0F80F80F00F00C01E00E03C007078
003FF0000F800016207B9F19>I<0007E0001FF0003C3000703801E0F801C0F80381F00780F00F
00000F00001F00001E00003EFE003FFF007F07807E03807E03C07C03C0FC07C0F807C0F807C0F8
07C0F00F80F00F80F00F80F00F00F01E00F01E00703C007870003FE0000F800015207A9F19>I<
063C0306FE060DFE0E0FFF1C1FFFF81F83F83C00303800707000E06000E0E001C00003C0000380
000780000700000F00001F00001E00003E00003C00007C00007C00007C0000F80000F80001F800
01F00001F00003F00003F00003E00001C00018207A9F19>I<000FC0003FE000707000C0380180
3803803803003807003807803807807007C0E007F1C007FB8003FF0001FE0001FF0003FF800F1F
C01C0FC03807C03803E07001E0E001C0E001C0E001C0E00180E00380E00700700E00783C003FF0
000FC00015207B9F19>I<000F80003FE00070F000E07001C07803C0780780780F80780F80780F
80781F00F81F00F81F00F81F01F81E01F01E03F00E03F00F07F007FFE003F3E00003C00007C000
0780000780780F007C0E00F81E00F83C00E0780060F0007FC0001F000015207B9F19>I<07800F
800FC01F800F800F0000000000000000000000000000000000000038007C00FC00FC00F8007000
0A157B940F>I<01E003E003F007E003E003C00000000000000000000000000000000000000E00
1E003F003E003E001E00060006000C000C001800380030006000C00080000C1F7D940F>I<3FFF
FFFF3FFFFFFF0000000000000000000000000000000000000000000000000000000000000000FF
FFFFFCFFFFFFFC200C7B9125>61 D<00000300000007000000070000000F0000001F0000001F00
00003F0000003F8000007F8000006F800000CF800001CF8000018F8000030F8000030F8000060F
8000060F80000C0F80000C0F8000180F8000300F8000300F80007FFFC0007FFFC000C007C000C0
07C0018007C0038007C0030007C0060007C0060007C01E0007C0FFC07FFCFF807FFC1E227DA124
>65 D<00FFFFE000FFFFF8000F807C000F803E001F001E001F001F001F001F001F001F003E001E
003E003E003E003E003E007C007C0078007C00F0007C03E0007FFFC000FFFFC000F803E000F801
F000F800F801F000F801F0007801F0007C01F0007C03E000F803E000F803E000F803E001F007C0
01F007C003E007C007C007C01F00FFFFFE00FFFFF00020227DA122>I<0000FE010003FF83000F
80C7003E006F0078003E01F0003E03E0001E07C0001E0780001C0F00001C1F00001C1E00001C3E
0000187C0000187C0000007C000000F8000000F8000000F8000000F8000000F8000000F0000060
F0000060F00000C0F80000C0F800018078000180780003003C0006003E000C001F00180007C0F0
0003FFC00000FF0000202279A123>I<00FFFFF00000FFFFFC00000F803E00000F800F00001F00
0780001F000780001F0003C0001F0003C0003E0003C0003E0003E0003E0003E0003E0003E0007C
0003E0007C0003E0007C0003E0007C0003E000F80007C000F80007C000F80007C000F80007C001
F0000F8001F0000F8001F0000F0001F0001F0003E0001E0003E0003C0003E0007C0003E0007800
07C000F00007C001E00007C007800007C01F0000FFFFFC0000FFFFF0000023227DA125>I<00FF
FFFF8000FFFFFF80000F800F80000F800780001F000380001F000380001F000300001F00030000
3E000300003E030300003E030300003E030300007C060000007C060000007C0E0000007FFE0000
00FFFC000000F81C000000F81C000000F81C000001F018000001F0180C0001F0180C0001F00018
0003E000180003E000300003E000300003E000700007C000600007C000E00007C001C00007C00F
C000FFFFFFC000FFFFFF800021227DA121>I<00FFFFFF00FFFFFF000F801F000F8007001F0007
001F0007001F0006001F0006003E0006003E0006003E0306003E0306007C0600007C0600007C0E
00007C1E0000FFFC0000FFFC0000F81C0000F81C0001F0180001F0180001F0180001F0180003E0
000003E0000003E0000003E0000007C0000007C0000007C0000007C00000FFFE0000FFFE000020
227DA120>I<0000FE010003FF83000F80C7003E006F0078003E01F0003E03E0001E07C0001E07
80001C0F00001C1F00001C1E00001C3E0000187C0000187C0000007C000000F8000000F8000000
F8000000F8000000F8007FFCF0007FFCF00003E0F00003E0F80007C0F80007C0780007C0780007
C03C000F803E000F801F001F8007C0778003FFE30000FF0100202279A126>I<00FFFCFFFC00FF
FCFFFC000F800F80000F800F80001F001F00001F001F00001F001F00001F001F00003E003E0000
3E003E00003E003E00003E003E00007C007C00007C007C00007C007C00007FFFFC0000FFFFF800
00F800F80000F800F80000F800F80001F001F00001F001F00001F001F00001F001F00003E003E0
0003E003E00003E003E00003E003E00007C007C00007C007C00007C007C00007C007C000FFFCFF
FC00FFFCFFFC0026227DA124>I<00FFFC00FFFC000F80000F80001F00001F00001F00001F0000
3E00003E00003E00003E00007C00007C00007C00007C0000F80000F80000F80000F80001F00001
F00001F00001F00003E00003E00003E00003E00007C00007C00007C00007C000FFFC00FFFC0016
227DA113>I<0007FFE0000FFFC000003E0000003E0000007C0000007C0000007C0000007C0000
00F8000000F8000000F8000000F8000001F0000001F0000001F0000001F0000003E0000003E000
0003E0000003E0000007C0000007C0000007C0000007C000000F8000180F80003C0F80007E0F80
00FC1F0000FC1E0000F83E000070F800003FF000000FC000001B227DA11A>I<00FFFE0000FFFE
00000F8000000F8000001F0000001F0000001F0000001F0000003E0000003E0000003E0000003E
0000007C0000007C0000007C0000007C000000F8000000F8000000F8000000F8000001F0000001
F0006001F0006001F000C003E000C003E000C003E0018003E0018007C0038007C0070007C00F00
07C03F00FFFFFE00FFFFFE001B227DA11F>76 D<00FFE0001FFC00FFE0001FFC000FE0003F8000
0FE0006F80001BE0007F00001BE000DF00001BE000DF00001BE0019F000033E001BE000033E003
3E000033E0063E000033E0063E000063E00C7C000063E00C7C000061F0187C000061F0187C0000
C1F030F80000C1F060F80000C1F060F80000C1F0C0F8000181F0C1F0000181F181F0000181F181
F0000181F301F0000301F603E0000301F603E0000301FC03E0000300FC03E0000600F807C00006
00F807C0000600F007C0001F00E007C000FFE0E0FFFC00FFE0C0FFFC002E227DA12C>I<00FFC0
1FFC00FFC01FFC000FC003C0000FE00380001BE00300001BE00300001BF003000019F003000031
F006000031F806000030F806000030F806000060FC0C0000607C0C0000607C0C0000607C0C0000
C03E180000C03E180000C03E180000C01F180001801F300001801F300001800FB00001800FB000
03000FE000030007E000030007E000030007E000060007C000060003C000060003C0001F0003C0
00FFE0018000FFE001800026227DA124>I<0000FE000007FF80001F03E0003C01F000F000F801
E0007803C0003C0780003C0F80003C0F00003E1F00003E3E00003E3E00003E7C00003E7C00003E
7C00003EF800007CF800007CF800007CF80000F8F80000F8F80000F8F00001F0F00001F0F80003
E0F80003C0F800078078000F007C001E003C003C001E00F8000F83E00007FFC00000FE00001F22
79A125>I<00FFFFE000FFFFF8000F807C000F801E001F001F001F000F001F000F001F000F003E
001F003E001F003E001F003E001E007C003E007C003C007C0078007C00F000F803E000FFFF8000
FFFE0000F8000001F0000001F0000001F0000001F0000003E0000003E0000003E0000003E00000
07C0000007C0000007C0000007C00000FFFC0000FFFC000020227DA121>I<0000FE000007FF80
001F03E0003C01F000F800F801E0007803C0007C07C0003C0F80003C0F00003E1F00003E3E0000
3E3E00003E7C00003E7C00003E7C00003EF800007CF800007CF800007CF8000078F80000F8F000
00F8F00001F0F00001F0F00003E0F80003C0F81E0780783F0F007C611E003CC1BC001EC1F8000F
C3E00007FFC00000FF804000018040000180C000018080000181800001C3000003FF000001FE00
0001FE000001FC000000F0001F2C79A125>I<00FFFFC000FFFFF0000F80F8000F803C001F001E
001F001E001F001E001F001E003E003E003E003E003E003E003E007C007C0078007C00F8007C01
F0007C07C000FFFF0000FFFE0000F80F0000F80F8001F007C001F007C001F007C001F007C003E0
0F8003E00F8003E00F8003E00F8007C01F0007C01F0307C01F0307C00F86FFFC07FCFFFC01F820
227DA124>I<0003F040000FFCC0001E0FC0003807C00070038000E0038001E0038001E0038003
C0030003C0030003E0000003E0000003F0000003FE000001FFC00001FFF00000FFF800007FFC00
000FFC000001FE0000007E0000003E0000003E0000003E0030003C0030003C0030003C00300078
00700070007800F0007C01E0006F03C000C7FF000081FC00001A227DA11B>I<1FFFFFF81FFFFF
F81E03E0783803E0383807C0383007C0387007C0306007C030600F8030C00F8030C00F8030C00F
8030001F0000001F0000001F0000001F0000003E0000003E0000003E0000003E0000007C000000
7C0000007C0000007C000000F8000000F8000000F8000000F8000001F0000001F0000001F00000
03F00000FFFFC000FFFF80001D2277A123>I<3FFF07FF3FFF07FF03E000F003E000E007C000C0
07C000C007C000C007C000C00F8001800F8001800F8001800F8001801F0003001F0003001F0003
001F0003003E0006003E0006003E0006003E0006007C000C007C000C007C000C007C000C007800
1800F80018007800300078003000780060003800C0003C0180001E0700000FFC000003F0000020
2277A124>I<FFF803FFFFF803FE0F8000F00F8000E00F8000C00F8001800F8001800F8003000F
8007000F8006000FC00C000FC00C0007C0180007C0180007C0300007C0600007C0600007C0C000
07C0C00007C1800007C3800007C3000007E6000003E6000003EC000003FC000003F8000003F000
0003F0000003E0000003E0000003C000000380000003800000202276A124>I<FFF803FFFFF803
FF0F8000F00F8000E00FC001C00FC0018007C0030007C0060007E00E0007E01C0003E0180003F0
300003F0600001F0E00001F0C00001F9800001FB000000FF000000FE000000FC000000F8000000
F8000000F8000000F8000001F0000001F0000001F0000001F0000003E0000003E0000003E00000
03E000007FFE00007FFC0000202276A124>89 D<007C6001FEF003C7F00703E00F01E01E01E03E
01E03C03C07C03C07C03C07C03C0F80780F80780F80788F8078CF80F18780F18781F183C77301F
E7E00F81C016157C9419>97 D<03E0003FC0003FC00003C00003C0000780000780000780000780
000F00000F00000F00000F00001E00001E78001FFE001F8F003E0F003C07803C07803C0780780F
80780F80780F80780F80F01F00F01F00F01F00F01E00F03C00703C0070780038F0003FC0000F00
0011237BA216>I<003F0000FF8003C1C00783C00F07C01E07C03E03803C00007C00007C00007C
0000F80000F80000F80000F800007800807801803807003C1E001FF80007E00012157C9416>I<
00001F0001FE0001FE00001E00001E00003C00003C00003C00003C000078000078000078000078
0000F0007CF001FEF003C7F00703E00F01E01E01E03E01E03C03C07C03C07C03C07C03C0F80780
F80780F80788F8078CF80F18780F18781F183C77301FE7E00F81C018237CA219>I<007C03FE07
870F031E033C037C06781CFFF8FFC0F800F000F000F000F000F001F003780E383C1FF00FC01015
7B9416>I<00003C0000FE0001DF0001DF0003DE00038C000780000780000780000780000F0000
0F00000F00000F0001FFF801FFF8001E00001E00001E00001E00001E00003C00003C00003C0000
3C00003C0000780000780000780000780000780000F00000F00000F00000F00000E00001E00001
E00001C00039C0007BC000FB8000FB00007E00003C0000182D82A20F>I<000F18003FBC0070FC
00E0F801E07803C07807C0780780F00F80F00F80F00F80F01F01E01F01E01F01E01F01E01F03C0
0F03C00F07C0071FC003FF8001E780000780000780000F00000F00380F00781E00F81C00F87800
7FF0003FC000161F7F9416>I<00F8000FF0000FF00000F00000F00001E00001E00001E00001E0
0003C00003C00003C00003C000078000078F8007BFC007F1E00FC0F00F80F00F00F00F00F01E01
E01E01E01E01E01E01E03C03C03C03C03C03C43C078678078C780F0C780F18780738F007F06001
C017237DA219>I<006000F001F001F000C000000000000000000000000000000F001F8033C063
C0C3C0C780C78007800F000F000F001E001E001E203C303C60786078C039C03F800E000D217CA0
0F>I<00F8000FF0000FF00000F00000F00001E00001E00001E00001E00003C00003C00003C000
03C0000780000781E00783F00786300F08F00F11F00F21F00F41E01F80C01F80001FE0001EF000
3C78003C7C003C3C203C3C307878607878607878407838C0F01F80600F0014237DA216>107
D<01F01FE01FE001E001E003C003C003C003C007800780078007800F000F000F000F001E001E00
1E001E003C003C003C003C007800780079007980F300F300F30073007E001C000C237CA20C>I<
1E07E03E003F1FF0FF0067B879C78067E03F03C0C7C03E03C0C7803C03C0C7803C03C00F007807
800F007807800F007807800F007807801E00F00F001E00F00F001E00F00F101E00F01E183C01E0
1E303C01E03C303C01E03C603C01E01CE07803C01FC0300180070026157C9428>I<1E07C0003F
1FE00067B8F00067E07800C7C07800C7807800C78078000F00F0000F00F0000F00F0000F00F000
1E01E0001E01E0001E01E2001E03C3003C03C6003C0786003C078C003C039C007803F8003000E0
0019157C941B>I<003F0000FFC003E1E00780F00F00F01E00F83E00F83C00F87C00F87C00F87C
00F8F801F0F801F0F801E0F803E07803C0780780380F003C1E001FFC0007E00015157C9419>I<
01E0F80003F3FC00067F0E00067E0F000C7C07000C7807800C780F8000F00F8000F00F8000F00F
8000F00F8001E01F0001E01F0001E01F0001E03E0003C03C0003E0380003E0780003F1E00007BF
C000079F000007800000078000000F0000000F0000000F0000000F0000001E0000001E000000FF
E00000FFE00000191F809419>I<00786001FCE00387E00707C00F03C01E03C03E03C03C07807C
07807C07807C0780F80F00F80F00F80F00F80F00F81E00781E00783E0038FE001FFC000F3C0000
3C00003C0000780000780000780000780000F00000F0000FFF000FFF00131F7C9416>I<1E0F00
3F3FC067F0C067C1E0C7C3E0C783E0C783C00F01800F00000F00000F00001E00001E00001E0000
1E00003C00003C00003C00003C000078000030000014157C9415>I<007C0001FF000383800703
800E07800E07800E02000F80000FF8000FFC0007FE0001FF00001F00300F00780F00F80E00F80E
00F01C007038003FF0001FC00011157D9414>I<00E001E001E001E001E003C003C003C003C007
80FFF8FFF807800F000F000F000F001E001E001E001E003C003C003C103C1878307830786038C0
3F800F000D1F7C9E10>I<0F00301F807833C07863C0F0C3C0F0C780F0C780F00781E00F01E00F
01E00F01E01E03C01E03C01E03C41E03C61E078C1E078C1E0F8C0E1B980FF3F003E0E018157C94
1A>I<0F01801F83C033C7E063C7E0C3C3E0C781E0C780E00780C00F00C00F00C00F00C01E0180
1E01801E01801E03001E03001E06001E04000F1C0007F80003E00014157C9416>I<0F0060601F
80F0F033C0F1F863C1E1F8C3C1E0F8C781E078C781E0380783C0300F03C0300F03C0300F03C030
1E0780601E0780601E0780601E0780C01E0780C01E0781801E0F81800F1BC30007F9FE0003E0F8
001E157C9420>I<03C3C00FE7E0187C70307CF07079F06079F06079E000F0C000F00000F00000
F00001E00001E00039E02079E030FBC060FBC060F3C0C0E7E3807CFF00383C0014157D9416>I<
0F00301F807833C07863C0F0C3C0F0C780F0C780F00781E00F01E00F01E00F01E01E03C01E03C0
1E03C01E03C01E07801E07801E0F800E1F800FFF0003EF00000F00000F00001E00781E00F83C00
F83800F07000E1E0007FC0003F0000161F7C9418>I<00F03003F87007FEE007FFC00C07800C03
00000600000C0000180000300000600000C0000180000300400600600C00C01F03C03FFF8079FF
0060FE00C0380014157E9414>I<FFFFFCFFFFFC16027C8D19>I E /FG 54
122 df<01F00003F80007FC000FFC001F3E001E1E001E1E001E1E001E1E001E3EFC1E7DFC1EF9
FC1FFBFC0FF3C00FE3C00FC7C01F87803FC7807FCF807FEF00F9FF00F1FE00F0FE00F07C18F07E
3CF8FF3C7FFFFC3FFFF81FE7F80F81F0161E7F9D1A>38 D<007800F801F803E007C00F800F001F
001E003E003C007C0078007800F800F000F000F000F000F000F000F000F000F000F000F8007800
78007C003C003E001E001F000F000F8007C003E001F800F800780D2878A21A>40
D<7000F8007C003E001F000F80078007C003C003E001E001F000F000F000F80078007800780078
00780078007800780078007800F800F000F001F001E003E003C007C007800F801F003E007C00F8
0070000D287CA21A>I<1E003F007F007F807F803F801F800F800F801F007E00FC00F800700009
0E78861A>44 D<7FFFC0FFFFE0FFFFE07FFFC013047D901A>I<387CFEFEFE7C38070777861A>I<
00E00000E00001E00003E00007E0000FE0007FE000FFE000FDE00079E00001E00001E00001E000
01E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E000
7FFF807FFF807FFF807FFF80111E7C9D1A>49 D<387CFEFEFE7C3800000000000000387CFEFEFE
7C38071577941A>58 D<7FFFF0FFFFF8FFFFF87FFFF00000000000000000000000007FFFF0FFFF
F8FFFFF87FFFF0150C7E941A>61 D<007E0001FF8003FFC007FFE00FC3E01F0FF03E3FF03C7FF0
7C7FF878F9F8F8F0F8F9F0F8F1E078F1E078F1E078F1E078F1E078F1E078F9F0F8F8F0F078F9F0
7C7FE03C7FE03E3FC01F0F780FC1F807FFF803FFE001FFC0007F00151E7E9D1A>64
D<007C00007C0000FE0000FE0000EE0000EE0000EE0001EF0001EF0001EF0001C70001C70003C7
8003C78003C78003C7800783C00783C00783C007FFC007FFC00FFFE00FFFE00F01E00F01E01F01
F07F83FCFFC7FEFFC7FE7F83FC171E7F9D1A>I<00FE3803FF7807FFF80FFFF81FC3F81F01F83E
00F87C00F87C0078780078F80078F80000F00000F00000F00000F00000F00000F00000F80000F8
00787800787C00787C00783E00F81F00F01FC3F00FFFE007FFC003FF8000FE00151E7E9D1A>67
D<7FFE00FFFF00FFFF807FFFC01E07E01E03F01E01F01E00F81E00781E00781E007C1E003C1E00
3C1E003C1E003C1E003C1E003C1E003C1E003C1E007C1E00781E00781E00F81E01F01E01F01E07
E07FFFC0FFFFC0FFFF007FFE00161E7F9D1A>I<FFFFFCFFFFFCFFFFFCFFFFFC1E003C1E003C1E
003C1E003C1E00001E07801E07801E07801FFF801FFF801FFF801FFF801E07801E07801E07801E
00001E00001E001E1E001E1E001E1E001E1E001EFFFFFEFFFFFEFFFFFEFFFFFE171E7F9D1A>I<
7FFFFCFFFFFCFFFFFC7FFFFC0F003C0F003C0F003C0F003C0F00000F00000F07800F07800F0780
0FFF800FFF800FFF800FFF800F07800F07800F07800F00000F00000F00000F00000F00000F0000
7FF000FFF000FFF0007FF000161E7F9D1A>I<01F8E003FFE007FFE00FFFE01F87E03E03E03E03
E07C01E07801E07801E0F801E0F00000F00000F00000F00000F00000F01FF8F01FF8F01FF8F81F
F87801E07801E07C03E03E03E03E07E01F8FE00FFFE007FFE003FFE001F9E0151E7E9D1A>I<FF
C7FEFFC7FEFFC7FEFFC7FE1E00F01E00F01E00F01E00F01E00F01E00F01E00F01E00F01FFFF01F
FFF01FFFF01FFFF01E00F01E00F01E00F01E00F01E00F01E00F01E00F01E00F01E00F01E00F0FF
C7FEFFC7FEFFC7FEFFC7FE171E7F9D1A>I<FFFFC0FFFFC0FFFFC0FFFFC001E00001E00001E000
01E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E000
01E00001E00001E00001E00001E00001E000FFFFC0FFFFC0FFFFC0FFFFC0121E7C9D1A>I<7F87
F8FFCFFCFFCFFC7F87F81E07C01E07C01E0F801E1F001E1E001E3E001E7C001EF8001EF8001FFC
001FFC001FFE001FFE001F9F001F9F001F0F801E0F801E07C01E03C01E03E01E01E01E01F07F83
FCFFC3FEFFC3FE7F83FC171E7F9D1A>75 D<7FF000FFF800FFF8007FF0000F00000F00000F0000
0F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0000
0F00000F003C0F003C0F003C0F003C0F003C7FFFFCFFFFFCFFFFFC7FFFFC161E7F9D1A>I<7F80
FF00FF80FF80FFC1FF807FC1FF001EC1BC001EC1BC001EE3BC001EE3BC001EE3BC001EE3BC001E
F7BC001E773C001E773C001E773C001E773C001E773C001E3E3C001E3E3C001E3E3C001E1C3C00
1E003C001E003C001E003C001E003C001E003C001E003C007F80FF00FFC1FF80FFC1FF807F80FF
00191E809D1A>I<FF87FEFF87FEFFC7FEFFC7FE1EC0F01EE0F01EE0F01EE0F01EF0F01E70F01E
70F01E70F01E78F01E78F01E38F01E38F01E3CF01E3CF01E1CF01E1CF01E1CF01E1EF01E0EF01E
0EF01E0EF01E06F0FFC7F0FFC7F0FFC3F0FFC3F0171E7F9D1A>I<0FFE003FFF807FFFC07FFFC0
7C07C0F803E0F803E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0
F001E0F001E0F001E0F001E0F001E0F001E0F803E0F803E07C07C07FFFC07FFFC03FFF800FFE00
131E7D9D1A>I<FFFF00FFFFC0FFFFE0FFFFF01E01F81E00F81E007C1E003C1E003C1E003C1E00
3C1E003C1E007C1E00F81E01F81FFFF01FFFE01FFFC01FFF001E00001E00001E00001E00001E00
001E00001E0000FFC000FFC000FFC000FFC000161E7F9D1A>I<FFFC00FFFF00FFFF80FFFFC01E
07E01E03E01E01F01E00F01E00F01E00F01E01F01E03E01E07E01FFFC01FFF801FFF801FFFC01E
07C01E03E01E01E01E01E01E01E01E01E01E01E01E01EF1E01EFFFC1FFFFC0FFFFC07EFFC03C18
1E7F9D1A>82 D<07F1C01FFFC03FFFC07FFFC07C1FC0F807C0F003C0F003C0F003C0F00000F800
007E00007FC0003FFC000FFF0007FF80007FC00007C00003E00001E00001E07001E0F001E0F003
E0F803E0FE07C0FFFF80FFFF00FFFE00E3FC00131E7D9D1A>I<7FFFFEFFFFFEFFFFFEFFFFFEF0
3C1EF03C1EF03C1EF03C1E003C00003C00003C00003C00003C00003C00003C00003C00003C0000
3C00003C00003C00003C00003C00003C00003C00003C00003C0003FFC003FFC003FFC003FFC017
1E7F9D1A>I<FFC1FF80FFC1FF80FFC1FF80FFC1FF801E003C001E003C001E003C001E003C001E
003C001E003C001E003C001E003C001E003C001E003C001E003C001E003C001E003C001E003C00
1E003C001E003C001E003C001E003C001F007C000F0078000F80F80007C1F00007FFF00003FFE0
0001FFC000007F0000191E809D1A>I<FF83FEFF83FEFF83FEFF83FE1E00F01E00F01E00F00F01
E00F01E00F01E00F01E00783C00783C00783C00783C003838003C78003C78003C78003C78001C7
0001EF0001EF0001EF0000EE0000EE0000FE0000FE00007C00007C00171E7F9D1A>I<FF01FEFF
83FEFF83FEFF01FE7C007C3C00783C00783C00783C00783C00783C00783C00783C7C781C7C701C
FE701EFEF01EEEF01EEEF01EEEF01EEEF01EEEF00EEEE00EEEE00EC6E00EC6E00EC6E00FC7E00F
C7E00FC7E00783C0171E7F9D1A>I<FFF8FFF8FFF8FFF8F000F000F000F000F000F000F000F000
F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F0
00F000F000F000FFF8FFF8FFF8FFF80D2776A21A>91 D<FFF8FFF8FFF8FFF80078007800780078
007800780078007800780078007800780078007800780078007800780078007800780078007800
780078007800780078007800780078FFF8FFF8FFF8FFF80D277EA21A>93
D<0FF8001FFF003FFF803FFFC03E0FE01C03E00001E000FFE00FFFE01FFFE07FE1E07E01E0F801
E0F001E0F001E0F803E07C0FE07FFFFE3FFFFE1FFCFE07F07E17157E941A>97
D<FF0000FF0000FF0000FF00000F00000F00000F00000F00000F00000F1FC00F7FE00FFFF00FFF
F80FE0FC0F807C0F003C0F003E0F001E0F001E0F001E0F001E0F001E0F803E0F803C0FC07C0FE1
F80FFFF80FFFF00F7FE0071F80171E809D1A>I<01FF8007FFC00FFFE01FFFE03F03E07E01C078
0000F80000F00000F00000F00000F00000F00000F800F07C00F07E01F03F83E01FFFE00FFFC007
FF8001FE0014157D941A>I<001FE0001FE0001FE0001FE00001E00001E00001E00001E00001E0
03F1E00FFDE01FFFE03FFFE07F0FE07C03E07801E0F801E0F001E0F001E0F001E0F001E0F001E0
F803E07803E07C07E07E1FE03FFFFE1FFFFE0FF9FE03F1FE171E7E9D1A>I<01FC0007FF000FFF
801FFFC03F07E07C03E07801F0F801F0FFFFF0FFFFF0FFFFF0FFFFF0F00000F800F07C00F07E01
F03F83E01FFFE00FFFC007FF0001FC0014157D941A>I<0007E0001FF0003FF8007FF800FCF800
F07000F00000F00000F0007FFFF0FFFFF0FFFFF0FFFFF000F00000F00000F00000F00000F00000
F00000F00000F00000F00000F00000F00000F00000F0003FFFC07FFFE07FFFE03FFFC0151E7F9D
1A>I<01F8FC07FFFE0FFFFE1FFFFE1F0F9C3E07C03C03C03C03C03C03C03E07C01F0F801FFF80
1FFF001FFE003DF8003C00003C00001FFF801FFFE01FFFF83FFFFC7C00FCF8003EF0001EF0001E
F0001EF8003EFC007E7F01FC3FFFF81FFFF007FFC001FF0017217F941A>I<FF000000FF000000
FF000000FF0000000F0000000F0000000F0000000F0000000F0000000F1FC0000F7FE0000FFFF0
000FFFF8000FE0F8000F8078000F8078000F0078000F0078000F0078000F0078000F0078000F00
78000F0078000F0078000F0078000F007800FFF1FF80FFF3FF80FFF3FF80FFF1FF80191E809D1A
>I<00E00001F00001F00001F00000E0000000000000000000000000000000007FF0007FF0007F
F0007FF00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000
F00000F0007FFFC0FFFFE0FFFFE07FFFC0131F7D9E1A>I<FF0000FF0000FF0000FF00000F0000
0F00000F00000F00000F00000F3FFC0F3FFE0F3FFE0F3FFC0F0FC00F1F800F3F000F7E000FFC00
0FFC000FFE000FFF000FDF000F8F800F07C00F03C00F03E0FFE3FEFFE3FFFFE3FFFFE3FE181E7F
9D1A>107 D<FFF000FFF000FFF000FFF00000F00000F00000F00000F00000F00000F00000F000
00F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F000
00F00000F000FFFFF0FFFFF0FFFFF0FFFFF0141E7D9D1A>I<7E7C3E00FFFEFF00FFFFFF007FFF
FF801F8FC7801F0F87801F0F87801E0F07801E0F07801E0F07801E0F07801E0F07801E0F07801E
0F07801E0F07801E0F07801E0F07807F8FC7E0FFCFE7F0FFCFE7F07F8FC7E01C1581941A>I<FF
1FC000FF7FE000FFFFF000FFFFF8000FE0F8000F8078000F8078000F0078000F0078000F007800
0F0078000F0078000F0078000F0078000F0078000F0078000F007800FFF1FF80FFF3FF80FFF3FF
80FFF1FF80191580941A>I<01FC0007FF000FFF801FFFC03F07E07C01F07800F0F800F8F00078
F00078F00078F00078F00078F800F87800F07C01F03F07E01FFFC00FFF8007FF0001FC0015157E
941A>I<FF1FC0FF7FE0FFFFF0FFFFF80FE0FC0F807C0F003C0F003E0F001E0F001E0F001E0F00
1E0F001E0F803E0F803C0FC07C0FE1F80FFFF80FFFF00F7FE00F1F800F00000F00000F00000F00
000F00000F00000F0000FFF000FFF000FFF000FFF000172080941A>I<7FC3F8FFCFFCFFDFFE7F
FFFE03FE3E03F81C03F00003E00003E00003C00003C00003C00003C00003C00003C00003C00003
C0007FFF80FFFF80FFFF807FFF8017157F941A>114 D<0FFB803FFF807FFF807FFF80FC0F80F0
0780F00780FC00007FE0003FFC001FFF0001FF80000FC07003C0F003C0F803C0FC0FC0FFFF80FF
FF00FFFE00E7F80012157C941A>I<01C00003C00003C00003C00003C00003C00003C0007FFFE0
FFFFE0FFFFE0FFFFE003C00003C00003C00003C00003C00003C00003C00003C06003C0F003C0F0
03C0F003E1F003E3E001FFE001FFC000FF80003E00141C7F9B1A>I<FF07F800FF07F800FF07F8
00FF07F8000F0078000F0078000F0078000F0078000F0078000F0078000F0078000F0078000F00
78000F0078000F0078000F00F8000F83F8000FFFFF8007FFFF8003FF7F8001FC7F80191580941A
>I<7FC7FCFFC7FEFFC7FE7FC7FC0F01E00F01E00F83E00783C00783C00783C003C78003C78003
C78001C70001EF0001EF0000EE0000FE0000FE0000FE00007C0017157F941A>I<7FC7F87FCFFC
7FCFFC7FC7F807C78003EF8001FF0000FE0000FC00007C00007C00007C0000FE0001EF0003EF00
03C7800783C07FC7FCFFC7FEFFC7FE7FC7FC17157F941A>120 D<7FC7FCFFC7FEFFC7FE7FC7FC
0F01E00F81E00783E00783C003C3C003C3C003C78001E78001E78001E70000E70000EF0000EE00
007E00007E00007E00003C00003C00007C0000780000780010F8007CF0007DF0007FE0007FC000
3F80001E000017207F941A>I E /FH 97 128 df<FFFFFF00FFFFFF0007C01F0007C0070007C0
070007C0030007C0038007C0038007C0018007C0018007C0018007C0018007C0000007C0000007
C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C00000
07C0000007C0000007C0000007C0000007C0000007C0000007C0000007C00000FFFF0000FFFF00
0019227EA11E>0 D<000FE000007FFC0001F83F0003E00F8007C007C00F8003E01F0001F01F00
01F03E0000F83E0000F87E0000FC7C00007C7C00007CFC30187EFC30187EFC3FF87EFC3FF87EFC
3FF87EFC3FF87EFC30187EFC30187E7C00007C7C00007C7E0000FC3E0000F83E0000F81F0001F0
1F0001F00F8003E007C007C003E00F8001F83F00007FFC00000FE0001F227DA126>2
D<FFFFFFFFFFFFFFFF07C003E007C003E007C003E007C003E007C003E007C003E007C003E007C0
03E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007
C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E0
07C003E007C003E007C003E0FFFE7FFFFFFE7FFF20227EA125>5 D<FFFFFFE0FFFFFFE07C0007
E07E0001E03F0000E01F0000601F8000700FC0007007E0003007E0003003F0003001F8003001F8
000000FC0000007E0000007E0000003F0000001F0000001E0000000C0000001800000030003000
70003000E0003000C000300180007003000070060000600E0000E01C0001E0180007E03FFFFFE0
7FFFFFE0FFFFFFE01C227DA123>I<001FE00000FFFC0003F03F0007C00F800F8007C01F0003E0
3F0003F03F0003F07E0001F87E0001F87E0001F87E0001F87E0001F87E0001F87E0001F83E0001
F03F0003F03F0003F01F0003E01F0003E00F0003C00F8007C0078007800380070003C00F00C1C0
0E0CC1C00E0C60C00C1860C00C1860E01C187FE01FF87FE01FF83FE01FF03FE01FF01E227EA123
>10 D<000FC1F0003FF7F800F87E3C01E0FC7C03C0FC7C03C0F838078078000780780007807800
0780780007807800078078000780780007807800FFFFFFC0FFFFFFC00780780007807800078078
000780780007807800078078000780780007807800078078000780780007807800078078000780
7800078078000780780007807800078078007FE1FFC07FE1FFC01E2380A21C>I<000FC000003F
E00000F8700001E0780003C0F80003C0F8000780F8000780700007800000078000000780000007
8000000780000007800000FFFFF800FFFFF8000780F80007807800078078000780780007807800
078078000780780007807800078078000780780007807800078078000780780007807800078078
0007807800078078007FE1FF807FE1FF80192380A21B>I<000FD800003FF80000F8F80001E0F8
0003C0F80003C07800078078000780780007807800078078000780780007807800078078000780
7800FFFFF800FFFFF8000780780007807800078078000780780007807800078078000780780007
807800078078000780780007807800078078000780780007807800078078000780780007807800
7FF3FF807FF3FF80192380A21B>I<0007E03F00003FF1FF8000F83FC1C001E03F01E003C07E03
E003C07E03E007807C03E007803C01C007803C000007803C000007803C000007803C000007803C
000007803C0000FFFFFFFFE0FFFFFFFFE007803C03E007803C01E007803C01E007803C01E00780
3C01E007803C01E007803C01E007803C01E007803C01E007803C01E007803C01E007803C01E007
803C01E007803C01E007803C01E007803C01E007803C01E07FF1FF8FFE7FF1FF8FFE272380A229
>I<0007E03F60003FF1FFE000F83FC3E001E07F03E003C07E03E003C07E01E007803C01E00780
3C01E007803C01E007803C01E007803C01E007803C01E007803C01E007803C01E0FFFFFFFFE0FF
FFFFFFE007803C01E007803C01E007803C01E007803C01E007803C01E007803C01E007803C01E0
07803C01E007803C01E007803C01E007803C01E007803C01E007803C01E007803C01E007803C01
E007803C01E007803C01E07FF1FF8FFE7FF1FF8FFE272380A229>I<038007800F800F001E003C
0038007000E0004000090A77A218>19 D<78FCFCFCFCFCFCFC7878787878787878787878303030
3030000000000078FCFCFCFC7806237CA20E>33 D<781E00FC3F00FC3F00FE3F80FE3F807E1F80
0601800601800601800C03000C03001C0700180600300C00701C0060180011107EA218>I<0780
000C001FC0001C001C600018003870007800703C00F000703FFFE000F01BFFE000F01800C000F0
1801C000F018038000F018030000F018070000F0180E0000F0180C000070301C00007030180000
38703800001C607000001FC06000000780E03C000001C07E00000180E300000381C300000703C1
800006038180000E0380C0000C0780C0001C0780C000380780C000300780C000700780C000E007
80C000C00780C001C00380C00180038180038003C180070001C300060000E3000E00007E000C00
003C0022287DA429>37 D<003C000000007E00000000E300000001C180000001C180000003C180
000003C180000003C180000003C180000003C300000003C700000003C600000003CC00000001D8
00000001F807FF8001F007FF8001E000FC0001F000700003F000600007F800C0000E7800C0001C
7C0180003C3C018000781E030000781F060000F80F060000F8078C0000F807D80000F803F00000
F801F003007C00F803007C01FC06003F073E0E000FFE0FFC0003F003F00021237EA226>I<78FC
FCFEFE7E0606060C0C1C1830706007107CA20E>I<0030006000C001800380070006000E000E00
1C001C003800380038007800700070007000F000F000F000F000F000F000F000F000F000F000F0
00F000F000F00070007000700078003800380038001C001C000E000E00060007000380018000C0
006000300C327DA413>I<C0006000300018001C000E000600070007000380038001C001C001C0
01E000E000E000E000F000F000F000F000F000F000F000F000F000F000F000F000F000F000E000
E000E001E001C001C001C0038003800700070006000E001C00180030006000C0000C327DA413>
I<0001800000018000000180000001800000018000000180000001800000018000000180000001
8000000180000001800000018000000180000001800000018000FFFFFFFEFFFFFFFE0001800000
018000000180000001800000018000000180000001800000018000000180000001800000018000
00018000000180000001800000018000000180001F227D9C26>43 D<78FCFCFEFE7E0606060C0C
1C1830706007107C850E>I<FFE0FFE0FFE00B037F8B10>I<78FCFCFCFC7806067C850E>I<0001
80000180000380000300000300000700000600000600000E00000C00000C00001C000018000018
0000180000380000300000300000700000600000600000E00000C00000C00001C0000180000180
000380000300000300000700000600000600000E00000C00000C00000C00001C00001800001800
00380000300000300000700000600000600000E00000C00000C0000011317DA418>I<01F00007
FC000F1E001C07003C07803803807803C07803C07803C0F803E0F803E0F803E0F803E0F803E0F8
03E0F803E0F803E0F803E0F803E0F803E0F803E0F803E0F803E07803C07803C07803C03803803C
07801E0F000F1E0007FC0001F00013207E9F18>I<00C001C007C0FFC0FBC003C003C003C003C0
03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003
C003C0FFFFFFFF10207C9F18>I<03F0000FFE00383F00300F80600FC0F807C0FC07E0FC07E0FC
03E07803E03007E00007E00007C00007C0000F80000F00001E00003E00003C0000700000E00001
C0000180000300600600600C00601800E03800C03FFFC07FFFC0FFFFC0FFFFC013207E9F18>I<
03F0000FFE001C1F00380F807C0F807C0FC07C07C03C0FC0180FC0000F80000F80000F00001F00
003C0003F80003F000001E00000F00000F800007C00007C00007E03007E07807E0FC07E0FC07E0
FC07C0F80FC0700F803C1F001FFC0003F00013207E9F18>I<000700000700000F00001F00001F
00003F00007F00006F0000CF0001CF00018F00038F00030F00060F000E0F000C0F00180F00380F
00300F00600F00E00F00FFFFF8FFFFF8000F00000F00000F00000F00000F00000F00000F0001FF
F801FFF815207F9F18>I<1000801C07801FFF001FFE001FFC001FF8001FC00018000018000018
000018000018000019F8001FFE001E0F001807801807800003C00003C00003E00003E00003E078
03E0F803E0F803E0F803C0F003C0600780300F003C1E000FFC0003F00013207E9F18>I<007E00
01FF0003C3800701C00E03C01E07C03C07C03C03807C0000780000780000F80000F9FC00FBFE00
FE0700FC0780FC03C0FC03C0F803E0F803E0F803E0F803E07803E07803E07803E07803C03803C0
3C03801C07000F0F0007FC0001F80013207E9F18>I<6000007000007FFFE07FFFE07FFFC07FFF
C0600180E00300C00300C00600C00C00000C0000180000300000300000600000600000E00000E0
0001E00001C00001C00003C00003C00003C00003C00007C00007C00007C00007C00007C00007C0
0007C00003800013227DA118>I<01F80007FE000E0F001803803003807001C07001C07001C078
01C07C03807E03803F87001FEE000FFC0007FC0003FE000FFF001C7F80381FC0700FC07003E0E0
01E0E000E0E000E0E000E0E000E07000C07001C03803801E0F000FFE0003F80013207E9F18>I<
01F00007FC000E0E001C07003C07807803807803C0F803C0F803C0F803C0F803E0F803E0F803E0
F803E07807E07807E03C07E01C0FE00FFBE007F3E00003E00003C00003C00003C03807807C0780
7C0700780E00301C003838001FF00007C00013207E9F18>I<78FCFCFCFC780000000000000000
0078FCFCFCFC7806157C940E>I<78FCFCFCFC7800000000000000000070F8FCFCFC7C0C0C0C1C
181830306040061F7C940E>I<FFFFFFFEFFFFFFFE000000000000000000000000000000000000
0000000000000000000000000000FFFFFFFEFFFFFFFE1F0C7D9126>61 D<0FE01FF8383C601EF0
1FF81FF81FF81F701F003E003E007C00F000E001C001C001800380030003000300030003000300
0000000000000000000007800FC00FC00FC00FC0078010237DA217>63 D<000180000003C00000
03C0000003C0000007E0000007E0000007E000000FF000000DF000000DF0000018F8000018F800
0018F80000307C0000307C0000307C0000603E0000603E0000603E0000C01F0000C01F0001C01F
8001FFFF8001FFFF8003800FC0030007C0030007C0070007E0060003E0060003E00E0003F01F00
03F0FFC01FFFFFC01FFF20227EA125>65 D<FFFFF800FFFFFF0007C01F8007C007C007C007E007
C003E007C003F007C003F007C003F007C003F007C003F007C003E007C007E007C00FC007C01F80
07FFFF0007FFFE0007C01F8007C007C007C003E007C003F007C001F007C001F807C001F807C001
F807C001F807C001F807C001F807C003F007C003F007C007E007C00FC0FFFFFF00FFFFFC001D22
7EA123>I<000FE010003FF83000FC0E7001E003F007C001F00F8001F00F0000F01F0000F03E00
00703E0000707E0000307C0000307C000030FC000030FC000000FC000000FC000000FC000000FC
000000FC000000FC0000007C0000307C0000307E0000303E0000303E0000601F0000600F0000C0
0F8000C007C0018001F0030000FC0E00003FFC00000FE0001C227DA123>I<FFFFF000FFFFFE00
07C01F0007C00FC007C003C007C001E007C001F007C000F807C000F807C000FC07C0007C07C000
7C07C0007C07C0007E07C0007E07C0007E07C0007E07C0007E07C0007E07C0007E07C0007E07C0
007E07C0007C07C0007C07C0007C07C000F807C000F807C001F007C001E007C003E007C007C007
C01F00FFFFFE00FFFFF8001F227EA125>I<FFFFFFC0FFFFFFC007C00FC007C003C007C001C007
C000C007C000E007C000E007C0006007C0606007C0606007C0606007C0600007C0E00007C1E000
07FFE00007FFE00007C1E00007C0E00007C0600007C0600007C0601807C0601807C0001807C000
3007C0003007C0003007C0003007C0007007C000F007C001F007C007E0FFFFFFE0FFFFFFE01D22
7EA121>I<FFFFFFC0FFFFFFC007C00FC007C003C007C001C007C000C007C000E007C000E007C0
006007C0006007C0606007C0606007C0600007C0600007C0E00007C1E00007FFE00007FFE00007
C1E00007C0E00007C0600007C0600007C0600007C0600007C0000007C0000007C0000007C00000
07C0000007C0000007C0000007C00000FFFF0000FFFF00001B227EA120>I<0007F008003FFC18
00FC0E3801F0037803C001F8078000F80F0000781F0000783E0000383E0000387E0000387C0000
187C000018FC000018FC000000FC000000FC000000FC000000FC000000FC000000FC003FFF7C00
3FFF7E0000F87E0000F83E0000F83E0000F81F0000F80F8000F8078000F803E000F801F001F800
FE0738003FFE180007F80820227DA126>I<FFFE7FFFFFFE7FFF07C003E007C003E007C003E007
C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E0
07FFFFE007FFFFE007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003
E007C003E007C003E007C003E007C003E007C003E007C003E007C003E0FFFE7FFFFFFE7FFF2022
7EA125>I<FFFEFFFE07C007C007C007C007C007C007C007C007C007C007C007C007C007C007C0
07C007C007C007C007C007C007C007C007C007C007C007C007C007C007C0FFFEFFFE0F227FA112
>I<03FFF803FFF8000F80000F80000F80000F80000F80000F80000F80000F80000F80000F8000
0F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F8030
0F80780F80FC0F80FC0F80FC1F00781F00783E001FF80007E00015227FA119>I<FFFE07FF00FF
FE07FF0007C001F80007C001E00007C001800007C003000007C006000007C00E000007C01C0000
07C038000007C070000007C060000007C0C0000007C1C0000007C3E0000007C7E0000007CFF000
0007D9F0000007F0F8000007F0FC000007E07C000007C03E000007C03E000007C01F000007C01F
800007C00F800007C007C00007C007C00007C003E00007C003F00007C001F00007C003F800FFFE
0FFF80FFFE0FFF8021227EA126>I<FFFF0000FFFF000007C0000007C0000007C0000007C00000
07C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C000
0007C0000007C0000007C0000007C0000007C0000007C0018007C0018007C0018007C0018007C0
038007C0038007C0030007C0070007C0070007C00F0007C03F00FFFFFF00FFFFFF0019227EA11E
>I<FFE00007FFFFF0000FFF07F0000FE007F0000FE006F8001BE006F8001BE006F8001BE0067C
0033E0067C0033E0067C0033E0063E0063E0063E0063E0063E0063E0061F00C3E0061F00C3E006
1F00C3E0060F8183E0060F8183E0060F8183E00607C303E00607C303E00607C303E00603E603E0
0603E603E00603E603E00601FC03E00601FC03E00601FC03E00600F803E00600F803E00600F803
E01F807003E0FFF0707FFFFFF0707FFF28227EA12D>I<FFC00FFFFFE00FFF07E001F807F00060
07F8006006F80060067C0060067E0060063E0060063F0060061F0060060F8060060FC0600607C0
600607E0600603E0600601F0600601F8600600F86006007C6006007C6006003E6006003F600600
1F6006000FE006000FE0060007E0060007E0060003E0060001E0060001E01F8000E0FFF000E0FF
F0006020227EA125>I<000FE000007FFC0001F83F0003E00F8007C007C00F8003E01F0001F01F
0001F03E0000F83E0000F87E0000FC7C00007C7C00007CFC00007EFC00007EFC00007EFC00007E
FC00007EFC00007EFC00007EFC00007E7C00007C7E0000FC7E0000FC3E0000F83E0000F81F0001
F01F0001F00F8003E007C007C003E00F8001F83F00007FFC00000FE0001F227DA126>I<FFFFF0
00FFFFFC0007C03F0007C00F8007C00F8007C007C007C007C007C007E007C007E007C007E007C0
07E007C007E007C007C007C007C007C00F8007C00F8007C03F0007FFFC0007FFF00007C0000007
C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C00000
07C0000007C00000FFFE0000FFFE00001B227EA121>I<000FE000007FFC0001F83F0003E00F80
07C007C00F8003E01F0001F01F0001F03E0000F83E0000F87E0000FC7C00007C7C00007CFC0000
7EFC00007EFC00007EFC00007EFC00007EFC00007EFC00007EFC00007E7C00007C7C00007C7E00
00FC3E0000F83E0000F81F0781F01F0FE1F00F9C33E007D817C003F81F8001FC3F00007FFC0000
0FEC0200000C0200000C0200000E0600000F0E00000FFE000007FC000007FC000007F8000003F8
000001E01F2C7DA126>I<FFFFE00000FFFFF8000007C07E000007C01F000007C00F800007C007
C00007C007E00007C007E00007C007E00007C007E00007C007E00007C007E00007C007C00007C0
0F800007C01F000007C07E000007FFF8000007FFF0000007C078000007C03C000007C03E000007
C01E000007C01F000007C01F000007C01F000007C01F000007C01F800007C01F800007C01F8000
07C01F818007C00FC18007C00FE300FFFE03FF00FFFE00FC0021227EA124>I<03F0200FFC601E
0FE03803E07801E07000E0F000E0F00060F00060F00060F80000F800007C00007FC0003FFC003F
FF001FFF8007FFC000FFC0000FE00003E00001F00001F00000F0C000F0C000F0C000F0E000E0E0
00E0F001E0F801C0FE0780C7FF0081FC0014227DA11B>I<7FFFFFF87FFFFFF87C07C0F87007C0
386007C0186007C018E007C01CE007C00CC007C00CC007C00CC007C00CC007C00C0007C0000007
C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C00000
07C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C00003FFFF80
03FFFF801E227EA123>I<FFFE0FFFFFFE0FFF07C001F807C0006007C0006007C0006007C00060
07C0006007C0006007C0006007C0006007C0006007C0006007C0006007C0006007C0006007C000
6007C0006007C0006007C0006007C0006007C0006007C0006007C0006007C0006007C0006003C0
00C003E000C001E0018000E0018000F00300003C0E00001FFC000007F00020227EA125>I<FFF8
00FFC0FFF800FFC00FC0003E0007C0001C0007C000180007C000180003E000300003E000300003
F000700001F000600001F000600000F800C00000F800C00000F800C000007C018000007C018000
007E038000003E030000003E030000001F060000001F060000001F060000000F8C0000000F8C00
00000FDC00000007D800000007D800000003F000000003F000000003F000000001E000000001E0
00000001E000000000C0000022227FA125>I<FFF83FFE07FEFFF83FFE07FE0F8007E001F00F80
03E000E00FC003E0006007C003F000C007C003F000C007C003F000C003E006F8018003E006F801
8003E006F8018001F00EFC030001F00C7C030001F00C7C030001F80C7E070000F8183E060000F8
183E060000FC183E0600007C301F0C00007C301F0C00007C301F0C00003E600F9800003E600F98
00003E600F9800001FE00FF000001FC007F000001FC007F000001FC007F000000F8003E000000F
8003E000000F8003E00000070001C00000070001C00000070001C0002F227FA132>I<7FFC0FFF
007FFC0FFF0007F003F00003F001C00001F001800001F803800000FC030000007C060000007E0E
0000003E0C0000003F180000001FB80000000FB00000000FE000000007E000000003E000000003
F000000003F000000003F800000007FC000000067C0000000C7E0000001C3F000000181F000000
301F800000700F800000600FC00000C007E00001C003E000018003F000038001F8000FC001F800
FFF00FFFC0FFF00FFFC022227FA125>I<FFF800FFE0FFF800FFE00FC0003E0007E0001C0007E0
00380003F000300001F000700001F800600000FC00E00000FC00C000007E018000003E01800000
3F030000001F870000001F860000000FCE00000007CC00000007FC00000003F800000003F00000
0001F000000001F000000001F000000001F000000001F000000001F000000001F000000001F000
000001F000000001F000000001F000000001F00000003FFF8000003FFF800023227FA125>I<7F
FFFE7FFFFE7F007C7C007C7000F87001F8E001F0E003F0C003E0C007C0C007C0C00F80001F8000
1F00003F00003E00007C00007C0000F80001F80001F00303F00303E00307C00307C0030F80071F
80071F00063F000E3E000E7C003E7C00FEFFFFFEFFFFFE18227DA11E>I<FEFEC0C0C0C0C0C0C0
C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0FE
FE07317BA40E>I<0C03001C0700180600300C00701C00601800601800C03000C03000C03000FC
3F00FE3F80FE3F807E1F807E1F803C0F0011107CA218>I<FEFE06060606060606060606060606
0606060606060606060606060606060606060606060606060606060606060606FEFE07317FA40E
>I<0C1C1830706060C0C0C0FCFEFE7E7E3C07107DA20E>96 D<1FE0003FF8007C3C007C1E007C
0F00380F00000F00000F0003FF000FFF003F0F007C0F007C0F00F80F00F80F18F80F18F80F1878
1F187C3FB83FE7F00F83C015157E9418>I<0F0000FF0000FF00001F00000F00000F00000F0000
0F00000F00000F00000F00000F00000F00000F00000F1F800F7FE00FE1F00F80780F00780F003C
0F003C0F003E0F003E0F003E0F003E0F003E0F003E0F003E0F003C0F003C0F00780F80F00EE1F0
0E7FC00C1F0017237FA21B>I<01FE0007FF000F0F801E0F803C0F807C0700780000F80000F800
00F80000F80000F80000F80000F800007C00007C00C03C00C01E01800F830007FE0001F8001215
7E9416>I<0001E0001FE0001FE00003E00001E00001E00001E00001E00001E00001E00001E000
01E00001E00001E003F1E007FDE01F07E03E03E03C01E07801E07801E0F801E0F801E0F801E0F8
01E0F801E0F801E0F801E07801E07801E03C01E03C03E01F0FF00FFDFE03F1FE17237EA21B>I<
01FC0007FF000F0F801E07C03C03C07C03E07801E0FFFFE0FFFFE0F80000F80000F80000F80000
F800007800007C00603C00601E00C00F838007FF0000FC0013157F9416>I<001E00007F0001E7
8001CF8003CF80078700078000078000078000078000078000078000078000078000FFF800FFF8
000780000780000780000780000780000780000780000780000780000780000780000780000780
000780000780000780000780007FFC007FFC00112380A20F>I<03F0F00FFFF81E1F383C0F303C
0F007C0F807C0F807C0F807C0F803C0F003C0F001E1E001FFC0033F0003000003000003800003F
FE003FFFC01FFFE03FFFF07801F0700078E00038E00038E00038E000387000703800E01E03C00F
FF8001FC0015207F9418>I<0F0000FF0000FF00001F00000F00000F00000F00000F00000F0000
0F00000F00000F00000F00000F00000F1F800F7FC00FE1E00FC0F00F80F00F00F00F00F00F00F0
0F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F0FFF3FFFFF3FF
18237FA21B>I<0E001F003F003F001F000E0000000000000000000000000000000F00FF00FF00
1F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00FFE0FFE00B2280
A10D>I<00F001F801F801F801F800F00000000000000000000000000000007807F807F800F800
780078007800780078007800780078007800780078007800780078007800780078007800780078
00787078F870F8F0F9E07FC01F000D2C83A10F>I<0F0000FF0000FF00001F00000F00000F0000
0F00000F00000F00000F00000F00000F00000F00000F00000F0FFC0F0FFC0F03E00F03800F0700
0F0E000F1C000F38000F78000FFC000FBE000F1E000F1F000F0F800F07800F07C00F03C00F03E0
0F03F0FFE7FEFFE7FE17237FA21A>I<0F00FF00FF001F000F000F000F000F000F000F000F000F
000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00
0F000F00FFF0FFF00C2380A20D>I<0F0FC07E00FF3FE1FF00FFE0F707801FC07E03C00F807C03
C00F007803C00F007803C00F007803C00F007803C00F007803C00F007803C00F007803C00F0078
03C00F007803C00F007803C00F007803C00F007803C00F007803C00F007803C0FFF3FF9FFCFFF3
FF9FFC26157F9429>I<0F1F80FF7FC0FFE1E01FC0F00F80F00F00F00F00F00F00F00F00F00F00
F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F0FFF3FFFFF3FF18157F941B
>I<01FC0007FF000F07801E03C03C01E07800F07800F0F800F8F800F8F800F8F800F8F800F8F8
00F8F800F87800F07C01F03C01E01E03C00F078007FF0001FC0015157F9418>I<0F1F80FF7FE0
FFE1F00F80F80F00780F007C0F007C0F003E0F003E0F003E0F003E0F003E0F003E0F003E0F007C
0F007C0F00780F80F00FE1F00F7FC00F1F000F00000F00000F00000F00000F00000F00000F0000
0F0000FFF000FFF000171F7F941B>I<01F06007FCE00F0EE01E03E03C03E07C01E07C01E0F801
E0F801E0F801E0F801E0F801E0F801E0F801E07C01E07C01E03C03E03E03E01F0FE00FFDE003F1
E00001E00001E00001E00001E00001E00001E00001E00001E0001FFE001FFE171F7E941A>I<0F
7CFFFEFFDF1F9F0F9F0F0E0F000F000F000F000F000F000F000F000F000F000F000F000F00FFF8
FFF810157F9413>I<0FD83FF870786018E018E018F000FC007FC03FE01FF00FF8007CC03CC01C
E01CE01CF018F838FFF08FC00E157E9413>I<03000300030003000700070007000F001F003F00
FFF8FFF80F000F000F000F000F000F000F000F000F000F000F0C0F0C0F0C0F0C0F0C0F0C079803
F001E00E1F7F9E13>I<0F00F0FF0FF0FF0FF01F01F00F00F00F00F00F00F00F00F00F00F00F00
F00F00F00F00F00F00F00F00F00F00F00F00F00F01F00F01F00787F803FEFF01F8FF18157F941B
>I<FFE3FEFFE3FE1F00F80F00600F00600780C00780C007C0C003C18003C18003E38001E30001
E30000F60000F60000FE00007C00007C00007C0000380000380017157F941A>I<FF8FF9FFFF8F
F9FF1F03E07C0F01C0380F01E0300F01E0300783E0600783F0600783F06003C670C003C678C003
C678C001EC398001EC3D8001EC3D8000F81F0000F81F0000F81F0000700E0000700E0000700E00
20157F9423>I<7FE3FF007FE3FF0007C1F00003C0E00003E1C00001E3800000F3000000FF0000
007E0000003C0000003E0000003E0000007F00000067800000C7C00001C3C0000181E0000381F0
000F81F800FFC3FF80FFC3FF80191580941A>I<FFE3FEFFE3FE1F00F80F00600F00600780C007
80C007C0C003C18003C18003E38001E30001E30000F60000F60000FE00007C00007C00007C0000
3800003800003000003000007000006000F86000F8C000F9C000FB80007F00003E0000171F7F94
1A>I<3FFFC03FFFC03C0780380F00301F00703E00603C0060780060F80001F00001E00003E0C0
07C0C00780C00F00C01F01C03E01803C0380780780FFFF80FFFF8012157F9416>I<FFFFFEFFFF
FE1702808D18>I<FFFFFFFFFFFFFFFFFFFFFFFF3002808D31>I<78787878787870707070F0F0E0
E0E0E0C0C040400D0A7AA218>I<7070F8F8F8F8F8F8F8F870700E067BA118>127
D E /FI 17 112 df<0180030006000C001C001800380030007000700060006000E000E000E000
E000E000E000E000E000E000E00060006000700070003000380018001C000C0006000300018009
227E980E>40 D<C0006000300018001C000C000E00060007000700030003000380038003800380
038003800380038003800380030003000700070006000E000C001C00180030006000C00009227E
980E>I<003000003000003000003000003000003000003000003000003000003000003000FFFF
FCFFFFFC0030000030000030000030000030000030000030000030000030000030000030001618
7E931B>43 D<07C01FF03C78783C701C701CF01EF01EF01EF01EF01EF01EF01EF01EF01E701C70
1C783C3C781FF007C00F157F9412>48 D<03000F00FF00F7000700070007000700070007000700
070007000700070007000700070007007FF07FF00C157E9412>I<1F803FE071F0F8F0F878F878
70780078007800F000E001C0038007000E000C18181830387FF0FFF0FFF00D157E9412>I<0FC0
1FF03078783C783C783C103C007800F007E007E00078003C001E701EF81EF81EF83C70383FF00F
C00F157F9412>I<007000F000F001F003F0077006700E701C70187030707070E070FFFEFFFE00
7000700070007003FE03FE0F157F9412>I<60307FF07FE07F8060006000600060006F807FC070
E06070007800786078F078F078F07060E03FC01F000D157E9412>I<01F007F80E1C1C3C383C70
187000F080F7F0FFF8F81CF81CF01EF01EF01E701E701E381C3C381FF007C00F157F9412>I<60
007FFE7FFE7FFCE018C018C030006000C001800180038003000700070007000F000F000F000F00
0F0006000F167E9512>I<07C01FF03838701C701C701C7C1C3F383FF00FE01FF83DFC70FCE03E
E00EE00EE00E700C78383FF00FC00F157F9412>I<07C01FF038387038F01CF01CF01EF01EF01E
703E703E3FFE1FDE021E001C301C7838783870F03FC01F800F157F9412>I<FFFFFCFFFFFC0000
00000000000000000000000000000000FFFFFCFFFFFC160A7E8C1B>61 D<0F9E3FFF7077F078F0
78F078F07870707FE06F8060007FF03FF87FFCE01EE00EE00EE00E783C3FF80FE010157F8D12>
103 D<FC00FC001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00
1C001C001C00FF80FF80091780960A>108 D<07C01FF03838701C701CF01EF01EF01EF01EF01E
701C38381FF007C00F0E7F8D12>111 D E /FJ 21 119 df<387CFEFEFE7C3807077B8611>46
D<000018000000003C000000003C000000003C000000007E000000007E000000007E00000000FF
00000000FF00000000FF000000019F800000019F800000019F800000030FC00000030FC0000003
0FC000000607E000000607E000000E07F000000C03F000000C03F000001C03F800001801F80000
1801F800003001FC00003000FC00003FFFFC00007FFFFE00007FFFFE000060007E0000C0003F00
00C0003F0000C0003F000180001F800180001F800180001F800380000FC00FC0000FC0FFF801FF
FFFFF801FFFFFFF801FFFF28297EA82D>65 D<FFFFFF8000FFFFFFF000FFFFFFFC0003F000FE00
03F0007F0003F0003F0003F0003F8003F0001F8003F0001FC003F0001FC003F0001FC003F0001F
C003F0001FC003F0001F8003F0003F8003F0003F0003F0007E0003F000FC0003F007F80003FFFF
E00003FFFFFC0003F0007E0003F0003F8003F0001FC003F0000FC003F0000FE003F00007E003F0
0007F003F00007F003F00007F003F00007F003F00007F003F00007F003F0000FE003F0000FE003
F0001FC003F0003F8003F000FF00FFFFFFFE00FFFFFFFC00FFFFFFE00024297EA82A>I<0000FF
00100007FFE030001FFFF870007FC03CF000FE000FF001F80007F003F00003F007E00001F00FC0
0000F01F800000F01F800000703F000000703F000000707F000000307F000000307E00000030FE
00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000
FE0001FFFF7E0001FFFF7F0001FFFF7F000003F03F000003F03F000003F01F800003F01F800003
F00FC00003F007E00003F003F00003F001F80003F000FE0007F0007FC03DF0001FFFF8F00007FF
F0700000FF801028297DA82F>71 D<FFFFFE000000FFFFFFC00000FFFFFFF0000003F003FC0000
03F000FE000003F0003F000003F0003F800003F0001F800003F0001FC00003F0001FC00003F000
1FC00003F0001FC00003F0001FC00003F0001FC00003F0001F800003F0003F000003F0007E0000
03F000FC000003F003F8000003FFFFE0000003FFFF80000003F007C0000003F001F0000003F000
F8000003F000F8000003F0007C000003F0007E000003F0007E000003F0007E000003F0007E0000
03F0007E000003F0007F000003F0007F000003F0007F000003F0007F000003F0007F018003F000
3F818003F0003F8180FFFFC01FC300FFFFC007FE00FFFFC001FC0029297EA82C>82
D<00FE010003FFC3000FFFE7001F81FF003E003F003C001F007C000F0078000F00F8000700F800
0700F8000300F8000300FC000300FC0000007E0000007FC000007FFC00003FFFC0001FFFF0000F
FFF80007FFFC0001FFFE00001FFF000001FF8000003F8000001F8000000FC000000FC0C00007C0
C00007C0C00007C0C00007C0E0000780E0000780F0000F80F8000F00FE001E00FFC07C00E7FFF8
00C1FFF000803FC0001A297DA821>I<07FC00001FFF80003E07C0003F01E0003F01F0003F00F8
001E00F8000000F8000000F8000000F800001FF80001FFF80007F8F8001FC0F8003F00F8007E00
F8007E00F800FC00F860FC00F860FC00F860FC00F860FC01F8607E03F8603F067FC01FFC7F8003
F01F001B1A7E991E>97 D<007FE001FFF807C07C0F80FC1F00FC3E00FC3E00787E00007C0000FC
0000FC0000FC0000FC0000FC0000FC0000FC0000FC00007C00007E00003E000C3F000C1F00180F
803007E06001FFC0007F00161A7E991B>99 D<07C00000FFC00000FFC00000FFC000000FC00000
07C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C000
0007C0000007C1F80007C7FE0007DC1F0007F81F0007F00F8007E00F8007E00F8007C00F8007C0
0F8007C00F8007C00F8007C00F8007C00F8007C00F8007C00F8007C00F8007C00F8007C00F8007
C00F8007C00F8007C00F8007C00F8007C00F80FFFE7FFCFFFE7FFCFFFE7FFC1E2A7FA921>104
D<07000F801FC01FC01FC00F8007000000000000000000000000000000000007C07FC07FC07FC0
0FC007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C0FF
FCFFFCFFFC0E2980A810>I<001C003E007F007F007F003E001C00000000000000000000000000
000000001F03FF03FF03FF003F001F001F001F001F001F001F001F001F001F001F001F001F001F
001F001F001F001F001F001F001F001F001F001F001F001F001F781FFC1EFC3EFC3C78783FF01F
C0103583A812>I<07C00000FFC00000FFC00000FFC000000FC0000007C0000007C0000007C000
0007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0FFF007C0
FFF007C0FFF007C07E0007C0380007C0700007C0E00007C1C00007C3800007C7000007CF800007
DF800007FFC00007E7C00007C7E00007C3F00007C1F00007C1F80007C0FC0007C07C0007C07E00
07C03F0007C03F80FFFCFFF8FFFCFFF8FFFCFFF81D2A7FA920>I<07C0FFC0FFC0FFC00FC007C0
07C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007
C007C007C007C007C007C007C007C007C007C007C007C007C007C0FFFEFFFEFFFE0F2A80A910>
I<07C1FC01FC00FFC7FE07FE00FFCE1F0E1F00FFD80F980F800FF007F007C007E007E007C007E0
07E007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007
C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C0
07C007C007C007C007C007C007C007C007C007C007C0FFFE7FFE7FFEFFFE7FFE7FFEFFFE7FFE7F
FE2F1A7F9932>I<007F000001FFC00007C1F0000F0078001E003C003E003E003E003E007C001F
007C001F00FC001F80FC001F80FC001F80FC001F80FC001F80FC001F80FC001F80FC001F807C00
1F007C001F003E003E003E003E001F007C000F80F80007C1F00001FFC000007F0000191A7E991E
>111 D<07C3F800FFCFFE00FFDC1F00FFF00F8007E007C007C007E007C003E007C003F007C003
F007C001F807C001F807C001F807C001F807C001F807C001F807C001F807C001F807C003F007C0
03F007C003E007C007E007E007C007F00F8007D83F0007CFFC0007C3F00007C0000007C0000007
C0000007C0000007C0000007C0000007C0000007C0000007C00000FFFE0000FFFE0000FFFE0000
1D267F9921>I<07CF80FFDFE0FFF1E0FFE3F00FE3F007E3F007C1E007C00007C00007C00007C0
0007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C000FFFF
00FFFF00FFFF00141A7F9917>114 D<07F8C01FFFC03C07C07803C07001C0F000C0F000C0F800
C0FC0000FF80007FF8003FFE001FFF000FFF8001FFC0000FE0C003E0C003E0E001E0E001E0E001
E0F001C0F803C0FE0780C7FE0083F800131A7E9918>I<00C00000C00000C00000C00001C00001
C00001C00003C00003C00007C0000FC0001FFF80FFFF80FFFF8007C00007C00007C00007C00007
C00007C00007C00007C00007C00007C00007C00007C00007C0C007C0C007C0C007C0C007C0C007
C0C007C0C003E18001E18000FF00007C0012257FA417>I<07C00F80FFC1FF80FFC1FF80FFC1FF
800FC01F8007C00F8007C00F8007C00F8007C00F8007C00F8007C00F8007C00F8007C00F8007C0
0F8007C00F8007C00F8007C00F8007C00F8007C00F8007C00F8007C01F8007C01F8003C03FC001
E0EFFC00FFCFFC007F0FFC1E1A7F9921>I<FFF81FF8FFF81FF8FFF81FF807C007C007C0070007
E0070003E0060003E0060001F00C0001F00C0001F81C0000F8180000F81800007C3000007C3000
007E3000003E6000003E6000001FC000001FC000001FC000000F8000000F8000000F8000000700
00000700001D1A7F9920>I E /FK 34 123 df<0000F0000001F0000007F000003FF0001FFFF0
00FFFFF000FFFFF000FFFFF000E03FF000003FF000003FF000003FF000003FF000003FF000003F
F000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF00000
3FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000
003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF0007FFFFFF07FFFFF
F07FFFFFF07FFFFFF01C2E7AAD29>49 D<003FF00001FFFE0007FFFF801FFFFFE03F80FFF07F80
7FF87FC01FFCFFE01FFEFFE00FFEFFE00FFEFFE007FFFFE007FFFFE007FF7FC007FF1F0007FF00
0007FF000007FF00000FFE00000FFE00000FFC00001FFC00001FF800003FF000007FE000007F80
0000FF000001FE000003F8000007F000000FE00F001FC00F003F800F007E000F00FC001E01F800
1E01F0003E03FFFFFE07FFFFFE0FFFFFFE1FFFFFFE3FFFFFFE7FFFFFFEFFFFFFFCFFFFFFFCFFFF
FFFCFFFFFFFC202E7CAD29>I<000FF80000007FFF800001FFFFE00003F03FF00007C01FF8000F
E00FFC000FF80FFE001FFC0FFE001FFC0FFE001FFC0FFE001FFC0FFE001FFC0FFE001FFC0FFE00
0FF80FFC0007F01FFC0001C01FF80000003FF80000003FF00000007FE000001FFF8000001FFE00
00001FFF8000001FFFE00000001FF80000000FFC00000007FE00000007FF00000003FF80000003
FF80060003FFC01F8003FFC07FE003FFC07FE003FFC0FFF003FFC0FFF003FFC0FFF003FFC0FFF0
03FF80FFF003FF80FFE007FF807FE007FF003F800FFE003FE01FFC000FFFFFF80007FFFFE00001
FFFF8000001FF80000222E7DAD29>I<000000F800000001F800000003F800000007F80000000F
F80000000FF80000001FF80000003FF80000007FF8000000FFF8000000FFF8000001FFF8000003
EFF8000007CFF800000F8FF800000F8FF800001F0FF800003E0FF800007C0FF80000F80FF80000
F80FF80001F00FF80003E00FF80007C00FF8000F800FF8000F800FF8001F000FF8003E000FF800
7C000FF800FC000FF800FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF000001FF80000001FF8
0000001FF80000001FF80000001FF80000001FF80000001FF80000001FF800001FFFFFF0001FFF
FFF0001FFFFFF0001FFFFFF0242E7EAD29>I<0000007C000000000000FE000000000000FE0000
00000001FF000000000001FF000000000001FF000000000003FF800000000003FF800000000007
FFC00000000007FFC00000000007FFC0000000000FFFE0000000000FFFE0000000001FFFF00000
00001F7FF0000000001F7FF0000000003F7FF8000000003E3FF8000000003E3FF8000000007E3F
FC000000007C1FFC00000000FC1FFE00000000F80FFE00000000F80FFE00000001F80FFF000000
01F007FF00000003F007FF80000003E003FF80000003E003FF80000007E003FFC0000007C001FF
C000000FC001FFE000000F8000FFE000000FFFFFFFE000001FFFFFFFF000001FFFFFFFF000003F
FFFFFFF800003E00003FF800003E00003FF800007E00003FFC00007C00001FFC0000FC00001FFE
0000F800000FFE0000F800000FFE0001F800000FFF00FFFFE003FFFFFEFFFFE003FFFFFEFFFFE0
03FFFFFEFFFFE003FFFFFE37317DB03E>65 D<000003FF80038000003FFFF007800001FFFFFC0F
800007FFFFFF3F80001FFF803FFF80007FF8000FFF8000FFE00003FF8001FFC00001FF8003FF80
0000FF8007FF0000007F800FFE0000007F801FFE0000003F801FFC0000003F803FFC0000001F80
3FF80000001F803FF80000001F807FF80000000F807FF80000000F807FF00000000F80FFF00000
000000FFF00000000000FFF00000000000FFF00000000000FFF00000000000FFF00000000000FF
F00000000000FFF00000000000FFF00000000000FFF00000000000FFF000000000007FF0000000
00007FF800000007807FF800000007803FF800000007803FF800000007803FFC0000000F801FFC
0000000F001FFE0000000F000FFE0000001F0007FF0000003E0003FF8000007C0001FFC00000FC
0000FFF00001F800007FFC0007F000001FFF801FC0000007FFFFFF80000001FFFFFE000000003F
FFF80000000003FF80000031317BB03C>67 D<FFFFFFFFF00000FFFFFFFFFF0000FFFFFFFFFFC0
00FFFFFFFFFFF00000FFE000FFFC0000FFE0001FFE0000FFE00007FF0000FFE00001FF8000FFE0
0000FFC000FFE00000FFE000FFE000007FE000FFE000003FF000FFE000003FF000FFE000003FF8
00FFE000001FF800FFE000001FFC00FFE000001FFC00FFE000001FFC00FFE000001FFC00FFE000
001FFE00FFE000001FFE00FFE000001FFE00FFE000001FFE00FFE000001FFE00FFE000001FFE00
FFE000001FFE00FFE000001FFE00FFE000001FFE00FFE000001FFE00FFE000001FFE00FFE00000
1FFC00FFE000001FFC00FFE000001FFC00FFE000001FFC00FFE000001FF800FFE000003FF800FF
E000003FF800FFE000003FF000FFE000007FE000FFE000007FE000FFE00000FFC000FFE00001FF
8000FFE00007FF0000FFE0000FFE0000FFE000FFFC00FFFFFFFFFFF000FFFFFFFFFFE000FFFFFF
FFFF0000FFFFFFFFF0000037317EB03F>I<FFFFFFE0FFFFFFE0FFFFFFE0FFFFFFE000FFE00000
FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE000
00FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE0
0000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FF
E00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000
FFE000FFFFFFE0FFFFFFE0FFFFFFE0FFFFFFE01B317EB01F>73 D<00000FFE0000000000FFFFE0
00000007FFFFFC0000001FFFFFFF0000003FFC07FF800000FFE000FFE00001FFC0007FF00003FF
80003FF80007FF00001FFC0007FE00000FFC000FFC000007FE001FFC000007FF001FF8000003FF
003FF8000003FF803FF8000003FF803FF8000003FF807FF0000001FFC07FF0000001FFC07FF000
0001FFC0FFF0000001FFE0FFF0000001FFE0FFF0000001FFE0FFF0000001FFE0FFF0000001FFE0
FFF0000001FFE0FFF0000001FFE0FFF0000001FFE0FFF0000001FFE0FFF0000001FFE0FFF00000
01FFE07FF0000001FFC07FF0000001FFC07FF8000003FFC07FF8000003FFC03FF8000003FF803F
F8000003FF801FFC000007FF001FFC000007FF000FFE00000FFE000FFE00000FFE0007FF00001F
FC0003FF80003FF80001FFC0007FF00000FFF001FFE000003FFC07FF8000001FFFFFFF00000007
FFFFFC00000000FFFFE0000000000FFE00000033317BB03E>79 D<FFFFFFFFC0000000FFFFFFFF
FC000000FFFFFFFFFF800000FFFFFFFFFFE0000000FFE001FFF0000000FFE0003FFC000000FFE0
001FFC000000FFE0000FFE000000FFE00007FF000000FFE00007FF000000FFE00007FF800000FF
E00007FF800000FFE00007FF800000FFE00007FF800000FFE00007FF800000FFE00007FF800000
FFE00007FF000000FFE00007FF000000FFE0000FFE000000FFE0001FFC000000FFE0003FFC0000
00FFE001FFF0000000FFFFFFFFE0000000FFFFFFFF80000000FFFFFFFC00000000FFFFFFFF0000
0000FFE007FF80000000FFE001FFC0000000FFE000FFE0000000FFE0007FF0000000FFE0007FF0
000000FFE0003FF8000000FFE0003FF8000000FFE0003FF8000000FFE0003FF8000000FFE0003F
F8000000FFE0003FFC000000FFE0003FFC000000FFE0003FFC000000FFE0003FFC000000FFE000
3FFC00C000FFE0003FFE01E000FFE0003FFE01E000FFE0001FFF03E000FFE0001FFF87C0FFFFFF
E00FFFFFC0FFFFFFE007FFFF80FFFFFFE001FFFF00FFFFFFE0001FFC003B317EB03E>82
D<001FF0038000FFFF078003FFFFCF8007FFFFFF801FF00FFF801FC001FF803F80007F807F8000
3F807F00001F807F00001F80FF00000F80FF00000F80FF00000780FF80000780FFC0000780FFE0
000000FFF0000000FFFF8000007FFFF800007FFFFF80007FFFFFE0003FFFFFF8001FFFFFFC000F
FFFFFE0007FFFFFF0003FFFFFF8000FFFFFF80003FFFFFC00003FFFFC000003FFFC0000001FFE0
000000FFE00000007FE00000003FE0F000003FE0F000001FE0F000001FE0F000001FE0F800001F
C0F800001FC0FC00003FC0FE00003F80FF00007F80FFC000FF00FFFC01FE00FFFFFFFC00F9FFFF
F800F03FFFE000E007FF000023317BB02E>I<3FFFFFFFFFFF003FFFFFFFFFFF003FFFFFFFFFFF
003FFFFFFFFFFF003FE00FFE01FF007F800FFE007F807F000FFE001F807E000FFE001F807C000F
FE000F807C000FFE000F8078000FFE00078078000FFE00078078000FFE00078078000FFE000780
F0000FFE0003C0F0000FFE0003C0F0000FFE0003C0F0000FFE0003C000000FFE00000000000FFE
00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000
000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00
000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE0000000000
0FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE0000
0000000FFE00000000000FFE000000007FFFFFFFC000007FFFFFFFC000007FFFFFFFC000007FFF
FFFFC00032307DAF39>I<007FF8000001FFFF000007FFFFC0000FFFFFF0001FF81FF8001FF80F
FC001FF807FC001FF807FE001FF803FE000FF003FE0007E003FE00000003FE00000007FE00000F
FFFE0000FFFFFE0003FFFFFE000FFF83FE003FF803FE007FF003FE007FE003FE00FFC003FE00FF
8003FE00FF8003FE00FF8003FE00FF8007FE00FFC007FE007FE00FFE007FF03FFF003FFFFDFFF8
0FFFF8FFF807FFE07FF800FF003FF825207E9F28>97 D<01FC000000FFFC000000FFFC000000FF
FC000000FFFC0000000FFC00000007FC00000007FC00000007FC00000007FC00000007FC000000
07FC00000007FC00000007FC00000007FC00000007FC00000007FC00000007FC00000007FC0FF8
0007FC7FFF0007FDFFFFC007FFFFFFE007FFE03FF007FF801FF807FE000FFC07FC0007FC07FC00
07FE07FC0003FE07FC0003FE07FC0003FF07FC0003FF07FC0003FF07FC0003FF07FC0003FF07FC
0003FF07FC0003FF07FC0003FF07FC0003FF07FC0003FF07FC0003FE07FC0007FE07FC0007FE07
FE0007FC07FF000FF807FF801FF807FFE07FF007F3FFFFE007E1FFFF8007C07FFE0007800FF000
28327EB12E>I<0007FF00007FFFC001FFFFF003FFFFF807FC0FFC0FF80FFC1FF00FFC3FE00FFC
3FE00FFC7FE007F87FC003F0FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC000
00FFC00000FFC00000FFC000007FE000007FE000003FE0001E3FF0001E1FF8003E0FFC007C07FF
01F803FFFFF001FFFFE0007FFF800007FC001F207D9F25>I<0000000FE0000007FFE0000007FF
E0000007FFE0000007FFE00000007FE00000003FE00000003FE00000003FE00000003FE0000000
3FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE0000F
F03FE0007FFE3FE001FFFFBFE007FFFFFFE00FFE03FFE01FF800FFE01FF0007FE03FE0003FE07F
E0003FE07FE0003FE07FC0003FE0FFC0003FE0FFC0003FE0FFC0003FE0FFC0003FE0FFC0003FE0
FFC0003FE0FFC0003FE0FFC0003FE0FFC0003FE0FFC0003FE07FC0003FE07FC0003FE07FE0003F
E03FE0007FE03FF000FFE01FF801FFE00FFC07FFF007FFFFFFFF01FFFF3FFF00FFFC3FFF001FE0
3FFF28327DB12E>I<000FFE0000007FFFC00001FFFFE00003FFFFF00007FE0FF8000FF803FC00
1FF001FE003FE000FF003FE000FF007FE0007F007FC0007F807FC0007F80FFC0007F80FFFFFFFF
80FFFFFFFF80FFFFFFFF80FFFFFFFF80FFC0000000FFC0000000FFC00000007FC00000007FE000
00007FE00000003FE00007803FF00007801FF8000F800FFC001F0007FF80FE0003FFFFFC0000FF
FFF800003FFFE0000007FF000021207E9F26>I<00003FC00003FFF0000FFFF8003FFFF8007FEF
FC00FF8FFC01FF0FFC01FF0FFC03FE0FFC03FE07F803FE07F803FE01E003FE000003FE000003FE
000003FE000003FE000003FE0000FFFFF800FFFFF800FFFFF800FFFFF80003FE000003FE000003
FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE0000
03FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE00
0003FE000003FE00007FFFF8007FFFF8007FFFF8007FFFF8001E327EB119>I<001FF807C000FF
FF3FF003FFFFFFF807FFFFFFF80FF81FF3F81FF00FFBF81FE007F9F03FE007FCE03FE007FC003F
E007FC003FE007FC003FE007FC003FE007FC003FE007FC001FE007F8001FF00FF8000FF81FF000
07FFFFE00007FFFFC0000FFFFF00000F1FF800001F000000001F000000001F800000001FC00000
001FFFFFC0001FFFFFF8000FFFFFFE000FFFFFFF8007FFFFFFC007FFFFFFC01FFFFFFFE03FFFFF
FFE07F80007FF0FF00000FF0FE00000FF0FE000007F0FE000007F0FE000007F0FF00000FF07F80
001FE07FC0003FE03FF801FFC00FFFFFFF0003FFFFFC0000FFFFF000000FFF0000252F7E9F29>
I<01FC00000000FFFC00000000FFFC00000000FFFC00000000FFFC000000000FFC0000000007FC
0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC000000
0007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC07FC000007FC
1FFF000007FC7FFFC00007FDFFFFC00007FFF07FE00007FFC03FE00007FF801FF00007FF001FF0
0007FE001FF00007FE001FF00007FE001FF00007FC001FF00007FC001FF00007FC001FF00007FC
001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF0
0007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC
001FF000FFFFE3FFFF80FFFFE3FFFF80FFFFE3FFFF80FFFFE3FFFF8029327DB12E>I<03E00007
F0000FF8001FFC001FFC001FFE001FFE001FFC001FFC000FF80007F00003E00000000000000000
000000000000000000000000000001FC00FFFC00FFFC00FFFC00FFFC000FFC0007FC0007FC0007
FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007
FC0007FC0007FC0007FC0007FC0007FC0007FC00FFFFC0FFFFC0FFFFC0FFFFC012337EB216>I<
01FC000000FFFC000000FFFC000000FFFC000000FFFC0000000FFC00000007FC00000007FC0000
0007FC00000007FC00000007FC00000007FC00000007FC00000007FC00000007FC00000007FC00
000007FC00000007FC00000007FC01FFFC07FC01FFFC07FC01FFFC07FC01FFFC07FC003F0007FC
007E0007FC01FC0007FC03F00007FC07E00007FC0FC00007FC3F800007FC7E000007FCFE000007
FDFF000007FFFF800007FFFFC00007FFFFC00007FF7FE00007FE3FF00007F81FF80007F81FFC00
07F80FFC0007F807FE0007F803FF0007F801FF8007F801FF8007F800FFC007F8007FE0FFFFC1FF
FFFFFFC1FFFFFFFFC1FFFFFFFFC1FFFF28327EB12C>107 D<01FC00FFFC00FFFC00FFFC00FFFC
000FFC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC
0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC
0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC
0007FC0007FC00FFFFE0FFFFE0FFFFE0FFFFE013327EB116>I<01F803FC0007F80000FFF81FFF
803FFF0000FFF87FFFC0FFFF8000FFF8FFFFE1FFFFC000FFFBF03FF7E07FE0000FFBC01FF7803F
E00007FF801FFF003FF00007FF000FFE001FF00007FE000FFC001FF00007FE000FFC001FF00007
FE000FFC001FF00007FC000FF8001FF00007FC000FF8001FF00007FC000FF8001FF00007FC000F
F8001FF00007FC000FF8001FF00007FC000FF8001FF00007FC000FF8001FF00007FC000FF8001F
F00007FC000FF8001FF00007FC000FF8001FF00007FC000FF8001FF00007FC000FF8001FF00007
FC000FF8001FF00007FC000FF8001FF00007FC000FF8001FF00007FC000FF8001FF00007FC000F
F8001FF000FFFFE1FFFFC3FFFF80FFFFE1FFFFC3FFFF80FFFFE1FFFFC3FFFF80FFFFE1FFFFC3FF
FF8041207D9F46>I<01F807FC0000FFF81FFF0000FFF87FFFC000FFF9FFFFC000FFFBF07FE000
0FFFC03FE00007FF801FF00007FF001FF00007FE001FF00007FE001FF00007FE001FF00007FC00
1FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF000
07FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC00
1FF00007FC001FF00007FC001FF00007FC001FF000FFFFE3FFFF80FFFFE3FFFF80FFFFE3FFFF80
FFFFE3FFFF8029207D9F2E>I<0007FE0000003FFFC00000FFFFF00003FFFFFC0007FE07FE000F
F801FF001FE0007F803FE0007FC03FE0007FC07FC0003FE07FC0003FE07FC0003FE0FFC0003FF0
FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF07FC0003F
E07FC0003FE07FC0003FE03FE0007FC03FE0007FC01FF000FF800FF801FF0007FE07FE0003FFFF
FC0001FFFFF800003FFFC0000007FE000024207E9F29>I<01FC0FF800FFFC7FFF00FFFDFFFFC0
FFFFFFFFE0FFFFE07FF007FF801FF807FE001FFC07FC000FFC07FC0007FE07FC0007FE07FC0007
FE07FC0003FF07FC0003FF07FC0003FF07FC0003FF07FC0003FF07FC0003FF07FC0003FF07FC00
03FF07FC0003FF07FC0007FF07FC0007FE07FC0007FE07FC000FFE07FE000FFC07FF001FF807FF
803FF807FFE07FF007FFFFFFE007FDFFFF8007FC7FFE0007FC0FF00007FC00000007FC00000007
FC00000007FC00000007FC00000007FC00000007FC00000007FC00000007FC00000007FC000000
FFFFE00000FFFFE00000FFFFE00000FFFFE00000282E7E9F2E>I<000FF001E0007FFE03E001FF
FF87E007FFFFC7E00FFE07EFE01FFC01FFE01FF800FFE03FF0007FE07FF0007FE07FE0003FE07F
E0003FE0FFE0003FE0FFC0003FE0FFC0003FE0FFC0003FE0FFC0003FE0FFC0003FE0FFC0003FE0
FFC0003FE0FFC0003FE0FFC0003FE07FE0003FE07FE0003FE07FE0003FE03FF0007FE03FF800FF
E01FF801FFE00FFE0FFFE007FFFFFFE001FFFF3FE0007FFC3FE0001FE03FE00000003FE0000000
3FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE00000
003FE0000007FFFF000007FFFF000007FFFF000007FFFF282E7D9F2C>I<01F87E00FFF9FFC0FF
FBFFE0FFFBFFF0FFFFDFF80FFF9FF807FF1FF807FE1FF807FE1FF807FE0FF007FE07E007FC0000
07FC000007FC000007FC000007FC000007FC000007FC000007FC000007FC000007FC000007FC00
0007FC000007FC000007FC000007FC000007FC000007FC0000FFFFF000FFFFF000FFFFF000FFFF
F0001D207E9F22>I<00FF870007FFFF001FFFFF003FFFFF007F007F007E001F00FC000F00FC00
0F00FC000F00FE000000FFC00000FFFF0000FFFFE0007FFFF8003FFFFC001FFFFF000FFFFF0003
FFFF8000FFFFC00007FFC000007FC0F0001FC0F0000FC0F8000FC0F8000FC0FC001F80FE001F80
FF807F80FFFFFF00FFFFFC00FBFFF800E07FC0001A207D9F21>I<003C00003C00003C00003C00
003C00007C00007C00007C0000FC0000FC0001FC0003FC0007FC001FFC00FFFFFEFFFFFEFFFFFE
FFFFFE07FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC0007FC00
07FC0007FC0007FC0007FC0F07FC0F07FC0F07FC0F07FC0F07FC0F07FC0F07FE1F03FE3E03FFFE
01FFFC007FF0001FC0182E7EAD20>I<01FC0007F000FFFC03FFF000FFFC03FFF000FFFC03FFF0
00FFFC03FFF0000FFC003FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC
001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF0
0007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC001FF00007FC
003FF00007FC003FF00007FC007FF00007FC00FFF00003FE03FFF80003FFFFFFFF8001FFFF9FFF
80007FFE1FFF80001FF81FFF8029207D9F2E>I<FFFF8FFFF03FFEFFFF8FFFF03FFEFFFF8FFFF0
3FFEFFFF8FFFF03FFE0FFC007F8003E007FC007F8003C007FC007FC003C003FE007FC0078003FE
00FFC0078003FF00FFE00F8001FF00FFE00F0001FF01EFF00F0000FF81EFF01E0000FF83EFF01E
0000FFC3C7F83E00007FC3C7F83C00007FC7C3F83C00007FE783FC7C00003FEF83FC7800003FFF
01FEF800001FFF01FEF000001FFF01FEF000001FFE00FFF000000FFE00FFE000000FFC007FE000
0007FC007FC0000007FC007FC0000007F8003FC0000003F8003F80000003F0001F80000001F000
1F00000001E0000F000037207E9F3C>119 D<3FFFFFFC3FFFFFFC3FFFFFFC3FFFFFFC3FC03FF8
3F003FF03E007FE07C00FFE07C01FFC07C01FF807803FF007807FF00780FFE00780FFC00001FF8
00003FF800007FF01E007FE01E00FFC01E01FFC01E03FF801E03FF003E07FE003E0FFE003E1FFC
007C1FF800FC3FF001FC7FF007FCFFFFFFFCFFFFFFFCFFFFFFFCFFFFFFFC1F207E9F25>122
D E
bop 587 203 a FK(On)27 b(Randomization)h(in)272 276 y(Sequen)n(tial)g(and)f
(Distributed)i(Algorithms)161 584 y FJ(Ra)s(jiv)20 b(Gupta)204
b(Scott)20 b(A.)f(Smolk)m(a)1119 566 y FI(1)1374 584 y FJ(Sha)s(ji)j(Bhask)m
(ar)111 689 y FH(GE)16 b(Corp)q(orate)i(R&D)85 b(Dept.)21 b(of)16
b(Computer)h(Science)101 b(Bell)16 b(Northern)g(Researc)o(h)87
761 y(KW-C313,)i(P)l(.O.)d(Bo)o(x)h(8)112 b(SUNY)15 b(at)h(Ston)o(y)h(Bro)q
(ok)243 b(35)17 b(Da)o(vis)g(Driv)o(e)76 833 y(Sc)o(henectady)l(,)e(NY)g
(12301)88 b(Ston)o(y)16 b(Bro)q(ok,)g(NY)f(11794)88 b(Res.)21
b(T)l(riangle)d(Pk,)e(NC)g(27709)121 916 y FG(gupta@crd.)o(ge)o(.co)o(m)164
b(sas@cs.sun)o(ysb)o(.ed)o(u)240 b(bhaskar@bnr)o(.ca)779 1127
y FH(Septem)o(b)q(er)15 b(8,)h(1993)73 1333 y FF(I)i(r)n(eturne)n(d,)f(and)h
(saw)f(under)h(the)g(sun,)g(that)g(the)g(r)n(ac)n(e)f(is)h(not)g(to)g(the)g
(swift,)g(nor)f(the)h(b)n(attle)h(to)e(the)0 1405 y(str)n(ong,)h(neither)h
(yet)f(br)n(e)n(ad)f(to)h(the)h(wise,)f(nor)g(yet)g(riches)g(to)g(men)h(of)f
(understanding,)h(nor)f(yet)g(favor)0 1477 y(to)g(men)g(of)f(skil)r(l;)i(but)
f(time)g(and)g(chanc)n(e)g(happ)n(eneth)g(to)f(them)h(al)r(l.)1219
1621 y(Ec)n(clesiastes)k FH(\(King)17 b(James)g(V)l(ersion\))0
1764 y FF(Chaos)g(umpir)n(e)g(sits,)0 1837 y(A)o(nd)h(by)f(de)n(cision)h(mor)
n(e)f(embr)n(oils)g(the)h(fr)n(ay)0 1909 y(By)f(which)h(he)g(r)n(eigns:)23
b(next)c(him)e(high)g(arbiter)0 1981 y(Chanc)n(e)h(governs)g(al)r(l.)1367
2125 y(Par)n(adise)f(L)n(ost,)e FH(John)i(Milton)p 0 2613 780
2 v 56 2644 a FE(1)75 2659 y FD(Researc)o(h)12 b(supp)q(orted)g(b)o(y)e(the)i
(National)f(Science)i(F)m(oundation)e(under)g(gran)o(ts)g(CCR{8704309,)e
(CCR{9120995,)f(and)0 2704 y(CCR{9208585;)i(and)i(b)o(y)g(the)h(Air)g(F)m
(orce)g(O\016ce)g(of)e(Sp)q(ecial)k(Researc)o(h)e(under)g(gran)o(t)f(AF)o
(OSR)h(F49620-93-1-025)o(0DEF.)p eop
bop 0 203 a FK(Con)n(ten)n(ts)0 354 y FC(1)45 b(In)n(tro)r(duction)1541
b(4)73 457 y FH(1.1)50 b(Probabilisti)q(c)19 b(T)l(ec)o(hniques)37
b FB(:)25 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)92 b FH(7)73
559 y(1.2)50 b(T)l(radeo\013s)18 b FB(:)24 b(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h
(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)67 b FH(14)0 710 y FC(2)45
b(Sequen)n(tial)20 b(Randomized)e(Algorithms)955 b(15)73 812
y FH(2.1)50 b(The)17 b(So)q(c)o(k)f(Selection)h(Problem)34
b FB(:)24 b(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h
(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)67 b FH(16)73 914 y(2.2)50
b(Primalit)o(y)18 b(T)l(esting)31 b FB(:)25 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)67 b FH(18)73 1017 y(2.3)50 b(Net)o(w)o(orks)16
b(without)h(Large)g(Hierarc)o(hies)k FB(:)j(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)67 b
FH(26)73 1119 y(2.4)50 b(Probabilisti)q(c)19 b(Hashing)24 b
FB(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)67 b FH(30)185
1221 y(2.4.1)56 b(P)o(erfect)15 b(Hashing)27 b FB(:)d(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)67 b FH(31)185 1323 y(2.4.2)56 b(Univ)o(ersal)17
b(Hashing)e FB(:)25 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)67 b
FH(34)185 1425 y(2.4.3)56 b(Some)16 b(Recen)o(t)f(Results)32
b FB(:)24 b(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h
(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)67 b FH(36)73 1528 y(2.5)50
b(The)17 b(Nearest)e(Neigh)o(b)q(ors)j(Problem)25 b FB(:)f(:)h(:)f(:)h(:)f(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
67 b FH(38)73 1630 y(2.6)50 b(In)o(teractiv)o(e)15 b(Probabilisti)q(c)k(Pro)q
(ofs)47 b FB(:)24 b(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h
(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)67 b FH(41)0 1781 y
FC(3)45 b(Distributed)19 b(Randomized)g(Algorithms)926 b(48)73
1883 y FH(3.1)50 b(The)17 b(Dining)h(Philosophers)h(Problem)25
b FB(:)g(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)67 b FH(49)73 1985 y(3.2)50 b(Comm)o(unication)18
b(Guard)f(Sc)o(heduling)f FB(:)25 b(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)67 b FH(52)73
2088 y(3.3)50 b(Leader)17 b(Election)32 b FB(:)24 b(:)h(:)f(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)67 b FH(55)73 2190 y(3.4)50
b(Message)17 b(Routing)42 b FB(:)25 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)67 b FH(58)73 2292 y(3.5)50 b(Byzan)o(tine)16 b(Agreemen)o(t)j
FB(:)25 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)67 b FH(68)0
2443 y FC(4)45 b(Additional)21 b(T)-5 b(opics)20 b(of)f(In)n(terest)f(and)h
(Conclusions)699 b(74)963 2828 y FH(2)p eop
bop 875 195 a FA(Abstract)190 333 y Fz(Probabilistic,)11 b(or)h(randomized,)g
(algorithms)e(are)i(fast)g(b)q(ecoming)g(as)g(commonplace)e(as)j(con-)122
418 y(v)o(en)o(tional)21 b(deterministic)f(algorithms.)38 b(This)22
b(surv)o(ey)g(presen)o(ts)g(\014v)o(e)g(tec)o(hniques)h(that)e(ha)o(v)o(e)122
503 y(b)q(een)g(widely)f(used)h(in)f(the)h(design)f(of)g(randomized)f
(algorithms.)32 b(These)21 b(tec)o(hniques)g(are)f(il-)122
588 y(lustrated)c(using)h(12)f(randomized)g(algorithms)e(|)j(b)q(oth)g
(sequen)o(tial)f(and)h(distributed)f(|)i(that)122 672 y(span)e(a)g(wide)g
(range)g(of)g(applications,)f(including:)22 b Fy(primality)17
b(testing)f Fz(\(a)f(classical)g(problem)g(in)122 757 y(n)o(um)o(b)q(er)c
(theory\),)h Fy(universal)g(hashing)g Fz(\(c)o(ho)q(osing)f(the)g(hash)h
(function)g(dynamically)e(and)i(at)f(ran-)122 842 y(dom\),)g
Fy(inter)n(active)i(pr)n(ob)n(abilistic)f(pr)n(o)n(of)i(systems)d
Fz(\(a)h(new)g(metho)q(d)g(of)g(program)e(testing\),)h Fy(dining)122
926 y(philosophers)k Fz(\(a)g(classical)f(problem)f(in)j(distributed)e
(computing\),)f(and)j Fy(Byzantine)f(agr)n(e)n(ement)122 1011
y Fz(\(reac)o(hing)i(agreemen)o(t)e(in)j(the)f(presence)i(of)e(malicious)e
(pro)q(cessors\).)26 b(Included)19 b(with)e(eac)o(h)h(al-)122
1096 y(gorithm)f(is)h(a)h(discussion)g(of)g(its)f(correctness)h(and)g(its)f
(computational)f(complexit)o(y)l(.)30 b(Sev)o(eral)122 1180
y(related)17 b(topics)g(of)g(in)o(terest)f(are)h(also)f(addressed,)j
(including)e(the)g(theory)g(of)g(probabilistic)f(au-)122 1265
y(tomata,)e(probabilistic)h(analysis)g(of)h(con)o(v)o(en)o(tional)f
(algorithms,)e(deterministic)i(ampli\014cation,)122 1350 y(and)j
(derandomization)e(of)h(randomized)g(algorithms.)25 b(Finally)l(,)17
b(a)g(comprehensiv)o(e)h(annotated)122 1434 y(bibliograph)o(y)c(is)g(giv)o
(en.)122 1609 y Fy(Cate)n(gories)e(and)h(Subje)n(ct)g(Descriptors:)18
b Fz(I.1.2)11 b([)p FA(Computing)h(Metho)q(dologies)p Fz(]:)17
b(Algorithms;)122 1694 y(F.1.2)c([)p FA(Computation)j(b)o(y)f(Abstract)i
(Devices)p Fz(]:)h(Mo)q(des)d(of)f(Computation)e(-)j(Probabilistic)122
1778 y(Computation;)d(D.1)j([)p FA(Soft)o(w)o(are)p Fz(]:)j(Programm)o(ing)12
b(T)l(ec)o(hniques.)122 1923 y Fy(Gener)n(al)17 b(T)m(erms:)k
Fz(Randomized)16 b(Algorithms;)e(Probabilistic)h(T)l(ec)o(hniques;)i
(Analysis)f(of)g(Algo-)122 2008 y(rithms.)122 2182 y Fy(A)n(dditional)11
b(Keywor)n(ds)h(and)f(Phr)n(ases:)17 b Fz(Probabilistic)8 b(Algorithms;)h
(Sequen)o(tial)h(and)g(Distributed)122 2267 y(Algorithms;)21
b(Computational)d(Complexit)o(y;)k(Randomized)f(Quic)o(ksort;)i(Primalit)o(y)
18 b(T)l(esting;)122 2352 y(T)l(ransitiv)o(e)12 b(T)l(ournamen)o(ts;)g
(Hashing;)h(P)o(erfect)g(Hashing;)g(Univ)o(ersal)f(Hashing;)h(Nearest)g
(Neigh-)122 2436 y(b)q(ors)20 b(Problem;)h(In)o(teractiv)o(e)e(Probabilistic)
f(Pro)q(of)h(Systems;)i(Graph)f(Isomorphism;)g(Dining)122 2521
y(Philosophers)12 b(Problem;)f(CSP;)h(Leader)h(Election;)f(Message)g
(Routing;)g(Byzan)o(tine)h(Agreemen)o(t.)963 2828 y FH(3)p
eop
bop 0 203 a FK(1)83 b(In)n(tro)r(duction)0 355 y FH(W)l(e)19
b(examine)f(the)h(\014eld)g(of)g FF(pr)n(ob)n(abilistic)h(algorithms)t
FH(,)f(that)h(is,)g(algorithms)h(con)o(taining)f(statemen)o(ts)0
427 y(of)d(the)f(form:)603 499 y FF(x)i(:=)g(outc)n(ome)f(of)h(tossing)g(a)f
(fair)g(c)n(oin)73 629 y FH(Probabilisti)q(c)j(algorithms)f(t)o(ypically)g
(toss)f(coins)g(in)g(order)g(to)f(mak)o(e)g(m)o(ulti-w)o(a)o(y)h(decisions)h
(so,)e(in)0 701 y(general,)f(the)f(coins)i(in)f(question)h(are)e
FB(n)p FH(-sided.)22 b(One)16 b(of)f(the)h(goals)h(of)f(this)h(surv)o(ey)d
(is)j(to)f(illustrate)h(the)0 773 y(in)o(teresting)g(and)g(p)q(o)o(w)o(erful)
g(e\013ects)f(coin)h(tossing)h(can)e(ha)o(v)o(e)g(on)g(the)g(b)q(eha)o(vior)i
(of)e(algorithms.)73 875 y(The)i(action)h(of)g(tossing)h(a)e(coin)h(is)g
(often)f(implicit)i(in)f(a)f(probabilisti)q(c)i(algorithm)g(and)f(ma)o(y)f
(tak)o(e)0 948 y(on)f(v)m(arious)h(guises.)23 b(Actions)17
b(suc)o(h)f(as)h(\\randomly)h(select)e(an)h(item)g FB(x)f FH(from)g(a)h(set)g
FB(S)s FH(",)f(or)h(\\randomly)0 1020 y(c)o(ho)q(ose)12 b(a)g(pro)q(cess)g
(with)g(whic)o(h)g(to)g(comm)o(unicate")f(are)g(t)o(ypical)i(examples.)19
b(Computationally)l(,)c(tossing)0 1092 y(a)j(coin)g(can)g(b)q(e)g(view)o(ed)f
(as)i(generating)g(a)f(random)g(n)o(um)o(b)q(er)f(b)q(et)o(w)o(een)g(1)h(and)
g FB(n)p FH(.)25 b(As)18 b(suc)o(h,)f(the)h(term)0 1164 y FF(r)n(andomize)n
(d)13 b(algorithm)g FH(is)h(often)f(used)g(in)h(the)f(literature)g(as)h(a)g
(synon)o(ym)e(for)h(probabilisti)q(c)j(algorithm,)0 1236 y(and)j(so)f(it)h
(shall)g(b)q(e)f(here.)26 b(An)18 b(algorithm)i(not)e(ha)o(ving)h(an)o(y)f
(coin)g(tossing)i(statemen)o(ts)e(is)g(said)i(to)e(b)q(e)0
1309 y FF(deterministic)s FH(.)73 1411 y(Randomized)i(algorithms)h(en)o
(tered)d(the)g(computer)h(science)f(sp)q(otligh)o(t)k(with)e(the)e
(publication)k(of)0 1483 y(Mic)o(hael)15 b(Rabin's)g(seminal)h(pap)q(er)g
(\\Probabilistic)i(Algorithms")e([Rab76)q(],)e(although)j(their)e(existence)0
1555 y(can)21 b(b)q(e)g(traced)g(bac)o(k)g(m)o(uc)o(h)f(further)g([Sha92a)r
(].)35 b(Rabin's)22 b(pap)q(er)f(presen)o(ted)g(surprisingly)i(e\016cien)o(t)
0 1628 y(randomized)14 b(algorithms)i(for)e(t)o(w)o(o)f(w)o(ell-kno)o(wn)i
(problems,)f(Nearest)f(Neigh)o(b)q(ors|a)i(problem)f(in)g(com-)0
1700 y(putational)22 b(geometry)l(,)e(and)g(Primalit)o(y)h(T)l(esting|the)g
(problem)f(of)g(determining)g(whether)g(a)g(giv)o(en)0 1772
y(in)o(teger)g(is)i(divisible)g(b)o(y)e(an)o(y)g(n)o(um)o(b)q(er)g(other)h
(than)g(itself)g(and)g(one.)34 b(The)20 b(probabilisti)q(c)j(algorithm)0
1844 y(of)17 b(Solo)o(v)m(a)o(y)g(and)g(Strassen)f([SS77)q(,)g(SS78)q(],)f
(also)j(for)e(primalit)o(y)i(testing,)f(is)g(another)f(celebrated)h(result)0
1917 y(in)h(the)e(\014eld.)24 b(A)16 b(resurgence)h(of)g(in)o(terest)f(in)i
(randomized)f(algorithms)i(o)q(ccurred)e(in)h(the)e(early)i(1980's)0
1989 y(with)g(the)g(disco)o(v)o(ery)f(of)h(the)f(imp)q(ortan)o(t)i(role)f
(randomization)i(can)d(pla)o(y)h(in)h(distributed)g(computing,)0
2061 y(e.g.,)c([FR80,)h(LR81)q(,)g(BO83].)73 2163 y(More)i(recen)o(tly)l(,)e
(randomized)i(algorithms)i(ha)o(v)o(e)d(b)q(een)h(the)f(sub)s(ject)g(of)h(an)
g(A)o(CM)f(T)l(uring)i(Aw)o(ard)0 2235 y(Lecture)h([Kar86)q(],)h(an)g(A)o(CM)
f(Distinguished)k(Dissertation)f([Kil90)q(],)e(and)g(of)g(a)h(n)o(um)o(b)q
(er)e(of)h(surv)o(eys)0 2308 y(including)e([W)l(ei78)q(,)d(Hop81)q(,)h(W)l
(el83)q(,)g(Kro85)q(,)f(MSV85,)h(Har87)q(,)f(V)l(al87)r(,)g(BB88,)h(Rag90)q
(,)g(Kar90)q(].)23 b(Our)0 2380 y(surv)o(ey)18 b(is)h(closest)g(in)g(spirit)h
(to)f([Har87,)f(V)l(al87)r(,)g(BB88)o(,)h(Kar90)q(])f(in)h(its)g(extensiv)o
(e)f(co)o(v)o(erage)f(of)i(b)q(oth)0 2452 y(sequen)o(tial)e(and)g
(distributed)g(randomized)g(algorithms.)963 2828 y(4)p eop
bop 73 195 a FH(A)13 b(distinguishing)k(asp)q(ect)d(of)f(our)h(surv)o(ey)e
(is)i(the)f(classi\014cation)j(w)o(e)d(presen)o(t)g(in)h(Section)f(1.1)h(of)g
(gen-)0 267 y(eral)f(tec)o(hniques)f(used)g(in)h(the)f(design)i(of)e
(randomized)h(algorithms.)1259 249 y FI(2)1301 267 y FH(In)f(Section)h(1.2,)g
(w)o(e)f(then)g(iden)o(tify)0 340 y(certain)18 b(tradeo\013s)i(one)e(ma)o(y)f
(encoun)o(ter)g(in)i(using)g(these)f(tec)o(hniques.)26 b(F)l(or)18
b(example,)g(the)g(Primalit)o(y)0 412 y(T)l(esting)f(algorithm)h(of)e([Rab76)
q(],)f(whic)o(h)h(uses)g(a)g(tec)o(hnique)f(w)o(e)h(call)h(\\random)g(searc)o
(h",)e(outp)q(erforms)0 484 y(all)j(kno)o(wn)f(deterministic)g(algorithms)i
(for)d(the)h(problem,)f(y)o(et)g(cannot,)h(in)g(general,)g(guaran)o(tee)g
(abso-)0 556 y(lutely)d(that)f(the)g(answ)o(er)h(pro)q(duced)g(is)g(correct.)
19 b(W)l(e)13 b(next)g(presen)o(t)f(12)i(randomized)g(algorithms)i(whic)o(h)0
628 y(w)o(e)j(b)q(eliev)o(e)h(to)g(b)q(e)f(represen)o(tativ)o(e)g(of)h(the)f
(\014eld;)i(in)f(the)g(least,)g(they)f(collectiv)o(ely)h(mak)o(e)f(use)g(of)h
(the)0 701 y(tec)o(hniques)15 b(that)g(w)o(e)g(ha)o(v)o(e)f(presen)o(ted.)20
b(Sev)o(en)15 b(of)g(these)g(algorithms)i(are)e(sequen)o(tial)h(\(Section)g
(2\))f(and)0 773 y(\014v)o(e)i(are)g(distributed)i(\(Section)f(3\).)26
b(Finally)l(,)19 b(in)f(Section)h(4,)e(w)o(e)h(sp)q(otligh)o(t)h(sev)o(eral)f
(remaining)h(issues)0 845 y(in)d(the)g(\014eld)f(of)h(randomized)g
(algorithms.)24 b(A)15 b(comprehensiv)o(e)g(annotated)h(bibliograph)o(y)i(is)
f(included.)73 947 y(The)f(in)o(tended)g(audience)h(is)f(one)h(with)g(a)f
(basic)h(bac)o(kground)g(in)f(algorithm)i(design)g(and)e(analysis,)0
1020 y(but)c(not)f(necessarily)i(familiar)g(with)f(the)f(use)h(of)g
(probabilistic)i(tec)o(hniques)d(in)h(algorithm)h(construction.)0
1092 y(F)l(amiliarit)o(y)i(with)g(an)e(imp)q(erativ)o(e,)h(sequen)o(tial)g
(programming)h(language)h(suc)o(h)d(as)h(P)o(ascal)h(is)f(assumed,)0
1164 y(as)i(the)g(algorithms)i(are)e(presen)o(ted)f(in)h(pseudo)g(co)q(de)g
(with)h(a)f(distinctiv)o(e)h(P)o(ascal)g(\015a)o(v)o(or.)k(The)15
b(pseudo)0 1236 y(co)q(de)23 b(mak)o(es)f(use)h(of)g(con)o(trol)g(constructs)
g(suc)o(h)g(as)g FG(REPEAT)g(UNTIL,)h(FOR,)g(WHILE)p FH(,)c(and)k
FG(IF)g(THEN)0 1309 y(ELSE)10 b FH(for)j(the)e(sequen)o(tial)i(algorithms.)22
b(F)l(or)12 b(the)g(distributed)h(case,)f(message)g(passing)i(constructs)e
FG(SEND)0 1381 y FH(and)20 b FG(RECEIVE)p FH(,)d(as)j(w)o(ell)h(as)f
(constructs)g(for)g(shared)g(memory)f(access,)h(are)g(added)g(to)g(the)f
(language.)0 1453 y(Their)e(seman)o(tics)f(are)g(discussed)i(in)f(the)f(in)o
(tro)q(duction)i(to)e(Section)h(3.)73 1555 y(As)j(previously)i(men)o(tioned,)
f(w)o(e)f(surv)o(ey)f(b)q(oth)i(sequen)o(tial)g(and)g(distributed)h
(randomized)f(algo-)0 1627 y(rithms.)h(In)16 b(the)g(sequen)o(tial)h(case,)e
(w)o(e)h(examine:)60 1771 y(1.)24 b(So)q(c)o(k)16 b(Selection)h(\()p
FF(So)n(ckSel)5 b FH(\))60 1885 y(2.)24 b(Primalit)o(y)17 b(T)l(esting)h(\()p
FF(PrimeT)l(est)5 b FH(\))60 1999 y(3.)24 b(Net)o(w)o(orks)15
b(without)j(Large)f(Hierarc)o(hies)f(\()p FF(NetHier)n(ar)n(chy)t
FH(\))60 2112 y(4.)24 b(P)o(erfect)15 b(Hashing)i(\()p FF(PerfHash)t
FH(\))60 2226 y(5.)24 b(Univ)o(ersal)17 b(Hashing)g(\()p FF(UnivHash)t
FH(\))60 2340 y(6.)24 b(Nearest)16 b(Neigh)o(b)q(ors)h(\()p
FF(Ne)n(arNeb)s FH(\))60 2454 y(7.)24 b(Graph)17 b(Isomorphism)g(Program)g(T)
l(esting)h(\()p FF(GI-V)l(erify)t FH(\))p 0 2635 780 2 v 56
2683 a FE(2)75 2698 y FD(Karp's)c(recen)o(t)h(and)f(excellen)o(t)j(surv)o(ey)
d([Kar90])f(con)o(tains)i(a)e(sligh)o(tly)j(di\013eren)o(t)g
(classi\014cation.)963 2828 y FH(5)p eop
bop 0 195 a FH(The)16 b(distributed)i(randomized)f(algorithms)h(w)o(e)e
(consider)h(are:)60 339 y(1.)24 b(Dining)18 b(Philosophers)h(\()p
FF(DinPhil)5 b FH(\))60 453 y(2.)24 b(Comm)o(unication)18 b(Guard)f(Sc)o
(heduling)g(\()p FF(CommGuar)n(d)5 b FH(\))60 566 y(3.)24 b(Leader)16
b(Election)i(in)f(a)f(Ring)i(\()p FF(L)n(e)n(adEle)n(ct)5 b
FH(\))60 680 y(4.)24 b(Message)16 b(Routing)i(in)f(a)g(Net)o(w)o(ork)e(\()p
FF(MsgR)n(oute)t FH(\))60 794 y(5.)24 b(Byzan)o(tine)16 b(Agreemen)o(t)e(\()p
FF(ByzA)n(gr)n(e)n(e)t FH(\))73 938 y(F)l(or)g(eac)o(h)g(algorithm)i(w)o(e)e
(brie\015y)g(de\014ne)g(the)g(basic)h(problem)g(and,)f(when)h(appropriate,)g
(the)f(mo)q(del)0 1010 y(of)j(computation.)25 b(W)l(e)17 b(then)g(explain)h
(wh)o(y)f(eac)o(h)f(algorithm)j(is)f(correct,)e(and)i(examine)f(its)g
(computa-)0 1082 y(tional)22 b(complexit)o(y)l(.)31 b(Only)20
b(a)g(limited)h(amoun)o(t)f(of)g(probabilit)o(y)i(theory)d(is)i(required)e
(to)h(understand)0 1154 y(the)f(correctness)g(and)h(complexit)o(y)g
(analyses,)h(as)f(our)g(emphasis)g(is)h(on)e(illustrating)k(the)d(tec)o
(hniques)0 1226 y(in)o(v)o(olv)o(ed)c(rather)g(than)h(on)g(pro)o(viding)h
(formal)f(pro)q(ofs.)73 1329 y(T)l(o)h(b)q(e)f(able)h(to)f(cogen)o(tly)g
(discuss)i(the)d(computational)k(complexit)o(y)c(of)i(randomized)f
(algorithms,)0 1401 y(it)j(is)g(useful)g(to)g(\014rst)g(in)o(tro)q(duce)f
(sev)o(eral)h(criteria)g(for)g(ev)m(aluating)h(the)e(p)q(erformance)h(of)f
(algorithms.)0 1473 y(Let)d Fx(A)24 b FH(b)q(e)16 b(a)h(sequen)o(tial)f
(algorithm)i(with)f(input)g FB(I)i FH(and)e(output)g FB(O)q
FH(.)k(If)16 b Fx(A)24 b FH(is)17 b(deterministic,)f(than)h(an)0
1545 y(oft-used)d(y)o(ardstic)o(k)f(of)h Fx(A)8 b FH('s)13
b(p)q(erformance)g(is)h(its)g FF(aver)n(age)i(running)g(time)t
FH(:)j(the)14 b(a)o(v)o(erage)e(time)i(tak)o(en)f(b)o(y)0 1618
y Fx(A)25 b FH(when,)17 b(for)g(input)g FB(I)k FH(of)c(a)g(giv)o(en)g(size,)g
(eac)o(h)f(p)q(ossible)j(instance)f(of)f FB(I)j FH(is)e(considered)f(equally)
h(lik)o(ely)l(.)0 1690 y(That)f(is,)g(a)f(uniform)h(distribution)i(on)e
(inputs)g(is)g(assumed.)73 1792 y(F)l(or)e Fx(A)23 b FH(a)15
b(randomized)g(algorithm,)h(its)g(running)g(time)e(on)h(a)g
FF(\014xe)n(d)h FH(instance)f FB(i)f FH(of)h FB(I)j FH(ma)o(y)c(v)m(ary)h
(from)0 1864 y(execution)k(to)g(execution.)30 b(Therefore,)18
b(a)i(more)f(natural)h(measure)f(of)g(p)q(erformance)g(is)h(the)e
FF(exp)n(e)n(cte)n(d)0 1937 y(running)g(time)g(of)e Fx(A)25
b FF(on)18 b(a)f(\014xe)n(d)g(instanc)n(e)h FB(i)f FF(of)g
FB(I)t FH(:)j(the)15 b(mean)h(time)g(tak)o(en)f(b)o(y)g Fx(A)24
b FH(to)16 b(solv)o(e)g(instance)g FB(i)0 2009 y FH(o)o(v)o(er)f(and)i(o)o(v)
o(er.)73 2111 y(In)g(the)g(randomized)h(case,)f(it)h(is)g(also)h(useful)f(to)
g(talk)g(ab)q(out)h(the)e(running)h(time)g(of)f Fx(A)26 b FH(with)18
b(high)0 2183 y(probabilit)o(y)k(or)d(the)h(running)g(time)g(of)g
Fx(A)27 b FH(that)20 b(o)q(ccurs)g(almost)h(surely)l(.)31 b(Let)19
b FB(T)7 b FH(\()p FB(n)p FH(\))19 b(b)q(e)h(a)g(b)q(ound)h(on)0
2255 y(the)h(running)i(time)f(of)g Fx(A)30 b FH(on)23 b(inputs)h(of)f(size)g
FB(n)p FH(.)40 b(The)23 b(running)h(time)e(of)h Fx(A)31 b FH(is)23
b(said)h(to)f(b)q(e)g FB(T)7 b FH(\()p FB(n)p FH(\))0 2328
y FF(with)21 b(high)f(pr)n(ob)n(ability)f FH(if)g Fx(A)28 b
FH(terminates)19 b(in)h(time)f FB(T)7 b FH(\()p FB(n)p FH(\))19
b(with)h(probabilit)o(y)i(at)d(least)h(1)14 b Fx(\000)f FH(1)p
FB(=n)p FH(.)31 b(The)0 2400 y(running)24 b(time)f(of)g Fx(A)31
b FH(is)23 b(said)i(to)e(b)q(e)g FF(almost)g(sur)n(ely)g FB(T)7
b FH(\()p FB(n)p FH(\))22 b(if)h(the)g(algorithm)i(terminates)e(in)g(time)0
2472 y FB(T)7 b FH(\()p FB(n)p FH(\))18 b(with)h(probabilit)o(y)h(at)f(least)
g(1)13 b Fx(\000)f FH(1)p FB(=)p FH(2)823 2454 y Fw(n)844 2442
y Fv(c)864 2472 y FH(,)18 b(for)g(some)h(constan)o(t)f FB(c)g(>)f
FH(0.)28 b(In)17 b(this)j(surv)o(ey)l(,)d(w)o(e)h(ha)o(v)o(e)0
2544 y(opted,)h(whenev)o(er)e(p)q(ossible,)k(to)d(giv)o(e)h(the)f(exact)g
(expression)h(for)g(the)f(termination)h(probabilit)o(y)i(of)e(a)0
2617 y(randomized)e(algorithm)i(instead)e(of)g(using)h(qualitativ)o(e)g
(terms)e(suc)o(h)h(as)g(\\with)h(high)g(probabilit)o(y")h(or)0
2689 y(\\almost)f(surely)l(.")963 2828 y(6)p eop
bop 73 195 a FH(These)14 b(p)q(erformance)h(criteria)g(can)f(b)q(e)h(applied)
h(to)f(distributed)g(algorithms)i(as)e(w)o(ell.)21 b(In)14
b(this)h(case,)0 267 y(the)20 b(quan)o(tities)g(of)g(in)o(terest)g(include)g
FF(c)n(ommunic)n(ation)h(c)n(omplexity)t FH(,)h(the)d(total)i(n)o(um)o(b)q
(er)e(and)i(size)f(of)0 340 y(messages)f(transmitted)g(during)h(the)e
(execution)h(of)g(a)g(distributed)h(algorithm;)h FF(queueing)h(delay)t
FH(,)d(the)0 412 y(total)h(time)f(sp)q(en)o(t)h(b)o(y)e(messages)i(in)g
(message)f(queues)g(w)o(aiting)i(to)e(tra)o(v)o(erse)f(in-use)i(comm)o
(unication)0 484 y(links;)d(and)g(the)f(total)h(n)o(um)o(b)q(er)f(of)g
(accesses)g(to)h(shared)g(v)m(ariables/resources.)0 696 y Fu(1.1)70
b(Probabilistic)24 b(T)-6 b(ec)n(hniques)0 830 y FH(W)l(e)16
b(no)o(w)g(discuss)h(a)g(n)o(um)o(b)q(er)e(of)h(fundamen)o(tal)h(tec)o
(hniques)e(used)i(b)o(y)e(designers)i(of)f(randomized)h(algo-)0
902 y(rithms.)k(This)15 b(list)h(is)f(not)f(mean)o(t)g(to)g(b)q(e)h
(exhaustiv)o(e,)e(and)i(the)f(tec)o(hniques)g(considered)g(o)o(v)o(erlap)g
(in)h(the)0 975 y(sense)h(that)h(more)f(than)h(one)f(ma)o(y)g(apply)h(to)f(a)
h(giv)o(en)f(randomized)h(algorithm.)0 1179 y FC(Input)c(Randomization)p
FH(|Consider)g(an)e(algorithm)i Fx(A)19 b FH(with)12 b(input)g
FB(I)i FH(and)e(output)f FB(O)q FH(.)20 b(As)11 b(discussed)0
1251 y(ab)q(o)o(v)o(e,)23 b(if)g(w)o(e)f(\014x)g(the)g(size)g(of)g
FB(I)t FH(,)h(then)f(the)g FF(aver)n(age)h FH(running)g(time)g(of)f
Fx(A)30 b FH(refers)22 b(to)h(the)e(a)o(v)o(erage)0 1324 y(time)e(tak)o(en)h
(b)o(y)f(the)g(algorithm)j(when)d(eac)o(h)g(p)q(ossible)j(instance)e(of)g
FB(I)j FH(is)e(considered)f(equally)g(lik)o(ely)l(.)0 1396
y(That)e(is,)g(a)f(uniform)h(distribution)i(on)e(inputs)g(is)g(assumed.)25
b(Ho)o(w)o(ev)o(er,)15 b(this)j(ma)o(y)f(not)h(b)q(e)f(the)g(actual)0
1468 y(input)i(distribution)i(to)e(whic)o(h)g(the)f(algorithm)j(is)e(exp)q
(osed,)g(making)h(the)e(a)o(v)o(erage)g(time)g(complexit)o(y)0
1540 y(misleading.)26 b(On)17 b(the)g(other)g(hand,)g(the)g
FF(exp)n(e)n(cte)n(d)h FH(running)g(time)f(of)g Fx(A)25 b FH(on)18
b(instance)g FB(i)e FH(of)i FB(I)i FH(refers)d(to)0 1612 y(the)f(mean)g(time)
g(that)h(the)f(algorithm)i(w)o(ould)f(tak)o(e)f(to)h(solv)o(e)f(instance)h
FB(i)f FH(o)o(v)o(er)f(and)i(o)o(v)o(er.)73 1715 y FF(Input)22
b(r)n(andomization)t FH(,)d(i.e.,)h(rearranging)i(or)e(p)q(erm)o(uting)h(the)
f(input)h(to)f(rid)h(it)f(of)h(an)o(y)f(existing)0 1787 y(patterns,)14
b(ensures)g(that)g(for)g FF(al)r(l)h FH(inputs,)g(the)f(exp)q(ected)e
(running)j(time)f(matc)o(hes)f(the)g(a)o(v)o(erage)h(running)0
1859 y(time.)25 b(This)19 b(tec)o(hnique)e(can)g(b)q(e)h(e\013ectiv)o(e)f(on)
h(problems)g(that)g(ha)o(v)o(e)f(algorithms)j(with)e(go)q(o)q(d)h(a)o(v)o
(erage)0 1931 y(running)f(time)e(but)g(p)q(o)q(or)i(w)o(orst-case)f(running)g
(time)f(due)h(to)f(some)g(unfa)o(v)o(orable)h(input)g(patterns.)73
2034 y(A)23 b(w)o(ell-kno)o(wn)i(example)f(of)g(this)g(tec)o(hnique)f(is)i
FF(r)n(andomize)n(d)e(quicksort)i FH([Kn)o(u73].)43 b(Quic)o(ksort)0
2106 y(p)q(erforms)19 b(v)o(ery)f(w)o(ell)h(if)h(the)e(list)j(of)e(n)o(um)o
(b)q(ers)f(to)i(b)q(e)f(sorted)g(has)g(a)h(random)f(order)g(to)h(it.)29
b(Ho)o(w)o(ev)o(er,)0 2178 y(quic)o(ksort)14 b(degenerates)g(to)h(a)f
(comparison)i(of)e(ev)o(ery)e(n)o(um)o(b)q(er)i(with)h(ev)o(ery)d(other)i(n)o
(um)o(b)q(er)g(if)g(the)g(input)0 2250 y(is)i(already)f(nearly)g(sorted.)21
b(One)15 b(can)g(think)g(of)g(randomized)h(quic)o(ksort)f(as)g(a)g(t)o(w)o(o)
g(step)g(pro)q(cedure.)20 b(In)0 2323 y(the)e(\014rst)h(step,)f(the)g(input)h
(sequence)e(to)i(b)q(e)f(sorted)h(is)g(randomly)g(p)q(erm)o(uted.)26
b(The)18 b(usual)i(quic)o(ksort)0 2395 y(algorithm)e(is)e(then)f(applied)i
(to)f(the)g(resulting)h(sequence.)j(Although)c(the)g(input)g(randomization)i
(step)0 2467 y(can)h(b)q(e)f(p)q(erformed)g(in)i(linear)f(time,)g(in)g
(practice,)f(it)h(is)g(usually)i(more)d(e\016cien)o(t)f(to)i(simply)g(pic)o
(k)f(the)0 2539 y(piv)o(ot)f(elemen)o(t)e(randomly)l(.)22 b(Our)16
b(so)q(c)o(k)g(selection)h(problem)g(\()p FF(So)n(ckSel)5 b
FH(\))18 b(is)f(another)g(illustration)j(of)c(the)0 2611 y(p)q(o)o(w)o(er)g
(of)h(input)g(randomization.)963 2828 y(7)p eop
bop 73 195 a FH(An)14 b(in)o(teresting)g(application)i(of)e(input)h
(randomization)h(is)e(seen)g(in)g(some)g FF(pr)n(ob)n(abilistic)h(inter)n
(active)0 267 y(pr)n(o)n(of-systems)p FH(.)k(Here)12 b(a)h
FF(pr)n(over)5 b FH(,)13 b(whic)o(h)h(supp)q(osedly)g(can)g(solv)o(e)f(a)h
(hard)f(problem,)h(tries)f(to)h(con)o(vince)f(a)0 340 y(sk)o(eptical)j
FF(veri\014er)21 b FH(of)15 b(its)h(pro)o(w)o(ess.)21 b(F)l(or)15
b(some)h(problems,)f(the)g(v)o(eri\014er's)f(task)i(essen)o(tially)g
(consists)h(of)0 412 y(randomizing)h(the)e(input)h(to)g(the)f(pro)o(v)o(er.)
21 b(This)c(constitutes)g(an)g(attempt)f(b)o(y)g(the)g(v)o(eri\014er)g(to)g
FF(c)n(onfuse)0 484 y FH(the)g(pro)o(v)o(er)g(ab)q(out)i(the)f(sp)q(eci\014c)
g(problem)g(instance)g(it)g(is)h(b)q(eing)g(ask)o(ed)e(to)h(w)o(ork)g(on.)23
b(In)16 b(Section)h(2.6,)0 556 y(w)o(e)k(will)i(see)e(this)h(use)g(of)f
(input)h(randomization)i(in)e(action)g(for)g(v)o(erifying)f(the)h
(correctness)e(of)i(an)o(y)0 628 y(program)g(that)f(purp)q(ortedly)h(solv)o
(es)g(the)e(graph)i(isomorphism)h(problem.)36 b(The)21 b(pro)q(of)h(system)e
(will)0 701 y(ha)o(v)o(e)h(the)h(additional)j(feature)d(that)h(the)f(pro)o(v)
o(er)f(can)h(con)o(vince)g(the)g(v)o(eri\014er)g(of)g(its)h(isomorphism-)0
773 y(c)o(hec)o(king)14 b(pro)o(w)o(ess)h(without)h(the)e(v)o(eri\014er)g(ha)
o(ving)i(to)f(solv)o(e)g(the)f(graph)i(isomorphism)h(problem)e(in)g(an)o(y)0
845 y(sense.)73 947 y(Input)k(randomization)i(is)e(not)g(restricted)g(to)g
(sequen)o(tial)g(algorithms.)30 b(Some)19 b(randomized)g(mes-)0
1020 y(sage)24 b(routing)h(algorithms,)i(e.g.,)d(V)l(alian)o(t's)g(algorithm)
h(for)f(h)o(yp)q(ercub)q(es)f([V)l(al82)q(])g(and)h(Aleluinas's)0
1092 y(algorithm)19 b(for)f FB(b)p FH(-w)o(a)o(y)f(sh)o(u\017e)g(net)o(w)o
(orks)g([Ale82],)f(exhibit)i(what)g(ma)o(y)f(b)q(e)h(termed)e
FF(distribute)n(d)i(input)0 1164 y(r)n(andomization)t FH(.)36
b(In)22 b(the)f(message)h(routing)h(problem,)g(a)f(set)f(of)h(messages)g(m)o
(ust)g(b)q(e)f(routed)h(from)0 1236 y(source)d(no)q(des)g(to)g(destination)h
(no)q(des)g(in)f(a)g(net)o(w)o(ork)e(of)i(computers.)28 b(Moreo)o(v)o(er,)17
b(the)h(routing)i(m)o(ust)0 1309 y(b)q(e)h(done)g(in)g(a)g(distributed)h
(manner,)g(i.e.,)e(without)i(the)f(help)g(of)g(a)g(cen)o(tral)g(arbiter.)35
b(In)21 b(the)f(algo-)0 1381 y(rithms)d(of)g([V)l(al82)q(,)f(Ale82)q(],)f
(eac)o(h)h(message)h(is)h(\014rst)f(sen)o(t)f(to)h(a)g(randomly)g(c)o(hosen)g
(in)o(termediate)f(no)q(de)0 1453 y(b)q(efore)j(b)q(eing)h(transmitted)g(to)f
(its)h(\014nal)h(destination.)31 b(This)20 b(randomization)i(step)d
(eliminates)h(\\hot)0 1525 y(p)q(oin)o(ts")f(b)o(y)e(distributing)k(the)c
(tra\016c)g(uniformly)i(o)o(v)o(er)e(the)g(net)o(w)o(ork.)25
b(That)18 b(is,)g(it)g(rids)h(the)e(input)i(of)0 1597 y(an)o(y)c(patterns)g
(that)g(ma)o(y)f(exist)h(b)q(et)o(w)o(een)f(source)h(no)q(des)h(and)f
(destination)i(no)q(des.)22 b(In)14 b(Section)h(3.4,)g(w)o(e)0
1670 y(describ)q(e)i(the)g(message)g(routing)h(algorithms)h(of)e(V)l(alian)o
(t)h(and)g(Aleluinas)g(as)g(w)o(ell)f(as)g(a)h(tec)o(hnique)e(for)0
1742 y(m)o(ulti-butter\015y)h(net)o(w)o(orks)e(based)i(on)g(randomizing)h
(the)e(in)o(terconnections)h(b)q(et)o(w)o(een)e(no)q(des.)0
1946 y FC(Random)j(Searc)n(h)p FH(|Random)e(searc)o(h)g(is)g(one)g(of)g(the)g
(most)g(widely)g(used)g(probabilisti)q(c)i(tec)o(hniques.)0
2019 y(Man)o(y)i(problems)i(naturally)g(in)o(v)o(olv)o(e)e(searc)o(hing)i(a)f
(large)h(space)e(for)h(an)g(elemen)o(t)f(ha)o(ving)i(a)f(desired)0
2091 y(prop)q(ert)o(y)l(.)35 b(If)20 b(the)h(prop)q(ert)o(y)g(in)g(question)h
(is)g(easily)g(v)o(eri\014ed)e(and)h(the)g(elemen)o(ts)f(p)q(ossessing)k(it)d
(are)0 2163 y(abundan)o(t,)c(random)g(searc)o(h)e(can)i(b)q(e)f(v)o(ery)f
(e\013ectiv)o(e.)73 2265 y(Consider,)i(for)g(example,)e(the)h(problem)h(of)g
(v)o(erifying)f(the)g(p)q(olynomial)j(iden)o(tit)o(y)721 2376
y FB(f)5 b FH(\()p FB(X)809 2383 y FI(1)829 2376 y FB(;)j(X)891
2383 y FI(2)911 2376 y FB(;)g FH(.)g(.)g(.)g FB(;)g(X)1061
2383 y Fw(n)1085 2376 y FH(\))24 b(=)h(0)p FB(:)0 2487 y FH(If)15
b FB(f)20 b FH(is)c(iden)o(tically)g(zero,)f(then)g(for)g(all)h(assignmen)o
(ts)h(of)e(the)g FB(X)1186 2494 y Fw(i)1200 2487 y FH('s)g(it)h(will)h(ev)m
(aluate)e(to)h(zero.)k(Ho)o(w)o(ev)o(er,)0 2559 y(if)i FB(f)27
b FH(is)22 b(non-zero,)h(then)e(it)h(can)f(b)q(e)h(sho)o(wn)g(that)g(for)g
(an)o(y)f(suitably)i(constructed)e(set)h(of)f(inputs,)j FB(f)0
2631 y FH(will)e(p)q(ossess)g(only)f(a)g(b)q(ounded)g(n)o(um)o(b)q(er)f(of)h
(zeros.)33 b(In)20 b(particular,)j(if)e FB(S)i FH(is)e(a)g(set)f(with)h(more)
f(than)0 2704 y FB(c)9 b Fx(\001)f FB(deg)r FH(\()p FB(f)d
FH(\))15 b(elemen)o(ts)f(from)h(the)g(\014eld)h(generated)e(b)o(y)h(the)g(co)
q(e\016cien)o(ts)f(of)i FB(f)5 b FH(,)15 b(then)g FB(f)20 b
FH(can)15 b(ha)o(v)o(e)f(at)i(most)963 2828 y(8)p eop
bop 5 178 a Ft(j)p Fw(S)r Ft(j)48 167 y Fv(n)p 5 190 65 2 v
29 219 a Fw(c)89 202 y FH(zeros)14 b(in)i FB(S)298 184 y Fw(n)321
202 y FH(,)f(for)g(some)f(constan)o(t)h FB(c)g FH([Sc)o(h79].)20
b(Th)o(us)15 b(ev)o(ery)e(trial)j(ev)m(aluation)h(of)e FB(f)20
b FH(on)15 b(a)g(randomly)0 274 y(pic)o(k)o(ed)g(elemen)o(t)g(of)h
FB(S)418 256 y Fw(n)457 274 y FH(will)i(either)d(pro)o(v)o(e)g(the)h(falsit)o
(y)h(of)f(the)f(iden)o(tit)o(y)l(,)h(or)g(yield)g(credence)f(to)h(it)g(with)0
346 y(1)p FB(=c)22 b FH(as)f(the)g(probabilit)o(y)i(of)e(b)q(eing)h(wrong.)36
b(In)21 b FB(k)i FH(trials,)g(therefore,)e(one)g(can)g(either)g(dispro)o(v)o
(e)g(the)0 418 y(iden)o(tit)o(y)g(or)h(come)e(to)i(b)q(eliev)o(e)f(it)h(to)f
(b)q(e)h(true)f(with)h(error)f(probabilit)o(y)i(less)f(than)g(1)p
FB(=c)1685 400 y Fw(k)1707 418 y FH(,)g(a)g(n)o(um)o(b)q(er)0
491 y(that)f(can)g(b)q(e)h(easily)g(made)e(smaller)i(than)g(the)e(probabilit)
o(y)j(of)f(a)f(stra)o(y)g FB(\013)p FH(-particle)h(disrupting)h(the)0
563 y(computation.)40 b(Randomized)23 b(algorithms)h(for)f(testing)g(p)q
(olynomial)i(iden)o(tities)e(and)g(prop)q(erties)g(of)0 635
y(systems)16 b(of)h(p)q(olynomials)i(are)d(discussed)h(in)g(detail)h(in)f
([Sc)o(h79)o(,)f(Zip79)q(].)73 737 y(The)f(probabilisti)q(c)i(test)e(for)g(p)
q(olynomial)j(iden)o(tities)e(can)f(also)h(b)q(e)f(used)g(for)h(determining)f
(whether)0 810 y(a)g(giv)o(en)f(undirected)g(graph)h FB(G)p
FH(\()p FB(V)s(;)8 b(E)s FH(\))15 b(has)g(a)f FF(p)n(erfe)n(ct)h(matching)t
FH(,)h(i.e.,)d(a)i(set)f(of)h(edges)f(that)g(co)o(v)o(ers)g(eac)o(h)0
882 y(v)o(ertex)f(exactly)h(once.)20 b(T)l(o)15 b(see)f(this,)i(let)e
FB(V)25 b FH(=)14 b Fx(f)p FH(1)p FB(;)8 b FH(2)p FB(;)g FH(.)g(.)g(.)g
FB(n)p Fx(g)14 b FH(b)q(e)h(the)f(v)o(ertex)f(set)h(and)h(asso)q(ciate)h(v)m
(ariable)0 954 y FB(x)28 961 y Fw(ij)78 954 y FH(with)22 b(edge)e
FB(e)332 961 y Fw(ij)383 954 y Fx(2)h FB(E)s FH(.)34 b(De\014ne)20
b(the)g FB(n)14 b Fx(\002)g FB(n)20 b FH(matrix)h FB(B)i FH(=)e([)p
FB(b)1229 961 y Fw(ij)1259 954 y FH(])f(as)h(follo)o(ws.)35
b(If)20 b(there)g(is)h(no)g(edge)0 1026 y(b)q(et)o(w)o(een)d(v)o(ertex)g
FB(i)h FH(and)h(v)o(ertex)e FB(j)k FH(them)d FB(b)818 1033
y Fw(ij)867 1026 y FH(=)g(0.)31 b(Otherwise,)20 b FB(b)1262
1033 y Fw(ij)1311 1026 y FH(=)f FB(x)1396 1033 y Fw(ij)1445
1026 y FH(if)h FB(i)f(>)g(j)j FH(and)e FB(b)1747 1033 y Fw(ij)1796
1026 y FH(=)f Fx(\000)p FB(x)1920 1033 y Fw(ij)0 1098 y FH(if)h
FB(i)e(<)h(j)s FH(.)30 b(T)l(utte)20 b([T)l(ut47])f(pro)o(v)o(ed)f(that)i
FB(G)g FH(has)g(a)f(p)q(erfect)g(matc)o(hing)h(if)f(and)h(only)g(if)g(det\()p
FB(B)s FH(\))f(is)h(not)0 1171 y(iden)o(tically)j(equal)g(to)f(zero.)37
b(It)22 b(w)o(as)g(\014rst)g(observ)o(ed)g(b)o(y)f(L\023)-24
b(ov\023)g(asz)23 b([Lo)o(v79])f(that)g(since)g(det\()p FB(B)s
FH(\))f(is)i(a)0 1243 y(p)q(olynomial)d(in)e(the)g FB(x)425
1250 y Fw(ij)455 1243 y FH('s,)f(one)h(can)f(test)h(for)f(the)h(v)m(alidit)o
(y)h(of)e(the)h(p)q(olynomial)i(iden)o(tit)o(y)d(det\()p FB(B)s
FH(\))f(=)g(0)0 1315 y(using)h(the)d(probabilisti)q(c)k(tec)o(hnique)c
(describ)q(ed)i(ab)q(o)o(v)o(e.)21 b(L\023)-24 b(ov\023)g(asz,)15
b(in)h(the)f(same)g(pap)q(er,)h(also)g(describ)q(es)0 1387
y(a)h(probabilistic)i(metho)q(d)e(for)f(determining)h(the)f(actual)h(p)q
(erfect)f(matc)o(hing,)g(if)h(one)f(exists.)73 1490 y(More)k(e\016cien)o(t)g
(sequen)o(tial)h(metho)q(ds)g(for)f(computing)i(the)e(p)q(erfect)g(matc)o
(hing,)h(though)h(consid-)0 1562 y(erably)e(more)g(complicated,)h(ha)o(v)o(e)
e(b)q(een)h(describ)q(ed)g(in)h(the)e(literature.)33 b(The)20
b(b)q(eaut)o(y)g(of)g(the)g(ab)q(o)o(v)o(e)0 1634 y(sc)o(heme)f(is)j(its)f
(simplicit)o(y)l(.)36 b(In)20 b(addition,)j(it)e(can)g(b)q(e)g(e\016cien)o
(tly)f(parallelized:)32 b(the)20 b(parallel)j(imple-)0 1706
y(men)o(tation)c(has)h(the)e(same)h(resource)g(requiremen)o(ts)e(as)j(those)f
(for)g(ev)m(aluating)i(a)e(determinan)o(t,)g(viz.,)0 1779 y
FB(O)q FH(\(log)121 1757 y FI(2)149 1779 y FB(n)p FH(\))i(time)g(using)i
FB(O)q FH(\()p FB(n)553 1760 y FI(3)p Fw(:)p FI(5)601 1779
y FH(\))e(pro)q(cessors)i([KUW86,)d(MVV87].)36 b(This)23 b(is)f(signi\014can)
o(t)h(as)f(p)q(erfect)0 1851 y(matc)o(hing)d(is)h(a)f(fundamen)o(tal)h
(problem)f(that)h(is)f(not)h(kno)o(wn)f(to)g(b)q(e)g(in)h FF(NC)7
b FH(,)18 b(the)h(class)h(of)f(problems)0 1923 y(ha)o(ving)13
b(parallel)i(algorithms)f(that)f(run)f(in)h(p)q(olylog)i(time)d(while)h
(using)h(a)f(p)q(olynomially)i(b)q(ounded)e(n)o(um-)0 1995
y(b)q(er)20 b(of)g(pro)q(cessors.)33 b(The)19 b(randomized)h(parallel)i
(algorithms)g(of)e([KUW86,)f(MVV87])g(do,)i(ho)o(w)o(ev)o(er,)0
2067 y(place)16 b(p)q(erfect)e(matc)o(hing)i(in)f FF(R)n(andom)h(NC)7
b FH(.)15 b(One)g(can)g(also)i(determine)d(the)h(actual)h(p)q(erfect)f(matc)o
(hing)0 2140 y(in)i(parallel;)h(see)e([KUW86,)f(MVV87])h(for)g(details.)73
2242 y(Random)c(searc)o(h)g(has)g(also)h(b)q(een)f(used)g(in)g(algorithms)i
(on)e(\014nite)g(\014elds)h([Rab80b,)f(Ber70].)19 b(It)11 b(can)h(b)q(e)0
2314 y(sho)o(wn)j(\(e.g.,)e(see)g([Ber70]\))g(that)i(one)f(in)h(ab)q(out)g
(ev)o(ery)d FB(n)i FH(p)q(olynomials)j(in)e FB(Z)1435 2321
y Fw(p)1455 2314 y FH([)p FB(x)p FH(])e(\(the)h(\014eld)g(of)g(residues)0
2386 y(\(mo)q(d)23 b FB(p)p FH(\),)h(where)d FB(p)i FH(is)g(prime\))g(is)g
(an)f(irreducible)i(monic)e(p)q(olynomial)j(of)e(degree)f FB(n)p
FH(.)39 b(This)24 b(result)0 2459 y(has)f(b)q(een)f(repro)o(v)o(ed,)g(using)h
(a)g(di\013eren)o(t)f(tec)o(hnique,)h(in)f([Rab80b)q(].)39
b(Th)o(us)22 b(a)h(plausible)h(algorithm)0 2531 y(for)e(\014nding)g(an)g
(irreducible)h(p)q(olynomial)h(is)e(to)g(rep)q(eatedly)f(pic)o(k)g(one)h(at)g
(random)g(and)g(test)f(it)h(for)0 2603 y(irreducibilit)o(y)l(.)32
b(Since)19 b(it)h(tak)o(es)f FB(O)q FH(\()p FB(n)710 2585 y
FI(2)730 2603 y FH(\(log)10 b FB(n)p FH(\))868 2585 y FI(2)896
2603 y FH(log)h(log)f FB(n)e FH(log)j FB(p)p FH(\))19 b(steps)h(to)f(test)g
(for)h(irreducibilit)o(y)l(,)h(one)0 2675 y(can)d(\014nd)h(an)f(irreducible)h
(p)q(olynomial)i(in)e(a)g(reasonable)g(amoun)o(t)g(of)f(time.)27
b(Algorithms)19 b(for)g(\014nding)963 2828 y(9)p eop
bop 0 195 a FH(ro)q(ots)18 b(and)e(irreducible)i(factors)e(based)h(on)g
(random)g(searc)o(h)f(are)g(also)i(giv)o(en)e(in)h([Rab80b)q(].)73
297 y(There)22 b(is)h(a)g(long)h(history)f(in)h(n)o(um)o(b)q(er)d(theory)h
(of)h(using)h(random)f(searc)o(h.)39 b(F)l(or)23 b(example,)g(the)0
370 y(result)c(that)h(1)f(out)g(of)g FB(n)g FH(p)q(olynomials)j(of)d(degree)f
FB(n)h FH(o)o(v)o(er)f(a)h(\014nite)g(\014eld)h(is)f(irreducible,)h(used)f
(ab)q(o)o(v)o(e)0 442 y(to)i(deriv)o(e)f(a)h(randomized)h(algorithm)h(for)e
(\014nding)h(an)f(irreducible)h(p)q(olynomial,)i(w)o(as)d(published)h(in)0
514 y(1856)c(b)o(y)e(Ric)o(hard)h(Dedekind)g([J.)f(Reine)h(Angew.)22
b(Math.].)g(Evidence)17 b(exists)g(that)g(Gauss)h(knew)e(this)0
586 y(result)22 b(for)f(the)g(in)o(tegers)g(\(mo)q(d)h FB(p)p
FH(\).)36 b(Ev)o(en)21 b(earlier,)h(Galois)i(noted)d(that)h(a)f(go)q(o)q(d)i
(w)o(a)o(y)e(to)h(select)f(an)0 658 y(irreducible)h(p)q(olynomial)j(o)o(v)o
(er)20 b(a)i(\014nite)g(\014eld)g(w)o(as)g(b)o(y)f(trial.)39
b(Similarly)l(,)24 b(a)e(pap)q(er)g(b)o(y)f(P)o(o)q(c)o(klington)0
731 y([Pro)q(c.)26 b(Cam)o(bridge)18 b(Phil.)27 b(So)q(c.,)18
b(1917])h(on)f(computing)h(square)f(ro)q(ots)h(mo)q(d)f FB(p)h
FH(giv)o(es)f(an)g(estimate)g(of)0 803 y(the)e(probabilit)o(y)i(that)f(a)g
(random)f(searc)o(h)g(will)j(succeed)c(and)i(tak)o(e)e(no)i(more)f(than)h
(cubic)f(time.)73 905 y(In)i(this)h(surv)o(ey)l(,)f(the)g(algorithms)i(w)o(e)
e(presen)o(t)f(for)i(primalit)o(y)g(testing)g(\()p FF(PrimeT)l(est)5
b FH(\))19 b(and)g(p)q(erfect)0 977 y(hashing)f(\()p FF(PerfHash)t
FH(\))e(also)i(use)e(random)h(searc)o(h.)73 1080 y(An)j(implicit)h
(prerequisite)f(for)g(e\013ectiv)o(e)f(random)i(searc)o(h)e(is)i(the)f
(abilit)o(y)h(to)f(randomly)h(pic)o(k)f(an)0 1152 y(elemen)o(t,)14
b(more)i(or)g(less)g(uniformly)l(,)g(from)g(the)f(space)h(under)g
(consideration;)h(e.g.,)e(the)g(space)h(of)g(\\wit-)0 1224
y(nesses")k(ha)o(ving)h(a)f(certain)g(prop)q(ert)o(y)l(,)g(the)g(space)g(of)g
(spanning)i(trees)d(of)h(a)g(graph,)h(or)f(the)g(space)g(of)0
1296 y(degree-)p FB(n)c FH(p)q(olynomials.)24 b(Determining)17
b(the)f(spaces)h(for)f(whic)o(h)h(this)g(is)g(p)q(ossible)h(is)f(in)g(itself)
g(an)g(in)o(ter-)0 1369 y(esting)h(problem.)24 b(F)l(or)17
b(example,)g(it)h(is)g(not)f(immediately)h(clear)f(ho)o(w)h(one)f(w)o(ould)h
(pic)o(k)f(one)g(spanning)0 1441 y(tree,)22 b(uniformly)h(at)g(random,)g
(from)f(the)g(space)g(of)h(all)g(p)q(ossible)i(spanning)f(trees)d(of)i(a)f
(connected,)0 1513 y(undirected)g(graph.)41 b(This)23 b(particular)h(problem)
f(w)o(as)g(solv)o(ed)f(b)o(y)g(Bro)q(der)h([Bro89])f(who)h(presen)o(ted)0
1585 y(a)g(randomized)g(algorithm)h(with)g(an)f(exp)q(ected)e(running)j(time)
e(of)h FB(O)q FH(\()p FB(n)8 b FH(log)j FB(n)p FH(\))23 b(p)q(er)f(generated)
h(tree)0 1657 y(for)c(almost)i(all)f(graphs.)31 b(In)19 b(the)g(w)o(orst)h
(case,)f(the)g(algorithm)i(requires)e FB(O)q FH(\()p FB(n)1483
1639 y FI(3)1504 1657 y FH(\))g(time)g(p)q(er)g(generated)0
1730 y(tree.)39 b(Babai)24 b([Bab91])e(presen)o(ts)h(a)g(randomized)g
(algorithm)h(that)f(constructs)g(an)g(e\016cien)o(t)f(nearly)0
1802 y(uniform)i(random)g(generator)g(for)f(\014nite)h(groups)g(in)g(a)g(v)o
(ery)e(general)i(setting.)43 b(Other)23 b(in)o(teresting)0
1874 y(w)o(ork)15 b(on)h(the)f(random)h(generation)g(of)g(com)o(binatorial)h
(structures)e(and)h(sample)g(spaces)g(can)f(b)q(e)g(found)0
1946 y(in)i([JVV86)o(,)f(A)o(GHP90].)73 2049 y(Not)d(all)i(algorithms)g
(based)f(on)g(random)g(searc)o(h)f(con)o(tain)h(a)f(v)o(eri\014cation)h
(step.)20 b(If)13 b(the)g(searc)o(h)g(space)0 2121 y(is)j(teeming)f(with)i
(elemen)o(ts)d(p)q(ossessing)k(the)d(desired)h(prop)q(ert)o(y)l(,)f(one)g
(can)h(ev)o(en)e(disp)q(ense)i(with)h(c)o(hec)o(k-)0 2193 y(ing)f(the)f(prop)
q(ert)o(y)l(.)20 b(This)c(is)g(particularly)h(useful)e(if)h(the)f(prop)q(ert)
o(y)f(in)i(question)g(is)f(not)h(easily)g(c)o(hec)o(k)o(ed.)0
2265 y(F)l(or)d(example,)g(the)g(problem)h FF(NetHier)n(ar)n(chy)e
FH(calls)j(for)e(constructing)h(a)g(net)o(w)o(ork)e(\(a)i(complete)e
(directed)0 2338 y(graph\))j(on)g FB(n)g FH(no)q(des)g(that)g(do)q(es)g(not)g
(con)o(tain)g(a)g(hierarc)o(h)o(y)f(on)h(an)o(y)f(subset)h(of)f
FB(m)g FH(no)q(des.)22 b(A)14 b FF(hier)n(ar)n(chy)t FH(,)0
2410 y(also)22 b(kno)o(wn)f(as)g(a)f FF(tr)n(ansitive)i(tournament)f
FH([ES74)q(],)g(is)g(a)g(graph)g(in)g(whic)o(h)g(for)g(all)g(no)q(des)h
FB(x)p FH(,)e FB(y)i FH(and)0 2482 y FB(z)r FH(,)d(if)h(the)f(directed)g
(edges)h(\()p FB(x;)8 b(y)r FH(\))18 b(and)i(\()p FB(y)r(;)8
b(z)r FH(\))18 b(exist)i(then)f(the)g(edge)g(\()p FB(x;)8 b(z)r
FH(\))19 b(also)i(exists.)30 b(W)l(e)19 b(will)i(see)0 2554
y(that)14 b(with)h(high)g(probabilit)o(y)l(,)h FF(any)e FH(randomly)h
(selected)f(net)o(w)o(ork)f(on)i FB(n)f FH(no)q(des)h(will)g(b)q(e)g(dev)o
(oid)f(of)g(large)0 2626 y(hierarc)o(hies)j(as)g(long)g(as)g
FB(m)f FH(is)h(su\016cien)o(tly)f(\\large".)951 2828 y(10)p
eop
bop 0 297 a FC(Con)n(trol)22 b(Randomization)p FH(|Consider)f(a)e(problem)f
(for)h(whic)o(h)f(man)o(y)g(algorithms)j(exist,)d(suc)o(h)g(as)0
370 y(sorting.)34 b(If)19 b(eac)o(h)h(of)g(these)g(algorithms)i(has)f(go)q(o)
q(d)h(exp)q(ected)d(p)q(erformance)h(for)g(some)g(problem)g(in-)0
442 y(stances)15 b(but)f(p)q(o)q(or)i(w)o(orst-case)f(p)q(erformance,)f(it)h
(is)g(v)o(ery)e(risky)i(to)f(use)h(an)o(y)f(single)i(one)e(of)h(them.)20
b(This)0 514 y(is)c(esp)q(ecially)i(true)d(if)h(the)f(input)i(probabilit)o(y)
h(distribution)g(is)e(not)g(kno)o(wn.)21 b(It)16 b(ma)o(y)f(happ)q(en)h(that)
g(the)0 586 y(input)h(is)f(biased)h(in)g(suc)o(h)e(a)h(w)o(a)o(y)g(that)g(it)
h(fa)o(v)o(ors)e(the)h(bad)g(cases.)22 b(In)15 b(suc)o(h)h(a)g(situation,)i
(go)q(o)q(d)f(a)o(v)o(erage)0 658 y(p)q(erformance,)23 b(whic)o(h)f(is)h(t)o
(ypically)g(computed)e(assuming)j(uniform)f(input)f(distribution,)k(do)q(es)d
(not)0 731 y(guaran)o(tee)18 b(m)o(uc)o(h.)23 b(A)16 b(w)o(a)o(y)h(around)i
(this)f(problem)f(is)i(to)e(randomly)h(pic)o(k)f(one)h(of)f(the)g(algorithms)
j(for)0 803 y(eac)o(h)14 b(input)h(instance.)21 b(This)15 b(strategy)g
(assumes,)f(of)h(course,)f(that)g(there)g(is)h(no)g(signi\014can)o(t)g
(correlation)0 875 y(among)i(the)f(algorithms)j(on)d(what)h(constitutes)g
(the)f(bad)h(inputs.)73 977 y(The)c(randomized)g(string)g(matc)o(hing)g
(algorithm)i(of)e(Karp)g(and)g(Rabin)g([KR87])f(exempli\014es)h(the)f(use)0
1050 y(of)k(con)o(trol)h(randomization.)23 b(Here)15 b(the)g(problem)h(is)h
(to)f(determine)f(if)h(a)h(giv)o(en)f(pattern)g(of)g FB(m)f
FH(sym)o(b)q(ols)0 1122 y(o)q(ccurs)d(in)f(a)h(text)e(of)i(length)g
FB(n)p FH(.)19 b(A)11 b(naiv)o(e)g(algorithm)i(w)o(ould)f(compare)f(the)g
(pattern)g(to)h(the)f(substrings)i(at)0 1194 y(all)i(p)q(ossible)h(text)e(lo)
q(cations)i(resulting)g(in)e FB(O)q FH(\()p FB(nm)p FH(\))g(time)g(complexit)
o(y)l(.)20 b(Karp)14 b(and)h(Rabin)g(do)f(b)q(etter)g(b)o(y)0
1266 y(using)j(a)e FF(\014ngerprinting)k(function)d FH(that)g(asso)q(ciates)h
(an)f(in)o(teger)f(with)h(a)g(text)e(string)j(using)g(arithmetic)0
1339 y(calculations)j(mo)q(dulo)f(a)f(giv)o(en)f(prime)h(n)o(um)o(b)q(er.)24
b(They)17 b(need)g(only)h(compare)f(the)h(\014ngerprin)o(t)g(of)f(the)0
1411 y(pattern)h(to)f(the)g(\014ngerprin)o(ts)h(of)g(all)h(p)q(ossible)g
(text)e(lo)q(cations.)27 b(Con)o(trol)19 b(randomization)g(comes)e(in)o(to)0
1483 y(pla)o(y)f(as)g(the)f(\014ngerprin)o(ting)i(function,)f(actually)h(the)
e(prime)g(n)o(um)o(b)q(er)g(underlying)h(the)f(\014ngerprin)o(ting)0
1555 y(function,)i(is)g(c)o(hosen)f(at)g(random.)73 1657 y(Although)21
b(the)e(w)o(orst)g(case)h(running)g(time)f(of)h(their)f(algorithm)j(is)e
FB(O)q FH(\(\()p FB(n)14 b Fx(\000)e FB(m)h FH(+)g(1\))p FB(m)p
FH(\),)20 b(lik)o(e)f(the)0 1730 y(naiv)o(e)d(algorithm,)i(in)e(practice)g
(one)g(can)h(exp)q(ect)e(it)h(to)h(run)f(in)h(time)e FB(O)q
FH(\()p FB(n)d FH(+)e FB(m)p FH(\).)1522 1712 y FI(3)1563 1730
y FH(There)15 b(is,)i(ho)o(w)o(ev)o(er,)0 1802 y(a)22 b(small)h(probabilit)o
(y)h(\()458 1782 y FI(1)p 458 1790 18 2 v 458 1819 a Fw(q)480
1802 y FH(,)f(where)e FB(q)i FH(is)f(the)g(prime)f(n)o(um)o(b)q(er)g(used)h
(in)g(the)f(\014ngerprin)o(ting)i(function\))0 1874 y(that)18
b(the)f(algorithm)j(detects)d(a)g(false)i(or)f FF(spurious)f
FH(matc)o(h.)24 b(As)18 b(a)f(result,)h(the)g(algorithm)h(incurs)f(the)0
1946 y(additional)h(o)o(v)o(erhead)d(needed)f(to)i(c)o(hec)o(k)e(that)h
(detected)f(matc)o(hes)h(are)g(actually)i(v)m(alid.)73 2049
y(It)k(is)h(w)o(orth)g(noting)g(that)g(a)g(comp)q(etitiv)o(e)f(alternativ)o
(e)h(to)f(the)g(Karp-Rabin)i(algorithm)g(is)f(the)0 2121 y
FF(deterministic)e FH(Kn)o(uth-Morris-Pratt)g(algorithm)h([KMP77])d(whic)o(h)
h(runs)g(in)h(time)e FB(O)q FH(\()p FB(n)14 b FH(+)g FB(m)p
FH(\).)31 b(The)0 2193 y(main)18 b(no)o(v)o(el)g(idea)g(b)q(ehind)h(this)g
(algorithm)g(is)g(the)e(calculation)j(of)e(the)g FF(pr)n(e\014x)h(function)t
FH(,)g(whic)o(h)f(for)g(a)0 2265 y(giv)o(en)c(pattern)h(encapsulates)g(kno)o
(wledge)g(ab)q(out)g(ho)o(w)g(the)f(pattern)g(matc)o(hes)g(against)i(shifts)f
(of)g(itself.)73 2368 y(As)f(w)o(e)f(will)j(see,)d(the)h(problem)g(of)g(univ)
o(ersal)h(hashing)h(\()p FF(UnivHash)t FH(\))e(also)h(admits)g(a)f(solution)j
(based)0 2440 y(on)g(con)o(trol)g(randomization.)p 0 2474 780
2 v 56 2504 a FE(3)75 2519 y FD(The)11 b(w)o(orst)h(case)g(b)q(eha)o(vior)g
(manifests)h(itself)g(in)e(the)h(presence)i(of)d Fs(O)q FD(\()p
Fs(n)p FD(\))g(o)q(ccurrences)k(of)10 b(the)i(pattern)g(in)g(the)g(text.)18
b(A)0 2594 y(more)13 b(realistic,)i(constan)o(t)f(n)o(um)o(b)q(er)f(of)f(o)q
(ccurrences)k(of)c(the)i(pattern)f(within)h(the)g(text)f(leads)h(to)f(the)g
Fs(O)q FD(\()p Fs(n)7 b FD(+)h Fs(m)p FD(\))13 b(running)0
2669 y(time)i(cited)g(ab)q(o)o(v)o(e.)951 2828 y FH(11)p eop
bop 0 297 a FC(Random)21 b(Sampling)p FH(|Sometimes)e(it)g(is)g(p)q(ossible)h
(to)f(ascertain,)g(with)g(high)g(probabilit)o(y)l(,)i(certain)0
370 y(prop)q(erties)e(of)f(a)g(set)g FB(S)i FH(from)e(a)g(randomly)h(c)o
(hosen)e(subset)h(of)h FB(S)s FH(.)25 b(This)19 b(tec)o(hnique)e(is)i
(usually)g(called)0 442 y(\\random)12 b(sampling.")22 b(As)12
b(a)g(simple)g(example,)g(consider)g(a)g(set)f FB(S)j FH(of)e
FB(n)g FH(real)g(n)o(um)o(b)q(ers,)f(and)h(a)g(randomly)0 514
y(c)o(hosen)i(subset)g FB(R)h FH(of)f FB(S)j FH(of)d(size)h
FB(r)g FH([CS89)q(].)20 b FB(R)14 b FH(con)o(tains)h(a)g(lot)g(of)f
(information)i(ab)q(out)f FB(S)s FH(.)21 b(F)l(or)14 b(example,)0
586 y(if)21 b(w)o(e)g(let)g FB(S)231 593 y Fw(>)282 586 y FH(b)q(e)g(the)f
(subset)i(of)f(n)o(um)o(b)q(ers)f(in)i FB(S)i FH(that)d(are)g(greater)g(than)
h(the)e(maxim)o(um)h(v)m(alue)g(in)0 658 y FB(R)p FH(,)h(then)f(the)g(exp)q
(ected)f(size)h(of)h FB(S)674 665 y Fw(>)724 658 y FH(is)g
FB(O)q FH(\()p FB(n=r)q FH(\).)37 b(Th)o(us)21 b(the)g(size)g(of)h
FB(S)1386 665 y Fw(>)1436 658 y FH(diminishes)h(as)f(more)e(and)0
731 y(more)c(v)m(alues)g(from)g FB(S)j FH(are)d(sampled.)22
b(Similarly)l(,)17 b(the)f(exp)q(ected)e(size)i(of)h(the)e(corresp)q(onding)j
(set)e FB(S)1872 738 y Fw(<)1917 731 y FH(is)0 803 y FB(O)q
FH(\()p FB(n=r)q FH(\).)73 905 y(As)e(another)g(example)g(of)g(random)g
(sampling,)i(consider)f(the)e(problem)i(of)f(n)o(umerically)g(computing)0
977 y(the)i(in)o(tegral)815 1060 y FB(I)h FH(=)906 1001 y Fr(Z)948
1014 y Fw(b)929 1095 y(a)973 1060 y FB(f)5 b FH(\()p FB(x)p
FH(\))p FB(dx;)0 1161 y FH(using)20 b FF(Monte)g(Carlo)f(inte)n(gr)n(ation)g
FH(\(not)g(to)g(b)q(e)g(confused)g(with)g(Mon)o(te)f(Carlo)i(algorithms)h
(discussed)0 1233 y(in)16 b(Section)h(1.2\).)k(Assuming)c(that)f
FB(f)5 b FH(\()p FB(x)p FH(\))15 b(is)i(b)q(ounded)g(b)o(y)e
FB(c)p FH(,)g(for)h FB(a)e Fx(\024)f FB(x)h Fx(\024)f FB(b)p
FH(,)j(this)g(is)h(accomplished)g(b)o(y)0 1306 y(\014rst)g(randomly)g(c)o(ho)
q(osing)h(a)e(set)h(of)f(p)q(oin)o(ts)i(that)e(lie)h(within)h(the)e
(rectangle)h(\012)f(giv)o(en)h(b)o(y)602 1421 y(\012)d(=)g
Fx(f)p FH(\()p FB(x;)8 b(y)r FH(\))i Fx(j)h FB(a)i Fx(\024)h
FB(x)f Fx(\024)h FB(b;)8 b FH(0)14 b Fx(\024)f FB(y)j Fx(\024)d
FB(c)p Fx(g)p FB(;)0 1537 y FH(Next,)19 b(assuming)i(that)e(our)h(random)g
(sample)g(con)o(tains)h FB(N)j FH(p)q(oin)o(ts,)d(determine)e(the)g(n)o(um)o
(b)q(er)g FB(N)1858 1544 y Fw(H)1911 1537 y FH(of)0 1609 y(these)13
b(p)q(oin)o(ts)i(\(the)f(\\hit)g(p)q(oin)o(ts"\))i(that)e(lie)g(b)q(eneath)g
(the)f(curv)o(e.)20 b(Then)13 b(the)h(desired)g(in)o(tegral)h
FB(I)t FH(,)e(whic)o(h)0 1681 y(is)k(equal)g(to)f(the)g(area)h(under)f(the)g
(curv)o(e)f(within)j(the)e(b)q(ounding)i(rectangle)f(\012,)f(is)h(appro)o
(ximated)g(b)o(y)784 1806 y FB(I)31 b Fx(\031)d FB(c)p FH(\()p
FB(b)10 b Fx(\000)h FB(a)p FH(\))1075 1772 y FB(N)1114 1779
y Fw(H)p 1075 1794 73 2 v 1089 1840 a FB(N)1152 1806 y(;)0
1921 y FH(i.e.,)h(the)g(fraction)h(of)f(hit)h(p)q(oin)o(ts)g(in)g(our)f
(random)h(sample)g(m)o(ultiplied)g(b)o(y)f(the)g(area)g(of)h(\012)f(\(see)g
(Figure)g(1\).)0 1994 y(The)23 b(error)f(in)i(the)e(computation)i(dep)q(ends)
f(on)h(the)e(n)o(um)o(b)q(er)g(of)h(p)q(oin)o(ts)h(c)o(hosen.)41
b(The)23 b(larger)g(the)0 2066 y(random)f(sample,)h(the)e(less)h(lik)o(ely)g
(it)g(is)h(that)f(the)f(computed)g(area)h(di\013ers)g(signi\014can)o(tly)i
(from)d(the)0 2138 y(correct)16 b(answ)o(er.)73 2240 y(Note)f(that)h(for)f
(the)g(computation)i(of)f(ordinary)g(in)o(tegrals)h(with)f(\\w)o(ell)h(b)q
(eha)o(v)o(ed")e(in)o(tegrands,)h(one)0 2312 y(is)21 b(b)q(etter)g(o\013)g
(e\016ciency-wise)f(and)i(accuracy-wise)f(using)h(traditional)h(n)o(umerical)
e(tec)o(hniques)f(suc)o(h)0 2385 y(as)f(the)g(trap)q(ezoidal)h(and)f
(Simpson's)h(rules.)29 b(Mon)o(te)18 b(Carlo)i(in)o(tegration)g(b)q(ecomes)f
(attractiv)o(e)f(if)h(the)0 2457 y(function)e(fails)h(to)f(b)q(e)f(regular)h
(whic)o(h)g(is)g(often)f(the)g(case)g(for)h(m)o(ultidimensional)i(in)o
(tegrals)f([Rub81].)73 2559 y(A)g(more)g(in)o(v)o(olv)o(ed)g(use)g(of)h
(random)g(sampling)h(will)g(b)q(e)e(seen)g(in)h(Rabin's)g([Rab76)q(])f
(algorithm)i(for)0 2631 y(the)15 b(nearest)g(neigh)o(b)q(ors)i(problem)e(\()p
FF(Ne)n(arNeb)s FH(\).)22 b(Here)14 b(the)h(distance)g FB(\016)i
FH(separating)g(the)e(closest)h(pair)g(of)0 2704 y(p)q(oin)o(ts)j(in)f(a)f
(giv)o(en)h(set)f FB(S)s FH(,)g(is)h(deduced)f(from)g(a)g(random)h(subset)g
(of)g FB(S)i FH(con)o(taining)f FB(n)1625 2672 y Fq(2)p 1625
2678 16 2 v 1625 2698 a(3)1665 2704 y FH(of)e(the)g(p)q(oin)o(ts.)951
2828 y(12)p eop
bop 405 154 a
 17997903 14938257 9209446 26970521 28943974 43415961 startTexFig
405 154 a
%%BeginDocument: monte.ps
md begin

T T -226 -218 5534 4232 55 288 288 1 F F F F T T T psu
(Mac SE; document: scottfig-Layer#1)jn
0 mf
od
op
0 0 xl
1 1 pen
0 0 gm
(nc 0 0 5308 4014 6 rc)kp
0 setlinecap
currentscreen
3 1 roll pop pop 60 45 3 -1 roll setscreen
676 944 gm
pr
676 944 pl
743 961 pl
743 944 pl
743 927 pl
676 944 pl
1 ep
8 8 pen
739 940 gm
2404 940 lin
1528 1970 gm
6.62890 0 rmoveto
1 setTxMode
1 fs
bu fc
{}mark T /Helvetica-Bold /|______Helvetica-Bold 0 rf
bn
96 fz
bu fc
2 F /|______Helvetica-Bold fnt
bn
(miss)show
2408 2956 gm
0 gr
pr
2408 2956 pl
2425 2889 pl
2408 2889 pl
2391 2889 pl
2408 2956 pl
1 ep
2404 2885 gm
2404 940 lin
1256 1492 gm
2400 1492 lin
1248 2664 gm
2392 2664 lin
1248 1492 gm
1248 2664 lin
2216 2418 gm
5.37109 0 rmoveto
1 setTxMode
(hit)show
0 gr
2240 2412 2276 2446 1 ov
2240 2412 2276 2446 0 ov
2504 1481 gm
1 setTxMode
2 fs
bu fc
{}mark T /Times-Italic /|______Times-Italic 0 rf
bn
72 fz
bu fc
2 F /|______Times-Italic fnt
bn
(a)show
2504 2650 gm
(b)show
2224 1660 gm
0.02050 0 rmoveto
(I)show
2144 2010 gm
4.06054 0 rmoveto
(f\(x\))show
1276 781 gm
(c)show
0 0 2 9 9 2 dh
1252 948 gm
0 gr
1252 1492 lin
rh
856 786 gm
2.02148 0 rmoveto
1 setTxMode
(y)show
2496 2950 gm
2.02148 0 rmoveto
(x)show
0 gr
1706 1496 2262 2132 180 270 0 ar
1706 1658 1733 1950 270 360 0 ar
1808 2181 1842 2443 90 180 0 ar
1781 2141 1842 2427 0 90 0 ar
1604 2603 1635 2738 180 270 0 ar
1852 2096 gm
pr
1852 2096 pl
1919 2113 pl
1919 2096 pl
1919 2079 pl
1852 2096 pl
1 ep
2032 2092 gm
1915 2092 lin
2 setlinecap
0 0 pen
1720 1967 gm
1720 1967 lin
nc ct 39 0 put
8 8 pen
1714 1936 gm
bp
1720 1967 F qi
1752 2047 qc
1783 2102 qc
1798 2116 F qq
ef
1 ec
(nc 0 0 5308 4014 6 rc)kp
0 setlinecap
2 setlinecap
0 0 pen
1830 2184 gm
1830 2184 lin
nc ct 39 0 put
8 8 pen
1833 2200 gm
bp
1830 2184 F qi
1815 2144 qc
1799 2117 qc
1792 2110 F qq
ef
1 ec
(nc 0 0 5308 4014 6 rc)kp
0 setlinecap
2 setlinecap
0 0 pen
1620 2589 gm
1620 2589 lin
nc ct 39 0 put
8 8 pen
1614 2606 gm
bp
1620 2589 F qi
1655 2546 qc
1690 2517 qc
1706 2509 F qq
ef
1 ec
(nc 0 0 5308 4014 6 rc)kp
0 setlinecap
2 setlinecap
0 0 pen
1725 2503 gm
1725 2503 lin
nc ct 39 0 put
8 8 pen
1706 2509 gm
bp
1725 2503 F qi
1775 2470 qc
1808 2437 qc
1818 2422 F qq
ef
1 ec
(nc 0 0 5308 4014 6 rc)kp
0 setlinecap
1396 1970 1432 2004 1 ov
1396 1970 1432 2004 0 ov
1672 1587 gm
2.35839 0 rmoveto
1 setTxMode
3 fs
bu fc
{}mark T /Helvetica-BoldOblique /|______Helvetica-BoldOblique 0 rf
bn
bu fc
2 F /|______Helvetica-BoldOblique fnt
bn
currentfont SwToSym
(W)show
setfont
F T cp
cd
end
%%EndDocument
 405 154 a
 endTexFig
0 1214 a FH(Figure)18 b(1:)23 b(Graphical)c(depiction)f(of)f(Mon)o(te)g
(Carlo)h(in)o(tegration)h(from)e([Rub81)q(]:)22 b(\012)17 b(is)h(the)f(b)q
(ounding)0 1286 y(rectangle;)e FB(I)t FH(,)g(the)f(desired)i(in)o(tegral,)g
(is)f(the)g(area)g(under)g(the)g(curv)o(e;)f(sample)h(p)q(oin)o(ts)i(ab)q(o)o
(v)o(e)d(the)h(curv)o(e)0 1358 y(are)h(misses)h(and)g(those)g(b)q(elo)o(w)g
(are)f(hits.)0 1483 y(The)j(exp)q(ected)e(running)j(time)f(of)f(this)i
(algorithm)h(is)e(b)q(etter)f(than)h(an)o(y)g(kno)o(wn)g(deterministic)g
(algo-)0 1555 y(rithm,)d(under)g(certain)h(reasonable)h(assumptions.)0
1759 y FC(Symmetry)23 b(Breaking)p FH(|There)f(are)g(certain)h(problems)g(in)
g(distributed)g(computing,)h(in)f(partic-)0 1831 y(ular,)i(problems)e(in)g
(whic)o(h)g(pro)q(cesses)h(m)o(ust)e(reac)o(h)g(some)g(sort)i(of)f(agreemen)o
(t,)f(that)i(do)f FF(not)g FH(ha)o(v)o(e)0 1904 y(deterministic)14
b(solutions.)23 b(This)15 b(dilemma)f(surfaces)g(when)f(pro)q(cesses)h(b)q
(eha)o(v)o(e)f(in)h(a)g(deterministic)g(and)0 1976 y(iden)o(tical)21
b(fashion,)h(without)f(making)g(an)o(y)f(concessions)h(to)o(w)o(ard)f(the)g
(goal)i(of)e(reac)o(hing)g(agreemen)o(t.)0 2048 y(By)15 b(in)o(tro)q(ducing)k
(randomization)f(in)o(to)f(the)f(b)q(eha)o(vior)h(of)f(the)g(pro)q(cesses)h
(themselv)o(es,)e(these)h(patterns)0 2120 y(of)h(iden)o(tical)g(or)g
(\\symmetric")f(b)q(eha)o(vior)h(can)f(b)q(e)h(brok)o(en,)e(thereb)o(y)g
(leading)j(to)f(agreemen)o(t.)73 2223 y(F)l(or)d(example)f(consider)i(the)e
(\\narro)o(w)i(do)q(or")g(problem)f(in)h(whic)o(h)f(t)o(w)o(o)f(p)q(eople)i
(are)f(trying)g(to)g(exit)g(a)0 2295 y(ro)q(om)g(through)h(a)f(do)q(or)g
(that)g(at)g(most)g(one)f(p)q(erson)h(can)g(squeeze)e(through)j(at)f(a)f
(time.)21 b(If)13 b(b)q(oth)h(p)q(ersons)0 2367 y(react)j(to)g(a)g(collision)
j(at)d(the)g(do)q(or)h(b)o(y)f(bac)o(king)g(up)g(t)o(w)o(o)g(feet)f(and)i
(retrying)f(after)g(\014v)o(e)f(seconds,)h(then)0 2439 y(an)j(initial)i
(collision)h(could)e(conceiv)m(ably)f(result)g(in)h(a)f(nev)o(er-ending)f
(succession)i(of)f(collisions,)j(with)0 2512 y(neither)16 b(part)o(y)h(ev)o
(er)e(succeeding)h(in)h(lea)o(ving)h(the)e(ro)q(om.)23 b(A)16
b(distributed)h(algorithm)i(that)d(guaran)o(tees)0 2584 y(with)f(probabilit)o
(y)h(1)e(that)g(someone)g(will)i(ev)o(en)o(tually)d(b)q(e)h(able)h(to)f(lea)o
(v)o(e)f(the)h(ro)q(om)g(w)o(ould)h(require)f(eac)o(h)0 2656
y(participan)o(t)j(to)f(w)o(ait)h(a)f(randomly)g(distributed)h(amoun)o(t)f
(of)g(time)g(after)g(eac)o(h)f(collision)j(b)q(efore)e(trying)951
2828 y(13)p eop
bop 0 195 a FH(again.)32 b(This)20 b(essen)o(tially)h(describ)q(es)e(the)g
(hardw)o(are)h(proto)q(col)h(for)f(the)e(Ethernet.)30 b(Other)19
b(examples)0 267 y(of)h(symmetry)f(breaking)i(include)g(the)f(dining)i
(philosophers)g(problem)f(\()p FF(DinPhil)5 b FH(\),)21 b(comm)o(unication)0
340 y(guard)c(sc)o(heduling)h(\()p FF(CommGuar)n(d)5 b FH(\),)14
b(and)j(leader)f(election)h(\()p FF(L)n(e)n(adEle)n(ct)5 b
FH(\).)0 551 y Fu(1.2)70 b(T)-6 b(radeo\013s)0 686 y FH(T)l(radeo\013s)23
b(are)f(often)g(in)o(v)o(olv)o(ed)g(in)g(the)g(use)g(of)g(randomized)g
(algorithms.)40 b(Bene\014ts)22 b(to)g(b)q(e)g(reap)q(ed)0
758 y(b)o(y)17 b(in)o(tro)q(ducing)j(randomization)f(in)o(to)g(algorithms)g
(include,)g(in)f(the)f(sequen)o(tial)i(case,)e(reductions)h(in)0
830 y(time)k(complexit)o(y)g(\(e.g.,)h FF(PrimeT)l(est)5 b
FH(,)23 b FF(So)n(ckSel)5 b FH(,)25 b(and)e FF(Ne)n(arNeb)s
FH(\))g(and)g(in)g(space)f(complexit)o(y)g(\(e.g.,)0 902 y
FF(PerfHash)t FH(\).)73 1005 y(In)f(the)g(distributed)h(case,)g(reductions)g
(in)g(comm)o(unication)f(complexit)o(y)g(\(e.g.,)g FF(ByzA)n(gr)n(e)n(e)t
FH(\))f(and)0 1077 y(queueing)15 b(dela)o(y)g(\(e.g.,)f FF(MsgR)n(oute)t
FH(\))g(can)h(b)q(e)g(obtained,)g(and)h(an)f(algorithm's)h(resiliency)g(to)f
(faults)h(can)0 1149 y(b)q(e)f(impro)o(v)o(ed)g(\(e.g.,)f FF(MsgR)n(oute)t
FH(\).)21 b(P)o(erhaps)15 b(an)h(ev)o(en)e(more)h(fundamen)o(tal)h(b)q
(ene\014t)f(of)h(randomization)0 1221 y(in)e(the)f(distributed)i(setting)f
(is)g(the)g(abilit)o(y)h(to)e(solv)o(e)h(problems)g(that)g(ha)o(v)o(e)f(no)g
(deterministic)h(solutions)0 1294 y(\(e.g.,)h FF(DinPhil)5
b FH(,)16 b FF(CommGuar)n(d)5 b FH(,)15 b(and)h FF(L)n(e)n(adEle)n(ct)5
b FH(\).)73 1396 y(In)12 b(addition)i(to)e(these)f(gains,)j(a)e(randomized)h
(algorithm)g(is)g(almost)g(alw)o(a)o(ys)g(simpler)f(to)g(understand)0
1468 y(and)17 b(easier)f(to)g(implemen)o(t)g(than)g(its)h(deterministic)g
(coun)o(terpart.)k(This)c(is)g(p)q(erhaps)g(b)q(est)f(illustrated)0
1540 y(b)o(y)j(L\023)-24 b(ov\023)g(asz's)20 b(probabilistic)i(algorithm)g
(for)d(p)q(erfect)g(matc)o(hing)h(discussed)g(earlier.)32 b(As)19
b(w)o(e)g(will)i(see,)0 1612 y(conceptual)c(elegance)g(and)h(simplicit)o(y)g
(are)f(a)g(hallmark)h(of)f(all)h(the)f(randomized)g(algorithms)i(treated)0
1685 y(in)c(this)g(surv)o(ey)l(.)k(In)14 b(an)g(age)h(of)f(rising)i(soft)o(w)
o(are)e(complexit)o(y)g(and)h(cost,)f(the)g(simplicit)o(y)h(of)f(randomized)0
1757 y(algorithms)k(will)h(b)q(e)d(a)h(k)o(ey)e(determining)i(factor)f(in)h
(their)g(acceptance)e(b)o(y)h(the)g(soft)o(w)o(are)g(comm)o(unit)o(y)l(.)73
1859 y(T)l(o)i(pro\014t)h(from)e(the)g(use)h(of)g(randomization,)i(one)e(m)o
(ust)f(often)h(sacri\014ce)g(the)f(traditional)k(notion)0 1931
y(of)g(absolute)g(program)h(correctness)e(for)g(a)h(notion)h(of)f(\\correct)f
(with)h(probabilit)o(y)h(1)14 b Fx(\000)g FB(\017)p FH(.")34
b(F)l(or)20 b(the)0 2004 y(distributed)e(algorithms)h FF(DinPhil)5
b FH(,)17 b FF(CommGuar)n(d)5 b FH(,)15 b(and)i FF(ByzA)n(gr)n(e)n(e)f
FH(the)h FB(\017)f FH(is)i(zero,)e(so)i(w)o(e)e(ha)o(v)o(e)g(ev)o(en-)0
2076 y(tual)k(agreemen)o(t)f(with)h(probabilit)o(y)i(1.)31
b(In)19 b(other)h(cases,)g(suc)o(h)f(as)h FF(PrimeT)l(est)5
b FH(,)21 b(the)e FB(\017)g FH(can)h(b)q(e)f(made)0 2148 y(exp)q(onen)o
(tially)i(small)h(in)e(the)g(length)h(of)f(the)g(input)g(b)o(y)g(iterating)h
(the)f(algorithm)i(some)e(n)o(um)o(b)q(er)f(of)0 2220 y(times.)j(The)17
b(b)q(eaut)o(y)f(of)h(these)f(algorithms)j(is)f(that)f(usually)h(only)f(a)g
(small)h(n)o(um)o(b)q(er)e(of)h(iterations)h(are)0 2293 y(required)e(to)h
(establish)h(a)e(v)o(ery)f(high)j(degree)e(of)g(con\014dence)g(in)h(their)f
(output.)73 2395 y(Another)24 b(p)q(oten)o(tial)i(problem)e(with)h
(randomized)g(algorithms)h(is)f(that)f(sometimes)g(there)g(is)h(a)0
2467 y(small)c(probabilit)o(y)g(of)f(taking)h(an)f(inordinate)h(amoun)o(t)f
(of)g(time)f(to)h(execute)e(\(e.g.,)h FF(Ne)n(arNeb)s FH(\))h(or)g(of)0
2539 y(ev)o(en)15 b(failing)k(to)d(halt)i(\(e.g.,)d FF(L)n(e)n(adEle)n(ct)5
b FH(\).)73 2641 y(Analogous)14 b(to)e(the)f(space-time)g(tradeo\013)i
(inheren)o(t)e(to)h(deterministic)g(sequen)o(tial)g(algorithms,)i(with)951
2828 y(14)p eop
bop 0 195 a FH(randomized)24 b(algorithms,)k(there)23 b(is)i(a)f(tradeo\013)h
(in)o(v)o(olving)g(resource)e(requiremen)o(ts)g(and)i(absolute)0
267 y(correctness.)40 b(In)23 b(fact,)h(this)f(tradeo\013)h(has)f(led)h(to)f
(the)f(distinction)j(of)e(t)o(w)o(o)g(t)o(yp)q(es)f(of)h(randomized)0
340 y(algorithms:)f FF(Monte)14 b(Carlo)f FH(algorithms)i(are)e(alw)o(a)o(ys)
g(fast)g(and)h(probably)g(correct,)e(whereas)h FF(L)n(as)g(V)l(e)n(gas)0
412 y FH(algorithms)19 b(are)f(probably)g(fast)g(and,)g(up)q(on)g
(termination,)g(alw)o(a)o(ys)g(correct.)24 b(Las)18 b(V)l(egas)f(algorithms,)
0 484 y(ho)o(w)o(ev)o(er,)h(ma)o(y)h(fail)i(to)e(terminate)g(for)h(some)f
(inputs.)31 b(F)l(or)20 b(example,)f(the)g(algorithm)i(for)f(primalit)o(y)0
556 y(testing)c(\()p FF(PrimeT)l(est)5 b FH(\))15 b(is)i(of)e(the)g(Mon)o(te)
g(Carlo)h(v)m(ariet)o(y)l(,)f(while)i(the)e(algorithm)i(for)e(nearest)h
(neigh)o(b)q(ors)0 628 y(\()p FF(Ne)n(arNeb)s FH(\))h(is)g(of)f(the)g(Las)i
(V)l(egas)e(v)m(ariet)o(y)l(.)73 731 y(If)j(a)i(purp)q(orted)f(solution)i(to)
e(a)h(problem)f(is)g(easily)h(v)o(eri\014able)g(then)e(a)h(Mon)o(te)g(Carlo)h
(algorithm)0 803 y FF(MC)f FH(for)14 b(it)g(can)g(b)q(e)f(con)o(v)o(erted)g
(in)o(to)h(a)g(Las)g(V)l(egas)g(algorithm)h(b)o(y)e(simply)i(rep)q(eating)f
FF(MC)21 b FH(till)15 b(a)f(correct)0 875 y(solution)21 b(is)e(found.)29
b(Similarly)l(,)21 b(an)o(y)d(Las)i(V)l(egas)f(algorithm)i
FF(L)-5 b(V)18 b FH(can)h(b)q(e)g(trivially)h(con)o(v)o(erted)d(in)o(to)j(a)0
947 y(Mon)o(te)c(Carlo)j(algorithm:)24 b(one)17 b(can)g(alw)o(a)o(ys)h
(return)f(a)g(wrong)h(answ)o(er)f(\(e\016cien)o(tly!\))22 b(if)c
FF(L)-5 b(V)16 b FH(seems)h(to)0 1020 y(b)q(e)i(taking)h(to)q(o)h(long.)31
b(Since)19 b FF(L)-5 b(V)19 b FH(is)h(fast)f(with)h(high)h(probabilit)o(y)l
(,)g(the)e(mo)q(di\014ed)h(algorithm)h(will)g(b)q(e)0 1092
y(correct)16 b(with)h(high)g(probabilit)o(y)l(.)73 1194 y(The)j(Karp-Rabin)h
(string)g(matc)o(hing)f(algorithm)h(describ)q(ed)f(ab)q(o)o(v)o(e)g(is)g(a)g
(go)q(o)q(d)h(example)f(of)g(ho)o(w)0 1266 y(to)h(con)o(v)o(ert)e(a)i(Mon)o
(te)f(Carlo)j(algorithm)f(in)o(to)f(a)g(Las)h(V)l(egas)f(algorithm:)32
b(the)20 b(k)o(ernel)g(of)h(the)f(Karp-)0 1339 y(Rabin)i(algorithm)h(will,)g
(from)e(time)g(to)g(time,)g(rep)q(ort)h(spurious)g(matc)o(hes.)35
b(By)20 b(\014rst)h(c)o(hec)o(king)f(if)i(a)0 1411 y(purp)q(orted)16
b(matc)o(h)f(is)i(a)f(v)m(alid)h(matc)o(h,)e(the)g(Karp-Rabin)i(algorithm)h
(alw)o(a)o(ys)e(giv)o(es)g(a)g(correct)f(answ)o(er.)0 1483
y(Muth)o(ukrishnan)i([Mut93])f(giv)o(es)g(an)h(e\016cien)o(t)e(parallel)k
(algorithm)f(for)e(exactly)g(this)i(problem.)73 1585 y(In)f([BB88)o(],)f(Las)
i(V)l(egas)f(algorithms)i(p)q(ossessing)g(b)q(ounded)f(time)e(requiremen)o
(ts)g(are)h(called)g FF(Sher-)0 1657 y(wo)n(o)n(d)i FH(algorithms.)33
b(Randomized)19 b(quic)o(ksort)h(is)g(an)g(example)f(of)h(a)g(Sherw)o(o)q(o)q
(d)h(algorithm.)32 b(It)19 b(tak)o(es)0 1730 y(at)h(most)f
FB(O)q FH(\()p FB(n)271 1712 y FI(2)291 1730 y FH(\))g(time)g(on)h(an)o(y)f
(problem)h(instance.)30 b(Note)19 b(that)h(a)f(Las)i(V)l(egas)e(algorithm)i
(that)f(ma)o(y)0 1802 y(p)q(ossibly)f(not)d(terminate)g(\(e.g.,)f
FF(L)n(e)n(adEle)n(ct)5 b FH(\),)16 b(cannot)h(b)q(e)f(a)h(Sherw)o(o)q(o)q(d)
g(algorithm.)0 2044 y FK(2)83 b(Sequen)n(tial)28 b(Randomized)e(Algorithms)0
2196 y FH(In)14 b(the)h(\014rst)f(part)h(of)g(this)h(surv)o(ey)l(,)d(w)o(e)h
(presen)o(t)g(sev)o(en)g(sequen)o(tial)h(randomized)g(algorithms.)23
b(The)15 b(\014rst)0 2268 y(algorithm)j(\()p FF(So)n(ckSel)5
b FH(\))18 b(is)e(a)h(simple)f(illustratio)q(n)j(of)d(the)f(input)i
(randomization)h(tec)o(hnique.)j(The)16 b(next)0 2340 y(three)h(algorithms)j
(\()p FF(PrimeT)l(est)5 b FH(,)17 b FF(NetHier)n(ar)n(chy)t
FH(,)h(and)g FF(PerfHash)t FH(\))f(illustrate)j(the)d(p)q(o)o(w)o(er)h(of)f
(random)0 2412 y(searc)o(h.)i(W)l(e)11 b(then)g(giv)o(e)h(an)f(example)g(of)h
(con)o(trol)g(strategy)f(randomization)j(\()p FF(UnivHash)t
FH(\).)20 b(W)l(e)11 b(conclude)0 2484 y(this)17 b(section)g(with)g(a)g
(randomized)g(algorithm)h(that)e(uses)h(random)g(sampling)h(\()p
FF(Ne)n(arNeb)s FH(\).)951 2828 y(15)p eop
bop 0 195 a Fu(2.1)70 b(The)22 b(So)r(c)n(k)h(Selection)f(Problem)0
330 y FH(In)17 b(this)i(section,)e(w)o(e)h(pro)o(vide)f(a)h(randomized)g
(solution)i(to)e(the)f(So)q(c)o(k)g(Selection)i(problem)e(\()p
FF(So)n(ckSel)5 b FH(\).)0 402 y(This)13 b(problem,)g(although)g(somewhat)g
(con)o(triv)o(ed,)f(illustrates)i(the)d(tec)o(hnique)g(of)h(input)h
(randomization)0 474 y(in)k(a)g(simple)g(manner.)k(It)15 b(also)j(b)q(ears)f
(connections)g(with)h(certain)e(resource)g(allo)q(cation)k(problems.)73
576 y(Consider)f(a)e(dresser)g(dra)o(w)o(er)g(of)h(2)p FB(n)g
FH(so)q(c)o(ks,)f(half)h(of)g(whic)o(h)f(are)h(red)f(and)g(half)i(of)e(whic)o
(h)h(are)f(blue.)0 648 y(P)o(erson)e(X)f(has)i(just)f(a)o(w)o(ok)o(en)f(and)i
(is)f(in)h(dire)f(need)f(of)i(a)f(matc)o(hing)g(pair)h(of)f(so)q(c)o(ks;)g(a)
h(matc)o(hing)f(pair)h(of)0 721 y(either)i(color)h(will)h(do.)27
b(In)18 b(his)h(elusiv)o(e)f(searc)o(h)g(for)g(this)h(holy)g(grail,)h(p)q
(erson)e(X)g(randomly)h(extracts)f(a)0 793 y(so)q(c)o(k)c(at)h(a)f(time)g
(from)g(the)g(dra)o(w)o(er,)g(and)g(ma)o(y)g(also)i(thro)o(w)e(so)q(c)o(ks)g
(a)o(w)o(a)o(y)g(\(one)g(at)h(a)f(time\))g(if)h(he)f(b)q(eliev)o(es)0
865 y(he)k(has)g(no)g(use)g(for)g(them.)26 b(He)17 b(is)h(not)g(allo)o(w)o
(ed)h(to)g(put)f(a)g(so)q(c)o(k)g(bac)o(k)f(in)h(the)g(dra)o(w)o(er.)25
b(The)18 b(question)0 937 y(is,)f(then:)22 b(Ho)o(w)16 b(man)o(y)g(so)q(c)o
(ks)h(need)f(p)q(erson)i(X)e(remo)o(v)o(e)f(from)h(the)h(dra)o(w)o(er)f(b)q
(efore)h(a)g(matc)o(hing)g(pair)g(is)0 1010 y(obtained?)73
1112 y(If)i(there)g(is)h(no)g(limit)g(to)g(the)f(n)o(um)o(b)q(er)f(of)i(so)q
(c)o(ks)g(p)q(erson)g(X)f(can)g(ha)o(v)o(e)g(in)g(his)i(p)q(ossession)g(at)f
(an)o(y)0 1184 y(one)e(time,)g(then)g(the)g(problem)h(is)g(trivial.)28
b(He)18 b(simply)h(remo)o(v)o(es)e(three)g(so)q(c)o(ks)i(from)f(the)g(dra)o
(w)o(er)f(and)0 1256 y(discards)i(the)e(so)q(c)o(k)h(that)g(is)g(not)g
(needed.)25 b(Since)17 b(t)o(w)o(o)h(so)q(c)o(ks)g(out)g(of)g(three)f(m)o
(ust)g(b)q(e)h(the)f(same)g(color,)0 1328 y(this)g(pro)q(cedure)f(will)j
(terminate)d(in)h(constan)o(t)f(time.)73 1431 y(The)k(problem)g(b)q(ecomes)f
(more)g(in)o(teresting)i(if)f(p)q(erson)g(X)f(can)h(ha)o(v)o(e)f(in)h(his)h
(p)q(ossession)h(at)e(most)0 1503 y(t)o(w)o(o)f(so)q(c)o(ks)g(at)h(an)o(y)f
(one)g(time,)g(and)h(this)g(is)g(the)f(so)q(c)o(k)g(selection)h(problem)f(w)o
(e)g(study)l(.)30 b(The)19 b(simplest)0 1575 y(deterministic)f(solution,)i
(whic)o(h)e(is)h(basically)h(a)e(sequen)o(tial)g(searc)o(h)g(through)h(the)e
(sequence)g(of)h(so)q(c)o(ks)0 1647 y(extracted)d(from)i(the)f(dra)o(w)o(er,)
f(is)i(as)g(follo)o(ws.)0 1813 y Fy(So)n(ckSel1)29 b Fp(f)23
b Fo(\(*)h(First)f(Try)g(at)h(Sock)f(Selection)g(*\))119 1898
y(s1)h(:=)f(get-sock\(\))119 1982 y(s2)h(:=)f(get-sock\(\))119
2067 y(WHILE)g(color-of\(s1\))g Fn(<>)h Fo(color-of\(s2\))f(DO)g
Fp(f)239 2152 y Fo(discard-sock\(s2\))239 2237 y(s2)g(:=)h(get-sock\(\))119
2321 y Fp(g)g Fo(\(*)f(end)h(while)f(*\))0 2406 y Fp(g)73 2559
y FH(It)18 b(is)h(not)g(di\016cult)g(to)f(see)g(that)h(in)g(the)f(w)o(orst)g
(case)h(this)g(algorithm)h(will)g(tak)o(e)e FB(O)q FH(\()p
FB(n)p FH(\))h(time.)27 b(The)0 2631 y(w)o(orst)14 b(case)g(b)q(eha)o(vior)h
(is)f(manifest)h(when)e(the)h(sequence)f(of)h(so)q(c)o(ks)g(returned)f(b)o(y)
g FG(get-sock\(\))d FH(is)15 b(either)0 2704 y FB(r)q(ed)p
FH(,)d FB(bl)q(ue)p FH(,)f FB(bl)q(ue)p FH(,)g(.)d(.)g(.)g
FB(;)j(bl)q(ue)p FH(,)g FB(r)q(ed)h FH(or)g FB(bl)q(ue)p FH(,)f
FB(r)q(ed)p FH(,)h FB(r)q(ed)p FH(,)g(.)c(.)g(.)g FB(;)j(r)q(ed)p
FH(,)i FB(bl)q(ue)p FH(,)d(where)i(the)f(n)o(um)o(b)q(er)g(of)h(in)o(terv)o
(ening)951 2828 y(16)p eop
bop 0 195 a FH(so)q(c)o(ks)15 b(of)f(opp)q(osite)i(color)g(is)f
FB(O)q FH(\()p FB(n)p FH(\).)21 b(In)14 b(fact)h(w)o(e)f(can)g(mak)o(e)g(a)g
(stronger)h(statemen)o(t:)20 b FF(any)14 b FH(deterministic)0
267 y(algorithm)k(will)g(ha)o(v)o(e)e FB(O)q FH(\()p FB(n)p
FH(\))h(w)o(orst)f(case)h(running)g(time.)73 370 y(The)g(ab)q(o)o(v)o(e)g
(\\w)o(orst)h(case")f(sequences)g(of)g(so)q(c)o(ks)g(returned)g(b)o(y)f
FG(get-sock\(\))e FH(capture)j(the)f(dra)o(w)o(er)0 442 y(in)24
b(an)g(adv)o(ersarial)h(role)f(with)g(resp)q(ect)f(to)h(p)q(erson)g(X.)e(F)l
(or)i(most)f(of)h(the)f(sequences)g(returned)g(b)o(y)0 514
y FG(get-sock\(\))o FH(,)13 b(ho)o(w)o(ev)o(er,)h(the)h(while-lo)q(op)k(will)
f(terminate)e(b)q(efore)f FB(n)h FH(steps.)22 b(Th)o(us)16
b(it)g(is)g(reasonable)i(to)0 586 y(an)o(ticipate)f(that)f(the)g(a)o(v)o
(erage)g(running)h(time)f(of)g FF(So)n(ckSel1)25 b FH(is)17
b(m)o(uc)o(h)e(less)h(than)h FB(O)q FH(\()p FB(n)p FH(\).)22
b(This)17 b(suggests)0 658 y(the)f(randomized)h(algorithm)h
FF(So)n(ckSel2)7 b FH(,)17 b(an)g(impro)o(v)o(ed)f(v)o(ersion)g(of)h
FF(So)n(ckSel1)7 b FH(.)0 825 y Fy(So)n(ckSel2)29 b Fp(f)23
b Fo(\(*)h(Revised)f(Sock)g(Selection)g(Algorithm)f(*\))114
910 y(s1)h(:=)h(get-sock\(\))114 995 y(s2)f(:=)h(get-sock\(\))114
1079 y(WHILE)f(color-of\(s1\))f Fn(<>)j Fo(color-of\(s2\))d(DO)h
Fp(f)227 1164 y Fo(toss)h(a)f(perfect)g(two-sided)g(coin)227
1249 y(IF)h(heads)f(THEN)g Fp(f)341 1333 y Fo(discard-sock\(s1\))341
1418 y(s1)g(:=)h(get-sock\(\))p Fp(g)227 1503 y Fo(ELSE)g Fp(f)341
1588 y Fo(discard-sock\(s2\))341 1672 y(s2)f(:=)h(get-sock\(\))p
Fp(g)114 1757 y(g)f Fo(\(*)h(end)f(while)g(*\))0 1842 y Fp(g)73
1996 y FH(Here)17 b(w)o(e)g(assume)h(that)g(the)g(dra)o(w)o(er)f(do)q(es)i
(not)f(kno)o(w)g(the)f(random)h(c)o(hoices)g(made)g(b)o(y)f
FF(So)n(ckSel2)7 b FH(,)0 2068 y(i.e.,)16 b(the)i(coin)g(tosses)g(are)f
FF(private)p FH(.)665 2050 y FI(4)710 2068 y FH(This)h(assumption)h(is)f
(critical)h(for,)e(without)i(it,)f(the)f(dra)o(w)o(er)g(can)0
2140 y(force)g FF(So)n(ckSel2)i FH(in)o(to)e(long)i FB(O)q
FH(\()p FB(n)p FH(\)-step)f(executions.)24 b(Ev)o(en)16 b(w)o(orse,)h(if)h
(the)f(coin)h(tosses)f(are)h(public,)g(an)0 2213 y(adv)o(ersarial)g(dra)o(w)o
(er)e(can)g(force)g(p)q(erson)i(X)e(to)g(end)h(up)f(with)h(a)g(mismatc)o
(hing)g(pair)h(of)e(so)q(c)o(ks)h(after)f(the)0 2285 y(dra)o(w)o(er)g(has)h
(b)q(een)f(emptied.)73 2387 y(The)h(w)o(a)o(y)g FF(So)n(ckSel2)i
FH(is)f(form)o(ulated)g(ab)q(o)o(v)o(e,)f(the)g(latter)h(problem)f(do)q(es)h
(not)g(completely)f(go)h(a)o(w)o(a)o(y)0 2459 y(ev)o(en)13
b(when)h(the)f(coin)i(tosses)f(are)g(hidden)g(from)g(the)g(dra)o(w)o(er:)19
b(with)c(probabilit)o(y)h(that)e(is)g(exp)q(onen)o(tially)p
0 2503 780 2 v 56 2533 a FE(4)75 2548 y FD(F)m(or)k(a)g(discussion)j(of)d
(priv)n(ate)h(vs.)32 b(public)20 b(coin)f(tosses,)h(see)g(the)f(last)g
(paragraph)f(of)g(Section)i(2.6)d(and)h([GS89)o(].)0 2623 y(A)f(related)h
(concept)g(called)g Fm(shar)n(e)n(d)f(r)n(andomness)s FD(,)h(whic)o(h)g(is)f
(w)o(eak)o(er)g(than)g(b)q(oth)g(priv)n(ate)g(and)f(public)j(coin)e(tosses,)h
(is)0 2698 y(discussed)f(in)d([BDMP91)o(].)951 2828 y FH(17)p
eop
bop 0 195 a FH(small)17 b(in)e FB(n)p FH(,)g FF(So)n(ckSel2)i
FH(can)f(return)f(a)g(mismatc)o(hed)g(pair)h(of)g(so)q(c)o(ks.)21
b FF(So)n(ckSel2)c FH(can)e(b)q(e)g(made)g(fo)q(olpro)q(of)0
267 y(b)o(y)i(emplo)o(ying)i(t)o(w)o(o)f(coun)o(ters,)g(one)g(for)g(the)g(n)o
(um)o(b)q(er)f(of)h(red)g(so)q(c)o(ks)g(left)g(in)h(the)f(dra)o(w)o(er)f(and)
i(one)f(for)0 340 y(the)h(n)o(um)o(b)q(er)f(of)h(blue)g(so)q(c)o(ks)g(left)g
(in)h(the)e(dra)o(w)o(er.)29 b(If)18 b(it)i(\014nds)f(that)g(it)h(p)q
(ossesses)g(the)f(last)h(so)q(c)o(k)e(of)i(a)0 412 y(particular)d(color,)e
(then)g(it)h(should)g(immediately)g(discard)g(that)f(so)q(c)o(k.)21
b(The)15 b(next)f(call)i(to)g FG(get-sock\()o(\))0 484 y FH(will)i(return)e
(a)h(matc)o(hing)g(so)q(c)o(k.)73 586 y(Assuming)i FF(So)n(ckSel2)p
FH('s)h(coin)f(tosses)f(are)h(priv)m(ate,)f(a)h(viable)g(strategy)f(for)h
(the)f(dra)o(w)o(er)f(is)i(to)g(ha)o(v)o(e)0 658 y FG(get-sock\(\))11
b FH(return)j(so)q(c)o(ks)h(of)g(di\013eren)o(t)f(colors)i(on)f(the)f
(\014rst)h(t)o(w)o(o)f(calls)i(and)f(thereafter)f(\015ip)h(a)g(p)q(erfect)0
731 y(t)o(w)o(o-sided)g(coin)f(to)h(determine)e(the)h(color)h(of)f(the)g
(next)f(so)q(c)o(k)h(to)h(return.)20 b(In)13 b(this)i(case,)f(the)g
(probabilit)o(y)0 803 y(that)j(the)g(while-lo)q(op)i(will)g(b)q(e)e(executed)
e FB(i)i FH(times)f(is)i(\(1)p FB(=)p FH(2\))1111 785 y Fw(i)1126
803 y FH(,)f FB(i)d Fx(\025)g FH(1,)j(and,)g(th)o(us,)f(the)h(probabilit)o(y)
i(that)0 875 y FG(get-sock\(\))11 b FH(is)16 b(called)h(exactly)d(\()p
FB(i)9 b FH(+)g(2\))15 b(times)g(is)h(\(1)p FB(=)p FH(2\))1060
857 y Fw(i)1075 875 y FH(.)21 b(The)15 b(exp)q(ected)g(running)h(time,)f(for)
g(large)h FB(n)p FH(,)0 947 y(is)h(giv)o(en)f(b)o(y)751 987
y Fw(i)p FI(=)p Fw(n)751 1000 y Fr(X)752 1091 y Fw(i)p FI(=1)811
1041 y FH(\()p FB(i)11 b FH(+)g(2\)\(1)p FB(=)p FH(2\))1060
1021 y Fw(i)1103 1041 y Fx(\030)28 b FH(4)p FB(:)680 b FH(\(1\))73
1191 y(Notice)11 b(that)g(the)g(running)h(time)e(of)i FF(So)n(ckSel1)g
FH(a)o(v)o(eraged)f(o)o(v)o(er)f(all)i(sequences)e(returned)g(b)o(y)h
FG(get-sock\()o(\))0 1263 y FH(is)i(4,)g(the)f(same)g(as)h(the)f(exp)q(ected)
f(running)j(time)e(of)g FF(So)n(ckSel2)j FH(for)d FF(any)g
FH(input)h(sequence.)19 b(The)12 b(follo)o(wing)0 1335 y(prop)q(erties)17
b(can)g(th)o(us)f(b)q(e)g(ascrib)q(ed)i(to)e(problems)h(amenable)g(to)g
(solution)h(b)o(y)e(input)h(randomization:)60 1479 y(1.)24
b(The)16 b(problem)h(should)h(ha)o(v)o(e)d(a)i(deterministic)g(algorithm)h
(with)f(go)q(o)q(d)h(a)o(v)o(erage)e(running)h(time.)60 1593
y(2.)24 b(The)18 b(random)h(transformation)i(applied)f(to)f(the)f(input)h
(for)g(ac)o(hieving)g(uniform)g(running)h(time)122 1665 y(for)c(all)i(the)e
(inputs)i(should)f(tak)o(e)f(less)h(time)f(than)h(the)f(algorithm)i(itself.)
73 1809 y(The)h(problem)g(of)g(primalit)o(y)h(testing)f(considered)g(next)f
(illustrates)j(another)e(tec)o(hnique)f(for)h(ran-)0 1881 y(domized)d
(algorithms:)24 b(random)17 b(searc)o(h.)0 2093 y Fu(2.2)70
b(Primalit)n(y)24 b(T)-6 b(esting)0 2227 y FH(The)15 b(problem)h(of)f
FF(primality)h(testing)h FH(is,)f(Giv)o(en)f(a)h(p)q(ositiv)o(e)g(in)o(teger)
g FB(n)f FH(expressed)g(in)h(binary)g(notation,)0 2299 y(is)j
FB(n)g FH(a)g(prime)f(n)o(um)o(b)q(er?)28 b(Recall)19 b(that)g(a)f(n)o(um)o
(b)q(er)g FB(n)h FH(is)g(prime)f(if)h(the)f(only)i(n)o(um)o(b)q(ers)e(b)o(y)g
(whic)o(h)g(it)h(is)0 2372 y(divisible)f(are)f(1)f(and)h(itself;)g
(otherwise,)f FB(n)h FH(is)g(said)g(to)g(b)q(e)f FF(c)n(omp)n(osite)t
FH(.)73 2474 y(Since)k(the)f(da)o(wn)g(of)h(n)o(um)o(b)q(er)e(theory)l(,)i
(prime)f(n)o(um)o(b)q(ers)f(ha)o(v)o(e)h(enjo)o(y)o(ed)f(considerable)j
(atten)o(tion.)0 2546 y(Despite)e(all)g(the)f(progress)h(in)g(the)f(\014eld,)
g(to)h(date)f(there)g(is)h(no)f(form)o(ula)h(\(similar)h(to,)e(sa)o(y)l(,)g
(Fib)q(onacci)0 2618 y(n)o(um)o(b)q(ers\))d(to)h(en)o(umerate)e(all)j(the)f
(prime)f(n)o(um)o(b)q(ers.)21 b(F)l(ermat's)14 b(primes,)i(some)f(of)h(whic)o
(h)g(are)g(actually)0 2691 y(not)g(prime,)g(and)g(the)g(ancien)o(t)g(Chinese)
g(assertion)i(that)e FB(n)g FH(is)h(prime)e(if)i(and)f(only)h(if)f
FB(n)g FH(divides)h(2)1829 2672 y Fw(n)1863 2691 y Fx(\000)10
b FH(2,)951 2828 y(18)p eop
bop 0 195 a FH(are)13 b(wrong)h(results)f(whic)o(h)g(exemplify)g(the)f(m)o
(ysteries)g(enshrined)i(in)f(prime)g(n)o(um)o(b)q(ers.)19 b(\(F)l(or)13
b(the)g(latter,)0 267 y(consider,)j(for)h(example,)f FB(n)e
FH(=)f(341.\))73 370 y(Of)i(late)g(extremely)e(large)i(prime)g(n)o(um)o(b)q
(ers)f(are)g(in)h(great)g(demand)g(b)q(ecause)g(of)f(their)h(use)g(in)g
(de\014n-)0 442 y(ing)h(trap-do)q(or)h(functions)f(for)g(public)g(k)o(ey)e
(cryptograph)o(y)h(systems)g([RSA78,)f(Sc)o(h84)q(,)g(GM84)q(,)h(Smi83)q(].)0
514 y(F)l(or)k(example,)g(in)h(the)f(Riv)o(est-Shamir-Adleman)h(\(or)f(RSA\))
g(cryptosystem)f([RSA78])h(the)g(k)o(eys)f(are)0 586 y(200-digit)i(n)o(um)o
(b)q(ers.)k(An)16 b(encryption)i(k)o(ey)e(is)i(the)f(pro)q(duct)h(of)f(t)o(w)
o(o)g(secret)g(primes,)g(ha)o(ving)h(appro)o(xi-)0 658 y(mately)f(100)h
(digits)h(eac)o(h,)d(whic)o(h)h(are)g(kno)o(wn)g(only)h(to)f(the)g(creator)g
(of)g(the)g(k)o(ey)l(.)22 b(The)17 b(corresp)q(onding)0 731
y(decryption)f(k)o(ey)e(is)i(computed)e(from)i(the)f(same)g(t)o(w)o(o)g
(prime)g(n)o(um)o(b)q(ers)g(using)h(a)g(publicly)h(kno)o(wn)e(algo-)0
803 y(rithm.)21 b(Di\016cult)o(y)16 b(in)g(factoring)h(large)g(n)o(um)o(b)q
(ers)e(is)h(at)g(heart)f(of)h(this)h(cryptosystem:)j(it)c(ensures)g(that)0
875 y(one)i(cannot)g(easily)h(deduce,)e(in)h(an)o(y)f(reasonable)j(amoun)o(t)
d(of)h(time,)g(the)f(prime)h(n)o(um)o(b)q(ers)f(that)h(w)o(en)o(t)0
947 y(in)o(to)i(forming)h(the)e(publicly)i(adv)o(ertized)d(encryption)i(k)o
(ey)l(.)30 b(Clearly)l(,)21 b(large)f(primes)g(are)f(essen)o(tial)i(to)0
1020 y(this)d(sc)o(heme.)j(Using)d(randomized)f(searc)o(h)f(for)h(testing)h
(whether)e(a)i(giv)o(en)e(n)o(um)o(b)q(er)g(is)i(prime)f(|)f(suc)o(h)0
1092 y(a)h(test)f(can)g(b)q(e)h(used)f(for)g(generating)i(large)f(prime)f(n)o
(um)o(b)q(ers)g(|)g(is)h(the)f(sub)s(ject)g(of)g(this)h(section.)73
1207 y(In)22 b(the)g(absence)g(of)h(a)g(form)o(ula,)h(a)f(plausible)h
(strategy)f(for)f(generating)i(large)f(prime)g(n)o(um)o(b)q(ers)0
1291 y(migh)o(t)17 b(b)q(e:)0 1447 y Fy(GenPrime)s Fp(f)143
1532 y Fo(REPEAT)p Fp(f)285 1617 y Fo(Pick)24 b(a)f(large)h(number)f(at)g
(random;)285 1701 y(Test)h(whether)f(it)g(is)h(prime;)p Fp(g)143
1786 y Fo(UNTIL)f(a)h(prime)f(number)g(of)g(desired)g(size)h(is)f(found)0
1871 y Fp(g)73 2015 y FH(The)17 b(mean)g(distance)g(b)q(et)o(w)o(een)f
(primes)h(in)g(the)g(neigh)o(b)q(orho)q(o)q(d)i(of)f(a)f(n)o(um)o(b)q(er)f
FB(n)h FH(is)g FB(O)q FH(\(log)11 b FB(n)p FH(\))17 b(\(see,)0
2087 y(e.g.,)i([Sc)o(h84)o(]\).)32 b(Th)o(us)20 b(w)o(e)g(do)g(not)h(ha)o(v)o
(e)e(to)h(test)g(v)o(ery)f(man)o(y)g(n)o(um)o(b)q(ers)g(b)q(efore)h
(\014nding)i(one)e(in)g(the)0 2159 y(desired)14 b(range.)21
b(F)l(or)14 b(example,)g(in)h(order)f(to)g(\014nd)g(a)h(prime)e(n)o(um)o(b)q
(er)h(ab)q(out)h(10)1469 2141 y FI(20)1521 2159 y FH(in)f(size,)h(w)o(e)e
(only)i(ha)o(v)o(e)0 2231 y(to)j(test)g(ab)q(out)i(48)f(n)o(um)o(b)q(ers.)26
b(The)18 b(catc)o(h,)g(ho)o(w)o(ev)o(er,)f(is)i(to)f(test)g(suc)o(h)g(large)h
(n)o(um)o(b)q(ers)f(for)g(primalit)o(y)0 2303 y(in)f(a)g(mo)q(derate)f(amoun)
o(t)g(of)h(time.)73 2406 y(One)j(migh)o(t)g(con)o(template)g(using)i(trial)f
(division,)i(or)e(ev)o(en)e(Wilson's)j(theorem)d(|)h(whic)o(h)h(states)0
2478 y(that)16 b(a)g(n)o(um)o(b)q(er)f FB(n)g FH(is)h(prime)g(if)g(and)g
(only)g(if)g FB(n)g FH(divides)g(\()p FB(n)10 b Fx(\000)f FH(1\)!)h(+)f(1)16
b(without)h(remainder)e(|)h(in)g(order)0 2550 y(to)k(c)o(hec)o(k)e(for)i
(primalit)o(y)l(.)33 b(Rep)q(eated)19 b(trial)i(divisions)h(are)e(clearly)g
(v)o(ery)f(ine\016cien)o(t)g(b)q(ecause)h(ev)o(en)f(if)0 2622
y(one)d(w)o(ere)f(to)h(try)f(divisions)j(with)f(only)f(the)g(prime)g(n)o(um)o
(b)q(ers)f(b)q(et)o(w)o(een)g(1)h(and)g FB(n)g FH(|)f(not)o(withstanding)0
2695 y(the)g(fact)h(that)f(there)g(is)i(no)e(form)o(ula)h(for)g(generating)h
(them)e(|)g(one)g(still)j(has)e(to)g(conduct)f FB(O)q FH(\()p
FB(n=)8 b FH(log)k FB(n)p FH(\))951 2828 y(19)p eop
bop 0 195 a FH(divisions.)24 b(Since)16 b FB(n)g FH(is)h(enco)q(ded)g(in)f
Fx(d)p FH(log)s(\()p FB(n)11 b FH(+)g(1\))p Fx(e)16 b FH(bits,)h(rep)q(eated)
f(divisions)j(will)f(tak)o(e)d(exp)q(onen)o(tially)0 267 y(long.)38
b(F)l(urthermore,)21 b(the)h(sigh)o(t)g(of)f(the)h(factorial)h(should)g(disp)
q(el)g(an)o(y)e(hop)q(e)h(for)f(success)h(in)g(using)0 340
y(Wilson's)c(theorem)e(as)h(a)f(practical)i(test)e(for)g(primalit)o(y)l(.)73
442 y(Another)h(fundamen)o(tal)g(result)g(from)g(n)o(um)o(b)q(er)f(theory)g
(also)j(app)q(ears)f(promising.)24 b(Pierre)17 b(de)f(F)l(er-)0
514 y(mat,)k(a)g(F)l(renc)o(h)e(mathematician,)j(sho)o(w)o(ed)e(that)h(if)g
(a)f(n)o(um)o(b)q(er)g FB(n)h FH(is)g(prime)f(then,)h(for)f(all)i
FB(x)p FH(,)f FB(n)f FH(do)q(es)0 586 y(not)e(divide)h FB(x)e
FH(implies)i FB(n)f FH(divides)g FB(x)681 568 y Fw(n)p Ft(\000)p
FI(1)761 586 y Fx(\000)11 b FH(1)17 b([Sc)o(h84].)22 b(This)c(result)f(has)g
(b)q(ecome)g(kno)o(wn)f(as)i(F)l(ermat's)0 658 y(theorem,)d(not)h(to)g(b)q(e)
f(confused)h(with)h(his)f FF(last)g FH(theorem.)21 b(The)15
b(condition)i FB(n)f FH(divides)h FB(x)1645 640 y Fw(n)p Ft(\000)p
FI(1)1723 658 y Fx(\000)9 b FH(1)16 b(can)g(b)q(e)0 731 y(restated)g(as)h
FB(x)275 713 y Fw(n)p Ft(\000)p FI(1)357 731 y Fx(\021)d FH(1)50
b(\(mo)q(d)17 b FB(n)p FH(\),)f(whic)o(h)h(w)o(e)e(refer)h(to)g(as)h(F)l
(ermat's)f(congruence.)73 833 y(The)e(con)o(trap)q(ositiv)o(e)h(of)f(F)l
(ermat's)f(theorem)h(yields)g(a)h(tec)o(hnique)e(for)h(sho)o(wing)h(the)f
(comp)q(ositeness)0 905 y(of)i(a)f(n)o(um)o(b)q(er)g FB(n)p
FH(.)21 b(That)16 b(is,)g FB(n)f FH(can)h(b)q(e)f(pro)o(v)o(en)g(comp)q
(osite)h(if)g(w)o(e)f(can)h(\014nd)f(an)h FB(x)f FH(suc)o(h)g(that)h
FB(n)f FH(do)q(es)i(not)0 977 y(divide)f FB(x)f FH(or)g FB(x)273
959 y Fw(n)p Ft(\000)p FI(1)350 977 y Fx(\000)8 b FH(1)16 b(\(elemen)o(tary)e
(prop)q(erties)i(of)f(mo)q(dular)i(arithmetic)e(allo)o(w)i(the)e(latter)g
(condition)0 1050 y(to)h(b)q(e)f(v)o(eri\014ed)g(without)i(ev)o(er)d
(computing)i(the)f(n)o(um)o(b)q(er)f FB(x)1104 1032 y Fw(n)p
Ft(\000)p FI(1)1182 1050 y Fx(\000)9 b FH(1\).)21 b(Let)16
b(us)f(call)i(suc)o(h)e FB(x)g FF(witnesses)j(to)0 1122 y(the)h(c)n(omp)n
(ositeness)g(of)e FB(n)p FH(.)24 b(Note)17 b(that)h(a)g(reasonable)h(searc)o
(h)e(space)g(for)h FB(x)f FH(are)g(the)g(in)o(tegers)h(b)q(et)o(w)o(een)0
1194 y(1)f(and)f FB(n)c Fx(\000)e FH(1,)17 b(inclusiv)o(ely)l(,)g(as)f(these)
g(are)h(guaran)o(teed)f(not)h(to)g(b)q(e)f(divisible)i(b)o(y)e
FB(n)p FH(.)73 1296 y(The)g(problem)h(with)g(using)g(F)l(ermat's)e(theorem,)g
(ho)o(w)o(ev)o(er,)g(is)h(that)h(the)f(con)o(v)o(erse)e(of)j(the)f(theorem)0
1369 y(do)q(es)j(not)f(hold)h(and)g(there)e(therefore)h(exist)g(comp)q(osite)
h FB(n)f FH(b)q(earing)i(no)e(witnesses)h(to)g(their)f(comp)q(os-)0
1441 y(iteness.)37 b(Suc)o(h)21 b FB(n)h FH(are)f(kno)o(wn)h(as)g(the)f
FF(Carmichael)h(numb)n(ers)t FH(,)h(the)e(\014rst)h(three)e(of)i(whic)o(h)g
(are)f(561,)0 1513 y(1105,)15 b(and)g(1729.)22 b(In)o(terestingly)l(,)13
b(as)i(p)q(oin)o(ted)f(out)g(in)h([CLR90)q(],)e(Carmic)o(hael)h(n)o(um)o(b)q
(ers)g(are)f(extremely)0 1585 y(rare;)j(there)f(are,)h(for)h(example,)e(only)
i(255)g(of)g(them)f(less)g(than)h(100,000,000.)24 b(F)l(urthermore,)15
b(ev)o(en)g(if)i(a)0 1657 y(comp)q(osite)i FB(n)f FH(p)q(ossesses)i(a)e
(witness)i FB(x)p FH(,)d(i.e.,)h(it)g(is)h(not)g(a)f(Carmic)o(hael)h(n)o(um)o
(b)q(er,)f(there)f(is)i(no)g(ob)o(vious)0 1730 y(w)o(a)o(y)d(to)h(lo)q(cate)g
FB(x)p FH(.)73 1832 y(One)23 b(can)h(also)h(obtain)g(a)f(p)q(ositiv)o(e)h
(iden)o(ti\014cation)g(of)f(comp)q(osite)h(n)o(um)o(b)q(ers)e(using)i(the)e
(Lucas-)0 1904 y(Lehmer)g(heuristic)h([Leh27)q(]:)35 b FB(n)24
b FH(is)g(prime)f(if)h(and)g(only)h(if)f FB(x)1197 1886 y Fw(n)p
Ft(\000)p FI(1)1291 1904 y Fx(\021)i FH(1)50 b(\(mo)q(d)17
b FB(n)p FH(\))24 b FF(and)k FB(x)1769 1867 y Fv(n)p Fl(\000)p
Fq(1)p 1769 1874 59 2 v 1790 1894 a Fv(p)1861 1904 y Fx(6\021)e
FH(1)0 1976 y(\(mo)q(d)17 b FB(n)p FH(\),)e(for)h(eac)o(h)f(prime)h(factor)g
FB(p)g FH(of)f FB(n)10 b Fx(\000)g FH(1.)21 b(In)15 b(general,)h(the)f(prime)
h(factors)g(of)g FB(n)10 b Fx(\000)f FH(1)16 b(ma)o(y)f(not)h(b)q(e)0
2049 y(kno)o(wn.)21 b(Ho)o(w)o(ev)o(er,)14 b(this)i(test)g(can)f(b)q(e)h
(used)g(e\013ectiv)o(ely)f(if)h FB(n)e FH(=)g(2)1227 2031 y
Fw(m)1270 2049 y FH(+)c(1)16 b(for)g(some)f(p)q(ositiv)o(e)i(in)o(teger)f
FB(m)p FH(,)0 2121 y(a)h(rather)f(restricted)g(subset)h(of)f(the)g(in)o
(tegers.)73 2223 y(Let)i FB(n)f FH(=)f(\005)299 2205 y Fw(i)p
FI(=)p Fw(m)299 2235 y(i)p FI(=1)371 2223 y FB(p)395 2201 y
Fw(\027)412 2206 y Fv(i)395 2235 y Fw(i)446 2223 y FH(b)q(e)i(the)g(unique)g
(prime)f(factorization)j(of)e FB(n)p FH(.)26 b(De\014ne)18
b FB(\025)p FH(\()p FB(n)p FH(\))f(=)f(lcm)p Fx(f)p FB(p)1754
2201 y Fw(\027)1771 2206 y Fq(1)1789 2201 y Ft(\000)p FI(1)1754
2234 y(1)1836 2223 y FH(\()p FB(p)1879 2230 y FI(1)1911 2223
y Fx(\000)0 2295 y FH(1\))p FB(;)8 b FH(.)g(.)g(.)g FB(;)g(p)177
2277 y Fw(\027)194 2281 y Fv(m)224 2277 y Ft(\000)p FI(1)177
2308 y Fw(m)271 2295 y FH(\()p FB(p)314 2302 y Fw(m)362 2295
y Fx(\000)13 b FH(1\))p Fx(g)p FH(.)35 b(It)20 b(w)o(as)h(sho)o(wn)h(b)o(y)e
(Carmic)o(hael)h([Car12)q(],)g(of)g(the)f(Carmic)o(hael)i(n)o(um)o(b)q(ers)0
2368 y(fame,)d(that)g FB(n)g FH(satis\014es)h(F)l(ermat's)e(congruence)h(if)g
(and)h(only)g(if)f FB(\025)p FH(\()p FB(n)p FH(\))g(divides)h(\()p
FB(n)13 b Fx(\000)g FH(1\).)29 b(The)19 b(reader)0 2440 y(can)d(v)o(erify)g
(that)h FB(\025)p FH(\(561\))g(divides)h(560.)73 2542 y(In)e(ligh)o(t)h(of)f
(ab)q(o)o(v)o(e)g(theorem,)f(a)h(plausible)i(approac)o(h)f(to)f(testing)h
(primalit)o(y)g(|)f(actually)h(comp)q(os-)0 2614 y(iteness,)f(but)f(for)h(a)g
(deterministic)g(algorithm)i(that)e(alw)o(a)o(ys)g(terminates)g(with)g(the)f
(correct)g(answ)o(er,)g(it)0 2686 y(do)q(es)20 b(not)f(matter)g(|)f(is)i(as)f
(follo)o(ws.)32 b(Divide)19 b(comp)q(osite)h(n)o(um)o(b)q(ers)f(in)o(to)g(t)o
(w)o(o)g(categories)h(according)951 2828 y(20)p eop
bop 0 195 a FH(to)18 b(whether)g FB(\025)p FH(\()p FB(n)p FH(\))g(divides,)h
(or)f(do)q(es)h(not)f(divide,)g(\()p FB(n)13 b Fx(\000)e FH(1\).)27
b(If)17 b FB(\025)p FH(\()p FB(n)p FH(\))h(do)q(es)h(not)f(divide)h(\()p
FB(n)12 b Fx(\000)g FH(1\),)18 b(then)0 267 y(b)o(y)d(virtue)h(of)f(Carmic)o
(hael's)i(result,)e(one)h(can)g(use)f(F)l(ermat's)g(test.)21
b(On)15 b(the)h(other)f(hand,)h(if)g FB(\025)p FH(\()p FB(n)p
FH(\))g(do)q(es)0 340 y(divide)j(\()p FB(n)13 b Fx(\000)f FH(1\))18
b(a)h(new)f(test)g(is)i(necessary)l(.)27 b(If)17 b(an)i(attempt)f(to)h(place)
f(a)h(n)o(um)o(b)q(er)f(in)h(either)f(category)0 412 y(fails,)f(it)g(m)o(ust)
f(b)q(e)g(prime.)73 526 y(A)c(v)m(ariation)j(of)e(the)f(ab)q(o)o(v)o(e)h
(strategy)g(w)o(as)g(emplo)o(y)o(ed)e(b)o(y)h(G.)h(Miller)g(in)h(a)e(pap)q
(er)i(that)f(has)g(pro)o(v)o(en)f(to)0 611 y(b)q(e)17 b(v)o(ery)e(useful)i
(in)g(primalit)o(y)g(testing)h([Mil76)q(].)j(This)d(pap)q(er)f(de\014ned)f
(the)g(basic)i(concepts)e(that)h(w)o(ere)0 696 y(later)e(used)f(b)o(y)g
(Rabin)i(to)e(deriv)o(e)g(a)h(probabilistic)i(algorithm)g(for)d(primalit)o(y)
i(testing.)21 b(T)l(o)15 b(arriv)o(e)f(at)h(his)0 781 y(algorithm)21
b(for)e(primalit)o(y)h(testing,)g(Miller)f(divided)h(the)e(comp)q(osite)i(n)o
(um)o(b)q(ers)f(as)g(suggested)h(ab)q(o)o(v)o(e.)0 865 y(Ho)o(w)o(ev)o(er,)10
b(instead)i(of)f(using)i(Carmic)o(hael's)e FB(\025)p FH(-function,)i(he)e
(used)g FB(\025)1264 847 y Ft(0)1277 865 y FH(\()p FB(n)p FH(\))i(=)h(lcm)p
Fx(f)p FH(\()p FB(p)1553 872 y FI(1)1574 865 y Fx(\000)p FH(1\))p
FB(;)8 b FH(.)g(.)g(.)g FB(;)g FH(\()p FB(p)1809 872 y Fw(m)1843
865 y Fx(\000)p FH(1\))p Fx(g)0 950 y FH(to)16 b(pare)g(do)o(wn)g(the)f(set)g
(of)h(comp)q(osite)h(n)o(um)o(b)q(ers)e(that)h(satisfy)g(F)l(ermat's)f
(congruence.)21 b(The)15 b(follo)o(wing)0 1035 y(is)i(a)g(simpli\014ed)g(v)o
(ersion)g(of)g(Miller's)g(algorithm.)23 b(In)16 b(this)h(algorithm,)h
FB(f)j FH(is)c(a)g(computable)g(function.)0 1191 y Fy(PrimeT)m(est)e(\(Mil)r
(ler\))24 b Fp(f)g Fo(\(*)f(a)h(deterministic)e(algorithm)h(for)g(primality)g
(testing)g(*\))143 1275 y(Input)g Fn(n)143 1360 y Fo(If)g Fn(n)h
Fo(is)g(a)g(perfect)f(power,)g(say)g Fn(m)878 1344 y Fw(s)896
1360 y Fo(,)h(output)f(`composite')g(and)g(HALT)143 1445 y(REPEAT)g(FOR)g
(EACH)g Fn(x)13 b Fp(\024)g Fn(f)5 b Fz(\()p Fn(n)p Fz(\))24
b Fp(f)285 1529 y Fo(\(1\))g(if)f Fn(x)h Fo(divides)f Fn(n)p
Fo(,)h(output)f(`composite')g(and)g(HALT)285 1614 y(\(2\))h(if)f
Fn(x)478 1598 y Fw(n)p Ft(\000)p FI(1)560 1614 y Fp(6\021)13
b Fz(1)45 b(\(mo)q(d)14 b Fn(n)p Fz(\))p Fo(,)23 b(output)g(`composite')g
(and)g(HALT)285 1699 y(\(3\))h(if)f(there)h(is)f(an)h Fn(i)f
Fo(such)h(that)1022 1681 y Fw(n)p Ft(\000)p FI(1)p 1022 1688
67 2 v 1040 1716 a(2)1058 1706 y Fv(i)1106 1699 y Fz(=)13 b
Fn(m)24 b Fo(is)f(integral,)381 1784 y(and)g Fz(1)13 b Fn(<)g
Fz(gcd\()p Fn(x)672 1767 y Fw(m)715 1784 y Fp(\000)d Fz(1)p
Fn(;)e(n)p Fz(\))k Fn(<)h(n)p Fo(,)24 b(output)f(`composite')f(and)i(HALT)285
1868 y Fp(g)143 1953 y Fo(output)f(`prime')g(and)g(HALT)0 2038
y Fp(g)73 2266 y FH(Miller)e(used)e(the)g FB(\025)448 2248
y Ft(0)480 2266 y FH(function)h(to)g(c)o(haracterize)e(the)i(class)g(of)g
(comp)q(osite)g(n)o(um)o(b)q(ers)f(that)h(satisfy)0 2338 y(F)l(ermat's)12
b(congruence.)19 b(He)12 b(pro)o(v)o(ed)g(that)h(a)g(function)g
FB(f)18 b FH(can)12 b(b)q(e)h(de\014ned)f(suc)o(h)g(that,)i(if)f
FB(n)f FH(is)h(comp)q(osite,)0 2410 y(then)19 b(b)o(y)f(testing)i(conditions)
h(\(1\))e(through)h(\(3\))f(rep)q(eatedly)l(,)g(for)g(all)h
FB(x)e Fx(\024)g FB(f)5 b FH(\()p FB(n)p FH(\),)20 b(the)e(algorithm)j(will)0
2483 y(indeed)12 b(iden)o(tify)g FB(n)f FH(as)h(comp)q(osite.)21
b(F)l(urthermore,)11 b FB(f)5 b FH(\()p FB(n)p FH(\))12 b(can)g(b)q(e)g
(de\014ned)f(so)h(that)g(the)g(ab)q(o)o(v)o(e)f(algorithm)0
2555 y(terminates)16 b(in)h FB(O)q FH(\()p FB(n)389 2523 y
Fq(1)p 389 2529 16 2 v 389 2550 a(7)412 2555 y FH(\))e(steps.)22
b(Since)16 b FB(n)g FH(is)g(giv)o(en)g(in)h Fx(d)p FH(log)r(\()p
FB(n)10 b FH(+)h(1\))p Fx(e)16 b FH(bits,)g FB(O)q FH(\()p
FB(n)1464 2523 y Fq(1)p 1465 2529 V 1465 2550 a(7)1487 2555
y FH(\))g(is)h(still)g(exp)q(onen)o(tially)0 2627 y(long.)29
b(Using)19 b(the)f(Extended)g(Riemann)g(Hyp)q(othesis)h(\(ERH\),)f(ho)o(w)o
(ev)o(er,)f(Miller)i(pro)o(v)o(ed)f(that)g FB(f)24 b FH(can)0
2699 y(b)q(e)e(de\014ned)g(so)g(that)g(a)g(sligh)o(tly)i(more)d(complex)h(v)o
(ersion)g(of)g(the)g(ab)q(o)o(v)o(e)g(algorithm)h(terminates)f(in)951
2828 y(21)p eop
bop 0 195 a FB(O)q FH(\()p FB(\021)83 177 y FI(4)111 195 y
FH(log)11 b(log)f FB(\021)r FH(\))15 b(steps,)g(where)g FB(\021)h
FH(=)e Fx(d)p FH(log)r(\()p FB(n)9 b FH(+)g(1\))p Fx(e)16 b
FH(denotes)g(the)f(length)h(of)f(the)g(binary)i(represen)o(tation)0
267 y(of)j FB(n)p FH(.)31 b(Th)o(us,)20 b(the)g(primalit)o(y)g(of)g(a)g(n)o
(um)o(b)q(er)f(can)h(b)q(e)g(determined)f(deterministically)i(in)f(p)q
(olynomial)0 340 y(time)c(assuming)i(ERH.)73 442 y(Lik)o(e)c(b)q(efore,)g
(let)g(us)g(call)h(an)o(y)f(n)o(um)o(b)q(er)f FB(x)g FH(b)q(et)o(w)o(een)g(1)
h(and)g FB(n)g FH(for)g(whic)o(h)g(at)g(least)h(one)f(of)g(conditions)0
514 y(\(2\))g(and)g(\(3\))f(in)h(the)g(main)g(b)q(o)q(dy)g(of)g(the)f(ab)q(o)
o(v)o(e)g(algorithm)j(is)e(true)f(a)h(witness)g(to)g(the)f(comp)q(ositeness)i
(of)0 586 y FB(n)p FH(.)23 b(A)16 b(k)o(ey)f(observ)m(ation)k(whic)o(h)e(mak)
o(es)f(randomized)h(testing)g(for)g(primalit)o(y)h(feasible)g(is)f(that)g
(there)f(is)0 658 y(an)i(abundance)f(of)h(witnesses)g(for)f(comp)q
(ositeness.)25 b(The)17 b(probabilit)o(y)i(that)f(a)f(n)o(um)o(b)q(er)g(is)g
(comp)q(osite,)0 731 y(and)g(conditions)h(\(2\))e(and)h(\(3\))g(are)f(not)g
(satis\014ed)i(is)f(v)o(ery)e(small.)22 b(In)16 b(fact,)g(Rabin)h([Rab76)q(])
e(has)i(sho)o(wn)0 803 y(that)c(more)f(than)i(half)f(the)g(v)m(alues)g(of)g
FB(x)h Fx(2)g(f)p FH(1)p FB(;)8 b FH(2)p FB(;)g(:::;)g(n)t
Fx(\000)t FH(1)p Fx(g)j FH(satisfy)j(\(2\))f(or)g(\(3\))g(if)g
FB(n)g FH(is)g(indeed)g(comp)q(osite)0 875 y(\(see,)20 b(also,)h([CLR90)q(],)
g(Theorem)e(33.38\).)34 b(Monier)21 b([Mon80])f(has)h(subsequen)o(tly)f
(strengthened)g(this)0 947 y(result)d(b)o(y)e(sho)o(wing)j(that)e(at)h(least)
g(3)p FB(=)p FH(4)g(of)f(the)g FB(x)g FH(are)g(witnesses.)22
b(Ev)o(en)15 b(though)i(Miller's)g(p)q(olynomial)0 1020 y(time)j(algorithm)j
(for)e(testing)h(primalit)o(y)f(requires)g(the)f(ERH,)g(these)g(results)i(ab)
q(out)g(the)e(densit)o(y)h(of)0 1092 y(witnesses)c(holds)h(in)f(general)g
(and)g(can)f(b)q(e)g(pro)o(v)o(ed)g(without)h(recourse)f(to)h(this)g(h)o(yp)q
(othesis.)73 1194 y(Figure)f(2)f(illustrates)j(the)c(high)j(densit)o(y)e(of)g
(witnesses)h(to)g(comp)q(ositeness.)22 b(The)15 b(\014gure)g(sho)o(ws,)h(for)
0 1266 y(eac)o(h)d(in)o(teger)h FB(n)g FH(in)h(the)f(range)g(10,000)h(to)g
(12,000,)g(the)f(p)q(ercen)o(tage)f(of)i(in)o(tegers)f(b)q(et)o(w)o(een)f(1)h
(and)h FB(n)f FH(that)0 1339 y(are)k(witnesses)h(to)g(the)f(comp)q(ositeness)
h(of)g FB(n)p FH(.)27 b(As)18 b(can)h(b)q(e)f(seen,)g(if)g(the)g(n)o(um)o(b)q
(er)g(is)h(comp)q(osite,)g(then)0 1411 y(the)g(p)q(ercen)o(tage)f(of)h
(witnesses)h(in)g(this)g(range)f(of)g(n)o(um)o(b)q(ers)g(is)h(almost)g(alw)o
(a)o(ys)f(more)g(than)g(98\045;)i(for)0 1483 y(only)16 b(ab)q(out)h(18)g(n)o
(um)o(b)q(ers)e(out)h(of)g(2000,)h(the)f(p)q(ercen)o(tage)f(of)h(witnesses)h
(lies)f(in)h(the)e(85)i(to)f(98\045)g(range.)0 1555 y(As)j(is)h(to)f(b)q(e)g
(exp)q(ected,)f(for)h(primes)h(there)e(are)h(no)g(witnesses,)h(resulting)h
(in)f(a)f(sparse)h(set)e(of)i(p)q(oin)o(ts)0 1627 y(along)e
FB(y)d FH(=)f(0.)73 1742 y(Miller)21 b(witnesses,)f(in)g(conjunction)h(with)f
(Rabin's)g(result)g(ab)q(out)h(their)f(densit)o(y)l(,)f(giv)o(es)h(a)g
(rather)0 1827 y(p)q(o)o(w)o(erful)d(primalit)o(y)g(testing)g(algorithm:)0
1983 y Fy(PrimeT)m(est)e(\(R)n(abin\))24 b Fp(f)g Fo(\(*)f(a)h(probabilistic)
e(algorithm)h(for)g(primality)g(testing*\))143 2068 y(Input)g
Fn(n)143 2152 y Fo(REPEAT)g Fn(r)h Fo(times)p Fp(f)285 2237
y Fo(\(1\))g(randomly)f(pick)g(an)g Fn(x)h Fo(between)f(1)h(and)f
Fn(n)285 2322 y Fo(\(2\))h(if)f Fn(x)478 2305 y Fw(n)p Ft(\000)p
FI(1)560 2322 y Fp(6\021)13 b Fz(1)45 b(\(mo)q(d)14 b Fn(n)p
Fz(\))p Fo(,)23 b(output)g(`composite')g(and)g(HALT)285 2406
y(\(3\))h(if)f(there)h(is)f(an)h Fn(i)f Fo(such)h(that)1022
2389 y Fw(n)p Ft(\000)p FI(1)p 1022 2396 67 2 v 1040 2424 a(2)1058
2414 y Fv(i)1106 2406 y Fz(=)13 b Fn(m)24 b Fo(is)f(integral,)381
2491 y(and)g Fz(1)13 b Fn(<)g Fz(gcd\()p Fn(x)672 2475 y Fw(m)715
2491 y Fp(\000)d Fz(1)p Fn(;)e(n)p Fz(\))k Fn(<)h(n)p Fo(,)24
b(output)f(`composite')f(and)i(HALT)285 2576 y Fp(g)143 2660
y Fo(output)f(`prime')g(and)g(HALT)951 2828 y FH(22)p eop
bop -75 758 a
 33154007 25197040 4736286 26049576 35522150 49731010 startTexFig
-75 758 a
%%BeginDocument: witnesses.ps


initgraphics  erasepage



/unscale {scale_pic div 72 mul} def

/rot_pic 0.0 def
/scale_pic .5706 def
/tranx_pic 1.1118 def    /trany_pic 5.65 def
/font_spec {/Times-Roman findfont} def

/move_up {0.0 unscale 5.15 unscale translate} def
/move_down {0.0 unscale -5.15 unscale translate} def
/switch 0 def
/print_pic {switch 0 eq 
	{move_down /switch 1 def} 
	{copypage erasepage move_up /switch 0 def} 
	ifelse } def

/print_last_page {switch 1 eq {copypage /switch 0 def} if} def

rot_pic rotate
scale_pic scale_pic scale
tranx_pic unscale trany_pic unscale translate

/largefont font_spec 2.000000e+01 scalefont def
/smallfont font_spec 1.400000e+01 scalefont def

/solid   { []        0 setdash } def
/dotted  { [0 4]     0 setdash } def
/dashed  { [4]       0 setdash } def
/dotdash { [0 4 3 4] 0 setdash } def

/centre {stringwidth pop 2 div neg 0 rmoveto} def
/right  {stringwidth pop neg 0 rmoveto} def
/centre_rot90 
{translate 90 rotate 0 0 moveto centre show 0 0 moveto -90 rotate translate} def

.5 setlinewidth   1 setlinecap   1 setlinejoin

/N {newpath} def /M {moveto}  def /L { {lineto} repeat stroke} def
solid
N
78.09  77.33  757.00 77.33  757.00 570.67 78.09  570.67 78.09  77.33  
M 4 L
N
78.09  77.33  84.83  77.33  
M 1 L
N
750.27 77.33  757.00 77.33  
M 1 L
largefont setfont
 73.09  71.33 M
(-20)
right
(-20) show
N
78.09  147.81 84.83  147.81 
M 1 L
N
750.27 147.81 757.00 147.81 
M 1 L
largefont setfont
 73.09 141.81 M
(0)
right
(0) show
N
78.09  218.28 84.83  218.28 
M 1 L
N
750.27 218.28 757.00 218.28 
M 1 L
largefont setfont
 73.09 212.28 M
(20)
right
(20) show
N
78.09  288.76 84.83  288.76 
M 1 L
N
750.27 288.76 757.00 288.76 
M 1 L
largefont setfont
 73.09 282.76 M
(40)
right
(40) show
N
78.09  359.24 84.83  359.24 
M 1 L
N
750.27 359.24 757.00 359.24 
M 1 L
largefont setfont
 73.09 353.24 M
(60)
right
(60) show
N
78.09  429.72 84.83  429.72 
M 1 L
N
750.27 429.72 757.00 429.72 
M 1 L
largefont setfont
 73.09 423.72 M
(80)
right
(80) show
N
78.09  500.19 84.83  500.19 
M 1 L
N
750.27 500.19 757.00 500.19 
M 1 L
largefont setfont
 73.09 494.19 M
(100)
right
(100) show
N
78.09  570.67 84.83  570.67 
M 1 L
N
750.27 570.67 757.00 570.67 
M 1 L
largefont setfont
 73.09 564.67 M
(120)
right
(120) show
N
78.09  77.33  78.09  82.53  
M 1 L
N
78.09  565.47 78.09  570.67 
M 1 L
largefont setfont
 78.09  55.33 M
(1)
centre
(1) show
N
145.98 77.33  145.98 82.53  
M 1 L
N
145.98 565.47 145.98 570.67 
M 1 L
largefont setfont
145.98  55.33 M
(1.02)
centre
(1.02) show
N
213.87 77.33  213.87 82.53  
M 1 L
N
213.87 565.47 213.87 570.67 
M 1 L
largefont setfont
213.87  55.33 M
(1.04)
centre
(1.04) show
N
281.77 77.33  281.77 82.53  
M 1 L
N
281.77 565.47 281.77 570.67 
M 1 L
largefont setfont
281.77  55.33 M
(1.06)
centre
(1.06) show
N
349.66 77.33  349.66 82.53  
M 1 L
N
349.66 565.47 349.66 570.67 
M 1 L
largefont setfont
349.66  55.33 M
(1.08)
centre
(1.08) show
N
417.55 77.33  417.55 82.53  
M 1 L
N
417.55 565.47 417.55 570.67 
M 1 L
largefont setfont
417.55  55.33 M
(1.1)
centre
(1.1) show
N
485.44 77.33  485.44 82.53  
M 1 L
N
485.44 565.47 485.44 570.67 
M 1 L
largefont setfont
485.44  55.33 M
(1.12)
centre
(1.12) show
N
553.33 77.33  553.33 82.53  
M 1 L
N
553.33 565.47 553.33 570.67 
M 1 L
largefont setfont
553.33  55.33 M
(1.14)
centre
(1.14) show
N
621.22 77.33  621.22 82.53  
M 1 L
N
621.22 565.47 621.22 570.67 
M 1 L
largefont setfont
621.22  55.33 M
(1.16)
centre
(1.16) show
N
689.11 77.33  689.11 82.53  
M 1 L
N
689.11 565.47 689.11 570.67 
M 1 L
largefont setfont
689.11  55.33 M
(1.18)
centre
(1.18) show
N
757.00 77.33  757.00 82.53  
M 1 L
N
757.00 565.47 757.00 570.67 
M 1 L
largefont setfont
757.00  55.33 M
(1.2)
centre
(1.2) show
largefont setfont
737.00  14.00 M
(x)
right
(x) show
largefont setfont
757.00  14.00 M
(10)
right
(10) show
smallfont setfont
758.00  18.80 M
(4) show
smallfont setfont
76.04  498.84 M (.) show  
76.38  495.32 M (.) show  76.72  498.84 M (.) show  
77.06  495.32 M (.) show  77.40  498.84 M (.) show  
77.74  495.32 M (.) show  78.08  498.84 M (.) show  
78.42  146.46 M (.) show  78.76  498.84 M (.) show  
79.10  146.46 M (.) show  79.44  498.84 M (.) show  
79.78  495.32 M (.) show  80.12  495.32 M (.) show  
80.46  495.32 M (.) show  80.80  498.84 M (.) show  
81.14  495.32 M (.) show  81.47  498.84 M (.) show  
81.81  495.32 M (.) show  82.15  498.84 M (.) show  
82.49  495.32 M (.) show  82.83  498.84 M (.) show  
83.17  495.32 M (.) show  83.51  498.84 M (.) show  
83.85  495.32 M (.) show  84.19  495.32 M (.) show  
84.53  495.32 M (.) show  84.87  498.84 M (.) show  
85.21  491.79 M (.) show  85.55  498.84 M (.) show  
85.89  495.32 M (.) show  86.23  498.84 M (.) show  
86.57  495.32 M (.) show  86.91  498.84 M (.) show  
87.25  495.32 M (.) show  87.58  498.84 M (.) show  
87.92  495.32 M (.) show  88.26  495.32 M (.) show  
88.60  146.46 M (.) show  88.94  498.84 M (.) show  
89.28  146.46 M (.) show  89.62  498.84 M (.) show  
89.96  495.32 M (.) show  90.30  498.84 M (.) show  
90.64  495.32 M (.) show  90.98  498.84 M (.) show  
91.32  495.32 M (.) show  91.66  498.84 M (.) show  
92.00  495.32 M (.) show  92.34  495.32 M (.) show  
92.68  495.32 M (.) show  93.02  498.84 M (.) show  
93.36  495.32 M (.) show  93.70  498.84 M (.) show  
94.03  495.32 M (.) show  94.37  495.32 M (.) show  
94.71  495.32 M (.) show  95.05  498.84 M (.) show  
95.39  495.32 M (.) show  95.73  498.84 M (.) show  
96.07  495.32 M (.) show  96.41  498.84 M (.) show  
96.75  146.46 M (.) show  97.09  498.84 M (.) show  
97.43  495.32 M (.) show  97.77  498.84 M (.) show  
98.11  495.32 M (.) show  98.45  495.32 M (.) show  
98.79  146.46 M (.) show  99.13  498.84 M (.) show  
99.47  146.46 M (.) show  99.81  498.84 M (.) show  
100.14 495.32 M (.) show  100.48 498.84 M (.) show  
100.82 495.32 M (.) show  101.16 498.84 M (.) show  
101.50 495.32 M (.) show  101.84 495.32 M (.) show  
102.18 495.32 M (.) show  102.52 498.84 M (.) show  
102.86 146.46 M (.) show  103.20 498.84 M (.) show  
103.54 495.32 M (.) show  103.88 498.84 M (.) show  
104.22 495.32 M (.) show  104.56 495.32 M (.) show  
104.90 495.32 M (.) show  105.24 495.32 M (.) show  
105.58 495.32 M (.) show  105.92 498.84 M (.) show  
106.25 495.32 M (.) show  106.59 495.32 M (.) show  
106.93 146.46 M (.) show  107.27 498.84 M (.) show  
107.61 146.46 M (.) show  107.95 498.84 M (.) show  
108.29 495.32 M (.) show  108.63 495.32 M (.) show  
108.97 495.32 M (.) show  109.31 498.84 M (.) show  
109.65 146.46 M (.) show  109.99 498.84 M (.) show  
110.33 495.32 M (.) show  110.67 498.84 M (.) show  
111.01 146.46 M (.) show  111.35 498.84 M (.) show  
111.69 495.32 M (.) show  112.03 495.32 M (.) show  
112.37 495.32 M (.) show  112.70 495.32 M (.) show  
113.04 495.32 M (.) show  113.38 498.84 M (.) show  
113.72 146.46 M (.) show  114.06 498.84 M (.) show  
114.40 495.32 M (.) show  114.74 495.32 M (.) show  
115.08 495.32 M (.) show  115.42 495.32 M (.) show  
115.76 495.32 M (.) show  116.10 498.84 M (.) show  
116.44 495.32 M (.) show  116.78 498.84 M (.) show  
117.12 495.32 M (.) show  117.46 498.84 M (.) show  
117.80 495.32 M (.) show  118.14 498.84 M (.) show  
118.48 495.32 M (.) show  118.81 495.32 M (.) show  
119.15 495.32 M (.) show  119.49 498.84 M (.) show  
119.83 495.32 M (.) show  120.17 498.84 M (.) show  
120.51 495.32 M (.) show  120.85 498.84 M (.) show  
121.19 146.46 M (.) show  121.53 498.84 M (.) show  
121.87 495.32 M (.) show  122.21 495.32 M (.) show  
122.55 495.32 M (.) show  122.89 495.32 M (.) show  
123.23 146.46 M (.) show  123.57 498.84 M (.) show  
123.91 146.46 M (.) show  124.25 498.84 M (.) show  
124.59 495.32 M (.) show  124.92 498.84 M (.) show  
125.26 495.32 M (.) show  125.60 498.84 M (.) show  
125.94 495.32 M (.) show  126.28 498.84 M (.) show  
126.62 495.32 M (.) show  126.96 495.32 M (.) show  
127.30 146.46 M (.) show  127.64 498.84 M (.) show  
127.98 495.32 M (.) show  128.32 498.84 M (.) show  
128.66 495.32 M (.) show  129.00 495.32 M (.) show  
129.34 495.32 M (.) show  129.68 498.84 M (.) show  
130.02 146.46 M (.) show  130.36 498.84 M (.) show  
130.70 495.32 M (.) show  131.04 498.84 M (.) show  
131.37 146.46 M (.) show  131.71 498.84 M (.) show  
132.05 495.32 M (.) show  132.39 498.84 M (.) show  
132.73 495.32 M (.) show  133.07 495.32 M (.) show  
133.41 146.46 M (.) show  133.75 498.84 M (.) show  
134.09 495.32 M (.) show  134.43 498.84 M (.) show  
134.77 495.32 M (.) show  135.11 498.84 M (.) show  
135.45 495.32 M (.) show  135.79 498.84 M (.) show  
136.13 146.46 M (.) show  136.47 498.84 M (.) show  
136.81 495.32 M (.) show  137.15 498.84 M (.) show  
137.48 146.46 M (.) show  137.82 498.84 M (.) show  
138.16 495.32 M (.) show  138.50 498.84 M (.) show  
138.84 495.32 M (.) show  139.18 491.79 M (.) show  
139.52 495.32 M (.) show  139.86 498.84 M (.) show  
140.20 495.32 M (.) show  140.54 498.84 M (.) show  
140.88 495.32 M (.) show  141.22 495.32 M (.) show  
141.56 146.46 M (.) show  141.90 498.84 M (.) show  
142.24 495.32 M (.) show  142.58 498.84 M (.) show  
142.92 495.32 M (.) show  143.26 498.84 M (.) show  
143.59 495.32 M (.) show  143.93 498.84 M (.) show  
144.27 495.32 M (.) show  144.61 498.84 M (.) show  
144.95 495.32 M (.) show  145.29 495.32 M (.) show  
145.63 495.32 M (.) show  145.97 498.84 M (.) show  
146.31 495.32 M (.) show  146.65 498.84 M (.) show  
146.99 495.32 M (.) show  147.33 495.32 M (.) show  
147.67 146.46 M (.) show  148.01 498.84 M (.) show  
148.35 495.32 M (.) show  148.69 498.84 M (.) show  
149.03 495.32 M (.) show  149.37 498.84 M (.) show  
149.70 495.32 M (.) show  150.04 498.84 M (.) show  
150.38 495.32 M (.) show  150.72 498.84 M (.) show  
151.06 495.32 M (.) show  151.40 495.32 M (.) show  
151.74 146.46 M (.) show  152.08 498.84 M (.) show  
152.42 495.32 M (.) show  152.76 498.84 M (.) show  
153.10 495.32 M (.) show  153.44 495.32 M (.) show  
153.78 495.32 M (.) show  154.12 498.84 M (.) show  
154.46 495.32 M (.) show  154.80 498.84 M (.) show  
155.14 495.32 M (.) show  155.48 495.32 M (.) show  
155.82 495.32 M (.) show  156.15 498.84 M (.) show  
156.49 495.32 M (.) show  156.83 498.84 M (.) show  
157.17 495.32 M (.) show  157.51 498.84 M (.) show  
157.85 495.32 M (.) show  158.19 498.84 M (.) show  
158.53 146.46 M (.) show  158.87 498.84 M (.) show  
159.21 495.32 M (.) show  159.55 495.32 M (.) show  
159.89 146.46 M (.) show  160.23 498.84 M (.) show  
160.57 495.32 M (.) show  160.91 498.84 M (.) show  
161.25 495.32 M (.) show  161.59 498.84 M (.) show  
161.93 146.46 M (.) show  162.26 498.84 M (.) show  
162.60 495.32 M (.) show  162.94 495.32 M (.) show  
163.28 495.32 M (.) show  163.62 495.32 M (.) show  
163.96 146.46 M (.) show  164.30 498.84 M (.) show  
164.64 481.22 M (.) show  164.98 498.84 M (.) show  
165.32 495.32 M (.) show  165.66 498.84 M (.) show  
166.00 495.32 M (.) show  166.34 498.84 M (.) show  
166.68 146.46 M (.) show  167.02 498.84 M (.) show  
167.36 495.32 M (.) show  167.70 495.32 M (.) show  
168.04 146.46 M (.) show  168.37 498.84 M (.) show  
168.71 146.46 M (.) show  169.05 498.84 M (.) show  
169.39 495.32 M (.) show  169.73 495.32 M (.) show  
170.07 495.32 M (.) show  170.41 498.84 M (.) show  
170.75 491.79 M (.) show  171.09 498.84 M (.) show  
171.43 495.32 M (.) show  171.77 495.32 M (.) show  
172.11 495.32 M (.) show  172.45 498.84 M (.) show  
172.79 495.32 M (.) show  173.13 498.84 M (.) show  
173.47 495.32 M (.) show  173.81 495.32 M (.) show  
174.15 146.46 M (.) show  174.49 498.84 M (.) show  
174.82 495.32 M (.) show  175.16 495.32 M (.) show  
175.50 495.32 M (.) show  175.84 498.84 M (.) show  
176.18 495.32 M (.) show  176.52 495.32 M (.) show  
176.86 495.32 M (.) show  177.20 498.84 M (.) show  
177.54 495.32 M (.) show  177.88 495.32 M (.) show  
178.22 146.46 M (.) show  178.56 498.84 M (.) show  
178.90 146.46 M (.) show  179.24 498.84 M (.) show  
179.58 495.32 M (.) show  179.92 498.84 M (.) show  
180.26 495.32 M (.) show  180.60 495.32 M (.) show  
180.93 495.32 M (.) show  181.27 498.84 M (.) show  
181.61 495.32 M (.) show  181.95 495.32 M (.) show  
182.29 146.46 M (.) show  182.63 498.84 M (.) show  
182.97 495.32 M (.) show  183.31 498.84 M (.) show  
183.65 495.32 M (.) show  183.99 495.32 M (.) show  
184.33 495.32 M (.) show  184.67 498.84 M (.) show  
185.01 146.46 M (.) show  185.35 498.84 M (.) show  
185.69 495.32 M (.) show  186.03 498.84 M (.) show  
186.37 495.32 M (.) show  186.71 495.32 M (.) show  
187.04 495.32 M (.) show  187.38 498.84 M (.) show  
187.72 495.32 M (.) show  188.06 495.32 M (.) show  
188.40 146.46 M (.) show  188.74 498.84 M (.) show  
189.08 146.46 M (.) show  189.42 498.84 M (.) show  
189.76 495.32 M (.) show  190.10 495.32 M (.) show  
190.44 146.46 M (.) show  190.78 498.84 M (.) show  
191.12 495.32 M (.) show  191.46 498.84 M (.) show  
191.80 495.32 M (.) show  192.14 498.84 M (.) show  
192.48 146.46 M (.) show  192.82 498.84 M (.) show  
193.15 495.32 M (.) show  193.49 498.84 M (.) show  
193.83 495.32 M (.) show  194.17 495.32 M (.) show  
194.51 484.75 M (.) show  194.85 498.84 M (.) show  
195.19 495.32 M (.) show  195.53 498.84 M (.) show  
195.87 495.32 M (.) show  196.21 495.32 M (.) show  
196.55 495.32 M (.) show  196.89 498.84 M (.) show  
197.23 146.46 M (.) show  197.57 498.84 M (.) show  
197.91 495.32 M (.) show  198.25 495.32 M (.) show  
198.59 495.32 M (.) show  198.93 495.32 M (.) show  
199.27 495.32 M (.) show  199.60 498.84 M (.) show  
199.94 495.32 M (.) show  200.28 495.32 M (.) show  
200.62 495.32 M (.) show  200.96 498.84 M (.) show  
201.30 146.46 M (.) show  201.64 498.84 M (.) show  
201.98 495.32 M (.) show  202.32 495.32 M (.) show  
202.66 495.32 M (.) show  203.00 498.84 M (.) show  
203.34 495.32 M (.) show  203.68 498.84 M (.) show  
204.02 495.32 M (.) show  204.36 498.84 M (.) show  
204.70 495.32 M (.) show  205.04 498.84 M (.) show  
205.38 495.32 M (.) show  205.71 495.32 M (.) show  
206.05 495.32 M (.) show  206.39 498.84 M (.) show  
206.73 495.32 M (.) show  207.07 498.84 M (.) show  
207.41 495.32 M (.) show  207.75 495.32 M (.) show  
208.09 495.32 M (.) show  208.43 495.32 M (.) show  
208.77 146.46 M (.) show  209.11 498.84 M (.) show  
209.45 495.32 M (.) show  209.79 498.84 M (.) show  
210.13 495.32 M (.) show  210.47 495.32 M (.) show  
210.81 495.32 M (.) show  211.15 498.84 M (.) show  
211.49 146.46 M (.) show  211.82 498.84 M (.) show  
212.16 495.32 M (.) show  212.50 495.32 M (.) show  
212.84 495.32 M (.) show  213.18 498.84 M (.) show  
213.52 495.32 M (.) show  213.86 495.32 M (.) show  
214.20 495.32 M (.) show  214.54 498.84 M (.) show  
214.88 495.32 M (.) show  215.22 498.84 M (.) show  
215.56 495.32 M (.) show  215.90 498.84 M (.) show  
216.24 495.32 M (.) show  216.58 495.32 M (.) show  
216.92 495.32 M (.) show  217.26 495.32 M (.) show  
217.60 495.32 M (.) show  217.94 498.84 M (.) show  
218.27 495.32 M (.) show  218.61 498.84 M (.) show  
218.95 495.32 M (.) show  219.29 498.84 M (.) show  
219.63 495.32 M (.) show  219.97 495.32 M (.) show  
220.31 495.32 M (.) show  220.65 495.32 M (.) show  
220.99 146.46 M (.) show  221.33 498.84 M (.) show  
221.67 146.46 M (.) show  222.01 498.84 M (.) show  
222.35 495.32 M (.) show  222.69 495.32 M (.) show  
223.03 146.46 M (.) show  223.37 498.84 M (.) show  
223.71 495.32 M (.) show  224.05 498.84 M (.) show  
224.38 495.32 M (.) show  224.72 495.32 M (.) show  
225.06 495.32 M (.) show  225.40 498.84 M (.) show  
225.74 495.32 M (.) show  226.08 498.84 M (.) show  
226.42 495.32 M (.) show  226.76 495.32 M (.) show  
227.10 495.32 M (.) show  227.44 495.32 M (.) show  
227.78 495.32 M (.) show  228.12 498.84 M (.) show  
228.46 495.32 M (.) show  228.80 495.32 M (.) show  
229.14 495.32 M (.) show  229.48 498.84 M (.) show  
229.82 146.46 M (.) show  230.16 498.84 M (.) show  
230.49 495.32 M (.) show  230.83 498.84 M (.) show  
231.17 146.46 M (.) show  231.51 498.84 M (.) show  
231.85 146.46 M (.) show  232.19 498.84 M (.) show  
232.53 495.32 M (.) show  232.87 498.84 M (.) show  
233.21 146.46 M (.) show  233.55 498.84 M (.) show  
233.89 495.32 M (.) show  234.23 498.84 M (.) show  
234.57 495.32 M (.) show  234.91 495.32 M (.) show  
235.25 495.32 M (.) show  235.59 495.32 M (.) show  
235.93 495.32 M (.) show  236.27 498.84 M (.) show  
236.60 495.32 M (.) show  236.94 498.84 M (.) show  
237.28 495.32 M (.) show  237.62 498.84 M (.) show  
237.96 146.46 M (.) show  238.30 498.84 M (.) show  
238.64 495.32 M (.) show  238.98 498.84 M (.) show  
239.32 495.32 M (.) show  239.66 498.84 M (.) show  
240.00 495.32 M (.) show  240.34 498.84 M (.) show  
240.68 495.32 M (.) show  241.02 495.32 M (.) show  
241.36 146.46 M (.) show  241.70 498.84 M (.) show  
242.04 495.32 M (.) show  242.38 498.84 M (.) show  
242.72 495.32 M (.) show  243.05 495.32 M (.) show  
243.39 495.32 M (.) show  243.73 498.84 M (.) show  
244.07 495.32 M (.) show  244.41 495.32 M (.) show  
244.75 495.32 M (.) show  245.09 495.32 M (.) show  
245.43 146.46 M (.) show  245.77 498.84 M (.) show  
246.11 146.46 M (.) show  246.45 498.84 M (.) show  
246.79 495.32 M (.) show  247.13 495.32 M (.) show  
247.47 495.32 M (.) show  247.81 498.84 M (.) show  
248.15 495.32 M (.) show  248.49 495.32 M (.) show  
248.83 495.32 M (.) show  249.16 495.32 M (.) show  
249.50 495.32 M (.) show  249.84 498.84 M (.) show  
250.18 146.46 M (.) show  250.52 498.84 M (.) show  
250.86 495.32 M (.) show  251.20 495.32 M (.) show  
251.54 495.32 M (.) show  251.88 498.84 M (.) show  
252.22 495.32 M (.) show  252.56 498.84 M (.) show  
252.90 495.32 M (.) show  253.24 498.84 M (.) show  
253.58 495.32 M (.) show  253.92 498.84 M (.) show  
254.26 495.32 M (.) show  254.60 498.84 M (.) show  
254.94 495.32 M (.) show  255.27 495.32 M (.) show  
255.61 146.46 M (.) show  255.95 498.84 M (.) show  
256.29 146.46 M (.) show  256.63 498.84 M (.) show  
256.97 495.32 M (.) show  257.31 495.32 M (.) show  
257.65 495.32 M (.) show  257.99 498.84 M (.) show  
258.33 495.32 M (.) show  258.67 498.84 M (.) show  
259.01 495.32 M (.) show  259.35 495.32 M (.) show  
259.69 495.32 M (.) show  260.03 498.84 M (.) show  
260.37 495.32 M (.) show  260.71 498.84 M (.) show  
261.05 495.32 M (.) show  261.39 498.84 M (.) show  
261.72 495.32 M (.) show  262.06 498.84 M (.) show  
262.40 495.32 M (.) show  262.74 495.32 M (.) show  
263.08 495.32 M (.) show  263.42 498.84 M (.) show  
263.76 495.32 M (.) show  264.10 498.84 M (.) show  
264.44 495.32 M (.) show  264.78 498.84 M (.) show  
265.12 495.32 M (.) show  265.46 498.84 M (.) show  
265.80 146.46 M (.) show  266.14 498.84 M (.) show  
266.48 495.32 M (.) show  266.82 498.84 M (.) show  
267.16 495.32 M (.) show  267.50 495.32 M (.) show  
267.83 495.32 M (.) show  268.17 498.84 M (.) show  
268.51 146.46 M (.) show  268.85 498.84 M (.) show  
269.19 495.32 M (.) show  269.53 495.32 M (.) show  
269.87 495.32 M (.) show  270.21 495.32 M (.) show  
270.55 495.32 M (.) show  270.89 498.84 M (.) show  
271.23 495.32 M (.) show  271.57 495.32 M (.) show  
271.91 495.32 M (.) show  272.25 495.32 M (.) show  
272.59 495.32 M (.) show  272.93 498.84 M (.) show  
273.27 495.32 M (.) show  273.61 495.32 M (.) show  
273.94 495.32 M (.) show  274.28 498.84 M (.) show  
274.62 477.70 M (.) show  274.96 498.84 M (.) show  
275.30 495.32 M (.) show  275.64 495.32 M (.) show  
275.98 146.46 M (.) show  276.32 498.84 M (.) show  
276.66 495.32 M (.) show  277.00 498.84 M (.) show  
277.34 495.32 M (.) show  277.68 498.84 M (.) show  
278.02 495.32 M (.) show  278.36 498.84 M (.) show  
278.70 146.46 M (.) show  279.04 498.84 M (.) show  
279.38 495.32 M (.) show  279.72 498.84 M (.) show  
280.05 146.46 M (.) show  280.39 498.84 M (.) show  
280.73 495.32 M (.) show  281.07 498.84 M (.) show  
281.41 495.32 M (.) show  281.75 498.84 M (.) show  
282.09 146.46 M (.) show  282.43 498.84 M (.) show  
282.77 495.32 M (.) show  283.11 498.84 M (.) show  
283.45 495.32 M (.) show  283.79 495.32 M (.) show  
284.13 146.46 M (.) show  284.47 498.84 M (.) show  
284.81 495.32 M (.) show  285.15 498.84 M (.) show  
285.49 495.32 M (.) show  285.83 498.84 M (.) show  
286.17 495.32 M (.) show  286.50 498.84 M (.) show  
286.84 491.79 M (.) show  287.18 498.84 M (.) show  
287.52 495.32 M (.) show  287.86 498.84 M (.) show  
288.20 495.32 M (.) show  288.54 495.32 M (.) show  
288.88 146.46 M (.) show  289.22 498.84 M (.) show  
289.56 495.32 M (.) show  289.90 495.32 M (.) show  
290.24 146.46 M (.) show  290.58 498.84 M (.) show  
290.92 495.32 M (.) show  291.26 498.84 M (.) show  
291.60 495.32 M (.) show  291.94 495.32 M (.) show  
292.28 495.32 M (.) show  292.61 498.84 M (.) show  
292.95 146.46 M (.) show  293.29 498.84 M (.) show  
293.63 495.32 M (.) show  293.97 495.32 M (.) show  
294.31 495.32 M (.) show  294.65 498.84 M (.) show  
294.99 495.32 M (.) show  295.33 498.84 M (.) show  
295.67 495.32 M (.) show  296.01 498.84 M (.) show  
296.35 488.27 M (.) show  296.69 498.84 M (.) show  
297.03 146.46 M (.) show  297.37 498.84 M (.) show  
297.71 495.32 M (.) show  298.05 495.32 M (.) show  
298.39 495.32 M (.) show  298.72 498.84 M (.) show  
299.06 146.46 M (.) show  299.40 498.84 M (.) show  
299.74 495.32 M (.) show  300.08 495.32 M (.) show  
300.42 495.32 M (.) show  300.76 498.84 M (.) show  
301.10 146.46 M (.) show  301.44 498.84 M (.) show  
301.78 495.32 M (.) show  302.12 498.84 M (.) show  
302.46 146.46 M (.) show  302.80 498.84 M (.) show  
303.14 495.32 M (.) show  303.48 498.84 M (.) show  
303.82 495.32 M (.) show  304.16 498.84 M (.) show  
304.50 495.32 M (.) show  304.84 498.84 M (.) show  
305.17 495.32 M (.) show  305.51 498.84 M (.) show  
305.85 495.32 M (.) show  306.19 495.32 M (.) show  
306.53 495.32 M (.) show  306.87 498.84 M (.) show  
307.21 495.32 M (.) show  307.55 498.84 M (.) show  
307.89 495.32 M (.) show  308.23 495.32 M (.) show  
308.57 495.32 M (.) show  308.91 498.84 M (.) show  
309.25 146.46 M (.) show  309.59 498.84 M (.) show  
309.93 495.32 M (.) show  310.27 495.32 M (.) show  
310.61 146.46 M (.) show  310.95 498.84 M (.) show  
311.28 495.32 M (.) show  311.62 498.84 M (.) show  
311.96 495.32 M (.) show  312.30 495.32 M (.) show  
312.64 495.32 M (.) show  312.98 498.84 M (.) show  
313.32 495.32 M (.) show  313.66 498.84 M (.) show  
314.00 495.32 M (.) show  314.34 498.84 M (.) show  
314.68 495.32 M (.) show  315.02 498.84 M (.) show  
315.36 495.32 M (.) show  315.70 495.32 M (.) show  
316.04 495.32 M (.) show  316.38 495.32 M (.) show  
316.72 146.46 M (.) show  317.06 498.84 M (.) show  
317.39 146.46 M (.) show  317.73 498.84 M (.) show  
318.07 495.32 M (.) show  318.41 495.32 M (.) show  
318.75 495.32 M (.) show  319.09 498.84 M (.) show  
319.43 495.32 M (.) show  319.77 498.84 M (.) show  
320.11 495.32 M (.) show  320.45 495.32 M (.) show  
320.79 495.32 M (.) show  321.13 498.84 M (.) show  
321.47 146.46 M (.) show  321.81 498.84 M (.) show  
322.15 495.32 M (.) show  322.49 495.32 M (.) show  
322.83 495.32 M (.) show  323.17 498.84 M (.) show  
323.50 146.46 M (.) show  323.84 498.84 M (.) show  
324.18 495.32 M (.) show  324.52 495.32 M (.) show  
324.86 146.46 M (.) show  325.20 498.84 M (.) show  
325.54 495.32 M (.) show  325.88 495.32 M (.) show  
326.22 495.32 M (.) show  326.56 495.32 M (.) show  
326.90 146.46 M (.) show  327.24 498.84 M (.) show  
327.58 495.32 M (.) show  327.92 498.84 M (.) show  
328.26 495.32 M (.) show  328.60 495.32 M (.) show  
328.94 495.32 M (.) show  329.28 498.84 M (.) show  
329.62 495.32 M (.) show  329.95 498.84 M (.) show  
330.29 495.32 M (.) show  330.63 495.32 M (.) show  
330.97 495.32 M (.) show  331.31 498.84 M (.) show  
331.65 146.46 M (.) show  331.99 498.84 M (.) show  
332.33 495.32 M (.) show  332.67 495.32 M (.) show  
333.01 495.32 M (.) show  333.35 498.84 M (.) show  
333.69 495.32 M (.) show  334.03 498.84 M (.) show  
334.37 495.32 M (.) show  334.71 498.84 M (.) show  
335.05 495.32 M (.) show  335.39 498.84 M (.) show  
335.73 495.32 M (.) show  336.06 498.84 M (.) show  
336.40 495.32 M (.) show  336.74 495.32 M (.) show  
337.08 495.32 M (.) show  337.42 498.84 M (.) show  
337.76 146.46 M (.) show  338.10 498.84 M (.) show  
338.44 495.32 M (.) show  338.78 498.84 M (.) show  
339.12 495.32 M (.) show  339.46 498.84 M (.) show  
339.80 495.32 M (.) show  340.14 498.84 M (.) show  
340.48 495.32 M (.) show  340.82 495.32 M (.) show  
341.16 146.46 M (.) show  341.50 498.84 M (.) show  
341.84 495.32 M (.) show  342.17 498.84 M (.) show  
342.51 495.32 M (.) show  342.85 498.84 M (.) show  
343.19 495.32 M (.) show  343.53 495.32 M (.) show  
343.87 146.46 M (.) show  344.21 498.84 M (.) show  
344.55 495.32 M (.) show  344.89 495.32 M (.) show  
345.23 495.32 M (.) show  345.57 498.84 M (.) show  
345.91 495.32 M (.) show  346.25 498.84 M (.) show  
346.59 495.32 M (.) show  346.93 498.84 M (.) show  
347.27 146.46 M (.) show  347.61 498.84 M (.) show  
347.95 495.32 M (.) show  348.29 495.32 M (.) show  
348.62 495.32 M (.) show  348.96 495.32 M (.) show  
349.30 495.32 M (.) show  349.64 495.32 M (.) show  
349.98 495.32 M (.) show  350.32 498.84 M (.) show  
350.66 495.32 M (.) show  351.00 498.84 M (.) show  
351.34 495.32 M (.) show  351.68 498.84 M (.) show  
352.02 495.32 M (.) show  352.36 498.84 M (.) show  
352.70 495.32 M (.) show  353.04 495.32 M (.) show  
353.38 495.32 M (.) show  353.72 498.84 M (.) show  
354.06 495.32 M (.) show  354.40 498.84 M (.) show  
354.73 495.32 M (.) show  355.07 495.32 M (.) show  
355.41 495.32 M (.) show  355.75 498.84 M (.) show  
356.09 495.32 M (.) show  356.43 498.84 M (.) show  
356.77 495.32 M (.) show  357.11 495.32 M (.) show  
357.45 495.32 M (.) show  357.79 498.84 M (.) show  
358.13 146.46 M (.) show  358.47 498.84 M (.) show  
358.81 495.32 M (.) show  359.15 498.84 M (.) show  
359.49 495.32 M (.) show  359.83 498.84 M (.) show  
360.17 146.46 M (.) show  360.51 498.84 M (.) show  
360.84 495.32 M (.) show  361.18 495.32 M (.) show  
361.52 495.32 M (.) show  361.86 498.84 M (.) show  
362.20 495.32 M (.) show  362.54 498.84 M (.) show  
362.88 495.32 M (.) show  363.22 495.32 M (.) show  
363.56 146.46 M (.) show  363.90 498.84 M (.) show  
364.24 495.32 M (.) show  364.58 498.84 M (.) show  
364.92 495.32 M (.) show  365.26 495.32 M (.) show  
365.60 146.46 M (.) show  365.94 498.84 M (.) show  
366.28 495.32 M (.) show  366.62 498.84 M (.) show  
366.95 495.32 M (.) show  367.29 495.32 M (.) show  
367.63 146.46 M (.) show  367.97 498.84 M (.) show  
368.31 146.46 M (.) show  368.65 498.84 M (.) show  
368.99 495.32 M (.) show  369.33 495.32 M (.) show  
369.67 495.32 M (.) show  370.01 495.32 M (.) show  
370.35 146.46 M (.) show  370.69 498.84 M (.) show  
371.03 495.32 M (.) show  371.37 495.32 M (.) show  
371.71 495.32 M (.) show  372.05 498.84 M (.) show  
372.39 495.32 M (.) show  372.73 498.84 M (.) show  
373.07 495.32 M (.) show  373.40 495.32 M (.) show  
373.74 495.32 M (.) show  374.08 498.84 M (.) show  
374.42 495.32 M (.) show  374.76 498.84 M (.) show  
375.10 495.32 M (.) show  375.44 498.84 M (.) show  
375.78 146.46 M (.) show  376.12 498.84 M (.) show  
376.46 495.32 M (.) show  376.80 498.84 M (.) show  
377.14 495.32 M (.) show  377.48 498.84 M (.) show  
377.82 146.46 M (.) show  378.16 498.84 M (.) show  
378.50 146.46 M (.) show  378.84 498.84 M (.) show  
379.18 495.32 M (.) show  379.51 495.32 M (.) show  
379.85 495.32 M (.) show  380.19 498.84 M (.) show  
380.53 495.32 M (.) show  380.87 498.84 M (.) show  
381.21 495.32 M (.) show  381.55 495.32 M (.) show  
381.89 495.32 M (.) show  382.23 495.32 M (.) show  
382.57 146.46 M (.) show  382.91 498.84 M (.) show  
383.25 495.32 M (.) show  383.59 495.32 M (.) show  
383.93 495.32 M (.) show  384.27 498.84 M (.) show  
384.61 146.46 M (.) show  384.95 498.84 M (.) show  
385.29 495.32 M (.) show  385.62 495.32 M (.) show  
385.96 495.32 M (.) show  386.30 498.84 M (.) show  
386.64 495.32 M (.) show  386.98 498.84 M (.) show  
387.32 495.32 M (.) show  387.66 495.32 M (.) show  
388.00 495.32 M (.) show  388.34 498.84 M (.) show  
388.68 495.32 M (.) show  389.02 498.84 M (.) show  
389.36 495.32 M (.) show  389.70 495.32 M (.) show  
390.04 495.32 M (.) show  390.38 498.84 M (.) show  
390.72 495.32 M (.) show  391.06 498.84 M (.) show  
391.40 495.32 M (.) show  391.74 495.32 M (.) show  
392.07 495.32 M (.) show  392.41 498.84 M (.) show  
392.75 495.32 M (.) show  393.09 498.84 M (.) show  
393.43 495.32 M (.) show  393.77 498.84 M (.) show  
394.11 146.46 M (.) show  394.45 498.84 M (.) show  
394.79 146.46 M (.) show  395.13 498.84 M (.) show  
395.47 495.32 M (.) show  395.81 498.84 M (.) show  
396.15 495.32 M (.) show  396.49 498.84 M (.) show  
396.83 495.32 M (.) show  397.17 495.32 M (.) show  
397.51 495.32 M (.) show  397.85 495.32 M (.) show  
398.18 146.46 M (.) show  398.52 498.84 M (.) show  
398.86 495.32 M (.) show  399.20 498.84 M (.) show  
399.54 495.32 M (.) show  399.88 498.84 M (.) show  
400.22 495.32 M (.) show  400.56 495.32 M (.) show  
400.90 146.46 M (.) show  401.24 498.84 M (.) show  
401.58 495.32 M (.) show  401.92 498.84 M (.) show  
402.26 495.32 M (.) show  402.60 498.84 M (.) show  
402.94 491.79 M (.) show  403.28 498.84 M (.) show  
403.62 495.32 M (.) show  403.96 498.84 M (.) show  
404.29 495.32 M (.) show  404.63 498.84 M (.) show  
404.97 495.32 M (.) show  405.31 498.84 M (.) show  
405.65 495.32 M (.) show  405.99 495.32 M (.) show  
406.33 146.46 M (.) show  406.67 498.84 M (.) show  
407.01 495.32 M (.) show  407.35 498.84 M (.) show  
407.69 495.32 M (.) show  408.03 495.32 M (.) show  
408.37 146.46 M (.) show  408.71 498.84 M (.) show  
409.05 495.32 M (.) show  409.39 498.84 M (.) show  
409.73 495.32 M (.) show  410.07 495.32 M (.) show  
410.40 495.32 M (.) show  410.74 495.32 M (.) show  
411.08 146.46 M (.) show  411.42 498.84 M (.) show  
411.76 495.32 M (.) show  412.10 495.32 M (.) show  
412.44 495.32 M (.) show  412.78 498.84 M (.) show  
413.12 146.46 M (.) show  413.46 498.84 M (.) show  
413.80 495.32 M (.) show  414.14 495.32 M (.) show  
414.48 495.32 M (.) show  414.82 498.84 M (.) show  
415.16 495.32 M (.) show  415.50 498.84 M (.) show  
415.84 495.32 M (.) show  416.18 498.84 M (.) show  
416.52 146.46 M (.) show  416.85 498.84 M (.) show  
417.19 495.32 M (.) show  417.53 498.84 M (.) show  
417.87 495.32 M (.) show  418.21 495.32 M (.) show  
418.55 495.32 M (.) show  418.89 498.84 M (.) show  
419.23 495.32 M (.) show  419.57 498.84 M (.) show  
419.91 495.32 M (.) show  420.25 498.84 M (.) show  
420.59 495.32 M (.) show  420.93 498.84 M (.) show  
421.27 495.32 M (.) show  421.61 498.84 M (.) show  
421.95 495.32 M (.) show  422.29 495.32 M (.) show  
422.63 495.32 M (.) show  422.96 498.84 M (.) show  
423.30 495.32 M (.) show  423.64 498.84 M (.) show  
423.98 495.32 M (.) show  424.32 495.32 M (.) show  
424.66 146.46 M (.) show  425.00 498.84 M (.) show  
425.34 495.32 M (.) show  425.68 498.84 M (.) show  
426.02 495.32 M (.) show  426.36 495.32 M (.) show  
426.70 495.32 M (.) show  427.04 495.32 M (.) show  
427.38 495.32 M (.) show  427.72 495.32 M (.) show  
428.06 495.32 M (.) show  428.40 498.84 M (.) show  
428.74 495.32 M (.) show  429.07 498.84 M (.) show  
429.41 453.03 M (.) show  429.75 498.84 M (.) show  
430.09 495.32 M (.) show  430.43 498.84 M (.) show  
430.77 495.32 M (.) show  431.11 498.84 M (.) show  
431.45 146.46 M (.) show  431.79 498.84 M (.) show  
432.13 495.32 M (.) show  432.47 495.32 M (.) show  
432.81 495.32 M (.) show  433.15 498.84 M (.) show  
433.49 495.32 M (.) show  433.83 498.84 M (.) show  
434.17 495.32 M (.) show  434.51 495.32 M (.) show  
434.85 146.46 M (.) show  435.19 498.84 M (.) show  
435.52 146.46 M (.) show  435.86 498.84 M (.) show  
436.20 495.32 M (.) show  436.54 498.84 M (.) show  
436.88 495.32 M (.) show  437.22 495.32 M (.) show  
437.56 495.32 M (.) show  437.90 495.32 M (.) show  
438.24 495.32 M (.) show  438.58 495.32 M (.) show  
438.92 146.46 M (.) show  439.26 498.84 M (.) show  
439.60 146.46 M (.) show  439.94 498.84 M (.) show  
440.28 495.32 M (.) show  440.62 495.32 M (.) show  
440.96 495.32 M (.) show  441.30 495.32 M (.) show  
441.63 495.32 M (.) show  441.97 495.32 M (.) show  
442.31 495.32 M (.) show  442.65 495.32 M (.) show  
442.99 495.32 M (.) show  443.33 498.84 M (.) show  
443.67 146.46 M (.) show  444.01 498.84 M (.) show  
444.35 495.32 M (.) show  444.69 495.32 M (.) show  
445.03 146.46 M (.) show  445.37 498.84 M (.) show  
445.71 495.32 M (.) show  446.05 498.84 M (.) show  
446.39 495.32 M (.) show  446.73 498.84 M (.) show  
447.07 146.46 M (.) show  447.41 498.84 M (.) show  
447.74 495.32 M (.) show  448.08 498.84 M (.) show  
448.42 495.32 M (.) show  448.76 495.32 M (.) show  
449.10 495.32 M (.) show  449.44 498.84 M (.) show  
449.78 495.32 M (.) show  450.12 498.84 M (.) show  
450.46 495.32 M (.) show  450.80 498.84 M (.) show  
451.14 495.32 M (.) show  451.48 498.84 M (.) show  
451.82 495.32 M (.) show  452.16 498.84 M (.) show  
452.50 495.32 M (.) show  452.84 498.84 M (.) show  
453.18 495.32 M (.) show  453.52 498.84 M (.) show  
453.86 146.46 M (.) show  454.19 498.84 M (.) show  
454.53 495.32 M (.) show  454.87 495.32 M (.) show  
455.21 146.46 M (.) show  455.55 498.84 M (.) show  
455.89 146.46 M (.) show  456.23 498.84 M (.) show  
456.57 495.32 M (.) show  456.91 495.32 M (.) show  
457.25 495.32 M (.) show  457.59 498.84 M (.) show  
457.93 495.32 M (.) show  458.27 498.84 M (.) show  
458.61 495.32 M (.) show  458.95 495.32 M (.) show  
459.29 495.32 M (.) show  459.63 498.84 M (.) show  
459.97 146.46 M (.) show  460.30 498.84 M (.) show  
460.64 495.32 M (.) show  460.98 495.32 M (.) show  
461.32 495.32 M (.) show  461.66 498.84 M (.) show  
462.00 495.32 M (.) show  462.34 498.84 M (.) show  
462.68 495.32 M (.) show  463.02 498.84 M (.) show  
463.36 495.32 M (.) show  463.70 498.84 M (.) show  
464.04 495.32 M (.) show  464.38 495.32 M (.) show  
464.72 495.32 M (.) show  465.06 498.84 M (.) show  
465.40 495.32 M (.) show  465.74 498.84 M (.) show  
466.08 146.46 M (.) show  466.41 498.84 M (.) show  
466.75 495.32 M (.) show  467.09 498.84 M (.) show  
467.43 495.32 M (.) show  467.77 498.84 M (.) show  
468.11 495.32 M (.) show  468.45 498.84 M (.) show  
468.79 495.32 M (.) show  469.13 495.32 M (.) show  
469.47 146.46 M (.) show  469.81 498.84 M (.) show  
470.15 146.46 M (.) show  470.49 498.84 M (.) show  
470.83 495.32 M (.) show  471.17 495.32 M (.) show  
471.51 495.32 M (.) show  471.85 495.32 M (.) show  
472.19 495.32 M (.) show  472.52 498.84 M (.) show  
472.86 495.32 M (.) show  473.20 495.32 M (.) show  
473.54 146.46 M (.) show  473.88 498.84 M (.) show  
474.22 146.46 M (.) show  474.56 498.84 M (.) show  
474.90 495.32 M (.) show  475.24 495.32 M (.) show  
475.58 146.46 M (.) show  475.92 498.84 M (.) show  
476.26 495.32 M (.) show  476.60 495.32 M (.) show  
476.94 495.32 M (.) show  477.28 498.84 M (.) show  
477.62 495.32 M (.) show  477.96 498.84 M (.) show  
478.30 495.32 M (.) show  478.64 498.84 M (.) show  
478.97 495.32 M (.) show  479.31 495.32 M (.) show  
479.65 495.32 M (.) show  479.99 498.84 M (.) show  
480.33 495.32 M (.) show  480.67 498.84 M (.) show  
481.01 495.32 M (.) show  481.35 495.32 M (.) show  
481.69 495.32 M (.) show  482.03 495.32 M (.) show  
482.37 146.46 M (.) show  482.71 498.84 M (.) show  
483.05 495.32 M (.) show  483.39 495.32 M (.) show  
483.73 495.32 M (.) show  484.07 498.84 M (.) show  
484.41 495.32 M (.) show  484.75 498.84 M (.) show  
485.08 495.32 M (.) show  485.42 495.32 M (.) show  
485.76 495.32 M (.) show  486.10 498.84 M (.) show  
486.44 495.32 M (.) show  486.78 498.84 M (.) show  
487.12 495.32 M (.) show  487.46 495.32 M (.) show  
487.80 146.46 M (.) show  488.14 498.84 M (.) show  
488.48 495.32 M (.) show  488.82 495.32 M (.) show  
489.16 495.32 M (.) show  489.50 495.32 M (.) show  
489.84 495.32 M (.) show  490.18 498.84 M (.) show  
490.52 495.32 M (.) show  490.86 498.84 M (.) show  
491.19 495.32 M (.) show  491.53 495.32 M (.) show  
491.87 495.32 M (.) show  492.21 495.32 M (.) show  
492.55 495.32 M (.) show  492.89 498.84 M (.) show  
493.23 495.32 M (.) show  493.57 495.32 M (.) show  
493.91 495.32 M (.) show  494.25 498.84 M (.) show  
494.59 495.32 M (.) show  494.93 498.84 M (.) show  
495.27 495.32 M (.) show  495.61 498.84 M (.) show  
495.95 495.32 M (.) show  496.29 498.84 M (.) show  
496.63 146.46 M (.) show  496.97 498.84 M (.) show  
497.31 495.32 M (.) show  497.64 495.32 M (.) show  
497.98 146.46 M (.) show  498.32 498.84 M (.) show  
498.66 495.32 M (.) show  499.00 498.84 M (.) show  
499.34 495.32 M (.) show  499.68 495.32 M (.) show  
500.02 495.32 M (.) show  500.36 498.84 M (.) show  
500.70 146.46 M (.) show  501.04 498.84 M (.) show  
501.38 495.32 M (.) show  501.72 495.32 M (.) show  
502.06 495.32 M (.) show  502.40 498.84 M (.) show  
502.74 146.46 M (.) show  503.08 498.84 M (.) show  
503.42 495.32 M (.) show  503.75 498.84 M (.) show  
504.09 146.46 M (.) show  504.43 498.84 M (.) show  
504.77 495.32 M (.) show  505.11 498.84 M (.) show  
505.45 495.32 M (.) show  505.79 495.32 M (.) show  
506.13 495.32 M (.) show  506.47 498.84 M (.) show  
506.81 495.32 M (.) show  507.15 498.84 M (.) show  
507.49 495.32 M (.) show  507.83 498.84 M (.) show  
508.17 146.46 M (.) show  508.51 498.84 M (.) show  
508.85 495.32 M (.) show  509.19 498.84 M (.) show  
509.53 495.32 M (.) show  509.86 498.84 M (.) show  
510.20 146.46 M (.) show  510.54 498.84 M (.) show  
510.88 495.32 M (.) show  511.22 498.84 M (.) show  
511.56 495.32 M (.) show  511.90 495.32 M (.) show  
512.24 495.32 M (.) show  512.58 495.32 M (.) show  
512.92 146.46 M (.) show  513.26 498.84 M (.) show  
513.60 495.32 M (.) show  513.94 495.32 M (.) show  
514.28 495.32 M (.) show  514.62 498.84 M (.) show  
514.96 495.32 M (.) show  515.30 498.84 M (.) show  
515.64 495.32 M (.) show  515.97 498.84 M (.) show  
516.31 495.32 M (.) show  516.65 498.84 M (.) show  
516.99 146.46 M (.) show  517.33 498.84 M (.) show  
517.67 495.32 M (.) show  518.01 498.84 M (.) show  
518.35 495.32 M (.) show  518.69 498.84 M (.) show  
519.03 495.32 M (.) show  519.37 498.84 M (.) show  
519.71 495.32 M (.) show  520.05 498.84 M (.) show  
520.39 495.32 M (.) show  520.73 498.84 M (.) show  
521.07 146.46 M (.) show  521.41 498.84 M (.) show  
521.75 495.32 M (.) show  522.09 498.84 M (.) show  
522.42 495.32 M (.) show  522.76 495.32 M (.) show  
523.10 146.46 M (.) show  523.44 498.84 M (.) show  
523.78 495.32 M (.) show  524.12 495.32 M (.) show  
524.46 146.46 M (.) show  524.80 498.84 M (.) show  
525.14 495.32 M (.) show  525.48 498.84 M (.) show  
525.82 495.32 M (.) show  526.16 495.32 M (.) show  
526.50 495.32 M (.) show  526.84 498.84 M (.) show  
527.18 146.46 M (.) show  527.52 498.84 M (.) show  
527.86 495.32 M (.) show  528.20 495.32 M (.) show  
528.53 495.32 M (.) show  528.87 498.84 M (.) show  
529.21 495.32 M (.) show  529.55 498.84 M (.) show  
529.89 495.32 M (.) show  530.23 498.84 M (.) show  
530.57 495.32 M (.) show  530.91 498.84 M (.) show  
531.25 495.32 M (.) show  531.59 498.84 M (.) show  
531.93 495.32 M (.) show  532.27 495.32 M (.) show  
532.61 495.32 M (.) show  532.95 495.32 M (.) show  
533.29 495.32 M (.) show  533.63 498.84 M (.) show  
533.97 495.32 M (.) show  534.31 498.84 M (.) show  
534.64 146.46 M (.) show  534.98 498.84 M (.) show  
535.32 146.46 M (.) show  535.66 498.84 M (.) show  
536.00 495.32 M (.) show  536.34 498.84 M (.) show  
536.68 495.32 M (.) show  537.02 498.84 M (.) show  
537.36 491.79 M (.) show  537.70 498.84 M (.) show  
538.04 495.32 M (.) show  538.38 495.32 M (.) show  
538.72 495.32 M (.) show  539.06 495.32 M (.) show  
539.40 495.32 M (.) show  539.74 498.84 M (.) show  
540.08 495.32 M (.) show  540.42 495.32 M (.) show  
540.76 146.46 M (.) show  541.09 498.84 M (.) show  
541.43 495.32 M (.) show  541.77 498.84 M (.) show  
542.11 495.32 M (.) show  542.45 498.84 M (.) show  
542.79 495.32 M (.) show  543.13 495.32 M (.) show  
543.47 495.32 M (.) show  543.81 498.84 M (.) show  
544.15 495.32 M (.) show  544.49 498.84 M (.) show  
544.83 495.32 M (.) show  545.17 498.84 M (.) show  
545.51 146.46 M (.) show  545.85 498.84 M (.) show  
546.19 495.32 M (.) show  546.53 498.84 M (.) show  
546.87 495.32 M (.) show  547.20 498.84 M (.) show  
547.54 495.32 M (.) show  547.88 498.84 M (.) show  
548.22 495.32 M (.) show  548.56 498.84 M (.) show  
548.90 146.46 M (.) show  549.24 498.84 M (.) show  
549.58 495.32 M (.) show  549.92 495.32 M (.) show  
550.26 495.32 M (.) show  550.60 495.32 M (.) show  
550.94 146.46 M (.) show  551.28 498.84 M (.) show  
551.62 495.32 M (.) show  551.96 498.84 M (.) show  
552.30 495.32 M (.) show  552.64 495.32 M (.) show  
552.98 495.32 M (.) show  553.31 495.32 M (.) show  
553.65 495.32 M (.) show  553.99 495.32 M (.) show  
554.33 495.32 M (.) show  554.67 495.32 M (.) show  
555.01 146.46 M (.) show  555.35 498.84 M (.) show  
555.69 495.32 M (.) show  556.03 498.84 M (.) show  
556.37 495.32 M (.) show  556.71 498.84 M (.) show  
557.05 495.32 M (.) show  557.39 498.84 M (.) show  
557.73 495.32 M (.) show  558.07 495.32 M (.) show  
558.41 495.32 M (.) show  558.75 498.84 M (.) show  
559.09 146.46 M (.) show  559.42 498.84 M (.) show  
559.76 495.32 M (.) show  560.10 498.84 M (.) show  
560.44 495.32 M (.) show  560.78 495.32 M (.) show  
561.12 495.32 M (.) show  561.46 498.84 M (.) show  
561.80 495.32 M (.) show  562.14 495.32 M (.) show  
562.48 495.32 M (.) show  562.82 498.84 M (.) show  
563.16 495.32 M (.) show  563.50 498.84 M (.) show  
563.84 146.46 M (.) show  564.18 498.84 M (.) show  
564.52 495.32 M (.) show  564.86 495.32 M (.) show  
565.20 495.32 M (.) show  565.54 498.84 M (.) show  
565.87 146.46 M (.) show  566.21 498.84 M (.) show  
566.55 495.32 M (.) show  566.89 495.32 M (.) show  
567.23 146.46 M (.) show  567.57 498.84 M (.) show  
567.91 495.32 M (.) show  568.25 498.84 M (.) show  
568.59 495.32 M (.) show  568.93 495.32 M (.) show  
569.27 495.32 M (.) show  569.61 498.84 M (.) show  
569.95 495.32 M (.) show  570.29 498.84 M (.) show  
570.63 495.32 M (.) show  570.97 495.32 M (.) show  
571.31 495.32 M (.) show  571.65 498.84 M (.) show  
571.98 495.32 M (.) show  572.32 498.84 M (.) show  
572.66 495.32 M (.) show  573.00 498.84 M (.) show  
573.34 495.32 M (.) show  573.68 498.84 M (.) show  
574.02 146.46 M (.) show  574.36 498.84 M (.) show  
574.70 495.32 M (.) show  575.04 495.32 M (.) show  
575.38 146.46 M (.) show  575.72 498.84 M (.) show  
576.06 495.32 M (.) show  576.40 498.84 M (.) show  
576.74 495.32 M (.) show  577.08 477.70 M (.) show  
577.42 495.32 M (.) show  577.76 498.84 M (.) show  
578.09 495.32 M (.) show  578.43 498.84 M (.) show  
578.77 495.32 M (.) show  579.11 498.84 M (.) show  
579.45 146.46 M (.) show  579.79 498.84 M (.) show  
580.13 495.32 M (.) show  580.47 498.84 M (.) show  
580.81 495.32 M (.) show  581.15 498.84 M (.) show  
581.49 146.46 M (.) show  581.83 498.84 M (.) show  
582.17 146.46 M (.) show  582.51 498.84 M (.) show  
582.85 495.32 M (.) show  583.19 495.32 M (.) show  
583.53 495.32 M (.) show  583.87 498.84 M (.) show  
584.21 146.46 M (.) show  584.54 498.84 M (.) show  
584.88 495.32 M (.) show  585.22 498.84 M (.) show  
585.56 495.32 M (.) show  585.90 495.32 M (.) show  
586.24 146.46 M (.) show  586.58 498.84 M (.) show  
586.92 495.32 M (.) show  587.26 495.32 M (.) show  
587.60 495.32 M (.) show  587.94 498.84 M (.) show  
588.28 495.32 M (.) show  588.62 498.84 M (.) show  
588.96 495.32 M (.) show  589.30 498.84 M (.) show  
589.64 495.32 M (.) show  589.98 498.84 M (.) show  
590.32 495.32 M (.) show  590.65 498.84 M (.) show  
590.99 495.32 M (.) show  591.33 495.32 M (.) show  
591.67 146.46 M (.) show  592.01 498.84 M (.) show  
592.35 481.22 M (.) show  592.69 498.84 M (.) show  
593.03 495.32 M (.) show  593.37 495.32 M (.) show  
593.71 495.32 M (.) show  594.05 498.84 M (.) show  
594.39 146.46 M (.) show  594.73 498.84 M (.) show  
595.07 495.32 M (.) show  595.41 495.32 M (.) show  
595.75 495.32 M (.) show  596.09 498.84 M (.) show  
596.43 495.32 M (.) show  596.76 498.84 M (.) show  
597.10 495.32 M (.) show  597.44 495.32 M (.) show  
597.78 495.32 M (.) show  598.12 498.84 M (.) show  
598.46 495.32 M (.) show  598.80 498.84 M (.) show  
599.14 495.32 M (.) show  599.48 495.32 M (.) show  
599.82 495.32 M (.) show  600.16 498.84 M (.) show  
600.50 495.32 M (.) show  600.84 495.32 M (.) show  
601.18 495.32 M (.) show  601.52 495.32 M (.) show  
601.86 146.46 M (.) show  602.20 498.84 M (.) show  
602.54 146.46 M (.) show  602.87 498.84 M (.) show  
603.21 495.32 M (.) show  603.55 495.32 M (.) show  
603.89 495.32 M (.) show  604.23 498.84 M (.) show  
604.57 491.79 M (.) show  604.91 498.84 M (.) show  
605.25 495.32 M (.) show  605.59 498.84 M (.) show  
605.93 495.32 M (.) show  606.27 498.84 M (.) show  
606.61 495.32 M (.) show  606.95 498.84 M (.) show  
607.29 495.32 M (.) show  607.63 498.84 M (.) show  
607.97 495.32 M (.) show  608.31 498.84 M (.) show  
608.65 495.32 M (.) show  608.99 498.84 M (.) show  
609.32 495.32 M (.) show  609.66 498.84 M (.) show  
610.00 495.32 M (.) show  610.34 498.84 M (.) show  
610.68 495.32 M (.) show  611.02 498.84 M (.) show  
611.36 495.32 M (.) show  611.70 495.32 M (.) show  
612.04 146.46 M (.) show  612.38 498.84 M (.) show  
612.72 495.32 M (.) show  613.06 498.84 M (.) show  
613.40 495.32 M (.) show  613.74 495.32 M (.) show  
614.08 495.32 M (.) show  614.42 495.32 M (.) show  
614.76 146.46 M (.) show  615.10 498.84 M (.) show  
615.43 495.32 M (.) show  615.77 495.32 M (.) show  
616.11 495.32 M (.) show  616.45 498.84 M (.) show  
616.79 146.46 M (.) show  617.13 498.84 M (.) show  
617.47 495.32 M (.) show  617.81 495.32 M (.) show  
618.15 146.46 M (.) show  618.49 498.84 M (.) show  
618.83 495.32 M (.) show  619.17 495.32 M (.) show  
619.51 495.32 M (.) show  619.85 498.84 M (.) show  
620.19 495.32 M (.) show  620.53 498.84 M (.) show  
620.87 495.32 M (.) show  621.21 498.84 M (.) show  
621.54 495.32 M (.) show  621.88 498.84 M (.) show  
622.22 495.32 M (.) show  622.56 498.84 M (.) show  
622.90 495.32 M (.) show  623.24 498.84 M (.) show  
623.58 495.32 M (.) show  623.92 498.84 M (.) show  
624.26 495.32 M (.) show  624.60 495.32 M (.) show  
624.94 146.46 M (.) show  625.28 498.84 M (.) show  
625.62 495.32 M (.) show  625.96 495.32 M (.) show  
626.30 146.46 M (.) show  626.64 498.84 M (.) show  
626.98 495.32 M (.) show  627.32 498.84 M (.) show  
627.66 495.32 M (.) show  627.99 498.84 M (.) show  
628.33 495.32 M (.) show  628.67 498.84 M (.) show  
629.01 495.32 M (.) show  629.35 498.84 M (.) show  
629.69 495.32 M (.) show  630.03 495.32 M (.) show  
630.37 146.46 M (.) show  630.71 498.84 M (.) show  
631.05 495.32 M (.) show  631.39 498.84 M (.) show  
631.73 495.32 M (.) show  632.07 498.84 M (.) show  
632.41 495.32 M (.) show  632.75 498.84 M (.) show  
633.09 495.32 M (.) show  633.43 498.84 M (.) show  
633.77 495.32 M (.) show  634.10 498.84 M (.) show  
634.44 495.32 M (.) show  634.78 495.32 M (.) show  
635.12 491.79 M (.) show  635.46 498.84 M (.) show  
635.80 495.32 M (.) show  636.14 498.84 M (.) show  
636.48 495.32 M (.) show  636.82 498.84 M (.) show  
637.16 495.32 M (.) show  637.50 498.84 M (.) show  
637.84 495.32 M (.) show  638.18 495.32 M (.) show  
638.52 146.46 M (.) show  638.86 498.84 M (.) show  
639.20 495.32 M (.) show  639.54 498.84 M (.) show  
639.88 495.32 M (.) show  640.21 495.32 M (.) show  
640.55 495.32 M (.) show  640.89 498.84 M (.) show  
641.23 495.32 M (.) show  641.57 498.84 M (.) show  
641.91 495.32 M (.) show  642.25 495.32 M (.) show  
642.59 495.32 M (.) show  642.93 498.84 M (.) show  
643.27 495.32 M (.) show  643.61 498.84 M (.) show  
643.95 495.32 M (.) show  644.29 495.32 M (.) show  
644.63 495.32 M (.) show  644.97 498.84 M (.) show  
645.31 146.46 M (.) show  645.65 498.84 M (.) show  
645.99 495.32 M (.) show  646.32 495.32 M (.) show  
646.66 146.46 M (.) show  647.00 498.84 M (.) show  
647.34 495.32 M (.) show  647.68 495.32 M (.) show  
648.02 495.32 M (.) show  648.36 498.84 M (.) show  
648.70 495.32 M (.) show  649.04 498.84 M (.) show  
649.38 146.46 M (.) show  649.72 498.84 M (.) show  
650.06 495.32 M (.) show  650.40 495.32 M (.) show  
650.74 495.32 M (.) show  651.08 498.84 M (.) show  
651.42 495.32 M (.) show  651.76 498.84 M (.) show  
652.10 495.32 M (.) show  652.44 498.84 M (.) show  
652.77 146.46 M (.) show  653.11 498.84 M (.) show  
653.45 146.46 M (.) show  653.79 498.84 M (.) show  
654.13 495.32 M (.) show  654.47 495.32 M (.) show  
654.81 495.32 M (.) show  655.15 495.32 M (.) show  
655.49 495.32 M (.) show  655.83 498.84 M (.) show  
656.17 495.32 M (.) show  656.51 495.32 M (.) show  
656.85 495.32 M (.) show  657.19 498.84 M (.) show  
657.53 495.32 M (.) show  657.87 498.84 M (.) show  
658.21 495.32 M (.) show  658.55 495.32 M (.) show  
658.88 146.46 M (.) show  659.22 498.84 M (.) show  
659.56 146.46 M (.) show  659.90 498.84 M (.) show  
660.24 495.32 M (.) show  660.58 498.84 M (.) show  
660.92 495.32 M (.) show  661.26 498.84 M (.) show  
661.60 495.32 M (.) show  661.94 495.32 M (.) show  
662.28 495.32 M (.) show  662.62 495.32 M (.) show  
662.96 495.32 M (.) show  663.30 498.84 M (.) show  
663.64 146.46 M (.) show  663.98 498.84 M (.) show  
664.32 495.32 M (.) show  664.66 498.84 M (.) show  
664.99 495.32 M (.) show  665.33 498.84 M (.) show  
665.67 495.32 M (.) show  666.01 498.84 M (.) show  
666.35 495.32 M (.) show  666.69 498.84 M (.) show  
667.03 495.32 M (.) show  667.37 498.84 M (.) show  
667.71 146.46 M (.) show  668.05 498.84 M (.) show  
668.39 495.32 M (.) show  668.73 495.32 M (.) show  
669.07 495.32 M (.) show  669.41 498.84 M (.) show  
669.75 495.32 M (.) show  670.09 498.84 M (.) show  
670.43 495.32 M (.) show  670.77 495.32 M (.) show  
671.11 495.32 M (.) show  671.44 498.84 M (.) show  
671.78 495.32 M (.) show  672.12 498.84 M (.) show  
672.46 495.32 M (.) show  672.80 498.84 M (.) show  
673.14 495.32 M (.) show  673.48 498.84 M (.) show  
673.82 495.32 M (.) show  674.16 498.84 M (.) show  
674.50 495.32 M (.) show  674.84 498.84 M (.) show  
675.18 495.32 M (.) show  675.52 495.32 M (.) show  
675.86 495.32 M (.) show  676.20 495.32 M (.) show  
676.54 495.32 M (.) show  676.88 498.84 M (.) show  
677.22 495.32 M (.) show  677.55 498.84 M (.) show  
677.89 495.32 M (.) show  678.23 498.84 M (.) show  
678.57 495.32 M (.) show  678.91 498.84 M (.) show  
679.25 146.46 M (.) show  679.59 498.84 M (.) show  
679.93 146.46 M (.) show  680.27 498.84 M (.) show  
680.61 495.32 M (.) show  680.95 484.75 M (.) show  
681.29 146.46 M (.) show  681.63 498.84 M (.) show  
681.97 495.32 M (.) show  682.31 495.32 M (.) show  
682.65 495.32 M (.) show  682.99 495.32 M (.) show  
683.33 146.46 M (.) show  683.66 498.84 M (.) show  
684.00 495.32 M (.) show  684.34 498.84 M (.) show  
684.68 495.32 M (.) show  685.02 498.84 M (.) show  
685.36 495.32 M (.) show  685.70 498.84 M (.) show  
686.04 495.32 M (.) show  686.38 498.84 M (.) show  
686.72 495.32 M (.) show  687.06 498.84 M (.) show  
687.40 146.46 M (.) show  687.74 498.84 M (.) show  
688.08 495.32 M (.) show  688.42 498.84 M (.) show  
688.76 495.32 M (.) show  689.10 498.84 M (.) show  
689.44 146.46 M (.) show  689.77 498.84 M (.) show  
690.11 495.32 M (.) show  690.45 498.84 M (.) show  
690.79 495.32 M (.) show  691.13 495.32 M (.) show  
691.47 146.46 M (.) show  691.81 498.84 M (.) show  
692.15 495.32 M (.) show  692.49 495.32 M (.) show  
692.83 495.32 M (.) show  693.17 495.32 M (.) show  
693.51 495.32 M (.) show  693.85 498.84 M (.) show  
694.19 146.46 M (.) show  694.53 498.84 M (.) show  
694.87 495.32 M (.) show  695.21 495.32 M (.) show  
695.55 495.32 M (.) show  695.89 498.84 M (.) show  
696.22 146.46 M (.) show  696.56 498.84 M (.) show  
696.90 495.32 M (.) show  697.24 495.32 M (.) show  
697.58 146.46 M (.) show  697.92 498.84 M (.) show  
698.26 146.46 M (.) show  698.60 498.84 M (.) show  
698.94 495.32 M (.) show  699.28 495.32 M (.) show  
699.62 495.32 M (.) show  699.96 498.84 M (.) show  
700.30 146.46 M (.) show  700.64 498.84 M (.) show  
700.98 495.32 M (.) show  701.32 495.32 M (.) show  
701.66 495.32 M (.) show  702.00 498.84 M (.) show  
702.33 495.32 M (.) show  702.67 498.84 M (.) show  
703.01 495.32 M (.) show  703.35 498.84 M (.) show  
703.69 495.32 M (.) show  704.03 498.84 M (.) show  
704.37 495.32 M (.) show  704.71 498.84 M (.) show  
705.05 495.32 M (.) show  705.39 498.84 M (.) show  
705.73 495.32 M (.) show  706.07 498.84 M (.) show  
706.41 495.32 M (.) show  706.75 498.84 M (.) show  
707.09 495.32 M (.) show  707.43 498.84 M (.) show  
707.77 495.32 M (.) show  708.11 498.84 M (.) show  
708.44 146.46 M (.) show  708.78 498.84 M (.) show  
709.12 495.32 M (.) show  709.46 495.32 M (.) show  
709.80 146.46 M (.) show  710.14 498.84 M (.) show  
710.48 495.32 M (.) show  710.82 498.84 M (.) show  
711.16 495.32 M (.) show  711.50 495.32 M (.) show  
711.84 495.32 M (.) show  712.18 498.84 M (.) show  
712.52 495.32 M (.) show  712.86 498.84 M (.) show  
713.20 495.32 M (.) show  713.54 498.84 M (.) show  
713.88 495.32 M (.) show  714.22 498.84 M (.) show  
714.56 495.32 M (.) show  714.89 498.84 M (.) show  
715.23 495.32 M (.) show  715.57 495.32 M (.) show  
715.91 495.32 M (.) show  716.25 498.84 M (.) show  
716.59 146.46 M (.) show  716.93 498.84 M (.) show  
717.27 495.32 M (.) show  717.61 498.84 M (.) show  
717.95 495.32 M (.) show  718.29 495.32 M (.) show  
718.63 495.32 M (.) show  718.97 498.84 M (.) show  
719.31 495.32 M (.) show  719.65 498.84 M (.) show  
719.99 146.46 M (.) show  720.33 498.84 M (.) show  
720.67 491.79 M (.) show  721.00 498.84 M (.) show  
721.34 495.32 M (.) show  721.68 495.32 M (.) show  
722.02 146.46 M (.) show  722.36 498.84 M (.) show  
722.70 495.32 M (.) show  723.04 498.84 M (.) show  
723.38 495.32 M (.) show  723.72 495.32 M (.) show  
724.06 146.46 M (.) show  724.40 498.84 M (.) show  
724.74 495.32 M (.) show  725.08 498.84 M (.) show  
725.42 495.32 M (.) show  725.76 495.32 M (.) show  
726.10 495.32 M (.) show  726.44 495.32 M (.) show  
726.78 495.32 M (.) show  727.11 498.84 M (.) show  
727.45 495.32 M (.) show  727.79 498.84 M (.) show  
728.13 495.32 M (.) show  728.47 498.84 M (.) show  
728.81 146.46 M (.) show  729.15 498.84 M (.) show  
729.49 495.32 M (.) show  729.83 495.32 M (.) show  
730.17 146.46 M (.) show  730.51 498.84 M (.) show  
730.85 495.32 M (.) show  731.19 498.84 M (.) show  
731.53 495.32 M (.) show  731.87 495.32 M (.) show  
732.21 146.46 M (.) show  732.55 498.84 M (.) show  
732.89 495.32 M (.) show  733.22 495.32 M (.) show  
733.56 495.32 M (.) show  733.90 495.32 M (.) show  
734.24 146.46 M (.) show  734.58 498.84 M (.) show  
734.92 146.46 M (.) show  735.26 498.84 M (.) show  
735.60 495.32 M (.) show  735.94 498.84 M (.) show  
736.28 495.32 M (.) show  736.62 495.32 M (.) show  
736.96 495.32 M (.) show  737.30 498.84 M (.) show  
737.64 495.32 M (.) show  737.98 495.32 M (.) show  
738.32 495.32 M (.) show  738.66 498.84 M (.) show  
739.00 146.46 M (.) show  739.34 498.84 M (.) show  
739.67 495.32 M (.) show  740.01 495.32 M (.) show  
740.35 495.32 M (.) show  740.69 498.84 M (.) show  
741.03 146.46 M (.) show  741.37 498.84 M (.) show  
741.71 495.32 M (.) show  742.05 498.84 M (.) show  
742.39 495.32 M (.) show  742.73 498.84 M (.) show  
743.07 495.32 M (.) show  743.41 495.32 M (.) show  
743.75 495.32 M (.) show  744.09 498.84 M (.) show  
744.43 146.46 M (.) show  744.77 498.84 M (.) show  
745.11 146.46 M (.) show  745.45 498.84 M (.) show  
745.78 495.32 M (.) show  746.12 498.84 M (.) show  
746.46 495.32 M (.) show  746.80 498.84 M (.) show  
747.14 495.32 M (.) show  747.48 495.32 M (.) show  
747.82 495.32 M (.) show  748.16 498.84 M (.) show  
748.50 146.46 M (.) show  748.84 498.84 M (.) show  
749.18 495.32 M (.) show  749.52 498.84 M (.) show  
749.86 495.32 M (.) show  750.20 495.32 M (.) show  
750.54 146.46 M (.) show  750.88 498.84 M (.) show  
751.22 491.79 M (.) show  751.56 498.84 M (.) show  
751.89 495.32 M (.) show  752.23 495.32 M (.) show  
752.57 495.32 M (.) show  752.91 498.84 M (.) show  
753.25 495.32 M (.) show  753.59 498.84 M (.) show  
753.93 495.32 M (.) show  754.27 495.32 M (.) show  
754.61 495.32 M (.) show  754.95 498.84 M (.) show  
largefont setfont
-14.00  -324.00
(% of witnesses)
(% of witnesses)
 14.00 324.00
centre_rot90
largefont setfont
417.55  14.00 M
(n)
centre
(n) show
largefont setfont
417.55 586.00 M
(Distribution of witnesses to compositeness of n)
centre
(Distribution of witnesses to compositeness of n) show

print_pic


print_last_page
%%EndDocument
 -75 758 a
 endTexFig
0 2018 a FH(Figure)18 b(2:)25 b(P)o(ercen)o(tage)17 b(of)h(witnesses)h(to)g
(the)e(comp)q(ositeness)i(of)g FB(n)f FH(in)g(the)g(range)g(10,000)i(to)e
(12,000.)0 2090 y(The)e(p)q(oin)o(ts)i(at)e FB(y)g FH(=)e(0)i(represen)o(t)g
(prime)g(n)o(um)o(b)q(ers.)951 2828 y(23)p eop
bop 0 213 a Fp(g)73 432 y FH(In)15 b(the)h(ab)q(o)o(v)o(e)f(algorithm,)i(if)f
(either)g(condition)h(\(2\))f(or)g(\(3\))g(is)g(satis\014ed)h(then)e
FB(n)h FH(is)g(comp)q(osite.)22 b(On)0 505 y(the)14 b(other)f(hand,)i(if)f
(\(2\))g(and)h(\(3\))f(are)f(not)i(satis\014ed)g(b)o(y)e FB(x)g
FH(then)h FB(n)g FH(ma)o(y)f(or)h(ma)o(y)g(not)g(b)q(e)g(comp)q(osite)g(and)0
577 y(the)g(pro)q(cedure)h(m)o(ust)f(b)q(e)h(rep)q(eated.)20
b(If)14 b FB(r)i FH(trials)g(are)f(used,)f(the)g(probabilit)o(y)j(that)e
FB(n)g FH(is)g(comp)q(osite)g(and)0 649 y(not)j(detected)f(is)i(less)f(than)h
(1)p FB(=)p FH(2)615 631 y Fw(r)635 649 y FH(.)26 b(Therefore,)18
b(with)g(v)o(ery)f(few)h(trials,)h(one)f(can)g(either)g(pro)o(v)o(e)f(that)i
(a)0 721 y(n)o(um)o(b)q(er)14 b(is)i(comp)q(osite)g(or)g(gain)g(a)g(high)g
(degree)e(of)i(con\014dence)e(that)i(it)f(is)h(prime.)21 b(See)15
b(also)h([BBC)1859 703 y FI(+)1888 721 y FH(88])0 794 y(for)g(some)f(in)o
(triguing)j(observ)m(ations)g(ab)q(out)f(the)e(p)q(erformance)g(of)h(Rabin's)
h(primalit)o(y)f(test)g(and)g(ab)q(out)0 866 y(its)h(reliabilit)o(y)i(when)d
(used)g(to)h(generate)f(a)h(random)f(in)o(teger)h(that)f(is)h(probably)h
(prime.)73 968 y(In)d(the)f(mid-sev)o(en)o(ties,)h(another)g(probabilisti)q
(c)i(primalit)o(y)f(testing)g(algorithm)h(w)o(as)e(disco)o(v)o(ered)g(b)o(y)0
1040 y(Solo)o(v)m(a)o(y)20 b(and)h(Strassen)f([SS77].)31 b(Some)20
b(basic)g(results)h(in)f(n)o(um)o(b)q(er)f(theory)g(are)h(needed)f(to)h
(describ)q(e)0 1113 y(their)15 b(algorithm.)22 b(F)l(or)15
b(an)o(y)f(prime)h(n)o(um)o(b)q(er)e FB(n)p FH(,)i(one)g(can)f(de\014ne)g
FB(Z)1252 1094 y Ft(\003)1248 1125 y Fw(n)1286 1113 y FH(=)g
Fx(f)p FH(1)p FB(;)8 b FH(.)g(.)g(.)g FB(;)g(n)f Fx(\000)g
FH(1)p Fx(g)p FH(,)15 b(a)g(cyclic)f(group)0 1185 y(under)j(m)o
(ultiplication)i(mo)q(d)e FB(n)p FH(.)23 b(The)16 b FF(L)n(e)n(gendr)n(e)i
(Symb)n(ol)f FH(for)g(an)o(y)f(elemen)o(t)g FB(x)e Fx(2)h FB(Z)1572
1167 y Ft(\003)1568 1197 y Fw(n)1592 1185 y FH(,)h(denoted)h(b)o(y)f(\()1894
1167 y Fw(x)p 1894 1174 22 2 v 1894 1197 a(n)1917 1185 y FH(\),)0
1257 y(is)g(de\014ned)g(to)g(b)q(e)g(1)g(or)g Fx(\000)p FH(1)f(dep)q(ending)i
(on)f(whether)g(or)g(not)g FB(x)f FH(is)i(a)f(p)q(erfect)f(square)g(\(i.e.,)g
(a)h(quadratic)0 1329 y(residue)g(mo)q(dulo)i FB(n)p FH(\))e(of)g(some)g
(other)g(elemen)o(t)f(in)i FB(Z)982 1311 y Ft(\003)978 1342
y Fw(n)1002 1329 y FH(.)k(More)16 b(precisely)l(,)g(\()1391
1311 y Fw(x)p 1391 1318 V 1391 1342 a(n)1414 1329 y FH(\))e(=)g(1)i(if)h
FB(x)c Fx(\021)h FB(y)1704 1311 y FI(2)1773 1329 y FH(\(mo)q(d)j
FB(n)p FH(\))0 1401 y(for)g(some)f FB(y)f Fx(2)f FB(Z)320 1383
y Ft(\003)316 1414 y Fw(n)340 1401 y FH(,)i Fx(\000)p FH(1)g(otherwise.)73
1504 y(If)h FB(x)f FH(is)i(a)f(p)q(erfect)g(square,)f(sa)o(y)h
FB(x)e Fx(\021)g FB(y)797 1486 y FI(2)866 1504 y FH(\(mo)q(d)i
FB(n)p FH(\),)g(then)g(it)g(is)h(not)f(di\016cult)h(to)f(see)g(that)g
FB(x)1831 1471 y Fv(n)p Fl(\000)p Fq(1)p 1831 1478 59 2 v 1852
1498 a(2)1911 1504 y Fx(\021)0 1576 y FB(y)26 1558 y FI(\()p
Fw(n)p Ft(\000)p FI(1\))135 1576 y Fx(\021)d FH(1)50 b(\(mo)q(d)17
b FB(n)p FH(\).)k(This)d(leads)f(to)f(a)g(fast)h(w)o(a)o(y)e(of)i(computing)g
(the)e(Legendre)h(sym)o(b)q(ol.)22 b(One)16 b(can)0 1648 y(extend)g(these)h
(concepts)f(to)h(a)g(general)h FB(n)f FH(whic)o(h)g(ma)o(y)f(or)h(ma)o(y)g
(not)g(b)q(e)g(prime.)22 b(In)17 b(this)h(case,)e(for)h(an)o(y)0
1720 y(n)o(um)o(b)q(er)g FB(n)p FH(,)g(one)h(can)f(de\014ne)g
FB(Z)599 1702 y Ft(\003)595 1733 y Fw(n)635 1720 y FH(=)f Fx(f)p
FB(x)p Fx(j)p FB(x)f Fx(2)h(f)p FH(1)p FB(;)8 b FH(.)g(.)g(.)g
FB(;)g(n)j Fx(\000)h FH(1)p Fx(g)p FH(,)18 b(and)g(gcd\()p
FB(x;)8 b(n)p FH(\))15 b(=)h(1)p Fx(g)p FH(.)25 b(Once)17 b(again,)i
FB(Z)1930 1702 y Ft(\003)1926 1733 y Fw(n)0 1793 y FH(is)h(a)f(group)h(under)
f(m)o(ultiplication)j(mo)q(d)d FB(n)p FH(.)29 b(The)19 b(Legendre)g(sym)o(b)q
(ol)h(is)g(generalized)f(to)h(the)e FF(Jac)n(obi)0 1865 y(symb)n(ol)5
b FH(:)22 b(if)17 b FB(n)f FH(is)i(prime,)e(the)g(Jacobi)i(sym)o(b)q(ol)f
(equals)g(the)f(Legendre)h(sym)o(b)q(ol;)g(when)f FB(n)h FH(is)g(comp)q
(osite,)0 1937 y(the)d(Jacobi)i(sym)o(b)q(ol)g(is)f(de\014ned)g(to)g(b)q(e)g
(the)f(pro)q(duct)i(of)f(all)h(the)e(Legendre)h(sym)o(b)q(ols)h(corresp)q
(onding)h(to)0 2009 y(the)f(prime)g(factors)h(of)g FB(n)p FH(,)e(i.e.,)h(if)g
FB(n)e FH(=)g(\005)p FB(p)788 2016 y Fw(i)802 2009 y FH(,)i(then)g(\()962
1991 y Fw(x)p 962 1998 22 2 v 962 2022 a(n)986 2009 y FH(\))d(=)h(\005\()1126
1991 y Fw(x)p 1126 1998 V 1126 2022 a(p)1144 2027 y Fv(i)1159
2009 y FH(\).)73 2124 y(In)22 b(the)g(algorithm)i(b)o(y)e(Solo)o(v)m(a)o(y)h
(and)f(Strassen,)i(for)f FB(x)g Fx(2)h(f)p FH(1)p FB(;)8 b
FH(.)g(.)g(.)g FB(;)g(n)15 b Fx(\000)g FH(1)p Fx(g)22 b FH(to)h(b)q(e)f(a)h
(witness)g(to)0 2209 y(comp)q(ositeness)d(of)f FB(n)p FH(,)f(either)h(gcd\()p
FB(x;)8 b(n)p FH(\))17 b FB(>)h FH(1)h(or)g FB(x)980 2176 y
Fv(n)p Fl(\000)p Fq(1)p 979 2183 59 2 v 1001 2203 a(2)1095
2209 y FH(\(mo)q(d)e FB(n)p FH(\))h Fx(6)p FH(=)f(\()1364 2191
y Fw(x)p 1364 2198 22 2 v 1364 2221 a(n)1388 2209 y FH(\).)28
b(Their)19 b(algorithm)h(can)f(b)q(e)0 2293 y(stated)e(as)f(follo)o(ws.)0
2441 y Fy(PrimeT)m(est)f(\(Solovay-Str)n(assen\))23 b Fp(f)h
Fo(\(*)f(another)g(algorithm)g(for)g(primality)g(testing*\))143
2525 y(Input)g Fn(n)143 2610 y Fo(REPEAT)g Fn(r)h Fo(times)p
Fp(f)285 2695 y Fo(\(1\))g(randomly)f(pick)g(an)g Fn(x)h Fo(between)f(1)h
(and)f Fn(n)951 2828 y FH(24)p eop
bop 285 213 a Fo(\(2\))24 b(if)f Fz(gcd)q(\()p Fn(x;)8 b(n)p
Fz(\))j Fn(>)i Fz(1)p Fo(,)23 b(output)h(`composite')e(and)h(HALT)285
298 y(\(3\))h(if)f Fn(x)483 265 y Fv(n)p Fl(\000)p Fq(1)p 483
272 59 2 v 505 293 a(2)594 298 y Fz(\(mo)q(d)14 b Fn(n)p Fz(\))f
Fp(6)p Fz(=)g(\()838 274 y Fw(x)p 838 281 22 2 v 838 303 a(n)861
298 y Fz(\))p Fo(,)23 b(output)g(`composite')g(and)g(HALT)285
382 y Fp(g)143 467 y Fo(output)g(`prime')g(and)g(HALT)0 552
y Fp(g)73 766 y FH(Determining)15 b(if)g FB(x)f FH(and)g FB(n)g
FH(are)h(relativ)o(ely)f(prime)g(\(e.g.)20 b(b)o(y)14 b(Euclid's)h
(algorithm\),)h(computing)f FB(x)1885 733 y Fv(n)p Fl(\000)p
Fq(1)p 1885 740 59 2 v 1906 760 a(2)0 838 y FH(\(mo)q(d)i FB(n)p
FH(\),)j(and)h(the)e(Jacobi)i(sym)o(b)q(ol)f(\()742 820 y Fw(x)p
742 827 22 2 v 742 850 a(n)766 838 y FH(\),)g(can)g(all)h(b)q(e)f
(accomplished)h(in)f(logarithmic)i(time.)31 b(If)19 b FB(n)h
FH(is)0 910 y(prime,)13 b(then)g(it)g(follo)o(ws)i(from)d(the)h(fact)f(that)i
FB(Z)883 892 y Ft(\003)879 922 y Fw(n)915 910 y FH(is)g(cyclic,)f(that)g
FB(x)1241 875 y Fq(\()p Fv(n)p Fl(\000)p Fq(1\))p 1241 884
83 2 v 1274 905 a(2)1344 910 y Fx(\021)g FH(\()1415 892 y Fw(x)p
1415 899 22 2 v 1415 922 a(n)1439 910 y FH(\))50 b(\(mo)q(d)17
b FB(n)p FH(\).)j(Th)o(us)13 b(when)0 982 y FB(n)h FH(is)h(indeed)g(prime,)f
(no)g FB(x)g FH(will)i(qualify)f(as)g(a)g(witness.)21 b(When)14
b FB(n)h FH(is)f(comp)q(osite,)i(Solo)o(v)m(a)o(y)f(and)f(Strassen)0
1055 y(sho)o(w)o(ed)f(that)g(the)g(set)g(of)g(false)h(witnesses)g(|)e(the)h
(n)o(um)o(b)q(ers)g(in)g Fx(f)p FH(1)p FB(;)8 b FH(.)g(.)g(.)g
FB(;)g(n)t Fx(\000)t FH(1)p Fx(g)13 b FH(that)h(violate)g(conditions)0
1127 y(\(1\))h(and)f(\(2\),)h(i.e.,)e(gcd)q(\()p FB(x;)8 b(n)p
FH(\))13 b(=)h(1)h(and)f FB(x)770 1091 y Fq(\()p Fv(n)p Fl(\000)p
Fq(1\))p 770 1101 83 2 v 804 1121 a(2)873 1127 y Fx(\021)g
FH(\()945 1109 y Fw(x)p 945 1116 22 2 v 945 1139 a(n)968 1127
y FH(\))50 b(\(mo)q(d)17 b FB(n)p FH(\))e(|)f(forms)g(a)h(prop)q(er)f
(subgroup)i(of)f FB(Z)1917 1109 y Ft(\003)1913 1139 y Fw(n)1936
1127 y FH(.)0 1199 y(Hence)f(the)h(cardinalit)o(y)j(of)d(this)i(set)e(can)h
(b)q(e)f(at)h(most)g(\()p FB(n)10 b Fx(\000)f FH(1\))p FB(=)p
FH(2.)22 b(Once)15 b(again,)i(using)g(the)e(prop)q(erties)0
1271 y(of)k(quadratic)g(residues)g(mo)q(dulo)h FB(n)p FH(,)f(the)f(witnesses)
h(for)g(comp)q(ositeness)h(are)e(de\014ned)g(in)h(suc)o(h)g(a)f(w)o(a)o(y)0
1343 y(that)f(they)e(are)i(b)q(oth)g(easily)g(c)o(hec)o(k)m(able)f(and)h
(abundan)o(t.)73 1446 y(An)22 b(in)o(teresting)h(comparison)h(of)e(the)g
(Miller-Rabin)j(and)e(Solo)o(v)m(a)o(y-Strassen)h(primalit)o(y)f(testing)0
1518 y(algorithms)f(is)e(giv)o(en)g(in)g([Mon80],)g(where)f(it)h(is)h(sho)o
(wn)f(that)g(the)f(former)g(is)h(alw)o(a)o(ys)h(more)e(e\016cien)o(t)0
1590 y(than)13 b(the)e(latter.)21 b(These)12 b(t)o(w)o(o)f(algorithms)k(are)d
(of)g(the)g(Mon)o(te)f(Carlo)j(v)m(ariet)o(y)e(b)q(ecause)g(when)g
FB(n)g FH(is)h(prime)0 1662 y(they)j(can)g(rep)q(ort)h(so)g(only)g(with)g(a)g
(certain)g(probabilistic)i(measure)d(of)h(con\014dence;)e(in)i(particular,)h
(no)0 1735 y(pro)q(of)f(is)g(pro)o(vided)g(that)f(this)h(is)g(the)f(case.)21
b(Con)o(vincing)d(someb)q(o)q(dy)f(that)f(a)h(n)o(um)o(b)q(er)e(is)i(comp)q
(osite)g(is)0 1807 y(an)f(easy)g(task:)22 b(one)16 b(simply)g(has)h(to)f
(exhibit)h(that)f(it)g(is)h(a)f(pro)q(duct)h(of)f(other)g(t)o(w)o(o)g(n)o(um)
o(b)q(ers.)k(Ho)o(w)c(can)0 1879 y(one)f(demonstrate)f(that)h(a)g(n)o(um)o(b)
q(er)e FB(n)i FH(is)g(prime?)21 b(Certainly)15 b(it)g(can)g(b)q(e)f(done)h(b)
o(y)f(sho)o(wing)i(all)g(p)q(ossible)0 1951 y(trial)k(divisions,)g(but)e
(that)h(is)g(not)f(an)h(e\016cien)o(t)e(pro)q(of)i(as)g(it)f(is)h(exp)q(onen)
o(tially)h(long)f(in)g(the)f(length)h(of)0 2024 y FB(n)p FH(.)30
b(It)18 b(w)o(as)i(sho)o(wn)f(b)o(y)g(Pratt)g([Pra75)q(],)g(using)h(the)f
(Lucas-Lehmer)g(heuristic)h(for)f(primalit)o(y)i(testing,)0
2096 y(that)e(one)f(can)g(giv)o(e)g(a)h(succinct)f(pro)q(of)h(for)g
(primeness)f(of)g(a)h(n)o(um)o(b)q(er)e FB(n)h FH(in)h FB(O)q
FH(\(log)11 b FB(n)p FH(\))18 b(lines.)28 b(While)19 b(it)0
2168 y(is)f(easy)f(to)g(v)o(erify)f(suc)o(h)h(a)g(pro)q(of,)g(unfortunately)l
(,)h(there)e(is)i(no)f(kno)o(wn)g(metho)q(d)g(for)g(coming)h(up)f(with)0
2240 y(the)f(pro)q(of,)h(or)g(demonstrating)g(the)f(absence)g(thereof,)g(in)h
(p)q(olynomial)i(time.)73 2342 y(Other)13 b(algorithms)j(utilizing)g
(di\013eren)o(t)e(n)o(um)o(b)q(er)f(theoretic)g(prop)q(erties)i(for)f
(de\014ning)g(witnesses)h(for)0 2415 y(comp)q(ositeness)e FF(and)f
FH(primalit)o(y)h(ha)o(v)o(e)e(also)i(b)q(een)f(disco)o(v)o(ered)f([Rab80a)r
(,)g(Leh82)q(,)g(AH87,)h(GK86)q(,)f(AH88].)0 2487 y(F)l(or)21
b(example,)g(Adleman)g(and)g(Huang)g([AH88])f(ha)o(v)o(e)g(devised)h(a)g(new)
g(algorithm)h(that,)g(instead)g(of)0 2559 y(deciding)g(primalit)o(y)g(b)o(y)e
(the)g(inabilit)o(y)j(to)e(demonstrate)g(witnesses)g(to)g(comp)q(ositeness,)i
(emplo)o(ys)e(a)0 2631 y(separate)e(Mon)o(te)e(Carlo)j(test)e(for)h(primalit)
o(y)l(.)28 b(Th)o(us,)19 b(just)f(lik)o(e)g(comp)q(osite)i(n)o(um)o(b)q(ers,)
d(there)h(exists)h(a)0 2704 y(random)h(p)q(olynomial)h(time)e(algorithm)i
(for)e(the)g(set)g(of)g(prime)g(n)o(um)o(b)q(ers.)28 b(The)19
b(algorithm)i(\015ip-\015ops)951 2828 y(25)p eop
bop 0 195 a FH(b)q(et)o(w)o(een)23 b(searc)o(hing)i(for)g(witnesses)g(to)f
(comp)q(ositeness)i(and)f(witnesses)g(to)f(primalit)o(y)l(,)j(ev)o(en)o
(tually)0 267 y(\014nding)22 b(one)f(in)g(p)q(olynomiall)q(y)i(b)q(ounded)f
(exp)q(ected)d(time.)35 b(This)22 b(algorithm,)h(whic)o(h)e(is)g(of)g(the)g
(Las)0 340 y(V)l(egas)16 b(v)m(ariet)o(y)l(,)g(will)i(nev)o(er)d(declare)h(a)
g(comp)q(osite)h(n)o(um)o(b)q(er)e(to)i(b)q(e)f(prime)g(or)g(vice)g(v)o
(ersa.)21 b(Ho)o(w)o(ev)o(er,)13 b(it)0 412 y(ma)o(y)j(not)g(terminate)h(in)f
(p)q(olynomial)j(time)e(for)f(some)g(inputs.)73 514 y(The)i(next)f(problem)i
(w)o(e)e(consider,)i(whic)o(h)f(concerns)g(the)f(notion)j(of)e
FF(tr)n(ansitive)h(tournament)g FH(due)0 586 y(to)i(Erd})-24
b(os)21 b(and)g(Sp)q(encer)f([ES74)q(],)g(again)i(illustrates)h(random)e
(searc)o(h.)33 b(In)20 b(this)i(case,)f(ho)o(w)o(ev)o(er,)e(the)0
658 y(sample)c(space)f(is)h(so)f(abundan)o(t)h(with)g(go)q(o)q(d)h(p)q(oin)o
(ts)f(that)g(the)f(\\c)o(hec)o(king")g(step)g(inheren)o(t)g(to)g(primalit)o
(y)0 731 y(testing)j(can)g(b)q(e)f(disp)q(ensed)h(with.)0 942
y Fu(2.3)70 b(Net)n(w)n(orks)22 b(without)h(Large)h(Hierarc)n(hies)0
1077 y FH(Long)16 b(ago,)f(in)g(a)g(place)g(called)g(Confusion)h(Land,)g
(there)e(reigned)g(an)h(incomp)q(eten)o(t)f(king)i(called)f(Nadir.)0
1149 y(Nadir)22 b(had)g(app)q(oin)o(ted)h(1000)g(ministers,)h(generals,)f
(and)f(other)g(high-ranking)i(o\016cials)f(to)f(v)m(arious)0
1221 y(p)q(ortfolios)h(in)f(his)f(kingdom.)36 b(As)20 b(usual,)j(Nadir)e(w)o
(as)g(afraid)h(that)f(some)g(of)g(his)g(app)q(oin)o(tees)h(w)o(ould)0
1294 y(organize,)17 b(rev)o(olt,)f(and)h(\014nally)h(usurp)f(the)f(throne.)21
b(His)c(remedy)e(w)o(as)i(simple:)22 b(k)o(eep)16 b(them)f(confused.)0
1366 y(He)g(did)h(this)h(b)o(y)e(not)h(allo)o(wing)i(a)e(clear-cut)g(line)g
(of)g(command|a)g(hierarc)o(h)o(y|to)f(b)q(e)h(formed)f(among)0
1438 y(these)j(o\016cials.)30 b(His)19 b(long)g(exp)q(erience)f(in)h(p)q
(olitics)i(had)e(con)o(vinced)g(him)f(that)h(ev)o(en)f(if)h(as)g(few)f(as)h
(25)0 1510 y(o\016cials)f(got)f(organized)g(they)f(w)o(ould)h(o)o(v)o(erthro)
o(w)f(him.)73 1612 y(Nadir's)i(de\014nition)i(of)e(\\b)q(eing)i(organized")f
(is)g(as)f(follo)o(ws:)27 b FB(k)20 b FH(o\016cials)f(are)f(said)h(to)g(b)q
(e)f FF(or)n(ganize)n(d)0 1685 y(in)g(a)g(hier)n(ar)n(chy)c
FH(if)j(for)g(ev)o(ery)e(three)h(of)h(them,)e(the)i(\\is-a-b)q(oss-o)q(f)s(")
j(relation)e(is)g(transitiv)o(e.)k(That)c(is,)f(if)0 1757 y(for)g(all)i
(triples)f(of)g(the)f(form)g(\()p FB(A;)8 b(B)s(;)g(C)t FH(\),)15
b(if)i FB(A)g FH(is)h(a)g(b)q(oss)g(of)f FB(B)j FH(and)e FB(B)i
FH(is)d(a)h(b)q(oss)g(of)g FB(C)j FH(implies)d FB(A)f FH(is)h(a)0
1829 y(b)q(oss)g(of)e FB(C)t FH(,)f(then)i(the)f FB(k)i FH(o\016cials)f(are)g
(organized.)73 1931 y(Ha)o(ving)e(made)g(app)q(oin)o(tmen)o(ts)h(to)f(the)g
(1000)h(p)q(ositions,)i(Nadir)d(is)h(stuc)o(k)e(with)i(the)f(follo)o(wing)i
(task.)0 2004 y(He)d(m)o(ust)g(de\014ne)h(the)f(is-a-b)q(oss-)q(of)k
(relation)e(b)q(et)o(w)o(een)e FF(every)h FH(pair)h(of)f(app)q(oin)o(tees)h
(suc)o(h)f(that)g(no)g(group)0 2076 y(of)k(25)h(or)g(more)e(o\016cials)j(is)f
(organized.)31 b(A)o(t)18 b(the)h(micro-lev)o(el)g(\(groups)h(of)g(size)f
(less)h(than)g(25\),)g(there)0 2148 y(ma)o(y)e(b)q(e)h(organized)h(groups;)h
(at)e(the)f(macro-lev)o(el,)h(ho)o(w)o(ev)o(er,)f(confusion)i(should)h(prev)m
(ail.)30 b(Ho)o(w)18 b(will)0 2220 y(Nadir)f(assign)h(ranks)f(to)f(these)g
(thousand)i(app)q(oin)o(tees)f(in)g(order)g(to)f(ac)o(hiev)o(e)g(his)h(cro)q
(ok)o(ed)f(ob)s(jectiv)o(e?)73 2323 y(In)g(this)h(section)g(w)o(e)f(consider)
h(Nadir's)g(problem)g(in)g(detail)h(and)f(pro)o(vide)f(a)h(general)g
(solution,)h(the)0 2395 y(k)o(ey)c(to)h(whic)o(h)g(is)g(a)g(theorem)f(of)h
(Erd})-24 b(os)16 b(and)f(Sp)q(encer)g(\(Chapter)g(1)g(of)g([ES74)q(]\).)20
b(T)l(o)15 b(mak)o(e)f(this)h(section)0 2467 y(self-con)o(tained,)k(their)f
(result)g(is)g(pro)o(v)o(ed)f(here)g(as)i(Theorem)e(1.)26 b(It)17
b(turns)h(out)g(that)h(Nadir's)f(problem)0 2539 y(falls)i(in)f(the)f
(category)h(of)f(problems)i(for)e(whic)o(h)h(the)f(solution)j(space)d(is)h
(abundan)o(t)h(with)f(candidates)0 2611 y(p)q(ossessing)g(a)d(giv)o(en)h
(prop)q(ert)o(y)f(and)h(random)g(searc)o(h)f(can)g(b)q(e)g(used)h(to)f(deriv)
o(e)g(the)g(solution.)951 2828 y(26)p eop
bop 73 195 a FH(Nadir's)15 b(problem)g(can)g(b)q(e)g(describ)q(ed)g(as)h
(that)f(of)g(constructing)h(a)f(net)o(w)o(ork)f(of)h(no)q(des,)g(where)g(eac)
o(h)0 267 y(no)q(de)21 b(represen)o(ts)f(an)g(o\016cial.)35
b(Informally)l(,)22 b(a)f(net)o(w)o(ork)e(represen)o(ts)h(an)h(assignmen)o(t)
g(of)g(precedence)0 340 y(b)q(et)o(w)o(een)g(all)i(p)q(ossible)h(pairs)f(of)f
(no)q(des.)39 b(It)21 b(can)h(b)q(e)g(represen)o(ted)f(b)o(y)g(a)h(complete)g
(directed)f(graph)0 412 y(where)16 b(an)h(edge)f(from)g FB(x)g
FH(to)g FB(y)i FH(represen)o(ts)e(the)g(relation)i(\\x)e(is)h(a)g(b)q(oss)g
(of)g(y)l(.")73 514 y(F)l(ormally)l(,)f(a)h FF(network)g FB(T)22
b FF(on)17 b(a)g(set)f FB(V)27 b FH(is)17 b(a)f(directed)f(graph)i(\()p
FB(V)s(;)8 b(T)f FH(\))15 b(where)g FB(T)20 b Fx(\032)14 b
FB(V)21 b Fx(\002)10 b FB(V)27 b FH(suc)o(h)16 b(that)0 586
y(for)k(all)i FB(x;)8 b(y)21 b Fx(2)g FB(V)s(;)28 b(x)20 b
Fx(6)p FH(=)g FB(y)r FH(,)g(either)g(\()p FB(x;)8 b(y)r FH(\))19
b Fx(2)i FB(T)26 b FH(or)21 b(\()p FB(y)r(;)8 b(x)p FH(\))19
b Fx(2)h FB(T)7 b FH(,)20 b(but)h(not)f(b)q(oth.)33 b(A)20
b(net)o(w)o(ork)f FB(T)27 b FH(is)21 b(a)0 658 y FF(hier)n(ar)n(chy)16
b FH(if)i(\()p FB(x;)8 b(y)r FH(\))p FB(;)g FH(\()p FB(y)r(;)g(z)r
FH(\))15 b Fx(2)h FB(T)24 b FH(implies)19 b(\()p FB(x;)8 b(z)r
FH(\))16 b Fx(2)g FB(T)7 b FH(,)17 b Fx(8)p FB(x;)8 b(y)r(;)g(z)16
b Fx(2)h FB(V)11 b FH(.)26 b(Net)o(w)o(orks)16 b(and)j(hierarc)o(hies)f(are)0
731 y(called)f FF(tournaments)g FH(and)g FF(tr)n(ansitive)h(tournaments)t
FH(,)f(resp)q(ectiv)o(ely)l(,)e(in)i([ES74)q(].)73 833 y(Nadir's)h(problem)g
(then,)f(whic)o(h)h(w)o(e)f(refer)g(to)h(as)g(the)f FF(NetHier)n(ar)n(chy)g
FH(problem,)h(is)g(to)g(construct)g(a)0 905 y(net)o(w)o(ork)i(that)h(do)q(es)
g(not)g(ha)o(v)o(e)f(\\large")j(hierarc)o(hies.)34 b(In)21
b(particular,)i(he)d(w)o(an)o(ts)h(a)g(net)o(w)o(ork)f FB(T)1855
912 y Fw(n)1899 905 y FH(on)0 977 y FB(n)f FH(no)q(des)h(suc)o(h)f(that)g(ev)
o(ery)e(subnet)o(w)o(ork)i(of)g FB(T)889 984 y Fw(n)931 977
y FH(con)o(taining)i FB(m)e FH(or)g(more)g(no)q(des)h(is)f(not)h(a)f(hierarc)
o(h)o(y)l(.)0 1050 y(\(In)f(the)h(case)f(at)h(hand,)g FB(n)f
FH(=)g(1000)i(and)f FB(m)f FH(=)g(25.\))28 b(A)19 b(p)q(ossible)h(approac)o
(h)g(to)f(constructing)g(suc)o(h)g(a)0 1122 y(net)o(w)o(ork)g(w)o(ould)h(b)q
(e)f(to)g(c)o(ho)q(ose)h(a)g(net)o(w)o(ork)e(at)i(random)f(and)h(c)o(hec)o(k)
d(that)j(all)h(the)e(\()1617 1104 y Fw(n)1617 1134 y(m)1650
1122 y FH(\))g(subnet)o(w)o(orks)0 1194 y(are)g(not)h(hierarc)o(hies.)30
b(If)19 b(a)g(large)h(hierarc)o(h)o(y)f(is)h(found,)g(another)f
FB(T)1293 1201 y Fw(n)1336 1194 y FH(can)g(b)q(e)g(pic)o(k)o(ed)f(randomly)i
(and)0 1266 y(c)o(hec)o(k)o(ed.)e(This)e(pro)q(cess)g(can)f(b)q(e)g(con)o
(tin)o(ued)g(un)o(til)h(a)g(net)o(w)o(ork)e(with)i(the)e(required)h(prop)q
(ert)o(y)g(is)h(found.)0 1339 y(As)h(w)o(e)g(will)i(see)e(b)q(elo)o(w,)h(for)
g(appropriate)h(v)m(alues)f(of)f FB(m)p FH(,)g(one)h(can)f(ev)o(en)f(disp)q
(ense)j(with)f(the)f(c)o(hec)o(k)e(as)0 1411 y(an)o(y)h(random)h
FB(T)300 1418 y Fw(n)339 1411 y FH(w)o(ould)h(su\016ce)d(with)i(a)g(v)o(ery)e
(high)i(degree)f(of)h(con\014dence.)73 1513 y(In)g(a)g(hierarc)o(h)o(y)f(it)i
(is)f(p)q(ossible)i(to)f(assign)g(a)g(unique)f(rank)g(to)g(eac)o(h)g(no)q
(de.)23 b(The)17 b(top-rank)o(ed)g(no)q(de)0 1585 y(is)h(a)g(b)q(oss)h(of)e
(all)i(others,)e(and)h(in)g(general,)g(the)f FB(i)p FH(th-rank)o(ed)g(no)q
(de)h(is)g(a)g(b)q(oss)h(of)e(all)i(but)f(those)f(with)i(a)0
1657 y(b)q(etter)13 b(rank.)20 b(Hence)12 b(a)i(hierarc)o(h)o(y)f(is)h(equiv)
m(alen)o(t)f(to)h(a)g(p)q(erm)o(utation)g(of)f(the)g FB(n)h
FH(no)q(des.)21 b(Figure)14 b(3)f(sho)o(ws)0 1730 y(a)j(six-no)q(de)h(net)o
(w)o(ork)e(that)g(con)o(tains)i(a)f(hierarc)o(h)o(y)f(on)h(\014v)o(e)e(no)q
(des.)22 b(The)16 b(p)q(erm)o(utation)g(corresp)q(onding)0
1802 y(to)i(the)f(hierarc)o(h)o(y)g(on)h(no)q(des)h Fx(f)p
FH(1)p FB(;)8 b FH(.)g(.)g(.)g FB(;)g FH(5)p Fx(g)17 b FH(is)i
FB(\031)e FH(:)f Fx(f)p FH(1)p FB(;)8 b FH(2)p FB(;)g FH(3)p
FB(;)g FH(4)p FB(;)g FH(5)p Fx(g)17 b(!)f(f)p FH(2)p FB(;)8
b FH(3)p FB(;)g FH(1)p FB(;)g FH(4)p FB(;)g FH(5)p Fx(g)19
b FH(as)f(2)g(is)h(a)f(b)q(oss)h(of)f(all)0 1874 y(other)f(no)q(des,)h(3)g
(is)g(a)g(b)q(oss)h(of)e(1,)h(4,)f(and)h(5,)g(and)g(so)g(on.)24
b(Also,)18 b(note)g(that)g(the)f(full)h(net)o(w)o(ork)f(is)h(not)g(a)0
1946 y(hierarc)o(h)o(y)e(b)q(ecause)g(of)h(the)f(cycles)g(among)h(no)q(des)g
Fx(f)p FH(6)p FB(;)8 b FH(3)p FB(;)g FH(1)p Fx(g)p FH(,)16
b Fx(f)p FH(6)p FB(;)8 b FH(3)p FB(;)g FH(4)p Fx(g)p FH(,)17
b(and)g Fx(f)p FH(6)p FB(;)8 b FH(3)p FB(;)g FH(5)p Fx(g)p
FH(.)73 2049 y(Erd})-24 b(os)24 b(and)f(Sp)q(encer)g([ES74)q(])f(ha)o(v)o(e)g
(pro)o(v)o(ed)g(an)i(imp)q(ortan)o(t)g(prop)q(ert)o(y)e(concerning)i(the)f
(size)g(of)0 2121 y(hierarc)o(hies)h(in)g(arbitrary)g(net)o(w)o(orks,)g(whic)
o(h)g(w)o(e)f(no)o(w)g(presen)o(t.)42 b(De\014ne)23 b FB(\037)p
FH(\()p FB(n)p FH(\))g(to)g(b)q(e)h(the)f(largest)0 2193 y(in)o(teger)f(suc)o
(h)g(that)h FF(every)k FH(net)o(w)o(ork)22 b(on)h FB(n)f FH(no)q(des)i(con)o
(tains)f(a)g(hierarc)o(h)o(y)f(of)g FB(\037)p FH(\()p FB(n)p
FH(\))g(no)q(des.)41 b(Unless)0 2265 y(stated)17 b(otherwise)g(log)h(denotes)
e(logarithms)j(to)d(the)g(base)h(2.)0 2421 y FC(Theorem)h(1)24
b(\([ES74)o(]\))17 b FB(\037)p FH(\()p FB(n)p FH(\))27 b FB(<)h
FH(1)11 b(+)g Fx(b)p FH(2)d(log)k FB(n)p Fx(c)p FF(.)73 2578
y FH(The)i(theorem)g(is)h(pro)o(v)o(ed)f(b)o(y)f(sho)o(wing)j(that)f(there)e
(exist)i(net)o(w)o(orks)f(that)g(do)h(not)g(ha)o(v)o(e)e(an)o(y)h(hierar-)0
2650 y(c)o(h)o(y)f(on)h(1)7 b(+)g Fx(b)p FH(2)h(log)j FB(n)p
Fx(c)j FH(no)q(des.)22 b(The)14 b(pro)q(of)h(is)g(non-constructiv)o(e.)21
b(Let)14 b(\000)1346 2657 y Fw(n)1384 2650 y FH(b)q(e)g(the)g(class)h(of)g
(all)g(net)o(w)o(orks)951 2828 y(27)p eop
bop 638 467 4 43 v 638 491 V 638 516 V 639 540 V 639 564 V
639 589 V 639 613 V 639 638 V 639 662 V 640 687 V 640 711 V
640 715 4 4 v 641 715 a Fk(?)670 429 y(b)710 453 y(b)749 477
y(b)789 501 y(b)828 525 y(b)868 549 y(b)907 573 y(b)947 597
y(b)986 621 y(b)1026 646 y(b)1065 670 y(b)1105 694 y(b)1144
718 y(b)1184 742 y(b)1212 745 y FG(.)1215 746 y(.)-26 b(.)1218
748 y(.)1189 745 y Fk(j)p 670 383 557 4 v 1185 381 a(-)664
357 y(\010)699 340 y(\010)735 323 y(\010)770 306 y(\010)806
289 y(\010)841 272 y(\010)876 256 y(\010)905 238 y FG(.)908
236 y(.)880 254 y Fk(*)908 291 y(\024)893 317 y(\024)878 344
y(\024)863 371 y(\024)847 398 y(\024)832 425 y(\024)817 451
y(\024)801 478 y(\024)786 505 y(\024)771 532 y(\024)755 559
y(\024)740 585 y(\024)725 612 y(\024)710 639 y(\024)694 666
y(\024)679 693 y(\024)664 719 y(\024)651 722 y FG(.)649 726
y(.)g(.)647 729 y(.)646 731 y(.)658 728 y Fk(\035)979 252 y(H)1015
270 y(H)1051 289 y(H)1087 307 y(H)1123 326 y(H)1158 345 y(H)1194
363 y(H)1223 366 y FG(.)1225 367 y(.)g(.)1228 369 y(.)1199
366 y Fk(j)961 293 y(T)977 319 y(T)993 345 y(T)1010 371 y(T)1026
397 y(T)1043 424 y(T)1059 450 y(T)1075 476 y(T)1092 502 y(T)1108
528 y(T)1124 554 y(T)1141 580 y(T)1157 607 y(T)1173 633 y(T)1190
659 y(T)1206 685 y(T)1223 711 y(T)1235 714 y FG(.)1237 717
y(.)g(.)1238 719 y(.)1240 722 y(.)1225 719 y Fk(^)669 744 y(")709
720 y(")750 696 y(")791 673 y(")832 649 y(")873 625 y(")914
601 y(")954 578 y(")995 554 y(")1036 530 y(")1077 506 y(")1118
482 y(")1158 459 y(")1199 435 y(")1228 413 y FG(.)1230 412
y(.)g(.)1233 410 y(.)1204 428 y Fk(*)p 670 766 559 4 v 1187
764 a(-)1255 425 y FG(.)1255 429 y(.)1255 433 y(.)1255 438
y(.)1255 442 y(.)1255 446 y(.)1255 450 y(.)1255 454 y(.)1255
458 y(.)1255 462 y(.)1255 467 y(.)1255 471 y(.)1255 475 y(.)1255
479 y(.)1256 483 y(.)1256 487 y(.)1256 492 y(.)1256 496 y(.)1256
500 y(.)1256 504 y(.)1256 508 y(.)1256 512 y(.)1256 517 y(.)1256
521 y(.)1256 525 y(.)1256 529 y(.)1256 533 y(.)1256 537 y(.)1256
541 y(.)1256 546 y(.)1256 550 y(.)1256 554 y(.)1256 558 y(.)1256
562 y(.)1256 566 y(.)1256 571 y(.)1256 575 y(.)1256 579 y(.)1256
583 y(.)1256 587 y(.)1256 591 y(.)1256 596 y(.)1256 600 y(.)1256
604 y(.)1256 608 y(.)1256 612 y(.)1256 616 y(.)1256 621 y(.)1256
625 y(.)1256 629 y(.)1256 633 y(.)1256 637 y(.)1256 641 y(.)1256
645 y(.)1256 650 y(.)1256 654 y(.)1256 658 y(.)1257 662 y(.)1257
666 y(.)1257 670 y(.)1257 675 y(.)1257 679 y(.)1257 683 y(.)1257
687 y(.)1257 691 y(.)1257 695 y(.)1257 700 y(.)1257 704 y(.)1257
708 y(.)1257 712 y(.)1257 716 y(.)p 1268 717 4 4 v 1270 717
a Fk(?)660 810 y(Q)697 834 y(Q)733 857 y(Q)770 880 y(Q)807
903 y(Q)843 927 y(Q)880 950 y(Q)909 953 y FG(.)912 955 y(.)883
952 y Fk(j)p 949 917 4 43 v 949 893 V 948 870 V 948 846 V 948
822 V 947 799 V 947 775 V 947 751 V 947 728 V 946 704 V 946
680 V 946 657 V 946 633 V 945 609 V 945 586 V 945 562 V 945
538 V 944 515 V 944 491 V 944 467 V 943 444 V 943 420 V 943
396 V 943 373 V 942 349 V 942 325 V 942 302 V 942 259 4 4 v
944 297 a(6)1201 805 y(")1163 828 y(")1126 850 y(")1088 872
y(")1051 895 y(")1013 917 y(")976 939 y(")963 942 y FG(.)961
943 y(.)g(.)958 945 y(.)971 942 y Fk(\031)1228 458 y(\024)1214
483 y(\024)1200 508 y(\024)1186 534 y(\024)1172 559 y(\024)1158
585 y(\024)1144 610 y(\024)1130 635 y(\024)1116 661 y(\024)1102
686 y(\024)1088 712 y(\024)1074 737 y(\024)1060 762 y(\024)1046
788 y(\024)1032 813 y(\024)1018 839 y(\024)1004 864 y(\024)990
889 y(\024)976 915 y(\024)963 918 y FG(.)961 922 y(.)g(.)960
924 y(.)958 926 y(.)971 924 y Fk(\035)658 458 y(A)672 483 y(A)686
509 y(A)700 535 y(A)714 561 y(A)728 586 y(A)741 612 y(A)755
638 y(A)769 664 y(A)783 689 y(A)797 715 y(A)811 741 y(A)824
767 y(A)838 792 y(A)852 818 y(A)866 844 y(A)880 870 y(A)894
895 y(A)907 921 y(A)915 924 y FG(.)917 928 y(.)g(.)919 930
y(.)921 932 y(.)906 930 y Fk(^)949 948 y Fj(w)1255 749 y(w)1255
383 y(w)949 217 y(w)642 383 y(w)642 749 y(w)-89 b Fz(1)586
383 y(2)702 b(4)1311 749 y(5)949 1015 y(6)945 125 y(3)8 1212
y FH(Figure)16 b(3:)22 b(A)16 b(net)o(w)o(ork)f(with)i(a)g(hierarc)o(h)o(y)f
(on)h(\014v)o(e)e(Pla)o(y)o(ers)h(with)h FB(\031)f FH(:)d Fx(f)p
FH(1)p FB(;)8 b FH(2)p FB(;)g FH(3)p FB(;)g FH(4)p FB(;)g FH(5)p
Fx(g)15 b(!)f(f)p FH(2)p FB(;)8 b FH(3)p FB(;)g FH(1)p FB(;)g
FH(4)p FB(;)g FH(5)p Fx(g)p FH(.)0 1349 y(on)21 b FB(n)f FH(no)q(des)h(and)f
(let)h(\000)465 1331 y Ft(0)465 1362 y Fw(n)509 1349 y FH(b)q(e)f(the)g
(class)h(of)f(all)i(net)o(w)o(orks)e(that)g(ha)o(v)o(e)f(a)i(hierarc)o(h)o(y)
e(on)i(1)14 b(+)g Fx(b)p FH(2)8 b(log)j FB(n)p Fx(c)0 1421
y FH(no)q(des.)22 b(W)l(e)16 b(sho)o(w)h(that)g(there)e(are)i(more)e(net)o(w)
o(orks)h(in)h(\000)1086 1428 y Fw(n)1126 1421 y FH(than)g(in)g(\000)1327
1403 y Ft(0)1327 1434 y Fw(n)1351 1421 y FH(.)73 1524 y(W)l(e)g(\014rst)g
(coun)o(t)g(the)g(n)o(um)o(b)q(er)g(of)g(net)o(w)o(orks)g(in)g(\000)1007
1531 y Fw(n)1031 1524 y FH(.)24 b(Eac)o(h)17 b(net)o(w)o(ork)g(in)h(\000)1466
1531 y Fw(n)1507 1524 y FH(consists)g(of)g FB(n)f FH(v)o(ertices)0
1596 y(and)g(\()114 1578 y Fw(n)114 1608 y FI(2)137 1596 y
FH(\))g(edges,)e(eac)o(h)h(of)h(whic)o(h)f(can)h(tak)o(e)e(t)o(w)o(o)h(p)q
(ossible)j(directions.)j(Th)o(us,)850 1718 y Fx(j)p FH(\000)894
1725 y Fw(n)918 1718 y Fx(j)27 b FH(=)h(2)1049 1697 y FI(\()1063
1686 y Fv(n)1063 1708 y Fq(2)1084 1697 y FI(\))1888 1718 y
FH(\(2\))73 1870 y(Coun)o(ting)21 b(the)e(n)o(um)o(b)q(er)g(of)h(net)o(w)o
(orks)f(in)h(\000)914 1852 y Ft(0)914 1882 y Fw(n)957 1870
y FH(is)g(a)g(bit)g(more)f(in)o(v)o(olv)o(ed.)31 b(Since)20
b(eac)o(h)f(net)o(w)o(ork)f(in)0 1942 y(\000)30 1924 y Ft(0)30
1955 y Fw(n)71 1942 y FH(has)h(a)e(hierarc)o(h)o(y)g(on)h FB(')e
FH(=)g(1)c(+)g Fx(b)p FH(2)c(log)j FB(n)p Fx(c)17 b FH(no)q(des,)i(w)o(e)e
(\014rst)g(select)g(the)h FB(')f FH(no)q(des)h(and)g(assign)i(them)0
2014 y(a)g(p)q(erm)o(utation,)h(whic)o(h)e(will)j(uniquely)e(determine)f(a)g
(hierarc)o(h)o(y)g(on)h(these)f(no)q(des.)32 b(The)20 b(remaining)0
2087 y(edges)g(in)g(the)g(graph)h(consisting)h(of)e(\()p FB(n)14
b Fx(\000)f FB(')p FH(\))20 b(no)q(des)g(can)g(b)q(e)g(assigned)i
(arbitrarily)l(.)34 b(W)l(e)20 b(coun)o(t)f(the)0 2159 y(n)o(um)o(b)q(er)12
b(of)i(net)o(w)o(orks)e(for)i(all)g(the)f(\()664 2141 y Fw(n)664
2171 y(')689 2159 y FH(\))g(p)q(ossible)j(c)o(hoices)d(of)g
FB(')g FH(no)q(des)h(and)g(all)g(the)f FB(')p FH(!)g(w)o(a)o(ys)g(of)g
(assigning)0 2231 y(them)j(a)g(p)q(erm)o(utation.)22 b(F)l(ormally)l(,)803
2303 y(\000)833 2283 y Ft(0)833 2316 y Fw(n)884 2303 y FH(=)950
2262 y Fr([)960 2354 y Fw(A)1004 2262 y Fr([)1017 2349 y Fw(\031)1059
2303 y FB(T)1088 2310 y Fw(A;\031)1888 2303 y FH(\(3\))0 2426
y(where)17 b FB(A)g FH(is)h(a)g(subset)f(of)h FB(n)f FH(no)q(des)h(suc)o(h)g
(that)f Fx(j)p FB(A)p Fx(j)e FH(=)h FB(')p FH(,)h FB(\031)i
FH(is)f(a)f(p)q(erm)o(utation)i(of)e(the)g FB(')g FH(mem)o(b)q(ers)g(of)0
2499 y FB(A)p FH(,)d(and)h FB(T)187 2506 y Fw(A;\031)261 2499
y FH(is)g(the)f(set)h(of)g(net)o(w)o(orks)f(on)h FB(n)f FH(no)q(des)i
(consisten)o(t)f(with)g(the)f(hierarc)o(h)o(y)g(on)h FB(A)g
FH(determined)0 2571 y(b)o(y)j FB(\031)r FH(.)26 b(That)19
b(is,)g(eac)o(h)e(net)o(w)o(ork)h(in)g FB(T)715 2578 y Fw(A;\031)793
2571 y FH(will)i(con)o(tain)f(a)f(hierarc)o(h)o(y)g(on)h FB(A)e
FH(uniquely)i(determined)f(b)o(y)0 2643 y FB(\031)r FH(.)23
b(The)18 b(structure)f(of)g(the)g(net)o(w)o(ork)g(on)g(the)g(remaining)i
FB(n)12 b Fx(\000)f FB(')17 b FH(no)q(des,)h(ho)o(w)o(ev)o(er,)e(is)i(unsp)q
(eci\014ed.)24 b(In)951 2828 y(28)p eop
bop 0 195 a FH(particular,)17 b(the)e(direction)i(of)f(\()598
177 y Fw(n)598 207 y FI(2)621 195 y FH(\))10 b Fx(\000)f FH(\()717
171 y Fw(')717 206 y FI(2)742 195 y FH(\))16 b(edges)g(b)q(et)o(w)o(een)e
(these)h FB(n)10 b Fx(\000)g FB(')15 b FH(no)q(des)i(is)f(unsp)q(eci\014ed.)
22 b(Hence,)794 301 y Fx(j)p FB(T)837 308 y Fw(A;\031)896 301
y Fx(j)28 b FH(=)f(2)1027 280 y FI(\()1041 269 y Fv(n)1041
291 y Fq(2)1063 280 y FI(\))p Ft(\000)p FI(\()1118 264 y Fv(')1118
292 y Fq(2)1140 280 y FI(\))1888 301 y FH(\(4\))0 407 y(Therefore,)15
b(the)h(total)i(n)o(um)o(b)q(er)d(of)i(net)o(w)o(orks)f(in)h(\000)960
389 y Ft(0)960 419 y Fw(n)1000 407 y FH(is)g(b)q(ounded)g(b)o(y)360
544 y Fx(j)p FH(\000)404 523 y Ft(0)404 556 y Fw(n)428 544
y Fx(j)27 b FB(<)535 502 y Fr(X)552 594 y Fw(A)603 502 y Fr(X)622
590 y Fw(\031)671 544 y Fx(j)p FB(T)714 551 y Fw(A;\031)774
544 y Fx(j)g FH(=)881 458 y Fr(0)881 533 y(@)939 510 y FB(n)938
582 y(')990 458 y Fr(1)990 533 y(A)1035 544 y FB(')p FH(!)13
b(2)1118 523 y FI(\()1132 512 y Fv(n)1132 534 y Fq(2)1154 523
y FI(\))p Ft(\000)p FI(\()1209 507 y Fv(')1209 535 y Fq(2)1231
523 y FI(\))1274 544 y FB(<)28 b FH(2)1364 523 y FI(\()1378
512 y Fv(n)1378 534 y Fq(2)1399 523 y FI(\))1443 544 y FH(=)f
Fx(j)p FH(\000)1552 551 y Fw(n)1576 544 y Fx(j)298 b FH(\(5\))0
680 y(This)15 b(implies)g(that)g(\000)406 687 y Fw(n)436 680
y Fx(\000)6 b FH(\000)511 662 y Ft(0)511 693 y Fw(n)549 680
y FH(is)14 b(non-empt)o(y)g(and)g(there)g(exists)g FB(T)20
b Fx(2)14 b FH(\000)1310 687 y Fw(n)1341 680 y Fx(\000)6 b
FH(\000)1416 662 y Ft(0)1416 693 y Fw(n)1453 680 y FH(con)o(taining)16
b(no)f(hierarc)o(h)o(y)0 753 y(on)i FB(')d FH(=)f(1)f(+)f Fx(b)p
FH(2)d(log)j FB(n)p Fx(c)16 b FH(no)q(des.)1336 b Fi(2)73 957
y FH(The)17 b(ab)q(o)o(v)o(e)f(theorem)g(establishes)i(an)f(upp)q(er)g(b)q
(ound)h(on)f(the)f(largest)i(in)o(teger)e FB(\037)g FH(suc)o(h)h(that)g(ev)o
(ery)0 1029 y(net)o(w)o(ork)e(on)g FB(n)h FH(no)q(des)g(con)o(tains)g(a)g
(hierarc)o(h)o(y)f(on)g FB(\037)p FH(\()p FB(n)p FH(\))g(no)q(des.)22
b(It)15 b(can)g(also)i(b)q(e)e(pro)o(v)o(ed,)g(b)o(y)f(induction)0
1102 y(on)e FB(n)p FH(,)h(that)f FB(\037)p FH(\()p FB(n)p FH(\))i
Fx(\025)f FH(1)r(+)r Fx(b)p FH(log)e FB(n)p Fx(c)p FH(.)20
b(Clearly)l(,)13 b(if)g(it)f(w)o(ere)f(the)h(case)g(in)g(Nadir's)h(p)q
(olitics)h(that)e(no)g(hierarc)o(hies)0 1174 y(b)q(e)i(formed)f(on)h
FB(m)g(<)g FH(1)6 b(+)g Fx(b)p FH(log)k FB(n)p Fx(c)k FH(no)q(des,)h(then)e
(ev)o(ery)f(assignmen)o(t)j(of)f(the)f(is-a-b)q(oss-)q(of)k(relation)e(w)o
(ould)0 1246 y(violate)21 b(Nadir's)g(requiremen)o(t)e(and)i(he)f(should)h
(mak)o(e)e(arrangemen)o(ts)i(for)f(a)h(hast)o(y)f(departure.)33
b(On)0 1318 y(the)20 b(other)g(hand,)h(for)f(v)m(alues)h(of)f
FB(m)g FH(sligh)o(tly)i(greater)e(than)g(the)g(upp)q(er)g(b)q(ound)h(of)g
(Theorem)e(1,)i(the)0 1390 y(probabilit)o(y)j(that)f(a)g(randomly)h(selected)
e(graph)h(con)o(tains)g(a)g(large)h(hierarc)o(h)o(y)e(is)h(min)o(uscule.)40
b(F)l(or)0 1463 y FB(m)14 b Fx(\025)f FH(1)f(+)f(2)p Fx(b)p
FH(log)f FB(n)p Fx(c)17 b FH(this)g(probabilit)o(y)h(is)f(b)q(ounded)h(b)o(y)
715 1566 y Fx(j)p FH(\000)759 1548 y Ft(0)759 1579 y Fw(n)782
1566 y Fx(j)p 715 1588 82 2 v 715 1634 a(j)p FH(\000)759 1641
y Fw(n)782 1634 y Fx(j)829 1600 y FB(<)895 1515 y Fr(0)895
1589 y(@)958 1566 y FB(n)952 1638 y(m)1015 1515 y Fr(1)1015
1589 y(A)1060 1600 y FB(m)p FH(!)13 b(2)1154 1579 y Ft(\000)p
FI(\()1195 1568 y Fv(m)1195 1590 y Fq(2)1225 1579 y FI(\))1888
1600 y FH(\(6\))0 1735 y(Therefore,)i(if)g(Nadir)h(w)o(ere)f(to)h(construct)f
(a)h(random)g(net)o(w)o(ork)e(on)i(1000)h(no)q(des,)f(the)f(probabilit)o(y)j
(that)0 1807 y(it)f(will)i(ha)o(v)o(e)d(a)i(hierarc)o(h)o(y)e(on)h(an)o(y)g
(subset)h(of)f(25)g(no)q(des)h(is)g(less)g(than)f(0.0000000000)q(00)q(000)q
(4.)26 b(Th)o(us)18 b(a)0 1879 y(v)o(ery)c(promising)i(strategy)g(for)f
(Nadir)g(is)h(to)f(toss)h(a)f(coin)g(to)h(determine)e(the)g(direction)i(of)f
(eac)o(h)g(edge)f(in)0 1951 y(the)i(net)o(w)o(ork;)f(the)h(o)q(dds)i(are)e
(less)h(than)g(4)f(in)h(10)913 1933 y FI(16)968 1951 y FH(that)f(he)g(will)i
(construct)f(a)f(bad)h(net)o(w)o(ork.)73 2054 y(The)f(preceding)h
(discussion,)h(unfortunately)l(,)f(lea)o(v)o(es)e(a)i(\\gra)o(y)g(area")g(in)
g(the)f(solution)i(space:)j(it)c(is)0 2126 y(not)j(clear)g(ho)o(w)f(to)h
(solv)o(e)g(the)f FF(NetHier)n(ar)n(chy)g FH(problem)h(for)g(v)m(alues)g(of)g
FB(m)f FH(b)q(et)o(w)o(een)f(1)c(+)f Fx(b)p FH(log)e FB(n)p
Fx(c)19 b FH(and)0 2198 y(1)14 b(+)f(2)p Fx(b)p FH(log)e FB(n)p
Fx(c)p FH(.)33 b(F)l(or)20 b(v)m(alues)g(of)h FB(m)e FH(less)i(than)f(the)g
(lo)o(w)o(er)g(b)q(ound)h(on)f FB(\037)p FH(,)g(the)f(solution)k(is)d
(immediate;)0 2270 y(for)h(v)m(alues)h(sligh)o(tly)h(greater)e(than)g(the)g
(upp)q(er)g(b)q(ound,)i(Theorem)d(1)i(immediately)f(yields)h(a)f(trivial)0
2342 y(probabilistic)j(algorithm)e(as)f(basic)g(coun)o(ting)h(pro)q(cedures)f
(rev)o(eal)f(that)h(there)e(is)j(an)f(abundance)g(of)0 2415
y(solutions)e(in)e(this)g(region.)23 b(Ho)o(w)o(ev)o(er,)14
b(for)j(the)f(gra)o(y)g(area)h(in)g(b)q(et)o(w)o(een)e(the)i(upp)q(er)f(and)h
(lo)o(w)o(er)g(b)q(ounds)0 2487 y(on)i FB(\037)g FH(|)f(whic)o(h)h(can)g(p)q
(ossibly)i(b)q(e)e(shrunk)g(b)o(y)f(making)i(the)e(b)q(ounds)i(tigh)o(ter)f
(|)g(exhaustiv)o(e)f(searc)o(h)0 2559 y(seems)c(to)g(b)q(e)h(the)e(only)i(w)o
(a)o(y)f(for)h(solving)h(this)f(problem.)21 b(The)14 b(latter)h(is)g
(prohibitiv)o(ely)g(exp)q(ensiv)o(e)f(ev)o(en)0 2631 y(for)i(mo)q(derate)f(v)
m(alues)h(of)g FB(n)f FH(and)h FB(m)p FH(.)21 b(F)l(or)15 b(example,)g(if)h
(Nadir)g(required)f(that)h(there)e(b)q(e)i(no)f(hierarc)o(hies)0
2704 y(on)i(18)g(no)q(des,)f(\()302 2686 y FI(1000)302 2716
y(18)375 2704 y FH(\))g(subnet)o(w)o(orks)h(m)o(ust)e(b)q(e)i(tested.)951
2828 y(29)p eop
bop 0 195 a Fu(2.4)70 b(Probabilistic)24 b(Hashing)0 330 y
FH(Man)o(y)14 b(problems)h(require)f(main)o(taining)i(a)f(table)g(of)f(v)m
(alues,)h(or)g(k)o(eys,)e(and)i(p)q(erforming)g(insert,)g(searc)o(h,)0
402 y(and)k(delete)f(op)q(erations)i(on)f(them.)27 b(T)o(ypically)l(,)20
b(the)e(set)g(of)h(p)q(ossible)h(k)o(eys)e(is)h(v)o(ery)e(large,)i(though)h
(at)0 474 y(an)o(y)d(one)g(time)g(only)g(a)h(small)g(fraction)g(of)f(the)f(k)
o(eys)g(will)j(actually)f(b)q(e)f(in)h(the)f(table.)24 b(In)16
b(this)i(section,)0 546 y(w)o(e)d(study)h(a)g(v)o(ery)f(p)q(opular)j(and)e(p)
q(oten)o(tially)i(constan)o(t-time)e(solution)i(to)e(table)h(managemen)o(t)e
(called)0 618 y FF(hashing)t FH(.)73 721 y(Throughout)i(this)f(section,)g
FB(T)7 b FH([0)h(.)g(.)g(.)f FB(m)h Fx(\000)h FH(1])15 b(will)i(denote)e(the)
g(hash)h(table)g(and)g FB(U)5 b FH([0)j(.)g(.)g(.)g FB(N)14
b Fx(\000)9 b FH(1])15 b(will)0 793 y(denote)g(the)g(univ)o(erse)g(of)h(k)o
(eys.)k(In)15 b(general,)h(giv)o(en)f(a)h(k)o(ey)e FB(x)g Fx(2)g
FB(U)5 b FH(,)15 b(w)o(e)g(will)i(b)q(e)f(in)o(terested)e(in)i(inserting)0
865 y FB(x)g FH(in)o(to)i FB(T)7 b FH(,)16 b(searc)o(hing)h(for)g
FB(x)g FH(in)g FB(T)7 b FH(,)16 b(or)h(deleting)h FB(x)e FH(from)h
FB(T)7 b FH(.)22 b(The)17 b(total)h(n)o(um)o(b)q(er)e(of)h(k)o(eys)e(in)j
(the)e(table)0 937 y(will)i(b)q(e)f(limited)h(to)e FB(n)p FH(,)h
FB(n)d(<)g(m)g Fx(\034)g FB(N)5 b FH(,)17 b(and)g FB(S)s FH(,)f
Fx(j)p FB(S)s Fx(j)d FH(=)i FB(n)p FH(,)h(will)i(denote)f(the)f(set)g(of)h(k)
o(eys)f(that)g(are)h(to)g(b)q(e)0 1010 y(inserted)g(in)o(to)f(the)g(table.)73
1112 y(Let)k FB(h)g FH(:)f FB(U)25 b Fx(!)19 b FH([0)8 b(.)g(.)g(.)g
FB(m)13 b Fx(\000)g FH(1],)20 b(b)q(e)g(a)g(function)g(that)g(can)g(b)q(e)g
(ev)m(aluated)g(in)h(constan)o(t)f(time.)31 b(The)0 1184 y(basic)17
b(sc)o(heme)d(underlying)j(hashing)h(is)f(as)f(follo)o(ws.)23
b(T)l(o)16 b(insert)h(a)f(k)o(ey)e FB(x)i FH(in)o(to)g(the)g(table,)g(simply)
h(store)0 1256 y(it)h(at)f FB(T)7 b FH([)p FB(h)p FH(\()p FB(x)p
FH(\)],)15 b(if)j(p)q(ossible.)26 b(T)l(o)18 b(searc)o(h)e(for)i(or)f(delete)
g FB(x)p FH(,)g(just)g(c)o(hec)o(k)e(lo)q(cation)20 b FB(h)p
FH(\()p FB(x)p FH(\))d(in)g(table)h FB(T)7 b FH(.)23 b(All)0
1328 y(these)c(op)q(erations)i(tak)o(e)d(constan)o(t)h(time,)g(ful\014lling)j
(the)d(promise)g(made)g(earlier.)30 b(Ho)o(w)o(ev)o(er,)17
b(there)h(is)0 1401 y(a)h(serious)h(problem)f(with)g(this)h(sc)o(heme.)26
b(If)18 b(there)g(is)i(another)f(k)o(ey)l(,)e(sa)o(y)i FB(y)r
FH(,)f(suc)o(h)h(that)g FB(h)p FH(\()p FB(x)p FH(\))e(=)h FB(h)p
FH(\()p FB(y)r FH(\),)0 1473 y(then)i FB(x)h FH(and)g FB(y)h
FH(will)h(try)d(to)h(o)q(ccup)o(y)f(the)h(same)f(place)h(in)h(the)e(table.)35
b(This)22 b(phenomenon)f(is)g(called)0 1545 y(a)f FF(c)n(ol)r(lision)t
FH(.)34 b(Muc)o(h)19 b(researc)o(h)g(has)i(b)q(een)f(conducted)g(on)g
(\014nding)h(hash)g(functions)g(that)g(result)f(in)h(a)0 1617
y(minim)o(um)15 b(n)o(um)o(b)q(er)e(of)i(collisions)j(and)e(on)f(data)g
(structures)g(for)g(storing)h(k)o(eys)e(that)h(hash)h(to)f(the)f(same)0
1690 y(table)j(lo)q(cation.)73 1792 y(F)l(or)f(hashing)i(to)e(p)q(erform)g(w)
o(ell)h(the)e(follo)o(wing)k(t)o(w)o(o)d(requiremen)o(ts)f(are)h(essen)o
(tial:)22 b(the)15 b(hash)i(func-)0 1864 y(tion)d(distributes)g(input)g(k)o
(eys)e(uniformly)i(o)o(v)o(er)d(the)i(table,)h(and)f(all)i(the)d(k)o(eys)g
(are)h(equally)h(lik)o(ely)l(.)20 b(While)0 1936 y(the)g(\014rst)g
(requiremen)o(t)f(can)h(b)q(e)g(met)f(b)o(y)h(appropriately)i(c)o(ho)q(osing)
f(the)f(function)h FB(h)p FH(\()p FB(x)p FH(\),)f(the)g(second)0
2009 y(requiremen)o(t)c(is)i(hard)g(to)g(ful\014ll)h(as)f(it)f(p)q(ostulates)
j(certain)d(b)q(eha)o(vior)h(on)g(the)f(input)h(distribution.)27
b(In)0 2081 y(practice,)22 b(this)f(requiremen)o(t)f(is)i(not)f(only)h(b)q
(ey)o(ond)f(the)f(algorithm)j(designer's)f(con)o(trol,)g(it)f(is)h(often)0
2153 y(violated.)40 b(F)l(or)22 b(example,)g(a)h(t)o(ypical)f(application)j
(of)d(hashing)i(is)f(main)o(taining)h(sym)o(b)q(ol)f(tables)g(for)0
2225 y(compilers.)i(F)l(or)18 b(most)g(programs,)g(v)m(ariable)h(names)f(suc)
o(h)f(as)h(I,)e(J,)h(K)h(are)f(more)g(common)g(then,)h(sa)o(y)l(,)0
2297 y(X)o(QP)l(.)c(Th)o(us)h(it)g(is)g(unreasonable)i(to)e(exp)q(ect)f(a)h
(uniform)g(probabilit)o(y)i(distribution)g(from)e(the)f(input)i(to)0
2370 y(a)h(sym)o(b)q(ol)g(table.)22 b(Ho)o(w)o(ev)o(er,)15
b(if)i(it)g(is)g(kno)o(wn)g(that)f(the)h(input)g(is)g(biased,)g(it)g(ma)o(y)f
(b)q(e)h(p)q(ossible)h(to)f(tune)0 2442 y(the)d(hash)g(function.)22
b FF(Perfe)n(ct)15 b(hashing)g FH(represen)o(ts)e(the)h(ultimate)g(form)g(of)
g(tuning,)i(i.e.,)d(total)i(collision)0 2514 y(a)o(v)o(oidance.)28
b(Another)18 b(w)o(a)o(y)g(of)g(minimizing)i(the)e(risk)h(due)f(to)h(biases)h
(in)f(the)f(input)h(is)g(to)f(c)o(ho)q(ose)h(the)0 2586 y(hash)d(function)h
(dynamically)g(and)f(at)g(random.)21 b(These)16 b(t)o(w)o(o)f(sc)o(hemes)g
(are)g(explored)h(in)g(the)f(follo)o(wing)0 2659 y(sections.)951
2828 y(30)p eop
bop 0 195 a FC(2.4.1)55 b(P)n(erfect)18 b(Hashing)0 330 y FH(Heuristic)e
(metho)q(ds)g(for)g(p)q(erfect)f(hashing)j(w)o(ere)d(\014rst)h(in)o(tro)q
(duced)g(in)h([Spr77].)k(A)15 b(recen)o(t)g(o)o(v)o(erview)g(of)0
402 y(p)q(erfect)f(hashing)j(can)d(b)q(e)h(found)g(in)h([GBY91)o(].)21
b(Sev)o(eral)14 b(seminal)i(results)f(that)g(mak)o(e)f(p)q(erfect)g(hashing)0
474 y(p)q(ossible)19 b(w)o(ere)d(pro)o(v)o(ed)g(in)h([FKS82)q(,)f(Meh82].)22
b(The)17 b(discussion)i(in)e(this)h(section)f(is)h(based)f(on)h(Section)0
546 y(2.3)f(of)f([Meh84a].)73 648 y(A)j(function)g FB(h)g FH(:)e
FB(U)24 b Fx(!)18 b FH([0)8 b(.)g(.)g(.)g FB(m)k Fx(\000)h
FH(1])19 b(is)g(called)h(a)f FF(p)n(erfe)n(ct)h(hash)g(function)h(for)d
FB(S)j Fx(\022)d FB(U)24 b FH(if)c Fx(8)p FB(x;)8 b(y)18 b
Fx(2)0 721 y FB(S;)39 b(h)p FH(\()p FB(x)p FH(\))15 b Fx(6)p
FH(=)g FB(h)p FH(\()p FB(y)r FH(\))i(if)g FB(x)f Fx(6)p FH(=)f
FB(y)r FH(.)23 b(F)l(or)18 b(an)o(y)f(giv)o(en)g(set)g FB(S)j
FH(of)d(input)h(k)o(eys)f(suc)o(h)f(that)i Fx(j)p FB(S)s Fx(j)d
FH(=)g FB(n)h Fx(\024)f FB(m)p FH(,)h(clearly)0 793 y(there)g(exists)h(a)g(p)
q(erfect)f(hash)h(function:)23 b(tak)o(e)16 b(an)o(y)g(one-to-one)i(mapping)g
(from)e FB(S)k FH(to)d(an)o(y)f FB(n)h FH(distinct)0 865 y(elemen)o(ts)c(in)i
FB(T)7 b FH(,)13 b(and)i(map)f(all)i(other)e(elemen)o(ts)f(of)h
FB(U)20 b FH(so)15 b(that)f(they)g(do)g(not)h(collide)g(with)g(the)f(elemen)o
(ts)0 937 y(of)k FB(S)s FH(.)26 b(Suc)o(h)18 b(a)g(brute)g(force)f(approac)o
(h)i(to)f(constructing)h(a)g(p)q(erfect)e(hash)i(function,)f(ho)o(w)o(ev)o
(er,)f(is)i(not)0 1010 y(v)o(ery)d(b)q(ene\014cial)i(as)g(it)f(in)o(v)o(olv)o
(es)g(a)h(table)g(lo)q(ok)g(up)g(that)f(ma)o(y)g(tak)o(e)f
FB(O)q FH(\()p FB(n)p FH(\))i(time.)24 b(F)l(or)17 b(p)q(erfect)f(hashing)0
1082 y(to)h(b)q(e)f(of)h(practical)g(use,)f(the)g(follo)o(wing)j(criteria)e
(should)h(b)q(e)e(met:)73 1226 y Fx(\017)24 b FH(The)16 b(program)h(to)g
(compute)f(a)g(p)q(erfect)g(hash)h(function)g(should)h(b)q(e)e(small)i(in)f
(size.)73 1339 y Fx(\017)24 b FH(F)l(or)16 b(a)h(giv)o(en)f
FB(S)s FH(,)g FB(m)g FH(and)h FB(N)5 b FH(,)16 b(it)h(should)g(b)q(e)g(easy)f
(to)h(\014nd)f(a)h(p)q(erfect)e(hash)j(function.)73 1453 y
Fx(\017)24 b FH(One)16 b(should)i(b)q(e)e(able)h(to)g(ev)m(aluate)g(a)f(p)q
(erfect)g(hash)h(function)g(in)g FB(O)q FH(\(1\))g(time.)73
1597 y(In)c(this)h(section)g(w)o(e)f(consider)h(the)f(problem)h(of)f
(\014nding)i(a)f(p)q(erfect)e(hash)i(function)h(giv)o(en)e(the)g(v)m(alues)0
1669 y(of)h FB(S)s FH(,)h FB(m)e FH(and)i FB(N)5 b FH(.)21
b(The)14 b(use)g(of)h(random)f(searc)o(h,)g(in)h(a)g(suitably)h(constructed)e
(family)h(of)f(functions,)h(will)0 1741 y(b)q(e)h(the)g(principal)j
(probabilistic)g(tec)o(hnique)c(used)i(in)g(the)f(construction)h(of)g(suc)o
(h)f(a)g(function.)73 1843 y(Mehlhorn)f([Meh84a])f(has)g(sho)o(wn)h(that)f
(there)g(exists)g(a)h(program)g(of)f(length)h FB(O)q FH(\()p
FB(n)1606 1825 y FI(2)1626 1843 y FB(=m)7 b FH(+)g(log)i(log)i
FB(N)5 b FH(\))0 1916 y(that)20 b(computes)g(a)h(p)q(erfect)e(hash)i
(function)g(for)f(a)h(giv)o(en)f(set)g FB(S)j Fx(\022)d FB(U)5
b FH(.)33 b(This)21 b(result,)g(ho)o(w)o(ev)o(er,)e(only)0
1988 y(demonstrates)k(the)f(existence)g(of)h(suc)o(h)f(a)h(function.)42
b(T)l(o)23 b(\014nd)g(an)g(actual)g(p)q(erfect)f(hash)i(function,)0
2060 y(consider)17 b(the)f(follo)o(wing)j(family)e FB(H)j FH(of)d(hash)g
(functions:)403 2182 y FB(H)32 b FH(=)c Fx(f)p FB(h)594 2189
y Fw(k)615 2182 y Fx(j)p FB(h)657 2189 y Fw(k)678 2182 y FH(\()p
FB(x)p FH(\))14 b(=)f(\()p FB(k)r(x)h FH(mo)q(d)g FB(N)5 b
FH(\))14 b(mo)q(d)h FB(m)e FH(;)22 b(1)14 b Fx(\024)g FB(k)i(<)d(N)5
b Fx(g)p FB(:)341 b FH(\(7\))0 2304 y(Without)24 b(loss)g(of)f(generalit)o(y)
l(,)h(let)f FB(U)30 b FH(=)25 b([0)8 b(.)g(.)g(.)g FB(N)20
b Fx(\000)15 b FH(1])23 b(b)q(e)g(the)f(univ)o(erse)g(of)h(k)o(eys)f(with)i
FB(N)k FH(prime.)0 2376 y(Primalit)o(y)20 b(of)g FB(N)k FH(can)19
b(b)q(e)g(ac)o(hiev)o(ed)g(b)o(y)f(adding)j(non-existen)o(t)e(k)o(eys)f(to)i
FB(U)5 b FH(.)30 b(The)19 b(resulting)h(univ)o(erse)0 2449
y(will)f(not)f(b)q(e)f(substan)o(tially)j(larger)e(than)g(the)f(original)j
FB(U)i FH(as)c(prime)f(n)o(um)o(b)q(ers)g(are)g(su\016cien)o(tly)g(dense)0
2521 y(\(see)f(Section)h(2.2\).)k(F)l(or)16 b(a)h(giv)o(en)f(set)h
FB(S)s FH(,)e(let)456 2643 y FB(B)s FH(\()p FB(i;)8 b(k)r FH(\))13
b(=)h Fx(f)p FB(x)p Fx(j)p FB(x)f Fx(2)h FB(S)19 b(and)d FH(\()p
FB(k)r(x)e FH(mo)q(d)g FB(N)5 b FH(\))14 b(mo)q(d)g FB(m)g
FH(=)g FB(i)p Fx(g)393 b FH(\(8\))951 2828 y(31)p eop
bop 0 195 a FH(b)q(e)19 b(the)f(set)h(of)g(all)h(the)e(k)o(eys)g(in)h
FB(S)j FH(that)d(collide)h(at)f(table)g(lo)q(cation)i FB(i)e
FH(when)f FB(h)1498 202 y Fw(k)1538 195 y FH(is)i(used)f(as)g(the)f(hash)0
267 y(function.)29 b(Eac)o(h)18 b(suc)o(h)g(set)h FB(B)s FH(\()p
FB(i;)8 b(k)r FH(\))17 b(is)j(called)f(a)g FF(bucket)5 b FH(.)30
b(Also,)19 b(let)g FB(b)p FH(\()p FB(i;)8 b(k)r FH(\))17 b(=)g
Fx(j)p FB(B)s FH(\()p FB(i;)8 b(k)r FH(\))p Fx(j)p FH(,)17
b(0)i Fx(\024)e FB(i)g(<)h(m)p FH(.)0 340 y(Clearly)l(,)k FB(b)p
FH(\()p FB(i;)8 b(k)r FH(\))20 b(is)i(one)e(more)h(than)g(the)f(n)o(um)o(b)q
(er)g(of)h(collisions)j(at)d FB(T)7 b FH(\()p FB(i)p FH(\))20
b(when)g(the)h(hash)g(function)0 412 y(used)e(is)h FB(h)194
419 y Fw(k)215 412 y FH(.)29 b(Using)20 b(elemen)o(tary)e(coun)o(ting)h
(principles)i(and)e(prop)q(erties)h(of)f(mo)q(dulo)h(arithmetic)g(one)0
484 y(can)c(v)o(erify)g(the)g(follo)o(wing)j(inequalit)o(y)e([Meh84a]:)475
571 y Fw(N)t Ft(\000)p FI(1)483 584 y Fr(X)481 676 y Fw(k)q
FI(=1)560 552 y Fr(" )617 571 y Fw(m)p Ft(\000)p FI(1)625 584
y Fr(X)627 675 y Fw(i)p FI(=0)702 625 y FB(b)p FH(\()p FB(i;)8
b(k)r FH(\))827 605 y FI(2)845 552 y Fr(!)889 625 y Fx(\000)j
FB(n)968 552 y Fr(#)1020 625 y Fx(\024)1092 592 y FH(2)p FB(n)p
FH(\()p FB(n)g Fx(\000)g FH(1\)\()p FB(N)17 b Fx(\000)11 b
FH(2\))p 1092 614 374 2 v 1257 660 a FB(m)1470 625 y(:)404
b FH(\(9\))73 800 y(The)13 b(quan)o(tit)o(y)362 767 y Fr(P)406
780 y Fw(m)p Ft(\000)p FI(1)406 812 y Fw(i)p FI(=0)493 800
y FB(b)p FH(\()p FB(i;)8 b(k)r FH(\))618 782 y FI(2)655 800
y Fx(\000)18 b FB(n)p FH(,)c(for)f(an)o(y)g(particular)i(v)m(alue)f(of)f
FB(k)i FH(\(and)f(th)o(us)f(for)g(an)o(y)g(particular)0 872
y FB(h)28 879 y Fw(k)49 872 y FH(\()p FB(x)p FH(\)\),)20 b(is)g(a)f(measure)g
(of)h(the)f(n)o(um)o(b)q(er)g(of)g(collisions.)34 b(Let)19
b(us)h(de\014ne)f FB(M)1423 879 y Fw(S)1448 872 y FH(\()p FB(k)r
FH(\))h(to)f(b)q(e)h(this)g(measure.)0 944 y(Equation)g(\(9\))f(puts)g(a)g(b)
q(ound)g(on)g(the)g(sum)f(of)h FB(M)967 951 y Fw(S)992 944
y FH(\()p FB(k)r FH(\))g(for)g(all)h(p)q(ossible)g(v)m(alues)g(of)f
FB(k)r FH(.)28 b(Since)18 b FB(M)1859 951 y Fw(S)1885 944 y
FH(\()p FB(k)r FH(\))0 1017 y(is)23 b(alw)o(a)o(ys)g(p)q(ositiv)o(e,)i(more)d
(than)h(half)h(of)e(them)g(cannot)h(exceed)e(t)o(wice)h(the)g(upp)q(er-b)q
(ound)i(on)f(the)0 1089 y(summation)18 b(in)h(Equation)f(\(9\).)26
b(Therefore,)16 b(at)i(least)h(half)f(of)g(all)h(the)e(p)q(ossible)i
FB(k)r FH('s)f(m)o(ust)f(satisfy)h(the)0 1161 y(relation)g
FB(M)226 1168 y Fw(S)251 1161 y FH(\()p FB(k)r FH(\))c Fx(\024)g
FH(4)p FB(n)p FH(\()p FB(n)e Fx(\000)f FH(1\))p FB(=m)p FH(,)16
b(since)h(otherwise)g(equation)g(\(9\))g(w)o(ould)g(b)q(e)f(in)o(v)m
(alidated.)24 b(In)16 b(other)0 1233 y(w)o(ords,)g(for)h(a)g(randomly)g(pic)o
(k)o(ed)e FB(k)h Fx(2)e FH([1)8 b(.)g(.)g(.)g FB(N)16 b Fx(\000)11
b FH(1],)595 1369 y FB(P)c(r)q(ob)708 1295 y Fr(")734 1369
y FB(M)781 1376 y Fw(S)806 1369 y FH(\()p FB(k)r FH(\))14 b
Fx(\024)943 1335 y FH(4)p FB(n)p FH(\()p FB(n)d Fx(\000)g FH(1\))p
943 1357 206 2 v 1024 1403 a FB(m)1153 1295 y Fr(#)1219 1369
y FB(>)1303 1335 y FH(1)p 1303 1357 25 2 v 1303 1403 a(2)1333
1369 y FB(;)516 b FH(\(10\))0 1506 y(and)17 b(the)f(class)h
FB(H)k FH(is)c(ric)o(h)f(in)h(functions)g(for)g(whic)o(h)f
FB(M)1027 1513 y Fw(S)1053 1506 y FH(\()p FB(k)r FH(\))g(is)h(b)q(ounded)g(b)
o(y)f FB(O)q FH(\()p FB(n)1536 1488 y FI(2)1556 1506 y FB(=m)p
FH(\).)73 1608 y(Equation)i(\(10\))g(pro)o(vides)f(a)g(w)o(a)o(y)f(of)h
(\014nding,)g(in)h FB(O)q FH(\()p FB(n)p FH(\))f(exp)q(ected)f(time,)g(an)h
FB(h)1558 1615 y Fw(k)1596 1608 y FH(suc)o(h)f(that)h FB(M)1859
1615 y Fw(S)1885 1608 y FH(\()p FB(k)r FH(\))0 1680 y(is)e(b)q(ounded)g(b)o
(y)e(4)p FB(n)p FH(\()p FB(n)7 b Fx(\000)g FH(1\))p FB(=m)p
FH(.)21 b(Select)14 b(a)g(random)h FB(k)h FH(and)f(compute)e
FB(M)1338 1687 y Fw(S)1364 1680 y FH(\()p FB(k)r FH(\).)20
b(If)14 b(it)h(satis\014es)g(the)f(b)q(ound)0 1753 y(w)o(e)k(are)g(done;)h
(else)f(select)g(another)g FB(k)j FH(and)d(do)h(the)f(same)g(thing.)28
b(The)18 b(computation)h(of)f FB(M)1765 1760 y Fw(S)1791 1753
y FH(\()p FB(k)r FH(\))g(will)0 1825 y(tak)o(e)c FB(O)q FH(\()p
FB(n)p FH(\))g(time.)21 b(Equation)15 b(\(10\))g(guaran)o(tees)g(that)f(the)g
(exp)q(ected)f(n)o(um)o(b)q(er)h(of)g(tries)g(will)i(b)q(e)f(no)f(more)0
1897 y(than)j(t)o(w)o(o.)k(Th)o(us,)16 b(there)g(exists)g(a)h(function)g
FB(h)881 1904 y Fw(k)919 1897 y FH(suc)o(h)f(that)641 1980
y Fw(m)p Ft(\000)p FI(1)649 1993 y Fr(X)650 2084 y Fw(i)p FI(=0)725
2034 y FB(b)p FH(\()p FB(i;)8 b(k)r FH(\))850 2014 y FI(2)911
2034 y Fx(\024)41 b FB(n)11 b FH(+)1085 2001 y(4)p FB(n)p FH(\()p
FB(n)h Fx(\000)f FH(1\))p 1085 2023 206 2 v 1167 2069 a FB(m)1296
2034 y(;)553 b FH(\(11\))0 2174 y(whic)o(h)22 b(can)g(b)q(e)g(found)g(in)g
FB(O)q FH(\()p FB(n)p FH(\))g(exp)q(ected)f(time.)37 b(One)22
b(can)f(also)j(sho)o(w)e(that)g(this)g(pro)q(cedure)g(will)0
2246 y(terminate)16 b(in)h FB(O)q FH(\()p FB(n)8 b FH(log)j
FB(n)p FH(\))17 b(time)f(with)h(high)g(probabilit)o(y)l(.)73
2348 y(The)k(ab)q(o)o(v)o(e)f(pro)q(cedure)h(forms)f(the)h(basis)h(for)f
(\014nding)g(a)g(p)q(erfect)f(hash)i(function)f(for)g(a)g(sp)q(eci\014c)0
2420 y(table)d(size.)24 b(In)17 b(particular,)i(w)o(e)e(consider)h(the)f(t)o
(w)o(o)g(table)h(sizes)g FB(m)d FH(=)g FB(n)j FH(and)g FB(m)d
FH(=)g FB(O)q FH(\()p FB(n)1668 2402 y FI(2)1689 2420 y FH(\),)i(and)h(pro)o
(v)o(e)0 2493 y(the)e(follo)o(wing)j(results:)60 2631 y(1.)24
b(If)19 b FB(m)h FH(=)g FB(n)g FH(then)g(an)g FB(h)558 2638
y Fw(k)599 2631 y FH(satisfying)820 2598 y Fr(P)864 2611 y
Fw(m)p Ft(\000)p FI(1)864 2644 y Fw(i)p FI(=0)951 2631 y FB(b)p
FH(\()p FB(i;)8 b(k)r FH(\))1076 2613 y FI(2)1114 2631 y FB(<)20
b FH(5)p FB(n)h FH(can)f(b)q(e)g(found)g(probabilisti)q(call)q(y)i(in)122
2704 y(exp)q(ected)15 b(time)h FB(O)q FH(\()p FB(n)p FH(\).)951
2828 y(32)p eop
bop 60 195 a FH(2.)24 b(If)18 b FB(m)h FH(=)f(2)p FB(n)p FH(\()p
FB(n)c Fx(\000)e FH(1\))i(+)e(1)20 b(then)f FB(h)750 202 y
Fw(k)771 195 y FH(,)g(suc)o(h)g(that)g FB(h)1053 202 y Fw(k)1075
195 y FH(\()p FB(x)p FH(\))f(=)g(\(\()p FB(k)r(x)p FH(\))c(mo)q(d)g
FB(N)5 b FH(\))14 b(mo)q(d)h FB(m)p FH(,)k(is)g(a)h(p)q(erfect)122
267 y(hash)d(function)g(for)g FB(S)i FH(and)e(can)f(b)q(e)g(determined)g(in)h
FB(O)q FH(\()p FB(n)p FH(\))g(exp)q(ected)e(time.)73 411 y(The)k(\014rst)g
(result)g(follo)o(ws)i(b)o(y)d(substituting)k FB(m)17 b FH(=)i
FB(n)g FH(in)g(equation)h(\(11\).)29 b(F)l(or)19 b(the)g(second)g(result,)0
483 y(substituting)g FB(m)13 b FH(=)h(2)p FB(n)p FH(\()p FB(n)d
Fx(\000)g FH(1\))h(+)f(1)16 b(in)h(equation)g(\(11\))g(yields:)741
575 y Fw(m)p Ft(\000)p FI(1)749 588 y Fr(X)750 679 y Fw(i)p
FI(=0)825 629 y FB(b)p FH(\()p FB(i;)8 b(k)r FH(\))950 609
y FI(2)1011 629 y FB(<)41 b(n)12 b FH(+)f(2)p FB(:)645 b FH(\(12\))0
778 y(Since)129 745 y Fr(P)173 758 y Fw(m)p Ft(\000)p FI(1)173
791 y Fw(i)p FI(=0)259 778 y FB(b)p FH(\()p FB(i;)8 b(k)r FH(\))16
b(=)g FB(n)p FH(,)h(equation)i(\(12\))f(implies)h(that)f FB(b)1114
785 y Fw(i)1144 778 y Fx(\024)e FH(1)i(for)g(all)i FB(i)d FH(\(the)g(only)i
(solution)h(for)d FB(X)1935 785 y Fw(i)0 851 y FH(in)j(the)f(set)g(of)g
(equations)505 817 y Fr(P)557 851 y FB(X)597 858 y Fw(i)631
851 y FH(=)f FB(n)h FH(and)833 817 y Fr(P)885 851 y FB(X)929
833 y FI(2)925 863 y Fw(i)968 851 y Fx(\024)g FB(n)13 b FH(+)g(2)19
b(is)h FB(X)1254 858 y Fw(i)1287 851 y Fx(\024)f FH(1\).)30
b(As)19 b FB(b)p FH(\()p FB(i;)8 b(k)r FH(\))18 b(is)i(the)f(n)o(um)o(b)q(er)
0 923 y(of)e(elemen)o(ts)f(in)h FB(S)i FH(that)e(will)i(o)q(ccup)o(y)d(p)q
(osition)j FB(i)d FH(in)h(the)g(table,)g(there)e(will)k(not)e(b)q(e)g(an)o(y)
f(collisions)k(for)0 995 y(this)e(v)m(alue)h(of)e FB(k)r FH(.)25
b(Hence)16 b FB(h)520 1002 y Fw(k)559 995 y FH(in)i(equation)h(\(11\))f(with)
g FB(m)e FH(=)f FB(O)q FH(\()p FB(n)1232 977 y FI(2)1253 995
y FH(\))i(is)h(a)g(p)q(erfect)f(hash)h(function)h(if)f(an)0
1067 y(appropriate)g(v)m(alue)f(of)f FB(k)j FH(is)e(used.)73
1170 y(Th)o(us)d(the)g(class)h FB(H)j FH(of)c(functions)h(has)g(a)f(p)q
(erfect)f(hash)i(function)g(for)f(an)o(y)g FB(S)s FH(,)f Fx(j)p
FB(S)s Fx(j)h FH(=)g FB(n)p FH(,)g(if)g(the)g(size)g(of)0 1242
y(the)i(table)i(is)f FB(O)q FH(\()p FB(n)342 1224 y FI(2)363
1242 y FH(\).)22 b(F)l(urthermore,)16 b(suc)o(h)g(a)h(function)h(can)e(b)q(e)
h(found)g(in)h FB(O)q FH(\()p FB(n)p FH(\))f(exp)q(ected)f(time.)22
b(The)0 1314 y(only)16 b(problem)f(with)h(this)f(sc)o(heme)f(is)i(that)f(the)
g(size)g(of)g(the)f(table)i(is)g(m)o(uc)o(h)d(larger)j(than)g
Fx(j)p FB(S)s Fx(j)p FH(.)k(Our)15 b(\014rst)0 1386 y(result)k(suggests)h(a)f
(w)o(a)o(y)f(out.)28 b(W)l(e)18 b(can)h(partition)h FB(S)i
FH(so)d(that)g(the)f(square)g(of)h(the)f(sum)h(of)f(all)i(buc)o(k)o(et)0
1459 y(sizes)e(is)g(no)f(more)g(than)h(5)p FB(n)p FH(.)25 b(This)18
b(can)g(b)q(e)f(done)h(with)g(one)f(hash)h(function,)g(whic)o(h)g(ob)o
(viously)g(is)h(not)0 1531 y(p)q(erfect.)24 b(A)17 b(second)g(hash)i
(function,)e(whic)o(h)h(is)g(p)q(erfect)f(for)h(the)f(smaller)h(partition,)h
(can)f(b)q(e)f(used)h(for)0 1603 y(eac)o(h)e(partition.)23
b(The)16 b(follo)o(wing)j(theorem)d(giv)o(es)g(a)h(more)f(precise)g(statemen)
o(t.)0 1747 y FC(Theorem)i(2)24 b FF(L)n(et)g FB(N)29 b FF(b)n(e)c(prime)f
(and)g FB(S)30 b Fx(\022)c FH([0)8 b(.)g(.)g(.)g FB(N)21 b
Fx(\000)16 b FH(1])p FF(,)26 b Fx(j)p FB(S)s Fx(j)g FH(=)g
FB(n)p FF(.)43 b(A)25 b(p)n(erfe)n(ct)f(hash)g(function)0 1819
y FB(h)29 b FH(:)g FB(S)18 b Fx(!)c FH([0)8 b(.)g(.)g(.)g FB(m)j
Fx(\000)g FH(1])p FF(,)18 b FB(m)d FH(=)f(9)p FB(n)p FF(,)19
b(with)f FB(O)q FH(\(1\))h FF(evaluation)g(time)g(and)f FB(O)q
FH(\()p FB(n)8 b FH(log)j FB(n)p FH(\))18 b FF(pr)n(o)n(gr)n(am)e(size)i(c)n
(an)0 1891 y(b)n(e)g(found)g(in)f FB(O)q FH(\()p FB(n)p FH(\))h
FF(exp)n(e)n(cte)n(d)g(time.)0 2035 y FH(Pro)q(of:)24 b(The)18
b(p)q(erfect)e(hashing)j(function)g(is)f(constructed)f(in)h(t)o(w)o(o)f
(steps.)24 b(In)17 b(the)g(\014rst)h(step)f(w)o(e)g(\014nd)h(a)0
2107 y FB(k)g FH(suc)o(h)e(that)h(\()p FB(k)r(x)d FH(mo)q(d)g
FB(N)5 b FH(\))14 b(mo)q(d)g FB(m)i FH(partitions)j FB(S)g
FH(in)o(to)e(subsets)g FB(B)s FH(\()p FB(i;)8 b(k)r FH(\),)14
b(where)595 2229 y FB(B)s FH(\()p FB(i;)8 b(k)r FH(\))27 b(=)h
Fx(f)p FB(x)p Fx(j)p FB(x)13 b Fx(2)h FB(S)19 b(and)d(h)1160
2236 y Fw(k)1182 2229 y FH(\()p FB(x)p FH(\))d(=)h FB(i)p Fx(g)508
b FH(\(13\))0 2351 y(suc)o(h)22 b(that)229 2318 y Fr(P)272
2331 y Fw(m)p Ft(\000)p FI(1)272 2364 y Fw(i)p FI(=0)359 2351
y Fx(j)p FB(B)s FH(\()p FB(i;)8 b(k)r FH(\))p Fx(j)531 2333
y FI(2)599 2351 y Fx(\024)50 b FH(5)p FB(n)p FH(.)41 b(Suc)o(h)22
b(a)h FB(k)i FH(exists)e(and)g(can)g(b)q(e)g(found)g(in)h FB(O)q
FH(\()p FB(n)p FH(\))f(exp)q(ected)0 2423 y(time.)30 b(Let)20
b FB(c)251 2430 y Fw(i)284 2423 y FH(denote)f(2)p FB(b)p FH(\()p
FB(i;)8 b(k)r FH(\)\()p FB(b)p FH(\()p FB(i;)g(k)r FH(\))k
Fx(\000)h FH(1\))g(+)g(1.)31 b(In)19 b(the)g(second)h(step,)f(w)o(e)g(\014nd)
h FB(k)1610 2430 y Fw(i)1624 2423 y FH(,)g(for)f(all)i FB(i)p
FH(,)e(suc)o(h)0 2496 y(that)e(\()p FB(k)150 2503 y Fw(i)164
2496 y FB(x)d FH(mo)q(d)g FB(N)5 b FH(\))14 b(mo)q(d)h FB(c)519
2503 y Fw(i)549 2496 y FH(is)j(a)f(p)q(erfect)f(hash)h(function)h(for)e(a)h
(table)h(of)f(size)f FB(c)1516 2503 y Fw(i)1547 2496 y FH(and)h(the)g(set)f
(of)h(k)o(eys)0 2568 y FB(B)s FH(\()p FB(i;)8 b(k)r FH(\).)32
b(By)20 b(the)g(second)g(result)h(pro)o(v)o(ed)f(earlier,)h(this)h(will)g
(tak)o(e)d FB(O)q FH(\()p FB(b)p FH(\()p FB(i;)8 b(k)r FH(\)\))21
b(exp)q(ected)e(time.)33 b(The)0 2640 y(program)17 b FF(PerfHash)f
FH(computes)g(the)g(p)q(erfect)g(hash)h(function)g(for)g(a)f(table)h(of)g
(size)f(5)p FB(n)p FH(.)951 2828 y(33)p eop
bop 0 213 a Fy(PerfHash)27 b Fp(f)d Fo(\(*)f(Computes)g(perfect)g(hash)g
(function)g(h\(x\))g(*\))136 298 y(i)h(:=)g(\(kx)f(mod)h(N\))f(mod)h(n)136
382 y(j)g(:=)g(\(k)304 389 y Fh(i)349 382 y Fo(x)g(mod)f(N\))h(mod)f(c)683
389 y Fh(i)136 467 y Fo(h)h(:=)256 435 y Fr(P)299 448 y Fh(i)p
Ft(\000)p Fh(1)299 481 y(l)p FI(=)p Fh(0)376 467 y Fo(c)400
474 y Fh(l)445 467 y Fo(+)g(j)0 552 y Fp(g)73 685 y FH(If)15
b(the)g(starting)i(index)e(for)g(eac)o(h)g(sub-table)i(\()927
652 y Fr(P)971 664 y Fw(i)p Ft(\000)p FI(1)971 698 y Fw(l)p
FI(=0)1038 685 y FB(c)1059 692 y Fw(l)1072 685 y FH(\))e(is)h(stored,)f
FB(h)p FH(\()p FB(x)p FH(\))g(can)h(b)q(e)f(ev)m(aluated)h(in)g
FB(O)q FH(\(1\))0 757 y(time.)22 b(Also,)17 b(it)g(is)h(easily)f(seen)g(that)
g(the)f(total)i(size)f(of)f(the)h(hash)g(table)h(in)f(the)f(ab)q(o)o(v)o(e)h
(program)g(is)g(9)p FB(n)0 829 y FH(based)j(on)f(the)g(fact)h(that)f(one)h
(can)f(\014nd)h(a)f(hash)h(function)g FB(h)1172 836 y Fw(k)1194
829 y FH(,)f(suc)o(h)g(that)1449 796 y Fr(P)1501 829 y FB(b)p
FH(\()p FB(i;)8 b(k)r FH(\))1626 811 y FI(2)1664 829 y FH(=)19
b(5)p FB(n)p FH(.)30 b(In)19 b(the)0 902 y(second)g(step)g(eac)o(h)f(buc)o(k)
o(et)f(is)i(mapp)q(ed)g(in)o(to)h(a)f(space)g(of)g(size)f(2)p
FB(b)p FH(\()p FB(i;)8 b(k)r FH(\)\()p FB(b)p FH(\()p FB(i;)g(k)r
FH(\))k Fx(\000)g FH(1\))h(+)g(1.)29 b(Hence)17 b(the)0 974
y(total)h(space)e(necessary)g(is)263 1035 y Fr(X)240 1126 y
FI(1)p Ft(\024)p Fw(i)p Ft(\024)p Fw(n)346 1076 y Fx(f)p FH(2)p
FB(b)p FH(\()p FB(i;)8 b(k)r FH(\)\()p FB(b)p FH(\()p FB(i;)g(k)r
FH(\))i Fx(\000)h FH(1\))g(+)g(1)p Fx(g)42 b FH(=)g(2)1053
1035 y Fr(X)1030 1126 y FI(1)p Ft(\024)p Fw(i)p Ft(\024)p Fw(n)1144
1076 y FB(b)p FH(\()p FB(i;)8 b(k)r FH(\))1269 1056 y FI(2)1299
1076 y Fx(\000)j FH(2)1405 1035 y Fr(X)1382 1126 y FI(1)p Ft(\024)p
Fw(i)p Ft(\024)p Fw(n)1496 1076 y FB(b)p FH(\()p FB(i;)d(k)r
FH(\))j(+)g FB(n)918 1184 y FH(=)42 b(2)11 b Fx(\002)g FH(5)p
FB(n)g Fx(\000)g FH(2)p FB(n)h FH(+)f FB(n)918 1269 y FH(=)42
b(9)p FB(n:)73 1401 y FH(As)15 b(for)g(the)f(total)i(space)f(o)q(ccupied)h(b)
o(y)e FF(PerfHash)19 b FH(itself,)c(eac)o(h)1264 1368 y Fr(P)1308
1381 y Fw(i)p Ft(\000)p FI(1)1308 1414 y Fw(l)p FI(=0)1376
1401 y FB(c)1397 1408 y Fw(l)1424 1401 y FH(used)g(b)o(y)g(the)f(program)i
(can)0 1473 y(b)q(e)h(at)h(most)g(log)10 b FB(n)18 b FH(bits)g(long)g(as)g
(it)g(is)g(an)g(index)g(in)o(to)g(an)g(arra)o(y)f(of)h(size)f(9)p
FB(n)p FH(.)25 b(Since)18 b(w)o(e)f(ha)o(v)o(e)f(to)i(store)0
1546 y FB(n)e FH(suc)o(h)g(n)o(um)o(b)q(ers,)g(the)g(size)g(of)h(the)f
(program)h FF(PerfHash)j FH(is)d FB(O)q FH(\()p FB(n)8 b FH(log)j
FB(n)p FH(\).)73 1648 y(The)19 b(time)g(needed)f(to)i(construct)f
FF(PerfHash)j FH(is)e(the)f(time)g(required)g(to)g(\014nd)g
FB(k)i FH(and)f(all)g(the)f FB(k)1889 1655 y Fw(i)1904 1648
y FH('s.)0 1720 y(Th)o(us)e(it)g(will)h(tak)o(e)e FB(O)q FH(\()p
FB(n)p FH(\))c(+)537 1687 y Fr(P)581 1700 y Fw(m)p Ft(\000)p
FI(1)581 1732 y Fw(i)p FI(=0)667 1720 y FB(O)q FH(\()p FB(b)p
FH(\()p FB(i;)c(k)r FH(\)\))14 b(=)g FB(O)q FH(\()p FB(n)p
FH(\))j(units)h(of)f(exp)q(ected)e(time.)21 b(The)c(fact)f(that)h(this)0
1792 y(function)g(is)g(p)q(erfect)f(is)h(guaran)o(teed)f(b)o(y)g(the)g(t)o(w)
o(o)g(results)h(pro)o(v)o(ed)f(earlier.)507 b Fi(2)73 1895
y FH(W)l(e)22 b(close)h(this)g(section)g(b)o(y)f(p)q(oin)o(ting)j(out)e(wh)o
(y)f(the)g(tec)o(hnique)f(of)i(random)g(searc)o(h)f(w)o(orks)h(for)0
1967 y(p)q(erfect)c(hashing.)32 b(The)19 b(class)h FB(H)k FH(of)19
b(function)i(is)f(particularly)h(ric)o(h)e(in)h(functions)g(that)g(are)f
(\\nearly)0 2039 y(p)q(erfect.")27 b(Th)o(us,)18 b(a)h(randomly)g(selected)f
(function)h(from)f FB(H)k FH(will,)e(with)f(high)h(probabilit)o(y)l(,)g
(partition)0 2111 y(the)13 b(set)g FB(S)j FH(ev)o(enly)l(.)k(A)13
b(p)q(erfect)f(hash)i(function)h(can)e(then)g(b)q(e)h(used)f(for)h(eac)o(h)e
(of)i(these)f(partitions,)j(whic)o(h)0 2184 y(are)j(su\016cien)o(tly)h
(small.)32 b(The)19 b(k)o(ey)f(here)h(is)h(the)f(ric)o(hness)h(of)g(the)f
(solution)i(space.)31 b(Had)20 b(the)f(p)q(erfect)0 2256 y(hash)e(functions)h
(b)q(een)e(rare)h(in)g FB(H)t FH(,)f(our)h(random)g(selection)h(and)f
(testing)g(pro)q(cedure)g(w)o(ould)g(require)g(a)0 2328 y(long)h(searc)o(h)e
(through)h(the)f FB(m)565 2310 y Fw(N)614 2328 y FH(p)q(ossible)j(functions)e
(from)f FB(U)22 b FH(to)17 b FB(T)7 b FH(.)0 2497 y FC(2.4.2)55
b(Univ)n(ersal)20 b(Hashing)0 2631 y FH(As)f(seen)h(earlier,)h(for)f(most)f
FF(\014xe)n(d)i FH(hash)f(functions,)h(hashing)h(pro)o(vides)e(us)g(with)g
(an)g FB(O)q FH(\(1\))h(exp)q(ected)0 2704 y(time)f(and)g FB(O)q
FH(\()p FB(n)p FH(\))h(w)o(orst)f(case)g(time)g(pro)q(cedure)g(for)g(table)h
(main)o(tenance.)32 b FF(Universal)22 b(hashing)e FH(deals)951
2828 y(34)p eop
bop 0 195 a FH(with)23 b(the)f(p)q(ossibilit)o(y)i(of)f(biases)g(in)f(the)g
(input,)i(whic)o(h)e(ma)o(y)g(result)g(in)h(the)e FB(O)q FH(\()p
FB(n)p FH(\))i(complexit)o(y)l(,)g(b)o(y)0 267 y(randomizing)g(o)o(v)o(er)d
(hashing)j(functions.)36 b(In)21 b(univ)o(ersal)h(hashing,)i(\014rst)d
(discussed)h(in)g([CW79],)g(one)0 340 y(w)o(orks)15 b(with)g(an)h(en)o(tire)e
(class,)h FB(H)t FH(,)g(of)g(hashing)i(functions)e(instead)h(of)f(pic)o(king)
h(an)o(y)e(one)h(single)h(hashing)0 412 y(function)22 b FF(a)g(priori)j
FH(and)d(using)g(it)g(for)g(ev)o(ery)d(run.)37 b(A)o(t)20 b(the)h(b)q
(eginning)j(of)d(eac)o(h)g(run)h(a)f(function)h(is)0 484 y(randomly)d(c)o
(hosen)f(from)g FB(H)k FH(and)d(used)f(for)g(that)h(run.)27
b(Since)18 b(it)g(is)h(unlik)o(ely)g(that)f(a)h(\\bad")g(function)0
556 y(w)o(ould)d(b)q(e)f(pic)o(k)o(ed)f(in)i(most)f(runs,)g(for)g
FB(H)20 b FH(prop)q(erly)c(de\014ned,)e(the)h(running)h(time)f(a)o(v)o
(eraged)f(o)o(v)o(er)g(man)o(y)0 628 y(runs)j(is)g(exp)q(ected)e(to)i(b)q(e)f
(small.)73 731 y(F)l(or)f(an)o(y)g(randomly)h(selected)e(elemen)o(t)g(of)h
FB(H)k FH(to)c(p)q(ossess)i(a)e(small)h(exp)q(ected)e(access)h(time)f(for)i
(eac)o(h)0 803 y(set)i(of)g(k)o(eys,)e(almost)j(all)h(hashing)f(functions)g
(in)f FB(H)k FH(should)d(distribute)g(the)f(set)g(of)g(input)g(k)o(eys)f
(fairly)0 875 y(uniformly)i(o)o(v)o(er)e(the)h(hash)g(table.)28
b(W)l(e)17 b(de\014ne)h(a)g(class)h FB(H)k FH(of)18 b(functions)h(to)f(b)q(e)
g FB(c)p FH(-univ)o(ersal)h(if)g(only)g(a)0 947 y(fraction)f
FB(c=m)e FH(of)i(functions)f(in)h FB(H)j FH(pro)q(duce)c(a)g(collision)j(on)d
(an)o(y)g(pair)g FB(x)p FH(,)f FB(y)j FH(in)e(the)g(univ)o(erse)f(of)h(input)
0 1020 y(k)o(eys.)j(F)l(ormally)l(,)15 b FB(H)j Fx(\022)13
b(f)p FB(h)7 b Fx(j)g FB(h)14 b FH(:)f([0)8 b(.)g(.)g(.)g FB(N)k
Fx(\000)7 b FH(1])14 b Fx(!)f FH([0)8 b(.)g(.)g(.)g FB(m)f
Fx(\000)g FH(1])p Fx(g)13 b FH(is)i FB(c)p FH(-)p FF(universal)h
FH(if)f Fx(8)p FB(x;)8 b(y)13 b Fx(2)h FH([0)8 b(.)g(.)g(.)g
FB(N)k Fx(\000)7 b FH(1])0 1092 y(suc)o(h)16 b(that)h FB(x)c
Fx(6)p FH(=)h FB(y)r FH(,)576 1177 y Fx(jf)p FB(h)p Fx(j)p
FB(h)f Fx(2)h FB(H)21 b(and)16 b(h)p FH(\()p FB(x)p FH(\))e(=)f
FB(h)p FH(\()p FB(y)r FH(\))p Fx(gj)g(\024)1263 1143 y FB(c)p
Fx(j)p FB(H)t Fx(j)p 1263 1165 93 2 v 1288 1211 a FB(m)1361
1177 y(:)488 b FH(\(14\))0 1276 y(F)l(or)16 b FB(N)22 b FH(prime,)16
b(consider)h(the)f(particular)i(class)f FB(H)953 1283 y FI(1)989
1276 y FH(de\014ned)f(as)h(follo)o(ws:)267 1398 y FB(H)307
1405 y FI(1)341 1398 y FH(=)d Fx(f)p FB(h)446 1405 y Fw(a;b)491
1398 y Fx(j)p FB(h)533 1405 y Fw(a;b)579 1398 y FH(\()p FB(x)p
FH(\))g(=)f([\()p FB(ax)d FH(+)h FB(b)p FH(\))j(mo)q(d)g FB(N)5
b FH(])14 b(mo)q(d)g FB(m;)8 b(a;)g(b)13 b Fx(2)h FH([0)8 b(.)g(.)g(.)f
FB(N)17 b Fx(\000)11 b FH(1])p Fx(g)p FB(:)179 b FH(\(15\))0
1520 y(It)14 b(can)g(b)q(e)g(sho)o(wn)h(that)f(the)g(class)h
FB(H)685 1527 y FI(1)720 1520 y FH(is)f FB(c)p FH(-univ)o(ersal)i(for)e
FB(c)g FH(=)g([)1186 1497 y Ft(d)p Fw(N)q(=m)p Ft(e)p 1186
1508 109 2 v 1188 1537 a FI(\()p Fw(N)q(=m)p FI(\))1299 1520
y FH(])1313 1502 y FI(2)1332 1520 y FH(.)21 b(Since)14 b(eac)o(h)f(function)i
(in)g FB(H)1883 1527 y FI(1)1917 1520 y FH(is)0 1592 y(fully)g(sp)q
(eci\014ed)g(b)o(y)f FB(a)g FH(and)h FB(b)p FH(,)f(there)g(are)h
FB(N)799 1574 y FI(2)833 1592 y FH(functions)h(in)f(this)g(class)h(and)f
FB(O)q FH(\(log)c FB(N)5 b FH(\))14 b(bits)i(are)e(required)0
1664 y(to)j(pin-p)q(oin)o(t)h(an)o(y)f(one)f(function.)23 b(Also,)17
b(a)g(random)g(function)g(can)g(b)q(e)g(c)o(hosen)f(b)o(y)g(randomly)h(pic)o
(king)0 1737 y FB(a)f FH(and)h FB(b)f FH(from)g([0)8 b(.)g(.)g(.)g
FB(N)16 b Fx(\000)11 b FH(1].)73 1839 y(Let)19 b(us)h(assume)f(that)g(eac)o
(h)g(hash)h(function)f(in)h FB(H)1031 1846 y FI(1)1070 1839
y FH(has)g(the)e(same)h(probabilit)o(y)i(of)f(b)q(eing)g(pic)o(k)o(ed)0
1911 y(in)f(an)o(y)g(run,)g(and)g FF(hashing)h(with)g(chaining)822
1893 y FI(5)861 1911 y FH(is)g(used.)28 b(Under)18 b(these)g(assumptions)j
(it)e(can)g(b)q(e)f(sho)o(wn)0 1983 y(that)j(the)f(time)g(tak)o(en)g(b)o(y)g
(univ)o(ersal)i(hashing)g(to)f(p)q(erform)f(access,)h(insert)g(and)g(delete)f
(op)q(erations,)0 2056 y(or)j(an)o(y)g(sequence)f(of)h(suc)o(h)g(op)q
(erations,)j(is)e(the)f(same)g(as)h(the)e(exp)q(ected)g(time)h(tak)o(en)g(b)o
(y)f(hashing)0 2128 y(with)17 b(c)o(haining)h(when)e(all)i(inputs)f(are)g
(assumed)f(to)h(b)q(e)f(equally-lik)o(ely)i([Meh84a].)j(In)16
b(fact)g(this)i(result)0 2200 y(holds)i(for)f(an)o(y)g FB(c)p
FH(-univ)o(ersal)h(class)g(of)f(functions.)30 b(Th)o(us,)19
b(univ)o(ersal)h(hashing,)h(with)f(no)f(assumptions)0 2272
y(on)h(the)f(input)i(distribution,)h(should)f(p)q(erform)f(as)g(w)o(ell)g(as)
h(hashing)g(with)g(c)o(haining)g(when)e(the)h(b)q(est)0 2345
y(p)q(ossible)25 b(input)e(distribution)i(\(i.e.,)d(completely)h(un)o(biased)
g(input\))g(is)g(assumed.)40 b(Note)22 b(that)h(ev)o(en)0 2417
y(though)g(the)e(end-result,)i(as)f(far)g(as)g(the)f(p)q(erformance)g(is)i
(concerned,)e(is)i(the)e(same)g(for)h(these)f(t)o(w)o(o)0 2489
y(hashing)h(paradigms,)g(there)d(is)h(a)h(considerable)g(di\013erence)f(b)q
(et)o(w)o(een)e(the)i(assumptions)i(underlying)p 0 2533 780
2 v 56 2563 a FE(5)75 2578 y FD(In)17 b(hashing)g(with)h(c)o(haining,)h(all)e
(k)o(eys)h(that)f(collide)i(at)e(a)g(giv)o(en)h(index)g Fs(i)f
FD(in)h(the)f(hash)h(table)g Fs(T)23 b FD(are)17 b(stored)h(as)f(a)0
2653 y(link)o(ed)e(list)h(at)d Fs(T)6 b FD([)p Fs(i)p FD(].)951
2828 y FH(35)p eop
bop 0 195 a FH(them.)24 b(In)18 b(univ)o(ersal)g(hashing)i(the)d(algorithm)i
(con)o(trols)g(the)e(dice)h(and)g(not)g(the)f(user,)h(and)g(therefore)0
267 y(the)e(exp)q(ected)f(complexit)o(y)h(is)h FB(O)q FH(\(1\))g(ev)o(en)f
(for)g(maliciously)j(designed)e(inputs.)73 370 y(Univ)o(ersal)g(hashing)h(is)
f(an)g(example)f(of)h(the)f(con)o(trol)h(randomization)h(tec)o(hnique)e(w)o
(e)g(describ)q(ed)g(in)0 442 y(Section)h(1.1.)22 b(Con)o(trol)17
b(randomization)i(is)e(useful)g(for)f(other)h(problems)g(for)f(whic)o(h)h
(man)o(y)f(e\016cien)o(t)f(al-)0 514 y(gorithms)f(exist,)f(suc)o(h)f(as)i
(sorting.)21 b(If)12 b(eac)o(h)g(one)h(of)g(these)f(algorithms)j(has)e(go)q
(o)q(d)i(a)o(v)o(erage)d(p)q(erformance)0 586 y(but)17 b(p)q(o)q(or)h(w)o
(orst)g(case)e(p)q(erformance,)h(randomization)i(o)o(v)o(er)c(the)i(space)g
(of)g(a)o(v)m(ailable)i(algorithms)g(is)f(a)0 658 y(w)o(a)o(y)e(to)h
(eliminate)g(the)f(risk)h(in)o(v)o(olv)o(ed)f(in)h(using)g(an)o(y)f(single)i
(one)f(of)f(them.)0 830 y FC(2.4.3)55 b(Some)18 b(Recen)n(t)g(Results)0
965 y FH(The)i(FKS)g(p)q(erfect)f(hashing)j(algorithm)g(discussed)f(in)f
(Section)h(2.4.1)f(results)h(in)f(a)g(hash)h(table)g(size)0
1037 y(that)d(is)g(larger)g(than)f(the)g(total)i(n)o(um)o(b)q(er)d(of)i(k)o
(eys.)23 b(An)16 b(algorithm)k(is)e(said)g(to)g(b)q(e)f FF(or)n(der)g(pr)n
(eserving)h FH(if)0 1109 y(it)g(puts)g(en)o(tries)g(in)o(to)g(the)g(hash)g
(table)h(in)f(a)g(presp)q(eci\014ed)g(order,)g(and)g FF(minimal)g
FH(if)g(it)g(generates)g(hash)0 1182 y(functions)h(where)e(the)h(table)h
(size)f(is)g(the)g(same)g(as)g(the)g(total)h(n)o(um)o(b)q(er)e(of)h(k)o(eys.)
25 b(Recen)o(tly)17 b(there)g(has)0 1254 y(b)q(een)g(a)g(\015urry)g(of)g
(researc)o(h)f(activit)o(y)i(in)f(the)g(areas)g(of)h(minimal)g(and)g(order)f
(preserving)g(p)q(erfect)f(hash)0 1326 y(functions)h([Cic80)q(,)f(Jae81)q(,)g
(Cha84)q(,)g(LC88)q(,)g(CHM92,)g(MWHC93)q(].)73 1428 y(Czec)o(h,)21
b(Ha)o(v)m(as)g(and)h(Ma)s(jewski)f([CHM92)o(])g(presen)o(t)f(a)i
(probabilistic)i(algorithm)f(for)e(generating)0 1500 y(order)e(preserving,)h
(minimal)h(p)q(erfect)d(hash)i(functions.)31 b(This)20 b(algorithm,)i(whic)o
(h)d(runs)h(v)o(ery)e(fast)h(in)0 1573 y(practice,)g(uses)g(exp)q(ected)e
(linear)j(time)f(and)g(requires)g(a)g(linear)h(n)o(um)o(b)q(er)d(of)i(w)o
(ords)h(to)f(represen)o(t)e(the)0 1645 y(hash)24 b(function.)43
b(The)23 b(results)h(of)g([CHM92])f(are)g(further)g(extended)f(in)i([MWHC93])
f(to)h(a)f(family)0 1717 y(of)f(elegan)o(t)g(probabilisti)q(c)i(algorithms)g
(that)e(generate)g(minimal)h(p)q(erfect)e(hash)h(functions)h(allo)o(wing)0
1789 y(arbitrary)d(arrangemen)o(ts)f(of)g(k)o(eys)f(in)i(the)f(hash)h(table.)
30 b(The)19 b(idea)g(used)h(is)f(the)g(follo)o(wing.)32 b(Certain)0
1862 y(in)o(teger)17 b(congruences)f(that)h(corresp)q(ond)h(to)f(acyclic)g
FB(r)q Fx(\000)p FH(graphs)h(can)f(b)q(e)f(solv)o(ed)h(in)h(linear)g(time.)k
(This)0 1934 y(uses)12 b(a)g(result)g(in)h([ER60],)f(whic)o(h)g(states)g
(that)g(the)f(ma)s(jorit)o(y)h(of)g(random)g(sparse)g(2)p Fx(\000)p
FH(graphs)h(are)f(acyclic.)0 2006 y(It)17 b(is)h(extended)e(in)i([MWHC93])e
(to)i FB(r)q Fx(\000)p FH(graphs,)g(with)g FB(r)f(>)e FH(2.)24
b(P)o(erfect)16 b(hash)i(functions)h(are)e(obtained)0 2078
y(b)o(y)g(randomly)i(mapping)h(a)e(set)g(of)g(k)o(eys)f(in)o(to)i(an)f
(acyclic)h FB(r)q Fx(\000)p FH(graph.)27 b(The)18 b(mapping)h(is)g(ac)o(hiev)
o(ed)e(via)0 2150 y(univ)o(ersal)f(hashing.)23 b(Once)14 b(completed)h(the)g
(constructed)g(set)g(of)h(linearly)g(indep)q(enden)o(t)f(congruences,)0
2223 y(corresp)q(onding)j(to)e(the)g(created)f FB(r)q Fx(\000)p
FH(graph,)i(is)g(solv)o(ed,)f(and)g(the)g(solution)i(is)f(a)f(minimal)i(p)q
(erfect)d(hash)0 2295 y(function.)34 b(F)l(or)21 b(this)g(t)o(yp)q(e)f(of)g
(set)g(of)h(congruences)f(an)o(y)g(in)o(teger)h(solution)h(is)f(legal,)i(so)e
(the)f(metho)q(d)0 2367 y(o\013ers)d(total)h(freedom)d(of)i(c)o(hoice)f(of)g
(the)g(address)h(for)g(eac)o(h)e(k)o(ey)l(.)73 2469 y(A)k(dictionary)h(is)g
(a)f(data)h(structure)e(that)i(allo)o(ws)h(the)d(storage)i(of)g(a)f(set)g
FB(S)j FH(of)d(distinct)h(elemen)o(ts)0 2542 y(suc)o(h)14 b(that)h(mem)o(b)q
(ership)f(queries)g(of)g(the)g(form)g(\\Is)h FB(x)f FH(in)h
FB(S)s FH(?")21 b(as)15 b(w)o(ell)g(as)f(up)q(dates)i(\(i.e.)k(\\Add)14
b FB(x)g FH(to)h FB(S)s FH(")0 2614 y(and)h(\\Delete)g FB(x)f
FH(from)h FB(S)s FH("\))g(can)g(b)q(e)f(p)q(erformed)h(e\016cien)o(tly)l(.)k
(The)c(FKS)f(sc)o(heme)f(considers)j(only)f(static)0 2686 y(sets)22
b(where)h(no)f(up)q(dates)i(to)e FB(S)k FH(are)c(allo)o(w)o(ed.)41
b(Another)22 b(line)h(of)g(in)o(v)o(estigation)h(b)o(y)e(Dietzfelbinger)951
2828 y(36)p eop
bop 0 195 a FH(et)24 b(al.)g([DKM)274 177 y FI(+)303 195 y
FH(88)q(,)f(DMadH92)q(,)g(DGMP92)q(])h(attempts)g(to)g(use)g(p)q(erfect)f
(hashing)j(for)e(main)o(taining)0 267 y(dictionaries)17 b(in)e(real-time)h
(situations.)23 b(By)14 b(using)i(certain)f(classes)h(of)f(univ)o(ersal)h
(hash)g(functions)g(they)0 340 y(sho)o(w)f(that)f(the)g(FKS)g(probabilisti)q
(c)j(metho)q(d)d(can)g(construct)h(a)f(p)q(erfect)g(hash)h(function)g(in)f
(\002\()p FB(n)p FH(\))h(time,)0 412 y(with)e(the)g(probabilit)o(y)h(1)s
Fx(\000)s FB(O)550 364 y Fr(\020)589 392 y FI(1)p 579 400 37
2 v 579 429 a Fw(n)600 420 y Fv(\017)621 364 y Fr(\021)658
412 y FH([DGMP92)q(].)19 b(The)13 b(p)q(erfect)f(hash)h(function)g(can)g(b)q
(e)f(used)h(to)g(supp)q(ort)0 484 y(a)18 b(real-time)g(dictionary)g(\(i.e.,)f
(a)g(dictionary)i(whic)o(h)f(allo)o(ws)h(insertions)g(and)f(deletions)g(of)g
(k)o(eys,)e(with)0 556 y(no)h(kno)o(wledge)f(ab)q(out)i(subsequen)o(t)e(ev)o
(en)o(ts\))f(in)i(exp)q(ected)e(constan)o(t)i(time.)73 658
y(F)l(or)c(other)g(related)h(dev)o(elopmen)o(ts)e(in)h(order)h(preserving)f
(minimal)h(p)q(erfect)f(hash)g(functions,)i(whic)o(h)0 731
y(are)23 b(practical)g(for)g(v)o(ery)f(large)h(databases,)i(see)e([F)o(CDH91)
o(,)g(FHCD92].)40 b(A)22 b(considerable)i(b)q(o)q(dy)g(of)0
803 y(literature)18 b(exists)f(on)h(minimal)g(and)g(order)f(preserving)g
(hash)h(functions)g(and)g(a)f(complete)g(discussion)0 875 y(is)f(b)q(ey)o
(ond)f(the)f(scop)q(e)h(of)h(this)f(surv)o(ey)l(.)20 b(An)15
b(o)o(v)o(erview)f(of)h(some)g(of)g(the)f(results)i(outlined)g(ab)q(o)o(v)o
(e)f(can)g(b)q(e)0 947 y(found)i(in)g([MadH90].)73 1050 y(Ma)s(jewski,)i(W)l
(ormald,)g(Ha)o(v)m(as)g(and)f(Czec)o(h)g([MWHC93])f(ha)o(v)o(e)h
(classi\014ed)i(n)o(umerous)e(algorithms)0 1122 y(for)h(p)q(erfect)g(hashing)
i(in)o(to)e(four)h(di\013eren)o(t)f(broad)h(categories.)31
b(The)19 b(\014rst)g(category)g(is)h(comprised)g(of)0 1194
y(algorithms)f(that)e(rely)f(on)h(n)o(um)o(b)q(er)f(theoretic)g(metho)q(ds)h
(to)g(determine)f(a)h(small)h(n)o(um)o(b)q(er)e(of)h(n)o(umeric)0
1266 y(parameters.)k(The)15 b(v)o(ery)f(\014rst)h(discussion)i(of)f(p)q
(erfect)e(hashing,)j(b)o(y)d(Sprugnoli)k([Spr77],)d(falls)h(in)o(to)g(this)0
1339 y(category)l(.)21 b(Jaesc)o(hk)o(e's)15 b(recipro)q(cal)j(hashing)g(is)f
(another)g(example)f(from)g(this)h(category)g([Jae81].)73 1441
y(The)e(second)h(category)f(consists)i(of)e(p)q(erfect)g(hash)h(functions)g
(that)g(use)f(segmen)o(tation)h(of)f(k)o(eys.)20 b(In)0 1513
y(these)c(algorithms,)j(the)d(k)o(eys)g(are)h(\014rst)g(distributed)g(in)o
(to)h(buc)o(k)o(ets)d(b)o(y)h(a)h(non-p)q(erfect)g(hash)h(function.)0
1585 y(P)o(erfect)11 b(hash)j(functions)g(are)e(then)h(computed)f(and)i(used)
e(for)h(k)o(eys)f(in)h(eac)o(h)g(buc)o(k)o(et.)18 b(The)13
b(FKS)f(sc)o(heme)0 1657 y(describ)q(ed)17 b(earlier)g(falls)h(in)f(this)g
(category)l(.)73 1760 y(The)d(third)g(category)g(of)f(p)q(erfect)g(hashing)j
(sc)o(hemes)c(uses)i(some)f(kind)h(of)g(bac)o(ktrac)o(king)g(pro)q(cedures)0
1832 y(to)g(searc)o(h)f(through)i(the)e(space)h(of)g(all)h(p)q(ossible)h
(functions)e(|)g(t)o(ypically)g(an)g(ordering)h(heuristic)f(is)h(used)0
1904 y(to)h(cut)f(do)o(wn)h(the)g(searc)o(h)f(space)g(|)h(in)g(order)g(to)g
(\014nd)f(a)h(p)q(erfect)f(hash)i(function)f([FHCD92].)21 b(Finally)l(,)0
1976 y(the)e(fourth)h(category)f(consists)i(of)f(algorithms)h(that)f(map)f
(the)g(giv)o(en)h FB(n)f FH(k)o(eys)g(in)o(to)g(a)h FB(n)13
b Fx(\002)g FB(n)20 b FH(matrix)0 2049 y(and)d(use)f(matrix)h(pac)o(king)f
(algorithms)j(to)e(compress)f(the)g(2-D)h(arra)o(y)f(in)o(to)h(linear)h
(space)e([Meh84a].)73 2151 y(All)j(four)g(categories)g(of)g(p)q(erfect)f
(hashing)i(algorithms)h(are)d(ric)o(h)h(in)g(probabilistic)j(metho)q(ds.)28
b(F)l(or)0 2223 y(examples)17 b(of)g(algorithms)j(from)d(eac)o(h)f(category)l
(,)h(w)o(e)g(refer)f(the)h(reader)g(to)g([MWHC93],)f(an)i(excellen)o(t)0
2295 y(guide)f(to)g(a)f(whole)i(panoply)f(of)g(p)q(erfect)e(hashing)j(sc)o
(hemes)e(that)g(ha)o(v)o(e)g(app)q(eared)h(in)g(the)f(literature.)73
2398 y(P)o(erfect)d(hashing)i(has)g(recen)o(tly)d(found)j(application)h(in)f
(the)e(area)h(of)g(hardw)o(are)h(design.)21 b(In)13 b([RP91)q(],)0
2470 y(p)q(erfect)18 b(hash)i(functions)g(are)f(used)g(to)g(construct)g(a)g
(simple)h(asso)q(ciativ)o(e)h(memory)l(.)28 b(Gupta)20 b([Gup93])0
2542 y(uses)h(it)g(for)f(resp)q(onse)i(c)o(hec)o(king)d(in)i(digital)i
(circuit)e(test.)34 b(In)20 b(b)q(oth)h(cases,)g(random)h(searc)o(h)e(is)h
(used)0 2614 y(to)i(compute)g(a)h(p)q(erfect)e(hash)i(function)g(for)f(a)h
(giv)o(en)f(set)g(of)g(k)o(eys.)41 b(This)24 b(hash)g(function)g(is)g(then)0
2686 y(implemen)o(ted)18 b(in)h(hardw)o(are)g(and)g(its)g(constan)o(t)g
(time,)g(collision-free)i(indexing)e(prop)q(ert)o(y)g(is)g(used)g(to)951
2828 y(37)p eop
bop 0 195 a FH(access)16 b(a)h(pre-arranged)g(table)g(of)g(v)m(alues.)73
297 y(The)c(Nearest)g(Neigh)o(b)q(ors)i(problem)e(considered)h(next)f
(illustrates)i(the)e(tec)o(hnique)g(of)h(random)f(sam-)0 370
y(pling,)k(whic)o(h)g(is)g(at)g(the)f(heart)g(of)h(man)o(y)e(randomized)i
(algorithms)i(in)e(computational)h(geometry)l(.)0 579 y Fu(2.5)70
b(The)22 b(Nearest)g(Neigh)n(b)r(ors)i(Problem)0 713 y FH(W)l(e)17
b(describ)q(e)g(Rabin's)h(probabilistic)i(algorithm)f(for)e(the)g(Nearest)g
(Neigh)o(b)q(ors)g(problem,)h(one)f(of)g(t)o(w)o(o)0 785 y(probabilistic)i
(algorithms)g(Rabin)e(presen)o(ted)f(in)h(his)g(seminal)h(pap)q(er)f
([Rab76].)22 b(The)16 b(other,)g(a)h(proba-)0 857 y(bilistic)h(algorithm)h
(for)d(primalit)o(y)i(testing,)e(w)o(as)h(the)f(topic)h(of)f(Section)h(2.2.)
73 960 y(Consider)f(a)g(\014nite)f(set)g FB(S)i FH(=)d Fx(f)p
FB(x)665 967 y FI(1)684 960 y FB(;)8 b(:::;)g(x)798 967 y Fw(n)820
960 y Fx(g)15 b FH(of)g(p)q(oin)o(ts)h(in)g FB(l)q FH(-dimensional)h(space,)e
(i.e.,)f FB(S)j Fx(\032)d(<)1784 942 y Fw(l)1797 960 y FH(,)g(where)0
1032 y Fx(<)k FH(denotes)h(the)f(reals.)28 b(The)19 b FF(Ne)n(ar)n(est)g
(Neighb)n(ors)f FH(problem)h(is)g(to)g(\014nd)f(a)h(pair)g(of)g(p)q(oin)o(ts)
h FB(x)1746 1039 y Fw(i)1760 1032 y FH(,)e FB(x)1820 1039 y
Fw(j)1856 1032 y FH(suc)o(h)0 1104 y(that)533 1176 y FB(d)p
FH(\()p FB(x)605 1183 y Fw(i)619 1176 y FB(;)8 b(x)669 1183
y Fw(j)687 1176 y FH(\))14 b(=)f(min)q Fx(f)p FB(d)p FH(\()p
FB(x)950 1183 y Fw(p)969 1176 y FB(;)8 b(x)1019 1183 y Fw(q)1038
1176 y FH(\))p FB(;)g FH(1)14 b Fx(\024)g FB(p)g(<)g(q)h Fx(\024)f
FB(n)p Fx(g)p FB(;)445 b FH(\(16\))0 1268 y(where)14 b FB(d)p
FH(\()p FB(x)211 1275 y Fw(i)225 1268 y FB(;)8 b(x)275 1275
y Fw(j)293 1268 y FH(\))15 b(is)g(the)f(usual)i(distance)g(function)f(on)g
Fx(<)1062 1250 y Fw(l)1075 1268 y FH(.)21 b(Notice)14 b(that)h
FB(x)1393 1275 y Fw(i)1422 1268 y FH(cannot)g(equal)g FB(x)1735
1275 y Fw(j)1767 1268 y FH(and)h(that)0 1340 y(there)i(ma)o(y)f(b)q(e)h(more)
g(than)h(one)f(suc)o(h)g(pair)h(of)g(nearest)f(neigh)o(b)q(ors)h(in)g
FB(S)s FH(.)27 b(W)l(e)18 b(refer)f(to)h(the)g(distance)0 1412
y(separating)g(nearest)e(neigh)o(b)q(ors)i(in)f(a)g(set)f FB(S)j
FH(as)e FB(\016)929 1419 y Fw(min)995 1412 y FH(\()p FB(S)s
FH(\).)73 1514 y(A)24 b(brute-force)g(algorithm)i(for)e(Nearest)g(Neigh)o(b)q
(ors)h(computes)f(all)h(the)f FB(n)p FH(\()p FB(n)17 b Fx(\000)f
FH(1\))p FB(=)p FH(2)25 b(relev)m(an)o(t)0 1587 y(m)o(utual)18
b(distances)g(and)h(their)f(minim)o(um.)25 b(A)17 b(recursiv)o(e)g(algorithm)
i(in)f([Ben80])f(requires)h FB(O)q FH(\()p FB(n)8 b FH(log)j
FB(n)p FH(\))0 1659 y(distance)17 b(computations)h(in)f(b)q(oth)g(the)f(a)o
(v)o(erage)g(and)h(w)o(orst)g(case.)k(Rabin's)c(probabilisti)q(c)i
(algorithm,)0 1731 y(under)g(a)f(certain)h(reasonable)h(assumption)h(ab)q
(out)f(the)e(problem)h(input)g(\(discussed)h(b)q(elo)o(w\),)f(has)h(an)0
1803 y(exp)q(ected)14 b(running)j(time)e(of)h FB(O)q FH(\()p
FB(n)p FH(\))g(and)g(th)o(us)f(outp)q(erforms)h(an)o(y)f(kno)o(wn)h(sequen)o
(tial)g(algorithm.)23 b(This)0 1876 y(algorithm,)e(unlik)o(e)f(his)g
(algorithm)h(for)f(primalit)o(y)g(testing,)h(is)f(guaran)o(teed)f(to)h(pro)q
(duce)g(the)f(correct)0 1948 y(answ)o(er.)73 2050 y(The)h(basic)h(idea)f(b)q
(ehind)h(Rabin's)f(algorithm)i(is)f(one)f(of)g(divide-and-conquer:)29
b(decomp)q(ose)20 b(the)0 2122 y(set)c(of)h(p)q(oin)o(ts)g
FB(S)i FH(in)o(to)e(clusters,)g(and)f(lo)q(ok)i(for)f(nearest)f(neigh)o(b)q
(ors)i(within)f(eac)o(h)f(cluster.)22 b(Let)747 2226 y FB(S)17
b FH(=)d FB(S)876 2233 y FI(1)906 2226 y Fx([)e FB(S)981 2233
y FI(2)1011 2226 y Fx([)g FB(:::)d Fx([)j FB(S)1182 2233 y
Fw(k)1863 2226 y FH(\(17\))0 2329 y(b)q(e)22 b(a)f FF(de)n(c)n(omp)n(osition)
g FB(D)i FH(of)f FB(S)s FH(,)g(and)g FB(n)756 2336 y Fw(i)792
2329 y FH(the)f(cardinalit)o(y)i(of)f FB(S)1221 2336 y Fw(i)1235
2329 y FH(.)37 b(Let)21 b FB(N)5 b FH(\()p FB(D)q FH(\))23
b(b)q(e)e(a)h FF(me)n(asur)n(e)f FH(of)h FB(D)q FH(,)0 2402
y(de\014ned)16 b(as)729 2487 y FB(N)5 b FH(\()p FB(D)q FH(\))15
b(=)939 2433 y Fw(k)919 2445 y Fr(X)921 2537 y Fw(i)p FI(=1)992
2453 y FB(n)1021 2460 y Fw(i)1036 2453 y FH(\()p FB(n)1084
2460 y Fw(i)1109 2453 y Fx(\000)c FH(1\))p 992 2475 210 2 v
1085 2521 a(2)1207 2487 y FB(:)642 b FH(\(18\))73 2631 y(If)12
b(it)h(is)h(kno)o(wn)f(that)g(a)g(nearest)f(neigh)o(b)q(or)i(pair)g(falls)g
(within)g(one)f(of)g(the)g FB(S)1452 2638 y Fw(i)1466 2631
y FH(,)g(then)f FB(N)5 b FH(\()p FB(D)q FH(\))14 b(represen)o(ts)0
2704 y(the)i(n)o(um)o(b)q(er)f(of)i(distance)g(computations)h(needed)d(to)i
(\014nd)f(the)g(nearest)h(neigh)o(b)q(ors)g(of)g FB(S)s FH(:)k(simply)c(use)
951 2828 y(38)p eop
bop 599 1129 2 900 v 749 1129 V 899 1129 V 1049 1129 V 1199
1129 V 1349 1129 V 450 979 1050 2 v 450 829 V 450 679 V 450
529 V 450 379 V 631 911 a Fx(\017)16 b FB(x)700 918 y FI(1)781
506 y Fx(\017)g FB(x)850 513 y FI(2)781 731 y FB(x)809 738
y FI(3)844 731 y Fx(\017)1081 806 y(\017)g FB(x)1150 813 y
FI(4)961 956 y Fx(\017)g FB(x)1030 963 y FI(5)1261 611 y Fx(\017)g
FB(x)1330 618 y FI(6)931 671 y Fx(\017)g FB(x)1000 678 y FI(7)p
1424 979 2 150 v 1425 870 a Fg(6)p 1424 979 V 1425 979 a(?)1428
921 y FB(\016)p 900 1054 150 2 v 1008 1053 a Fg(-)p 900 1054
V -150 w(\033)963 1101 y FB(\016)p 745 829 10 300 v 750 833
300 10 v 750 533 V 1045 829 10 300 v 415 1242 a FH(Figure)g(4:)22
b(Pictorial)d(explanation)f(of)e(Rabin's)h(Lemma)f(1.)0 1377
y(brute)e(force)h(within)h(a)f(cluster)g(and)g(then)g(compare)f(the)h
(nearest)f(neigh)o(b)q(ors)i(of)f(eac)o(h)g(cluster.)20 b(Cen)o(tral)0
1449 y(to)15 b(the)f(algorithm)j(then)d(is)h(ho)o(w)g(to)g(compute,)f(in)i
FB(O)q FH(\()p FB(n)p FH(\))f(time,)f(a)h(\\desirable)h(decomp)q(osition")h
FB(D)g FH(of)e FB(S)s FH(,)0 1521 y(suc)o(h)j(that)g(a)g(nearest)g(neigh)o(b)
q(or)h(pair)g(b)q(elongs)g(to)f(the)g(same)g(cluster)g(of)g
FB(D)h FH(and)g FB(N)5 b FH(\()p FB(D)q FH(\))17 b(=)g FB(O)q
FH(\()p FB(n)p FH(\).)26 b(As)0 1593 y(clari\014ed)17 b(b)q(elo)o(w,)g(the)f
(use)g(of)h(randomization)h(is)f(k)o(ey)e(to)i(solving)h(this)f(problem.)73
1695 y(In)d(the)f(t)o(w)o(o-dimensional)k(case,)c(a)i(desirable)g(decomp)q
(osition)h(can)e(b)q(e)g(obtained)h(b)o(y)e(\014rst)h(enclosing)0
1768 y(the)h(p)q(oin)o(ts)h(of)f FB(S)j FH(in)e(a)f(square)g(lattice)h(\000)f
(of)h(mesh-size)f FB(\016)r FH(.)20 b(It)15 b(is)g(not)h(di\016cult)f(to)h
(see)e(that)i(b)o(y)e(c)o(ho)q(osing)0 1840 y FB(\016)19 b
Fx(\025)f FB(\016)120 1847 y Fw(min)186 1840 y FH(\()p FB(S)s
FH(\))g(w)o(e)g(are)h(guaran)o(teed)g(that,)g(at)g(w)o(orst,)g(nearest)f
(neigh)o(b)q(ors)j FB(x)1439 1847 y Fw(i)1452 1840 y FH(,)e
FB(x)1513 1847 y Fw(j)1549 1840 y FH(lie)h(on)f(squares)g(of)g(\000)0
1912 y(with)d(a)f(common)g(corner.)21 b(By)14 b(doubling)k(the)d(mesh-size,)g
(w)o(e)f(can)i(hop)q(e)f(to)h(obtain)h(a)e(lattice)h(in)g(whic)o(h)0
1984 y(these)f(p)q(oin)o(ts)h(will)h(certainly)f(lie)g(within)h(a)e
FF(single)i FH(square.)k(But)15 b(to)h(ensure)f(that)g FF(al)r(l)i
FH(adjacen)o(t)e(squares)0 2057 y(of)h(\000)f(are)h(tiled)g(b)o(y)f(a)h
(single)g(2)p FB(\016)r FH(-b)o(y-2)p FB(\016)h FH(square,)f(w)o(e)f(need)f
(to)i(construct)g(four)f(lattices)i(of)e(mesh-size)h(2)p FB(\016)r
FH(.)0 2129 y(Assuming,)h(without)i(loss)f(of)f(generalit)o(y)l(,)h(that)f
FB(S)j FH(is)e(a)f(subset)g(of)g(the)g(non-negativ)o(e)h(quadran)o(t,)f(then)
0 2201 y(the)d(lo)o(w)o(er,)g(left-hand)h(corners)f(of)g(these)g(lattices)h
(should)g(b)q(e)f(placed)h(at)f(lo)q(cations)i(\(0)p FB(;)8
b FH(0\),)15 b(\(0)p FB(;)8 b(\016)r FH(\),)14 b(\()p FB(\016)o(;)8
b FH(0\),)0 2273 y(and)17 b(\()p FB(\016)o(;)8 b(\016)r FH(\).)73
2376 y(The)21 b(pro)q(of)h(that)f(this)g(lattice-based)h(tec)o(hnique)e(for)h
(decomp)q(osing)h FB(S)i FH(w)o(orks)d(as)g(adv)o(ertised,)g(is)0
2448 y(giv)o(en)g(in)h(Lemma)f(1)h(of)f([Rab76)q(].)35 b(An)21
b(example)g(of)g(this)i(pro)q(of,)g(also)f(from)f([Rab76)q(],)h(is)f(sho)o
(wn)h(in)0 2520 y(Figure)i(4.)43 b(Here)22 b FB(x)392 2527
y FI(3)435 2520 y FH(and)i FB(x)565 2527 y FI(7)608 2520 y
FH(are)g(nearest)f(neigh)o(b)q(ors,)j(and)e FB(\016)h FH(is)f(greater)g(than)
g(or)g(equal)f(to)h(the)0 2592 y(distance)e(b)q(et)o(w)o(een)f(them.)36
b(Doubling)24 b FB(\016)f FH(encloses)f(the)g(pair)g(in)g(a)g(single)h
(square.)37 b(This)23 b(argumen)o(t)0 2664 y(generalizes)17
b(to)g(an)o(y)f(dimensional)i(space.)951 2828 y(39)p eop
bop 73 195 a FH(W)l(e)14 b(no)o(w)h(kno)o(w)f(that)g FB(\016)r
FH(,)g(the)g(initial)j(mesh)c(size,)i(should)g(b)q(e)g(c)o(hosen)f(large)h
(enough)g(so)f(that)h(nearest)0 267 y(neigh)o(b)q(ors)21 b(at)g(w)o(orst)f
(fall)h(in)g(adjacen)o(t)e(squares.)33 b(On)20 b(the)f(other)h(hand,)h(w)o(e)
f(still)i(need)d(to)h(c)o(ho)q(ose)h FB(\016)0 340 y FH(small)f(enough)g(so)g
(that)f FB(N)5 b FH(\()p FB(D)q FH(\))20 b(is)g FB(O)q FH(\()p
FB(n)p FH(\),)g(to)g(obtain)g(an)g(e\016cien)o(t)e(algorithm.)31
b(Rabin)20 b(used)f(random)0 412 y(sampling)h(to)e(arriv)o(e)g(at)g(suc)o(h)g
(a)g FB(\016)r FH(.)26 b(In)18 b(particular,)h(he)f(sho)o(w)o(ed)g(that)g(if)
g FB(\016)i FH(is)e(c)o(hosen)g(to)g(b)q(e)g FB(\016)1782 419
y Fw(min)1849 412 y FH(\()p FB(S)1898 419 y FI(1)1917 412 y
FH(\),)0 484 y(where)j FB(S)176 491 y FI(1)216 484 y FH(is)h(a)f(randomly)h
(c)o(hosen)e(subset)i(of)f FB(S)i FH(suc)o(h)e(that)g Fx(j)p
FB(S)1235 491 y FI(1)1255 484 y Fx(j)g FH(=)h FB(n)1379 466
y FI(2)p Fw(=)p FI(3)1434 484 y FH(,)g(then)e(with)i(a)f(v)o(ery)f(high)0
556 y(probabilit)o(y)231 538 y FI(6)270 556 y FH(the)c(measure)h(of)g(the)g
(decomp)q(osition)i(induced)e(b)o(y)f(the)h(lattice)h(of)f(mesh-size)g
FB(\016)h FH(will)h(b)q(e)0 628 y FB(O)q FH(\()p FB(n)p FH(\))14
b(\(Theorems)g(6)g(and)g(7)g(of)g([Rab76)q(]\).)20 b(In)o(tuitiv)o(ely)l(,)13
b(this)i(random)f(sample)g FB(S)1502 635 y FI(1)1536 628 y
FH(of)g FB(S)i FH(is)f(large)f(enough)0 701 y(in)j(size)f(so)g(that)g(a)h
(grid)f(of)h(mesh-size)e FB(\016)j FH(will)g(con)o(tain)e(a)g(small)i(n)o(um)
o(b)q(er)d(of)h(p)q(oin)o(ts)h(within)g(an)o(y)f(lattice)0
773 y(square.)21 b(Th)o(us,)16 b(w)o(e)g(ha)o(v)o(e)g(algorithm)i
FF(Ne)n(arNeb)i FH(for)c(the)g(Nearest)g(Neigh)o(b)q(ors)h(problem:)0
942 y Fy(Ne)n(arNeb)26 b Fp(f)95 1026 y Fn(S)123 1033 y FI(1)166
1026 y Fo(:=)e(randomly)f(chosen)g(subset)g(of)g Fn(S)k Fo(such)c(that)g
Fp(j)p Fn(S)s Fp(j)12 b Fz(=)h Fn(n)1295 1010 y FI(2)p Fw(=)p
FI(3)95 1111 y Fn(\016)25 b Fo(:=)f Fn(\016)232 1118 y Fw(min)299
1111 y Fz(\()p Fn(S)345 1118 y FI(1)364 1111 y Fz(\))g Fo(\(*)f(how)h(to)f
(do)h(this)f(is)h(described)f(below)g(*\))95 1196 y Fz(\000)h
Fo(:=)g(square)f(lattice)g(of)g(mesh)g(size)h Fn(\016)i Fo(and)d(origin)g
(\(lower)g(left-hand)g(corner\))g(at)219 1280 y Fz(\(0)p Fn(;)8
b Fz(0\))p Fo(,)21 b(enclosing)i(the)g(points)g(of)h Fn(S)95
1351 y Fz(\000)123 1358 y FI(1)143 1351 y Fn(;)8 b Fz(.)g(.)g(.)d
Fn(;)j Fz(\000)273 1358 y FI(4)316 1351 y Fo(:=)23 b(four)h(lattices)f(with)g
(origins)g Fz(\(0)p Fn(;)8 b Fz(0\))p Fo(,)21 b Fz(\(0)p Fn(;)8
b(\016)r Fz(\))p Fo(,)22 b Fz(\()p Fn(\016)o(;)8 b Fz(0\))23
b Fo(and)g Fz(\()p Fn(\016)o(;)8 b(\016)r Fz(\))p Fo(,)387
1436 y(respectively,)23 b(derived)f(from)i Fz(\000)g Fo(by)g(doubling)e(mesh)
i(size)f(to)h Fz(2)p Fn(\016)95 1505 y Fo(FOR)f(i)h(:=)f(1)h(TO)g(4)g
Fp(f)213 1590 y Fo(find)g(the)f(decomposition)f Fn(S)15 b Fz(=)e
Fn(S)884 1566 y FI(\()p Fw(i)p FI(\))881 1602 y(1)935 1590
y Fp([)e(\001)d(\001)g(\001)g([)i Fn(S)1110 1566 y FI(\()p
Fw(i)p FI(\))1107 1604 y Fw(k)1125 1609 y Fv(i)1175 1590 y
Fo(induced)23 b(by)h Fz(\000)1466 1597 y Fw(i)213 1674 y Fo(FOR)g(j)g(:=)f(1)
h(TO)f Fn(k)571 1681 y Fw(i)356 1759 y Fz(\()p Fn(x)400 1735
y FI(\()p Fw(i)p FI(\))400 1772 y Fw(j)441 1759 y Fn(;)8 b(y)486
1735 y FI(\()p Fw(i)p FI(\))484 1772 y Fw(j)527 1759 y Fz(\))15
b(:=)g Fo(nearest)23 b(neighbor)g(pair)g(within)g(lattice)g(square)14
b Fn(S)1695 1735 y FI(\()p Fw(i)p FI(\))1692 1772 y Fw(j)95
1844 y Fp(g)95 1928 y Fz(\()p Fn(x;)8 b(y)r Fz(\))22 b Fo(:=)i(nearest)f
(pair)g(in)g Fp(f)p Fz(\()p Fn(x)744 1904 y FI(\()p Fw(i)p
FI(\))744 1941 y Fw(j)785 1928 y Fn(;)8 b(y)830 1904 y FI(\()p
Fw(i)p FI(\))828 1941 y Fw(j)871 1928 y Fz(\))p Fp(j)p Fz(1)k
Fp(\024)h Fn(i)f Fp(\024)h Fz(4)p Fn(;)8 b Fz(1)j Fp(\024)i
Fn(j)i Fp(\024)e Fn(k)1293 1935 y Fw(i)1307 1928 y Fp(g)0 2013
y(g)73 2254 y FH(T)l(o)18 b(sho)o(w)f(the)g(exp)q(ected)f(running)i(time)f
(of)g FB(O)q FH(\()p FB(n)p FH(\),)g(w)o(e)g(\014rst)g(observ)o(e)g(that)g
FB(\016)1519 2261 y Fw(min)1585 2254 y FH(\()p FB(S)1634 2261
y FI(1)1654 2254 y FH(\))g(can)g(b)q(e)g(com-)0 2326 y(puted)c(b)o(y)g(in)o
(v)o(oking)i(the)e(algorithm)i(recursiv)o(ely)e(for)h(a)f(second)h(time.)20
b(A)13 b(subset)h FB(S)1553 2333 y FI(2)1586 2326 y FH(of)g
FB(S)1669 2333 y FI(1)1702 2326 y FH(is)g(randomly)0 2398 y(c)o(hosen)h(so)h
(that)g Fx(j)p FB(S)363 2405 y FI(2)383 2398 y Fx(j)d FH(=)h
Fx(j)p FB(S)506 2405 y FI(1)526 2398 y Fx(j)540 2380 y FI(2)p
Fw(=)p FI(3)608 2398 y FH(=)g FB(n)689 2380 y FI(4)p Fw(=)p
FI(9)744 2398 y FH(.)21 b(The)16 b(brute-force)f(tec)o(hnique)f(can)i(no)o(w)
g(b)q(e)f(used)h(to)f(compute)0 2471 y FB(\016)22 2478 y Fw(min)88
2471 y FH(\()p FB(S)137 2478 y FI(2)157 2471 y FH(\))h(in)h(time)f
FB(O)q FH(\()p FB(n)p FH(\))h(without)h(resorting)f(to)g(an)o(y)f(further)g
(recursion.)p 0 2517 780 2 v 56 2556 a FE(6)75 2571 y FD(T)m(o)f(b)q(e)h
(precise,)j(Rabin)c(pro)o(v)o(ed)h(that)g(this)h(probabilit)o(y)g(is)g(at)f
(least)h(1)10 b Ff(\000)h FD(2)p Fs(e)1307 2556 y Fe(\000)p
Fd(cn)1369 2544 y Fc(1)p Fb(=)p Fc(6)1416 2571 y FD(,)16 b(where)h
Fs(c)e FD(=)1646 2536 y Ff(p)p 1680 2536 45 2 v 1680 2571 a
FD(2)p Fs(\025)h FD(for)g Fs(\025)f(>)g FD(0)g(a)0 2646 y(constan)o(t.)951
2828 y FH(40)p eop
bop 73 195 a FH(Next,)16 b(consider)i(the)g(cost)f(of)h(\014nding)h(the)e
(decomp)q(ositions)j(induced)d(b)o(y)g(the)g(\000)1599 202
y Fw(i)1614 195 y FH(.)25 b(Rabin)18 b(sho)o(w)o(ed)0 267 y(that)23
b(if)g FB(n)f FH(and)h(the)f FB(x)433 274 y Fw(i)447 267 y
FH(,)i(normalized)f(to)g(in)o(tegers)f(with)i(resp)q(ect)e(to)g(2)p
FB(\016)r FH(,)i(are)e(within)i(\\appropriate)0 340 y(ranges,")18
b(then)e(hashing)j(can)e(b)q(e)g(used)g(to)g(\014nd)g(the)f(decomp)q
(ositions)j(in)f(exp)q(ected)e(time)g FB(O)q FH(\()p FB(n)p
FH(\).)24 b(Oth-)0 412 y(erwise,)16 b(sorting)h(is)g(needed)e(and)h(tak)o(es)
f FB(O)q FH(\()p FB(n)8 b FH(log)k FB(n)p FH(\))k(time.)k(Rabin)d(argued)g
(that,)e(in)i(practice,)e(hashing)0 484 y(is)i(almost)g(alw)o(a)o(ys)h
(applicable.)73 586 y(W)l(e)h(ha)o(v)o(e)g(previously)h(argued)g(that)g(the)f
(exp)q(ected)g(v)m(alue)h(of)g FB(N)5 b FH(\(\000)1359 593
y Fw(i)1373 586 y FH(\),)20 b(1)g Fx(\024)f FB(i)g Fx(\024)g
FH(4,)h(is)g FB(O)q FH(\()p FB(n)p FH(\),)g(and)0 658 y(hence)14
b(the)g(total)i(n)o(um)o(b)q(er)e(of)h(distance)h(computations)g(required)e
(is)i FB(O)q FH(\()p FB(n)p FH(\).)21 b(This)16 b(giv)o(es)f(us)g(the)g
(desired)0 731 y(running)j(time)e(of)g FB(O)q FH(\()p FB(n)p
FH(\))h(for)g(the)f(algorithm.)73 833 y(There)f(is)h(a)g(small)h(probabilit)o
(y)g(that)f(the)f(remaining)i FB(n)9 b Fx(\000)g FB(n)1206
815 y FI(2)p Fw(=)p FI(3)1277 833 y FH(p)q(oin)o(ts)16 b(not)g(in)g(the)f
(sample)h FB(S)1839 840 y FI(1)1874 833 y FH(will)0 905 y(cause)g(the)g
(algorithm)i(to)f(b)q(eha)o(v)o(e)e(ine\016cien)o(tly)l(.)21
b(In)16 b(the)g(w)o(orst)g(case,)g FB(S)1356 912 y FI(1)1392
905 y FH(will)i(con)o(tain)f(widely)g(spaced)0 977 y(p)q(oin)o(ts,)i
(resulting)g(in)f(a)g FB(\016)h FH(that)f(is)g(so)g(large)h(that)f(all)h
FB(n)12 b Fx(\000)g FB(n)1141 959 y FI(2)p Fw(=)p FI(3)1213
977 y FH(p)q(oin)o(ts)19 b(not)f(in)g FB(S)1537 984 y FI(1)1575
977 y FH(fall)h(in)o(to)f(the)f(same)0 1050 y(square)f(of)h(the)e(grid.)23
b(As)16 b(a)g(result,)g(the)g(partition)i(of)e FB(S)j FH(will)f(consist)g(of)
e(set)g FB(S)1478 1057 y FI(1)1514 1050 y FH(with)h FB(n)1654
1032 y FI(2)p Fw(=)p FI(3)1725 1050 y FH(p)q(oin)o(ts)g(and)0
1122 y(the)h(set)h FB(S)195 1129 y FI(2)233 1122 y FH(with)g(the)f(remaining)
i FB(n)13 b Fx(\000)f FB(n)784 1104 y FI(2)p Fw(=)p FI(3)858
1122 y FH(p)q(oin)o(ts.)29 b(Using)19 b(brute-force)g(distance)g(computation)
h(on)0 1194 y(the)c(set)g FB(S)190 1201 y FI(2)226 1194 y FH(will)i(require)e
FB(O)q FH(\()p FB(n)c Fx(\000)f FB(n)659 1176 y FI(2)p Fw(=)p
FI(3)714 1194 y FH(\))733 1176 y FI(2)769 1194 y FH(or)16 b
FB(O)q FH(\()p FB(n)914 1176 y FI(2)935 1194 y FH(\))g(time.)73
1296 y(The)h(Nearest)f(Neigh)o(b)q(ors)h(problem)g(has)g(illustrated)i(the)d
(p)q(o)o(w)o(er)h(of)f(random)h(sampling:)24 b(an)17 b(algo-)0
1369 y(rithm)g(w)o(as)g(found)g(that)g(almost)g(alw)o(a)o(ys)h(outp)q
(erforms)f(all)h(kno)o(wn)f(con)o(v)o(en)o(tional)g(algorithms)h(for)f(the)0
1441 y(problem.)k(The)14 b(next)f(problem)i(w)o(e)e(consider)i(|)e(in)o
(teractiv)o(ely)h(c)o(hec)o(king)f(the)h(correctness)f(of)i(an)o(y)e(pro-)0
1513 y(gram)k(that)g(purp)q(ortedly)h(solv)o(es)f(the)f(graph)i(isomorphism)g
(problem)f(|)g(pro)o(vides)g(another)g(example)0 1585 y(of)g(the)f(input)h
(randomization)h(tec)o(hnique.)0 1797 y Fu(2.6)70 b(In)n(teractiv)n(e)22
b(Probabilistic)i(Pro)r(ofs)0 1931 y FH(Tw)o(o)d(imp)q(ortan)o(t)h
(requiremen)o(ts)e(of)h(an)o(y)f(pro)q(of)i(system)e(|)h(a)g(collection)h(of)
f(axioms)g(and)h(inference)0 2004 y(rules)17 b(used)g(for)g(pro)o(ving)h
(statemen)o(ts)e(ab)q(out)j(some)d(domain)i(of)f(discourse)h(|)f(are)g
(completeness)f(and)0 2076 y(soundness.)22 b FF(Completeness)15
b FH(refers)f(to)g(the)g(abilit)o(y)i(to)e(pro)o(v)o(e)f(all)j(theorems)e
(\(i.e.,)f(all)j(true)e(statemen)o(ts\))0 2148 y(while)24 b
FF(soundness)f FH(requires)g(that)g(the)f(negation)i(of)f(a)g(theorem)g(is)g
(nev)o(er)e(a)i(theorem.)40 b(Th)o(us,)24 b(the)0 2220 y(abilit)o(y)15
b(to)g(generate)e(pro)q(ofs)i(and)g(to)f(v)o(erify)f(them)g(can)h(b)q(e)g
(seen)g(as)g(complemen)o(tary)f(tasks.)21 b(T)o(ypically)l(,)0
2293 y(v)o(eri\014cation)c(is)g(simpler.)73 2395 y(T)l(raditionall)q(y)l(,)i
FF(P)e FH(has)g(b)q(een)g(considered)g(the)g(class)g(of)h(problems)f(that)g
(can)g(b)q(e)g FF(solve)n(d)g FH(e\016cien)o(tly)l(,)0 2467
y(i.e.,)23 b(in)g(p)q(olynomial)i(time,)e(and)g FF(NP)g FH(has)g(b)q(een)f
(considered)h(the)f(class)i(of)e(problems)i(that)e(can)h(b)q(e)0
2539 y FF(veri\014e)n(d)16 b FH(e\016cien)o(tly)l(,)f(i.e.,)f(in)i
(nondeterministic)h(p)q(olynomial)h(time.)j(Recen)o(t)14 b(disco)o(v)o
(eries,)i(ho)o(w)o(ev)o(er,)e(of)0 2611 y(e\016cien)o(t)f(p)q(olynomial-ti)q
(me)j FF(r)n(andomize)n(d)d FH(algorithms)k(for)d(a)h(large)g(n)o(um)o(b)q
(er)f(of)g(problems)h(\(suc)o(h)f(as)h(the)0 2684 y(ones)20
b(discussed)h(in)g(this)f(surv)o(ey\))f(ha)o(v)o(e)g(led)h(to)h(a)f(new)g
(notion)h(of)f(e\016cien)o(t)f(computation,)i(viz.,)f(the)951
2828 y(41)p eop
bop 0 195 a FH(class)20 b FF(RP)e FH(of)i(problems)f(that)g(can)g(b)q(e)g
(solv)o(ed)h(in)f(randomized)g(p)q(olynomial)j(time.)29 b(Lik)o(ewise,)20
b(a)f(new)0 267 y(notion)c(of)g(e\016cien)o(t)e(v)o(eri\014cation)h(has)h
(emerged,)e(viz.,)h(the)f(class)i FF(IP)f FH(of)g(problems)h(that)f(can)g(b)q
(e)h(v)o(eri\014ed)0 340 y(through)h(the)f(use)g(of)h(an)f
FF(inter)n(active)j(pr)n(ob)n(abilistic)f(pr)n(o)n(of)d(system)t
FH(.)21 b(W)l(e)15 b(will)i(ha)o(v)o(e)d(more)h(to)h(sa)o(y)f(ab)q(out)0
412 y FF(RP)f FH(in)i(Section)f(4.)21 b(This)16 b(section)g(examines)f(the)f
(concept)h(of)g(in)o(teractiv)o(e)g(probabilistic)j(pro)q(of)d(system)0
484 y(and)i(its)g(applications.)73 586 y(In)g(an)h(in)o(teractiv)o(e)e
(probabilisti)q(c)k(pro)q(of)e(system)e(\(in)o(teractiv)o(e)h(pro)q(of)h
(system,)f(for)g(short\),)h(an)f(all-)0 658 y(p)q(o)o(w)o(erful)23
b FF(pr)n(over)f FH(tries)i(to)f(con)o(vince)f(a)i(sk)o(eptical)f
FF(veri\014er)g FH(that)h(it)f(has)h(a)f(solution)i(to)e(a)g(di\016cult)0
731 y(problem.)44 b(The)24 b(pro)o(v)o(er's)f(unlimited)i(computational)h(p)q
(o)o(w)o(er)e(allo)o(ws)h(it)g(to)f(solv)o(e)g(suc)o(h)f(problems)0
803 y(\\with)c(ease.")26 b(F)l(or)18 b(example,)f(a)h(pro)o(v)o(er)f(can)h(p)
q(oten)o(tially)h(\014nd)f(a)h(Hamiltonian)g(path)g(in)f(a)g(graph,)h(or)0
875 y(determine)d(if)g(t)o(w)o(o)g(graphs)i(are)e(isomorphic.)23
b(The)16 b(v)o(eri\014er,)f(on)i(the)f(other)g(hand,)h(is)g(required)f(to)g
(b)q(e)h(a)0 947 y(p)q(olynomial-ti)q(me)h(randomized)f(algorithm.)73
1050 y(The)23 b(pro)o(v)o(er)f(and)h(the)g(v)o(eri\014er)f(engage)h(in)h(a)f
(dialogue)i(in)f(whic)o(h)f(the)f(v)o(eri\014er)g(can)h(toss)h(coins)0
1122 y(and)16 b(ask)g(the)f(pro)o(v)o(er)g(to)g(solv)o(e)h(sp)q(eci\014c)g
(instances)g(of)g(the)f(problem)h(in)g(question.)22 b(The)15
b(pro)o(v)o(er)g(is)h(only)0 1194 y(exp)q(ected)c(to)h(pro)o(vide)f
(solutions)k(to)d(these)f(instances)i(and)f(nothing)h(else.)20
b(It)12 b(is)i(required)e(that)h(the)g(total)0 1266 y(length)18
b(of)f(the)g(messages)g(sen)o(t)g(bac)o(k)f(and)i(forth)f(b)q(et)o(w)o(een)f
(the)h(pro)o(v)o(er)f(and)h(the)g(v)o(eri\014er)f(b)q(e)h(b)q(ounded)0
1339 y(b)o(y)e(a)i(p)q(olynomial)h(in)f(the)e(length)i(of)f(the)f(input.)22
b(The)16 b(ob)s(jectiv)o(e)f(of)h(the)g(v)o(eri\014er)f(is)i(to)f(con)o
(vince)f(itself)0 1411 y(that)i(the)f(pro)o(v)o(er)f(do)q(es)i(in)g(fact)f
(ha)o(v)o(e)g(a)g(solution)j(to)d(the)g(problem.)73 1513 y(Indep)q(enden)o(t)
d(formalizations)j(of)e(in)o(teractiv)o(e)f(pro)q(of)i(systems)e(b)o(y)g
(Goldw)o(asser,)i(Micali)g(and)f(Rac)o(k-)0 1585 y(o\013)19
b([GMR89],)f(and)h(Babai)g(and)g(Moran)g([BM88)o(,)f(Bab85)q(],)f(whic)o(h)i
(ha)o(v)o(e)e(b)q(een)h(sho)o(wn)h(to)g(b)q(e)f(equiv)m(a-)0
1657 y(len)o(t)g([GS89)q(],)f(allo)o(w)j(a)e(p)q(olynomial-ti)q(me)i(v)o
(eri\014er)d(to)h(toss)h(coins)g(and)g(arbitrarily)h(in)o(teract)d(with)i
(the)0 1730 y(pro)o(v)o(er.)26 b(In)17 b([GMR89)q(],)g(the)h(outcomes)g(of)g
(the)g(coin)h(tosses)g(made)f(b)o(y)f(the)h(v)o(eri\014er)f(are)h(hidden)h
(from)0 1802 y(the)e(pro)o(v)o(er.)25 b(In)17 b([BM88)o(],)g(the)h(pro)q(of)g
(system)g(is)g(considered)g(as)g(a)g(game)g(pla)o(y)o(ed)f(b)q(et)o(w)o(een)g
(t)o(w)o(o)g(pla)o(y-)0 1874 y(ers)h(called)h(Arth)o(ur)e(and)i(Merlin.)27
b(Once)18 b(again,)i(Arth)o(ur)d(and)i(Merlin)g(\(the)e(v)o(eri\014er)h(and)g
(the)g(pro)o(v)o(er,)0 1946 y(resp)q(ectiv)o(ely\))j(can)g(toss)h(coins)g
(and)g(can)g(talk)f(bac)o(k)g(and)h(forth.)36 b(Ho)o(w)o(ev)o(er,)21
b(in)h(this)g(pro)q(of-system,)0 2019 y(unlik)o(e)c(that)h(in)f([GMR89)q(],)f
(all)j(coin)e(tosses)h(made)f(b)o(y)f(the)h(v)o(eri\014er)g(are)g(seen)f(b)o
(y)h(the)f(pro)o(v)o(er.)26 b(These)0 2091 y(formalizations)c(ha)o(v)o(e)c
(led)h(to)h(the)e(emergence)g(of)h(a)g(hierarc)o(h)o(y)g(of)g(probabilisti)q
(c)i(complexit)o(y)e(classes)0 2163 y(that)e(generalizes)g
FF(NP)f FH([BM88].)73 2265 y(One)i(can)g(also)i(view)f(an)f(in)o(teractiv)o
(e)g(pro)q(of)h(system)f(in)h(complexit)o(y)f(theoretic)g(terms)f(where)h
(the)0 2338 y(pro)o(v)o(er)g(tries)i(to)f(con)o(vince)g(a)g(probabilisti)q(c)
i(v)o(eri\014er)e(that)g(a)h(string)g FB(w)g FH(is)g(in)g(a)f(language)i
FB(L)p FH(.)30 b(Suc)o(h)19 b(a)0 2410 y(pro)q(of)h(system)f(yields)h
(probabilistic)i(pro)q(ofs)f(since)e(the)g(v)o(eri\014er)g(ma)o(y)f(accept)h
(or)g(reject)f FB(w)j FH(based)f(on)0 2482 y(o)o(v)o(erwhelming)c
(statistical)j(evidence)c(rather)h(than)h(on)f(certain)o(ties.)22
b(Recen)o(t)15 b(y)o(ears)h(ha)o(v)o(e)f(witnessed)i(a)0 2554
y(m)o(ultitude)h(of)f(suc)o(h)g(complexit)o(y)g(theoretic)g(results.)26
b(F)l(or)17 b(example,)g(Ben-Or)g(et)g(al.)g(in)h([BOGKW88])0
2626 y(prop)q(osed)k(a)f FF(multi-pr)n(over)h FH(in)o(teractiv)o(e)e(pro)q
(of)i(mo)q(del.)36 b(Using)22 b(this)f(mo)q(del,)i(Babai)e(et)g(al.)g
([BFL90])0 2699 y(pro)o(v)o(ed)f(that)h(the)f(class)i(of)f(languages)i(that)e
(has)g(a)g(t)o(w)o(o-pro)o(v)o(er)f(in)o(teractiv)o(e)g(pro)q(of)i(system)e
(is)h(non-)951 2828 y(42)p eop
bop 0 195 a FH(deterministic)22 b(exp)q(onen)o(tial)g(time.)36
b(In)21 b(his)h(pap)q(er)f(en)o(titled)h(\\)p FB(I)t(P)29 b
FH(=)22 b FB(P)7 b(S)s(AC)t(E)s FH(,")22 b(Shamir)f([Sha92b)q(])0
267 y(sho)o(w)o(ed)d(that)g(the)g(set)f(of)i(problems)f(for)g(whic)o(h)g(in)o
(teractiv)o(e)g(proto)q(cols)i(exist)e(is)g(precisely)g(the)g(set)g(of)0
340 y(problems)e(whic)o(h)g(are)g(solv)m(able)h(within)g(p)q(olynomial)i
(space)c(on)h(a)g(T)l(uring)h(mac)o(hine.)k(A)15 b(k)o(ey)g(result)h(for)0
412 y(pro)o(ving)j FB(I)t(P)j FH(=)17 b FB(P)7 b(S)s(P)g(AC)t(E)20
b FH(\(and)e(also,)h FB(M)5 b(I)t(P)24 b FH(=)16 b FB(N)5 b(E)s(X)t(P)25
b FH([BFL90]\))18 b(is)g(b)o(y)f(Lund)i(et)e(al.)h([LFKN90])0
484 y(who)24 b(presen)o(ted)f(a)h(new)g(algebraic)h(tec)o(hnique)e(for)h
(constructing)h(in)o(teractiv)o(e)e(pro)q(of)i(systems)e(and)0
556 y(pro)o(v)o(ed)12 b(that)h(ev)o(ery)f(language)j(in)e(the)g(p)q
(olynomial)i(time)e(hierarc)o(h)o(y)g(has)g(an)h(in)o(teractiv)o(e)e(pro)q
(of)i(system.)73 658 y(An)g(in)o(teractiv)o(e)f(pro)q(of)i(system)e(m)o(ust)g
(satisfy)i FF(pr)n(ob)n(abilistic)e FH(notions)j(of)e(soundness)h(and)f
(complete-)0 731 y(ness:)0 874 y FF(Completeness.)26 b FH(if)16
b FB(w)f Fx(2)f FB(L)i FH(then,)g(with)g(v)o(ery)f(high)i(probabilit)o(y)h
(the)e(in)o(teraction)g(b)q(et)o(w)o(een)f(the)h(pro)o(v)o(er)122
947 y(and)h(the)f(v)o(eri\014er)f(m)o(ust)h(result)h(in)g(the)f(v)o
(eri\014er)f(concluding)j(that)f FB(w)g FH(is)h(indeed)e(in)h
FB(L)p FH(;)0 1060 y FF(Soundness.)26 b FH(if)16 b FB(w)f Fx(62)f
FB(L)i FH(then,)f(with)i(v)o(ery)d(high)j(probabilit)o(y)l(,)g(at)f(the)g
(end)f(of)h(the)g(proto)q(col)h(the)f(v)o(eri\014er)122 1133
y(m)o(ust)g(conclude)g(that)h FB(w)g FH(is)g(not)g(in)g FB(L)p
FH(.)0 1276 y(The)i(pro)q(of)h(m)o(ust)f(b)q(e)g(sound)h(ev)o(en)e(if)i(the)e
(pro)o(v)o(er)h(acts)g(maliciously)i(and)f(delib)q(erately)g(tries)g(to)f(fo)
q(ol)0 1349 y(the)j(v)o(eri\014er.)37 b(Sev)o(eral)22 b(prop)q(erties)h(of)f
(in)o(teractiv)o(e)f(pro)q(of)i(systems)f(concerning)h(completeness)e(and)0
1421 y(soundness,)15 b(and)f(metho)q(ds)g(for)f(constructing)i(them)e(are)g
(in)o(v)o(estigated)i(in)f([F)o(GM)1524 1403 y FI(+)1552 1421
y FH(89)q(].)20 b(Clearly)l(,)14 b(ruling)0 1493 y(b)o(y)e(probabilisti)q(c)j
(evidence)e(means)g(relaxing)h(the)f(completeness)f(and)i(correctness)e
(criteria.)21 b(Ho)o(w)o(ev)o(er,)0 1565 y(it)c(do)q(es)g(lead)g(to)f(in)o
(teresting)h(applications)j(suc)o(h)c(as)h(program)g(testing)g([BR88,)e(BK89)
q(,)g(BLR90)q(].)73 1668 y(F)l(or)f(an)g(example)f(of)h(ho)o(w)f(of)h(an)g
(in)o(teractiv)o(e)f(pro)q(of)i(system)e(|)g(in)h(particular,)h(the)e(v)o
(eri\014er)g(comp)q(o-)0 1740 y(nen)o(t)j(of)g(the)g(pro)q(of)i(|)e(can)g(b)q
(e)h(used)f(to)h(test)f(the)g(correctness)g(of)g(a)h(program,)g(consider)g
(the)f(problem)0 1812 y(of)22 b FF(gr)n(aph)g(isomorphism)t
FH(.)37 b(The)22 b(reader)g(should)h(recall)g(that)f(the)g(exact)g(complexit)
o(y)f(of)i(graph)g(iso-)0 1884 y(morphism)17 b(is)h(not)f(kno)o(wn:)23
b(while,)17 b(to)g(date,)g(no)g(p)q(olynomial-ti)q(me)i(algorithm)f(for)f
(this)h(problem)f(has)0 1956 y(b)q(een)22 b(disco)o(v)o(ered,)g(a)g(pro)q(of)
i(that)e(it)g(is)h(NP-complete)f(has)g(b)q(een)g(equally)h(elusiv)o(e.)38
b(The)22 b(follo)o(wing)0 2029 y(e\016cien)o(t)13 b(pro)q(cedure)h(for)g(c)o
(hec)o(king)g(the)f(v)m(alidit)o(y)j(of)e(a)h(graph)g(isomorphism)h(program)e
(is)h(due)f(to)h(Blum,)0 2101 y(Ragha)o(v)m(an,)i(and)g(Kannan)g([BR88,)f
(BK89].)21 b(It)16 b(is)h(based)g(on)g(an)f(in)o(teractiv)o(e)g(pro)q(of)i
(system)e(for)g(graph)0 2173 y(non-isomorphism)j(b)o(y)d(Goldreic)o(h,)g
(Micali)i(and)f(Wigderson)h([GMW91].)73 2275 y(Giv)o(en)23
b(a)g(program)h FG(P)e FH(that)h(purp)q(ortedly)h(solv)o(es)f(the)f(graph)i
(isomorphism)h(problem)e(and)g(t)o(w)o(o)0 2348 y(graphs)f
FG(G)f FH(and)g FG(H)p FH(,)f(the)h(v)o(eri\014er)f(wishes)i(to)f(determine)g
(whether)f FG(P)h FH(in)o(v)o(ok)o(ed)f(on)h FG(G)g FH(and)g
FG(H)g FH(\(denoted)0 2420 y FG(P\(G,H\))p FH(\))d(giv)o(es)j(the)f(correct)g
(result.)35 b(The)20 b(v)o(eri\014er)g FF(GI-V)l(erify)t FH(,)h(whose)h
(pseudo)q(co)q(de)f(is)g(no)o(w)g(giv)o(en,)0 2492 y(op)q(erates)c(in)g(a)g
(randomized)f(and)h(in)o(teractiv)o(e)f(manner.)0 2661 y Fy(GI-V)m(erify)27
b Fp(f)p Fo(\(*)c(Inputs:)47 b(a)24 b(program)f(P)h(and)f(graphs)g(G)h(and)f
(H)h(*\))951 2828 y FH(43)p eop
bop 143 213 a Fo(IF)23 b(P\(G,H\))g(=)h(true)f(THEN)p Fp(f)285
298 y Fo(attempt)g(to)h(establish)e(the)i(isomorphism)285 382
y(IF)g(successful)e(THEN)i(RETURN)f("P)g(is)h(correct")285
467 y(ELSE)g(RETURN)f("P)g(is)h(buggy")p Fp(g)143 552 y Fo(ELSE)p
Fp(f)285 636 y Fo(REPEAT)f Fn(k)i Fo(times)p Fp(f)428 721 y
Fo(toss)e(a)h(fair)f(coin)428 806 y(IF)h(coin)f(=)h(head)f(THEN)p
Fp(f)571 890 y Fo(generate)f(a)i(random)f(permutation)g(G)1311
874 y Ft(0)1346 890 y Fo(of)h(G)571 975 y(IF)f(P\(G,)h(G)786
959 y Ft(0)797 975 y Fo(\))g(=)g(false)f(THEN)g(RETURN)g("P)h(is)f(buggy")p
Fp(g)428 1060 y Fo(ELSE)p Fp(f)571 1144 y Fo(generate)f(a)i(random)f
(permutation)g(H)1311 1128 y Ft(0)1346 1144 y Fo(of)h(H)571
1229 y(IF)f(P\(G,)h(H)786 1213 y Ft(0)797 1229 y Fo(\))g(=)g(true)f(THEN)g
(RETURN)g("P)h(is)f(buggy")p Fp(g)285 1314 y(g)h Fo(\(*)g(end)f(REPEAT)g(*\))
285 1398 y(RETURN)g("P)h(is)g(correct")p Fp(g)143 1483 y(g)73
1724 y FF(GI-V)l(erify)e FH(starts)h(b)o(y)f(in)o(v)o(oking)h
FG(P\(G,H\))p FH(.)d(If)h FG(P)h FH(pronounces)h FG(G)f FH(and)h
FG(H)e FH(to)i(b)q(e)f(isomorphic)i(\(i.e.,)0 1796 y FG(P\(G,H\))f(=)j(true)p
FH(\),)15 b(the)i(v)o(eri\014er's)f(task)h(is)h(simple.)24
b(It)17 b(attempts)g(to)g(determine)f(the)h(corresp)q(ondence)0
1868 y(b)q(et)o(w)o(een)j(the)g(v)o(ertices)f(of)i FG(G)f FH(and)h
FG(H)f FH(\(ho)o(w)h(this)g(is)h(done)e(will)j(b)q(e)d(describ)q(ed)h
(shortly\),)h(and)f(returns)0 1941 y FG(correct)e FH(or)j FG(buggy)e
FH(accordingly)l(.)40 b(If,)22 b(on)h(the)e(other)h(hand,)i
FG(P)d FH(pronounces)i FG(G)e FH(and)i FG(H)e FH(to)h(b)q(e)g(non-)0
2013 y(isomorphic)d(\(i.e.,)c FG(P\(G,H\))24 b(=)h(false)p
FH(\),)15 b FG(V)h FH(will)j(put)e FG(P)g FH(through)h(a)f(series)g(of)h
(tests.)23 b(Should)18 b FG(P)f FH(fail)h(an)o(y)0 2085 y(one)g(of)g(these)f
(tests,)h FG(V)f FH(can)h(conclude)g(that)g FG(P)f FH(is)h
FG(buggy)p FH(.)24 b(Otherwise,)18 b FG(V)f FH(can)h(conclude,)f(with)i(a)f
(high)0 2157 y(degree)e(of)g(con\014dence,)g(that)g FG(P)g
FH(is)h FG(correct)p FH(.)73 2260 y(Consider)d(the)e(case)g
FG(P\(G,H\))23 b(=)i(true)11 b FH(\014rst.)20 b(The)13 b(v)o(eri\014er)e(can)
h(establish)i(a)f(1-to-1)h(corresp)q(ondence)0 2332 y(b)q(et)o(w)o(een)19
b(the)g(v)o(ertices)f(of)i FG(G)f FH(and)h FG(H)p FH(,)f(assuming)i(that)f
FG(P)f FH(is)h(correct)f(in)h(pronouncing)i FG(G)d FH(and)h
FG(H)f FH(to)h(b)q(e)0 2404 y(isomorphic,)k(as)f(follo)o(ws.)39
b(Starting)23 b(with)g FG(G)p FH(,)e(arbitrarily)j(n)o(um)o(b)q(er)d(the)g(v)
o(ertices)g(of)h FG(G)f FH(and)i FG(H)e FH(from)0 2476 y(1)g(to)f
FB(n)p FH(.)34 b(A)o(ttac)o(h)19 b(a)i(clique)f(of)h FB(n)14
b FH(+)g(1)21 b(v)o(ertices)e(to)i(no)q(de)g(n)o(um)o(b)q(er)e(1)i(of)f
FG(G)g FH(to)h(obtain)h(the)e(graph)h FG(G1)p FH(.)0 2549 y(Successiv)o(ely)l
(,)15 b(attac)o(h)h(a)g(similar)i(clique)e(to)g(eac)o(h)f(no)q(de)i
FB(i)e FH(in)i FG(H)e FH(to)h(obtain)i FG(H)p FB(i)p FH(,)c(and)j(test)e(if)i
FG(P\(G1,H)p FB(i)p FG(\))22 b(=)0 2621 y(true)p FH(.)h(Clearly)l(,)18
b(if)g FG(G)e FH(and)i FG(H)f FH(are)h(isomorphic,)g(and)g(if)g(no)q(de)g(1)f
(in)h FG(G)f FH(can)g(b)q(e)h(mapp)q(ed)g(to)f(no)q(de)h FB(i)f
FH(in)h FG(H)p FH(,)0 2693 y(then)e FG(P\(G1,H)p FB(i)p FG(\))d
FH(will)18 b(return)d FG(true)p FH(.)20 b(Th)o(us,)c(if)g FG(P)g
FH(returns)g FG(false)e FH(for)i(all)i FB(i)p FH(,)d FG(P)h
FH(is)g(buggy)l(.)22 b(On)16 b(the)g(other)951 2828 y(44)p
eop
bop 0 195 a FH(hand,)15 b(if)h FG(P\(G1,H)p FB(i)p FG(\))23
b(=)i(true)13 b FH(for)i(some)g FB(i)p FH(,)g(map)g(no)q(de)g(1)h(of)f
FG(G)f FH(to)i(no)q(de)f FB(i)g FH(of)g FG(H)p FH(.)f(Rep)q(eat)h(this)h(pro)
q(cedure)0 267 y(for)g(eac)o(h)f(no)q(de)i FB(j)f Fx(2)e FH([1)8
b(.)g(.)g(.)g FB(n)p FH(])16 b(of)g FG(G)p FH(.)e(A)o(t)h(an)o(y)h(p)q(oin)o
(t,)g(the)g(inabilit)o(y)i(to)e(\014nd)g(a)g(corresp)q(onding)i(no)q(de)e(in)
g FG(H)0 340 y FH(re\015ects)g(an)h(error)f(in)i(program)f
FG(P)p FH(.)f(On)g(the)h(other)f(hand,)h(if)g(all)h(the)e(v)o(ertices)g(in)h
FG(G)f FH(can)h(b)q(e)g(mapp)q(ed)g(to)0 412 y(those)g(in)h
FG(H)e FH(then)h(the)g(v)o(eri\014er)f(can)h(easily)h(test)e(if)i(the)e
(mapping)j(is)e(an)h(isomorphism)g(and)g(determine)0 484 y(if)f(the)f
(original)j(answ)o(er)d FG(P\(G,)25 b(H\))f(=)i(true)14 b FH(w)o(as)j
(correct.)73 586 y(Consider)f(the)e(case)g FG(P\(G,H\))23 b(=)j(false)12
b FH(next,)i(i.e.,)f FG(P)h FH(declares)h(that)f FG(G)g FH(and)h
FG(H)f FH(are)g(not)h(isomorphic.)0 658 y(In)h(this)h(case,)e(the)h(v)o
(eri\014er)g(relies)g(on)h(simple)g(random)f(c)o(hoice)g(and)h(input)g
(randomization)h(as)f(follo)o(ws.)0 731 y(It)h(puts)h FG(P)f
FH(through)h(a)g(series)f(of)h(tests)g(or)f FF(r)n(ounds)t
FH(.)27 b(In)18 b(eac)o(h)g(round,)h FG(V)f FH(tosses)h(a)g(fair)g(t)o(w)o
(o-sided)g(coin)0 803 y(to)g(randomly)g(c)o(ho)q(ose)g(b)q(et)o(w)o(een)f
FG(G)g FH(and)h FG(H)p FH(;)f(randomly)h(p)q(erm)o(utes)f(the)g(names)h(of)f
(the)h(v)o(ertices)e(in)i(the)0 875 y(selected)13 b(graph)i(to)f(obtain)h(a)f
(graph)h FG(K)e FH(that)h(is)h(isomorphic)g(to)f(the)g(selected)f(graph;)i
(and)f(then)g(in)o(v)o(ok)o(es)0 947 y FG(P\(G,K\))p FH(.)g(W)l(e)i(will)i
(refer)e(to)g FG(K)g FH(as)h FG(G)660 929 y Ft(0)672 947 y
FH(,)e(if)i(the)f(selected)g(graph)i(is)f FG(G)p FH(,)e(and)i(as)g
FG(H)1436 929 y Ft(0)1464 947 y FH(is)g(the)f(selected)g(graph)h(is)0
1020 y FG(H)p FH(.)73 1122 y(There)h(are)g(t)o(w)o(o)g(cases)g(dep)q(ending)h
(on)f(whether)g(or)g(not)h FG(P)e FH(is)i(correct.)25 b(If)18
b(it)g(is,)h(i.e.,)e FG(G)h FH(and)g FG(H)g FH(are)0 1194 y(actually)23
b(non-isomorphic,)h(then)e(in)g(eac)o(h)e(round)j(w)o(e)d(should)j(ha)o(v)o
(e)e FG(P\(G,)j(G)1500 1176 y Ft(0)1511 1194 y FG(\))i(=)f(true)20
b FH(when)h FG(G)g FH(is)0 1266 y(selected,)e(and)g FG(P\(G,)25
b(H)451 1248 y Ft(0)462 1266 y FG(\))g(=)g(false)18 b FH(when)h
FG(H)f FH(is)i(selected.)29 b(Th)o(us,)20 b(in)g(just)f(a)g(v)o(ery)f(small)i
(n)o(um)o(b)q(er)f(of)0 1339 y(rounds,)j(the)e(v)o(eri\014er)g(can)g(gain)i
(a)f(high)g(degree)f(of)h(con\014dence)f(in)h(the)f(correctness)g(of)h
FG(P)f FH(should)h(it)0 1411 y(resp)q(ond)c(correctly)f(in)h(eac)o(h)f
(round.)73 1513 y(On)j(the)g(other)g(hand,)g(if)h FG(P)e FH(is)i(buggy)l(,)g
(i.e.,)e FG(G)h FH(and)g FG(H)g FH(are)f(isomorphic,)j(it)f(has)f(no)h(w)o(a)
o(y)e(of)h(distin-)0 1585 y(guishing)j(b)q(et)o(w)o(een)c FG(G)413
1567 y Ft(0)444 1585 y FH(and)h FG(H)567 1567 y Ft(0)579 1585
y FH(.)30 b(This)20 b(is)h(b)q(ecause)e FG(G)999 1567 y Ft(0)1030
1585 y FH(and)g FG(H)1153 1567 y Ft(0)1184 1585 y FH(are)g(isomorphic)i(and)f
(are)f(b)q(oth)i(dra)o(wn)0 1657 y(from)d(the)g(same)h(distribution)i
(\(essen)o(tially)f(they)d(are)i(random)g(p)q(erm)o(utations)g(of)g(the)f
(same)h(graph\).)0 1730 y(Since)14 b FG(P)g FH(do)q(es)h(not)f(kno)o(w)g
(whether)g FG(G)693 1712 y Ft(0)718 1730 y FH(or)h FG(H)802
1712 y Ft(0)827 1730 y FH(is)g(b)q(eing)g(passed)g(as)g(the)f(second)g
(argumen)o(t,)g(the)g(only)g(w)o(a)o(y)0 1802 y(it)21 b(can)f(distinguish)j
(them)d(is)h(b)o(y)f(c)o(hance.)32 b(The)21 b(probabilit)o(y)h(therefore)e
(of)g FG(P)g FH(resp)q(onding)i(correctly)0 1874 y(\(i.e.,)17
b(\\y)o(es")g(to)h FG(P\(G,)25 b(G)460 1856 y Ft(0)471 1874
y FG(\))17 b FH(and)h(\\no")h(to)f FG(P\(G,)24 b(H)943 1856
y Ft(0)955 1874 y FG(\))p FH(\))17 b FB(k)i FH(straigh)o(t)g(times)f(is)g
(only)h(2)1558 1856 y Ft(\000)p Fw(k)1607 1874 y FH(.)25 b(Therefore,)17
b(the)0 1946 y(v)o(eri\014er)f(should)h(only)g(need)f(a)h(few)f(rounds)h(to)g
(determine)e(that)i FG(P)f FH(is)h(buggy)l(.)73 2049 y(The)f(v)o(eri\014er)g
(mak)o(es)g(use)g(of)h(randomization)h(to)f(its)g(adv)m(an)o(tage)g(at)g(t)o
(w)o(o)f(crucial)h(junctures)f(in)h(the)0 2121 y(ab)q(o)o(v)o(e)12
b(algorithm.)21 b(First,)13 b(it)f(generates)g(random)g(p)q(erm)o(utations)h
FG(G)1250 2103 y Ft(0)1273 2121 y FH(and)f FG(H)1389 2103 y
Ft(0)1400 2121 y FH(.)20 b(If)11 b FG(G)g FH(and)h FG(H)g FH(are)f
(isomorphic)0 2193 y(there)19 b(is)i(no)g(w)o(a)o(y)e(of)h(telling)i
FG(G)593 2175 y Ft(0)624 2193 y FH(and)f FG(H)749 2175 y Ft(0)780
2193 y FH(apart.)33 b(In)20 b(addition,)j(it)d(randomly)h(passes)g
FG(G)1667 2175 y Ft(0)1698 2193 y FH(or)f FG(H)1787 2175 y
Ft(0)1819 2193 y FH(as)g(the)0 2265 y(second)g(argumen)o(t)f(in)h(eac)o(h)f
(iteration)i(thereb)o(y)e(taxing)h(the)g(claimed)g(abilit)o(y)h(of)e
FG(P)h FH(that)f(it)h(can)g(test)0 2338 y(for)d(graph)h(isomorphism.)25
b(The)17 b(tric)o(k)g(is)h(so)f(e\013ectiv)o(e)f(that)i(it)f(will)i(catc)o(h)
d FG(P)h FH(ev)o(en)f(if)h(it)h(is)g(maliciously)0 2410 y(co)q(ded)f(and)f
(is)h(designed)h(sp)q(eci\014cally)f(to)g(fo)q(ol)h(the)e(v)o(eri\014er.)73
2512 y(The)g(ab)q(o)o(v)o(e)g(example)g(illustrates)i(the)e(p)q(o)o(w)o(er)g
(of)g(input)h(randomization)h(in)f(program)g(testing)f(and)0
2584 y(in)o(teractiv)o(e)21 b(pro)q(of)h(systems.)37 b(The)21
b(reader)g(is)h(referred)f(to)g([BR88,)g(BK89])g(for)h(more)f(probabilistic)0
2656 y(c)o(hec)o(k)o(ers)15 b(for)j(problems)g(suc)o(h)g(as)g(matrix)g(m)o
(ultiplication,)i(sorting)f(and)f(sev)o(eral)g(problems)g(in)g(group)951
2828 y(45)p eop
bop 0 195 a FH(theory)l(.)73 297 y(It)21 b(is)g(in)o(teresting)h(to)f(note)g
(that)g(in)g(the)g(ab)q(o)o(v)o(e)g(example,)g FF(GI-V)l(erify)k
FH(w)o(as)c(able)h(to)f(do)g(its)h(task)0 370 y(without)f(ha)o(ving)f(to)f
(solv)o(e)h(the)f(graph)h(isomorphism)h(problem)f(in)g(an)o(y)f(sense.)30
b(Also,)20 b(if)g(the)f(graphs)0 442 y(are)e(isomorphic,)h(then)f(the)f(v)o
(eri\014er)g(can)h(construct)g(the)g(1-1)h(map)f(b)q(et)o(w)o(een)f(the)g(v)o
(ertices)g(of)i(the)e(t)o(w)o(o)0 514 y(graphs)i(\(i.e.,)d(it)i(gains)h(more)
f(information)h(than)f(a)g(simple)h(y)o(es/no)e(answ)o(er)h(ab)q(out)h(the)e
(isomorphism)0 586 y(question\).)25 b(Ho)o(w)o(ev)o(er,)15
b(if)j(they)f(are)g(non-isomorphic,)j(the)d(v)o(eri\014er)g(gains)i(no)f
(additional)i(kno)o(wledge,)0 658 y(other)f(than)h(the)e(fact)h(that)h(they)e
(are)h(non-isomorphic,)j(ab)q(out)e(ho)o(w)f(this)h(conclusion)h(w)o(as)e
(reac)o(hed.)0 731 y(This)e(latter)g(prop)q(ert)o(y)f(is)h(crucial)h(to)e
(the)g(notion)i(of)e FF(zer)n(o-know)r(le)n(dge)k(pr)n(o)n(ofs)f
FH(describ)q(ed)e(next.)0 903 y FC(Zero-Kno)n(wledge)i(Pro)r(ofs)0
1037 y FH(Sometimes,)k(an)g(additional)j(requiremen)o(t)21
b(is)j(imp)q(osed)f(on)g(the)f(pro)o(v)o(er,)h(viz.,)g(that)g(it)g
(completely)0 1109 y(hide)d(the)f(details)h(of)g(its)g(solution)h(from)e(the)
g(v)o(eri\014er.)30 b(In)18 b(this)i(case,)g(the)f(pro)q(of)h(is)g(referred)e
(to)i(as)g(a)0 1182 y FF(zer)n(o-know)r(le)n(dge)g(pr)n(o)n(of)26
b FH([GMR89,)16 b(BM88,)g(Bab85)q(,)g(KMO89,)h(GMW91])g(b)q(ecause,)f(ev)o
(en)g(though)h(the)0 1254 y(v)o(eri\014er)i(has)h(an)f(e\016cien)o(t)g(means)
g(of)h(v)o(erifying)f(resp)q(onses)h(pro)o(vided)g(b)o(y)f(the)g(pro)o(v)o
(er,)g(at)g(the)g(end)g(it)0 1326 y(has)e(learned)g(nothing)h(except)d(that)h
(the)g(pro)o(v)o(er)g(is)h(righ)o(t)g(or)f(wrong.)73 1428 y(The)e(concept)g
(of)g(zero-kno)o(wledge)h(pro)q(of)g(has)g(turned)e(out)i(to)f(b)q(e)h(esp)q
(ecially)g(useful)g(in)f(complexit)o(y)0 1500 y(theory)24 b([F)l(or87,)f
(BHZ87])g(and)h(cryptograph)o(y)g([GMW87)q(,)f(CCD88)q(,)g(BOGW88)q(,)g(BC86)
q(].)43 b(V)l(arious)0 1573 y(notion)17 b(of)g(zero-kno)o(wledge,)f(a)g
(classi\014cation)j(of)d(these)f(notions,)j(and)e(sev)o(eral)g(related)g
(topics)h(app)q(ear)0 1645 y(in)h([Ore87,)f(FLS90)q(,)g(KMO89].)24
b(Some)17 b(complexit)o(y)g(theoretic)h(implications)i(of)d(systems)h(that)f
(admit)0 1717 y(zero-kno)o(wledge)g(pro)q(ofs)g(are)g(discussed)g(in)g([AH91)
o(,)f(F)l(or87)q(,)g(GMW91].)0 1889 y FC(T)-5 b(ruly)19 b(Zero-Kno)n(wledge)g
(and)g(Multi-Pro)n(v)n(er)h(In)n(teractiv)n(e)e(Pro)r(ofs)0
2023 y FH(Zero-kno)o(wledge)e(pro)q(ofs,)h(in)f(the)g(traditional)i(sense,)e
(rev)o(eal)f(one)h(bit)g(of)g(information)i(to)e(the)f(v)o(eri\014er,)0
2096 y(viz.)23 b FB(w)16 b Fx(2)f FB(L)i FH(or)g FB(w)g Fx(62)e
FB(L)p FH(.)23 b(In)16 b([FFS87)q(],)g(a)h(notion)h(of)f FF(truly)h(zer)n
(o-know)r(le)n(dge)j(pr)n(o)n(of)26 b FH(is)17 b(prop)q(osed)h(where)0
2168 y(the)d(pro)o(v)o(er)f(con)o(vinces)g(the)h(v)o(eri\014er)f(that)h(it)g
(kno)o(ws)h(whether)e FB(w)i FH(is)g(or)f(is)h(not)f(in)g FB(L)p
FH(,)g(without)h(rev)o(ealing)0 2240 y(an)o(y)k(other)h(information.)35
b(Th)o(us,)21 b(at)f(the)g(end)h(of)f(in)o(teraction,)i(the)e(v)o(eri\014er)g
(only)h(gains)h(kno)o(wledge)0 2312 y(ab)q(out)g(the)e(state)g(of)h(pro)o(v)o
(er's)e(kno)o(wledge)i(and)g(no)f(information)j(ab)q(out)e(the)f(original)j
(mem)o(b)q(ership)0 2385 y(problem.)73 2487 y(Ben-Or)h(et)g(al.)h([BOGKW88])e
(prop)q(ose)j(a)f(m)o(ulti-pro)o(v)o(er)f(in)o(teractiv)o(e-pro)q(of)h(mo)q
(del.)46 b(In)24 b(their)0 2559 y(mo)q(del,)e(t)o(w)o(o)e(pro)o(v)o(ers)g
(join)o(tly)h(agree)f(on)h(a)g(strategy)f(and)h(then)g(try)f(to)g(con)o
(vince)g(the)g(v)o(eri\014er,)h(in)g(a)0 2631 y(p)q(olynomially)g(b)q(ounded)
d(n)o(um)o(b)q(er)f(of)h(in)o(teractions,)h(that)f(a)g(certain)g(statemen)o
(t)f(is)h(true.)25 b(Comm)o(uni-)0 2704 y(cation)19 b(b)q(et)o(w)o(een)e(the)
h(pro)o(v)o(ers)f(is)i(disallo)o(w)o(ed)h(while)f(they)e(in)o(teract)h(with)h
(the)e(v)o(eri\014er.)26 b(The)18 b(authors)951 2828 y(46)p
eop
bop 0 195 a FH(are)16 b(able)h(to)g(pro)o(v)o(e)e(sev)o(eral)h(in)o
(teresting)i(results)f(without)g(making)g(an)o(y)f(in)o(tractabilit)o(y)i
(assumptions.)0 367 y FC(Nonin)n(teractiv)n(e)h(Zero-Kno)n(wledge)g(Pro)r
(ofs)0 501 y FH(A)13 b(zero-kno)o(wledge)g(in)o(teractiv)o(e)g(pro)q(of)h
(system)f(t)o(ypically)h(has)g(three)e(k)o(ey)g(features)h(that)h
(distinguish)h(it)0 574 y(from)e(a)h(traditional)j(pro)q(of.)k(The)14
b(\014rst)f(is)i(the)e(abilit)o(y)i(of)f(the)f(pro)o(v)o(er)g(and)h(the)f(v)o
(eri\014er)g(to)h(in)o(teract)f(with)0 646 y(eac)o(h)f(other.)19
b(Secondly)l(,)13 b(the)f(v)o(eri\014er)f(can)h(toss)h(coins)g(that)g(are)f
(hidden)g(from)g(the)g(pro)o(v)o(er,)g(whic)o(h)g(means)0 718
y(there)17 b(is)i(an)f(elemen)o(t)f(of)i(\\hidden)g(randomization".)28
b(Finally)l(,)20 b(the)e(pro)o(v)o(er)f(has)h(the)g(abilit)o(y)h(to)g(solv)o
(e)0 790 y(a)e(hard)g(problem)f(that)h(the)f(v)o(eri\014er)g(cannot)h(solv)o
(e)f(directly)l(.)22 b(Th)o(us,)16 b(the)g(pro)o(v)o(er)f(em)o(b)q(eds)h(in)h
(its)g(pro)q(of)0 863 y(the)e(computational)j(di\016cult)o(y)e(of)g(some)g
(other)g(problem.)21 b(As)16 b(noted)f(b)o(y)h(Blum)f(et)h(al.)22
b(in)16 b([BDMP91],)0 935 y(this)g(requires)e(a)h(rather)g(ric)o(h)g(set)f
(of)h(conditions)i(to)e(b)q(e)g(presen)o(t)f(b)q(efore)h(a)g(zero-kno)o
(wledge)g(in)o(teractiv)o(e)0 1007 y(pro)q(of)i(can)g(b)q(e)f(devised)h(for)f
(a)h(problem.)73 1109 y(Another)e(notion)h(that)f(is)h(gaining)h(p)q
(opularit)o(y)g(is)f(that)f(of)g FF(noninter)n(active)j(zer)n(o-know)r(le)n
(dge)h(pr)n(o)n(ofs)0 1182 y FH(\014rst)h(prop)q(osed)i(b)o(y)d(Blum,)h(F)l
(eldman,)h(and)g(Micali)g([BFM88)o(].)32 b(A)20 b(notion)h(of)g(non-in)o
(teractiv)o(e)f(zero-)0 1254 y(kno)o(wledge)f(pro)q(ofs)h(based)g(on)f(a)g(w)
o(eak)o(er)f(complexit)o(y)g(assumption)j(than)e(that)g(used)g(in)h([BFM88)o
(])e(is)0 1326 y(presen)o(ted)d(in)i([DSMP87)q(].)k(Most)16
b(of)h(the)f(w)o(ork)g(to)h(date)f(is)h(summarized)f(in)h([BDMP91].)73
1428 y(In)23 b(in)o(teractiv)o(e)f(zero-kno)o(wledge)i(pro)q(of-systems,)h
(the)e(pro)o(v)o(er)f FB(P)31 b FH(in)o(teractiv)o(ely)22 b(pro)o(v)o(es)h
(to)g(the)0 1500 y(v)o(eri\014er)13 b FB(V)24 b FH(that)14
b(a)g(certain)f(theorem)g(is)h(true)f(without)i(giving)g(a)o(w)o(a)o(y)e(the)
g(details)i(of)f(the)f(pro)q(of.)21 b(In)13 b(non-)0 1573 y(in)o(teractiv)o
(e)k(zero-kno)o(wledge)g(systems,)g(as)g(the)g(name)g(implies,)h(in)o
(teraction)g(is)g(forbidden:)24 b FB(P)g FH(writes)0 1645 y(do)o(wn)d(the)f
(pro)q(ofs)i(and)f(mails)h(it)f(to)g FB(V)32 b FH(for)21 b(v)o(eri\014cation)
g(under)g(the)f(assertion)i(of)f(zero-kno)o(wledge.)0 1717
y(Instead)d(of)h(in)o(teraction,)g FB(P)26 b FH(and)19 b FB(V)30
b FH(are)18 b(allo)o(w)o(ed)h(to)g(share)g(a)g(short)g(random)f(string.)29
b(While)20 b(suc)o(h)e(a)0 1789 y(concept)e(of)g(\\shared)h(randomness")h
(has)f(b)q(een)f(used)g(b)o(y)g(others)g(\(see,)g(for)g(example,)g([GS89]\),)
g(shared)0 1862 y(random)22 b(strings)h(represen)o(t)e(a)h(m)o(uc)o(h)e(w)o
(eak)o(er)h(requiremen)o(t)f(than)i(most)g(others)g(\(e.g.,)g(public)g(coin)0
1934 y(tosses\))15 b(used)f(in)h(the)f(literature.)21 b(As)14
b(observ)o(ed)g(in)h([BDMP91],)f(pro)q(ofs)h(using)h(shared)e(randomness)i
(do)0 2006 y(not)i(rely)f(on)g(foiling)j(the)d(adv)o(ersary)g(b)o(y)g(the)g
(unpredictabilit)o(y)h(of)g(the)f(coin)h(tosses,)f(as)h(has)g(b)q(een)f(the)0
2078 y(case)f(so)h(far,)f(but)h(rather)f(on)h(the)f(\\w)o(ell)h(mixedness")g
(of)f(the)g(bits)h(of)g(the)f(shared)h(random)f(string.)73
2180 y(This)21 b(concludes)g(our)g(surv)o(ey)e(of)h(sequen)o(tial)h
(randomized)g(algorithms.)35 b(The)20 b(next)f(section)i(will)0
2253 y(consider)c(distributed)h(randomized)e(algorithms.)951
2828 y(47)p eop
bop 0 203 a FK(3)83 b(Distributed)28 b(Randomized)f(Algorithms)0
355 y FH(In)20 b(the)g(second)h(half)g(of)g(our)g(surv)o(ey)f(w)o(e)g(lo)q
(ok)h(at)g(sev)o(eral)g(randomized)g(algorithms)h(for)f FF(distribute)n(d)0
427 y(c)n(omputing)t FH(,)j(viz.,)d(the)h(Dining)h(Philosophers')h(problem)e
(\()p FF(DinPhil)5 b FH(\),)23 b(the)e(Comm)o(unication)i(Guard)0
499 y(Sc)o(heduling)d(Problem)g(of)f(CSP)h(\()p FF(CommGuar)n(d)5
b FH(\),)18 b(the)h(Leader)g(Election)i(problem)e(\()p FF(L)n(e)n(adEle)n(ct)
5 b FH(\),)19 b(the)0 572 y(P)o(erm)o(utation)g(Message)g(Routing)h(problem)f
(\()p FF(MsgR)n(oute)t FH(\),)f(and)h(the)g(Byzan)o(tine)f(Generals')h
(problem)0 644 y(\()p FF(ByzA)n(gr)n(e)n(e)t FH(\).)34 b(W)l(e)20
b(sa)o(w)h(in)g(the)g(sequen)o(tial)g(case)g(that)g(randomization)i(w)o(as)e
(used)g(to)g(obtain)h(faster)0 716 y(algorithms)17 b(\(sometimes)e(at)g(the)f
(exp)q(ense)h(of)g(absolute)h(accuracy\),)e(or)h(to)h(guaran)o(tee)f(that)g
(the)f(w)o(orst-)0 788 y(case)19 b(p)q(erformance)h(of)g(an)f(algorithm)j(is)
e(no)g(w)o(orse)g(than)g(the)f(algorithm's)i(exp)q(ected)e(p)q(erformance.)0
861 y(Similar)e(motiv)m(ations)g(are)e(also)h(presen)o(t)f(in)g(the)g
(distributed)h(case,)f(as)g(demonstrated)g(in)h(this)g(section.)0
933 y(Ho)o(w)o(ev)o(er)9 b(an)j(imp)q(ortan)o(t)g(additional)i(concern)d(is)h
(presen)o(t:)18 b(there)11 b(are)g(certain)g(problems)h(in)g(distributed)0
1005 y(computing)18 b(that)f(ha)o(v)o(e)f(no)h(deterministic)g(algorithm|w)o
(e)h(ha)o(v)o(e)e(no)h(c)o(hoice)f(but)h(to)g(toss)h(coins.)23
b(The)0 1077 y(probabilistic)c(algorithm)g(for)d(the)g(Dining)i(Philosophers)
h(problem)e(t)o(ypi\014es)f(this)h(situation.)73 1179 y(T)l(o)22
b(obtain)g(a)g(notation)h(for)e(distributed)h(algorithms,)i(w)o(e)d(augmen)o
(t)g(the)g(imp)q(erativ)o(e)g(language)0 1252 y(used)e(in)g(Section)g(2)g
(with)g(constructs)g(for)g(shared)g(memory)e(access)i(and)g(message)g
(passing.)30 b(F)l(or)18 b(the)0 1324 y(former)e(w)o(e)g(in)o(tro)q(duce)g
(the)g(instruction)i FG(TEST&UPDATE)o FH(,)13 b(whic)o(h)k(is)g(used)f(as)h
(follo)o(ws:)73 1426 y FG(result)24 b(:=)g(TEST&UPDATE)o(\(fl)o(ag,)e(true)p
898 1426 16 2 v 17 w(value,)h(false)p 1224 1426 V 17 w(value\))73
1528 y FH(The)11 b(e\013ect)f(of)i(this)g(command)e(is,)j(in)e(one)g
(instruction)i(cycle,)e(to)g(assign)i(to)e(the)g(v)m(ariable)i
FG(result)8 b FH(the)0 1601 y(old)18 b(v)m(alue)g(of)g(the)f(shared)h(b)q(o)q
(olean)h(v)m(ariable)g FG(flag)p FH(,)d(and)i(to)f(assign)i(to)f
FG(flag)e FH(the)h(v)m(alue)h FG(true)p 1808 1601 V 17 w(value)0
1673 y FH(if)j(its)h(old)g(v)m(alue)f(w)o(as)h(true)e(and)i
FG(false)p 777 1673 V 17 w(value)d FH(otherwise.)35 b(F)l(or)21
b(example,)h(b)q(esides)g(returning)f(the)0 1745 y(old)h(v)m(alue)g(of)g(v)m
(ariable)h FG(flag)p FH(,)d(the)h(statemen)o(t)g FG(result)i(:=)i(TEST&UPDAT)
o(E\(f)o(lag)o(,)d(FALSE,)i(TRUE\))0 1817 y FH(in)o(v)o(erts)16
b(the)g(v)m(alue)h(of)f FG(flag)p FH(.)73 1920 y(Because)e(ev)o(erything)h
(happ)q(ens)h(in)g(one)f(instruction)i(cycle,)d(the)h FG(TEST&UPDA)o(TE)c
FH(op)q(eration)17 b(cannot)0 1992 y(b)q(e)23 b(in)o(terrupted,)h(and)g
(access)f(to)g(shared)h(v)m(ariables)h(is)f(therefore)e(atomic.)43
b FG(TEST&UPDA)o(TE)20 b FH(is)j(also)0 2064 y(assumed)17 b(to)g(b)q(eha)o(v)
o(e)f(fairly)i(in)f(the)g(sense)g(that)g(no)g(pro)q(cess)g(is)h(ev)o(er)d
(inde\014nitely)j(denied)f(access)g(to)g(a)0 2136 y(shared)d(v)m(ariable)i
(in)e(fa)o(v)o(or)f(of)h(other)g(pro)q(cesses.)21 b(As)14 b(suc)o(h,)f(the)h
(phenomenon)g(of)g(\\pro)q(cess)h(starv)m(ation")0 2208 y(is)i(a)o(v)o
(oided.)73 2311 y(Unconditional)k(up)q(dates)f(to)e(shared)h(v)m(ariables)i
(will)f(b)q(e)f(expressed)f(using)i(the)e(standard)i(assign-)0
2383 y(men)o(t)15 b(op)q(erator.)23 b(Suc)o(h)16 b(assignmen)o(t)h(is)g(also)
h(assumed)e(to)h(b)q(e)f(atomic)h(and)g(fair.)73 2485 y(F)l(or)g(message)f
(passing,)i(w)o(e)e(in)o(tro)q(duce)g(constructs)h(of)g(the)f(form)73
2587 y FG(SEND)p FH(\()p FG(expr)300 2594 y Fh(1)319 2587 y
FB(;)8 b FH(.)g(.)g(.)f FB(;)h FG(expr)532 2594 y Fh(k)552
2587 y FH(\))14 b FG(TO)f(P)73 2690 y(RECEIVE)p FH(\()p FG(x)300
2697 y Fh(1)319 2690 y FB(;)8 b FH(.)g(.)g(.)f FB(;)h FG(x)454
2697 y Fh(l)475 2690 y FH(\))14 b FG(FROM)f(P)951 2828 y FH(48)p
eop
bop 73 195 a FH(The)14 b(send)f(command)h(executes)e(async)o(hronously)j(and)
f(results)g(in)g(the)f(transmission)j(of)e(the)f(v)m(alues)0
267 y(of)20 b(the)f(expressions)i FG(expr)508 274 y Fh(1)528
267 y FB(;)8 b FH(.)g(.)g(.)g FB(;)g FG(expr)742 274 y Fh(k)781
267 y FH(to)20 b(the)g(named)f(pro)q(cess)i FG(P)p FH(.)d(The)i(receiv)o(e)e
(command)i(inputs)0 340 y(v)m(alues)c(for)f(the)f(v)m(ariables)j
FG(x)526 347 y Fh(1)547 340 y FB(;)8 b FH(.)g(.)g(.)g FB(;)g
FG(x)683 347 y Fh(l)719 340 y FH(whic)o(h)15 b(ha)o(v)o(e)f(previously)h(b)q
(een)g(transmitted)g(b)o(y)g(pro)q(cess)g FG(P)p FH(.)f(The)0
412 y(underlying)j(comm)o(unication)h(medium)d(is)i(assumed)g(to)g(b)q(e)f
(faultless)i(in)f(that)f(messages)h(are)f(receiv)o(ed)0 484
y(in)o(tact)h(and)f(in)h(the)f(order)h(of)f(transmission.)0
696 y Fu(3.1)70 b(The)22 b(Dining)i(Philosophers)g(Problem)0
830 y FH(W)l(e)c(describ)q(e)g(the)g(randomized)g(algorithm)i(of)f(Lehmann)f
(and)h(Rabin)g([LR81])f(for)g(the)g(w)o(ell-kno)o(wn)0 902
y(Dining)e(Philosophers)h(problem.)k(The)16 b(problem,)g(p)q(osed)i
(originally)h(in)f([Dij71)q(],)d(is)i(an)g(an)o(throp)q(omor-)0
975 y(phized)f(resource)g(allo)q(catio)q(n)j(problem,)d(and)h(is)g(describ)q
(ed)g(in)g([Hoa85])f(essen)o(tially)i(as)f(follo)o(ws:)122
1118 y(There)h(once)h(w)o(ere)f FB(n)h FH(philosophers)i FB(P)855
1125 y FI(0)875 1118 y FH(,)e FB(P)939 1125 y FI(1)959 1118
y FH(,)g(.)8 b(.)g(.)o(,)19 b FB(P)1113 1125 y Fw(n)p Ft(\000)p
FI(1)1201 1118 y FH(seated)f(around)i(a)f(circular)h(table)f(in)h(a)122
1191 y(clo)q(c)o(kwise)d(fashion.)22 b(T)l(o)17 b(the)e(left)h(of)g(eac)o(h)g
(philosopher)i(laid)f(a)f(golden)h(fork,)f(and)g(in)h(the)e(cen)o(ter)122
1263 y(sto)q(o)q(d)j(a)f(large)g(b)q(o)o(wl)g(of)g(spaghetti,)g(whic)o(h)g(w)
o(as)f(constan)o(tly)h(replenished.)122 1377 y(A)23 b(philosopher)i(w)o(as)e
(exp)q(ected)f(to)i(sp)q(end)f(most)g(of)h(his)g(time)e(thinking;)28
b(but)23 b(when)g(he)g(felt)122 1449 y(h)o(ungry)l(,)17 b(he)h(pic)o(k)o(ed)e
(up)i(his)h(o)o(wn)f(fork)f(on)h(his)h(left,)e(and)i(plunged)f(it)g(in)o(to)g
(the)g(spaghetti.)26 b(But)122 1521 y(suc)o(h)15 b(is)h(the)f(tangled)i
(nature)e(of)h(spaghetti)h(that)e(a)h(second)f(fork)h(is)g(required)f(to)h
(carry)f(it)h(to)f(the)122 1593 y(mouth.)23 b(The)16 b(philosopher)j
(therefore)d(had)h(also)i(to)e(pic)o(k)f(up)h(the)f(fork)h(on)g(his)h(righ)o
(t.)23 b(When)16 b(he)122 1666 y(w)o(as)k(\014nished)f(he)g(w)o(ould)h(put)g
(do)o(wn)f(b)q(oth)h(his)g(forks,)g(and)f(con)o(tin)o(ue)g(thinking.)31
b(Of)19 b(course,)h(a)122 1738 y(fork)c(can)h(b)q(e)f(used)h(b)o(y)e(only)i
(one)g(philosopher)h(at)f(a)g(time.)k(If)16 b(the)g(other)g(philosopher)i(w)o
(an)o(ts)f(it,)122 1810 y(he)f(just)g(has)h(to)g(w)o(ait)g(un)o(til)g(the)f
(fork)g(is)i(a)o(v)m(ailable)g(again.)73 1954 y(Additionally)l(,)27
b(an)o(y)c(algorithm)i(that)f(co)q(ordinates)h(the)e(philosophers)j(in)d(the)
g(ab)q(o)o(v)o(e-describ)q(ed)0 2026 y(manner)15 b(m)o(ust)f(b)q(e)h
FF(de)n(ad)r(lo)n(ck)i(fr)n(e)n(e)p FH(|if)d(at)h(an)o(y)g(time)f(there)g(is)
i(a)f(h)o(ungry)g(philosopher,)i(then)d(ev)o(en)o(tually)0
2098 y FF(some)g FH(philosopher)i(will)f(eat;)f(and)g FF(lo)n(ckout)i(fr)n(e)
n(e)p FH(|ev)o(ery)c(h)o(ungry)h(philosopher)j(ev)o(en)o(tually)d(gets)h(to)g
(eat.)73 2200 y(Man)o(y)f(deterministic)g(solutions)j(based)d(b)q(oth)h(on)f
(shared)h(memory)e([Hoa74])h(and)g(message-passing)0 2273 y(comm)o(unication)
g([Hoa85])f(ha)o(v)o(e)e(b)q(een)i(prop)q(osed.)21 b(Ho)o(w)o(ev)o(er,)11
b(none)h(of)g(these)f(algorithms)j(are)e(b)q(oth:)20 b(\(1\))0
2345 y FF(ful)r(ly)f(distribute)n(d)5 b FH(,)17 b(i.e.,)f(dev)o(oid)i(of)f
(cen)o(tral)g(memory)f(or)h(a)h(cen)o(tral)f(pro)q(cess)g(with)h(whic)o(h)f
(ev)o(ery)f(other)0 2417 y(pro)q(cess)i(can)f(comm)o(unicate;)g(and)g(\(2\))h
FF(symmetric)s FH(,)e(i.e.,)g(all)j(pro)q(cesses)f(execute)d(the)i(same)g(co)
q(de)g(and)0 2489 y(all)e(v)m(ariables,)h(lo)q(cal)g(and)e(shared,)h(are)f
(initialized)i(iden)o(tically)l(.)22 b(Moreo)o(v)o(er,)13 b(pro)q(cesses)h
(in)h(a)f(symmetric)0 2562 y(algorithm)i(are)d(una)o(w)o(are)h(of)g(their)g
(iden)o(tities,)g(and)g(therefore)f(cannot)h(compare)g(their)g(pro)q(cess)g
(id)g(with)0 2634 y(the)i(id)h(of)f(another)h(pro)q(cess.)951
2828 y(49)p eop
bop 589 891 181 2 v 589 1009 2 119 v 654 963 a FB(P)685 970
y FI(1)p 768 1009 V 589 1011 181 2 v 412 419 V 412 537 2 119
v 476 491 a FB(P)507 498 y FI(2)p 591 537 V 412 539 181 2 v
884 182 V 884 300 2 119 v 949 255 a FB(P)980 262 y FI(3)p 1063
300 V 884 302 181 2 v 1357 419 V 1357 537 2 119 v 1421 491
a FB(P)1452 498 y FI(4)p 1535 537 V 1357 539 181 2 v 1179 891
V 1179 1009 2 119 v 1244 963 a FB(P)1275 970 y FI(5)p 1358
1009 V 1179 1011 181 2 v 636 892 a Fg(B)622 850 y(B)608 809
y(B)594 767 y(B)580 726 y(B)567 684 y(B)553 643 y(B)539 601
y(B)531 579 y(B)620 727 y FH(fork[1])531 419 y Fg(\010)573
399 y(\010)615 378 y(\010)656 357 y(\010)698 336 y(\010)739
316 y(\010)781 295 y(\010)822 274 y(\010)844 263 y(\010)709
373 y FH(fork[2])1376 419 y Fg(H)1334 399 y(H)1293 378 y(H)1251
357 y(H)1210 336 y(H)1168 316 y(H)1127 295 y(H)1085 274 y(H)1063
263 y(H)1105 373 y FH(fork[3])1299 892 y Fg(\002)1313 850 y(\002)1327
809 y(\002)1341 767 y(\002)1355 726 y(\002)1368 684 y(\002)1382
643 y(\002)1396 601 y(\002)1403 579 y(\002)1193 727 y FH(fork[4])p
768 952 414 2 v 907 904 a(fork[5])56 1094 y(Figure)17 b(5:)22
b(Arrangemen)o(t)15 b(of)i(philosophers)h(and)f(forks)g(in)g(the)f(Dining)i
(Philosophers)h(Problem.)73 1228 y(In)24 b(fact,)h(it)g(is)f(sho)o(wn)h(in)g
([LR81])f(that)g(no)h(fully)f(distributed)i(and)e(symmetric)f(deterministic)0
1301 y(algorithm)h(for)e(Dining)h(Philosophers)i(is)d(p)q(ossible.)40
b(In)o(tuitiv)o(ely)l(,)22 b(this)h(is)f(due)g(to)g(the)g(existence)f(of)0
1373 y(an)h(adv)o(ersary)f(sc)o(heduler)f(that)i(can)f(con)o(tin)o(ually)i
(th)o(w)o(art)e(the)g(philosophers)i(in)f(their)g(attempts)f(to)0
1445 y(reac)o(h)f(agreemen)o(t)f(on)i(who)f(is)h(to)g(eat)f(next,)g(thereb)o
(y)f(leading)j(to)f(deadlo)q(c)o(k.)33 b(F)l(or)21 b(example,)f(under)0
1517 y(the)d(in\015uence)h(of)g(an)g(adv)o(ersary)g(sc)o(heduler,)f(the)g
(philosophers)j(could)f(b)q(eha)o(v)o(e)e(as)h(follo)o(ws:)26
b(\(1\))18 b(all)h FB(n)0 1589 y FH(philosophers)k(b)q(ecome)d(h)o(ungry)g
(sim)o(ultaneously;)k(\(2\))c(they)g(eac)o(h)g(pic)o(k)g(up)h(their)f(righ)o
(t)h(fork,)g(again)0 1662 y(in)g(sync)o(hron)o(y;)g(\(3\))g(b)q(ecause)g(of)f
(the)h(symmetry)e(and)i(the)f(fact)g(that)h(eac)o(h)f(philosopher's)i(b)q
(eha)o(vior)0 1734 y(is)h(strictly)f(deterministic,)i(they)e(ha)o(v)o(e)f(no)
h(c)o(hoice)g(but)g(to)g(put)h(do)o(wn)f(their)g(forks)g(and)h(try)f(again.)0
1806 y(F)l(urthermore,)15 b(the)g(clev)o(er)g(adv)o(ersary)g(sc)o(heduler)g
(can)h(cause)g(this)h(scenario)f(to)g(reo)q(ccur)g(without)h(end,)0
1878 y(resulting)c(in)g(a)f(deadlo)q(c)o(k.)21 b(The)12 b(problem)g(then)g
(is)g(one)h(of)f(\\breaking)h(symmetry")e(and)h(this)h(is)g(precisely)0
1951 y(the)j(reason)h(for)g(in)o(tro)q(ducing)h(randomness)f(in)o(to)g(the)f
(b)q(eha)o(vior)h(of)f(the)g(philosophers.)73 2053 y(In)j(Lehmann)h(and)g
(Rabin's)g(algorithm,)i(presen)o(ted)c(b)q(elo)o(w)j(as)f(algorithm)h
FF(DinPhil)5 b FH(,)20 b(the)f(simple)0 2125 y(y)o(et)e(k)o(ey)g(use)i(of)f
(randomization)j(is)e(in)g(whether)f(a)h(philosopher)h(w)o(aits)f(to)g
(\014rst)g(obtain)h(the)e(left)g(fork)0 2197 y(or)23 b(the)g(righ)o(t)g
(fork.)41 b(Comm)o(unication)24 b(among)g(philosophers)h(is)e(done)h
(strictly)f(in)g(a)h(ring)f(fashion)0 2270 y(and)e(uses)f(one)g(shared)g(v)m
(ariable,)i FG(fork-availa)o(ble)o([i])o FH(,)c(for)i(eac)o(h)f
FB(P)1351 2277 y Fw(i)1386 2270 y FH({)h FB(P)1461 2277 y Fw(i)p
FI(+1)1541 2270 y FH(pair.)33 b(All)21 b(additions)0 2342 y(and)g
(subtractions)h(are)e(to)h(b)q(e)f(in)o(terpreted)g(mo)q(dulo)i
FB(n)p FH(,)f(where)f FB(n)g FH(is)h(the)f(n)o(um)o(b)q(er)f(of)i
(philosophers.)0 2414 y(Moreo)o(v)o(er,)15 b FG(fork-avail)o(abl)o(e[i)o(])f
FH(is)j(accessed)g(only)g(via)g(the)g FG(TEST&UPDAT)o(E)d FH(instruction)k
(or)f(via)g(the)0 2486 y(unconditional)j(assignmen)o(t)e(op)q(eration)h(for)f
(shared)f(v)m(ariables.)26 b(The)17 b(con\014guration)i(of)f(philosophers)0
2558 y(and)f(forks)f(for)h(the)f(case)g FB(n)e FH(=)g(5)i(is)i(illustrated)g
(in)f(Figure)f(5.)951 2828 y(50)p eop
bop 73 195 a FH(The)19 b(algorithm)i(can)f(b)q(e)f(sho)o(wn)h(to)g(b)q(e)f
(deadlo)q(c)o(k-free)g(in)h(the)f(follo)o(wing)j(sense:)27
b(if)20 b(at)f(an)o(y)g(time)0 267 y(there)j(is)i(a)g(h)o(ungry)f
(philosopher,)j(then,)e FF(with)g(pr)n(ob)n(ability)f(1)p FH(,)h(some)f
(philosopher)i(will)g(ev)o(en)o(tually)0 340 y(eat.)35 b(The)20
b(pro)q(of)i(of)f(this)h(result)f(rests)g(on)g(the)g(fact)f(that)h(the)g
(coin)g(tosses)h(made)e(b)o(y)h(philosophers)0 412 y(are)h(indep)q(enden)o(t)
g(random)h(ev)o(en)o(ts.)37 b(Th)o(us,)24 b(ev)o(en)c(if)j(the)f(adv)o
(ersary)g(sc)o(heduler)f(tries)i(to)f(bring)i(on)0 484 y(deadlo)q(c)o(k,)15
b(with)h(probabilit)o(y)i(1,)d(a)g(com)o(bination)i(of)e(tosses)h(will)h(ev)o
(en)o(tually)e(arise)h(that)f(enables)h(some)0 556 y(philosopher)k(to)d
(obtain)i(t)o(w)o(o)e(forks.)25 b(Note)17 b(that)h(the)f(algorithm)i(is)g
(indeed)e(symmetric)g(as)h(the)f(index)0 628 y(attac)o(hed)d(to)g(a)g
(philosopher)i(is)f(for)f(external)g(naming)h(only;)g(philosophers)i
(themselv)o(es)c(are)h(not)g(a)o(w)o(are)0 701 y(of)j(their)f(o)o(wn)h
(names.)0 869 y Fy(DinPhil)28 b Fp(f)c Fo(\(*)f(algorithm)g(for)g
Fn(P)663 876 y Fw(i)701 869 y Fo(*\))136 954 y(WHILE)h(TRUE)f(DO)p
Fp(f)273 1039 y Fo(\(*)g(thinking)g(section)g(*\))273 1123
y(trying)g(:=)g(true)273 1208 y(WHILE)g(trying)g(DO)p Fp(f)409
1293 y Fo(choose)g Fn(s)h Fo(randomly)f(and)h(uniformly)e(from)h
Fp(f)p Fo(0,1)p Fp(g)409 1377 y Fo(wait)g(until)h(TEST&UPDATE\(fork-availa)o
(ble[)p Fn(i)7 b Fp(\000)j Fn(s)p Fo(],)24 b(FALSE,)f(FALSE\))409
1462 y(IF)h(TEST&UPDATE\(fork-availab)o(le[)p Fn(i)7 b Fp(\000)p
1196 1438 22 2 v 10 w Fn(s)q Fo(],)23 b(FALSE,)g(FALSE\))g(THEN)545
1547 y(trying)g(:=)h(FALSE)f(\(*)p 999 1522 V 24 w Fn(s)h Fo(=)g(complement)e
(of)i(s)15 b Fz(*\))409 1631 y Fo(ELSE)23 b(fork-available[)p
Fn(i)8 b Fp(\000)j Fn(s)p Fo(])24 b(:=)f(TRUE)273 1716 y Fp(g)273
1801 y Fo(\(*)g(eating)g(section)g(*\))273 1886 y(fork-available[)p
Fn(i)7 b Fp(\000)k Fz(1)p Fo(],)23 b(fork-available[i])f(:=)h(TRUE)136
1970 y Fp(g)0 2055 y(g)73 2296 y FH(Algorithm)e FF(DinPhil)f
FH(is)g(not)g(lo)q(c)o(k)o(out-free;)h(in)o(tuitiv)o(ely)l(,)g(a)f(greedy)f
(philosopher)j FB(P)1665 2303 y Fw(i)1699 2296 y FH(can)d(prev)o(en)o(t)0
2368 y(neigh)o(b)q(or)j FB(P)236 2375 y Fw(i)p FI(+1)317 2368
y FH(from)e(ev)o(er)g(eating)i(b)o(y)e(con)o(tin)o(ually)i(b)q(eating)h
FB(P)1233 2375 y Fw(i)p FI(+1)1313 2368 y FH(in)e(their)g(race)g(to)g(pic)o
(k)g(up)g(their)0 2440 y(shared)e(fork.)30 b(The)19 b(algorithm)h(can)g(b)q
(e)f(made)f(lo)q(c)o(k)o(out-free)h(b)o(y)g(adding,)h(for)g(eac)o(h)e(pair)i
(of)f(adjacen)o(t)0 2512 y(philosophers)g FB(P)311 2519 y Fw(i)326
2512 y FH(,)d FB(P)387 2519 y Fw(i)p FI(+1)447 2512 y FH(,)g(t)o(w)o(o)g
(pairs)i(of)f(v)m(ariables.)25 b(One)16 b(pair)i(allo)o(ws)h
FB(P)1349 2519 y Fw(i)1380 2512 y FH(to)e(inform)g FB(P)1627
2519 y Fw(i)p FI(+1)1703 2512 y FH(of)g(its)h(desire)0 2585
y(to)f(eat)f(\(and)g(vice)g(v)o(ersa\),)g(and)g(the)g(other)h(pair)g(is)g
(used)f(to)h(indicate)g(whic)o(h)f(of)h FB(P)1547 2592 y Fw(i)1578
2585 y FH(and)f FB(P)1703 2592 y Fw(i)p FI(+1)1779 2585 y FH(ate)g(last.)0
2657 y(Details)i(can)e(b)q(e)h(found)g(in)f([LR81)q(].)951
2828 y(51)p eop
bop 73 195 a FH(Lehmann)15 b(and)h(Rabin's)f(randomized)h(algorithm)g(w)o(as)
f(one)g(of)g(the)g(\014rst)g(for)g(distributed)h(comput-)0
267 y(ing,)21 b(and)e(clearly)h(illustrated)h(the)e(imp)q(ortance)h(of)g
(tossing)h(coins)f(in)g(a)g(new)f(setting|without)i(this)0
340 y(capabilit)o(y)l(,)e(fully)f(distributed)g(and)g(symmetric)e(algorithms)
k(ma)o(y)c(not)i(ev)o(en)e(exist)h(for)h(certain)f(prob-)0
412 y(lems.)k(The)15 b(next)g(algorithm)i(w)o(e)e(consider,)h
FF(CommGuar)n(d)5 b FH(,)13 b(also)k(illustrates)h(the)d(p)q(o)o(w)o(er)g(of)
g(symmetry)0 484 y(breaking)i(through)g(randomization.)0 696
y Fu(3.2)70 b(Comm)n(unication)24 b(Guard)g(Sc)n(heduling)0
830 y FH(In)11 b(this)h(section)g(w)o(e)f(presen)o(t)f(the)h(randomized)h
(algorithm)i(of)d(F)l(rancez)g(and)g(Ro)q(deh)h([FR80])f(for)h(sc)o(hedul-)0
902 y(ing)k(comm)o(unication)g(guards)h(in)e(a)h(CSP-lik)o(e)g(language.)23
b(In)15 b(CSP)h([Hoa78],)f(pro)q(cesses)h(execute)d(asyn-)0
975 y(c)o(hronously)19 b(and)f(exc)o(hange)g(data)h(b)o(y)e(a)h
(\\handshaking")j(st)o(yle)d(of)g(comm)o(unication.)28 b(There)17
b(are)h(t)o(w)o(o)0 1047 y(t)o(yp)q(es)c(of)g(comm)o(unication)h(statemen)o
(ts)f(or)g(commands)g(\(to)h(use)f(CSP)h(terminology\))g(in)g(the)e
(language:)0 1119 y FF(input)k FH(statemen)o(ts)f(of)g(the)g(form)g
FB(P)g FH(?)8 b FB(x)16 b FH(and)h FF(output)g FH(statemen)o(ts)e(of)i(the)f
(form)g FB(Q)8 b FH(!)g FB(e)p FH(.)21 b(An)15 b(input)j(state-)0
1191 y(men)o(t)f(inputs)h(a)g(v)m(alue)g(from)g(the)f(named)g(pro)q(cess)h
(\()p FB(P)7 b FH(\))18 b(in)o(to)g(a)g(lo)q(cal)i(v)m(ariable)f(\()p
FB(x)p FH(\),)e(while)h(an)g(output)0 1264 y(statemen)o(t)g(outputs)h(the)g
(v)m(alue)g(of)g(an)g(expression)h(\()p FB(e)p FH(\))e(to)h(the)f(named)h
(pro)q(cess)g(\()p FB(Q)p FH(\).)28 b(Th)o(us,)19 b(for)g(ex-)0
1336 y(ample,)e(the)f(sim)o(ultaneous)i(execution)e(of)h(the)f(statemen)o(t)g
FB(P)1150 1343 y FI(2)1179 1336 y FH(?)8 b FB(x)16 b FH(b)o(y)g(pro)q(cess)i
FB(P)1524 1343 y FI(1)1560 1336 y FH(and)f(the)g(statemen)o(t)0
1408 y FB(P)31 1415 y FI(1)59 1408 y FH(!)8 b FB(e)20 b FH(b)o(y)g(pro)q
(cess)i FB(P)402 1415 y FI(2)442 1408 y FH(results)f(in)h(the)e(v)m(alue)h
(of)g(expression)g FB(e)f FH(b)q(eing)i(assigned)g(to)f(v)m(ariable)h
FB(x)e FH(\(i.e.,)0 1480 y FB(x)k FH(:=)g FB(e)p FH(\).)40
b(The)23 b(phenomenon)g(is)g(sometimes)g(referred)e(to)i(as)g(\\distributed)i
(assignmen)o(t.")41 b(Input)0 1552 y(and)19 b(output)f(statemen)o(ts,)g(suc)o
(h)f(as)i(those)f(in)h(the)f(example,)f(that)i(name)f(eac)o(h)f(other)h(are)g
(said)i(to)e(b)q(e)0 1625 y FF(c)n(omplementary)t FH(.)73 1727
y(Statemen)o(ts)23 b(within)i(a)f(pro)q(cess,)h(e.g.,)f(assignmen)o(t,)i
(iteration,)g(and)e(comm)o(unication,)h(can)f(b)q(e)0 1799
y(executed)16 b(nondeterministically)k(through)f(the)e(use)h(of)g(a)g
(construct)g(called)g(the)g FF(guar)n(de)n(d)g(c)n(ommand)5
b FH(,)0 1871 y(ha)o(ving)17 b(the)f(follo)o(wing)j(syn)o(tax:)73
1974 y([)p FB(G)125 1981 y FI(1)159 1974 y FH(=)-8 b Fx(\))13
b FB(S)282 1981 y FI(1)302 1974 y Fi(2)8 b Fx(\001)g(\001)g(\001)h
Fi(2)p FB(G)489 1981 y Fw(n)527 1974 y FH(=)-8 b Fx(\))13 b
FB(S)650 1981 y Fw(n)673 1974 y FH(])73 2076 y(Eac)o(h)h(statemen)o(t)f
FB(S)446 2083 y Fw(i)473 2076 y FH(has)i(an)f(asso)q(ciated)h(comm)o
(unication)g(statemen)o(t)e FB(G)1452 2083 y Fw(i)1466 2076
y FH(,)h(called)g(its)h FF(c)n(ommunic)n(a-)0 2148 y(tion)f(guar)n(d)p
FH(,)d(suc)o(h)h(that)g FB(S)476 2155 y Fw(i)502 2148 y FH(is)g(eligible)i
(for)e(selection)g(only)h(if)f(the)f(pro)q(cess)i(named)e(in)i(its)f(comm)o
(unication)0 2220 y(guard)17 b(is)g(lik)o(ewise)g(willing)j(to)c(comm)o
(unicate.)73 2323 y(The)i(problem)g(of)g FF(c)n(ommunic)n(ation)h(guar)n(d)f
(sche)n(duling)h FH(can)e(no)o(w)h(b)q(e)g(stated)g(as)g(follo)o(ws:)26
b(Giv)o(en)18 b(a)0 2395 y(set)i FB(T)26 b FH(of)20 b(pro)q(cesses)h(eac)o(h)
e(curren)o(tly)h(w)o(aiting)i(to)e(execute)e(a)j(guarded)f(command,)h
(construct)f(a)g(set)0 2467 y(of)h(one)f(or)h(more)f(pairs)i(of)e(pro)q
(cesses)h(\()p FB(P)q(;)8 b(Q)p FH(\))21 b(from)f FB(T)27 b
FH(suc)o(h)20 b(that)h FB(P)27 b FH(and)21 b FB(Q)f FH(ha)o(v)o(e)g
(complemen)o(tary)0 2539 y(comm)o(unication)d(guards,)g(and)g(no)g(pro)q
(cess)g(app)q(ears)g(in)g(more)f(than)h(one)f(pair.)1503 2521
y FI(7)p 0 2583 780 2 v 56 2614 a FE(7)75 2629 y FD(A)k(more)h(general)h
(statemen)o(t)f(of)f(the)h(problem)g(w)o(ould)g(allo)o(w)g(pro)q(cesses)i(in)
e Fs(T)27 b FD(to)20 b(b)q(e)h(w)o(aiting)g(to)g(execute)h(an)0
2703 y(unguarded)17 b(comm)o(unication)h(statemen)o(t,)g(but)f(suc)o(h)g(a)g
(statemen)o(t)g(can)g(alw)o(a)o(ys)g(b)q(e)h(placed)g(in)f(a)g(guarded)g
(command)951 2828 y FH(52)p eop
bop 73 195 a FH(F)l(or)17 b(example,)e(consider)i(the)f(system)g(of)g(pro)q
(cesses)73 297 y FB(P)104 304 y FI(1)138 297 y FH(=)e([)p FB(P)235
304 y FI(2)255 297 y FH(?)p FB(x)f FH(=)-8 b Fx(\))14 b FB(sk)r(ip)d
Fi(2)g FB(P)594 304 y FI(3)614 297 y FH(!)p FB(v)k FH(=)-8
b Fx(\))13 b FB(sk)r(ip)p FH(])73 370 y FB(P)104 377 y FI(2)138
370 y FH(=)h([)p FB(P)235 377 y FI(3)255 370 y FH(?)p FB(x)f
FH(=)-8 b Fx(\))14 b FB(sk)r(ip)d Fi(2)g FB(P)594 377 y FI(1)614
370 y FH(!)p FB(v)k FH(=)-8 b Fx(\))13 b FB(sk)r(ip)p FH(])73
442 y FB(P)104 449 y FI(3)138 442 y FH(=)h([)p FB(P)235 449
y FI(1)255 442 y FH(?)p FB(x)f FH(=)-8 b Fx(\))14 b FB(sk)r(ip)d
Fi(2)g FB(P)594 449 y FI(2)614 442 y FH(!)p FB(v)k FH(=)-8
b Fx(\))13 b FB(sk)r(ip)p FH(])0 544 y(where)23 b FF(skip)i
FH(is)f(the)g(CSP)g(notation)i(for)e(the)f(no-op)i(statemen)o(t.)44
b(Eac)o(h)23 b(pro)q(cess)i FB(P)1647 551 y Fw(i)1685 544 y
FH(is)g(willing)i(to)0 616 y(receiv)o(e)15 b(a)i(message)g(from)g(pro)q(cess)
g FB(P)706 623 y Fw(i)p FI(+1)766 616 y FH(,)f(or)h(send)g(a)g(message)g(to)g
(pro)q(cess)g FB(P)1458 623 y Fw(i)p Ft(\000)p FI(1)1518 616
y FH(,)f(where)g(the)h(addition)0 688 y(and)j(subtraction)h(are)f(p)q
(erformed)f(mo)q(dulo)i(3.)31 b(There)20 b(are)f(three)g(p)q(ossible)j
(solutions)g(to)e(the)f(guard)0 761 y(sc)o(heduling)d(problem)g(in)g(this)g
(case:)k(the)15 b(single)i(pair)f(of)f(pro)q(cesses)h(\()p
FB(P)1327 768 y Fw(i)1342 761 y FB(;)8 b(P)1395 768 y Fw(i)p
FI(+1)1454 761 y FH(\))15 b(is)h(c)o(hosen)f(suc)o(h)g(that)g
FB(P)1935 768 y Fw(i)0 833 y FH(is)j(receiving)g(and)g FB(P)383
840 y Fw(i)p FI(+1)461 833 y FH(is)g(sending,)h(1)d Fx(\024)g
FB(i)g Fx(\024)g FH(3.)25 b(An)17 b(unsatisfactory)j(situation)f(w)o(ould)g
(arise)f(if)h(eac)o(h)0 905 y(pro)q(cess)e(w)o(ere)f(allo)o(w)o(ed)i(to)f
(decide)f(to)h(send,)g(or)g(if)g(eac)o(h)f(pro)q(cess)h(w)o(ere)f(allo)o(w)o
(ed)i(to)e(decide)h(to)g(receiv)o(e;)0 977 y(this)g(is)g(tan)o(tamoun)o(t)g
(to)f(cyclic)g(w)o(ait)h(or)g(deadlo)q(c)o(k.)73 1080 y(As)h(in)g(the)g
(Dining)h(Philosophers)i(problem,)d(an)g(algorithm)i(for)e(guard)h(sc)o
(heduling)g(m)o(ust)e(satisfy)0 1152 y(t)o(w)o(o)h(correctness)g(criteria.)29
b(The)18 b(algorithm)i(m)o(ust)e(b)q(e)h FF(de)n(ad)r(lo)n(ck)h(fr)n(e)n(e)t
FH(,)e(i.e.,)g(if)h(t)o(w)o(o)f(pro)q(cesses)h FB(P)25 b FH(and)0
1224 y FB(Q)18 b FH(wish)i(to)f(comm)o(unicate)f(with)h(eac)o(h)f(other,)h
(then)f(either)h FB(P)26 b FH(or)19 b FB(Q)f FH(will)i(ev)o(en)o(tually)e
(participate)i(in)0 1296 y(a)g(comm)o(unication)g(\(although)h(not)f
(necessarily)g(with)g(eac)o(h)f(other\);)h(and)g FF(starvation)g(fr)n(e)n(e)t
FH(,)f(i.e.,)g(if)h(a)0 1369 y(pro)q(cess)14 b FB(P)21 b FH(tries)14
b(to)g(comm)o(unicate)f(and)h(in\014nitely)h(often)f(some)g(pro)q(cess)g
FB(Q)1417 1376 y Fw(i)1444 1369 y FH(is)h(willing)h(to)e(recipro)q(cate,)0
1441 y(then)h FB(P)21 b FH(will)c(ev)o(en)o(tually)d(participate)i(in)g(a)f
(comm)o(unication)g(\(the)g(pro)q(cess)g FB(Q)1471 1448 y Fw(i)1499
1441 y FH(need)g(not)g(b)q(e)g(the)f(same)0 1513 y(eac)o(h)i(time\).)73
1615 y(Sev)o(eral)25 b(distributed)h(implemen)o(tations)h(of)e(guard)h(sc)o
(heduling)g(ha)o(v)o(e)e(b)q(een)h(prop)q(osed)i(includ-)0
1687 y(ing)e([Sc)o(h78)o(,)f(Ber80)o(,)g(vdS81,)f(Sc)o(h82)q(,)g(BS83].)43
b(Eac)o(h)23 b(of)h(these)f(algorithms)j(m)o(ust)d(resort)h(to)g(some)0
1760 y(symmetry)13 b(breaking)j(tec)o(hnique)e(suc)o(h)g(as)h(priorit)o(y)h
(ordering)g(of)f(pro)q(cesses)g([Sc)o(h78,)f(Ber80,)g(BS83)q(],)g(or)0
1832 y(timestamps)19 b([Sc)o(h78)o(].)27 b(In)18 b(fact,)g(lik)o(e)g(the)g
(Dining)i(Philosophers)g(problem,)f(the)f(existence)f(of)i(a)f(fully)0
1904 y(distributed)23 b(and)e(symmetric)g FF(deterministic)h
FH(algorithm)i(for)d(guard)h(sc)o(heduling)h(can)e(b)q(e)h(sho)o(wn)g(to)0
1976 y(b)q(e)d(an)h(imp)q(ossibilit)o(y)i([FR80].)29 b(In)19
b(the)f(presence)h(of)g(symmetry)l(,)f(a)h(fully)h(distributed)g
(deterministic)0 2049 y(algorithm)c(is)f(susceptible)g(to)g(the)f(scenario)h
(in)g(whic)o(h)g(a)f(solution)j(exists)d(but)h(is)g(nev)o(er)e(found.)21
b(F)l(or)14 b(ex-)0 2121 y(ample,)f(pro)q(cesses)h(ma)o(y)e(in)i(a)f(cyclic)g
(fashion)h(issue)g(comm)o(unication)g(requests)e(to)i(one)f(another;)h(due)f
(to)0 2193 y(symmetry)l(,)h(this)i(same)f(circular)h(w)o(ait)g(ma)o(y)e
(reapp)q(ear)i(with)g(ev)o(ery)e(future)h(attempt)g(b)o(y)f(the)h(pro)q
(cesses)0 2265 y(to)h(establish)i(comm)o(unication.)j(The)16
b(lac)o(k)g(of)g(a)g(fully)g(distributed)h(and)g(symmetric)d(deterministic)j
(al-)0 2338 y(gorithm)d(for)g(guard)g(sc)o(heduling)g(is)g(indeed)g(one)f(of)
h(the)f(reasons)h(the)f(designers)h(of)g(Ada)f([DoD83)q(])g(c)o(hose)0
2410 y(an)i(asymmetric)e(rendezv)o(ous)h(construct|nondeterministic)h(c)o
(hoice)f(in)h(Ada)f(exists)h(only)g(among)g(the)0 2482 y FC(accept)h
FH(alternativ)o(es)h(of)f(a)h FC(select)f FH(statemen)o(t.)73
2584 y(W)l(e)i(no)o(w)h(describ)q(e)f(the)g(fully)h(distributed)h(and)f
(symmetric)e(randomized)i(algorithm)h(of)f(F)l(rancez)p 0 2628
780 2 v 0 2691 a FD(ha)o(ving)14 b(one)g(alternativ)o(e.)951
2828 y FH(53)p eop
bop 0 195 a FH(and)19 b(Ro)q(deh)f([FR80].)26 b(\(Other)18
b(probabilistic)j(algorithms)f(for)e(guard)h(sc)o(heduling,)h(whic)o(h)e(ha)o
(v)o(e)f(\\real)0 267 y(time)i(resp)q(onse",)h(app)q(ear)g(in)g([RS84].\))29
b(The)19 b(algorithm)i(is)f(giv)o(en)f(here)f(as)i(the)f(iterativ)o(e)g(pro)q
(cedure)0 340 y FF(CommGuar)n(d)p FH(,)j(whic)o(h)g(a)h(pro)q(cess)g
FB(P)29 b FH(in)o(v)o(ok)o(es)22 b(up)q(on)h(reac)o(hing)g(a)g(guarded)g
(command)f(in)h(order)g(to)0 412 y(sc)o(hedule)16 b(itself)h(in)g(a)f(comm)o
(unication.)22 b(Up)q(on)17 b(return,)e(a)i(comm)o(unication)g(link)g(b)q(et)
o(w)o(een)e FB(P)23 b FH(and)17 b(one)0 484 y(of)d(the)f(pro)q(cesses)h
(designated)g(b)o(y)f FB(P)7 b FH('s)13 b(curren)o(t)g(guarded)h(command)f
(will)j(ha)o(v)o(e)c(b)q(een)h(established,)i(and)0 556 y(actual)i(data)g
(transfer)g(can)f(then)g(o)q(ccur.)73 658 y(In)c(order)g(to)g(simplify)h(the)
f(presen)o(tation)h(of)f(the)g(algorithm,)i(w)o(e)e(will)i(assume)e(that)g
(comm)o(unication)0 731 y(b)q(et)o(w)o(een)f(pro)q(cesses)h(is)g
(non-directional.)23 b(That)12 b(is,)h(a)f(pro)q(cess)g(sp)q(eci\014es)h
(only)f(the)g(name)f(of)h(a)g(pro)q(cess)g(in)0 803 y(a)i(comm)o(unication)g
(guard)g(and)g(not)g(the)f(direction)i(\(i.e.,)e(input)h(or)g(output\).)21
b(Under)12 b(this)j(assumption,)0 875 y FF(CommGuar)n(d)c FH(can)j(b)q(e)f
(implemen)o(ted)g(b)o(y)g(pro)o(viding)h(eac)o(h)f(pair)h(of)g(pro)q(cesses)g
(a)f(single)i(shared)f(b)q(o)q(olean)0 947 y(v)m(ariable)23
b FG(flag)p FH(;)g(th)o(us,)g(the)e(algorithm)j(is)f(fully)f(distributed.)
1191 929 y FI(8)1250 947 y FH(All)h(suc)o(h)e FG(flag)g FH(ha)o(v)o(e)g
(initial)j(v)m(alue)0 1020 y FG(FALSE)p FH(.)14 b(Access)h(to)i(shared)f(v)m
(ariables)i(is)f(through)g(the)f FG(TEST&UPDAT)o(E)d FH(instruction,)18
b(the)d(seman)o(tics)i(of)0 1092 y(whic)o(h)g(w)o(as)f(describ)q(ed)h(in)g
(the)f(in)o(tro)q(duction)i(to)f(Section)f(3.)0 1234 y Fy(CommGuar)n(d)30
b Fp(f)23 b Fo(\(*)h(To)f(schedule)g(communications)f(*\))143
1319 y(trying)h(:=)g(TRUE)143 1404 y(WHILE)g(trying)g(DO)p
Fp(f)285 1488 y Fo(randomly)g(choose)g(a)h(partner)f(with)g(which)g(to)h
(attempt)f(a)h(communication)285 1573 y(let)g(flag)f(be)h(the)f(shared)g
(variable)g(between)g(these)g(two)h(processes)285 1658 y(IF)g
(TEST&UPDATE\(flag,)d(FALSE,)j(TRUE\))f(THEN)428 1743 y(trying)g(:=)h(FALSE)f
(\(*)g(communication)g(established)f(*\))285 1827 y(ELSE)p
Fp(f)428 1912 y Fo(wait)h(t)h(seconds)428 1997 y(IF)g
(NOT\(TEST&UPDATE\(flag,)d(FALSE,)i(FALSE\)\))g(THEN)571 2081
y(trying)g(:=)g(FALSE)h(\(*)f(communication)f(established)h(*\))428
2166 y(ELSE)g Fp(fg)h Fo(\(*)f(try)h(another)f(partner)g(*\))g
Fp(g)143 2251 y(g)0 2335 y(g)73 2465 y FH(T)l(o)18 b(gain)g(some)f(insigh)o
(t)h(in)o(to)g(the)e(functioning)j(of)e(the)g(proto)q(col,)h(consider)g(t)o
(w)o(o)f(pro)q(cesses)g FB(P)24 b FH(and)p 0 2503 780 2 v 56
2533 a FE(8)75 2548 y FD(Without)12 b(the)h(simplifying)h(assumption,)e(t)o
(w)o(o)g(shared)h(v)n(ariables,)h Fa(flag)1228 2559 y(ij)1285
2548 y FD(and)e Fa(flag)1452 2559 y(ji)1497 2548 y FD(,)g(are)g(needed)i(for)
e(eac)o(h)g(pair)0 2623 y(\()p Fs(P)43 2629 y Fd(i)57 2623
y Fs(;)7 b(P)103 2629 y Fd(j)119 2623 y FD(\))15 b(of)g(pro)q(cesses.)24
b(V)m(ariable)17 b Fa(flag)652 2634 y(ij)711 2623 y FD(is)f(used)h(to)e
(establish)i(comm)o(unication)f(b)q(et)o(w)o(een)g Fs(P)1554
2629 y Fd(i)1583 2623 y FD(and)f Fs(P)1692 2629 y Fd(j)1724
2623 y FD(b)o(y)g(matc)o(hing)0 2698 y(an)f(output)g(guard)f(of)h
Fs(P)386 2704 y Fd(i)413 2698 y FD(with)h(an)e(input)i(guard)f(of)f
Fs(P)868 2704 y Fd(j)885 2698 y FD(;)g Fa(flag)998 2709 y(ji)1057
2698 y FD(is)i(used)g(in)f(a)g(symmetric)h(fashion.)951 2828
y FH(54)p eop
bop 0 195 a FB(Q)14 b FH(ha)o(ving)h(complemen)o(tary)e(guards.)22
b(In)o(tuitiv)o(ely)l(,)13 b FB(P)22 b FH(sets)14 b FG(flag)e
FH(to)j(true)f(to)g(inform)h FB(Q)e FH(of)i(its)f(desire)h(to)0
267 y(comm)o(unicate.)k FB(P)g FH(will)14 b(w)o(ait)e FG(t)g
FH(seconds)g(for)g FB(Q)f FH(to)h(resp)q(ond,)i(whic)o(h)e
FB(Q)f FH(do)q(es)i(b)o(y)e(resetting)h FG(flag)e FH(bac)o(k)i(to)0
340 y(false.)21 b(If)15 b FB(Q)f FH(do)q(es)i(not)f(resp)q(ond)h(within)g
(this)f(time)g(in)o(terv)m(al,)g FB(P)22 b FH(will)17 b(try)e(to)g(establish)
h(comm)o(unication)0 412 y(with)h(another)g(pro)q(cess.)22
b(The)16 b(\\timeout)h(in)o(terv)m(al")h FG(t)d FH(is)i(a)g(prede\014ned)f
(constan)o(t)h(to)f(the)g(algorithm.)73 514 y(Randomization)g(en)o(ters)e(in)
o(to)h(the)f(proto)q(col)i(in)f(the)f(c)o(hoice)g(of)g(prosp)q(ectiv)o(e)g
(comm)o(unication)h(part-)0 586 y(ner.)29 b(If)18 b(a)h(request)g(to)g(comm)o
(unicate)f(with)i(a)f(pro)q(cess)h(is)f(not)h(recipro)q(cated)f(within)h
FG(t)f FH(seconds,)g(the)0 658 y FG(WHILE)14 b FH(lo)q(op)k(is)f(iterated)g
(once)f(again,)h(at)g(whic)o(h)f(p)q(oin)o(t)h(another)g(partner)f(is)h(c)o
(hosen)f FF(r)n(andomly)t FH(.)21 b(This)0 731 y(act)c(of)h(giving)g(up)g(on)
f(a)h(p)q(oten)o(tial)h(partner)e(and)h(trying)g(another)f(is)h(called)g(the)
f(\\retraction)i(phase".)0 803 y FG(WHILE)d FH(lo)q(op)k(iterations)f(of)f
(this)h(nature)f(p)q(ersist)h(un)o(til,)f(if)h(p)q(ossible,)g(a)g(comm)o
(unication)f(c)o(hannel)g(has)0 875 y(b)q(een)e(successfully)h(established.)
73 977 y(There)j(are)h(t)o(w)o(o)f(p)q(oin)o(ts)i(in)f FF(CommGuar)n(d)j
FH(where)c(the)g(v)m(ariable)i FG(flag)d FH(needs)h(to)h(b)q(e)f(tested)g
(and)0 1050 y(then)f(immediately)h(reset.)29 b(These)19 b(actions)i(m)o(ust)d
(b)q(e)i(p)q(erformed)f(atomically)i(within)f(a)g(pro)q(cess)g(for)0
1122 y(the)d(algorithm)j(to)e(function)h(correctly)l(.)25 b(The)18
b FG(TEST&UPDA)o(TE)c FH(instruction)20 b(is)e(used)g(for)g(this)h(purp)q
(ose.)0 1194 y(Starv)m(ation)f(is)f(a)o(v)o(oided)g(as)g(this)g(instruction)g
(is)h(also)f(fair.)73 1296 y(Algorithm)h FF(CommGuar)n(d)d
FH(is)j(deadlo)q(c)o(k)g(and)g(lo)q(c)o(k)o(out)f(free.)23
b(The)17 b(pro)q(ofs)h(are)f(similar)i(to)e(those)h(of)0 1369
y(the)e(Dining)j(Philosophers)f(problem.)23 b(The)16 b(main)h(p)q(oin)o(t)h
(is)f(that)g(a)g(com)o(bination)h(of)e(coin)h(tosses)h(that)0
1441 y(ev)o(en)o(tually)i(enables)i(t)o(w)o(o)e(pro)q(cesses)i(to)f
(establish)h(comm)o(unication)f(can)g(b)q(e)g(sho)o(wn)g(to)g(o)q(ccur)g
(with)0 1513 y(probabilit)o(y)e(1.)26 b(As)17 b(describ)q(ed)h(ab)q(o)o(v)o
(e,)f(the)g(coin)h(tosses)h(tak)o(e)d(place)i(in)g(the)f(retraction)i(phase)f
(of)f(the)0 1585 y(algorithm)f(and)e(constitute)g(a)g(symmetry)e(breaking)i
(tec)o(hnique.)20 b(Symmetry)12 b(breaking)j(is)f(also)h(b)q(ehind)0
1657 y(the)h(algorithm)i(for)f(leader)f(election)h(presen)o(ted)f(next.)0
1869 y Fu(3.3)70 b(Leader)23 b(Election)0 2004 y FH(The)c(co)q(ordination)k
(of)c(the)g(computers,)h(or)f(no)q(des,)i(in)f(a)g(net)o(w)o(ork)e(is)i
(often)g(the)f(resp)q(onsibilit)o(y)j(of)e(a)0 2076 y(single,)d
(distinguished)i(no)q(de.)j(This)17 b(no)q(de,)g(called)g(the)f
FF(le)n(ader)h FH(of)f(the)g(net)o(w)o(ork,)f(ma)o(y)h(enforce)g(m)o(utual)0
2148 y(exclusion)j(in)f(accessing)h(a)f(shared)g(resource,)g(pro)o(vide)g
(services)f(required)h(b)o(y)f(other)h(no)q(des,)h(or)f(serv)o(e)0
2220 y(other)h(similar)i(functions.)31 b(If)18 b(the)h(leader)g(fails,)i(a)f
(new)f(leader)g(m)o(ust)g(b)q(e)g(selected)f(from)h(among)h(the)0
2293 y(surviving)e(no)q(des)g(of)g(the)f(net)o(w)o(ork)f(using)i(an)g
FF(ele)n(ction)h FH(algorithm.)25 b(In)17 b(this)h(section)g(w)o(e)e(examine)
h(the)0 2365 y(randomized)g(distributed)g(algorithm)i(of)d(Itai)h(and)g(Ro)q
(deh)g([IR81)o(])f(for)h(leader)f(election.)73 2467 y(The)21
b(problem)h(of)f(electing)h(a)f(leader)h(can)f(b)q(e)h(stated)f(as)h(follo)o
(ws.)37 b(Giv)o(en)22 b(a)f(set)g(of)h FB(n)f FH(iden)o(tical)0
2539 y(pro)q(cesses)12 b Fx(f)p FB(P)262 2546 y FI(0)282 2539
y FB(;)c(P)335 2546 y FI(1)355 2539 y FB(;)g FH(.)g(.)g(.)g
FB(;)g(P)496 2546 y Fw(n)p Ft(\000)p FI(1)565 2539 y Fx(g)j
FH(connected)g(in)i(a)f(ring)g(fashion)i(\(i.e.,)d FB(P)1309
2546 y Fw(i)1335 2539 y FH(talks)i(to)f FB(P)1535 2546 y Fw(i)p
FI(+1)1595 2539 y FH(,)g(where)f(subscript)0 2611 y(arithmetic)16
b(is)g(p)q(erformed)f(mo)q(dulo)i FB(n)p FH(\),)e(elect)f(one)i(of)f(these)g
(pro)q(cesses)h(as)g(the)f(leader)g(of)h(the)f(ring.)22 b(A)o(t)0
2684 y(the)12 b(end)h(of)g(the)f(election,)i FF(al)r(l)g FH(pro)q(cesses)f(m)
o(ust)g(agree)f(up)q(on)i(the)f(iden)o(tit)o(y)f(of)h(the)g(leader.)20
b(Additionally)l(,)951 2828 y(55)p eop
bop 0 195 a FH(an)17 b(election)g(algorithm)h(m)o(ust)e(guaran)o(tee)g
(termination.)73 297 y(Most)j(published)g(leader)g(election)g(algorithms)h
(assume)f(that)g(asymmetry)e(exists)h(in)h(the)f(ring)i(to)0
370 y(the)i(exten)o(t)f(that)i(individual)i(pro)q(cesses)e(ha)o(v)o(e)f
(unique)h FF(names)t FH(,)h(often)e(c)o(hosen)h(from)f(some)g(totally)0
442 y(ordered)g(set)f(of)h(names.)37 b(The)22 b(problem)g(of)g(leader)g
(election)g(is)h(then)e(reduced)g(to)h(the)g(problem)g(of)0
514 y(pic)o(king)17 b(the)f(pro)q(cess)h(with)g(the)f(smallest,)h(or)g
(largest,)g(name.)k(See,)15 b(for)h(example,)g([CR79)q(,)f(P)o(et82)q(].)73
616 y(Sev)o(eral)g(authors)i([Ang80,)f(IR81])f(ha)o(v)o(e)g(in)o(v)o
(estigated)h(the)f(consequences)g(of)h(the)f(absence)g(of)h(suc)o(h)0
688 y(totally)j(ordered)e(names)g(on)h(election)f(algorithms.)26
b(Angluin)19 b([Ang80])e(has)h(sho)o(wn)f(that)h(there)f(exists)0
761 y(no)h(deterministic)g(algorithm)h(to)e(carry)g(out)h(elections)g(in)g(a)
g(ring)g(of)g(iden)o(tical)g(pro)q(cesses.)25 b(Angluin's)0
833 y(argumen)o(t)18 b(is)i(based)f(on)g(the)f(observ)m(ation)j(that,)e(in)g
(a)g(deterministic)g(framew)o(ork,)g(it)g(is)g(p)q(ossible)i(for)0
905 y(an)j(adv)o(ersary)g(sc)o(heduler)f(to)h(force)f(all)j(pro)q(cesses)e
(to)g(b)q(e)g(in)g(iden)o(tical)h(states)f(at)g(all)h(times.)44
b(F)l(or)0 977 y(example,)14 b(the)h(adv)o(ersary)g(sc)o(heduler)f(can)h
(dictate)g(that)g(ev)o(ery)f(message)h(is)g(in)h(transit)g(for)f(exactly)f
(the)0 1050 y(same)h(amoun)o(t)g(of)g(time,)g(and)h(that)f(pro)q(cesses)h
(pro)q(ceed)f(in)g(lo)q(c)o(k-step.)22 b(Since)15 b(pro)q(cesses)g(are)g
(iden)o(tical,)0 1122 y(they)21 b(start)h(out)g(in)g(the)g(same)f(state,)i
(and,)g(b)o(y)e(induction,)j(end)d(up)h(in)g(iden)o(tical)h(states)f(after)f
(an)o(y)0 1194 y FB(k)g FH(computation)f(steps.)29 b(Th)o(us)19
b(an)o(y)g(p)q(oten)o(tial)h(progress)g(to)o(w)o(ard)f(the)g(completion)g(of)
h(an)f(election)g(is)0 1266 y(th)o(w)o(arted)d(b)o(y)g(the)g(symmetry)f(of)h
(the)g(ring.)73 1369 y(Th)o(us,)d(w)o(e)f(once)h(again)h(need)e(to)h(toss)h
(coins)f(to)g(solv)o(e)g(the)f(problem.)20 b(In)13 b(the)f(randomized)h
(algorithm)0 1441 y FF(L)n(e)n(adEle)n(ct)j FH(of)g(Itai)h(and)g(Ro)q(deh)f
([IR81],)f(the)h(pseudo)q(co)q(de)h(of)g(whic)o(h)f(is)h(giv)o(en)f(b)q(elo)o
(w,)h(eac)o(h)e(pro)q(cess)i(is)0 1513 y(equipp)q(ed)h(with)g(an)g(indep)q
(enden)o(t)f(random)h(n)o(um)o(b)q(er)f(generator.)25 b(Additionally)l(,)19
b(all)g(pro)q(cesses)f(kno)o(w)0 1585 y FB(n)p FH(,)d(the)f(size)h(of)g(the)g
(ring.)22 b(The)15 b(ring)g(is)h(presumed)e(to)i(preserv)o(e)d(message)i
(order)g(in)h(that)f(t)o(w)o(o)g(messages)0 1657 y(sen)o(t)h(from)g(a)h(pro)q
(cess)g(to)f(its)h(neigh)o(b)q(or)h(are)e(receiv)o(ed)f(in)i(the)f(same)g
(order)g(in)h(whic)o(h)g(they)f(w)o(ere)f(sen)o(t.)73 1760
y(The)22 b(algorithm)h(is)g(easier)f(to)g(understand)g(if)g(one)g(assumes)g
(that)g(the)f(pro)q(cesses)i(op)q(erate)f(syn-)0 1832 y(c)o(hronously)f(in)g
(lo)q(c)o(k-step,)h(and)f(that)g(eac)o(h)f(transmitted)h(message)f(reac)o
(hes)g(its)h(destination)i(b)q(efore)0 1904 y(the)f(pro)q(cesses)g(execute)e
(their)i(next)g(computation)h(step.)38 b(Eac)o(h)22 b(pro)q(cess)g
FB(P)1486 1911 y Fw(i)1522 1904 y FH(b)q(egins)i(b)o(y)d(pic)o(king)i(a)0
1976 y(random)d(name,)g(an)g(in)o(teger)f(in)i Fx(f)p FH(1)p
FB(;)8 b FH(.)g(.)g(.)f FB(;)h(K)t Fx(g)20 b FH(for)g(some)f(constan)o(t)h
FB(K)k(>)19 b FH(1.)32 b FB(P)1500 1983 y Fw(i)1534 1976 y
FH(then)19 b(propagates)i(its)0 2049 y(name)f(around)i(the)f(ring,)h(cop)o
(ying)f(and)h(forw)o(arding)g(names)f(of)g(other)f(no)q(des)i(that)f(it)g
(receiv)o(es.)33 b FB(P)1935 2056 y Fw(i)0 2121 y FH(determines)15
b(the)h(names)g(c)o(hosen)g(b)o(y)f(all)i(other)f(pro)q(cesses)h(b)o(y)e(the)
h(time)f(it)i(receiv)o(es)d FB(n)i FH(messages.)22 b(The)0
2193 y FB(n)p FH(th)16 b(message)h(receiv)o(ed)e(b)o(y)h(a)g(pro)q(cess)h(is)
g(the)f(one)h(it)f(sen)o(t)g(out)h(initially)l(.)73 2295 y(Eac)o(h)h(pro)q
(cess)h(determines)e(from)h(its)g(list)i(of)e(names)g(whether)f(at)h(least)h
(one)f(pro)q(cess)h(has)f(c)o(hosen)0 2368 y(a)i(unique)f(name,)h(i.e.,)f
(one)h(that)g(w)o(as)f(not)h(c)o(hosen)g(b)o(y)e(an)o(y)i(other)f(pro)q
(cess.)32 b(The)19 b(pro)q(cess)h(with)g(the)0 2440 y(largest)d(unique)e
(name)g(is)i(elected)d(the)h(leader.)22 b(If)15 b(no)g(pro)q(cess)h(pic)o(k)o
(ed)f(a)h(unique)f(name,)g(the)g(pro)q(cesses)0 2512 y(rep)q(eat)h(their)h
(election)g(attempt.)k(Eac)o(h)16 b(attempt)g(is)h(called)g(a)g
FF(r)n(ound)5 b FH(.)0 2681 y Fy(L)n(e)n(adEle)n(ct)26 b Fp(f)e
Fo(\(*)g(algorithm)e(used)i(by)f(process)g Fn(P)984 2688 y
Fw(i)1022 2681 y Fo(in)h(a)g(ring)f(*\))951 2828 y FH(56)p
eop
bop 143 213 a Fo(\(*)23 b(s)h(:)48 b(a)23 b(list)h(of)f(names)g(*\))143
298 y(REPEAT)g Fp(f)285 382 y Fo(set)h(s)g(to)f(empty)285 467
y(name)h(:=)f(a)h(random)f(number)g(between)g(1)h(and)f(K)285
552 y(REPEAT)g Fn(n)i Fo(times)p Fp(f)428 636 y Fo(add)e(name)h(to)f(s)428
721 y(SEND\(name\))g(TO)g Fn(P)791 728 y Fw(i)p FI(+1)428 806
y Fo(RECEIVE\(name\))f(FROM)h Fn(P)910 813 y Fw(i)p Ft(\000)p
FI(1)285 890 y Fp(g)143 975 y(g)143 1060 y Fo(UNTIL)g(at)g(least)h(one)f
(name)g(in)h(s)g(is)f(unique)0 1144 y(\(*)h(the)f(process)g(that)g(picked)g
(the)h(largest)f(unique)g(name)g(is)h(the)f(leader)g(*\))0
1229 y Fp(g)73 1360 y FH(Ev)o(ery)12 b(time)i(the)f(pro)q(cesses)h(pic)o(k)f
(random)h(names)f(for)h(themselv)o(es,)e(there)h(is)h(a)g(non-zero)g
(probabil-)0 1432 y(it)o(y)i FB(p)g FH(that)g(at)g(least)g(one)g(no)q(de)g
(pic)o(ks)g(a)g(name)f(that)h(is)h(c)o(hosen)e(b)o(y)g(no)h(other)g(no)q(de.)
22 b(\(The)15 b(exact)g(v)m(alue)0 1505 y(of)j FB(p)h FH(dep)q(ends)f(on)h
(the)f(v)m(alue)h(of)f FB(K)k FH(and)d(on)f(the)g(probabilit)o(y)i
(distribution)h(of)d(the)g(random)h(n)o(um)o(b)q(er)0 1577
y(generators.\))i(The)14 b(probabilit)o(y)i(that)f(the)f(algorithm)i(fails)f
(to)g(terminate)f(in)g FB(i)g FH(rounds)h(is)g(\(1)7 b Fx(\000)g
FB(p)p FH(\))1830 1559 y Fw(i)1843 1577 y FH(,)14 b(and)0 1649
y(the)i(probabilit)o(y)i(that)f(the)f(algorithm)i(executes)d(forev)o(er)g(is)
805 1749 y(lim)794 1779 y Fw(k)q Ft(!1)892 1749 y FH(\(1)c
Fx(\000)g FB(p)p FH(\))1039 1728 y Fw(k)1075 1749 y FH(=)j(0)p
FB(:)698 b FH(\(19\))0 1849 y(In)19 b(other)h(w)o(ords,)g(the)f(algorithm)i
(will)g(terminate)f(with)g(probabilit)o(y)h(1.)31 b(The)20
b(exp)q(ected)e(n)o(um)o(b)q(er)h(of)0 1921 y(rounds)e(for)g(the)f(algorithm)
i(to)e(terminate)h(is)g(clearly)g(1)p FB(=p)p FH(.)73 2024
y(This)24 b(algorithm)h(can)f(b)q(e)f(impro)o(v)o(ed)f(in)i(sev)o(eral)f(w)o
(a)o(ys.)42 b(One)23 b(w)o(a)o(y)f(to)i(impro)o(v)o(e)e(the)h(exp)q(ected)0
2096 y(running)17 b(time)e(is)h(to)g(c)o(hange)f(the)g(termination)i
(condition)g(to)f(examine)f(the)g(pattern)g(of)h(names)f(in)h(the)0
2168 y(en)o(tire)j(ring)i(to)f(determine)f(if)i(an)f(election)g(is)h(p)q
(ossible.)34 b(F)l(or)20 b(instance,)g(if)h(in)f(a)g(ring)h(where)e
FB(n)h FH(=)g(5,)0 2240 y(and)c(pro)q(cesses)h FB(P)336 2247
y FI(0)372 2240 y FH(and)f FB(P)497 2247 y FI(2)533 2240 y
FH(c)o(hose)g(1,)g(while)h FB(P)874 2247 y FI(1)894 2240 y
FH(,)e FB(P)954 2247 y FI(3)990 2240 y FH(and)i FB(P)1116 2247
y FI(4)1152 2240 y FH(c)o(hose)f(2,)f(then)h(the)g(algorithm)i(describ)q(ed)0
2312 y(ab)q(o)o(v)o(e)d(w)o(ould)h(pro)q(cced)f(to)h(another)f(round,)h
(since)f(no)h(single)g(no)q(de)g(c)o(hose)f(a)g(unique)h(name.)k(Ho)o(w)o(ev)
o(er,)0 2385 y(closer)c(examination)h(sho)o(ws)g(that)f(leader)g(election)g
(is)g(p)q(ossible)i(in)f(this)f(situation:)23 b FB(P)1613 2392
y FI(0)1649 2385 y FH(can)16 b(b)q(e)g(elected)0 2457 y(b)q(ecause)h(it)h(is)
f(the)g(only)h(pro)q(cess,)f(whose)h(immediate)f(neigh)o(b)q(ors)h(in)g(the)f
(ring)h(c)o(hose)e(2,)i(that)f(c)o(hose)g(a)0 2529 y(1.)22
b(Itai)16 b(and)h(Ro)q(deh)g(pro)o(vide)f(a)h(mathematical)g(basis)h(for)f
(the)f(use)g(of)g(suc)o(h)g(tec)o(hniques.)73 2631 y(Leader)22
b(election)g(in)g(a)g(symmetric)f(ring)i(is)f(one)g(of)g(a)g(v)m(ariet)o(y)f
(of)h(problems)g(where)f(reasonably)0 2704 y(e\016cien)o(t)11
b(probabilistic)j(solutions)h(can)c(b)q(e)h(found,)h(ev)o(en)d(though)j(a)f
(deterministic,)h(symmetric)e(solution)951 2828 y(57)p eop
bop 0 195 a FH(is)23 b(imp)q(ossible.)43 b(It)22 b(is)i(in)o(teresting)f(to)g
(note)g(that)g(symmetric)f(leader)h(election)g(in)g(a)g(ring)h(with)g(an)0
267 y FF(unknown)15 b FH(n)o(um)o(b)q(er)e(of)h(pro)q(cesses)g(has)g(no)g
(deterministic)g FF(nor)f FH(probabilisti)q(c)j(solution)g(that)d(guaran)o
(tees)0 340 y(b)q(oth)20 b(termination)h(and)f(a)g(non-zero)h(probabilit)o(y)
g(of)f(correctness.)31 b(The)19 b(reader)h(is)g(referred)f(to)g(Itai)0
412 y(and)e(Rabin)g([IR81])f(for)g(a)h(pro)q(of)g(of)g(this)g(claim.)73
514 y(The)f(next)g(problem)h(w)o(e)e(consider,)i(message)f(routing)i(in)f(a)f
(net)o(w)o(ork,)f(sho)o(ws)i(ho)o(w)g(randomization)0 586 y(can)f(b)q(e)h
(used)f(to)h(reduce)e(queueing)i(dela)o(y)f(and)h(to)g(impro)o(v)o(e)e
(resiliency)i(to)g(faults.)0 798 y Fu(3.4)70 b(Message)23 b(Routing)0
932 y FH(An)17 b(imp)q(ortan)o(t)i(measure)f(of)g(the)f(p)q(erformance)h(of)g
(an)o(y)g(message)g(routing)h(algorithm)g(is)g(ho)o(w)f(w)o(ell)g(it)0
1005 y(solv)o(es)j(the)g FF(p)n(ermutation)g(r)n(outing)h(pr)n(oblem)t
FH(.)34 b(In)21 b(p)q(erm)o(utation)h(routing,)g(eac)o(h)f(no)q(de)g(in)g(a)h
(net)o(w)o(ork)0 1077 y(is)f(the)e(origin)j(of)e(a)g(single)i(message)e
(destined)g(for)g(another)h(no)q(de)f(in)h(the)e(net)o(w)o(ork,)h(sub)s(ject)
f(to)h(the)0 1149 y(constrain)o(t)j(that)f(no)h(t)o(w)o(o)e(messages)i(ha)o
(v)o(e)e(the)h(same)f(destination.)41 b(The)21 b(problem)i(is)f(to)h(devise)f
(a)0 1221 y(distributed)15 b(algorithm)h(to)e(route)h(the)e(messages)i(to)f
(their)g(destinations)i(with)f(the)f(minim)o(um)g(p)q(ossible)0
1294 y(dela)o(y)l(,)h(with)i(at)e(most)h(one)g(message)f(b)q(eing)i
(transmitted)f(o)o(v)o(er)f(an)h(edge)f(at)h(an)o(y)f(time.)21
b(Eac)o(h)15 b(instance)0 1366 y(of)f(the)g(problem)g(can)g(b)q(e)g(view)o
(ed)g(as)g(a)h(p)q(erm)o(utation)g FB(\031)g FH(on)f(the)g(set)g(of)g(no)q
(des,)h(where)e FB(\031)r FH(\()p FB(v)r FH(\))g(=)h FB(w)h
FH(means)0 1438 y(that)21 b(the)g(message)g(originating)j(at)d
FB(v)h FH(has)g(to)f(b)q(e)g(deliv)o(ered)g(to)g(destination)i
FB(w)q FH(.)35 b(This)22 b(part)f(of)g(the)0 1510 y(surv)o(ey)15
b(is)i(dev)o(oted)f(to)h(randomized)f(algorithms)j(for)d(p)q(erm)o(utation)h
(routing.)73 1612 y(In)i(message)g(routing)i(algorithms,)g(the)e(normally)h
(accepted)f(unit)h(of)f(dela)o(y)g(is)h(the)f(time)g(needed)0
1685 y(to)e(transmit)h(a)g(single)h(message)e(from)g(a)h(no)q(de)f(to)h(its)g
(neigh)o(b)q(or.)25 b(The)17 b(assumption)i(is)f(that)f(the)g(time)0
1757 y(tak)o(en)d(b)o(y)g(the)g(no)q(des)h(themselv)o(es)f(to)h(pro)q(cess)g
(individual)i(messages)e(and)g(decide)f(ho)o(w)h(they)f(are)g(to)h(b)q(e)0
1829 y(routed)j(is)g(negligible)i(when)e(compared)f(to)h(message)g
(transmission)i(dela)o(ys.)25 b(This)19 b(is)f(esp)q(ecially)h(true)0
1901 y(if)e(the)f(no)q(des)h(can)f(do)h(parallel)h(pro)q(cessing.)73
2004 y(The)j(o)o(v)o(erall)g(dela)o(y)f(incurred)h(b)o(y)f(a)g(p)q(erm)o
(utation)i(routing)f(algorithm)i(is)e(ob)o(viously)h(related)f(to)0
2076 y(the)d(underlying)i(top)q(ology)l(.)31 b(F)l(or)19 b(instance,)h(the)e
(minim)o(um)h(dela)o(y)g(in)g(sending)h(a)f(message)g(from)g(one)0
2148 y(no)q(de)h(to)g(another)g(dep)q(ends)f(on)h(the)f(length)h(of)g(the)f
(shortest)h(path)g(b)q(et)o(w)o(een)e(them.)30 b(Another)20
b(t)o(yp)q(e)0 2220 y(of)d(dela)o(y)f(can)h(o)q(ccur)g(when)f(implemen)o
(ting)h(p)q(erm)o(utations:)23 b(the)16 b(routing)i(algorithm)h(ma)o(y)d
(determine)0 2293 y(that)h(a)f(message)h(needs)f(to)g(b)q(e)h(transmitted)g
(o)o(v)o(er)e(an)i(edge)f(that)g(is)h(already)h(in)e(use)h(for)f
(transmitting)0 2365 y(another)k(message.)31 b(In)19 b(this)i(case,)f(the)f
(message)h(is)g(often)f(queued)g(up)h(for)g(transmission)i(at)e(a)f(later)0
2437 y(time.)k(Suc)o(h)17 b FF(queuing)i(delays)f FH(should)g(also)h(b)q(e)e
(included)g(in)h(an)o(y)f(measure)f(of)h(the)g(total)h(dela)o(y)f(that)h(a)0
2509 y(message)f(su\013ers)f(in)h(transmission)i(from)d(its)h(origin)h(to)f
(its)g(destination.)73 2611 y(Deterministic)c(p)q(erm)o(utation)h(routing)f
(algorithms)i(ha)o(v)o(e)d(the)g(common)g(dra)o(wbac)o(k)g(that)h(they)f(ha)o
(v)o(e)0 2684 y(p)q(o)q(or)18 b(w)o(orst-case)f(p)q(erformance.)k(In)16
b(other)g(w)o(ords,)h(they)e(b)q(eha)o(v)o(e)h(badly)h(on)g(some)f(sp)q
(eci\014c)h(p)q(erm)o(uta-)951 2828 y(58)p eop
bop 210 762 2 206 v 211 558 258 2 v 467 762 2 206 v 211 763
258 2 v 339 659 2 206 v 339 455 258 2 v 596 659 2 206 v 339
660 258 2 v 853 659 2 206 v 854 455 258 2 v 1111 659 2 206
v 854 660 258 2 v 982 557 2 206 v 983 352 258 2 v 1239 557
2 206 v 983 558 258 2 v 854 659 a Fg(#)883 636 y(#)912 613
y(#)941 590 y(#)854 454 y(#)883 431 y(#)912 408 y(#)941 385
y(#)1111 454 y(,)1140 431 y(,)1170 409 y(,)1199 386 y(,)1111
659 y(,)1140 637 y(,)1170 614 y(,)1199 591 y(,)468 557 y(,)497
534 y(,)526 511 y(,)555 489 y(,)211 557 y(#)240 534 y(#)269
510 y(#)298 487 y(#)468 762 y(,)497 739 y(,)526 717 y(,)555
694 y(,)211 762 y(#)240 739 y(#)269 716 y(#)298 692 y(#)339
454 y(\()380 448 y(\()420 441 y(\()460 435 y(\()500 429 y(\()540
422 y(\()580 416 y(\()620 409 y(\()660 403 y(\()701 397 y(\()741
390 y(\()781 384 y(\()821 378 y(\()861 371 y(\()901 365 y(\()941
358 y(\()597 454 y(\()637 448 y(\()677 441 y(\()717 435 y(\()757
429 y(\()797 422 y(\()837 416 y(\()878 409 y(\()918 403 y(\()958
397 y(\()998 390 y(\()1038 384 y(\()1078 378 y(\()1118 371
y(\()1158 365 y(\()1199 358 y(\()468 557 y(\()508 550 y(\()548
544 y(\()588 538 y(\()629 531 y(\()669 525 y(\()709 518 y(\()749
512 y(\()789 506 y(\()829 499 y(\()869 493 y(\()909 487 y(\()950
480 y(\()990 474 y(\()1030 467 y(\()1070 461 y(\()211 557 y(\()251
550 y(\()291 544 y(\()331 538 y(\()371 531 y(\()411 525 y(\()451
518 y(\()492 512 y(\()532 506 y(\()572 499 y(\()612 493 y(\()652
487 y(\()692 480 y(\()732 474 y(\()772 467 y(\()813 461 y(\()597
659 y(\()637 653 y(\()677 647 y(\()717 640 y(\()757 634 y(\()797
627 y(\()837 621 y(\()878 615 y(\()918 608 y(\()958 602 y(\()998
595 y(\()1038 589 y(\()1078 583 y(\()1118 576 y(\()1158 570
y(\()1199 564 y(\()468 762 y(\()508 755 y(\()548 749 y(\()588
743 y(\()629 736 y(\()669 730 y(\()709 724 y(\()749 717 y(\()789
711 y(\()829 704 y(\()869 698 y(\()909 692 y(\()950 685 y(\()990
679 y(\()1030 673 y(\()1070 666 y(\()211 762 y(\()251 755 y(\()291
749 y(\()331 743 y(\()371 736 y(\()411 730 y(\()451 724 y(\()492
717 y(\()532 711 y(\()572 704 y(\()612 698 y(\()652 692 y(\()692
685 y(\()732 679 y(\()772 673 y(\()813 666 y(\()339 659 y(\()380
653 y(\()420 647 y(\()460 640 y(\()500 634 y(\()540 627 y(\()580
621 y(\()620 615 y(\()660 608 y(\()701 602 y(\()741 595 y(\()781
589 y(\()821 583 y(\()861 576 y(\()901 570 y(\()941 564 y(\()p
1754 249 2 52 v 168 550 a Fz(0000)296 448 y(0001)548 450 y(0011)422
550 y(0010)164 811 y(0100)294 699 y(0101)550 706 y(0111)420
808 y(0110)806 451 y(1000)940 343 y(1001)1194 346 y(1011)1066
450 y(1010)806 707 y(1100)940 607 y(1101)1194 608 y(1111)1068
710 y(1110)555 1094 y FH(Figure)16 b(6:)22 b(A)16 b(4-dimensional)j(binary)e
(cub)q(e.)0 1228 y(tions.)25 b(In)17 b(this)h(section,)f(w)o(e)g(consider)g
(t)o(w)o(o)g(algorithms)j(that)d(use)g(randomization)j(to)d(break)g(up)g(suc)
o(h)0 1301 y(input)e(dep)q(endencies:)21 b(V)l(alian)o(t's)15
b([V)l(al82)q(])f(algorithm)j(for)e(the)f FB(n)p FF(-cub)n(e)t
FH(,)i(and)f(Aleluinas's)h([Ale82])e(algo-)0 1373 y(rithm)h(for)f
FF(shu\017e)i(networks)t FH(.)22 b(A)14 b(radically)i(di\013eren)o(t)f
(approac)o(h,)g(that)g(of)f(randomizing)j(the)d(in)o(tercon-)0
1445 y(nections)k(b)q(et)o(w)o(een)f(no)q(des,)i(is)f(also)i(presen)o(ted.)25
b(This)19 b(tec)o(hnique,)d(when)i(applied)i(to)e(m)o(ulti-butter\015y)0
1517 y(net)o(w)o(orks,)e(has)i(b)q(een)e(sho)o(wn)i(to)f(outp)q(erform)g(con)
o(v)o(en)o(tional)h(butter\015y)e(net)o(w)o(orks,)g(particularly)j(with)0
1589 y(resp)q(ect)d(to)h(tolerance)f(to)h(no)q(de)g(faults)g([Upf89,)f(LM89)q
(,)g(LLM90)q(].)0 1761 y FC(Message)i(Routing)i(on)e(an)h(n-Cub)r(e)0
1896 y FH(V)l(alian)o(t)12 b([V)l(al82)q(])e(prop)q(osed)j(the)e(\014rst)g(p)
q(erm)o(utation)h(routing)g(algorithm)h(for)e(an)h FB(n)p FH(-cub)q(e.)20
b(His)11 b(algorithm)0 1968 y(implemen)o(ted)22 b FF(any)g
FH(p)q(erm)o(utation,)i(with)g(high)f(probabilit)o(y)l(,)j(in)d
FB(O)q FH(\(log)11 b FB(N)5 b FH(\))22 b(time.)40 b(An)22 b
FB(n)p FH(-cub)q(e)g(is)i(a)0 2040 y(net)o(w)o(ork)16 b(arc)o(hitecture)h
(shap)q(ed)h(lik)o(e)f(an)g FB(n)p FH(-dimensional)j(cub)q(e)d(ha)o(ving)h
FB(N)i FH(=)15 b(2)1505 2022 y Fw(n)1546 2040 y FH(no)q(des,)j(and)f(is)h
(often)0 2112 y(referred)d(to)i(as)g(a)f(\()p FB(n)p FH(-)p
FF(dimensional)5 b FH(\))18 b FF(hyp)n(er)n(cub)n(e)t FH(.)73
2215 y(W)l(e)f(assume)h(that)g(eac)o(h)f(no)q(de)g(of)h(an)g
FB(n)p FH(-cub)q(e)g(is)g(iden)o(ti\014ed)g(b)o(y)e(an)i FB(n)p
FH(-bit)h(binary)f(n)o(um)o(b)q(er)e FB(v)j FH(from)0 2287
y(0)d(to)g(2)123 2269 y Fw(n)156 2287 y Fx(\000)9 b FH(1.)21
b(A)16 b(16-no)q(de)h(4-cub)q(e)f(is)g(sho)o(wn)g(in)g(Figure)g(6.)21
b(Tw)o(o)16 b(no)q(des)h(can)e(comm)o(unicate)g(with)i(eac)o(h)0
2359 y(other)f(if)h(their)g(n)o(um)o(b)q(ers)e(di\013er)i(in)g(only)g(one)g
(bit)g(p)q(osition)h(or)f FF(dimension)p FH(.)73 2461 y(T)l(o)g(implemen)o(t)
e(ev)o(ery)g(p)q(erm)o(utation)i(in)f FB(O)q FH(\(log)11 b
FB(N)5 b FH(\))17 b(time)e(with)i(high)h(probabilit)o(y)l(,)f(V)l(alian)o
(t's)g(algo-)0 2534 y(rithm)g(requires)f(eac)o(h)g(message)g(to)h(carry)f
FB(O)q FH(\(log)11 b FB(N)5 b FH(\))16 b(bits)i(of)e(additional)k(b)q(o)q
(ok-k)o(eeping)e(information.)0 2606 y(The)k(algorithm)i(can)e(implemen)o(t)f
(b)q(oth)i(complete)f(as)g(w)o(ell)h(as)g(partial)g(p)q(erm)o(utations.)40
b(No)22 b(global)0 2678 y(sync)o(hronization)c(is)f(required)f(\(i.e.,)f(no)i
(help)f(from)h(a)f(cen)o(tral)g(arbiter)h(is)g(needed\).)951
2828 y(59)p eop
bop 73 195 a FH(F)l(or)13 b(con)o(v)o(enience)e(in)h(describing)i(the)e
(algorithm,)j(w)o(e)d(shall)i(assume)e(that)h(the)f(message)h(originating)0
267 y(at)k(no)q(de)g FB(v)h FH(is)g(lab)q(eled)g FB(v)r FH(.)k(The)16
b(algorithm)j(op)q(erates)e(in)h(t)o(w)o(o)e(phases.)23 b(In)17
b(the)f(\014rst)h(phase,)g(a)g(message)0 340 y FB(u)j FH(is)i(mo)o(v)o(ed)e
(from)g(its)i(origin)g(to)f(a)g(random)h(in)o(termediate)e(destination)j
FB(v)f FH(without)g(regard)f(for)g(its)0 412 y(ultimate)c(destination)i
FB(w)q FH(.)j(The)16 b(in)o(termediate)g(no)q(de)h FB(v)h FH(is)f(c)o(hosen)f
(randomly:)23 b(a)17 b(fair)g(coin)g(with)g(sides)0 484 y(0)g(and)h(1)f(is)g
(tossed)h(for)f(eac)o(h)f(of)h(the)g FB(n)g FH(dimensions,)h(and)g(the)e
(message)h(is)h(mo)o(v)o(ed)d(along)k(the)e(edge)f(in)0 556
y(that)h(dimension)h(if)g(a)f(1)g(sho)o(ws)h(up.)23 b(Clearly)l(,)18
b(at)f(the)g(end)f(of)h(this)h(pro)q(cedure,)f(a)g(message)g(ma)o(y)f(b)q(e)h
(in)0 628 y(an)o(y)f(no)q(de)h(of)g(the)f FB(n)p FH(-cub)q(e)g(with)h(equal)g
(probabilit)o(y)l(.)73 731 y(The)i(mo)o(v)o(emen)o(t)e(of)i(messages)g(to)g
(their)g(actual)h(destinations)h(o)q(ccurs)f(in)f(the)g(second)g(phase.)29
b(In)0 803 y(this)23 b(phase)f(eac)o(h)f(no)q(de)h(that)h(holds)g(a)f
(message)g(c)o(ho)q(oses)g(at)g(random)h(a)f(dimension)h(in)f(whic)o(h)g(the)
0 875 y(message)g(needs)f(to)h(b)q(e)g(mo)o(v)o(ed)f(in)h(order)g(to)f(reac)o
(h)h(its)g(destination,)i(and)f(transmits)f(the)g(message)0
947 y(along)c(that)f(dimension.)73 1050 y(The)h(pseudo)q(co)q(de)i(of)e(V)l
(alian)o(t's)h(algorithm)h(app)q(ears)g(b)q(elo)o(w.)28 b(In)18
b(this)h(algorithm,)h(eac)o(h)e(message)0 1122 y FB(u)f FH(has)h(an)f(asso)q
(ciated)i(set)e(of)h(b)q(o)q(ok-k)o(eeping)g(information)h
FB(T)1159 1129 y Fw(u)1196 1122 y Fx(\022)c(f)p FH(1)p FB(;)8
b FH(.)g(.)g(.)g FB(;)g(n)p Fx(g)p FH(.)24 b(In)16 b(the)h(\014rst)h(phase,)f
FB(T)1928 1129 y Fw(u)0 1194 y FH(consists)c(of)g(the)e(set)h(of)g
(dimensions)i(along)g(whic)o(h)e(p)q(ossible)i(transmissions)h(ha)o(v)o(e)c
(not)h(b)q(een)g(considered.)0 1266 y(In)17 b(the)g(second)g(phase,)g
FB(T)484 1273 y Fw(u)524 1266 y FH(consists)h(of)g(the)e(set)h(of)h
(dimensions)h(along)g(whic)o(h)e(transmissions)j(remain)0 1339
y(to)h(b)q(e)g(made)g(in)g(order)g(for)g FB(u)f FH(to)h(reac)o(h)g(its)g
(destination.)37 b(Also,)22 b(eac)o(h)e(no)q(de)i FB(v)g FH(main)o(tains)g(a)
f(set)g(of)0 1411 y(queues)e FB(Q)201 1418 y Fw(v)221 1411
y FH(\()p FB(i)p FH(\))p FB(;)8 b FH(1)19 b Fx(\024)g FB(i)g
Fx(\024)g FB(n)p FH(,)h(con)o(taining)i(messages)e(to)g(b)q(e)f(transmitted)h
(from)g FB(v)h FH(to)e(its)i(neigh)o(b)q(or)f(in)0 1483 y(the)15
b FB(i)p FH(th)g(dimension.)22 b(This)17 b(neigh)o(b)q(or,)f(denoted)g(b)o(y)
e FB(v)r Fx(jj)p FB(i)p FH(,)g(is)i(the)f(no)q(de)h(whose)g(n)o(um)o(b)q(er)f
(is)h(obtained)h(b)o(y)0 1555 y(toggling)e(the)e FB(i)p FH(th)f(bit)i(of)f
(the)f(binary)i(represen)o(tation)f(of)g FB(v)r FH(.)20 b(The)13
b FB(i)p FH(th)f(bit)h(of)g(the)g(binary)h(represen)o(tation)0
1627 y(of)j(n)o(um)o(b)q(er)e FB(v)j FH(is)f(denoted)f(b)o(y)g
FB(v)602 1609 y Fw(i)615 1627 y FH(.)73 1730 y(In)g(b)q(oth)g(phases,)h(eac)o
(h)e(no)q(de)h FB(v)i FH(main)o(tains)f(a)f(set)g FB(Loose)1149
1737 y Fw(v)1186 1730 y FH(of)g(messages)g(that)h(ha)o(v)o(e)e(b)q(een)g
(receiv)o(ed)0 1802 y(b)o(y)20 b FB(v)h FH(but)g(ha)o(v)o(e)e(not)i(b)q(een)f
(assigned)i(to)f(an)o(y)f(queue.)33 b(A)20 b(message)g FB(u)g
FH(in)h FB(Loose)1547 1809 y Fw(v)1589 1802 y FH(with)g FB(T)1733
1809 y Fw(u)1775 1802 y FH(=)g Fx(;)f FH(has)0 1874 y FB(v)h
FH(as)g(its)g(destination.)34 b(The)20 b(notation)i(\\T)l(ransmit)g
FB(v)r FH(")d(means)i(that)f(for)g(eac)o(h)g(non-empt)o(y)f
FB(Q)1815 1881 y Fw(v)1836 1874 y FH(\()p FB(i)p FH(\),)h FB(v)0
1946 y FH(transmits)j(the)f(message)h FB(u)f FH(at)g(the)g(head)g(of)h
FB(Q)935 1953 y Fw(v)955 1946 y FH(\()p FB(i)p FH(\))f(to)g(no)q(de)h
FB(v)r Fx(jj)p FB(i)e FH(and)i(causes)f FB(u)g FH(to)h(b)q(e)f(added)h(to)0
2019 y FB(Loose)125 2026 y Fw(v)q Ft(jj)p Fw(i)178 2019 y FH(.)e(A)15
b(phase)i(is)g FF(\014nishe)n(d)f FH(when)g(for)g(all)i(messages)e
FB(u)p FH(,)f FB(T)1186 2026 y Fw(u)1222 2019 y FH(=)f Fx(;)p
FH(.)21 b(V)l(alian)o(t's)c(algorithm)h(is)e(said)i(to)0 2091
y(\014nish)f(successfully)g(if)g(b)q(oth)g(phases)g(of)g(the)f(algorithm)i
(\014nish.)0 2259 y Fy(MessageR)n(oute)e(Phase)g(1)30 b Fp(f)24
b Fo(\(*)f(algorithm)g(used)g(by)h(node)f Fn(v)i Fo(*\))143
2344 y Fn(Loose)260 2351 y Fw(v)304 2344 y Fo(:=)f Fp(f)p Fn(v)r
Fp(g)p Fo(;)143 2429 y Fn(T)170 2436 y Fw(v)214 2429 y Fo(:=)f
Fp(f)p Fz(1)p Fn(;)8 b Fz(.)g(.)g(.)t Fn(;)g(n)p Fp(g)p Fo(;)143
2514 y(FOR)23 b Fn(f)29 b Fo(:=)24 b(1)f(to)h Fn(F)30 b Fo(DO)24
b Fp(f)285 2598 y Fo(FOREACH)f Fn(u)h Fo(IN)g Fn(Loose)715
2605 y Fw(v)760 2598 y Fo(WITH)f Fn(T)906 2605 y Fw(u)941 2598
y Fp(6)p Fz(=)13 b Fp(;)23 b Fo(DO)h Fp(f)428 2683 y Fo(Pick)f
Fn(i)13 b Fp(2)g Fn(T)646 2690 y Fw(u)951 2828 y FH(60)p eop
bop 428 213 a Fn(T)455 220 y Fw(u)501 213 y Fo(:=)24 b Fn(T)600
220 y Fw(u)632 213 y Fp(\000)10 b(f)p Fn(i)p Fp(g)p Fo(;)428
298 y(Pick)23 b Fn(\013)13 b Fp(2)g(f)p Fz(0)p Fn(;)8 b Fz(1)p
Fp(g)p Fo(;)428 382 y(IF)24 b Fz(\()p Fn(\013)12 b Fz(=)h(1\))p
Fp(f)571 467 y Fo(add)23 b Fn(u)h Fo(to)g Fn(Q)824 474 y Fw(v)844
467 y Fz(\()p Fn(i)p Fz(\))p Fo(;)571 552 y Fn(Loose)688 559
y Fw(v)732 552 y Fo(:=)g Fn(Loose)921 559 y Fw(v)952 552 y
Fp(\000)11 b(f)p Fn(u)p Fp(g)p Fo(;)428 636 y Fp(g)24 b Fo(\(*)f(end)h(IF)f
(*\))285 721 y Fp(g)h Fo(\(*)g(end)f(FOREACH)g(*\))285 806
y(Transmit)g Fn(v)143 890 y Fp(g)g Fo(\(*)h(end)f(FOR)h(*\))0
975 y Fp(g)0 1228 y Fy(MessageR)n(oute)16 b(Phase)g(2)30 b
Fp(f)24 b Fo(\(*)f(algorithm)g(used)g(by)h(node)f Fn(v)i Fo(*\))143
1313 y(FOREACH)e(message)f Fn(u)i Fo(with)g(destination)e Fn(w)j
Fo(at)e Fn(v)j Fo(DO)285 1398 y Fn(T)312 1405 y Fw(u)358 1398
y Fo(:=)e Fp(f)p Fn(i)p Fp(j)p Fn(v)506 1381 y Fw(i)531 1398
y Fp(6)p Fz(=)13 b Fn(w)613 1381 y Fw(i)627 1398 y Fp(g)143
1482 y Fo(FOR)23 b Fn(g)i Fo(:=)f(1)g(to)f Fn(G)h Fo(DO)f Fp(f)285
1567 y Fo(FOREACH)g Fn(u)h Fo(IN)g Fn(Loose)715 1574 y Fw(v)760
1567 y Fo(WITH)f Fn(T)906 1574 y Fw(u)941 1567 y Fp(6)p Fz(=)13
b Fp(;)23 b Fo(DO)h Fp(f)428 1652 y Fo(Pick)f Fn(i)13 b Fp(2)g
Fn(T)646 1659 y Fw(u)428 1736 y Fn(T)455 1743 y Fw(u)501 1736
y Fo(:=)24 b Fn(T)600 1743 y Fw(u)632 1736 y Fp(\000)10 b(f)p
Fn(i)p Fp(g)p Fo(;)428 1821 y(add)23 b Fn(u)h Fo(to)g Fn(Q)681
1828 y Fw(v)701 1821 y Fz(\()p Fn(i)p Fz(\))p Fo(;)428 1906
y Fn(Loose)545 1913 y Fw(v)590 1906 y Fo(:=)f Fn(Loose)778
1913 y Fw(v)809 1906 y Fp(\000)11 b(f)p Fn(u)p Fp(g)p Fo(;)285
1990 y Fp(g)24 b Fo(\(*)g(end)f(FOREACH)g(*\))285 2075 y(Transmit)g
Fn(v)143 2160 y Fp(g)g Fo(\(*)h(end)f(FOR)h(*\))0 2245 y Fp(g)73
2485 y FH(The)13 b(algorithm)h(is)g(sync)o(hronous)f(in)g(the)g(sense)f(that)
i(for)e(eac)o(h)h(iteration)h(of)f(b)q(oth)g(phases,)h(all)g(no)q(des)0
2558 y(transmit)i(concurren)o(tly)l(,)f(and)h(that)g(all)h(transmitted)g
(messages)f(are)f(added)h(to)g(the)f FB(Loose)i FH(sets)e(of)h(the)0
2630 y(recipien)o(ts)j(b)q(efore)h(the)f(recipien)o(ts)g(b)q(egin)h(the)f
(next)g(iteration.)31 b(This)21 b(restriction,)f(ho)o(w)o(ev)o(er,)f(can)g(b)
q(e)0 2702 y(relaxed)d([VB81].)951 2828 y(61)p eop
bop 73 195 a FH(Also,)16 b(note)e(that)i(the)e(t)o(w)o(o)h(phases)g(run)g
(for)g FB(F)21 b FH(and)16 b FB(G)f FH(iterations,)h(resp)q(ectiv)o(ely)l(.)k
(It)15 b(is)g(clear)g(that)h(if)0 267 y FB(G)h FH(is)g(to)q(o)g(small,)h(all)
f(messages)g(migh)o(t)g(not)g(reac)o(h)f(their)g(\014nal)i(destinations.)23
b(V)l(alian)o(t)18 b(sho)o(ws)f(that)g(for)0 340 y(b)q(oth)i(phases)g(to)g
(\014nish)h(successfully)f(with)g(probabilit)o(y)h(greater)f(than)f(1)13
b Fx(\000)g FH(2)1492 321 y Ft(\000)p Fw(S)r(n)1566 340 y FH(,)19
b(for)f(an)o(y)h(constan)o(t)0 412 y FB(S)s FH(,)j FB(F)27
b FH(and)22 b FB(G)f FH(need)g(b)q(e)g(no)g(greater)g(than)h
FB(C)t(n)p FH(,)f(where)g FB(C)j FH(is)e(a)f(constan)o(t)h(that)f(dep)q(ends)
h(on)f FB(S)s FH(.)35 b(In)0 484 y(other)15 b(w)o(ords,)g(b)q(oth)g(phases)h
(of)f(the)f(algorithm)j(terminate)d(correctly)g(in)i FB(O)q
FH(\()p FB(n)p FH(\))f(time)f(with)i(probabilit)o(y)0 556 y(1)c
Fx(\000)g FH(2)111 538 y Ft(\000)p Fw(S)r(n)185 556 y FH(,)17
b(for)h(an)o(y)f(constan)o(t)h FB(S)s FH(.)24 b(The)17 b(assumption)i(of)f
(course)f(is)h(that)g(individual)i(iterations)f(of)e(the)0
628 y(algorithm)h(in)f(b)q(oth)g(phases)g(run)g(in)g(constan)o(t)f(time.)21
b(F)l(ormally:)0 785 y FC(Theorem)d(3)24 b FF(F)l(or)c(any)h(c)n(onstant)g
FB(S)s FF(,)h(ther)n(e)e(is)h(a)f(c)n(onstant)i FB(C)i FF(such)d(that)g(for)f
FB(F)26 b FH(=)20 b FB(G)g FH(=)g FB(C)t(n)p FF(,)h(b)n(oth)0
857 y(phases)c(of)h(V)l(aliant's)g(r)n(outing)g(algorithm)f(\014nish)h(with)g
(pr)n(ob)n(ability)f(gr)n(e)n(ater)g(than)h FH(1)11 b Fx(\000)g
FH(2)1658 839 y Ft(\000)p Fw(S)r(n)1733 857 y FF(.)73 1013
y FH(In)j(b)q(oth)h(phases,)g(eac)o(h)f(message)g(tak)o(es)g(a)h
FF(r)n(oute)f FH(from)g(an)h(initial)i(no)q(de)d(to)h(another)g(no)q(de,)g
(where)f(a)0 1085 y(route)h(is)h(de\014ned)f(as)h(a)g(path)g(in)f(the)g
FB(n)p FH(-cub)q(e)h(where)f(no)h(t)o(w)o(o)f(edges)g(tra)o(v)o(erse)f(the)h
(same)g(dimension.)22 b(It)0 1158 y(is)14 b(clear)g(that)f(no)h(route)f(is)i
(longer)f(than)g FB(n)p FH(.)20 b(Therefore,)13 b(the)g(theorem)g(is)h(pro)o
(v)o(ed)e(once)i(it)f(is)h(established)0 1230 y(that)g(the)g(queuing)h(dela)o
(ys)f(encoun)o(tered)f(along)j(the)e(routes)h(are)f FB(O)q
FH(\()p FB(n)p FH(\))g(with)h(probabilit)o(y)h(greater)e(than)0
1302 y(1)d Fx(\000)g FH(2)109 1284 y Ft(\000)p Fw(S)r(n)184
1302 y FH(.)73 1404 y(Queuing)k(dela)o(ys)f(can)f(o)q(ccur)h(for)g(a)g
(message)g FB(u)g FH(only)g(if)g(the)g(route)f(tak)o(en)h(b)o(y)f(other)g
(messages)i(share)0 1476 y(common)k(edges)f(with)i(the)e(route)h(tak)o(en)f
(b)o(y)g FB(u)p FH(.)29 b(Analysis)20 b(sho)o(ws)f(that)g(for)g
FB(C)i(>)d FH(1,)i(the)e(probabilit)o(y)0 1549 y(that)j(an)o(y)f(\014xed)g
(route)g FB(R)h FH(shares)f(edges)h(with)g(routes)f(tak)o(en)g(b)o(y)g
FB(C)t(n)g FH(other)g(messages)h(is)g(less)f(than)0 1621 y
FB(e)23 1603 y Ft(\000)p Fw(C)r(n=)p FI(4)154 1621 y FH(in)d(either)h(phase)f
(of)h(the)f(algorithm.)26 b(Therefore,)17 b(queueing)g(dela)o(ys)h(are)f
(also)i FB(O)q FH(\()p FB(n)p FH(\))f(pro)o(vided)0 1693 y(eac)o(h)c(of)h
(the)g(routes)g(that)h(in)o(tersect)e FB(R)h FH(causes)g(no)h(more)e(than)i
(a)f(constan)o(t)g(dela)o(y)g(with)h(similarly)h(high)0 1765
y(probabilit)o(y)l(.)23 b(This)15 b(part)f(of)h(the)f(pro)q(of)h(in)o(v)o
(olv)o(es)f(the)g(estimation)i(of)f(the)f(probabilities)j(at)d(the)g(tail)i
(end)0 1838 y(of)j(a)g(binomial)i(distribution,)h(and)d(is)h(one)f(instance)h
(of)f(the)f(application)k(of)d(the)g(p)q(o)o(w)o(erful)g FF(Cherno\013)0
1910 y(b)n(ounds)d FH(analysis)j(tec)o(hnique.)73 2012 y(The)d(reader)h(is)g
(referred)e(to)i([V)l(al82])f(for)h(the)f(detailed)h(probabilisti)q(c)i
(analysis,)f(but)e(the)g(Cherno\013)0 2084 y(b)q(ounds)k(are)e(rep)q(eated)g
(here)g(for)g(completeness.)27 b(If)18 b FB(X)23 b FH(is)c(the)f(n)o(um)o(b)q
(er)f(of)i(heads)g(in)f FB(n)h FH(indep)q(enden)o(t)0 2157
y(tosses)d(of)g(a)h(coin)f(where)f(the)h(probabilit)o(y)i(of)e(a)g(head)g(in)
g(a)g(single)h(toss)g(is)f FB(p)p FH(,)g(then)g(Cherno\013)s('s)h(b)q(ounds)0
2229 y(state)f(that)654 2301 y FB(P)7 b(r)q(ob)h FH([)q FB(X)18
b Fx(\025)c FB(m)p FH(])f Fx(\024)1015 2240 y Fr(\022)1051
2267 y FB(np)p 1051 2289 54 2 v 1056 2335 a(m)1109 2240 y Fr(\023)1140
2252 y Fw(m)1173 2301 y FB(e)1196 2280 y Fw(m)p Ft(\000)p Fw(np)639
2418 y FB(P)7 b(r)q(ob)h FH([)p FB(X)19 b Fx(\025)13 b FH(\(1)f(+)f
FB(\017)p FH(\))p FB(np)p FH(])i Fx(\024)h FB(e)1176 2397 y
Ft(\000)p Fw(\017)1217 2386 y Fq(2)1235 2397 y Fw(np=)p FI(2)639
2517 y FB(P)7 b(r)q(ob)h FH([)p FB(X)18 b Fx(\024)c FH(\(1)d
Fx(\000)g FB(\017)p FH(\))p FB(np)p FH(])j Fx(\024)f FB(e)1176
2496 y Ft(\000)p Fw(\017)1217 2485 y Fq(2)1235 2496 y Fw(np=)p
FI(3)0 2616 y FH(for)k(an)o(y)f(0)e FB(<)g(\017)f(<)h FH(1,)i(and)h
FB(m)c(>)h(np)p FH(.)951 2828 y(62)p eop
bop 73 195 a FH(It)20 b(is)i(in)o(teresting)f(to)g(note)g(that)g(V)l(alian)o
(t's)g(results)h(are)e(obtained)i(b)o(y)e(deriving)i(b)q(ounds)g(on)f(the)0
267 y(probabilit)o(y)16 b(that)f(t)o(w)o(o)f(routes)h(in)o(tersect)e(and)i
(on)g(the)f(probabilit)o(y)i(that)f(t)o(w)o(o)f(routes)h(share)f(more)g(than)
0 340 y(a)k(giv)o(en)g(n)o(um)o(b)q(er)f(of)h(edges.)26 b(No)18
b(assumptions)h(are)f(made)g(ab)q(out)h(ho)o(w)f(messages)g(from)g(a)g(queue)
f(are)0 412 y(sen)o(t.)k(This)c(means)f(that)h(the)e(implemen)o(ter)h(is)g
(free)g(to)g(use)g(an)o(y)g(queuing)h(discipline.)23 b(The)16
b(algorithm)0 484 y(also)h(has)f(the)g(adv)m(an)o(tage)g(that)g(eac)o(h)f
(route)h(can)f(b)q(e)h(c)o(hosen)f(indep)q(enden)o(tly)h(of)g(an)o(y)f(other)
h(route,)f(i.e.,)0 556 y(no)i(global)h(b)q(o)q(ok-k)o(eeping)g(is)f(needed.)0
728 y FC(Message)h(Routing)i(on)e(Finite)i(Degree)d(In)n(terconnection)i(Net)
n(w)n(orks)0 863 y FH(V)l(alian)o(t's)e(algorithm)h(is)g(designed)f(for)f(h)o
(yp)q(ercub)q(es,)g(whic)o(h)g(ha)o(v)o(e)g(the)g(dra)o(wbac)o(k)g(that)h
(the)f(degree)g(of)0 935 y(eac)o(h)i(no)q(de)i(increases)f(with)h(the)f(n)o
(um)o(b)q(er)f(of)h(no)q(des)h(in)g(the)e(net)o(w)o(ork.)29
b(Aleluinas)20 b([Ale82])f(extended)0 1007 y(V)l(alian)o(t's)e(results)g(to)f
(the)g(common)g FB(b)p FH(-w)o(a)o(y)f FF(shu\017e)i FH(net)o(w)o(orks,)e
(where)g(eac)o(h)h(no)q(de)h(has)f(a)h(\014xed)f(degree)0 1079
y FB(b)p FH(,)g(regardless)h(of)g(the)f(size)g(of)g(the)g(net)o(w)o(ork.)73
1182 y(F)l(or)h(simplicit)o(y)h(of)f(exp)q(osition,)i(let)e(us)g(assume)g
FB(b)f FH(divides)i FB(N)5 b FH(,)17 b(the)f(n)o(um)o(b)q(er)g(of)h(no)q(des)
h(in)f(the)g(net-)0 1254 y(w)o(ork.)j(Then)13 b(the)f(net)o(w)o(ork)g(in)o
(terconnections)h(of)g(a)g FB(b)p FH(-w)o(a)o(y)f(sh)o(u\017e)g(net)o(w)o
(ork)g(are)h(as)g(follo)o(ws:)21 b(Assuming)0 1326 y(the)d(no)q(des)h(are)f
(n)o(um)o(b)q(ered)f(from)h(0)h(to)f FB(N)g Fx(\000)12 b FH(1,)19
b(they)e(are)h(divided)h(in)o(to)g FB(N)q(=b)g FH(blo)q(c)o(ks,)g(where)e
(the)h FB(i)p FH(th)0 1398 y(blo)q(c)o(k)c(consists)h(of)f(no)q(des)h
FB(ib;)8 b(ib)e FH(+)g(1)p FB(;)i FH(.)g(.)g(.)e FB(;)i(ib)e
FH(+)g FB(b)g Fx(\000)g FH(1)p FB(;)i FH(0)13 b Fx(\024)h FB(i)f
Fx(\024)1155 1379 y Fw(N)p 1155 1387 32 2 v 1163 1415 a(b)1198
1398 y Fx(\000)6 b FH(1.)20 b(Eac)o(h)14 b(no)q(de)g(in)h(blo)q(c)o(k)f
FB(i)f FH(is)i(allo)o(w)o(ed)0 1470 y(to)j(send)g(messages)g(to)g(all)h(no)q
(des)g(whose)f(address)h(mo)q(dulo)1153 1451 y Fw(N)p 1153
1459 V 1161 1488 a(b)1207 1470 y FH(is)g FB(i)p FH(.)25 b(Note)18
b(that)g(the)f(comm)o(unication)0 1543 y(paths)g(are)f(directed.)73
1645 y(In)c(suc)o(h)h(a)g(net)o(w)o(ork,)f(there)g(exist)h(paths)g(of)g
(length)h Fx(d)1057 1623 y FI(log)5 b Fw(N)p 1057 1633 84 2
v 1065 1662 a FI(log)h Fw(b)1145 1645 y Fx(e)13 b FH(b)q(et)o(w)o(een)e(an)o
(y)i(pair)g(of)g(no)q(des.)21 b(Ho)o(w)o(ev)o(er,)0 1717 y(the)i(b)q(est)h
(deterministic)h(routing)g(algorithms)h(kno)o(wn)e(require)f
FB(O)q FH(\(log)1385 1696 y FI(2)1413 1717 y FB(N)5 b FH(\))24
b(time)f([LPV81)q(])g(in)h(the)0 1789 y(w)o(orst)19 b(case)f(b)q(ecause)h(an)
g(appropriate)h(c)o(hoice)e(of)h(sources)g(and)g(destinations)h(can)f(cause)g
(congestion)0 1862 y(on)e(individual)i(comm)o(unication)e(lines.)73
1964 y(Aleluinas)f([Ale82])e(uses)h(randomization)i(to)e(o)o(v)o(ercome)d
(this)k(input)f(dep)q(endency)l(.)20 b(As)14 b(in)h(V)l(alian)o(t's)0
2036 y(algorithm,)k(eac)o(h)d(no)q(de)i FB(v)g FH(c)o(ho)q(oses)g(\(with)g
(equal)g(probabilit)o(y\))h(an)e(in)o(termediate)g(destination.)26
b(Ho)o(w-)0 2108 y(ev)o(er,)17 b(the)h(en)o(tire)g(path)h(to)g(the)f(in)o
(termediate)g(destination)j(is)e(c)o(hosen)f(b)o(y)g FB(v)i
FH(from)e(among)h(the)f(paths)0 2180 y(of)k(length)g Fx(d)242
2159 y FI(log)6 b Fw(N)p 242 2169 V 251 2198 a FI(log)f Fw(b)331
2180 y Fx(e)21 b FH(originating)k(at)e FB(v)r FH(.)36 b(No)q(de)22
b FB(v)h FH(then)f(sends)g(its)g(message)g(along)i(that)e(path)g(to)g(its)0
2253 y(in)o(termediate)16 b(destination.)23 b(This)18 b(constitutes)f(the)f
(\014rst)g(phase)h(of)f(the)g(algorithm.)24 b(Once)15 b(a)i(message)0
2325 y(has)g(arriv)o(ed)f(at)h(its)g(in)o(termediate)f(destination,)i(the)e
(in)o(termediate)g(destination)j(pic)o(ks,)c(uniformly)j(at)0
2397 y(random,)i(a)g(path)g(of)f(length)h Fx(d)594 2376 y FI(log)6
b Fw(N)p 594 2386 V 603 2414 a FI(log)f Fw(b)682 2397 y Fx(e)20
b FH(leading)h(from)e(itself)h(to)g(the)f(\014nal)h(destination.)32
b(The)20 b(message)0 2469 y(then)c(follo)o(ws)j(this)e(path.)23
b(This)18 b(constitutes)f(the)g(second)f(phase)i(of)e(the)h(algorithm.)24
b(In)16 b(b)q(oth)i(phases,)0 2542 y(the)i(routing)j(algorithm,)g(unlik)o(e)e
(V)l(alian)o(t's,)h(m)o(ust)f(enforce)f(a)h(queuing)g(discipline:)32
b(there)21 b(m)o(ust)f(b)q(e)0 2614 y(only)h(one)g(output)h(queue)e(p)q(er)g
(no)q(de,)i(and)g(priorit)o(y)f(m)o(ust)f(b)q(e)h(giv)o(en)g(to)g(no)q(des)h
(that)f(ha)o(v)o(e)f(tra)o(v)o(eled)0 2686 y(few)o(er)15 b(hops,)i(i.e.,)e
(those)i(that)f(are)h(late.)951 2828 y(63)p eop
bop 73 195 a FH(The)21 b(dela)o(y)h(of)f(a)h(message)g(is)g
FB(D)704 202 y FI(1)738 195 y FH(+)15 b FB(D)831 202 y FI(2)851
195 y FH(,)22 b(where)f FB(D)1073 202 y Fw(i)1109 195 y FH(is)h(the)f(dela)o
(y)h(incurred)f(in)h(the)f FB(i)p FH(th)g(phase.)0 267 y(Analysis)d(of)g(one)
f(of)g(the)g(phases)h(is)g(su\016cien)o(t,)e(since)i(the)f(t)o(w)o(o)g
(phases)g(mirror)h(eac)o(h)f(other.)23 b(There)17 b(is)0 340
y(statistically)h(no)e(di\013erence)g(b)q(et)o(w)o(een)e(the)i(dela)o(y)f(of)
h(messages)g(pro)q(ceeding)h(from)e(distinct)i(sources)f(to)0
412 y(random)e(destinations,)j(and)d(the)g(dela)o(y)g(of)g(messages)g(mo)o
(ving)h(to)f(distinct)h(destinations)h(from)e(sources)0 484
y(c)o(hosen)i(at)h(random.)73 586 y(Assuming)d(that)f(it)h(tak)o(es)e
(constan)o(t)h(time)g(to)g(send)g(a)h(message,)f(the)g(exp)q(ected)e(dela)o
(y)i(of)h(Aleluinas's)0 658 y(routing)k(algorithm)g(is)f(no)g(more)f(than)g
FB(\026)p FH(,)h(where)713 784 y FB(\026)d FH(=)856 751 y FB(b)p
813 773 107 2 v 813 819 a(b)d Fx(\000)g FH(1)924 784 y Fx(b)p
FH(log)1009 796 y Fw(b)1026 784 y FH(\()p FB(b)g Fx(\000)g
FH(1\))p FB(N)5 b Fx(c)0 908 y FH(Note)16 b(that)g FB(\026)h
FH(is)g FB(O)q FH(\(log)10 b FB(N)5 b FH(\))17 b(when)f FB(b)g
FH(is)h(a)f(constan)o(t.)22 b(This)17 b(matc)o(hes)f(the)f(exp)q(ected)h
(dela)o(y)g(of)g(V)l(alian)o(t's)0 980 y(algorithm)22 b(and)e(is)g
(accomplished)h(using)g(a)g FF(\014xe)n(d)f FH(n)o(um)o(b)q(er)f(of)h(edges)g
(p)q(er)g(v)o(ertex.)30 b(In)19 b(addition,)j(the)0 1053 y(probabilit)o(y)c
(that)f(the)f(dela)o(y)g(exceeds)f FB(c\026)i FH(for)f(an)o(y)h(message)f(is)
h(no)g(more)f(than)859 1169 y FB(b)880 1148 y Ft(\000)p Fw(c\026)p
FI(\(1)p Ft(\000)p Fw(O)q FI(\(1\)\))0 1285 y FH(where)21 b
FB(O)q FH(\(1\))i Fx(!)e FH(0)h(as)f FB(c)h Fx(!)g(1)p FH(.)35
b(Aleluinas)23 b(has)f(also)g(analyzed)g(the)e(dela)o(y)i(for)f(the)g(more)f
(general)0 1357 y(situation)f(where)e(m)o(ultiple)h(messages)g(originate)h
(at)e(eac)o(h)g(no)q(de.)24 b(The)17 b(reader)g(is)h(referred)e(to)h([Ale82])
0 1429 y(for)g(further)e(details.)73 1531 y(Both)k(algorithms)h(discussed)f
(ab)q(o)o(v)o(e)g(use)f(the)g(tec)o(hnique)g(of)g(distributed)i(input)f
(randomization.)0 1604 y(By)14 b(sending)i(messages)g(to)f(randomly)h
(selected)e(in)o(termediate)h(destinations,)i(an)o(y)d(p)q(o)q(c)o(k)o(ets)h
(of)g(conges-)0 1676 y(tions)g(arising)h(b)q(ecause)e(of)f(certain)h(unfa)o
(v)o(orable)h(p)q(erm)o(utations)f(are)g(a)o(v)o(oided.)21
b(This)14 b(approac)o(h)h(at)f(\014rst)0 1748 y(sigh)o(t,)i(app)q(ears)h(to)f
(b)q(e)g(unnatural)h(as)f(it)g(ma)o(y)g(send)f(messages)h(whic)o(h)g
(actually)h(ma)o(y)e(b)q(e)h(v)o(ery)e(close)j(to)0 1820 y(their)e(\014nal)g
(destination)h(to)f(far)g(a)o(w)o(a)o(y)f(in)o(termediate)g(destinations.)23
b(Ho)o(w)o(ev)o(er,)12 b(it)j(is)g(essen)o(tial.)22 b(F)l(or)14
b(in-)0 1893 y(stance,)f(in)h(V)l(alian)o(t's)g(algorithm,)i(it)e(can)f(b)q
(e)g(sho)o(wn)h(that)g(the)f(second)g(phase)h(alone,)h(though)f(adequate)0
1965 y(for)j(most)f(p)q(erm)o(utations,)h(do)q(es)g FF(not)g
FH(terminate)f(in)h FB(O)q FH(\(log)11 b FB(N)5 b FH(\))16
b(steps)h(for)f(some)g(p)q(erm)o(utations.)0 2136 y FC(Randomly)j(Wired)g
(Multi-Butter\015y)f(Net)n(w)n(orks)0 2270 y FF(Butter\015y)23
b(networks)g FH(are)e(used)h(in)h(man)o(y)e(parallel)j(computers,)f(suc)o(h)e
(as)i(the)e(BBN)g(Butter\015y)f(and)0 2342 y(Thinking)26 b(Mac)o(hine's)d
(CM-5,)j(to)e(pro)o(vide)h(paths)f(of)h(length)f(log)11 b FB(N)29
b FH(connecting)24 b FB(N)29 b FH(inputs)c(to)g FB(N)0 2415
y FH(outputs.)d(F)l(or)16 b(simplicit)o(y)l(,)g FB(N)21 b FH(is)c(usually)g
(tak)o(en)e(to)h(b)q(e)g(a)g(p)q(o)o(w)o(er)g(of)g(2.)21 b(The)16
b(path)g(b)q(et)o(w)o(een)f(an)o(y)g(input)0 2487 y(and)k(output)h(is)g(of)f
(length)g(log)11 b FB(N)5 b FH(.)29 b(These)19 b(inputs)h(and)f(outputs)h
(could)f(b)q(e)g(pro)q(cessors,)i(memory)l(,)d(or)0 2559 y(other)g
(resources.)25 b(An)17 b(instance)h(of)g(a)g(butter\015y)f(net)o(w)o(ork)g
(with)h FB(N)j FH(=)16 b(8)i(is)g(sho)o(wn)g(in)h(Figure)f(7.)25
b(The)0 2631 y(inputs)16 b(to)g(the)f(net)o(w)o(ork)f(are)h(on)h(the)f(left,)
g(and)h(the)f(outputs)h(of)f(the)g(net)o(w)o(ork)g(are)g(on)h(the)f(righ)o
(t.)21 b(Eac)o(h)0 2704 y(no)q(de)d(is)f(a)h(switc)o(h)f(that)h(accepts)e
(messages)i(from)f(its)h(neigh)o(b)q(ors)g(to)f(the)g(left)g(and)h(can)f
(send)g(them)g(to)951 2828 y(64)p eop
bop 0 675 a
 30785863 21857960 6578176 26312704 29601792 42758144 startTexFig
0 675 a
%%BeginDocument: butterfly.shaded.ps
/FMversion (3.0) def 
	/FMPrintInColor systemdict /colorimage known
		systemdict /currentcolortransfer known or def
/FrameDict 195 dict def 
systemdict /errordict known not {/errordict 10 dict def
		errordict /rangecheck {stop} put} if
FrameDict /tmprangecheck errordict /rangecheck get put 
errordict /rangecheck {FrameDict /bug true put} put 
FrameDict /bug false put 
mark 
currentfile 5 string readline
00
0000000000
cleartomark 
errordict /rangecheck FrameDict /tmprangecheck get put 
FrameDict /bug get { 
	/readline {
		/gstring exch def
		/gfile exch def
		/gindex 0 def
		{
			gfile read pop 
			dup 10 eq {exit} if 
			dup 13 eq {exit} if 
			gstring exch gindex exch put 
			/gindex gindex 1 add def 
		} loop
		pop 
		gstring 0 gindex getinterval true 
		} def
	} if
/FMVERSION {
	FMversion ne {
		/Times-Roman findfont 18 scalefont setfont
		100 100 moveto
		(FrameMaker version does not match postscript_prolog!)
		dup =
		show showpage
		} if
	} def 
/FMLOCAL {
	FrameDict begin
	0 def 
	end 
	} def 
	/gstring FMLOCAL
	/gfile FMLOCAL
	/gindex FMLOCAL
	/orgxfer FMLOCAL
	/orgproc FMLOCAL
	/organgle FMLOCAL
	/orgfreq FMLOCAL
	/yscale FMLOCAL
	/xscale FMLOCAL
	/manualfeed FMLOCAL
	/paperheight FMLOCAL
	/paperwidth FMLOCAL
/FMDOCUMENT { 
	array /FMfonts exch def 
	/#copies exch def
	FrameDict begin
	0 ne dup {setmanualfeed} if
	/manualfeed exch def
	/paperheight exch def
	/paperwidth exch def
	/yscale exch def
	/xscale exch def
	currenttransfer cvlit /orgxfer exch def
	currentscreen cvlit /orgproc exch def
	/organgle exch def /orgfreq exch def
	setpapername 
	manualfeed {true} {papersize} ifelse 
	{manualpapersize} {false} ifelse 
	{desperatepapersize} if
	end 
	} def 
	/pagesave FMLOCAL
	/orgmatrix FMLOCAL
	/landscape FMLOCAL
/FMBEGINPAGE { 
	FrameDict begin 
	/pagesave save def
	3.86 setmiterlimit
	/landscape exch 0 ne def
	landscape { 
		90 rotate 0 exch neg translate pop 
		}
		{pop pop}
		ifelse
	xscale yscale scale
	/orgmatrix matrix def
	gsave 
	} def 
/FMENDPAGE {
	grestore 
	pagesave restore
	end 
	showpage
	} def 
/FMFONTDEFINE { 
	FrameDict begin
	findfont 
	ReEncode 
	1 index exch 
	definefont 
	FMfonts 3 1 roll 
	put
	end 
	} def 
/FMFILLS {
	FrameDict begin
	array /fillvals exch def
	end 
	} def 
/FMFILL {
	FrameDict begin
	 fillvals 3 1 roll put
	end 
	} def 
/FMNORMALIZEGRAPHICS { 
	newpath
	0.0 0.0 moveto
	1 setlinewidth
	0 setlinecap
	0 0 0 sethsbcolor
	0 setgray 
	} bind def
	/fx FMLOCAL
	/fy FMLOCAL
	/fh FMLOCAL
	/fw FMLOCAL
	/llx FMLOCAL
	/lly FMLOCAL
	/urx FMLOCAL
	/ury FMLOCAL
/FMBEGINEPSF { 
	end 
	/FMEPSF save def 
	/showpage {} def 
	FMNORMALIZEGRAPHICS 
	[/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall 
	fx fy translate 
	rotate
	fw urx llx sub div fh ury lly sub div scale 
	llx neg lly neg translate 
	} bind def
/FMENDEPSF {
	FMEPSF restore
	FrameDict begin 
	} bind def
FrameDict begin 
/setmanualfeed {
	 statusdict /manualfeed true put
	} def
/max {2 copy lt {exch} if pop} bind def
/min {2 copy gt {exch} if pop} bind def
/inch {72 mul} def
/pagedimen { 
	paperheight sub abs 16 lt exch 
	paperwidth sub abs 16 lt and
	{/papername exch def} {pop} ifelse
	} def
	/papersizedict FMLOCAL
/setpapername { 
	/papersizedict 14 dict def 
	papersizedict begin
	/papername /unknown def 
		/Letter 8.5 inch 11.0 inch pagedimen
		/LetterSmall 7.68 inch 10.16 inch pagedimen
		/Tabloid 11.0 inch 17.0 inch pagedimen
		/Ledger 17.0 inch 11.0 inch pagedimen
		/Legal 8.5 inch 14.0 inch pagedimen
		/Statement 5.5 inch 8.5 inch pagedimen
		/Executive 7.5 inch 10.0 inch pagedimen
		/A3 11.69 inch 16.5 inch pagedimen
		/A4 8.26 inch 11.69 inch pagedimen
		/A4Small 7.47 inch 10.85 inch pagedimen
		/B4 10.125 inch 14.33 inch pagedimen
		/B5 7.16 inch 10.125 inch pagedimen
	end
	} def
/papersize {
	papersizedict begin
		/Letter {lettertray letter} def
		/LetterSmall {lettertray lettersmall} def
		/Tabloid {11x17tray 11x17} def
		/Ledger {ledgertray ledger} def
		/Legal {legaltray legal} def
		/Statement {statementtray statement} def
		/Executive {executivetray executive} def
		/A3 {a3tray a3} def
		/A4 {a4tray a4} def
		/A4Small {a4tray a4small} def
		/B4 {b4tray b4} def
		/B5 {b5tray b5} def
		/unknown {unknown} def
	papersizedict dup papername known {papername} {/unknown} ifelse get
	end
	/FMdicttop countdictstack 1 add def 
	statusdict begin stopped end 
	countdictstack -1 FMdicttop {pop end} for 
	} def
/manualpapersize {
	papersizedict begin
		/Letter {letter} def
		/LetterSmall {lettersmall} def
		/Tabloid {11x17} def
		/Ledger {ledger} def
		/Legal {legal} def
		/Statement {statement} def
		/Executive {executive} def
		/A3 {a3} def
		/A4 {a4} def
		/A4Small {a4small} def
		/B4 {b4} def
		/B5 {b5} def
		/unknown {unknown} def
	papersizedict dup papername known {papername} {/unknown} ifelse get
	end
	stopped 
	} def
/desperatepapersize {
	statusdict /setpageparams known
		{
		paperwidth paperheight 0 1 
		statusdict begin
		{setpageparams} stopped pop 
		end
		} if
	} def
/savematrix {
	orgmatrix currentmatrix pop
	} bind def
/restorematrix {
	orgmatrix setmatrix
	} bind def
/dmatrix matrix def
/dpi    72 0 dmatrix defaultmatrix dtransform
    dup mul exch   dup mul add   sqrt def
/freq dpi 18.75 div 8 div round dup 0 eq {pop 1} if 8 mul dpi exch div def
/sangle 1 0 dmatrix defaultmatrix dtransform exch atan def
/DiacriticEncoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl
/numbersign /dollar /percent /ampersand /quotesingle /parenleft
/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K
/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash
/bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h
/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar
/braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute
/Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis
/atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis
/iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve
/ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex
/udieresis /dagger /.notdef /cent /sterling /section /bullet
/paragraph /germandbls /registered /copyright /trademark /acute
/dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef
/yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown
/exclamdown /logicalnot /.notdef /florin /.notdef /.notdef
/guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde
/Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright
/quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis
/fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl
/periodcentered /quotesinglbase /quotedblbase /perthousand
/Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute
/Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve
/Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron
/breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
] def
/ReEncode { 
	dup 
	length 
	dict begin 
	{
	1 index /FID ne 
		{def} 
		{pop pop} ifelse 
	} forall 
	0 eq {/Encoding DiacriticEncoding def} if 
	currentdict 
	end 
	} bind def
/graymode true def
	/bwidth FMLOCAL
	/bpside FMLOCAL
	/bstring FMLOCAL
	/onbits FMLOCAL
	/offbits FMLOCAL
	/xindex FMLOCAL
	/yindex FMLOCAL
	/x FMLOCAL
	/y FMLOCAL
/setpattern {
	 /bwidth  exch def
	 /bpside  exch def
	 /bstring exch def
	 /onbits 0 def  /offbits 0 def
	 freq sangle landscape {90 add} if 
		{/y exch def
		 /x exch def
		 /xindex x 1 add 2 div bpside mul cvi def
		 /yindex y 1 add 2 div bpside mul cvi def
		 bstring yindex bwidth mul xindex 8 idiv add get
		 1 7 xindex 8 mod sub bitshift and 0 ne
		 {/onbits  onbits  1 add def 1}
		 {/offbits offbits 1 add def 0}
		 ifelse
		}
		setscreen
	 {} settransfer
	 offbits offbits onbits add div FMsetgray
	/graymode false def
	} bind def
/grayness {
	FMsetgray
	graymode not {
		/graymode true def
		orgxfer cvx settransfer
		orgfreq organgle orgproc cvx setscreen
		} if
	} bind def
	/HUE FMLOCAL
	/SAT FMLOCAL
	/BRIGHT FMLOCAL
	/Colors FMLOCAL
FMPrintInColor 
	
	{
	/HUE 0 def
	/SAT 0 def
	/BRIGHT 0 def
	% array of arrays Hue and Sat values for the separations [HUE BRIGHT]
	/Colors   
	[[0    0  ]    % black
	 [0    0  ]    % white
	 [0.00 1.0]    % red
	 [0.37 1.0]    % green
	 [0.60 1.0]    % blue
	 [0.50 1.0]    % cyan
	 [0.83 1.0]    % magenta
	 [0.16 1.0]    % comment / yellow
	 ] def
      
	/BEGINBITMAPCOLOR { 
		BITMAPCOLOR} def
	/BEGINBITMAPCOLORc { 
		BITMAPCOLORc} def
	/BEGINBITMAPTRUECOLOR { 
		BITMAPTRUECOLOR } def
	/BEGINBITMAPTRUECOLORc { 
		BITMAPTRUECOLORc } def
	/K { 
		Colors exch get dup
		0 get /HUE exch store 
		1 get /BRIGHT exch store
		  HUE 0 eq BRIGHT 0 eq and
			{1.0 SAT sub setgray}
			{HUE SAT BRIGHT sethsbcolor} 
		  ifelse
		} def
	/FMsetgray { 
		/SAT exch 1.0 exch sub store 
		  HUE 0 eq BRIGHT 0 eq and
			{1.0 SAT sub setgray}
			{HUE SAT BRIGHT sethsbcolor} 
		  ifelse
		} bind def
	}
	
	{
	/BEGINBITMAPCOLOR { 
		BITMAPGRAY} def
	/BEGINBITMAPCOLORc { 
		BITMAPGRAYc} def
	/BEGINBITMAPTRUECOLOR { 
		BITMAPTRUEGRAY } def
	/BEGINBITMAPTRUECOLORc { 
		BITMAPTRUEGRAYc } def
	/FMsetgray {setgray} bind def
	/K { 
		pop
		} def
	}
ifelse
/normalize {
	transform round exch round exch itransform
	} bind def
/dnormalize {
	dtransform round exch round exch idtransform
	} bind def
/lnormalize { 
	0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop
	} bind def
/H { 
	lnormalize setlinewidth
	} bind def
/Z {
	setlinecap
	} bind def
	/fillvals FMLOCAL
/X { 
	fillvals exch get
	dup type /stringtype eq
	{8 1 setpattern} 
	{grayness}
	ifelse
	} bind def
/V { 
	gsave eofill grestore
	} bind def
/N { 
	stroke
	} bind def
/M {newpath moveto} bind def
/E {lineto} bind def
/D {curveto} bind def
/O {closepath} bind def
	/n FMLOCAL
/L { 
 	/n exch def
	newpath
	normalize
	moveto 
	2 1 n {pop normalize lineto} for
	} bind def
/Y { 
	L 
	closepath
	} bind def
	/x1 FMLOCAL
	/x2 FMLOCAL
	/y1 FMLOCAL
	/y2 FMLOCAL
	/rad FMLOCAL
/R { 
	/y2 exch def
	/x2 exch def
	/y1 exch def
	/x1 exch def
	x1 y1
	x2 y1
	x2 y2
	x1 y2
	4 Y 
	} bind def
/RR { 
	/rad exch def
	normalize
	/y2 exch def
	/x2 exch def
	normalize
	/y1 exch def
	/x1 exch def
	newpath
	x1 y1 rad add moveto
	x1 y2 x2 y2 rad arcto
	x2 y2 x2 y1 rad arcto
	x2 y1 x1 y1 rad arcto
	x1 y1 x1 y2 rad arcto
	closepath
	16 {pop} repeat
	} bind def
/C { 
	grestore
	gsave
	R 
	clip
	} bind def
	/FMpointsize FMLOCAL
/F { 
	FMfonts exch get
	FMpointsize scalefont
	setfont
	} bind def
/Q { 
	/FMpointsize exch def
	F 
	} bind def
/T { 
	moveto show
	} bind def
/RF { 
	rotate
	0 ne {-1 1 scale} if
	} bind def
/TF { 
	gsave
	moveto 
	RF
	show
	grestore
	} bind def
/P { 
	moveto
	0 32 3 2 roll widthshow
	} bind def
/PF { 
	gsave
	moveto 
	RF
	0 32 3 2 roll widthshow
	grestore
	} bind def
/S { 
	moveto
	0 exch ashow
	} bind def
/SF { 
	gsave
	moveto
	RF
	0 exch ashow
	grestore
	} bind def
/B { 
	moveto
	0 32 4 2 roll 0 exch awidthshow
	} bind def
/BF { 
	gsave
	moveto
	RF
	0 32 4 2 roll 0 exch awidthshow
	grestore
	} bind def
/G { 
	gsave
	newpath
	normalize translate 0.0 0.0 moveto 
	dnormalize scale 
	0.0 0.0 1.0 5 3 roll arc 
	closepath fill
	grestore
	} bind def
/A { 
	gsave
	savematrix
	newpath
	2 index 2 div add exch 3 index 2 div sub exch 
	normalize 2 index 2 div sub exch 3 index 2 div add exch 
	translate 
	scale 
	0.0 0.0 1.0 5 3 roll arc 
	restorematrix
	stroke
	grestore
	} bind def
	/x FMLOCAL
	/y FMLOCAL
	/w FMLOCAL
	/h FMLOCAL
	/xx FMLOCAL
	/yy FMLOCAL
	/ww FMLOCAL
	/hh FMLOCAL
	/FMsaveobject FMLOCAL
	/FMoptop FMLOCAL
	/FMdicttop FMLOCAL
/BEGINPRINTCODE { 
	/FMdicttop countdictstack 1 add def 
	/FMoptop count 4 sub def 
	/FMsaveobject save def
	userdict begin 
	/showpage {} def 
	FMNORMALIZEGRAPHICS 
	3 index neg 3 index neg translate
	} bind def
/ENDPRINTCODE {
	count -1 FMoptop {pop pop} for 
	countdictstack -1 FMdicttop {pop end} for 
	FMsaveobject restore 
	} bind def
/gn { 
	0 
	{	46 mul 
		cf read pop 
		32 sub 
		dup 46 lt {exit} if 
		46 sub add 
		} loop
	add 
	} bind def
	/str FMLOCAL
/cfs { 
	/str sl string def 
	0 1 sl 1 sub {str exch val put} for 
	str def 
	} bind def
/ic [ 
	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
	0
	{0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx}
	{10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx}
	{19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12}
	{13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh}
	{4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh}
	{13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl}
	{7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl}
	{0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl}
	{10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl}
	] def
	/sl FMLOCAL
	/val FMLOCAL
	/ws FMLOCAL
	/im FMLOCAL
	/bs FMLOCAL
	/cs FMLOCAL
	/len FMLOCAL
	/pos FMLOCAL
/ms { 
	/sl exch def 
	/val 255 def 
	/ws cfs 
	/im cfs 
	/val 0 def 
	/bs cfs 
	/cs cfs 
	} bind def
400 ms 
/ip { 
	is 
	0 
	cf cs readline pop 
	{	ic exch get exec 
		add 
		} forall 
	pop 
	
	} bind def
/wh { 
	/len exch def 
	/pos exch def 
	ws 0 len getinterval im pos len getinterval copy pop
	pos len 
	} bind def
/bl { 
	/len exch def 
	/pos exch def 
	bs 0 len getinterval im pos len getinterval copy pop
	pos len 
	} bind def
/s1 1 string def
/fl { 
	/len exch def 
	/pos exch def 
	/val cf s1 readhexstring pop 0 get def
	pos 1 pos len add 1 sub {im exch val put} for
	pos len 
	} bind def
/hx { 
	3 copy getinterval 
	cf exch readhexstring pop pop 
	} bind def
	/h FMLOCAL
	/w FMLOCAL
	/d FMLOCAL
	/lb FMLOCAL
	/bitmapsave FMLOCAL
	/is FMLOCAL
	/cf FMLOCAL
/wbytes { 
	dup 
	8 eq {pop} {1 eq {7 add 8 idiv} {3 add 4 idiv} ifelse} ifelse
	} bind def
/BEGINBITMAPBWc { 
	1 {} COMMONBITMAPc
	} bind def
/BEGINBITMAPGRAYc { 
	8 {} COMMONBITMAPc
	} bind def
/BEGINBITMAP2BITc { 
	2 {} COMMONBITMAPc
	} bind def
/COMMONBITMAPc { 
	/r exch def
	/d exch def
	gsave
	translate rotate scale /h exch def /w exch def
	/lb w d wbytes def 
	sl lb lt {lb ms} if 
	/bitmapsave save def 
	r                    
	/is im 0 lb getinterval def 
	ws 0 lb getinterval is copy pop 
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ip} image 
	bitmapsave restore 
	grestore
	} bind def
/BEGINBITMAPBW { 
	1 {} COMMONBITMAP
	} bind def
/BEGINBITMAPGRAY { 
	8 {} COMMONBITMAP
	} bind def
/BEGINBITMAP2BIT { 
	2 {} COMMONBITMAP
	} bind def
/COMMONBITMAP { 
	/r exch def
	/d exch def
	gsave
	translate rotate scale /h exch def /w exch def
	/bitmapsave save def 
	r                    
	/is w d wbytes string def
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{cf is readhexstring pop} image
	bitmapsave restore 
	grestore
	} bind def
	/proc1 FMLOCAL
	/proc2 FMLOCAL
	/newproc FMLOCAL
/Fmcc {
    /proc2 exch cvlit def
    /proc1 exch cvlit def
    /newproc proc1 length proc2 length add array def
    newproc 0 proc1 putinterval
    newproc proc1 length proc2 putinterval
    newproc cvx
} bind def
/ngrayt 256 array def
/nredt 256 array def
/nbluet 256 array def
/ngreent 256 array def
	/gryt FMLOCAL
	/blut FMLOCAL
	/grnt FMLOCAL
	/redt FMLOCAL
	/indx FMLOCAL
	/cynu FMLOCAL
	/magu FMLOCAL
	/yelu FMLOCAL
	/k FMLOCAL
	/u FMLOCAL
/colorsetup {
	currentcolortransfer
	/gryt exch def
	/blut exch def
	/grnt exch def
	/redt exch def
	0 1 255 {
		/indx exch def
		/cynu 1 red indx get 255 div sub def
		/magu 1 green indx get 255 div sub def
		/yelu 1 blue indx get 255 div sub def
		/k cynu magu min yelu min def
		/u k currentundercolorremoval exec def
		nredt indx 1 0 cynu u sub max sub redt exec put
		ngreent indx 1 0 magu u sub max sub grnt exec put
		nbluet indx 1 0 yelu u sub max sub blut exec put
		ngrayt indx 1 k currentblackgeneration exec sub gryt exec put
	} for
	{255 mul cvi nredt exch get}
	{255 mul cvi ngreent exch get}
	{255 mul cvi nbluet exch get}
	{255 mul cvi ngrayt exch get}
	setcolortransfer
	{pop 0} setundercolorremoval
	{} setblackgeneration
	} bind def
	/tran FMLOCAL
/fakecolorsetup {
	/tran 256 string def
	0 1 255 {/indx exch def 
		tran indx
		red indx get 77 mul
		green indx get 151 mul
		blue indx get 28 mul
		add add 256 idiv put} for
	currenttransfer
	{255 mul cvi tran exch get 255.0 div}
	exch Fmcc settransfer
} bind def
/BITMAPCOLOR { 
	/d 8 def
	gsave
	translate rotate scale /h exch def /w exch def
	/bitmapsave save def 
	colorsetup
	/is w d wbytes string def
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{cf is readhexstring pop} {is} {is} true 3 colorimage 
	bitmapsave restore 
	grestore
	} bind def
/BITMAPCOLORc { 
	/d 8 def
	gsave
	translate rotate scale /h exch def /w exch def
	/lb w d wbytes def 
	sl lb lt {lb ms} if 
	/bitmapsave save def 
	colorsetup
	/is im 0 lb getinterval def 
	ws 0 lb getinterval is copy pop 
	/cf currentfile def 
	w h d [w 0 0 h neg 0 h] 
	{ip} {is} {is} true 3 colorimage
	bitmapsave restore 
	grestore
	} bind def
/BITMAPTRUECOLORc { 
        gsave
        translate rotate scale /h exch def /w exch def
        /bitmapsave save def 
        
        /is w string def
        
        ws 0 w getinterval is copy pop 
        /cf currentfile def 
        w h 8 [w 0 0 h neg 0 h] 
        {ip} {gip} {bip} true 3 colorimage
        bitmapsave restore 
        grestore
        } bind def
/BITMAPTRUECOLOR { 
        gsave
        translate rotate scale /h exch def /w exch def
        /bitmapsave save def 
        /is w string def
        /gis w string def
        /bis w string def
        /cf currentfile def 
        w h 8 [w 0 0 h neg 0 h] 
        { cf is readhexstring pop } 
        { cf gis readhexstring pop } 
        { cf bis readhexstring pop } 
        true 3 colorimage 
        bitmapsave restore 
        grestore
        } bind def
/BITMAPTRUEGRAYc { 
        gsave
        translate rotate scale /h exch def /w exch def
        /bitmapsave save def 
        
        /is w string def
        
        ws 0 w getinterval is copy pop 
        /cf currentfile def 
        w h 8 [w 0 0 h neg 0 h] 
        {ip gip bip w gray} image
        bitmapsave restore 
        grestore
        } bind def
/ww FMLOCAL
/r FMLOCAL
/g FMLOCAL
/b FMLOCAL
/i FMLOCAL
/gray { 
        /ww exch def
        /b exch def
        /g exch def
        /r exch def
        0 1 ww 1 sub { /i exch def r i get .299 mul g i get .587 mul
			b i get .114 mul add add r i 3 -1 roll floor cvi put } for
        r
        } bind def
/BITMAPTRUEGRAY { 
        gsave
        translate rotate scale /h exch def /w exch def
        /bitmapsave save def 
        /is w string def
        /gis w string def
        /bis w string def
        /cf currentfile def 
        w h 8 [w 0 0 h neg 0 h] 
        { cf is readhexstring pop 
          cf gis readhexstring pop 
          cf bis readhexstring pop w gray}  image
        bitmapsave restore 
        grestore
        } bind def
/BITMAPGRAY { 
	8 {fakecolorsetup} COMMONBITMAP
	} bind def
/BITMAPGRAYc { 
	8 {fakecolorsetup} COMMONBITMAPc
	} bind def
/ENDBITMAP {
	} bind def
end 
	/ALDsave FMLOCAL
	/ALDmatrix matrix def ALDmatrix currentmatrix pop
/StartALD {
	/ALDsave save def
	 savematrix
	 ALDmatrix setmatrix
	} bind def
/InALD {
	 restorematrix
	} bind def
/DoneALD {
	 ALDsave restore
	} bind def
(3.0) FMVERSION
1 1 612 792 0 1 1 FMDOCUMENT
0 0 /Times-Roman FMFONTDEFINE
32 FMFILLS
0 0 FMFILL
1 0.1 FMFILL
2 0.3 FMFILL
3 0.5 FMFILL
4 0.7 FMFILL
5 0.9 FMFILL
6 0.97 FMFILL
7 1 FMFILL
8 <0f1e3c78f0e1c387> FMFILL
9 <0f87c3e1f0783c1e> FMFILL
10 <cccccccccccccccc> FMFILL
11 <ffff0000ffff0000> FMFILL
12 <8142241818244281> FMFILL
13 <03060c183060c081> FMFILL
14 <8040201008040201> FMFILL
16 1 FMFILL
17 0.9 FMFILL
18 0.7 FMFILL
19 0.5 FMFILL
20 0.3 FMFILL
21 0.1 FMFILL
22 0.03 FMFILL
23 0 FMFILL
24 <f0e1c3870f1e3c78> FMFILL
25 <f0783c1e0f87c3e1> FMFILL
26 <3333333333333333> FMFILL
27 <0000ffff0000ffff> FMFILL
28 <7ebddbe7e7dbbd7e> FMFILL
29 <fcf9f3e7cf9f3f7e> FMFILL
30 <7fbfdfeff7fbfdfe> FMFILL
612 792 0 FMBEGINPAGE
72 72 540 720 C
94.44 390.02 517.56 708 C
442.43 558.01 454.43 570.01 R
4 X
0 K
V
0.5 H
2 Z
0 X
N
241.33 456.01 373.33 552.01 R
5 X
V
0 X
N
445.32 486.01 457.32 498.01 R
4 X
V
0 X
N
445.32 462.01 457.32 474.01 R
4 X
V
0 X
N
445.32 510.01 457.32 522.01 R
4 X
V
0 X
N
445.32 534.01 457.32 546.01 R
4 X
V
0 X
N
445.32 582.01 457.32 594.01 R
4 X
V
0 X
N
445.32 606 457.32 618 R
4 X
V
0 X
N
445.32 630 457.32 642 R
4 X
V
0 X
N
349.33 558.01 361.33 594.01 R
4 X
V
0 X
N
349.33 510.01 361.33 546.01 R
4 X
V
0 X
N
349.33 462.01 361.33 498.01 R
4 X
V
0 X
N
349.33 606 361.33 642 R
4 X
V
0 X
N
253.33 462.01 265.33 546.01 R
4 X
V
0 X
N
253.33 558.01 265.33 642 R
4 X
V
0 X
N
157.34 462.01 169.34 642 R
4 X
V
0 X
N
163.29 636.07 451 636.07 2 L
N
163.29 612.1 451 612.1 2 L
N
163.29 468.24 451 468.24 2 L
N
163.29 516.19 451 516.19 2 L
N
163.29 564.14 451 564.14 2 L
N
163.29 588.12 451 588.12 2 L
N
163.29 540.17 451 540.17 2 L
N
163.29 492.22 451 492.22 2 L
N
163.29 636.07 259.19 540.17 2 L
N
163.29 612.1 259.19 516.19 2 L
N
163.29 588.12 259.19 492.22 2 L
N
163.29 564.14 259.19 468.24 2 L
N
163.29 540.17 259.19 636.07 2 L
N
163.29 516.19 259.19 612.1 2 L
N
163.29 492.22 259.19 588.12 2 L
N
163.29 468.24 259.19 564.14 2 L
N
259.19 540.17 355.1 492.22 2 L
N
259.19 516.19 355.1 468.24 2 L
N
259.19 492.22 355.1 540.17 2 L
N
259.19 468.24 355.1 516.19 2 L
N
259.19 636.07 355.1 588.12 2 L
N
259.19 612.1 355.1 564.14 2 L
N
259.19 588.12 355.1 636.07 2 L
N
259.19 564.14 355.1 612.1 2 L
N
355.1 540.17 451 516.19 2 L
N
355.1 516.19 451 540.17 2 L
N
355.1 636.07 451 612.1 2 L
N
355.1 612.1 451 636.07 2 L
N
355.1 492.22 451 468.24 2 L
N
355.1 468.24 451 492.22 2 L
N
355.33 587.98 451.23 564.01 2 L
N
355.33 564.01 451.23 587.98 2 L
N
0 12 Q
(0) 163.34 648 T
(1) 259.33 648 T
(2) 355.33 648 T
(3) 451.32 648 T
(level) 283.33 672 T
(000) 133.34 636 T
(001) 133.34 612 T
(010) 133.34 588.01 T
(01) 133.34 564.01 T
(1) 144.89 564.01 T
(100) 133.34 540.01 T
(101) 133.34 516.01 T
(1) 133.34 492.01 T
(10) 138.89 492.01 T
(1) 133.34 468.01 T
(1) 138.89 468.01 T
(1) 144.44 468.01 T
(r) 106.44 558.01 T
(o) 106.44 546.01 T
(w) 106.44 534.01 T
72 72 540 720 C
0 0 612 792 C
FMENDPAGE
%%EndDocument
 0 675 a
 endTexFig
557 2173 a FH(Figure)17 b(7:)22 b(An)16 b(8-input)h(butter\015y)f(net)o(w)o
(ork)951 2828 y(65)p eop
bop 0 195 a FH(neigh)o(b)q(oring)16 b(switc)o(hes)e(to)g(the)g(righ)o(t.)21
b(The)14 b(in)o(terconnections)g(in)h(this)f(butter\015y)g(are)g(straigh)o
(tforw)o(ard:)0 267 y(eac)o(h)f(no)q(de)i FB(i)e FH(at)i(lev)o(el)e
FB(l)i FH(can)f(send)g(messages)g(to)g(no)q(des)h FB(i)f FH(and)g
FB(j)j FH(at)d(lev)o(el)g FB(l)7 b FH(+)f(1,)14 b(where)g FB(j)i
FH(is)f(the)f(n)o(um)o(b)q(er)0 340 y(whose)j(binary)h(represen)o(tation)f
(di\013ers)g(from)g FB(i)f FH(in)h(the)g FB(l)11 b FH(+)h(1st)17
b(bit)g(p)q(osition)i(alone.)24 b(F)l(or)16 b(instance,)h(in)0
412 y(Figure)h(7,)h(the)f(switc)o(h)g(in)h(ro)o(w)f(010)h(at)f(lev)o(el)g(0)g
(can)h(comm)o(unicate)e(with)i(switc)o(hes)f(in)h(ro)o(ws)f(010)h(and)0
484 y(110)e(at)g(lev)o(el)f(1.)73 586 y(There)f(is)i(a)f(simple)g(greedy)g
(algorithm)h(for)f(message)g(routing)h(on)f(a)h(butter\015y)l(,)d(b)q(est)i
(describ)q(ed)h(b)o(y)0 658 y(an)e(example.)20 b(In)15 b(Figure)g(7,)g(a)g
(message)f(to)h(destination)i(010)f(\(regardless)f(of)g(the)g(source\))f(is)i
(routed)e(as)0 731 y(follo)o(ws.)23 b(The)15 b(\014rst)h(edge)g(the)f
(message)h(tra)o(v)o(erses)f(tak)o(es)g(it)h(to)g(a)g(no)q(de)g(in)g(the)g
(top)g(four)g(ro)o(ws,)f(so)i(that)0 803 y(the)f(\014rst)h(bit)g(of)g(the)f
(ro)o(w)h(n)o(um)o(b)q(er,)e(in)i(this)h(instance)f(a)g(0,)f(matc)o(hes)g
(the)g(\014rst)h(bit)g(of)g(the)f(destination)0 875 y(ro)o(w.)25
b(The)18 b(second)g(edge)f(tak)o(es)g(the)h(message)f(to)h(a)g(no)q(de)g(in)h
(a)e(ro)o(w)h(where)f(the)h(\014rst)g(t)o(w)o(o)f(bits)h(of)g(the)0
947 y(ro)o(w)e(n)o(um)o(b)q(er)f(matc)o(h)h(the)f(\014rst)h(t)o(w)o(o)g(bits)
h(of)f(the)g(destination)h(ro)o(w,)f(and)h(the)e(last)i(edge)f(tak)o(es)g(it)
g(to)g(its)0 1020 y(correct)d(destination.)23 b(In)14 b(general,)h(the)e
FB(i)p FH(th)h(edge)g(ensures)g(that)h(bit)f(p)q(ositions)j(1)e(through)g
FB(i)f FH(of)g(the)g(ro)o(w)0 1092 y(that)j(the)f(message)g(reac)o(hes)g
(matc)o(h)g(bit)g(p)q(ositions)j(1)e(through)g FB(i)f FH(of)h(the)f
(destination)i(ro)o(w.)73 1194 y(The)c(main)h(disadv)m(an)o(tage)g(with)g
(butter\015ies)f(is)h(that)f(they)f(are)h(sensitiv)o(e)h(to)f(edge)f(or)i(no)
q(de)f(failures.)0 1266 y(Another)e(dra)o(wbac)o(k)h(is)g(the)f(p)q(ossibili)
q(t)o(y)i(of)f(congestion,)h(whic)o(h)f(o)q(ccurs)g(at)g(a)g(no)q(de)g(when)f
(t)o(w)o(o)h(incoming)0 1339 y(messages)21 b(need)e(to)i(b)q(e)f(sen)o(t)g(o)
o(v)o(er)g(the)g(same)g(outgoing)i(edge.)33 b(A)20 b(common)g(sc)o(heme)f
(that)i(pro)o(vides)0 1411 y(some)14 b(protection)g(against)i(edge)e
(failures)h(as)f(w)o(ell)h(as)f(some)g(reduction)g(in)h(congestion)g(is)f(to)
h(mak)o(e)e(eac)o(h)0 1483 y(edge)k(capable)h(of)g(transmitting)h
FB(d)f FH(messages)g(concurren)o(tly)l(,)e(a)i(tec)o(hnique)e(called)j
FF(dilation)p FH(,)e(resulting)0 1555 y(in)24 b(a)f FF(d-dilate)n(d)h
FH(butter\015y)l(.)40 b(In)23 b(other)g(w)o(ords,)i(eac)o(h)d(outgoing)k
(edge)d(of)g(the)g(butter\015y)f(is)i(replaced)0 1627 y(b)o(y)c(a)g(bundle)h
(of)f FB(d)g FH(edges.)33 b(As)20 b(in)g(the)g(butter\015y)l(,)g(ho)o(w)o(ev)
o(er,)g(the)f(shortest-length)j(path)f(b)q(et)o(w)o(een)e(a)0
1700 y(giv)o(en)g(input)h(and)f(a)h(giv)o(en)f(output)g(still)i(m)o(ust)e(go)
g(through)h(the)f(same)g(sequence)f(of)h(no)q(des,)h(and)g(an)0
1772 y(adv)o(ersary)g(sc)o(heduler)f(can)h(tak)o(e)f(adv)m(an)o(tage)i(of)f
(this)g(fact)g(to)g(th)o(w)o(art)g(routing)h(algorithms.)33
b(This)21 b(is)0 1844 y(where)g(randomization)j(of)e(wiring)h(b)q(ecomes)f
(an)g(adv)m(an)o(tage.)38 b(Radomized)22 b(wiring)i(is)e(exploited)g(in)0
1916 y FF(multi-butter\015y)i(networks)f FH([Upf89,)e(LM89)q(,)h(LLM90)q(].)
38 b(Multi-butter\015ies)23 b(are)f(a)g(generalization)j(of)0
1989 y(b)q(oth)17 b(the)f(butter\015y)g(and)h(the)f(dilated)h(butter\015y)l
(.)73 2091 y(A)h(butter\015y)g(net)o(w)o(ork)f(can)i(b)q(e)f(considered)g(to)
h(b)q(e)f(built)i(from)e FF(splitters)t FH(,)h(eac)o(h)e(of)i(whic)o(h)f(in)h
(turn)0 2163 y(consist)14 b(of)f(three)g FF(blo)n(cks)h FH(of)f(no)q(des)h
(and)g(the)e(edges)h(in)o(terconnecting)h(them.)19 b(In)13
b(Figure)h(7,)f(the)g(di\013eren)o(t)0 2235 y(blo)q(c)o(ks)k(are)f(highligh)o
(ted)j(using)e(dark)g(shading,)g(and)g(one)g(of)f(the)g(splitters)i(is)f
(ligh)o(tly)g(shaded.)73 2338 y(All)f(no)q(des)h(at)f(lev)o(el)g(0)g(are)f
(in)i(the)e(same)h(blo)q(c)o(k.)21 b(F)l(or)16 b(eac)o(h)f(blo)q(c)o(k)h
FB(B)j FH(of)d FB(M)21 b FH(no)q(des)16 b(at)g(lev)o(el)g FB(l)q
FH(,)f(there)0 2410 y(are)k(t)o(w)o(o)g(blo)q(c)o(ks)h(in)g(lev)o(el)f
FB(l)13 b FH(+)g(1,)20 b FB(B)678 2417 y Fw(upper)789 2410
y FH(and)f FB(B)923 2417 y Fw(low)q(er)1013 2410 y FH(.)30
b FB(B)1094 2417 y Fw(upper)1204 2410 y FH(consists)21 b(of)e(the)g(no)q(des)
h(in)g(lev)o(el)f FB(l)14 b FH(+)f(1)0 2482 y(that)j(are)g(in)h(the)e(same)h
(ro)o(ws)g(as)h(the)e(upp)q(er)i FB(M)r(=)p FH(2)g(no)q(des)g(of)f
FB(B)s FH(,)f(and)h FB(B)1349 2489 y Fw(low)q(er)1455 2482
y FH(consists)h(of)f(the)g(no)q(des)g(in)0 2554 y(lev)o(el)f
FB(l)10 b FH(+)g(1)16 b(that)g(are)f(in)h(the)f(same)h(ro)o(ws)g(as)g(the)f
(lo)o(w)o(er)h FB(M)r(=)p FH(2)h(no)q(des)f(of)g FB(B)s FH(.)k(A)15
b(splitter)i(consists)f(of)g(the)0 2626 y(blo)q(c)o(ks)g FB(B)s
FH(,)f FB(B)253 2633 y Fw(upper)360 2626 y FH(and)g FB(B)490
2633 y Fw(low)q(er)580 2626 y FH(,)g(and)h(the)f(edges)h(in)o(terconnecting)g
(them.)k(The)15 b(no)q(des)i(in)f FB(B)i FH(are)d(called)0
2699 y(the)j(splitter)h FB(inputs)f FH(and)g(the)g(no)q(des)h(in)g
FB(B)830 2706 y Fw(low)q(er)937 2699 y FH(and)g FB(B)1071 2706
y Fw(upper)1181 2699 y FH(are)f(called)h(the)e(splitter)j FB(outputs)p
FH(.)26 b(An)o(y)951 2828 y(66)p eop
bop 0 195 a FH(edge)16 b(from)g FB(B)j FH(to)d FB(B)378 202
y Fw(upper)486 195 y FH(is)h(said)g(to)g(b)q(e)f(an)g FF(up)p
FH(-edge,)g(and)h(an)o(y)f(edge)g(from)g FB(B)j FH(to)d FB(B)1585
202 y Fw(low)q(er)1691 195 y FH(is)h(said)g(to)g(b)q(e)0 267
y(a)g FF(down)p FH(-edge.)73 370 y(In)g(a)h(butter\015y)l(,)f(eac)o(h)g
(splitter)i(input)f(is)h(connected)e(to)h(exactly)f(one)h(no)q(de)g(in)g(the)
g(upp)q(er)f(output)0 442 y(blo)q(c)o(k,)k(and)f(one)g(in)g(the)g(lo)o(w)o
(er)g(output)g(blo)q(c)o(k.)32 b(In)19 b(a)i FB(d)p FH(-dilated)g
(butter\015y)l(,)f(eac)o(h)f(no)q(de)i(in)f(an)g(input)0 514
y(blo)q(c)o(k)d(is)g(connected)f(b)o(y)f FB(d)i FH(edges)g(to)f(a)h(single)h
(no)q(de)f(in)g(the)f(upp)q(er)h(output)g(blo)q(c)o(k,)f(and)h(b)o(y)f
(another)h FB(d)0 586 y FH(edges)f(to)h(a)g(single)g(no)q(de)g(in)g(the)f(lo)
o(w)o(er)g(output)h(blo)q(c)o(k.)73 688 y(A)j FF(multi-butter\015y)h
FH(of)f(m)o(ultiplicit)o(y)h FB(d)p FH(,)g(lik)o(e)f(a)g FB(d)p
FH(-dilated)i(butter\015y)l(,)e(has)g FB(d)g FH(up-edges)h(from)f(eac)o(h)0
761 y(input)15 b(no)q(de)g(of)g(eac)o(h)e(splitter)j(inciden)o(t)e(on)h(the)f
(upp)q(er)h(splitter)g(outputs,)g(and)g(another)g FB(d)f FH(do)o(wn-edges)0
833 y(inciden)o(t)j(on)f(the)g(lo)o(w)o(er)g(splitter)i(outputs.)k(In)16
b(a)g FB(d)p FH(-dilated)i(butter\015y)l(,)e(all)h FB(d)g FH(up)f(\(do)o
(wn\))h(edges)f(w)o(ould)0 905 y(lead)j(to)f(a)g(single)i(no)q(de)e(in)h(the)
f(upp)q(er)g(\(lo)o(w)o(er\))g(output)h(blo)q(c)o(k.)26 b(In)18
b(a)g(m)o(ulti-butter\015y)l(,)h(ho)o(w)o(ev)o(er,)d(the)0
977 y(restriction)j(that)f(all)i FB(d)e FH(no)q(des)h(b)q(e)f(connected)g(to)
g(the)g(same)g(no)q(de)g(is)h(relaxed.)27 b(Eac)o(h)18 b(of)g(the)g
FB(d)g FH(edges)0 1050 y(can)j(b)q(e)h(connected)e(to)h(an)o(y)g(of)h(the)f
(inputs)h(of)f(the)g(corresp)q(onding)i(outbut)f(blo)q(c)o(k,)g(sub)s(ject)f
(to)g(the)0 1122 y(restriction)15 b(that)f(an)o(y)g(t)o(w)o(o)g(splitters)h
(with)g(inputs)g(at)g(the)e(same)h(lev)o(el)g(are)g(isomorphic,)i(and)e(that)
h(eac)o(h)0 1194 y(no)q(de)i(has)g(exactly)f(2)p FB(d)h FH(inputs)g(and)g(2)p
FB(d)g FH(outputs.)73 1296 y(A)j FF(r)n(andomly)h(wir)n(e)n(d)f
FH(m)o(ulti-butter\015y)h(net)o(w)o(ork)f(of)h(m)o(ultiplicit)o(y)h
FB(d)p FH(,)f(on)g(the)g(other)f(hand,)i(is)g(one)0 1369 y(in)e(whic)o(h)g
(the)g(individual)i(output)e(no)q(de)h(to)f(whic)o(h)g(an)g(edge)f(of)h(a)g
(splitter)h(is)g(connected)e(is)h(c)o(hosen)0 1441 y(at)d(random)g(from)g
(the)g(output)g(blo)q(c)o(ks,)g(sub)s(ject)f(only)i(to)f(the)f(constrain)o(t)
i(that)f(eac)o(h)f(input)i(no)q(de)f(has)0 1513 y(exactly)h
FB(d)g FH(up-edges)h(and)g FB(d)f FH(do)o(wn-edges)h(leading)h(from)e(it,)h
(and)f(that)h(eac)o(h)e(output)i(no)q(de)g(is)g(fed)f(b)o(y)0
1585 y(exactly)e(2)p FB(d)h FH(inputs.)22 b(It)16 b(is)h(not)g(necessary)f
(for)g(t)o(w)o(o)g(splitters)i(at)f(the)f(same)g(lev)o(el)g(to)h(b)q(e)f
(isomorphic.)73 1687 y(The)e(greedy)g(routing)i(algorithm)g(describ)q(ed)f
(earlier)g(for)f(butter\015y)g(net)o(w)o(orks)g(can)g(b)q(e)g(extended)g(to)0
1760 y(m)o(ulti-butter\015ies.)24 b(The)17 b(edges)g(tra)o(v)o(ersed)e(b)o(y)
i(a)g(message)g(follo)o(w)h(the)f(same)g(logical)i(sequence)c(of)j(up-)0
1832 y(and)e(do)o(wn-edges.)21 b(Ho)o(w)o(ev)o(er,)13 b(at)i(eac)o(h)g(no)q
(de,)g(a)h(c)o(hoice)e(of)i FB(d)f FH(edges)g(is)h(a)o(v)m(ailable)h(in)f(a)f
(m)o(ulti-butter\015y)l(.)73 1934 y(Routing)e(on)g(m)o(ulti-butter\015ies)f
(is)h(e\016cien)o(t,)e(as)h(sho)o(wn)h(b)o(y)e(Upfal's)h([Upf89])f(algorithm)
j(that)e(imple-)0 2006 y(men)o(ts)h FB(P)21 b FH(p)q(erm)o(utations)15
b(deterministically)h(in)f FB(O)q FH(\(log)c FB(N)g FH(+)6
b FB(P)h FH(\))15 b(time.)20 b(Multi-butter\015ies)15 b(also)h(pro)o(vide)0
2079 y(protection)22 b(against)h(failures)g([LM89],)f(since,)g(unlik)o(e)g
(the)f(butter\015y)g(and)g(dilated)i(butter\015y)l(,)f(there)0
2151 y(are)d(edge-disjoin)o(t)h(and)f(no)q(de-disjoin)o(t)i(paths)e(b)q(et)o
(w)o(een)f(inputs)i(and)f(outputs.)29 b(Also,)20 b(in)f(a)g(random-)0
2223 y(ized)d(m)o(ultibutter\015y)l(,)f(the)h(exact)g(wiring)h(of)f(the)g
(net)o(w)o(ork)f(is)i(unkno)o(wn,)f(and)g(therefore)g(an)g(adv)o(ersary)0
2295 y(sc)o(heduler)g(cannot)h(force)f(excessiv)o(e)f(queuing)h(dela)o(ys)h
(to)g(o)q(ccur.)k(Sim)o(ulation)d(results)f(from)f(Leigh)o(ton,)0
2368 y(Lisinski)i(and)e(Maggs)h([LLM90)q(])e(indicate)i(that)f(m)o
(ulti-butter\015ies)g(ma)o(y)l(,)f(in)h(practice,)g(p)q(erform)f(b)q(etter)0
2440 y(than)i(butter\015ies)f(and)h(dilated)h(butter\015ies.)73
2542 y(A)c(surv)o(ey)g(of)h(e\016cien)o(t)f(randomized)h(message)g(routing)i
(algorithms)f(for)f FF(mesh)i(c)n(onne)n(cte)n(d)g(c)n(omput-)0
2614 y(ers)p FH(,)c(a)h(net)o(w)o(ork)f(arc)o(hitecture)g(not)g(addressed)h
(ab)q(o)o(v)o(e,)g(is)g(giv)o(en)f(in)h([Ra)s(j91b)q(].)19
b(In)13 b(the)h(next)e(subsection,)0 2686 y(w)o(e)k(consider)h(the)f(problem)
h(of)f(Byzan)o(tine)g(agreemen)o(t.)21 b(Besides)16 b(b)q(eing)h(another)g
(example)f(of)h(ho)o(w)g(to)951 2828 y(67)p eop
bop 0 195 a FH(o)o(v)o(ercome)14 b(symmetry)g(via)i(randomization,)h(Byzan)o
(tine)e(agreemen)o(t)f(sho)o(ws)j(ho)o(w)e(randomization)j(can)0
267 y(lead)f(to)g(reduced)e(comm)o(unication)i(complexit)o(y)l(.)0
479 y Fu(3.5)70 b(Byzan)n(tine)22 b(Agreemen)n(t)0 614 y FH(In)e(this)h
(section)f(w)o(e)g(examine)g(the)f(Byzan)o(tine)h(Generals)h(problem)f(and)h
(presen)o(t)e(Ben-Or's)h([BO83)o(])0 686 y(randomized)e(distributed)h
(solution.)26 b(The)18 b(Byzan)o(tine)f(Generals)h(problem,)f(kno)o(wn)h
(also)h(as)f(\\Byzan-)0 758 y(tine)g(agreemen)o(t,")e(has)i(receiv)o(ed)e
(considerable)j(atten)o(tion)f(in)g(the)f(literature,)h(e.g.,)e([PSL80)q(,)h
(LSP82)q(,)0 830 y(Dol82)r(,)h(Rab83)q(,)g(CC85)q(,)g(P)o(er85,)g(Bra85].)27
b(This)19 b(is)g(due)f(primarily)i(to)f(its)g(fundamen)o(tal)f(relev)m(ance)g
(in)0 902 y(distributed)j(computation)f(and)g(its)g(surprising)h(complexit)o
(y)e(giv)o(en)h(the)f(simplicit)o(y)h(of)g(the)f(problem)0
975 y(statemen)o(t.)73 1077 y(The)24 b(problem)g(concerns)f(the)g(ranks)h(of)
g(the)f(Byzan)o(tine)g(Generals,)j(who)e(need)g(to)f(co)q(ordinate)0
1149 y(their)16 b(rather)f(limited)h(military)h(strategy;)f(that)f(is,)h
(they)f(m)o(ust)g(decide)g(whether)g(to)h(attac)o(k)f(or)g(retreat)0
1221 y(from)21 b(encroac)o(hing)g(enem)o(y)e(forces.)34 b(Eac)o(h)21
b(general)g(has)h(his)f(or)g(her)g(o)o(wn)g(opinion)i(on)e(the)f(sub)s(ject.)
0 1294 y(Since)i(their)g(armies)g(are)f(widely)i(separated,)g(their)f
(strategy)g(m)o(ust)f(b)q(e)h(decided)f(b)o(y)g(the)h(exc)o(hange)0
1366 y(of)e(messages)h(b)q(et)o(w)o(een)e(the)g(generals.)34
b(Unfortunately)l(,)20 b(some)g(of)g(the)g(generals)h(are)f(traitors)h(whose)
0 1438 y(messages)14 b(cannot)h(b)q(e)f(trusted.)20 b(W)l(e)13
b(ma)o(y)h(assume,)g(without)h(loss)g(of)f(generalit)o(y)l(,)g(that)h(the)e
(messengers)0 1510 y(are)j(lo)o(y)o(al)h(since)g(a)g(general)g(with)g(a)f
(dislo)o(y)o(al)i(messenger)e(ma)o(y)g(b)q(e)g(regarded)h(as)g(a)f(traitor.)
73 1612 y(Let)22 b FB(v)h FH(b)q(e)e(a)h(b)q(o)q(olean)i(v)m(alue)e(and)p
748 1586 26 2 v 22 w FB(v)i FH(=)e(1)15 b Fx(\000)g FB(v)23
b FH(its)f(complemen)o(t.)36 b(The)21 b(problem)h(of)g(Byzan)o(tine)0
1685 y(agreemen)o(t)f(can)i(b)q(e)f(stated)h(as)g(follo)o(ws:)35
b(Consider)24 b(a)f(set)f Fx(f)p FB(P)1213 1692 y FI(1)1233
1685 y FH(,)h FB(P)1301 1692 y FI(2)1321 1685 y FH(,)h(.)8
b(.)g(.)f(,)24 b FB(P)1493 1692 y Fw(n)1517 1685 y Fx(g)e FH(of)h(async)o
(hronously)0 1757 y(executing)17 b(pro)q(cesses.)24 b(Eac)o(h)17
b(pro)q(cess)h FB(P)775 1764 y Fw(i)806 1757 y FH(has)g(a)g(b)q(o)q(olean)h
(v)m(ariable)g FB(x)1330 1764 y Fw(i)1360 1757 y FH(whose)f(initial)i(v)m
(alue)e(is)f FB(b)1844 1764 y Fw(i)1858 1757 y FH(.)24 b(A)o(t)0
1829 y(most)17 b FB(t)g FH(of)g(the)f FB(n)h FH(pro)q(cesses)h(are)f(fault)o
(y)l(.)23 b(A)16 b(distributed)i(and)g(symmetric)e(algorithm)j(to)e(b)q(e)g
(follo)o(w)o(ed)0 1901 y(b)o(y)f(the)g(correct)f(pro)q(cesses)i(is)g
(required)f(suc)o(h)g(that)h(the)f(follo)o(wing)j(hold)e(on)g(termination:)0
2004 y FC(Condition)k(1:)h FH(All)c(correct)e(pro)q(cesses)h(decide)g(on)g(a)
g(common)g(v)m(alue)h FB(v)r FH(,)e(where)g(a)h(pro)q(cess)h(\\decides)0
2076 y FB(v)r FH(")13 b(b)o(y)f(setting)i(a)g(priv)m(ate,)g(write-once)f
(register)g(to)h FB(v)r FH(.)19 b(Th)o(us,)14 b(after)f(deciding,)h(a)g(pro)q
(cess)f(can)g(no)h(longer)0 2148 y(c)o(hange)i(its)h(decision.)0
2250 y FC(Condition)23 b(2:)i FH(If)17 b(all)j(correct)e(pro)q(cesses)g
(start)h(with)g(the)f(same)g(initial)j(v)m(alue)e FB(v)g FH(for)g
FB(x)1691 2257 y Fw(i)1705 2250 y FH(,)f(then)g(their)0 2323
y(\014nal)f(decision)h(m)o(ust)e(b)q(e)g FB(v)r FH(.)73 2425
y(Condition)24 b(1)e(is)g(usually)h(referred)d(to)i(as)g(the)g(\\Agreemen)o
(t)e(condition",)k(and)e(condition)h(2)f(the)0 2497 y(\\V)l(alidit)o(y)c
(condition".)23 b(The)17 b(v)m(alidit)o(y)h(condition)g(eliminates)f(the)g
(trivial)h(solution)g(where)e(eac)o(h)g(lo)o(y)o(al)0 2569
y(pro)q(cess)h(simply)g(decides)f(on)h(a)g(prearranged)g(v)m(alue,)f(sa)o(y)g
(0.)73 2671 y(The)d(Byzan)o(tine)g(Generals)g(problem)h(translates)g(to)g
(one)f(of)g(consensus-building)j(among)e(a)g(set)f(of)g FB(n)951
2828 y FH(68)p eop
bop 0 195 a FH(completely)12 b(connected)f(pro)q(cesses,)h(some)g(of)g(whic)o
(h)g(ma)o(y)f(b)q(e)h(fault)o(y)l(.)20 b(In)11 b(the)h(sync)o(hronous)g
(case,)g(where)0 267 y(messages)19 b(are)g(deliv)o(ered)g(to)g(their)g
(destinations)i(in)f(one)f(computation)h(step,)f(P)o(ease)g(et)f(al.)h
([PSL80)q(])0 340 y(ha)o(v)o(e)12 b(sho)o(wn)h(that)f(there)g(exists)h(an)g
(algorithm)h(for)f(Byzan)o(tine)e(agreemen)o(t)h(only)h(if)g(less)g(than)g
(one-third)0 412 y(of)20 b(the)f(total)h(n)o(um)o(b)q(er)f(of)g(pro)q(cesses)
h(are)f(fault)o(y)l(.)31 b(\(The)19 b(problem)h(of)f(Byzan)o(tine)g(agreemen)
o(t)f(among)0 484 y(sync)o(hronous)e(pro)q(cesses)f(that)g(are)g(not)g
(completely)g(connected)g(has)g(also)i(b)q(een)d(studied)i([LSP82)q(])e(and)0
556 y(constrain)o(ts)j(on)g(the)f(connectivit)o(y)g(required)g(for)h(a)f
(solution)j(ha)o(v)o(e)c(b)q(een)i(determined.\))73 658 y(F)l(or)j(the)g
(async)o(hronous)h(case,)f(Fisc)o(her)g(et)g(al.)g([FLP85)q(])f(pro)o(v)o(ed)
g(that)i(Byzan)o(tine)e(agreemen)o(t)g(is)0 731 y(imp)q(ossible)h(for)d
(deterministic)h(pro)q(cesses,)g(ev)o(en)e(if)i(the)f(pro)q(cesses)h(are)f
FF(not)h FH(symmetric)f(and)g(there)g(is)0 803 y(only)i(one)f(fault)o(y)h
(pro)q(cess.)28 b(In)18 b(particular,)i(deterministic)f(pro)q(cesses)g(are)f
(susceptible)h(to)g(non)o(termi-)0 875 y(nation.)k(As)15 b(evidenced)g(b)o(y)
g(Ben)h(Or's)f(randomized)h(algorithm,)i(this)e(famous)h(\\imp)q(ossibili)q
(t)o(y)h(result")0 947 y(do)q(es)e(not)f(apply)g(to)h(pro)q(cesses)f(that)g
(ma)o(y)f(toss)i(coins;)g(in)f(this)h(case,)f(termination)h(can)f(b)q(e)g
(guaran)o(teed)0 1020 y(with)j(probabilit)o(y)h(1.)25 b(Th)o(us,)17
b(as)h(in)g(Dining)h(Philosophers,)g(guard)f(sc)o(heduling,)h(and)e(leader)h
(election,)0 1092 y(w)o(e)e(m)o(ust)g(once)g(again)i(resort)e(to)h
(randomization)h(to)f(solv)o(e)f(this)i(distributed)f(computation)h(problem.)
73 1194 y(W)l(e)i(no)o(w)g(describ)q(e)g(the)f(b)q(eha)o(vior)i(of)f(the)g
(fault)o(y)g(pro)q(cesses,)g(correct)f(pro)q(cesses,)i(and)g(the)e(com-)0
1266 y(m)o(unication)c(medium.)21 b(F)l(ault)o(y)14 b(pro)q(cesses)h(b)q(eha)
o(v)o(e)f(unpredictably)l(,)h(p)q(erhaps)g(ev)o(en)e(sending)j(messages)0
1339 y(according)h(to)f(some)g(malev)o(olen)o(t)f(plan,)i(or)f(at)g(times)f
(c)o(ho)q(osing)j(to)e(send)g(no)g(messages)g(at)g(all.)23
b(F)l(or)15 b(ex-)0 1411 y(ample,)g(in)g(announcing)h(a)f(decision)h(to)f
(the)f(correct)g(pro)q(cesses,)h(a)g(fault)o(y)g(pro)q(cess)g(ma)o(y)f(send)h
(di\013eren)o(t)0 1483 y(messages)j(to)g(di\013eren)o(t)f(pro)q(cesses.)26
b(Ho)o(w)o(ev)o(er,)15 b(a)j(fault)o(y)g(pro)q(cess)g(cannot)g(in\015uence)f
(comm)o(unication)0 1555 y(b)q(et)o(w)o(een)f(correct)h(pro)q(cesses,)g(and)h
(cannot)g(in\015uence)f(the)g(b)q(eha)o(vior)h(of)g(correct)e(pro)q(cesses.)
25 b(In)17 b(other)0 1627 y(w)o(ords,)e(it)h(cannot)f(alter)g(or)h(delete)e
(messages)h(sen)o(t)g(b)q(et)o(w)o(een)f(correct)g(pro)q(cesses,)h(send)g
(messages)h(pur-)0 1700 y(p)q(orting)21 b(to)e(originate)i(at)e(a)g(correct)f
(pro)q(cess,)i(alter)f(the)g(algorithm)h(used)f(b)o(y)g(a)g(correct)f(pro)q
(cess,)i(or)0 1772 y(in\015uence)c(an)o(y)g(random)h(c)o(hoices)f(made)g(b)o
(y)g(a)h(correct)e(pro)q(cess.)73 1874 y(All)21 b(correct)e(pro)q(cesses)h
(are)g(guaran)o(teed)h(to)f(use)g(the)g(same)g(algorithm.)34
b(The)20 b(only)g(assumption)0 1946 y(made)e(regarding)h(the)f(relativ)o(e)g
(sp)q(eeds)g(of)h(di\013eren)o(t)f(pro)q(cesses)g(is)h(that)f(no)h(pro)q
(cess)g(will)g(b)q(e)f(dela)o(y)o(ed)0 2019 y(inde\014nitely)c(b)q(et)o(w)o
(een)d(computation)j(steps.)20 b(The)13 b(comm)o(unication)h(medium)e(is)h
(suc)o(h)g(that)g(if)g(a)g(correct)0 2091 y(pro)q(cess)j(sends)f(a)g(message)
h(to)f(another)h(correct)e(pro)q(cess,)h(the)g(message)g(will)i(ev)o(en)o
(tually)e(b)q(e)g(deliv)o(ered)0 2163 y(unaltered)i(to)g(the)g(in)o(tended)f
(recipien)o(t.)23 b(Note)16 b(that)h(faults)h(in)g(the)e(comm)o(unication)i
(medium)e(can)h(b)q(e)0 2235 y(mo)q(deled)j(b)o(y)f(viewing)h(the)f(sender)g
(of)h(a)f(message)h(as)g(fault)o(y)f(if)h(the)f(comm)o(unication)h(medium)f
(do)q(es)0 2308 y(not)e(b)q(eha)o(v)o(e)e(as)i(stipulated.)73
2410 y(Ben-Or's)f(randomized)i(algorithm)g(utilizes)g(the)f(fact)g(that)g(if)
g(indep)q(enden)o(t)g(random)g(c)o(hoices)g(are)0 2482 y(made)c(b)o(y)g(eac)o
(h)f(pro)q(cess)i(regarding)h(the)e(consensus)h(v)m(alue,)g(a)g(su\016cien)o
(t)f(n)o(um)o(b)q(er)f(of)h(them)g(will)i(ev)o(en)o(tu-)0 2554
y(ally)j(pic)o(k)e(the)h(same)f(v)m(alue)i(to)f(allo)o(w)h(agreemen)o(t)e
(among)i(correct)e(pro)q(cesses.)23 b(Moreo)o(v)o(er,)15 b(agreemen)o(t)0
2626 y(is)j(guaran)o(teed)f(if)h(the)f(n)o(um)o(b)q(er)f(of)h(fault)o(y)h
(pro)q(cesses,)f FB(t)p FH(,)f(is)i(less)g(than)g(one-\014fth)f(the)g(total)h
(n)o(um)o(b)q(er)f(of)0 2699 y(pro)q(cesses.)26 b(This)19 b(claim)g(is)g
(true)e(ev)o(en)g(in)h(the)g(presence)f(of)h(an)g(adv)o(ersary)g(sc)o
(heduler)f(whic)o(h)h(c)o(ho)q(oses)951 2828 y(69)p eop
bop 0 195 a FH(the)13 b(next)g(pro)q(cess)g(to)h(mak)o(e)e(a)i(step,)f(or)h
(con)o(trols)g(ho)o(w)f(long)i(a)f(message)f(is)h(in)g(transit,)h(as)e(the)g
(sc)o(heduler)0 267 y(cannot)k(in\015uence)f(the)g(outcome)g(of)h(coin)g
(tosses)g(made)f(b)o(y)g(the)g(pro)q(cesses.)73 370 y(Eac)o(h)e(correct)g
(pro)q(cess)g FB(P)551 377 y Fw(i)580 370 y FH(executes)e(algorithm)k
FF(ByzA)n(gr)n(e)n(e)e FH(giv)o(en)g(b)q(elo)o(w.)21 b(V)l(ariable)16
b FB(x)1700 377 y Fw(i)1713 370 y FH(,)e(initiali)q(zed)0 442
y(to)j FB(b)81 449 y Fw(i)95 442 y FH(,)e(con)o(tains)j(the)e(pro)q(cess's)h
(curren)o(t)e(c)o(hoice)h(for)h(the)f(consensus)h(v)m(alue.)22
b(The)17 b(algorithm)h(pro)q(ceeds)0 514 y(in)f(rounds,)g(and)f(the)g(index)h
(of)f(the)g(curren)o(t)g(round)h(is)g(stored)f(in)h FB(r)q
FH(.)22 b(Eac)o(h)16 b(round)h(has)g(three)f(phases.)73 616
y(In)e(the)g FF(noti\014c)n(ation)i(phase)t FH(,)e FB(P)648
623 y Fw(i)676 616 y FH(outputs)h(the)f(v)m(alue)h(of)f FB(x)1140
623 y Fw(i)1168 616 y FH(to)g(all)i(other)e(pro)q(cesses,)h(and)f(then)g(w)o
(aits)0 688 y(for)j FB(n)12 b Fx(\000)f FB(t)17 b FH(noti\014cation)i
(messages.)24 b(All)18 b(messages)f(sen)o(t)g(in)h(the)e(noti\014cation)k
(phase)d(are)g(tagged)h(with)0 761 y(the)e(en)o(umeration)g(v)m(alue)h
FG(N)p FH(.)73 863 y(In)h(the)h FF(pr)n(op)n(osal)f(phase)t
FH(,)g FB(P)599 870 y Fw(i)632 863 y FH(prop)q(oses)j(a)e(consensus)g(v)m
(alue)g(from)g(the)f(set)h Fx(f)p FH(0,)g(1,)g(`?')p Fx(g)p
FH(,)e(based)j(on)0 935 y(the)15 b(noti\014cation)i(messages)e(just)g(receiv)
o(ed.)20 b(It)14 b(sends)i(its)f(prop)q(osal)j(to)d(all)h(other)f(pro)q
(cesses,)h(and)f(then)0 1007 y(w)o(aits)h(for)f FB(n)8 b Fx(\000)g
FB(t)14 b FH(prop)q(osals)k(in)d(return.)21 b(In)14 b(this)i(phase,)f
(messages)g(are)g(tagged)h(with)f(the)g(en)o(umeration)0 1080
y(v)m(alue)i FG(P)p FH(.)73 1182 y FB(P)104 1189 y Fw(i)130
1182 y FH(prop)q(oses)c(0)e(if)h(greater)f(than)h(\()p FB(n)q
FH(+)q FB(t)p FH(\))p FB(=)p FH(2)g(of)f(the)g(noti\014cation)i(messages)f
(it)g(has)g(receiv)o(ed)e(con)o(tain)i(0.)0 1254 y(Similarly)l(,)21
b(it)e(prop)q(oses)h(1)f(if)g(greater)g(than)g(\()p FB(n)13
b FH(+)g FB(t)p FH(\))p FB(=)p FH(2)19 b(of)g(the)f(noti\014cation)j
(messages)e(con)o(tain)h(1.)29 b(If)0 1326 y(neither)17 b(of)h(these)f(is)h
(the)f(case,)g FB(P)633 1333 y Fw(i)664 1326 y FH(prop)q(oses)i(`?',)d(a)i
(recommendation)f(that)h(the)f(consensus)h(v)m(alue)g(b)q(e)0
1399 y(c)o(hosen)e(b)o(y)f(eac)o(h)h(pro)q(cess)g(indep)q(enden)o(tly)h(b)o
(y)e(the)h(toss)h(of)f(a)h(coin.)k(Note)16 b(that)g FB(P)1538
1406 y Fw(i)1569 1399 y FH(simply)h(terminates)0 1471 y(after)h(broadcasting)
j(its)e(prop)q(osal)i(if)e(it)f(has)i(made)e(a)g(decision)i(in)f(the)f
(previous)h(round.)28 b(As)19 b(will)h(b)q(e)0 1543 y(sho)o(wn)d(b)q(elo)o
(w,)f(if)h FB(P)375 1550 y Fw(i)405 1543 y FH(decided)f(on)g(v)m(alue)h
FB(v)g FH(in)g(round)g FB(r)q FH(,)f(then)f(all)j(correct)d(pro)q(cesses)i
(will)g(decide)f(on)h FB(v)0 1615 y FH(in)g(round)g FB(r)12
b FH(+)f(1.)22 b(So)17 b(it)f(is)h(safe)g(for)f FB(P)708 1622
y Fw(i)739 1615 y FH(to)h(stop)g(at)f(this)h(p)q(oin)o(t.)73
1717 y(Finally)l(,)22 b(in)f(the)e FF(de)n(cision)i(phase)t
FH(,)f FB(P)777 1724 y Fw(i)812 1717 y FH(examines)f(the)h(prop)q(osals)j(it)
d(just)g(receiv)o(ed)e(to)j(determine)0 1790 y(a)f(new)f(v)m(alue)h(for)f
FB(x)381 1797 y Fw(i)395 1790 y FH(,)h(whic)o(h)f(it)h(uses)f(in)h(the)f
(next)g(round.)30 b(Dep)q(ending)21 b(on)f(the)f(prop)q(osals,)j
FB(P)1827 1797 y Fw(i)1861 1790 y FH(ma)o(y)0 1862 y(also)h(output)f(this)h
(new)e(v)m(alue)h(of)g FB(x)694 1869 y Fw(i)730 1862 y FH(to)g(a)f
(write-once)h(register)g(\(the)g(pro)q(cess)g(has)g(decided\).)37
b(The)0 1934 y(signi\014cance)20 b(of)f(the)g(if-statemen)o(t)g(conditions)i
(in)e(the)g(prop)q(osal)i(and)f(decision)g(phases)f(is)h(discussed)0
2006 y(b)q(elo)o(w.)73 2109 y(The)h(round)g(n)o(um)o(b)q(er)e
FB(r)j FH(is)f(attac)o(hed)f(to)h(all)h(messages)f(of)f(round)h
FB(r)q FH(,)g(so)g(the)f(pro)q(cesses)h(can)g(dis-)0 2181 y(tinguish)f(b)q
(et)o(w)o(een)d(messages)h(from)g(di\013eren)o(t)g(rounds.)28
b(A)17 b(pro)q(cess)i(in)f(a)h(particular)g(round)g(discards)0
2253 y(messages)g(it)f(receiv)o(es)f(from)h(pro)q(cesses)h(in)g(previous)g
(rounds,)g(uses)f(messages)h(it)f(receiv)o(es)f(from)h(pro-)0
2325 y(cesses)d(in)h(the)e(same)h(round,)h(and)g(sa)o(v)o(es)e(messages)i(it)
g(receiv)o(es)e(from)h(pro)q(cess)g(in)h(later)g(rounds)g(for)f(use)0
2398 y(during)k(the)f(correct)f(round.)26 b(Also,)19 b(since)f(for)g(an)o(y)f
(round)i(fault)o(y)f(pro)q(cesses)g(ma)o(y)f(app)q(end)i(incorrect)0
2470 y(round)d(n)o(um)o(b)q(ers)e(to)h(their)g(messages,)g(or)h(not)f(send)g
(an)o(y)g(messages)g(at)g(all,)h(no)g(correct)e(pro)q(cess)i(should)0
2542 y(w)o(ait)22 b(for)g(more)f(than)g FB(n)15 b Fx(\000)f
FB(t)21 b FH(messages)h(in)g(a)f(single)i(phase)f(as)g(arriv)m(al)h(of)f
(only)g FB(n)14 b Fx(\000)h FB(t)20 b FH(messages)i(is)0 2614
y(guaran)o(teed.)951 2828 y(70)p eop
bop 0 454 a Fo(ByzAgree)23 b Fp(f)g Fo(\(*)h(algorithm)f(for)g(a)h(correct)f
(process)g Fn(P)1126 461 y Fw(i)1164 454 y Fo(*\))95 539 y(r)g(:=)h(1)95
623 y(decided)f(:=)g(FALSE)95 708 y(WHILE)g(TRUE)g(DO)h Fp(f)213
793 y Fo(\(*)g(The)f(Notification)g(Phase)g(*\))213 877 y(SEND)h(\(N,r,)p
Fn(x)479 884 y Fw(i)492 877 y Fo(\))g(TO)f(all)h(processes)213
962 y(wait)g(for)f(\(n-t\))g(notification)g(msgs)g(of)g(the)h(form)f
(\(N,r,*\))213 1107 y(\(*)h(The)f(Proposal)g(Phase)g(*\))213
1191 y(IF)h Fn(>)g Fo(\(n+t\)/2)f(msgs)g(are)h(of)f(the)h(form)f(\(N,r,w\))g
(for)h(w=0)f(or)h(w=1)f(THEN)356 1276 y(SEND)g(\(P,r,w\))g(TO)h(all)f
(processes)213 1361 y(ELSE)h(SEND)f(\(P,r,?\))47 b(TO)23 b(all)h(processes)
213 1446 y(IF)g(decided)f(THEN)g(stop)213 1530 y(ELSE)h(wait)f(for)g(\(n-t\))
h(msgs)f(of)h(the)f(form)g(\(P,r,*\))213 1675 y(\(*)h(The)f(Decision)g(Phase)
g(*\))213 1760 y(IF)h Fn(>)g Fo(t)g(msgs)f(are)h(of)f(the)h(form)f(\(P,)h(r,)
f(w\))h(for)f(w=0)h(or)f(w=1)h(THEN)f Fp(f)356 1844 y Fn(x)382
1851 y Fw(i)420 1844 y Fo(:=)h(w)356 1929 y(IF)g Fn(>)g Fo(3t)f(messages)g
(are)h(of)f(the)h(form)f(\(P,)g(r,)h(w\))g(THEN)f Fp(f)499
2014 y Fo(decide)g(w)499 2098 y(decided)g(:=)g(TRUE)p Fp(g)213
2183 y(g)h Fo(ELSE)f(set)h Fn(x)501 2190 y Fw(i)539 2183 y
Fo(to)f(0)h(or)g(1)f(with)h(equal)f(probability)213 2268 y(r)h(:=)g(r)f(+)h
(1)95 2352 y Fp(g)0 2437 y(g)951 2828 y FH(71)p eop
bop 73 195 a FH(The)13 b(follo)o(wing)i(lemmas)e(and)g(theorem,)f(due)h(to)g
(Hadzilacos)h([Had86],)f(pro)o(vide)g(additional)i(insigh)o(t)0
267 y(in)o(to)i(the)f(b)q(eha)o(vior)h(of)g(the)f(algorithm,)h(and)g
(establish)h(its)f(correctness.)0 424 y FC(Lemma)h(1)24 b FF(If)d(a)g(c)n
(orr)n(e)n(ct)f(pr)n(o)n(c)n(ess)f(pr)n(op)n(oses)h(value)i
FB(v)h FF(in)e(r)n(ound)g FB(r)q FF(,)h(then)g(no)f(other)g(c)n(orr)n(e)n(ct)
f(pr)n(o)n(c)n(ess)0 496 y(wil)r(l)f(pr)n(op)n(ose)d(the)i(value)p
474 469 26 2 v 19 w FB(v)h FF(within)f(the)g(same)f(r)n(ound.)73
652 y FH(A)d(pro)q(cess)h(sends)g(a)g(message)g(\()p FG(P)p
FB(;)8 b(r)o(;)g(v)r FH(\))13 b(if)i(it)g(disco)o(v)o(ers)f(that)h(more)g
(than)g(\()p FB(n)8 b FH(+)g FB(t)p FH(\))p FB(=)p FH(2)14
b(pro)q(cesses)h(ha)o(v)o(e)0 724 y(c)o(hosen)21 b(the)h(v)m(alue)g
FB(v)r FH(.)37 b(A)o(t)21 b(most)h FB(t)f FH(of)h(these)f(pro)q(cesses)h
(could)h(b)q(e)e(fault)o(y)l(.)38 b(Therefore,)22 b(more)f(than)0
796 y(\()p FB(n)11 b FH(+)g FB(t)p FH(\))p FB(=)p FH(2)g Fx(\000)g
FB(t)k FH(\(i.e.,)g(\()p FB(n)c Fx(\000)g FB(t)p FH(\))p FB(=)p
FH(2\))16 b(correct)g(pro)q(cesses)h(m)o(ust)e(ha)o(v)o(e)h(c)o(hosen)g
FB(v)r FH(.)k(Th)o(us,)c(a)h(ma)s(jorit)o(y)f(of)g(the)0 869
y(correct)e(pro)q(cesses)g(ha)o(v)o(e)g(pic)o(k)o(ed)f FB(v)r
FH(.)20 b(F)l(or)15 b(another)f(correct)g(pro)q(cess)h(to)g(prop)q(ose)p
1515 842 V 15 w FB(v)h FH(in)f(the)f(same)g(round,)0 941 y(a)20
b(ma)s(jorit)o(y)f(of)h(the)f(correct)g(pro)q(cesses)h(m)o(ust)f(ha)o(v)o(e)g
(pic)o(k)o(ed)p 1165 914 V 18 w FB(v)q FH(.)31 b(Since)20 b(a)g(correct)e
(pro)q(cess)i(sends)g(the)0 1013 y(same)c(message)h(to)f(all)i(pro)q(cesses,)
e(this)i(is)f(imp)q(ossible.)0 1169 y FC(Lemma)h(2)24 b FF(If)18
b(at)g(the)h(b)n(e)n(ginning)h(of)e(r)n(ound)f FB(r)j FF(al)r(l)f(c)n(orr)n
(e)n(ct)e(pr)n(o)n(c)n(esses)g FB(P)1367 1176 y Fw(i)1400 1169
y FF(have)i(the)f(same)h(value)g FB(v)h FF(for)0 1242 y FB(x)28
1249 y Fw(i)42 1242 y FF(,)d(then)i(al)r(l)f(c)n(orr)n(e)n(ct)f(pr)n(o)n(c)n
(esses)f(wil)r(l)j(de)n(cide)f FB(v)h FF(in)f(r)n(ound)f FB(r)q
FF(.)73 1398 y FH(In)f(the)g(b)q(eginning)i(of)e(a)g(round,)h(eac)o(h)e
(correct)g(pro)q(cess)i FB(P)1163 1405 y Fw(i)1194 1398 y FH(sends)f
(messages)g(notifying)i(the)e(others)0 1470 y(that)h(it)g(has)h(pic)o(k)o(ed)
e(v)m(alue)h FB(v)h FH(for)f FB(x)665 1477 y Fw(i)679 1470
y FH(.)23 b(Eac)o(h)16 b(correct)g(pro)q(cess)i(receiv)o(es)d
FB(n)d Fx(\000)f FB(t)16 b FH(messages,)h(at)g(most)g FB(t)g
FH(of)0 1542 y(whic)o(h)j(are)g(from)f(fault)o(y)h(pro)q(cesses.)32
b(Therefore)20 b(eac)o(h)f(pro)q(cess)h(receiv)o(es)f(at)h(least)g
FB(n)14 b Fx(\000)f FH(2)p FB(t)20 b FH(messages)0 1614 y(of)i(the)f(form)h
(\()p FG(N)p FB(;)8 b(r)o(;)g(v)r FH(\).)35 b(Since)22 b FB(n)h(>)g
FH(5)p FB(t)f FH(implies)g FB(n)15 b Fx(\000)g FH(2)p FB(t)23
b(>)g FH(\()p FB(n)14 b FH(+)h FB(t)p FH(\))p FB(=)p FH(2,)23
b(eac)o(h)e(correct)g(pro)q(cess)h(will)0 1687 y(consequen)o(tly)16
b(prop)q(ose)h FB(v)h FH(in)f(the)f(prop)q(osal)j(phase.)73
1789 y(Consider)i(no)o(w)e(the)g(prop)q(osal)j(phase.)31 b(In)19
b(the)g(w)o(orst)h(case,)f(a)h(pro)q(cess)g(can)f(receiv)o(e)f
FB(t)h FH(prop)q(osals)0 1861 y(for)p 77 1835 V 19 w FB(v)h
FH(from)e(the)g(fault)o(y)h(pro)q(cesses,)g(and)g(\()p FB(n)13
b Fx(\000)f FH(2)p FB(t)p FH(\))19 b(prop)q(osals)i(for)d FB(v)i
FH(from)f(correct)e(pro)q(cesses.)29 b(Since)0 1933 y(\()p
FB(n)11 b Fx(\000)g FH(2)p FB(t)p FH(\))j FB(>)g FH(3)p FB(t)i
FH(if)h FB(n)c(>)h FH(5)p FB(t)p FH(,)i(eac)o(h)g(correct)f(pro)q(cess)i
(will)h(decide)e(on)h FB(v)r FH(.)0 2090 y FC(Lemma)h(3)24
b FF(If)18 b(a)f(c)n(orr)n(e)n(ct)g(pr)n(o)n(c)n(ess)g(de)n(cides)h
FB(v)i FF(in)e(r)n(ound)f FB(r)q FF(,)i(then)f(al)r(l)i(c)n(orr)n(e)n(ct)d
(pr)n(o)n(c)n(esses)g(wil)r(l)i(de)n(cide)g FB(v)0 2162 y FF(in)f(r)n(ound)f
FB(r)12 b FH(+)f(1)p FF(.)73 2318 y FH(If)21 b(w)o(e)f(can)h(no)o(w)h(sho)o
(w)f(that)h(whenev)o(er)d(a)j(correct)e(pro)q(cess)i(decides)f
FB(v)h FH(in)g(round)f FB(r)q FH(,)h(all)h(correct)0 2390 y(pro)q(cesses)e
FF(pr)n(op)n(ose)d FB(v)k FH(at)e(the)g(b)q(eginning)j(of)d(round)h
FB(r)15 b FH(+)e(1,)21 b(then)f(Lemma)g(3)h(follo)o(ws)h(directly)e(from)0
2462 y(Lemma)g(2.)35 b(F)l(or)20 b(a)h(correct)f(pro)q(cess)h
FB(P)759 2469 y Fw(i)794 2462 y FH(to)g(decide)f FB(v)i FH(in)f(round)g
FB(r)q FH(,)h(it)f(m)o(ust)f(receiv)o(e)f(more)h(than)h(3)p
FB(t)0 2535 y FH(prop)q(osals)j(for)d FB(v)r FH(,)g(and)h(since)f(at)g(most)g
FB(t)g FH(of)g(these)g(can)g(b)q(e)g(from)g(fault)o(y)g(pro)q(cesses,)i
FB(P)1693 2542 y Fw(i)1728 2535 y FH(m)o(ust)e(ha)o(v)o(e)0
2607 y(receiv)o(ed)15 b FB(m)g FH(prop)q(osals)k(for)d FB(v)h
FH(from)f(correct)f(pro)q(cesses,)h(for)h(some)f FB(m)d(>)h
FH(2)p FB(t)p FH(.)21 b(Let)16 b(us)g(no)o(w)h(lo)q(ok)g(at)f(an)o(y)0
2679 y(other)g(correct)g(pro)q(cess)h FB(P)491 2686 y Fw(j)510
2679 y FH(.)951 2828 y(72)p eop
bop 73 195 a FH(Pro)q(cess)22 b FB(P)285 202 y Fw(j)325 195
y FH(m)o(ust,)f(in)g(round)h FB(r)q FH(,)g(receiv)o(e)e(prop)q(osals)j(from)e
FB(n)15 b Fx(\000)f FB(t)20 b FH(pro)q(cesses.)36 b(In)21 b(other)g(w)o
(ords,)0 267 y FB(P)31 274 y Fw(j)69 267 y FH(receiv)o(es)e(prop)q(osals)k
(from)c(all)j(but)e FB(t)f FH(pro)q(cesses.)32 b(Therefore,)20
b(of)g(the)g FB(m)f FH(correct)g(pro)q(cesses)i(that)0 340
y(prop)q(osed)15 b FB(v)g FH(to)g FB(P)333 347 y Fw(i)347 340
y FH(,)f(all)i(but)e FB(t)f FH(m)o(ust)h(ha)o(v)o(e)f(had)h(their)g(prop)q
(osals)j(receiv)o(ed)c(b)o(y)g FB(P)1489 347 y Fw(j)1508 340
y FH(.)20 b(But)14 b FB(m)f(>)h FH(2)p FB(t)g FH(implies)0
412 y FB(m)5 b Fx(\000)g FB(t)12 b(>)i(t)p FH(,)f(and)g(therefore)g
FB(P)543 419 y Fw(j)574 412 y FH(will)i(prop)q(ose)g FB(v)f
FH(in)g(the)f(next)f(round.)21 b(All)14 b(correct)e(pro)q(cess)i(th)o(us)f
(prop)q(ose)0 484 y FB(v)k FH(in)g(round)f FB(r)c FH(+)e(1.)21
b(F)l(rom)16 b(Lemma)f(2,)h(it)h(follo)o(ws)g(that)g(all)g(correct)e(pro)q
(cesses)h(will)i(decide)e FB(v)h FH(in)f(round)0 556 y FB(r)c
FH(+)f(1.)73 658 y(W)l(e)16 b(no)o(w)h(ha)o(v)o(e)e(the)h(follo)o(wing)j
(correctness)d(result)h(for)f(Ben-Or's)g(algorithm)i([Had86].)0
802 y FC(Theorem)g(4)24 b FF(Assuming)g(that)f FB(n)h(>)h FH(5)p
FB(t)p FF(,)f(Ben-Or's)g(algorithm)f(guar)n(ante)n(es)h(A)n(gr)n(e)n(ement,)h
(V)l(alidity,)0 874 y(and,)18 b(with)f(pr)n(ob)n(ability)g(1,)g(termination.)
0 1018 y FH(Agreemen)o(t)g(follo)o(ws)k(from)e(Lemma)g(3)g(and)h(v)m(alidit)o
(y)h(from)e(Lemma)f(2,)i(with)g FB(r)g FH(=)e(1.)30 b(Consider)21
b(no)o(w)0 1090 y(termination.)33 b(With)21 b(probabilit)o(y)h(1,)e(enough)h
(correct)e(pro)q(cesses)h(will)i(ev)o(en)o(tually)d(pic)o(k)h(a)g(common)0
1163 y(v)m(alue)c FB(v)h FH(to)g(p)q(ermit)e(at)h(least)h(one)f(correct)f
(pro)q(cess)h FB(P)1007 1170 y Fw(i)1037 1163 y FH(to)g(decide)g
FB(v)h FH(in)f(some)g(round)g FB(r)q FH(.)22 b(By)15 b(Lemma)g(2,)0
1235 y(all)j(correct)d(pro)q(cesses)i(will)h(decide)e FB(v)i
FH(in)f(the)f(next)g(round.)73 1337 y(An)k(upp)q(er)g(b)q(ound)h(on)f(the)g
(exp)q(ected)f(n)o(um)o(b)q(er)g(of)h(rounds)h(is)f FB(O)q
FH(\(2)1357 1319 y Fw(n)1382 1337 y FH(\),)g(the)g(exp)q(ected)f(n)o(um)o(b)q
(er)g(of)0 1409 y(tosses)14 b(of)g FB(n)g FH(coins)g(b)q(efore)g(all)h
FB(n)e FH(coins)i(yield)f(the)f(same)g(v)m(alue.)21 b(Y)l(et)13
b(if)h(the)f(n)o(um)o(b)q(er)g(of)h(fault)o(y)f(pro)q(cesses)0
1482 y(is)f FB(O)q FH(\()101 1446 y Fx(p)p 143 1446 30 2 v
36 x FB(n)p FH(\),)g(then)f(the)g(exp)q(ected)f(n)o(um)o(b)q(er)g(of)i
(rounds)g(is)g(constan)o(t.)20 b(This)12 b(illustrates)h(another)f(adv)m(an)o
(tage)0 1554 y(of)k(tossing)i(coins,)f(since)g(an)o(y)f(deterministic)g
(solution)j(to)d(the)g(Byzan)o(tine)g(Generals)h(problem)f(cannot)0
1626 y(reac)o(h)g(agreemen)o(t)f(in)i(less)g(than)g FB(t)10
b FH(+)h(1)17 b(rounds)g([FL82)q(].)73 1728 y(As)h(for)f(the)h(p)q(er-round)h
(message)e(complexit)o(y)l(,)h(ev)o(ery)e(pro)q(cess)i(sends)g(a)g(message)g
(to)g(ev)o(ery)e(other)0 1800 y(pro)q(cess)j(in)h(eac)o(h)e(round.)30
b(Th)o(us,)19 b(assuming)h(that)g(fault)o(y)f(pro)q(cesses)g(do)g(not)h(send)
e(more)h(than)g FB(O)q FH(\()p FB(n)p FH(\))0 1873 y(messages)e(eac)o(h)e(p)q
(er)i(round,)f(the)g(total)i(n)o(um)o(b)q(er)d(of)i(messages)g(transmitted)f
(p)q(er)h(round)g(is)g FB(O)q FH(\()p FB(n)1824 1855 y FI(2)1844
1873 y FH(\).)73 1975 y(Ben-Or's)g(algorithm,)j(along)f(with)g(Rabin's)f
([Rab83)q(],)f(w)o(as)i(one)f(of)g(the)f(\014rst)h(for)g(reac)o(hing)g(asyn-)
0 2047 y(c)o(hronous)h(Byzan)o(tine)f(agreemen)o(t,)f(and)i(it)g(remains)g
(the)f(simplest.)28 b(Since)18 b(then)h(a)f(n)o(um)o(b)q(er)g(of)g(more)0
2119 y(elab)q(orate,)j(in)e(terms)g(of)g(e\016ciency)f(or)i(fault-resiliency)
l(,)h(randomized)e(algorithms)i(for)f(the)f(problem)0 2192
y(ha)o(v)o(e)c(b)q(een)i(dev)o(elop)q(ed,)e(including)k([CC85)q(,)c(P)o(er85)
q(,)g(Bra85)q(])h(\(see)g(also)i([CD89]\).)73 2294 y(This)i(concludes)g(our)f
(surv)o(ey)g(of)g(distributed)h(randomized)g(algorithms.)32
b(The)19 b(next)g(section)g(ad-)0 2366 y(dresses)d(some)h(additional)i(imp)q
(ortan)o(t)e(asp)q(ects)g(of)g(randomized)g(algorithms,)h(and)e(concludes.)
951 2828 y(73)p eop
bop 0 203 a FK(4)83 b(Additional)30 b(T)-7 b(opics)28 b(of)g(In)n(terest)f
(and)g(Conclusions)0 355 y FH(W)l(e)11 b(close)h(our)g(surv)o(ey)f(with)h(a)g
(brief)g(discussion)h(of)f(some)g(additional)i(imp)q(ortan)o(t)f(topics)f(in)
g(randomized)0 427 y(algorithms.)28 b(It)18 b(will)h(b)q(e)f(seen)g(that)g
(most)g(of)h(the)e(topics)i(are)f(more)f(theoretical)i(in)g(nature)f(than)g
(the)0 499 y(material)f(in)g(the)f(b)q(o)q(dy)i(of)e(the)g(surv)o(ey)l(.)0
710 y Fu(Complexit)n(y)23 b(Theory)h(of)f(Randomized)g(Algorithms)122
834 y FH(A)f FF(pr)n(ob)n(abilistic)h(T)l(uring)h(machine)g
FH(is)f(a)g(T)l(uring)h(mac)o(hine)f(with)g(distinguished)j(states)122
907 y(called)20 b(\\coin-tossing)j(states.")32 b(F)l(or)20
b(eac)o(h)f(coin-tossing)j(state,)e(the)f(\014nite)h(con)o(trol)g(unit)122
979 y(sp)q(eci\014es)j(t)o(w)o(o)f(p)q(ossible)i(next)e(states.)40
b(The)22 b(computation)h(of)g(a)f(probabilisti)q(c)j(T)l(uring)122
1051 y(mac)o(hine)15 b(is)h(deterministic)f(except)f(that)i(in)g
(coin-tossing)h(states)f(the)f(mac)o(hine)g(tosses)h(an)122
1123 y(un)o(biased)h(coin)g(to)g(decide)f(b)q(et)o(w)o(een)f(the)h(t)o(w)o(o)
g(p)q(ossible)j(next)c(states)i([Gil77)r(].)73 1272 y(As)11
b(in)h(the)f(classical)j(setting)e(of)g(deterministic)g(and)f
(nondeterministic)i(T)l(uring)g(mac)o(hines,)e(a)h(theory)0
1344 y(of)23 b(computational)j(complexit)o(y)d(has)h(b)q(een)f(dev)o(elop)q
(ed)g(for)g(probabilisti)q(c)i(T)l(uring)g(mac)o(hines.)42
b(F)l(or)0 1416 y(example,)18 b(consider)h(the)f(class)h(of)g(decision)g
(problems)g(solv)m(able)h(in)f(\\p)q(olynomial")j(time.)27
b(This)19 b(class)0 1489 y(is)d(called)g FF(P)f FH(for)g(deterministic)h(T)l
(uring)g(mac)o(hines)f(and)g FF(NP)h FH(for)f(nondeterministic)h(T)l(uring)g
(mac)o(hines.)0 1561 y(F)l(or)k(probabilistic)i(T)l(uring)f(mac)o(hines,)f
(the)f(analogous)j(class)f(is)f(called)g FF(RP)f FH(\(or)h(simply)g
FF(R)f FH(b)o(y)g(some)0 1633 y(writers\),)d(standing)i(for)f
FF(R)n(andom)f(Polynomial)h FH(time,)f(and)h(is)g(c)o(haracterized)e(in)i
([Har87)q(])e(as)i(follo)o(ws:)122 1771 y(The)k(class)h FF(RP)e
FH(is)i(de\014ned)f(as)g(the)g(class)h(of)f(decision)i(problems)e(for)g(whic)
o(h)h(there)e(is)i(a)122 1843 y(p)q(olynomial-time)17 b(probabilistic)g(T)l
(uring)f(mac)o(hine)e(with)h(the)e(follo)o(wing)k(prop)q(ert)o(y)l(.)k(If)13
b(the)122 1916 y(correct)h(answ)o(er)h(for)f(an)h(input)h FB(X)j
FH(is)c FF(no)s FH(,)g(the)f(mac)o(hine)g(sa)o(ys)h FF(no)g
FH(with)g(probabilit)o(y)i(1,)d(and)122 1988 y(if)g(the)f(correct)g(answ)o
(er)h(is)g FF(yes)t FH(,)g(the)f(mac)o(hine)h(sa)o(ys)g FF(yes)f
FH(with)i(probabilit)o(y)g(greater)f(than)1792 1968 y FI(1)p
1792 1976 18 2 v 1792 2005 a(2)1815 1988 y FH(.)122 2060 y(Of)20
b(course,)g(the)f(in)o(terest)h(in)g FF(RP)f FH(problems)i(stems)e(from)h
(the)g(fact)f(that)h(for)g(an)o(y)g(giv)o(en)122 2132 y FB(X)i
FH(these)c(p)q(ossibly)j(erroneous)d(algorithms)j(can)d(b)q(e)g(reiterated)g
(man)o(y)g(times,)g(ac)o(hieving)122 2204 y(a)f(diminishing)i(probabilit)o(y)
f(of)f(error.)73 2342 y(The)i(class)g FF(c)n(o-RP)f FH(is)i(de\014ned)e
(similarly)j(except)c(no)o(w)i(the)f(probabilistic)j(T)l(uring)f(mac)o(hine)e
(m)o(ust)0 2415 y(resp)q(ond)e(correctly)g(with)g(probabilit)o(y)i(1)d(on)h
FF(yes)g FH(answ)o(ers,)g(and)g(with)g(probabilit)o(y)i(greater)d(than)1860
2395 y FI(1)p 1860 2403 V 1860 2432 a(2)1899 2415 y FH(on)0
2487 y FF(no)h FH(answ)o(ers.)22 b(F)l(or)16 b(example,)g(b)o(y)f(virtue)h
(of)h(the)e(probabilisti)q(c)j(algorithms)h(presen)o(ted)c(in)i(Section)f
(2.2,)0 2559 y(the)11 b(problem)h(of)f(primalit)o(y)h(testing)g(is)g(in)g
FF(c)n(o-RP)f FH(while)h(the)f(complemen)o(tary)g(problem,)h(comp)q
(ositeness)0 2631 y(testing,)19 b(is)g(in)f FF(RP)5 b FH(.)18
b(In)o(terestingly)l(,)g(Adleman)g(and)g(Huang)h([AH87)o(])f(sho)o(w)o(ed)g
(that)g(primalit)o(y)h(testing)0 2704 y(is)e(also)h(in)f FF(RP)5
b FH(,)15 b(thereb)o(y)g(putting)j(this)f(problem)g(in)g(the)f(in)o
(tersection)g(of)h FF(RP)f FH(and)h FF(c)n(o-RP)5 b FH(.)951
2828 y(74)p eop
bop 73 195 a FH(Complexit)o(y)15 b(classes)h(for)f(randomized)g(algorithms)i
(extend)d(b)q(ey)o(ond)h FF(RP)f FH(and)h(include)h(the)e(classes)0
267 y FF(PP)f FH(\()p FF(Pr)n(ob)n(abilistic)h(Polynomial)f
FH(time\))g(and)g FF(BPP)h FH(\()p FF(Bounde)n(d)g(Pr)n(ob)n(abilistic)h
(Polynomial)e FH(time\).)20 b(F)l(or)13 b(a)0 340 y(problem)g(in)h
FF(PP)5 b FH(,)13 b(the)g(requisite)g(probabilisti)q(c)j(T)l(uring)e(mac)o
(hine)f(guaran)o(tees)g(the)g(correctness)g(of)g(b)q(oth)0
412 y FF(yes)j FH(and)h FF(no)g FH(answ)o(ers)g(only)g(with)g(probabilit)o(y)
h(greater)e(than)1178 392 y FI(1)p 1178 400 18 2 v 1178 429
a(2)1201 412 y FH(.)21 b(In)16 b FF(BPP)5 b FH(,)16 b(ho)o(w)o(ev)o(er,)f
(the)h(probabilit)o(y)0 484 y(of)i(error)h(in)g(either)f(a)g
FF(yes)g FH(or)h FF(no)g FH(answ)o(er)f(is)h(b)q(ounded)g(from)f(ab)q(o)o(v)o
(e)g(b)o(y)g(some)g(constan)o(t)h FB(\017)e(<)1799 464 y FI(1)p
1799 472 V 1799 501 a(2)1821 484 y FH(.)27 b(It)18 b(is)0 556
y(lik)o(ely)l(,)13 b(in)h(fact,)f(that)g FF(BPP)g FH(is)h(m)o(uc)o(h)e(w)o
(eak)o(er)f(than)j FF(PP)5 b FH(.)12 b(F)l(or)h(example,)g(in)h
FF(BPP)5 b FH(,)13 b(the)f(error)h(probabilit)o(y)0 628 y(can)19
b(b)q(e)g(made)g(exp)q(onen)o(tially)i(small)f(in)g(the)f(length)h(of)f(the)g
(input)h(at)g(the)e(cost)i(of)f(only)h(a)g(constan)o(t)0 701
y(factor)d(increase)f(in)h(the)f(n)o(um)o(b)q(er)f(of)i(random)g(bits)g(used)
f(b)o(y)g(the)g(algorithm)i([CW89)q(].)73 803 y(It)g(is)i(not)f(di\016cult)g
(to)g(see)f(that)h(w)o(e)f(ha)o(v)o(e)g(the)g(follo)o(wing)k(hierarc)o(hies)d
(of)g(complexit)o(y)f(classes:)27 b FF(P)0 875 y Fx(\022)22
b FF(RP)g Fx(\022)g FF(NP)g FH(and)h FF(RP)f Fx([)g FF(c)n(o-RP)g
Fx(\022)g FF(BPP)h Fx(\022)f FF(PP)g FH(\(but)g(see,)h(e.g.,)e([Gil77)r(,)h
(Joh90)q(])g(for)g(more)g(in-)0 947 y(depth)16 b(discussions)i(of)f
(randomized)g(complexit)o(y)e(classes\).)22 b(In)16 b(w)o(ords,)g(the)g
(former)g(rev)o(eals)g(that)g(coin)0 1020 y(tossing)e(is)e(at)g(least)g(as)h
(p)q(o)o(w)o(erful)f(as)g(deterministic)g(computation,)i(and)e
(nondeterminism)g(is)h(at)f(least)g(as)0 1092 y(p)q(o)o(w)o(erful)h(as)h
(coin)f(tossing.)22 b(It)13 b(is)g(conjectured)f(that)h(these)g(inclusions)i
(are)e(strict.)20 b(Empirical)15 b(evidence)0 1164 y(includes)25
b(the)f(fact)f(that,)j(as)f(of)f(no)o(w,)i(no)e(one)g(has)h(disco)o(v)o(ered)
e(a)i(p)q(olynomial-time)h(randomized)0 1236 y(algorithm)18
b(for)f(an)o(y)f FF(NP)p FH(-complete)g(problem.)73 1339 y(More)k(recen)o
(tly)l(,)f(the)g FF(quantum)j(T)l(uring)f(machine)f FH(has)h(b)q(een)e(prop)q
(osed)i([Deu85)q(])e(as)h(a)g(quan)o(tum)0 1411 y(ph)o(ysical)g(analogue)h
(of)f(the)f(probabilistic)j(T)l(uring)e(mac)o(hine.)30 b(A)19
b(quan)o(tum)g(T)l(uring)h(mac)o(hine,)f(in)h(its)0 1483 y(most)d(general)g
(form,)f(pro)q(duces)i(a)f(random)g(sample)g(from)f(a)h(probabilit)o(y)i
(distribution)g(on)e(an)o(y)g(giv)o(en)0 1555 y(input.)22 b(Quan)o(tum)16
b(T)l(uring)h(mac)o(hines)f(giv)o(e)g(rise)h(to)f(the)g(new)g(complexit)o(y)g
(classes)h FF(Quantum)h(Polyno-)0 1627 y(mial)g FH(time)f(\()p
FF(QP)p FH(\))h(and)g FF(Bounde)n(d)h(Quantum)h(Polynomial)e
FH(time)g(\()p FF(BQP)p FH(\))g([BV93)o(].)25 b(There)17 b(is)i(evidence)0
1700 y(to)f(suggest)g(that)f(it)h(is)g(imp)q(ossible)i(to)d(sim)o(ulate)h(a)g
(quan)o(tum)f(T)l(uring)h(mac)o(hine)f(with)h(a)g(probabilistic)0
1772 y(T)l(uring)g(mac)o(hine)e(without)h(incurring)h(an)e(exp)q(onen)o(tial)
i(slo)o(wdo)o(wn)g([F)l(ey82)o(].)0 1984 y Fu(Theory)23 b(of)h(Probabilistic)
g(Automata)0 2118 y FH(Just)12 b(as)h(there)e(is)i(a)f(complexit)o(y)g
(theory)g(of)g(probabilistic)j(algorithms)f(whic)o(h)e(parallels)j(the)c
(complexit)o(y)0 2190 y(theory)16 b(of)h(deterministic)h(algorithms,)g(there)
e(is)h(a)g(theory)g(of)g FF(pr)n(ob)n(abilistic)g(automata)t
FH(,)f(e.g.,)g([Rab63,)0 2263 y(Sal69)r(,)g(P)o(az71],)g(whic)o(h)g
(parallels)j(the)d(classical)j(theory)d(of)h(nondeterministic)g(automata.)23
b(A)16 b(seminal)0 2335 y(pap)q(er)i(on)g(probabilisti)q(c)i(automata)f(is)f
([Rab63)q(],)f(where)g(Rabin)i(explored)f(\014nite)g(state)g(probabilistic)0
2407 y(automata.)28 b(He)18 b(de\014ned)f(the)h(notion)i(of)e(a)h(language)h
(accepted)e(b)o(y)f(a)i(probabilistic)i(automaton)f(rel-)0
2479 y(ativ)o(e)g(to)g(a)h FF(cutp)n(oint)f FH(probabilit)o(y)i
FB(\025)p FH(.)33 b(One)19 b(of)i(his)g(k)o(ey)d(results)j(w)o(as)f(that)h
(there)e(exists)h(\014nite)h(state)0 2551 y(probabilistic)g(automata)e(that)f
(de\014ne)f(non-regular)j(languages,)f(ev)o(en)e(if)h(the)f(probabiliti)q(es)
j(in)o(v)o(olv)o(ed)0 2624 y(are)15 b(all)h(rational.)23 b(Salomaa)17
b([Sal69)q(])d(has)i(expanded)f(up)q(on)h(the)e(w)o(ork)h(of)g(Rabin)h(to)f
(pro)q(duce)g(a)g(general)0 2696 y(theory)h(of)h FF(sto)n(chastic)g
(languages)t FH(.)951 2828 y(75)p eop
bop 0 195 a Fu(Probabilistic)24 b(Analysis)g(of)g(Con)n(v)n(en)n(tional)g
(Algorithms)0 330 y FH(Probabilisti)q(c)15 b(analysis)g(of)e(a)g(con)o(v)o
(en)o(tional,)h(i.e.,)e(deterministic,)i(algorithm)g(starts)g(with)g(the)e
(assump-)0 402 y(tion)23 b(that)f(the)f(instances)i(of)f(a)g(problem)g(are)g
(dra)o(wn)g(from)g(a)g(sp)q(eci\014ed)g(probabilit)o(y)i(distribution.)0
474 y(Tw)o(o)c(ma)s(jor)g(applications)i(are)e(the)f(analysis)j(of)e(a)o(v)o
(erage-case)f(b)q(eha)o(vior)i(of)f(sequen)o(tial)g(algorithms)0
546 y(and)d(data)g(structures)g(\(see)f([VF90)o(])g(for)h(an)g(excellen)o(t)f
(surv)o(ey\),)f(and)i(the)f(analysis)i(of)f(appro)o(ximation)0
618 y(algorithms)e(for)f(coping)h(with)f(in)o(tractabilit)o(y)h(of)e(com)o
(binatorial)j(optimization)f(problems)f([GJ79)q(].)20 b(F)l(or)0
691 y(suc)o(h)e(problems,)h(the)f(goal)i(is)f(to)g(pro)o(v)o(e)f(that)g(some)
h(simple)g(and)g(fast)f(algorithm)j(pro)q(duces)e(\\go)q(o)q(d,")0
763 y(near-optimal)k(solutions.)37 b(A)20 b(classic)i(example)e(is)i(Karp's)f
(divide-and-conquer)h(algorithm)g(for)f(the)0 835 y(T)l(ra)o(v)o(eling)e
(Salesman)g(problem)f(in)h(a)f(plane)h([Kar86)q(].)26 b(Bin)18
b(pac)o(king)h(is)f(another)h(problem)f(for)h(whic)o(h)0 907
y(v)o(ery)c(go)q(o)q(d)j(appro)o(ximation)g(algorithms)h(ha)o(v)o(e)c(b)q
(een)h(disco)o(v)o(ered.)0 1119 y Fu(Randomized)23 b(P)n(arallel)h
(Algorithms)0 1254 y FH(As)14 b(with)h(sequen)o(tial)f(and)h(distributed)g
(algorithms,)i(the)c(p)q(erformance)h(of)h FF(p)n(ar)n(al)r(lel)h(algorithms)
e FH(can)g(b)q(e)0 1326 y(impro)o(v)o(ed)19 b(through)h(the)f(in)o(tro)q
(duction)i(of)f(randomized)g(b)q(eha)o(vior,)h(i.e.,)d(coin)j(tossing.)32
b(A)19 b(standard)0 1398 y(mo)q(del)g(of)g(computation)h(for)f(parallel)i
(algorithms)g(is)e(the)g(PRAM,)e(a)i(m)o(ulti-pro)q(cessor)i(arc)o(hitecture)
0 1470 y(where)15 b(eac)o(h)g(pro)q(cessor)h(has)g(random)g(access)g(to)f(a)h
(shared)g(memory)l(.)k(PRAM)15 b(is)h(actually)h(a)f(family)g(of)0
1542 y(mo)q(dels)f(including)h(CR)o(CW)e(\(memory)e(ma)o(y)i(b)q(e)g
(concurren)o(tly)f(read)h(and)g(written\),)h(CREW)f(\(memory)0
1615 y(ma)o(y)21 b(b)q(e)h(read)g(concurren)o(tly)g(but)g(writes)g(are)g
(exclusiv)o(e\),)h(and)f(EREW)g(\(all)i(reads)e(and)g(writes)h(of)0
1687 y(memory)15 b(are)i(exclusiv)o(e\).)73 1789 y(The)h(b)q(ene\014ts)g(of)g
(randomization)i(in)e(parallel)i(algorithms)g(can)e(p)q(erhaps)h(b)q(e)f(b)q
(est)g(illustrated)i(b)o(y)0 1861 y(the)h(results)i(of)f(Vishkin)h([Vis84])e
(for)h(the)g(follo)o(wing)i(problem:)33 b(Giv)o(en)22 b(a)g(link)o(ed)g(list)
h(of)f(length)g FB(n)p FH(,)0 1934 y(compute)14 b(the)f(distance)i(of)f(eac)o
(h)g(elemen)o(t)f(of)h(the)g(link)o(ed)g(list)h(from)f(the)g(end)g(of)g(the)g
(list.)22 b(The)14 b(problem)0 2006 y(has)20 b(a)f(trivial)h(linear-time)g
(sequen)o(tial)g(algorithm)h(but)e(Wyllie)h([Wyl79])f(conjectured)f(that)h
(there)f(is)0 2078 y(no)j(optimal)h(sp)q(eed-up)e(parallel)j(algorithm)f(for)
e FB(n=)8 b FH(log)k FB(n)20 b FH(pro)q(cessors.)34 b(Vishkin)21
b(sho)o(w)o(ed)g(that)f(suc)o(h)0 2150 y(optimal)i(sp)q(eed-up)g
FF(c)n(an)f FH(b)q(e)g(obtained)h(via)g(randomization)h(b)o(y)d(exhibiting)j
(a)e(randomized)h(parallel)0 2222 y(algorithm)17 b(for)f(the)f(problem)g
(that)h(runs)f(in)h FB(O)q FH(\()p FB(n=p)p FH(\))h(time)e(using)i
FB(p)d Fx(\024)g FB(n=)p FH(\(log)c FB(n)e FH(log)1576 2201
y Ft(\003)1604 2222 y FB(n)p FH(\))15 b(pro)q(cessors)i(on)0
2295 y(an)j(EREW)h(PRAM.)e(\(Note)g(that)i(for)f(all)h(practical)h(purp)q
(oses,)f(the)f(p)q(oly-logari)q(thmic)j(term)c(log)1893 2273
y Ft(\003)1921 2295 y FB(n)0 2367 y FH(can)d(b)q(e)h(view)o(ed)f(as)h(a)f
(constan)o(t.\))73 2469 y(Other)i(examples)g(of)h(fast)g(randomized)g
(parallel)h(algorithms)h(include)e(the)f(sorting)h(algorithm)i(of)0
2541 y(Reisc)o(h)o(uk)i([Rei81],)i(the)f(algorithm)h(for)f(subtree)g
(isomorphism)i(b)o(y)d(Miller)i(and)f(Reif)g([MR89],)g(as)0
2614 y(w)o(ell)17 b(as)g(the)f(n)o(umerous)g(algorithms)j(describ)q(ed)e(in)g
(the)f(annotated)h(bibliograph)o(y)l(.)24 b(Miller)18 b(and)f(Reif)s('s)0
2686 y(algorithm)j(uses)e FB(O)q FH(\(log)11 b FB(n)p FH(\))19
b(time)f(and)g FB(O)q FH(\()p FB(n=)8 b FH(log)k FB(n)p FH(\))18
b(pro)q(cessors,)i(and)e(w)o(as)h(the)f(\014rst)g(p)q(olylog)j(parallel)951
2828 y(76)p eop
bop 0 195 a FH(algorithm)18 b(for)f(the)f(subtree)g(isomorphism)i(problem.)0
407 y Fu(Sources)27 b(of)h(Randomness)g(and)f(their)g(Impact)g(on)h
(Randomized)f(Algo-)0 519 y(rithms)0 653 y FH(Throughout)c(this)e(surv)o(ey)f
(w)o(e)h(assumed)g(that)g(a)g(randomized)h(algorithm)h(had)e(the)g(abilit)o
(y)h(to)f(toss)0 726 y(un)o(biased)d(coins.)25 b(Clearly)l(,)18
b(this)g(is)g(a)f(k)o(ey)f(assumption:)25 b(an)o(y)17 b(bias)h(in)g(the)f
(coin)h(tosses)g(can)f(adv)o(ersely)0 798 y(a\013ect)h(the)g(accuracy)g(and)g
(p)q(erformance)g(of)g(the)g(algorithm.)29 b(In)17 b(this)i(section)g(w)o(e)e
(describ)q(e)i(researc)o(h)0 870 y(aimed)g(at)h(reducing)f(the)g(n)o(um)o(b)q
(er)f(of)i(truly)f(random)g(bits)h(a)g(randomized)f(algorithm)i(requires,)e
(and)0 942 y(the)k(usefulness)i(of)f(\\w)o(eak)g(sources)g(of)g(randomness.")
45 b(W)l(e)23 b(also)j(consider)e(means)g(of)g(generating)0
1015 y(bit)c(strings)g(that)f(ha)o(v)o(e)f(the)h(mathematical)h(prop)q
(erties)g(of)f(truly)g(random)h(strings.)30 b(Our)19 b(treatmen)o(t)0
1087 y(of)h(these)f(topics)i(is)f(mainly)h(bibliographi)q(c)h(in)e(nature)g
(and)g(w)o(e)f(refer)g(the)h(in)o(terested)f(reader)g(to)h(the)0
1159 y(appropriate)e(references)d(for)h(detailed)h(co)o(v)o(erage.)73
1261 y(Let)c Fx(A)21 b FH(b)q(e)13 b(a)h(randomized)f(algorithm)i(that)e
(when)g(supplied)i(with)f FB(n)f FH(truly)g(random)g(bits,)h(pro)q(duces)0
1333 y(results)j(with)g(a)g(\014xed)f(error)g(probabilit)o(y)i
FB(\017)p FH(.)j(The)16 b(follo)o(wing)j(t)o(w)o(o)d(questions)i(naturally)g
(arise:)60 1477 y(1.)24 b(Is)e(it)h(p)q(ossible)i(to)e(reduce)f(the)g(error)h
(probabilit)o(y)h(of)f Fx(A)31 b FH(through)23 b(a)g(small)h(increase)f(in)g
(the)122 1549 y(n)o(um)o(b)q(er)15 b(of)i(truly)g(random)f(bits)i(that)e
Fx(A)25 b FH(has)17 b(at)f(its)h(disp)q(osal?)60 1663 y(2.)24
b(Can)c Fx(A)27 b FH(main)o(tain)20 b(its)g(error)f(probabilit)o(y)i(when)f
(the)e(random)i(bits)g(come)f(from)g(a)g(\\w)o(eak")h(or)122
1735 y(imp)q(erfect)c(source)g(of)h(randomness?)0 1879 y(These)d(t)o(w)o(o)f
(problems,)h(whic)o(h)g(are)g(commonly)g(referred)e(to)i(as)g
FF(deterministic)i(ampli\014c)n(ation)f FH(and)f FF(sim-)0
1951 y(ulating)i(pr)n(ob)n(abilistic)e(algorithms)g(by)h(we)n(ak)g(r)n(andom)
e(sour)n(c)n(es)t FH(,)f(ha)o(v)o(e)g(receiv)o(ed)g(considerable)i(atten)o
(tion)0 2024 y(in)j(the)f(recen)o(t)f(literature)i(and)g(are)f(discussed)h
(next.)0 2196 y FC(Deterministic)i(Ampli\014cation)0 2330 y
FH(Let)d Fx(A)24 b FH(b)q(e)16 b(a)h(randomized)f(algorithm)i(that)e(uses)h
FB(q)r FH(\()p FB(n)p FH(\))e(random)i(bits)f(on)h(an)f(input)h(of)f(length)h
FB(n)p FH(.)k(One)0 2402 y(ob)o(vious)15 b(w)o(a)o(y)e(of)i(b)q(o)q(osting)h
(the)e(accuracy)f(of)h Fx(A)22 b FH(is)15 b(to)f(run)g(it)g(rep)q(eatedly)g
(with)h(indep)q(enden)o(tly)f(c)o(hosen)0 2474 y FB(q)r FH(\()p
FB(n)p FH(\)-bit)19 b(patterns.)29 b(Ho)o(w)o(ev)o(er,)18 b(this)h(metho)q(d)
g(\\w)o(astes)h(randomness")g(as)f(eac)o(h)g(random)g(bit)g(is)h(used)0
2547 y(only)d(once)g(and)g(then)f(discarded.)23 b(It)16 b(turns)h(out)g(that)
g Fx(A)24 b FH(can)17 b(b)q(e)g(deterministically)h(ampli\014ed)g(using)0
2619 y(few)o(er)d(random)i(bits)g(if)g(certain)g(t)o(yp)q(es)f(of)g
FF(exp)n(ander)i(gr)n(aphs)d FH(can)i(b)q(e)f(constructed.)951
2828 y(77)p eop
bop 73 195 a FH(In)17 b([KPS85)q(],)g(Karp,)g(Pipp)q(enger,)h(and)g(Sipser)g
(presen)o(t)f(the)g(\014rst)h(example)f(of)h(deterministic)g(am-)0
267 y(pli\014cation.)36 b(Using)21 b(expander)f(graphs,)i(they)e(sho)o(w)h
(ho)o(w)f(the)g(error)h(probabilit)o(y)h(of)f(a)f(randomized)0
340 y(algorithm)15 b(can)f(b)q(e)f(reduced)f(to)i FB(n)633
321 y Ft(\000)p Fw(c)678 340 y FH(,)f(for)h(some)f(constan)o(t)h
FB(c)p FH(.)20 b(Their)14 b(tec)o(hnique)e(requires)h(no)h(additional)0
412 y(random)j(bits.)22 b(Let)16 b(us)h(no)o(w)g(lo)q(ok)g(at)g(expander)f
(graphs)h(more)f(carefully)l(.)0 514 y(An)g(\()p FB(l)q(;)8
b(r)o(;)g(d;)g(k)r FH(\)-)p FF(exp)n(ander)16 b FH(is)h(a)g(bipartite)g
(graph)g(from)g FB(L)f FH(to)h FB(R)f FH(suc)o(h)g(that)60
658 y(1.)24 b Fx(j)p FB(L)p Fx(j)14 b FH(=)f FB(l)k FH(and)g
Fx(j)p FB(R)p Fx(j)d FH(=)g FB(r)q FH(,)60 772 y(2.)24 b(the)16
b(degree)g(of)g(all)i(no)q(des)f(in)g FB(L)f FH(is)h FB(d)p
FH(,)g(and)60 885 y(3.)24 b(ev)o(ery)15 b(subset)h(of)h FB(k)h
FH(no)q(des)f(in)g FB(L)g FH(is)g(connected)e(to)i(more)f(than)1320
866 y Fw(r)p 1320 874 18 2 v 1320 902 a FI(2)1358 885 y FH(no)q(des)i(in)e
FB(R)p FH(.)73 1029 y(In)23 b(general,)i(giv)o(en)e(v)m(alues)i(of)e
FB(l)q FH(,)p FB(r)q FH(,)p FB(d)p FH(,)p FB(k)h FH(it)g(is)g(easy)f(to)h
(pro)o(v)o(e)e(or)h(dispro)o(v)o(e)h(the)f(existence)f(of)i(an)0
1101 y(\()p FB(l)q(;)8 b(r)o(;)g(d;)g(k)r FH(\)-expander)22
b(through)i(probabilistic)i(metho)q(ds)d([ES74])g(or)g(other)g
(non-constructiv)o(e)g(argu-)0 1173 y(men)o(ts.)35 b(F)l(or)21
b(example,)h(the)e(reader)h(ma)o(y)g(enjo)o(y)f(pro)o(ving,)j(using)f(a)g
(probabilistic)i(argumen)o(t,)e(that)0 1246 y(there)14 b(exists)h(\()p
FB(m)318 1228 y FI(log)5 b Fw(m)402 1246 y FB(;)j(m;)g FH(2)g(log)585
1224 y FI(2)613 1246 y FB(m;)g(m)p FH(\)-expanders)14 b(for)h(an)o(y)f
FB(m)g FH([Sip88)q(].)21 b(Replacing)16 b FB(m)e FH(b)o(y)g(2)1753
1228 y Fw(q)1787 1246 y FH(certi\014es)0 1318 y(the)i(existence)g(of)g(\(2)
390 1300 y Fw(q)407 1288 y Fq(2)427 1318 y FB(;)8 b FH(2)473
1300 y Fw(q)492 1318 y FB(;)g FH(2)p FB(q)562 1300 y FI(2)581
1318 y FB(;)g FH(2)627 1300 y Fw(q)647 1318 y FH(\)-expanders.)73
1420 y(Sipser)16 b([Sip88)q(])e(reduces)g(the)h(deterministic)h
(ampli\014cation)h(problem)e(to)g(a)h(graph)f(theoretic)g(prob-)0
1492 y(lem)23 b(in)o(v)o(olving)h(expander)f(graphs.)43 b(Since)23
b(his)h(reduction)g(requires)f(explicit)h(construction)g(of)f(ex-)0
1565 y(panders,)16 b(let)g(us)g(assume)h(that)f(w)o(e)f(ha)o(v)o(e)g(a)i
(metho)q(d)f(for)g(explicitly)h(constructing,)g(for)f(an)o(y)g(giv)o(en)g
FB(q)r FH(,)f(a)0 1637 y(\(2)43 1619 y Fw(q)60 1607 y Fq(2)80
1637 y FB(;)8 b FH(2)126 1619 y Fw(q)145 1637 y FB(;)g FH(2)p
FB(q)215 1619 y FI(2)234 1637 y FB(;)g FH(2)280 1619 y Fw(q)300
1637 y FH(\)-expander.)26 b(Lab)q(el)20 b(the)e(left)g(no)q(des)h(in)g(this)g
(graph)g(with)g(bit)g(strings)h(from)e(\006)1817 1619 y Fw(q)1834
1607 y Fq(2)1871 1637 y FH(and)0 1709 y(the)c(righ)o(t)h(no)q(des)g(with)g
(bit)f(strings)i(from)e(\006)819 1691 y Fw(q)838 1709 y FH(,)g(where)g(\006)g
(=)g Fx(f)p FH(0)p FB(;)8 b FH(1)p Fx(g)p FH(.)21 b(Call)16
b(suc)o(h)d(an)i(expander)f(graph)h FB(G)1917 1716 y Fw(q)1936
1709 y FH(.)73 1811 y(Let)k Fx(B)28 b FH(b)q(e)19 b(the)f(amplifying)j
(algorithm)f(for)f Fx(A)27 b FH(that)19 b(uses)g FB(q)1229
1793 y FI(2)1248 1811 y FH(\()p FB(n)p FH(\))g(random)g(bits)h(and)f(op)q
(erates)g(as)0 1884 y(follo)o(ws.)43 b(It)22 b(generates)h(a)h
FB(q)551 1865 y FI(2)570 1884 y FH(\()p FB(n)p FH(\)-bit)g(random)f(sequence)
f FB(\033)27 b Fx(2)e FH(\006)1278 1865 y Fw(q)1295 1854 y
Fq(2)1312 1865 y FI(\()p Fw(n)p FI(\))1386 1884 y FH(and,)g(using)f
FB(\033)r FH(,)g(generates)f(a)0 1956 y(m)o(ultiset)15 b FB(B)s
FH(\()p FB(\033)r FH(\))d Fx(\032)i FH(\006)395 1938 y Fw(q)q
FI(\()p Fw(n)p FI(\))463 1956 y FH(.)21 b(F)l(or)14 b(eac)o(h)g
FB(q)r FH(\()p FB(n)p FH(\)-bit)g FB(\013)g Fx(2)g FB(B)s FH(\()p
FB(\033)r FH(\),)f(the)h(algorithm)j Fx(B)23 b FH(runs)15 b
Fx(A)22 b FH(on)15 b FB(\013)f FH(in)o(ternally)l(.)0 2028
y(The)24 b(m)o(ultiset)g FB(B)s FH(\()p FB(\033)r FH(\))f(is)i(generated)f
(using)h(the)f(expander)g(graph)h FB(G)1351 2036 y Fw(q)q FI(\()p
Fw(n)p FI(\))1443 2028 y FH(\(also)h(called)f(a)f FF(disp)n(erser)0
2100 y FH(in)17 b([CW89)q(]\).)73 2202 y(The)f(e\016ciency)e(of)h(algorithm)j
Fx(B)24 b FH(dep)q(ends)16 b(on)g(the)f(abilit)o(y)i(to)f(e\016cien)o(tly)e
(construct)i(the)f(m)o(ultiset)0 2275 y(of)h(neigh)o(b)q(ors)i(of)e
FB(\033)r FH(:)21 b(for)16 b(a)h(giv)o(en)f FB(\033)r FH(,)f(clearly)i(one)f
(should)i(b)q(e)e(able)h(to)f(generate,)g(in)h(p)q(olynomial)i(time,)0
2347 y(eac)o(h)f(edge)g(\()p FB(\033)o(;)8 b(\013)p FH(\).)26
b(Hence)17 b(the)h(earlier)h(assumption)g(ab)q(out)h(e\016cien)o(tly)d
(constructing)i(the)f(expander)0 2419 y FB(G)38 2427 y Fw(q)q
FI(\()p Fw(n)p FI(\))106 2419 y FH(.)73 2521 y(The)13 b(accuracy)g(of)h
Fx(B)22 b FH(is)14 b(related)g(to)f(certain)h(\\expansion)h(prop)q(erties")f
(of)g FB(G)1488 2529 y Fw(q)q FI(\()p Fw(n)p FI(\))1569 2521
y FH(\(see)f(De\014nition)i(2.2)0 2594 y(in)20 b([CW89)q(])f(for)h(an)g
(exact)f(form)o(ulation)i(of)f(these)f(prop)q(erties\).)33
b(Under)19 b(the)g(h)o(yp)q(othesis)i(that)f FB(G)1882 2601
y Fw(q)q FI(\()p Fw(n)p FI(\))0 2666 y FH(can)c(b)q(e)h(explicitly)g
(constructed,)f(an)o(y)g(randomized)h(algorithm)h Fx(A)24 b
FH(utilizing)19 b FB(q)r FH(\()p FB(n)p FH(\))c(random)i(bits)g(with)951
2828 y(78)p eop
bop 0 195 a FH(error)16 b(probabilit)o(y)372 175 y FI(1)p 372
183 18 2 v 372 212 a(2)395 195 y FH(,)f(can)h(b)q(e)g(con)o(v)o(erted)f(in)o
(to)h(another)g(algorithm)i Fx(B)25 b FH(that)16 b(uses)g FB(q)1588
177 y FI(2)1608 195 y FH(\()p FB(n)p FH(\))f(bits)i(and)f(has)0
267 y(error)d(probabilit)o(y)h(2)385 249 y Ft(\000)p FI(\()p
Fw(q)443 238 y Fq(2)461 249 y FI(\()p Fw(n)p FI(\))p Ft(\000)p
Fw(q)q FI(\()p Fw(n)p FI(\)\))632 267 y FH([Sip88)q(].)19 b(The)13
b(reduction)g(in)g(the)g(error)f(probabilit)o(y)j(follo)o(ws)g(from)d(the)0
340 y(prop)q(erties)19 b(of)f(the)f(expander)g(graph.)27 b(It)17
b(can)h(also)h(b)q(e)f(sho)o(wn)g(that)g(random)g(bipartite)h(m)o(ultigraphs)
0 412 y(are)d(su\016cien)o(tly)g(expanding.)73 514 y(While)c(Sipser's)f
(reduction)h(assumes)f(the)g(constructabilit)o(y)h(of)f(expander)g(graphs,)h
(Ajtai)g(et)e(al.)h([AKS87])0 586 y(sho)o(w)24 b(ho)o(w)g(to)g(explicitly)h
(construct)f(expanders)f(for)h(deterministic)g(ampli\014cation.)46
b(Using)24 b(these)0 658 y(m)o(ultigraphs,)d(Cohen)e(and)g(Wigderson)i
([CW89])e(pro)o(v)o(e)f(that)h(the)g(error)f(probabilit)o(y)j(of)f(an)o(y)e
FF(RP)h FH(or)0 731 y FF(BPP)g FH(algorithm)h(can)e(b)q(e)h(made)f(exp)q
(onen)o(tially)h(small)h(in)f(the)f(size)g(of)h(the)f(input,)h(with)g(only)g
(a)g(con-)0 803 y(stan)o(t)13 b(factor)h(increase)f(in)g(the)g(n)o(um)o(b)q
(er)f(of)h(random)h(bits)g(used)f(b)o(y)f(the)h(algorithm.)22
b(They)13 b(also)h(consider)0 875 y(sim)o(ulations)19 b(of)d(these)g
(algorithms)j(with)e(w)o(eak)f(sources)g(of)h(random)f(n)o(um)o(b)q(ers.)0
1047 y FC(Sim)n(ulating)21 b(Probabilistic)g(Algorithms)f(b)n(y)f(W)-5
b(eak)18 b(Random)h(Sources)0 1182 y FH(Since)f(most)g(ph)o(ysical)h(sources)
f(of)g(randomness)g(su\013er)g(from)g(correlation,)h(it)f(is)h(natural)g(to)f
(consider)0 1254 y(imp)q(erfect)23 b(or)h(w)o(eak)f(sources)h(of)g
(randomness.)43 b(Suc)o(h)23 b(sources)h(are)g(called)g FF(semi-r)n(andom)g
(sour)n(c)n(es)0 1326 y FH(in)16 b([SV86].)21 b(In)15 b(this)h(mo)q(del,)g
(eac)o(h)f(bit)h(of)f(the)h(output)g(is)g(pro)q(duced)g(b)o(y)f(an)g(adv)o
(ersary)h(b)o(y)f(the)g(\015ip)h(of)g(a)0 1398 y(coin)g(of)f(v)m(ariable)h
(bias.)22 b(The)15 b(adv)o(ersary)g(can)g(lo)q(ok)i(at)e(the)g(previously)g
(output)h(bits,)g(and)f(use)g(these)g(to)0 1470 y(set)h(the)g(bias)i(in)f
(the)f(coin.)21 b(The)c(bias,)g(whic)o(h)f(helps)h(mo)q(del)g(correlation)h
(among)f(bits,)g(is)g(constrained)0 1543 y(to)g(b)q(e)f(b)q(et)o(w)o(een)f(t)
o(w)o(o)h(limits,)i FB(\016)f FH(and)g(\(1)12 b Fx(\000)f FB(\016)r
FH(\).)73 1645 y(It)19 b(has)i(b)q(een)e(sho)o(wn)i(that)f(if)g(a)g(problem)g
(can)g(b)q(e)g(solv)o(ed)g(b)o(y)f(a)h(p)q(olynomial-time)i(Mon)o(te)d(Carlo)
0 1717 y(algorithm)j(that)e(has)h(access)f(to)g(a)h(true)e(source)h(of)h
(randomness,)g(then)f(the)f(same)h(problem)h(can)f(b)q(e)0
1789 y(solv)o(ed)14 b(using)i(an)e(arbitrarily)i(w)o(eak)e(semi-random)h
(source)f([VV85].)20 b(In)13 b([V)l(az87],)h(e\016cien)o(t)f(algorithms)0
1862 y(for)k(using)g(semi-random)h(sources)e(are)h(presen)o(ted)e(and)i(a)g
(tec)o(hnique)f(for)g(pro)q(ducing)i(a)f(quasi-random)0 1934
y(sequence)e(at)i(an)g(optimal)g(rate,)f(using)i(t)o(w)o(o)e(semi-random)h
(sources,)f(is)h(describ)q(ed.)73 2036 y(In)e([Zuc90],)f(Zuc)o(k)o(erman)f
(exhibits)j(a)f(pseudo-random)h(generator)g(that)f(dep)q(ends)g(only)h(on)f
(a)g(w)o(eak)0 2108 y(random)21 b(source)g(called)h(a)f FB(\016)r
FH(-source.)34 b(A)21 b FB(\016)r FH(-source,)g(unlik)o(e)g(a)g(semi-random)h
(source,)f(is)h(ask)o(ed)e(only)0 2180 y(once)g(for)g FB(R)g
FH(random)g(bits)h(and)f(the)g(source)g(outputs)h(an)f FB(R)p
FH(-bit)h(string)g(suc)o(h)f(that)g(no)g(string)h(has)g(a)0
2253 y(probabilit)o(y)f(more)d(than)h(2)513 2235 y Ft(\000)p
Fw(\016)q(R)604 2253 y FH(of)g(b)q(eing)h(output,)f(for)g(some)f(\014xed)g
FB(\016)h(>)e FH(0.)25 b(Zuc)o(k)o(erman)16 b([Zuc91])h(also)0
2325 y(sho)o(ws)22 b(ho)o(w)g(to)g(sim)o(ulate)g FF(BPP)f FH(and)h(appro)o
(ximation)i(algorithms)f(in)f(p)q(olynomial)i(time)e(using)g(the)0
2397 y(output)17 b(from)e(a)i FB(\016)r FH(-source.)k(Another)15
b(notion)j(of)e(an)g(imp)q(erfect)g(source)g(of)g(randomness)h(is)f(in)o(tro)
q(duced)0 2469 y(in)h([LLS87)q(],)f(where)g(an)g(imp)q(erfect)g(source)g(is)h
(mo)q(deled)g(b)o(y)f(a)h(discrete)f(con)o(trol)h(pro)q(cess.)951
2828 y(79)p eop
bop 0 195 a FC(Pseudo-random)19 b(Num)n(b)r(er)f(Generators)0
330 y FH(In)c(the)h(absence)f(of)h(a)g(true)f(source)h(of)g(randomness,)g
(randomized)g(algorithms)i(almost)f(alw)o(a)o(ys)f(rely)g(on)0
402 y FF(pseudo-r)n(andom)j(numb)n(er)g(gener)n(ators)f FH(\(PR)o(Gs\))g(as)h
(their)f(source)g(of)g(random)h(bits.)24 b(The)17 b(imp)q(ortance)0
474 y(and)e(widespread)h(use)f(of)g(PR)o(Gs)g(is)g(exempli\014ed)g(b)o(y)f(a)
h(recen)o(t)f(article)h(in)h(the)e(New)g(Y)l(ork)h(Times)g(whic)o(h)0
546 y(declares)i(that:)122 677 y(Mathematical)i(\\mo)q(dels")g(designed)f(to)
g(predict)g(sto)q(c)o(k)g(prices,)f(atmospheric)i(w)o(arming,)122
749 y(air-plane)14 b(skin)g(friction,)g(c)o(hemical)e(reactions,)i
(epidemics,)f(p)q(opulation)j(gro)o(wth,)d(the)f(out-)122 821
y(come)j(of)h(battles,)g(the)f(lo)q(cation)j(of)e(oil)h(dep)q(osits)g(and)f
(h)o(undreds)g(of)g(other)f(complex)h(mat-)122 894 y(ters)c(increasingly)i
(dep)q(end)e(on)h(a)f(statistical)j(tec)o(hnique)c(called)i(Mon)o(te)f(Carlo)
i(Sim)o(ulation,)122 966 y(whic)o(h)h(in)g(turn)f(dep)q(ends)h(on)g(a)g
(reliable)g(and)g(inexhaustible)i(source)d(of)h(random)g(n)o(um)o(b)q(ers)122
1038 y([\\Coin-T)l(ossing)20 b(Computers)d(F)l(ound)f(to)h(Sho)o(w)g(Subtle)g
(Bias,")g(b)o(y)f(M.W.)f(Bro)o(wne,)h(New)122 1110 y(Y)l(ork)g(Times,)g(T)l
(ue.,)f(Jan.)22 b(12,)17 b(1993].)73 1241 y(Bro)o(wne)g(go)q(es)i(on)e(to)h
(p)q(oin)o(t)h(out)e(the)h(danger)g(inheren)o(t)f(in)h(using)h(PR)o(Gs,)e
(whic)o(h)h(w)o(as)g(brough)o(t)g(to)0 1313 y(ligh)o(t)d(in)f(a)f(recen)o(t)g
(pap)q(er)h(b)o(y)f(F)l(erren)o(b)q(erg,)f(Landau,)j(and)f(W)l(ong)h([FL)-5
b(W92].)20 b(This)14 b(pap)q(er)g(recoun)o(ts)g(ho)o(w)0 1386
y(the)j(authors)h(w)o(ere)e(puzzled)h(when)g(a)g(simple)h(mathematical)g(mo)q
(del)f(of)h(the)e(b)q(eha)o(vior)i(of)f(atoms)h(in)g(a)0 1458
y(magnetic)g(crystal)g(failed)g(to)g(giv)o(e)f(exp)q(ected)f(results.)25
b(They)17 b(traced)h(the)f(error)g(to)h(the)f(PR)o(G)g(used)g(in)0
1530 y(the)f(sim)o(ulation.)25 b(Up)q(on)17 b(further)g(in)o(v)o(estigation,)
h(they)e(demonstrated)h(that)g(\014v)o(e)f(of)h(the)f(most)h(widely)0
1602 y(used)f(PR)o(Gs,)g(all)h(of)f(whic)o(h)g(passed)h(a)f(sizable)h
(battery)e(of)h(tests)g(designed)h(to)f(test)g(their)g(randomness,)0
1675 y(in)h(fact)f(pro)q(duce)h(correlated)f(pseudo-random)i(n)o(um)o(b)q
(ers.)73 1777 y(PR)o(Gs)e(w)o(ork)f(as)h(follo)o(ws.)23 b(They)15
b(p)q(erform)g(a)h(deterministic)g(pro)q(cess)g(on)g(a)g(short,)g(random)g
(seed)f(to)0 1849 y(pro)q(duce)h(a)f(m)o(uc)o(h)g(larger,)h(pseudo-random)g
(string)h(that)f(serv)o(es)e(as)i(a)g(substitute)g(for)g(a)g(truly)f(random)0
1921 y(string)h(of)g(the)f(same)g(size.)21 b(Th)o(us,)15 b(a)g(PR)o(G)h(can)f
(b)q(e)g(though)o(t)h(of)f(as)h(a)g(means)f(to)g(minimize)h(the)f(n)o(um)o(b)
q(er)0 1994 y(of)i(truly)f(random)h(bits)g(used)f(b)o(y)g(an)h(algorithm.)73
2096 y(Muc)o(h)j(researc)o(h)g(has)h(b)q(een)g(conducted)f(on)h(conserving)g
(the)g(n)o(um)o(b)q(er)e(of)i(random)g(bits)h(used)f(b)o(y)0
2168 y(sp)q(eci\014c)12 b(PR)o(G)f(algorithms.)22 b(An)11 b(analysis)i
(justifying)g(the)e(use)h(of)f(pseudo-random)i(substitutes)g(for)e(true)0
2240 y(random)i(n)o(um)o(b)q(er)f(generators)h(in)g(a)g(randomized)g
(primalit)o(y)h(tester)e(and)h(a)g(probabilistic)i(algorithm)g(for)0
2312 y(computing)j(square)g(ro)q(ots)h(is)f(giv)o(en)f(in)h([Bac91].)25
b(There)17 b(Bac)o(h)g(sho)o(ws)h(that)g(an)g(exp)q(onen)o(tially)h(small)0
2385 y(error)g(can)f(b)q(e)h(obtained)h(for)f(these)f(t)o(w)o(o)h(problems)g
(b)o(y)f(increasing)j(the)d(n)o(um)o(b)q(er)g(of)h(random)g(bits)h(b)o(y)0
2457 y(a)d(constan)o(t)g(factor.)23 b(Karlo\013)c(and)e(Ragha)o(v)m(an)h
([KR88])f(study)g(pseudo-random)h(substitutes)g(that)f(use)0
2529 y(small)h(seeds)e(for)g(purely)h(random)g(c)o(hoices)f(in)h(sorting,)g
(selection)g(and)g(oblivious)i(message)d(routing.)73 2631 y(In)g(their)h
(seminal)h(pap)q(er,)e(Blum)h(and)g(Micali)h([BM84)o(])e(in)o(tro)q(duced)h
(the)g(notion)h(of)e(cryptographi-)0 2704 y(cally)f(secure)e(pseudo-random)i
(n)o(um)o(b)q(er)e(generators.)21 b(A)13 b(PR)o(G)h(is)g FF(crypto)n(gr)n
(aphic)n(al)r(ly)g(se)n(cur)n(e)k FH(if)c(giv)o(en)g(a)951
2828 y(80)p eop
bop 0 195 a FH(small)18 b(segmen)o(t)d(of)i(its)g(output,)g(all)h(subsequen)o
(t)e(output)h(cannot)g(b)q(e)f(predicted)g(in)h(p)q(olynomial)j(time.)0
267 y(Otherwise,)c(a)h(PR)o(G)f(is)h(said)h(to)e(b)q(e)h FF(pr)n(e)n
(dictable)t FH(.)73 370 y(A)k(n)o(um)o(b)q(er)f(of)h(PR)o(Gs,)h(b)q(oth)g
(predictable)f(and)h(secure,)f(ha)o(v)o(e)f(b)q(een)h(studied)g(in)h(the)f
(literature.)0 442 y(Ajtai)i(and)h(Wigderson)g([A)-5 b(W89])22
b(ha)o(v)o(e)g(demonstrated)h(a)g(family)h(of)f(PR)o(Gs)g(that)h(app)q(ear)f
(random)0 514 y(to)d(an)o(y)g(p)q(olynomial-si)q(ze)i(logic)f(circuit)f(of)g
(constan)o(t)h(depth)e(and)i(un)o(b)q(ounded)f(fan-in.)33 b(Suc)o(h)20
b(PR)o(Gs)0 586 y(can)g(b)q(e)h(substituted)g(for)g(random)g(n)o(um)o(b)q(er)
e(generators)i(in)g(applications)j(suc)o(h)c(as)h(building)h(simple)0
658 y(appro)o(ximations)c(to)f(complex)f(b)q(o)q(olean)j(functions)e([V)l
(al84a)q(].)73 761 y(A)j(strong)i(connection)f(exists)g(b)q(et)o(w)o(een)e
(cryptographically)k(secure)d(PR)o(Gs)g(and)h(one-w)o(a)o(y)g(func-)0
833 y(tions.)34 b(A)19 b FF(one-way)j(function)g FB(F)7 b FH(\()p
FB(x)p FH(\))19 b(is)i(a)f(function)h(that)f(is)h(easily)g(computed,)g(but)f
(giv)o(en)g FB(F)7 b FH(\()p FB(x)p FH(\),)19 b(it)0 905 y(should)c(not)e(b)q
(e)g(p)q(ossible)j(to)d(easily)h(reco)o(v)o(er)e FB(x)p FH(,)h(either)g(with)
h(a)f(small)i(circuit)e(or)h(with)f(a)h(fast)g(algorithm.)0
977 y(In)g([ILL89)q(],)h(the)f(existence)g(of)h(one-w)o(a)o(y)g(functions)h
(is)f(sho)o(wn)h(to)f(b)q(e)g(necessary)f(and)i(su\016cien)o(t)e(for)h(the)0
1050 y(existence)i(of)i(pseudo-random)h(generators,)f(and)f(algorithms)j(for)
d(pseudo-random)i(generators)f(that)0 1122 y(use)d(one-w)o(a)o(y)h(functions)
g(are)f(pro)o(vided.)73 1224 y(Blum)22 b(et)f(al.)h([BBS86)o(])f(presen)o(t)g
(t)o(w)o(o)h(pseudo-random)h(sequence)d(generators)i(that)g(from)g(small)0
1296 y(seeds,)17 b(generate)g(long)h(w)o(ell-distributed)i(sequences.)j(The)
17 b(\014rst,)g(the)g(1)p FB(=P)25 b FH(generator,)17 b(is)h(completely)0
1369 y(predictable)j(from)g(a)g(small)h(segmen)o(t)e(of)h(its)g(output.)35
b(The)21 b(second,)g(the)g FB(x)1468 1350 y FI(2)1487 1369
y FH(\()p FB(modN)5 b FH(\))21 b(generator,)h(is)0 1441 y(cryptographically)f
(secure)d(as)h(its)h(sequence)d(is)j(p)q(olynomial-ti)q(me)h(unpredictable.)
29 b(The)19 b FB(x)1757 1423 y FI(2)1776 1441 y FH(\()p FB(modN)5
b FH(\))0 1513 y(generator)17 b(is)g(based)g(on)f(the)g(hardness)h(of)g(the)f
(quadratic)h(residuacit)o(y)g(problem.)73 1615 y(Babai,)g(Nisan)h(and)f
(Szegedy)f([BNS89)o(])g(obtain)i(a)f(lo)o(w)o(er)g(b)q(ound)h(for)e(the)h
(bit)g(complexit)o(y)f(of)h(com-)0 1687 y(puting)i(functions)h(of)e
FB(n)h FH(v)m(ariables,)h(where)e(the)g FB(i)938 1669 y Fw(th)991
1687 y FH(v)m(ariable)i(resides)e(on)h(pro)q(cessor)g FB(i)p
FH(.)27 b(The)19 b(comm)o(u-)0 1760 y(nication)i(mec)o(hanism)e(considered)h
(is)h(a)f(shared)g(blac)o(kb)q(oard.)32 b(Using)21 b(this)f(b)q(ound,)h(they)
e(dev)o(elop)q(ed)0 1832 y(algorithms)g(that)e(generate,)g(in)g(p)q
(olynomial)j(time,)d(pseudo-random)h(sequences)e(of)h(length)h
FB(n)f FH(from)g(a)0 1904 y(seed)e(of)g(length)h(exp)o(\()p
FB(c)436 1867 y Fx(p)p 478 1867 101 2 v 37 x FH(log)10 b FB(n)p
FH(\).)21 b(These)15 b(pseudo-random)h(sequences)f(cannot)g(b)q(e)g
(distinguished)j(from)0 1976 y(truly)f(random)g(sequences)f(b)o(y)h(an)o(y)f
(logspace)i(T)l(uring)g(mac)o(hine.)23 b(Hastad)17 b([Has90)q(])f(has)h
(extended)f(the)0 2049 y(results)h(of)g([ILL89])f(to)h(the)f(uniform)h(case.)
73 2151 y(As)k(noted)g(in)g([IZ89],)g(cryptographically)i(secure)d(PR)o(Gs,)h
(though)h(theoretically)g(elegan)o(t,)g(ha)o(v)o(e)0 2223 y(sev)o(eral)14
b(practical)h(problems:)21 b(they)14 b(dep)q(end)g(on)g(the)g(unpro)o(v)o(en)
g(assumption)h(ab)q(out)h(the)e(one-w)o(a)o(yness)0 2295 y(of)i(some)g
(function,)h(b)q(ecome)e(useful)i(only)g(asymptotically)l(,)g(and)g(are)f
(ine\016cien)o(t)g(when)g(implemen)o(ted.)0 2368 y(By)11 b(con)o(trast,)h
(the)g(most)g(commonly)f(used)h(PR)o(Gs,)h(whic)o(h)f(t)o(ypically)g(are)g
(based)g(on)g(linear-congruen)o(tial)0 2440 y(generators)25
b(and)f(are)g(not)g(cryptographically)i(secure,)f(do)f(quite)g(w)o(ell)g(in)h
(practice.)44 b(Impagliazzo)0 2512 y(and)21 b(Zuc)o(k)o(erman)f([IZ89)o(])h
(giv)o(e)g(a)g(theoretical)h(basis)g(to)f(this)h(empirical)g(\014nding.)36
b(They)21 b(pro)o(v)o(e)f(that)0 2584 y(t)o(w)o(o)g(v)o(ery)f(simple)i
(pseudo-random)h(n)o(um)o(b)q(er)e(generators,)h(whic)o(h)g(are)f(minor)h(mo)
q(di\014cations)i(of)d(the)0 2656 y(linear-congruen)o(tial)d(generator)d(and)
h(the)f(simple)g(shift)h(register)f(generator,)h(are)f(go)q(o)q(d)i(for)e
(amplifying)951 2828 y(81)p eop
bop 0 195 a FH(the)19 b(correctness)f(of)i(probabilistic)i(algorithms.)31
b(They)19 b(also)i(in)o(tro)q(duce)e(a)g(class)i(of)e(PR)o(Gs)g(based)h(on)0
267 y(univ)o(ersal)k(hashing)h(functions.)43 b(Some)23 b(consequences)f(of)i
(the)f(existence)f(of)i(PR)o(Gs)f(are)g(discussed)0 340 y(in)17
b([All87)q(].)73 442 y(While)j(most)f(of)h(the)e(w)o(ork)h(in)h(this)g(area)f
(has)h(concen)o(trated)f(on)g(generation)h(of)g(pseudo-random)0
514 y(strings,)27 b(in)e([GGM86],)h(Goldreic)o(h,)g(Goldw)o(asser,)i(and)c
(Micali)i(address)f(the)e(issue)i(of)g(generating)0 586 y(random)12
b(functions.)21 b(They)12 b(in)o(tro)q(duce)g(a)g(computational)i(complexit)o
(y)d(measure)h(of)g(the)f(randomness)i(of)0 658 y(functions.)21
b(Assuming)13 b(the)f(existence)g(of)g(one-w)o(a)o(y)g(functions,)i(a)f
(pseudo-random)g(function)g(generator)0 731 y(is)k(presen)o(ted.)0
903 y FC(Sampling)j(F)-5 b(rom)19 b(a)g(Distribution)0 1037
y FH(There)f(exists)h(a)f(large)i(class)f(of)g(algorithms)h(that)f(are)g
(designed)g(around)g(the)f(concept)g(of)h(a)f(random)0 1109
y(w)o(alk.)36 b(These)21 b(algorithms,)k(whic)o(h)c(b)q(orro)o(w)h(hea)o
(vily)g(from)f(tec)o(hniques)f(in)i(statistical)i(ph)o(ysics,)e(use)0
1182 y(random)15 b(w)o(alks)g(to)g(facilitate)h(random)e(sampling)j(for)d
(appro)o(ximating)j(hard)d(coun)o(ting)i(problems.)21 b(F)l(or)0
1254 y(example,)c(Jerrum)g(and)h(Sinclair)i([JS89])e(giv)o(e)f(a)h
(randomized)g(appro)o(ximation)i(sc)o(heme)c(for)i(appro)o(xi-)0
1326 y(mating)g(the)g(p)q(ermanen)o(t)f(of)g(a)h(matrix)g(b)o(y)f(relating)i
(the)e(problem)h(to)g(that)g(of)f(uniformly)i(generating)0
1398 y(p)q(erfect)g(matc)o(hings)i(in)g(a)f(graph.)34 b(The)20
b(matc)o(hing)g(problem)h(is)f(solv)o(ed)h(b)o(y)e(a)i(Mark)o(o)o(v)e(c)o
(hain)h(whose)0 1470 y(states)d(are)f(matc)o(hings)h(in)g(the)f(graph.)73
1573 y(In)c(general,)i(the)e(construction)i(of)f(small)h(sample)f(spaces)g
(that)f(ha)o(v)o(e)g(some)h(randomness)g(prop)q(erties)0 1645
y(is)g(of)f(ma)s(jor)g(theoretical)h(and)g(practical)g(imp)q(ortance.)21
b(F)l(or)12 b(example,)g(in)h(some)f(applications)j(it)d(ma)o(y)g(b)q(e)0
1717 y(desirable)h(that)f(in)h(a)f(string)h(selected)f(at)g(random)g(from)g
(a)g(sample)h(space,)f(the)g(probabilit)o(y)h(distribution)0
1789 y(induced)k(on)h(ev)o(ery)d FB(k)20 b FH(bit)d(lo)q(cations)j(b)q(e)d
(uniform.)25 b(This)18 b(prop)q(ert)o(y)f(of)g(random)h(bit)f(strings)i(is)f
(kno)o(wn)0 1862 y(as)23 b FB(k)r FH(-wise)g(indep)q(endence)f(and)h(its)f
(use)h(in)f(the)g(derandomization)i(of)f(probabilistic)i(algorithms)f(is)0
1934 y(discussed)18 b(b)q(elo)o(w.)26 b(In)17 b([A)o(GHP90],)f(three)h
(simple)h(constructions)h(of)f(small)h(probabilit)o(y)g(spaces)f(on)g
FB(n)0 2006 y FH(bits)f(for)g(whic)o(h)f(an)o(y)g FB(k)j FH(bits)e(are)f
(almost)h(indep)q(enden)o(t)g(are)f(presen)o(ted.)73 2108 y(The)j(general)g
(study)f(of)h(random)g(w)o(alks)h(|)e(a)h(topic)g(not)g(co)o(v)o(ered)e(b)o
(y)h(this)h(surv)o(ey)f(|)g(has)h(made)0 2180 y(an)h(impact)g(on)g(sev)o
(eral)g(areas)g(of)g(algorithm)i(design)e(suc)o(h)g(as)g(space-b)q(ounded)h
(algorithms,)h(on-line)0 2253 y(algorithms,)27 b(and)e(ampli\014cation)h(of)e
(randomness.)44 b(F)l(or)24 b(a)g(study)g(of)g(this)h(area,)g(and)f(the)g
(asso)q(ci-)0 2325 y(ated)16 b(bac)o(kground)g(in)g(Mark)o(o)o(v)f(c)o(hains)
h(and)h(tec)o(hniques)e(for)g(pro)o(ving)i(rapid)g(mixing)f(|)g(informally)l
(,)h(a)0 2397 y(Mark)o(o)o(v)c(c)o(hain)g(is)h FF(r)n(apid)r(ly)g(mixing)h
FH(if)f(it)f(con)o(v)o(erges)g(to)g(its)i(stationary)g(distribution)g(in)f(a)
g(short)g(time)f(|)0 2469 y(the)j(reader)g(is)h(referred)e(to)i([KL85)q(,)e
(Bro86)q(,)h(DLMV88)q(,)f(JS89)q(,)h(Bro89)q(,)g(KLM89)q(,)f(DFK91)q(,)h(BCD)
1838 2451 y FI(+)1867 2469 y FH(89)q(].)951 2828 y(82)p eop
bop 0 195 a Fu(Derandomization)0 330 y FH(A)16 b(\015urry)g(of)h(activit)o(y)
f(has)h(recen)o(tly)e(emerged)h(around)h(the)f(algorithmic)i(design)g(tec)o
(hnique)d(of)i FF(der)n(an-)0 402 y(domization)t FH(:)k(the)15
b(act)h(of)h(taking)g(an)f(e\016cien)o(t)f(randomized)i(algorithm)h(and)e
(remo)o(ving)h(the)e(coin)i(\015ip-)0 474 y(ping)e(to)e(obtain)i(an)f
(deterministic)g(algorithm.)23 b(The)13 b(b)q(eaut)o(y)h(of)f
(derandomization)j(is)e(that)g(the)f(result-)0 546 y(ing)18
b(deterministic)g(algorithm)i(retains)e(the)f(simplicit)o(y)i(inheren)o(t)e
(to)h(randomized)g(algorithms,)h(often)0 618 y(outp)q(erforms)f(all)h
(previously)f(kno)o(wn)g(deterministic)g(algorithms)h(\(e.g.,)d([CF90)q(,)g
(Aga90a)r(,)h(Aga90b)q(]\),)0 691 y(and)g(is)h(alw)o(a)o(ys)f(correct.)22
b(This)c(last)f(p)q(oin)o(t)h(is)g(particularly)g(app)q(ealing)h(if)e(the)g
(randomized)g(algorithm)0 763 y(that)g(ga)o(v)o(e)e(rise)i(to)g(the)f
(deterministic)h(one)f(is)h(of)g(the)f(Mon)o(te)f(Carlo)j(v)m(ariet)o(y)l(.)
73 865 y(The)e(idea)g(of)g(derandomization)i(can)e(b)q(e)g(explained)h(as)f
(follo)o(ws)i([NN90)o(].)j(Consider)c(an)o(y)e(random-)0 937
y(ized)21 b(algorithm)i Fx(A)8 b FH(.)35 b(One)20 b(can)h(asso)q(ciate)i(a)e
(probabilit)o(y)i(space)e(\(\012)p FB(;)8 b(P)f FH(\))21 b(with)h
Fx(A)8 b FH(,)21 b(where)g(\012)g(is)g(the)0 1010 y(sample)d(space)f(and)h
FB(P)25 b FH(is)18 b(some)f(probabilit)o(y)j(measure)d(corresp)q(onding)i(to)
f(the)f(probabilistic)j(c)o(hoices)0 1082 y(that)c Fx(A)24
b FH(mak)o(es)15 b(during)i(execution.)k(Let)16 b Fx(A)8 b
FH(\()p FB(I)t(;)g(w)q FH(\))15 b(denote)h(an)g(execution)g(of)g
Fx(A)23 b FH(on)17 b(input)f(instance)h FB(I)0 1154 y FH(in)i(whic)o(h)f
Fx(A)26 b FH(randomly)19 b(c)o(ho)q(oses)g FB(w)g FH(from)f(\012.)27
b(P)o(oin)o(t)18 b FB(w)i FH(is)e(called)h(a)g FF(go)n(o)n(d)e
FH(p)q(oin)o(t)i(for)f(input)h(instance)0 1226 y FB(I)g FH(if)e
Fx(A)8 b FH(\()p FB(I)t(;)g(w)q FH(\))15 b(computes)h(the)f(correct)g
(solution.)24 b(A)15 b(derandomization)j(of)e Fx(A)24 b FH(means)16
b(searc)o(hing)h(\012)f(for)0 1298 y(a)i(go)q(o)q(d)h(p)q(oin)o(t)f
FB(w)h FH(with)f(resp)q(ect)f(to)g(a)h(giv)o(en)f(input)h(instance)g
FB(I)t FH(.)24 b(Up)q(on)17 b(turning)i(up)e(suc)o(h)g(a)h(p)q(oin)o(t)g
FB(w)q FH(,)0 1371 y(the)c(algorithm)j Fx(A)8 b FH(\()p FB(I)t(;)g(w)q
FH(\))14 b(is)h(no)o(w)g(deterministic)g(and)g(guaran)o(teed)g(to)f(\014nd)h
(the)f(correct)g(solution.)23 b(The)0 1443 y(catc)o(h)12 b(is,)i(ho)o(w)o(ev)
o(er,)d(that)i(the)f(sample)i(space)e(is)i(generally)f(exp)q(onen)o(tial)h
(in)f(size,)g(rendering)g(exhaustiv)o(e)0 1515 y(searc)o(h)j(infeasible.)73
1617 y(Karp)i(and)h(Wigderson)g([KW85)q(])e(ha)o(v)o(e)g(devised)h(a)g(tec)o
(hnique,)f(based)i(on)f(the)f(concept)h(of)g FB(k)r FH(-wise)0
1690 y(indep)q(endence,)13 b(that)g(can)g(p)q(oten)o(tially)h(a)o(v)o(oid)g
(searc)o(hing)f(exp)q(onen)o(tially)h(large)g(sample)f(sizes.)21
b(A)12 b(string)0 1762 y(of)21 b(bits)g(is)g(said)h(to)f(b)q(e)g
FB(k)r FH(-)p FF(wise)h(indep)n(endent)g FH(if)f(an)o(y)f FB(k)j
FH(of)e(the)f(bits)h(in)g(the)f(sequence)g(are)g(m)o(utually)0
1834 y(indep)q(enden)o(t.)38 b(Therefore,)23 b(if)f(the)g(probabilistic)j(c)o
(hoices)c(of)h(a)h(giv)o(en)f(randomized)g(algorithm)i(are)0
1906 y(bit-strings)18 b(of)d(length)h FB(n)g FH(and)f(eac)o(h)g(c)o(hoice)g
(is)h(only)g(required)f(to)h(exhibit)g FB(k)r FH(-wise)g(indep)q(endence,)f
(then)0 1979 y(a)i(sample)g(space)f(of)h(size)f FB(O)q FH(\()p
FB(n)568 1960 y Fw(k)590 1979 y FH(\))h(su\016ces.)k(F)l(urthermore,)15
b(when)h FB(k)j FH(is)e(a)f(constan)o(t,)h(this)g(sample)g(space)0
2051 y(can)h(b)q(e)h(exhaustiv)o(ely)f(searc)o(hed)f(for)i(a)f(go)q(o)q(d)i
(p)q(oin)o(t)f(\(ev)o(en)e(in)i(parallel\))h(in)f(p)q(olynomial)i(time.)27
b(Karp)0 2123 y(and)18 b(Wigderson,)h(in)g(the)e(same)h(pap)q(er,)g(tak)o(e)f
(adv)m(an)o(tage)i(of)f FB(k)r FH(-wise)h(indep)q(endence)e(to)h(deriv)o(e)f
(a)i(fast)0 2195 y(parallel)f(algorithm)h(for)d(the)g(maximal)h(indep)q
(enden)o(t)g(set)f(problem.)73 2297 y(Another)g(approac)o(h)g(to)g
(derandomization)i(is)e(the)g(metho)q(d)g(of)g FF(c)n(onditional)i(pr)n(ob)n
(abilities)d FH([Sp)q(e88)q(],)0 2370 y(whic)o(h)i(w)o(as)g(originally)i(in)o
(tro)q(duced)e(with)h(the)e(aim)h(of)f(con)o(v)o(erting)h(probabilistic)i
(pro)q(ofs)f(of)f(existence)0 2442 y(of)i(com)o(binatorial)h(structures)f(in)
o(to)g(deterministic)g(algorithms)i(that)d(can)h(actually)h(construct)e
(these)0 2514 y(structures.)28 b(Applications)21 b(of)e(the)f(metho)q(d)h(of)
g(conditional)i(probabilities)h(to)d(derandomization)h(in-)0
2586 y(clude)c(problems)h(in)g(com)o(binatorial)i(optimization)f([Rag88)q(])e
(and)h(parallel)h(algorithms)h([MNN89)o(].)951 2828 y(83)p
eop
bop 0 195 a Fu(On)23 b(the)f(F)-6 b(uture)23 b(of)h(Randomized)f(Algorithms)0
330 y FH(These)18 b(da)o(ys,)h(randomized)g(algorithms)h(are)e(app)q(earing)j
(in)e(the)f(literature)h(almost)g(as)g(often)g(as)g(con-)0
402 y(v)o(en)o(tional)h(algorithms.)34 b(It)19 b(is)i(safe)e(to)i(sa)o(y)e
(that)h(there)f(are)h(at)g(least)g(sev)o(eral)g(h)o(undred)f(randomized)0
474 y(algorithms)k(that)e(ha)o(v)o(e)f(already)i(b)q(een)e(published,)j(and)e
(dozens)g(more)g(are)f(b)q(eing)i(disco)o(v)o(ered)f(eac)o(h)0
546 y(y)o(ear.)27 b(W)l(e)19 b(exp)q(ect)e(this)j(trend)e(to)h(con)o(tin)o
(ue)f(since,)h(as)g(w)o(e)f(ha)o(v)o(e)g(tried)h(to)f(demonstrate)h(in)g
(this)g(sur-)0 618 y(v)o(ey)l(,)e(the)g(b)q(ene\014ts)h(of)g(coin)h(tossing)h
(are)e(man)o(y:)24 b(e\016ciency)l(,)16 b(conceptual)j(simplicit)o(y)g(of)f
(the)f(resulting)0 691 y(algorithms,)j(o)o(v)o(ercoming)e(imp)q(ossibilit)o
(y)l(,)i(etc.)26 b(Sp)q(eci\014cally)l(,)19 b(w)o(e)e(exp)q(ect)g(to)h(see)g
(a)g(steady)g(stream)g(of)0 763 y(randomized)12 b(algorithms)i(in)f(the)e
(areas)h(of)g(computational)i(geometry)l(,)e(computational)i(biology)l(,)g
(graph)0 835 y(and)k(n)o(um)o(b)q(er)f(theory)l(,)g(cryptograph)o(y)l(,)g
(rob)q(otics,)i(design)f(automation,)h(op)q(erating)g(systems)f(\(paging,)0
907 y(task)f(sc)o(heduling,)g(load)g(balancing,)h(etc.\),)d(parallel)j
(computing,)f(and)g(distributed)g(computing.)0 1149 y FK(Ac)n(kno)n
(wledgemen)n(ts)0 1301 y FH(W)l(e)f(w)o(ould)i(lik)o(e)e(to)h(thank)g(the)f
(anon)o(ymous)i(referees)d(for)i(their)f(critical)i(reading)g(of)f(the)f(man)
o(uscript.)0 1373 y(Their)22 b(man)o(y)f(commen)o(ts)f(and)i(suggestions,)i
(including)f(a)f(n)o(um)o(b)q(er)f(of)g(imp)q(ortan)o(t)h(p)q(oin)o(ters)h
(to)e(the)0 1445 y(literature,)g(substan)o(tially)h(help)q(ed)e(to)g(impro)o
(v)o(e)f(the)g(qualit)o(y)i(of)e(the)h(surv)o(ey)l(.)30 b(W)l(e)19
b(are)h(also)h(grateful)0 1518 y(for)16 b(v)m(aluable)h(in)o(teractions)f
(with)g(Donna)h(Alb)q(ertus,)e(Lauren)h(Co)o(wles,)g(Gudjon)g(Hermannsson,)g
(Ker-I)0 1590 y(Ko,)21 b(Jo)q(e)g(Mitc)o(hell,)g(Stev)o(e)e(Skiena,)j(and)f
(Jo)q(el)g(Sp)q(encer.)33 b(Finally)l(,)23 b(w)o(e)c(w)o(ould)j(lik)o(e)e(to)
h(ac)o(kno)o(wledge)0 1662 y(the)i(readers)g(of)g(comp.theory)g(who)g(resp)q
(onded)h(to)g(a)f(call-for-commen)o(ts)h(on)g(an)f(earlier)h(draft)g(of)0
1734 y(the)d(pap)q(er,)i(including)h(Olivier)e(Devillers,)i(Martin)e
(Dietzfelbinger,)h(Philipp)q(e)h(Fla)s(jolet,)f(Dipank)m(ar)0
1807 y(Gupta,)18 b(George)f(Ha)o(v)m(as,)g(Martin)h(Huehne,)e(Dann)o(y)i
(Krizanc,)f(Bohdan)h(Ma)s(jewski,)f(Stanley)g(Selk)o(o)o(w,)0
1879 y(and)g(Mark)f(W)l(eiss.)0 2121 y FK(References)0 2263
y FH([AA88])151 b(N.)17 b(Alon)i(and)f(Y.)f(Azar.)26 b(The)18
b(a)o(v)o(erage)f(complexit)o(y)h(of)g(deterministic)h(and)f(random-)301
2335 y(ized)23 b(parallel)i(comparison-sorting)h(algorithms.)42
b FF(SIAM)24 b(Journal)f(on)h(Computing)p FH(,)301 2408 y(17:1178{119)q(2,)h
(1988.)35 b(Ev)o(en)20 b(the)h(a)o(v)o(erage-case)f(b)q(eha)o(vior)i(of)f
(randomized)g(parallel)301 2480 y(comparison-sorting)i(algorithms)f(is)f(sho)
o(wn)f(to)g(b)q(e)g(no)g(b)q(etter)g(than)g(the)f(w)o(orst-case)301
2552 y(b)q(eha)o(vior)f(of)e(their)h(deterministic)g(coun)o(terparts.)951
2828 y(84)p eop
bop 0 195 a FH([AA)o(G)125 177 y FI(+)153 195 y FH(89])86 b(K.)19
b(Abrahamson,)g(A.)f(Adler,)h(R.)f(Gilbart,)i(L.)f(Higham,)h(and)f(D.)f
(Kirkpatric)o(k.)29 b(The)301 267 y(bit)24 b(complexit)o(y)e(of)h(randomized)
g(leader)g(election)g(on)g(a)g(ring.)41 b FF(SIAM)23 b(Journal)h(on)301
340 y(Computing)p FH(,)c(18\(1\):12{29,)i(F)l(eb)c(1989.)30
b(Under)18 b(v)m(arious)j(assumptions)g(ab)q(out)f(global)301
412 y(kno)o(wledge,)k(the)f(bit)g(complexit)o(y)f(of)h(leader)f(election)i
(on)e(async)o(hronous)i(unidirec-)301 484 y(tional)19 b(rings)e(is)g
(studied.)0 598 y([AAK90])113 b(A.)18 b(Aggarw)o(al,)j(R.)e(J.)f(Anderson,)h
(and)h(M.-Y.)e(Kao.)29 b(P)o(arallel)21 b(depth-\014rst)f(searc)o(h)e(in)301
670 y(general)i(directed)f(graphs.)30 b FF(SIAM)20 b(Journal)g(on)g
(Computing)p FH(,)f(19\(2\):397{409)q(,)j(1990.)301 742 y(This)e(pap)q(er)f
(giv)o(es)f(the)g(\014rst)h(randomized)g FF(NC)f FH(algorithm)i(for)f
(depth-\014rst)f(searc)o(h)g(in)301 814 y(a)f(general)g(directed)f(graph.)0
928 y([AASS90])97 b(P)l(.)23 b(K.)g(Agarw)o(al,)j(B.)c(Arono)o(v,)i(M.)f
(Sharir,)i(and)f(S.)f(Suri.)42 b(Selecting)24 b(distances)g(in)301
1000 y(the)g(plane.)43 b(In)24 b FF(Pr)n(o)n(c.)f(Sixth)i(A)o(nn.)g(A)o(CM)e
(Symp.)h(on)h(Computational)f(Ge)n(ometry)p FH(,)301 1073 y(pages)19
b(321{331,)i(Berk)o(eley)l(,)16 b(CA,)h(June)h(1990.)28 b(The)18
b(authors)i(presen)o(t)d(a)h(randomized)301 1145 y(algorithm)i(for)d
(computing)h(the)f FB(k)r FH(th)h(smallest)g(distance)g(in)g(a)g(set)f(of)g
FB(n)h FH(p)q(oin)o(ts)g(in)g(the)301 1217 y(plane)23 b(based)f(on)g(a)g
(parametric)g(searc)o(h)f(tec)o(hnique)g(of)h(Megiddo.)g(The)f(algorithm's)
301 1289 y(exp)q(ected)16 b(time)g(is)h FB(O)q FH(\()p FB(n)751
1271 y FI(4)p Fw(=)p FI(3)815 1289 y FH(log)878 1268 y FI(8)p
Fw(=)p FI(3)941 1289 y FB(n)p FH(\).)0 1403 y([ABI86])135 b(N.)10
b(Alon,)j(L.)e(Babai,)h(and)g(A.)e(Itai.)j(A)e(fast)g(and)h(simple)f
(randomized)h(parallel)h(algorithm)301 1475 y(for)18 b(the)f(maximal)h(indep)
q(enden)o(t)f(set)g(problem.)24 b FF(Journal)19 b(of)f(A)o(lgorithms)p
FH(,)f(7:567{583,)301 1548 y(1986.)27 b(An)17 b FF(indep)n(endent)k(set)d
FH(in)g(a)g(graph)h(is)f(a)g(set)f(of)h(v)o(ertices,)f(no)h(t)o(w)o(o)f(of)h
(whic)o(h)g(are)301 1620 y(adjacen)o(t.)12 b(A)g FF(maximal)j(indep)n(endent)
h(set)d FH(is)g(an)g(indep)q(enden)o(t)g(set)f(that)h(is)g(not)g(prop)q(erly)
301 1692 y(con)o(tained)h(in)g(an)o(y)f(other)h(indep)q(enden)o(t)f(set.)g
(The)g(authors)i(presen)o(t)d(a)i(simple)g(random-)301 1764
y(ized)20 b(\(Las)g(V)l(egas\))g(parallel)h(algorithm)h(for)d(this)i
(problem.)e(On)h(an)f(EREW-PRAM,)301 1836 y(their)13 b(algorithm)h(uses)f
Fx(j)p FB(E)s Fx(j)f FH(pro)q(cessors)i(with)f(exp)q(ected)f(running)h(time)f
FB(O)q FH(\(log)1752 1815 y FI(2)1780 1836 y FB(n)p FH(\),)h(for)g(a)301
1909 y(graph)j(with)g FB(n)e FH(no)q(des)i(and)f Fx(j)p FB(E)s
Fx(j)g FH(edges.)f(Motiv)m(ated)h(b)o(y)g([KW85],)f(they)g(also)j(describ)q
(e)e(a)301 1981 y(derandomization)g(tec)o(hnique)c(to)i(con)o(v)o(ert)e(an)o
(y)h(Mon)o(te)g(Carlo)i(parallel)g(algorithm)h(that)301 2053
y(uses)e FB(k)r FH(-wise)g(indep)q(enden)o(t)g(random)g(c)o(hoices)f(in)o(to)
h(a)g(deterministic)g(parallel)h(algorithm)301 2125 y(without)i(loss)f(of)f
(time)g(and)h(a)f(p)q(olynomial)j(increase)d(in)h(the)f(n)o(um)o(b)q(er)f(of)
h(pro)q(cessors)i(for)301 2198 y(an)o(y)h(constan)o(t)f FB(k)r
FH(.)0 2311 y([Adl91])148 b(L.)22 b(M.)g(Adleman.)38 b(F)l(actoring)23
b(n)o(um)o(b)q(ers)f(using)h(singular)h(in)o(tegers.)39 b(In)22
b FF(Pr)n(o)n(c.)f(23r)n(d)301 2384 y(A)o(nn.)g(A)o(CM)e(Symp.)g(on)h(The)n
(ory)e(of)h(Computing)p FH(,)g(pages)h(64{71,)g(New)e(Orleans,)h(LA,)301
2456 y(Ma)o(y)f(1991.)30 b(Generalizing)21 b(earlier)e(w)o(ork)g(of)f(Co)q
(op)q(ersmith,)j(Odlyzk)o(o)e(and)g(Sc)o(hro)q(ep-)301 2528
y(p)q(el,)c(Adleman)g(puts)f(forw)o(ard)h(an)g(e\016cien)o(t)e(randomized)i
(algorithm)h(for)f(factoring)g(the)301 2600 y(in)o(tegers.)951
2828 y(85)p eop
bop 0 195 a FH([AES90])128 b(P)l(.)21 b(K.)f(Agarw)o(al,)i(H.)e
(Edelsbrunner,)h(and)h(O.)e(Sc)o(h)o(w)o(arzk)o(opf.)32 b(Euclidean)22
b(minim)o(um)301 267 y(spanning)16 b(trees)e(and)g(bic)o(hromatic)h(closest)g
(pairs.)j(In)c FF(Pr)n(o)n(c.)g(Sixth)i(A)o(nn.)g(A)o(CM)f(Symp.)301
340 y(on)f(Computational)f(Ge)n(ometry)p FH(,)f(pages)g(203{210,)i(Berk)o
(eley)l(,)d(CA,)f(June)i(1990.)j(The)c(au-)301 412 y(thors)j(presen)o(t)f(a)h
(randomized)g(algorithm)h(to)f(compute)e(a)i(bic)o(hromatic)g(closest)g(pair)
g(in)301 484 y(exp)q(ected)g(time)g FB(O)q FH(\(\()p FB(nm)8
b FH(log)j FB(n)d FH(log)j FB(m)p FH(\))1011 466 y FI(2)p Fw(=)p
FI(3)1073 484 y FH(+)c FB(m)h FH(log)1232 463 y FI(2)1260 484
y FB(n)f FH(+)g FB(n)h FH(log)1442 463 y FI(2)1470 484 y FB(m)p
FH(\))14 b(in)i(Euclidean)f(three-)301 556 y(space,)d(whic)o(h)f(yields)h(an)
g FB(O)q FH(\()p FB(N)871 538 y FI(4)p Fw(=)p FI(3)935 556
y FH(log)998 535 y FI(4)p Fw(=)p FI(3)1061 556 y FB(N)5 b FH(\))11
b(exp)q(ected)f(time)h(algorithm)i(for)e(computing)301 628
y(a)17 b(Euclidean)h(minim)o(um)e(spanning)i(tree)e(of)g FB(N)22
b FH(p)q(oin)o(ts)17 b(in)g(Euclidean)h(three-space.)0 740
y([AES92])128 b(N.)16 b(Alon,)i(P)l(.)e(Erd})-24 b(os,)18 b(and)f(J.)g(H.)f
(Sp)q(encer.)23 b FF(The)18 b(Pr)n(ob)n(abilistic)g(Metho)n(d)p
FH(.)23 b(John)17 b(Wiley)301 812 y(and)i(Sons,)f(1992.)27
b(This)18 b(pap)q(er)h(describ)q(es)f(the)f(Probabilisti)q(c)j(Metho)q(d)e
(as)g(dev)o(elop)q(ed)301 885 y(b)o(y)g(P)o(aul)h(Erd})-24
b(os)20 b(and)f(its)g(applications)i(in)e(Discrete)f(Mathematics)h(and)g
(Theoretical)301 957 y(Computer)e(Science.)0 1068 y([Aga90a])116
b(P)l(.)21 b(K.)f(Agarw)o(al.)36 b(P)o(artitioning)24 b(arrangemen)o(ts)d(of)
g(lines)h(I:)e(An)g(e\016cien)o(t)g(determin-)301 1141 y(istic)j(algorithm.)
38 b FF(Discr)n(ete)22 b(Computational)h(Ge)n(ometry)p FH(,)e(5:449{483,)k
(1990.)37 b(Using)301 1213 y(derandomization)22 b(tec)o(hniques)e(due)g(to)g
(Chazelle)h(and)f(F)l(riedman)h([CF90],)f(Agarw)o(al)301 1285
y(obtains)f(a)e(deterministic)h(algorithm)g(that,)f(giv)o(en)g(a)h(set)e
Fx(L)i FH(of)f FB(n)g FH(lines)h(and)f(a)g(param-)301 1357
y(eter)f(1)f FB(<)f(r)h(<)f(n)p FH(,)i(partitions)j(the)d(plane)h(in)o(to)h
FB(O)q FH(\()p FB(r)1255 1339 y FI(2)1275 1357 y FH(\))f(triangles,)g(eac)o
(h)f(of)h(whic)o(h)g(meets)301 1430 y(at)k(most)f FB(O)q FH(\()p
FB(n=r)q FH(\))i(lines)g(of)e Fx(L)p FH(.)g(He)g(sho)o(ws)h(that)f(the)g
(algorithm)j(is)e(optimal)h(up)e(to)h(a)301 1502 y(p)q(olylog)e(factor.)0
1614 y([Aga90b])113 b(P)l(.)18 b(K.)g(Agarw)o(al.)29 b(P)o(artitioning)21
b(arrangemen)o(ts)d(of)h(lines)g(I)q(I:)e(Applications.)30
b FF(Discr)n(ete)301 1686 y(Computational)20 b(Ge)n(ometry)p
FH(,)d(5:533{574,)k(1990.)28 b(Agarw)o(al)19 b(uses)f(his)h(partitioning)i
(al-)301 1758 y(gorithm)i(of)g([Aga90a)q(],)f(whic)o(h)g(he)g(deriv)o(ed)f
(through)i(derandomization,)i(to)e(obtain)301 1830 y(e\016cien)o(t)14
b(algorithms)k(for)d(a)g(v)m(ariet)o(y)g(of)h(problems)f(in)o(v)o(olving)i
(line)e(or)h(line)g(segmen)o(ts)e(in)301 1902 y(the)k(plane)g(\(e.g.,)f
(computing)i(incidence)f(b)q(et)o(w)o(een)e(p)q(oin)o(ts)k(and)e(lines,)h
(implicit)g(p)q(oin)o(t)301 1975 y(lo)q(cation,)e(and)d(spanning)i(trees)d
(with)i(lo)o(w)g(stabbing)g(n)o(um)o(b)q(er\).)e(These)h(algorithms)i(are)301
2047 y(deterministic,)k(faster)e(than)h(previously)h(kno)o(wn)e(algorithms,)j
(and)e(optimal)h(up)f(to)g(a)301 2119 y(p)q(olylog)g(factor)e(in)g(man)o(y)e
(cases.)0 2231 y([A)o(GHP90])81 b(N.)22 b(Alon,)i(O.)e(Goldreic)o(h,)j(J.)d
(H\177)-24 b(astad,)24 b(and)f(R.)f(P)o(eralta.)40 b(Simple)23
b(construction)h(of)301 2303 y(almost)16 b FB(k)r FH(-wise)g(indep)q(enden)o
(t)f(random)g(v)m(ariables.)21 b(In)15 b FF(Pr)n(o)n(c.)f(31st)i(A)o(nn.)h
(IEEE)f(Symp.)301 2375 y(on)25 b(F)l(oundations)h(of)e(Computer)h(Scienc)n(e)
p FH(,)i(pages)e(544{553,)j(1990.)46 b(Three)24 b(simple)301
2447 y(constructions)e(of)e(small)i(probabilit)o(y)g(spaces)e(on)h
FB(n)f FH(bits)h(for)f(whic)o(h)h(an)o(y)f FB(k)i FH(bits)f(are)301
2520 y(almost)d(indep)q(enden)o(t)e(are)h(presen)o(ted)e(in)i(this)g(pap)q
(er.)0 2631 y([AH87])151 b(L.)15 b(M.)g(Adleman)g(and)g(M.)g(A.)f(Huang.)19
b(Recognizing)e(primes)e(in)h(p)q(olynomial)h(time.)i(In)301
2704 y FF(Pr)n(o)n(c.)f(19th)g(A)o(nn.)h(A)o(CM)f(Symp.)g(on)h(The)n(ory)e
(of)h(Computing)p FH(,)g(pages)g(462{471,)i(1987.)951 2828
y(86)p eop
bop 301 195 a FH(The)14 b(probabilisti)q(c)j(algorithms)f(of)e(Rabin)h
([Rab76)q(])f(and)g(Solo)o(v)m(a)o(y)h(and)g(Stassen)g([SS77])301
267 y(placed)23 b(the)f(problem)h(of)g(comp)q(ositeness)h(testing)f(in)g(the)
f(randomized)h(complexit)o(y)301 340 y(class)c FF(RP)5 b FH(,)17
b(and)i(th)o(us)f(the)f(problem)i(of)f(primalit)o(y)h(testing)g(in)f
FF(c)n(o-RP)5 b FH(.)18 b(Adleman)f(and)301 412 y(Huang)e(sho)o(w)f(that)g
(primalit)o(y)h(testing)f(is)h(also)g(in)g FF(RP)5 b FH(,)13
b(thereb)o(y)f(putting)j(this)g(problem)301 484 y(in)i(the)f(in)o(tersection)
h(of)g FF(RP)e FH(and)i FF(c)n(o-RP)5 b FH(.)0 596 y([AH88])151
b(L.)16 b(M.)f(Adleman)h(and)h(M.)e(A.)g(Huang.)21 b(Recognizing)c(primes)f
(in)h(random)f(p)q(olynomial)301 668 y(time.)h(T)l(ec)o(hnical)c(rep)q(ort,)h
(Univ)o(ersit)o(y)f(of)h(Souther)f(California,)k(Septem)o(b)q(er)12
b(1988.)18 b(The)301 740 y(authors)g(presen)o(t)e(a)h(Las)h(V)l(egas)f
(algorithm)i(that)e(lo)q(oks)h(for)f(witnesses)h(to)f(comp)q(osite-)301
812 y(ness)g(as)g(w)o(ell)g(as)g(those)f(for)h(primalit)o(y)l(.)0
924 y([AH90])151 b(J.)17 b(Aspnes)h(and)g(M.)e(Herlih)o(y)l(.)25
b(F)l(ast)18 b(randomized)g(consensus)g(using)h(shared)e(memory)l(.)301
996 y FF(Journal)g(of)f(A)o(lgorithms)p FH(,)f(11\(3\),)h(1990.)k(An)15
b(exp)q(ected)f FB(O)q FH(\()p FB(n)1433 978 y FI(4)1453 996
y FH(\))h(op)q(erations)j(are)d(needed)301 1068 y(for)i(the)f(solution)i
(presen)o(ted.)0 1180 y([AH91])151 b(W.)15 b(Aiello)i(and)e(J.)g(Hastad.)20
b(P)o(erfect)14 b(zero-kno)o(wledge)i(languages)h(can)e(b)q(e)h(recognized)
301 1252 y(in)i(t)o(w)o(o)g(rounds.)25 b FF(Journal)19 b(of)f(Computer)h(and)
f(System)h(Scienc)n(es)p FH(,)h(42:327{345,)g(1991.)301 1325
y(This)d(pap)q(er)g(sho)o(ws)f(that)h(if)f FB(L)g FH(has)h(a)f
FF(p)n(erfe)n(ct)g FH(zero-kno)o(wledge)g(pro)q(of)h(\(see)e([F)o(GM)1859
1307 y FI(+)1888 1325 y FH(89])301 1397 y(for)e(a)g(de\014nition\),)i(then)d
FB(L)h FH(has)h(a)f(t)o(w)o(o-round)g(in)o(teractiv)o(e)g(pro)q(of)h(if)f
(the)f(v)o(eri\014er)g(\(of)h(this)301 1469 y(new)19 b(IP)f(pro)q(of)s(\))i
(is)f(p)q(ermitted)f(a)h(small)h(probabilit)o(y)g(of)f(error)f(in)h
(accepting)g(a)g(string)301 1541 y FB(w)e FH(as)e(b)q(eing)h(in)g(a)f
(language)i FB(L)p FH(.)e(An)g(earlier)h(v)o(ersion)f(of)g(this)h(pap)q(er)g
(app)q(eared)f(in)h FF(Pr)n(o)n(c.)301 1614 y(28th)i(A)o(nn.)g(IEEE)f(Symp.)g
(on)h(F)l(oundations)g(of)g(Computer)f(Scienc)n(e)p FH(,)h(1987.)0
1725 y([AKS87])123 b(M.)34 b(Ajtai,)k(J.)33 b(Koml\023)-24
b(os,)39 b(and)c(E.)f(Szemer)o(\023)-23 b(edi.)73 b(Deterministic)34
b(sim)o(ulation)i(in)301 1797 y(LOGSP)l(A)o(CE.)19 b(In)13
b FF(Pr)n(o)n(c.)i(19th)g(A)o(nn.)h(A)o(CM)f(Symp.)g(on)h(The)n(ory)e(of)i
(Computing)p FH(,)e(pages)301 1870 y(132{140,)23 b(1987.)34
b(The)20 b(authors)h(presen)o(t)e(an)i(explicit)f(construction)h(of)f(m)o
(ultigraphs)301 1942 y(based)f(on)f(expanders)g(for)g(deterministic)h
(ampli\014cation.)h(Using)e(these)g(m)o(ultigraphs,)301 2014
y(Cohen)h(and)g(Wigderson)h([CW89)q(])e(sho)o(w)h(that)g(the)f(error)h
(probabilit)o(y)h(of)f(an)o(y)g FF(RP)f FH(or)301 2086 y FF(BPP)e
FH(algorithm)h(can)e(b)q(e)g(made)g(exp)q(onen)o(tially)h(small)h(in)f(the)e
(size)h(of)h(the)f(input,)g(with)301 2159 y(only)24 b(a)f(constan)o(t)h
(factor)f(increase)g(in)g(the)g(n)o(um)o(b)q(er)f(of)h(random)g(bits)h(used)f
(b)o(y)f(the)301 2231 y(algorithm.)0 2342 y([Ale82])153 b(R.)19
b(Aleliunas.)31 b(Randomized)19 b(parallel)i(comm)o(unication)f
(\(preliminary)g(v)o(ersion\).)29 b(In)301 2415 y FF(Pr)n(o)n(c.)18
b(First)g(A)o(nn.)h(A)o(CM)f(Symp.)h(on)g(Principles)g(of)g(Distribute)n(d)f
(Computing)p FH(,)g(pages)301 2487 y(60{72,)h(1982.)24 b(This)18
b(pap)q(er)g(presen)o(ts)e(a)h(randomized)h(algorithm)h(for)e(pac)o(k)o(et)e
(deliv)o(ery)301 2559 y(that)g(deliv)o(ers)e(a)i(set)e(of)h
FB(n)g FH(pac)o(k)o(ets)f(tra)o(v)o(eling)h(to)h(unique)f(targets)g(from)g
(unique)g(sources)301 2631 y(in)25 b FB(O)q FH(\(log)11 b FB(n)p
FH(\))24 b(exp)q(ected)f(time)h(on)h(a)f(\014nite)h(degree)e(in)o
(terconnection)i(net)o(w)o(ork)e(of)i FB(n)301 2704 y FH(pro)q(cessors.)951
2828 y(87)p eop
bop 0 195 a FH([All87])162 b(E.)15 b(W.)f(Allender.)19 b(Some)14
b(consequences)g(of)h(the)g(existence)f(of)h(pseudorandom)h(genera-)301
267 y(tors.)h(In)12 b FF(Pr)n(o)n(c.)i(19th)g(A)o(nn.)h(A)o(CM)f(Symp.)g(on)h
(The)n(ory)e(of)h(Computing)p FH(,)g(pages)g(151{159,)301 340
y(1987.)26 b(Connections)19 b(b)q(et)o(w)o(een)d(pseudorandom)j(generation,)f
(Kolmogoro)o(v)h(complex-)301 412 y(it)o(y)l(,)d(and)h(imm)o(unit)o(y)f(prop)
q(erties)h(of)g(complexit)o(y)e(classes)j(are)e(describ)q(ed.)0
526 y([ALM)126 507 y FI(+)155 526 y FH(92])84 b(S.)22 b(Arora,)h(C.)f(Lund,)i
(R.)e(Mot)o(w)o(ani,)h(M.)f(Sundar,)h(and)g(M.)e(Szegedy)l(.)38
b(V)l(eri\014cation)301 598 y(and)16 b(hardness)g(of)f(appro)o(ximation)i
(problems.)j(In)15 b FF(Pr)n(o)n(c.)g(33r)n(d)g(A)o(nn.)i(IEEE)g(Symp.)f(on)
301 670 y(F)l(oundations)i(of)e(Computer)g(Scienc)n(e)p FH(,)h(pages)f
(14{23,)h(1992.)k(This)16 b(pap)q(er)g(extends)e(the)301 742
y(results)h(in)f([AS92])g(to)g(sho)o(w)g(that)g(unless)h FB(P)21
b FH(=)14 b FB(N)5 b(P)i FH(,)14 b(the)f(size)h(of)g(the)g(maxim)o(um)f
(clique)301 814 y(cannot)j(b)q(e)f(appro)o(ximated)g(within)i(a)e(factor)g
(of)h FB(n)1244 796 y Fw(\017)1275 814 y FH(for)f(some)g FB(\017)e(>)h
FH(0,)h(unless)h FB(P)21 b FH(=)14 b FB(N)5 b(P)i FH(.)0 928
y([AM93])143 b(S.)22 b(Ary)o(a)f(and)i(D.)e(M.)g(Moun)o(t.)38
b(Appro)o(ximate)22 b(nearest)g(neigh)o(b)q(or)h(queries)f(in)g(\014xed)301
1000 y(dimensions.)e(In)14 b FF(Pr)n(o)n(c.)h(F)l(ourth)g(A)o(nn.)h(A)o
(CM-SIAM)g(Symp.)g(on)g(Discr)n(ete)f(A)o(lgorithms)p FH(,)301
1073 y(pages)21 b(271{280,)h(Austin,)f(TX,)e(Jan)o(uary)g(1993.)33
b(A)19 b(randomized)h(algorithm)h(for)f(ap-)301 1145 y(pro)o(ximate)c
(nearest)f(neigh)o(b)q(or)i(searc)o(hing)f(is)g(giv)o(en.)f(Consider)i(a)f
(set)f FB(S)j FH(of)e FB(n)g FH(p)q(oin)o(ts)g(in)301 1217
y FB(d)p FH(-dimensional)22 b(Euclidean)e(space,)e(where)g
FB(d)h FH(is)h(a)e(constan)o(t)h(indep)q(enden)o(t)g(of)g FB(n)p
FH(.)f(The)301 1289 y(authors)k(pro)q(duce)e(a)h(data)g(structure,)f(suc)o(h)
g(that)h(giv)o(en)f(an)o(y)g(query)g(p)q(oin)o(t,)h(a)g(p)q(oin)o(t)301
1362 y(of)f FB(S)i FH(will)g(b)q(e)d(rep)q(orted)h(whose)g(distance)g(from)f
(the)g(query)g(p)q(oin)o(t)h(is)h(at)e(most)h(a)g(fac-)301
1434 y(tor)d(of)g(\(1)12 b(+)f FB(\017)p FH(\))17 b(from)f(that)h(of)g(the)g
(true)f(nearest)h(neigh)o(b)q(or.)g(Their)h(algorithm)g(runs)f(in)301
1506 y FB(O)q FH(\(log)422 1485 y FI(3)450 1506 y FB(n)p FH(\))d(exp)q(ected)
f(time)g(and)i(requires)e FB(O)q FH(\()p FB(n)8 b FH(log)k
FB(n)p FH(\))i(space.)f(The)h(data)g(structure)g(can)301 1578
y(b)q(e)j(built)g(in)g FB(O)q FH(\()p FB(n)627 1560 y FI(2)648
1578 y FH(\))f(exp)q(ected)f(time.)h(The)g(constan)o(t)h(factors)g(dep)q(end)
f(on)h FB(d)f FH(and)h FB(\017)p FH(.)0 1692 y([AN93])151 b(N.)15
b(Alon)h(and)h(M.)e(Naor.)20 b(Coin-\015ipping)f(games)d(imm)o(une)f(against)
j(linear-sized)f(coali-)301 1764 y(tions.)d FF(SIAM)e(Journal)h(on)g
(Computing)p FH(,)f(22\(2\):403{417,)j(1993.)e(The)e(authors)h(consider)301
1836 y(the)17 b(problem)h(of)f(distributed)i(coin-\015ipping)h(and)e
(leader-election)g(algorithms)h(where)301 1909 y(ev)o(ery)g(pro)q(cess)j(has)
f(complete)f(information.)i(They)f(sho)o(w)g(that)g(for)g(ev)o(ery)e(constan)
o(t)301 1981 y FB(c)e(<)g FH(1)i(there)e(are)h(proto)q(cols)i(in)o(v)o
(olving)g FB(n)e FH(pro)q(cesses)g(in)h(whic)o(h)f(no)h(group)g(of)f
FB(cn)g FH(pro-)301 2053 y(cesses)g(can)g(in\015uence)f(the)h(outcome)f(with)
i(probabilit)o(y)h(greater)e(than)g FB(K)t(c)p FH(,)g(where)f
FB(K)301 2125 y FH(is)g(a)g(univ)o(ersal)g(constan)o(t.)0 2239
y([Ang80])137 b(D.)19 b(Angluin.)30 b(Lo)q(cal)20 b(and)g(global)h(prop)q
(erties)e(in)h(net)o(w)o(orks)e(of)h(pro)q(cessors.)30 b(In)18
b FF(Pr)n(o)n(c.)301 2311 y(12th)24 b(A)o(nn.)g(A)o(CM)e(Symp.)i(on)f(The)n
(ory)f(of)i(Computing)p FH(,)g(pages)f(82{93,)j(1980.)42 b(The)301
2384 y(capabilities)15 b(of)e(net)o(w)o(orks)f(con)o(taining)i(no)q(des)f
(with)h(non-unique)f(names)f(are)h(analyzed.)301 2456 y(It)22
b(is)g(sho)o(wn)h(that)f(there)f(exist)h(net)o(w)o(orks)g(in)g(whic)o(h)g(it)
g(is)h FF(not)k FH(p)q(ossible)d(to)e(elect)g(a)301 2528 y(leader)17
b(\(F)l(or)g(example,)e(in)j(a)e(ring)i(with)f(four)g(no)q(des\).)g(Other)f
(computations,)h(suc)o(h)f(as)301 2600 y(determining)h(top)q(ology)l(,)h(are)
f(also)g(considered.)951 2828 y(88)p eop
bop 0 195 a FH([AS89])161 b(C.)16 b(Aragon)g(and)g(R.)f(Seidel.)21
b(Randomized)16 b(searc)o(h)f(trees.)k(In)c FF(Pr)n(o)n(c.)h(30th)h(A)o(nn.)g
(IEEE)301 267 y(Symp.)j(on)f(F)l(oundations)i(of)e(Computer)g(Scienc)n(e)p
FH(,)i(pages)e(540{545,)j(1989.)29 b(A)18 b(simple)301 340
y(randomized)e(algorithm)i(for)e(main)o(taining)h(balance)g(in)f(dynamic)g
(searc)o(h)f(trees)g(is)h(pre-)301 412 y(sen)o(ted.)h(The)h(exp)q(ected)f
(time)h(for)g(an)h(up)q(date)g(is)f FB(O)q FH(\(log)11 b FB(n)p
FH(\))18 b(on)h(a)f(tree)g(with)g FB(n)h FH(no)q(des,)301 484
y(and)e(in)o(v)o(olv)o(es)f(few)o(er)g(than)h(t)o(w)o(o)f(rotations)i(to)f
(re-balance)g(the)f(tree.)0 596 y([AS91a])137 b(P)l(.)20 b(K.)f(Agarw)o(al)i
(and)f(M.)g(Sharir.)32 b(Coun)o(ting)22 b(circular)e(arc)g(in)o(tersections.)
33 b(In)19 b FF(Pr)n(o)n(c.)301 668 y(Seventh)j(A)o(nn.)e(A)o(CM)g(Symp.)f
(on)h(Computational)g(Ge)n(ometry)p FH(,)e(pages)h(10{20,)i(North)301
740 y(Con)o(w)o(a)o(y)l(,)15 b(NH,)f(June)i(1991.)21 b(Tw)o(o)16
b(randomized)g(algorithms)h(are)e(presen)o(ted.)f(The)i(\014rst)301
812 y(coun)o(ts)g(in)o(tersections)g(in)g(a)g(collection)h(of)f
FB(n)f FH(circles)h(in)g(exp)q(ected)f(time)g FB(O)q FH(\()p
FB(n)1746 794 y FI(3)p Fw(=)p FI(2+)p Fw(\017)1844 812 y FH(\),)g(for)301
885 y(an)o(y)f FB(\017)f(>)h FH(0.)f(The)h(other)f(coun)o(ts)h(in)o
(tersections)g(in)g(a)g(set)f(of)h FB(n)f FH(circular)h(arcs)g(in)g(exp)q
(ected)301 957 y(time)k FB(O)q FH(\()p FB(n)500 939 y FI(5)p
Fw(=)p FI(3+)p Fw(\017)598 957 y FH(\),)g(for)g(an)o(y)g FB(\017)f(>)g
FH(0.)h(If)g(all)i(arcs)e(ha)o(v)o(e)g(the)f(same)i(radius,)g(the)f(exp)q
(ected)301 1029 y(time)e(can)h(b)q(e)f(impro)o(v)o(ed)g(to)h
FB(O)q FH(\()p FB(n)927 1011 y FI(3)p Fw(=)p FI(2+)p Fw(\017)1024
1029 y FH(\).)0 1141 y([AS91b])134 b(F.)27 b(Aurenhammer)g(and)h(O.)f(Sc)o(h)
o(w)o(arzk)o(opf.)53 b(A)27 b(simple)i(on-line)g(randomized)f(al-)301
1213 y(gorithm)g(for)e(computing)i(higher)f(order)f(V)l(oronoi)i(diagrams.)53
b(In)26 b FF(Pr)n(o)n(c.)g(Seventh)301 1285 y(A)o(nn.)c(A)o(CM)e(Symp.)h(on)g
(Computational)h(Ge)n(ometry)p FH(,)d(pages)i(142{151,)i(North)d(Con-)301
1357 y(w)o(a)o(y)l(,)j(NH,)e(June)h(1991.)40 b(They)21 b(presen)o(t)h(a)g
(simple)h(on-line)g(randomized)g(algorithm)301 1430 y(that)d(can)f(compute)g
(the)g(order-)p FB(k)j FH(V)l(oronoi)e(Diagram)h(for)f FB(n)f
FH(sites)h(in)g(exp)q(ected)e(time)301 1502 y FB(O)q FH(\()p
FB(nk)414 1484 y FI(2)443 1502 y FH(log)10 b FB(n)i FH(+)f
FB(nk)f FH(log)731 1480 y FI(3)759 1502 y FB(n)p FH(\))16 b(and)h(optimal)h
(space)e FB(O)q FH(\()p FB(k)r FH(\()p FB(n)c Fx(\000)f FB(k)r
FH(\)\).)0 1614 y([AS92])161 b(S.)19 b(Arora)g(and)g(S.)g(Safra.)30
b(Probabilistic)22 b(c)o(hec)o(king)c(pro)q(ofs;)j(a)e(new)g(c)o
(haracterization)301 1686 y(of)c(NP.)k(In)14 b FF(Pr)n(o)n(c.)h(33r)n(d)g(A)o
(nn.)h(IEEE)g(Symp.)g(on)g(F)l(oundations)h(of)f(Computer)g(Scienc)n(e)p
FH(,)301 1758 y(pages)k(2{11,)h(1992.)32 b(The)19 b(class)h(NP)f(is)h(sho)o
(wn)g(to)g(b)q(e)f(the)g(class)h(of)g(languages)h(L)f(for)301
1830 y(whic)o(h)f(mem)o(b)q(ership)f(can)h(b)q(e)g(v)o(eri\014ed)f
(probabilistical)q(ly)k(in)d(p)q(olynomial)i(time)e(using)301
1902 y(a)e(logarithmic)h(n)o(um)o(b)q(er)e(of)h(random)f(bits)h(and)g
(sub-logarithmic)i(n)o(um)o(b)q(er)d(of)g(queries.)0 2014 y([Au)o(w89])127
b(B.)20 b(Au)o(w)o(erbuc)o(h.)32 b(Randomized)21 b(distributed)h(shortest)f
(path)g(algorithms.)36 b(In)20 b FF(Pr)n(o)n(c.)301 2086 y(21st)i(A)o(nn.)g
(A)o(CM)f(Symp.)h(on)g(The)n(ory)e(of)i(Computing)p FH(,)g(pages)g(490{500,)i
(1989.)36 b(An)301 2159 y(algorithm)17 b(that)e(requires)g
FB(O)q FH(\()p FB(D)906 2140 y FI(1+)p Fw(\017)969 2159 y FH(\))f(time)h(and)
g FB(O)q FH(\()p FB(E)1301 2140 y FI(1+)p Fw(\017)1363 2159
y FH(\))g(messages,)g(for)f(an)o(y)h FB(\017)f(>)f FH(0,)i(is)301
2231 y(presen)o(ted,)f(where)g FB(E)k FH(is)d(the)f(n)o(um)o(b)q(er)g(of)h
(edges)f(in)i(the)e(graph)h(and)g FB(D)i FH(is)e(its)g(diameter.)301
2303 y(The)g(lo)o(w)o(er)f(b)q(ounds)i(are)e(\012\()p FB(D)q
FH(\))h(and)g(\012\()p FB(E)s FH(\))f(resp)q(ectiv)o(ely)l(.)g(The)g
(algorithm)i(is)f(extended)301 2375 y(to)i(determine)f(shortest)g(paths)h
(when)g(the)f(edges)g(ha)o(v)o(e)g(w)o(eigh)o(ts.)0 2487 y([A)o(UY83])115
b(A.)16 b(Aho,)f(J.)h(Ullman,)h(and)f(M.)g(Y)l(annak)m(akis.)22
b(On)16 b(notations)i(of)f(information)h(transfer)301 2559
y(in)i(VLSI)f(circuits.)30 b(In)18 b FF(Pr)n(o)n(c.)h(15th)h(A)o(nn.)h(A)o
(CM)e(Symp.)h(on)g(The)n(ory)f(of)h(Computing)p FH(,)301 2631
y(pages)15 b(133{139,)h(1983.)i(This)d(pap)q(er)f(presen)o(ts)f(an)h(in)o
(teresting)g(result)g(on)g(probabilistic)301 2704 y(algorithms)19
b(that)f(admit)f(no)h(error:)k(the)17 b(comm)o(unication)g(complexit)o(y)g
(\(measured)f(in)951 2828 y(89)p eop
bop 301 195 a FH(bits\))25 b(of)f(the)g(deterministic)g(solution)i(can)e(b)q
(e)g(no)g(more)g(than)g(the)f(square)h(of)g(the)301 267 y(message)17
b(complexit)o(y)f(of)g(an)o(y)h(randomized)f(solution.)0 381
y([A)-5 b(V79])156 b(D.)18 b(Angluin)h(and)f(L.)g(G.)g(V)l(alian)o(t.)27
b(F)l(ast)18 b(probabilistic)j(algorithms)f(for)e(Hamiltonian)301
453 y(circuits)13 b(and)f(matc)o(hing.)i FF(Journal)g(of)f(Computer)g(and)g
(System)h(Scienc)n(es)p FH(,)g(18\(2\):82{93,)301 526 y(1979.)22
b(The)16 b(authors)h(presen)o(t)e(t)o(w)o(o)g(algorithms)j(with)f
FB(O)q FH(\()p FB(n)p FH(\(log)11 b FB(n)p FH(\))1546 507 y
FI(2)1566 526 y FH(\))k(running)i(time)f(for)301 598 y(Hamiltonian)k
(circuits)e(and)f(an)h FB(O)q FH(\()p FB(n)8 b FH(log)j FB(n)p
FH(\))17 b(algorithm)i(to)f(\014nd)f(p)q(erfect)g(matc)o(hing)g(in)301
670 y(random)g(graphs)g(with)g(at)g(least)g FB(c)f(n)8 b FH(log)j
FB(n)16 b FH(edges,)g(where)g FB(c)g FH(is)h(an)o(y)f(p)q(ositiv)o(e)h
(constan)o(t.)0 784 y([A)-5 b(W89])143 b(M.)18 b(Ajtai)h(and)g(A.)e
(Wigderson.)29 b(Deterministic)20 b(solution)g(of)f(probabilistic)j(constan)o
(t)301 856 y(depth)16 b(circuits.)22 b(In)15 b(S.)h(Micali,)h(editor,)f
FF(A)n(dvanc)n(es)i(in)g(Computing)f(R)n(ese)n(ar)n(ch)f(5:)22
b(R)n(an-)301 928 y(domness)j(and)f(Computation)p FH(,)h(Green)o(wic)o(h,)f
(CT,)g(1989.)g(JAI)f(Press.)43 b(A)23 b(family)h(of)301 1000
y(pseudo-random)d(n)o(um)o(b)q(er)e(generators)h(whic)o(h)g(app)q(ear)h
(random)f(to)g(an)o(y)f(p)q(olynomial)301 1073 y(size)12 b(logic)g(circuit)g
(of)f(constan)o(t)h(depth)f(and)g(un)o(b)q(ounded)h(fan-in)h(is)f
(demonstrated.)e(Suc)o(h)301 1145 y(pseudorandom)21 b(generators)g(can)f(b)q
(e)g(substituted)h(for)f(random-n)o(um)o(b)q(er)g(generators)301
1217 y(in)j(applications)h(suc)o(h)e(as)g(building)i(simple)e(appro)o
(ximations)i(to)e(complex)g(b)q(o)q(olean)301 1289 y(functions)c([V)l(al84a)q
(].)0 1403 y([A)-5 b(W92])143 b(J.)20 b(Aspnes)h(and)g(O.)f(W)l(aarts.)34
b(Randomized)21 b(consensus)g(in)g FB(O)q FH(\()p FB(n)8 b
FH(log)1632 1382 y FI(2)1660 1403 y FB(n)p FH(\))21 b(op)q(erations)301
1475 y(p)q(er)d(pro)q(cessor.)25 b(In)17 b FF(Pr)n(o)n(c.)g(33r)n(d)g(A)o
(nn.)i(IEEE)f(Symp.)g(on)h(F)l(oundations)g(of)f(Computer)301
1548 y(Scienc)n(e)p FH(,)k(pages)e(137{146,)i(1992.)32 b(An)19
b(async)o(hronous)i(algorithm)g(is)f(presen)o(ted)f(that)301
1620 y(ac)o(hiev)o(es)14 b(randomized)g(consensus)h(using)g
FB(O)q FH(\()p FB(n)8 b FH(log)1252 1598 y FI(2)1280 1620 y
FB(n)p FH(\))14 b(read)h(and)f(write)g(op)q(erations)j(on)301
1692 y(shared-memory)22 b(registers.)g(This)g(impro)o(v)o(es)g(on)g(the)f
FB(O)q FH(\()p FB(n)1437 1674 y FI(2)1466 1692 y FH(log)10
b FB(n)p FH(\))22 b(w)o(orst-case)g(com-)301 1764 y(plexit)o(y)17
b(of)f(the)g(b)q(est)h(previously-kno)o(wn)h(algorithm.)0 1878
y([Bab85])139 b(L.)21 b(Babai.)35 b(T)l(rading)22 b(group)f(theory)g(for)f
(randomness.)35 b(In)20 b FF(Pr)n(o)n(c.)g(17th)h(A)o(nn.)h(A)o(CM)301
1950 y(Symp.)e(on)g(The)n(ory)e(of)i(Computing)p FH(,)f(pages)h(421{429,)h
(1985.)30 b(This)20 b(pap)q(er)f(dev)o(elop)q(es)301 2022 y(in)o(teractiv)o
(e)e(pro)q(ofs)h(to)g(classify)g(certain)g(group-theoretic)g(problems)g(and)f
(in)o(tro)q(duces)301 2095 y(an)g(alternativ)o(e)g(notion)h(of)e(in)o
(teractiv)o(e)g(pro)q(ofs)i(for)e(complexit)o(y-theoretic)g(analysis.)0
2208 y([Bab91])139 b(L.)16 b(Babai.)22 b(Lo)q(cal)c(expansion)f(of)f(v)o
(ertex-transitiv)o(e)g(graphs)h(and)f(random)h(generation)301
2281 y(in)k(\014nite)g(groups.)34 b(In)19 b FF(Pr)n(o)n(c.)h(23r)n(d)g(A)o
(nn.)i(A)o(CM)e(Symp.)h(on)g(The)n(ory)f(of)h(Computing)p FH(,)301
2353 y(pages)f(164{174,)i(New)c(Orleans,)i(LA,)f(Ma)o(y)f(1991.)31
b(Babai)19 b(presen)o(ts)g(a)g(Mon)o(te)f(Carlo)301 2425 y(algorithm)25
b(that)d(constructs)h(an)g(e\016cien)o(t)e(nearly)i(uniform)g(random)g
(generator)g(for)301 2497 y(\014nite)17 b(groups)g(in)g(a)g(v)o(ery)e
(general)i(setting.)0 2611 y([Bac91])144 b(E.)17 b(Bac)o(h.)22
b(Realistic)c(analysis)h(of)e(some)g(randomized)g(algorithms.)25
b FF(Journal)18 b(of)g(Com-)301 2683 y(puter)f(and)f(System)g(Scienc)n(es)p
FH(,)g(42:30{53,)h(1991.)j(Bac)o(h's)14 b(analysis)i(justi\014es)g(the)e(use)
h(of)951 2828 y(90)p eop
bop 301 195 a FH(pseudo-random)22 b(substitutes)f(for)f(true)g(random-n)o(um)
o(b)q(er)g(generators)g(in)h(a)f(random)301 267 y(primalit)o(y)e(tester)e
(and)g(a)h(probabilistic)i(algorithm)g(for)d(computing)h(square)g(ro)q(ots.)0
381 y([BB88])155 b(G.)13 b(Brassard)h(and)f(P)l(.)g(Bratley)l(.)i
FF(A)o(lgorithmics:)21 b(The)n(ory)14 b(and)g(Pr)n(actic)n(e)p
FH(.)i(Pren)o(tice-Hall,)301 453 y(1988.)28 b(This)20 b(b)q(o)q(ok)f(con)o
(tains)g(a)f(v)o(ery)f(nice)h(c)o(hapter)g(on)g(probabilisti)q(c)j
(algorithms)f(for)301 526 y(a)d(v)m(ariet)o(y)f(of)h(problems)g(suc)o(h)f(as)
h(n)o(umerical)f(in)o(tegration,)i(sorting,)f(and)g(set)f(equalit)o(y)l(.)0
639 y([BBC)119 621 y FI(+)147 639 y FH(88])92 b(P)l(.)14 b(Beauc)o(hemin,)f
(G.)h(Brassard,)h(C.)f(Cr)o(\023)-23 b(ep)q(eau,)14 b(C.)g(Goutier,)h(and)f
(C.)g(P)o(omerance.)j(The)301 711 y(generation)c(of)g(random)f(n)o(um)o(b)q
(ers)f(that)i(are)f(probably)h(prime.)h FF(Journal)f(of)g(Cryptolo)n(gy)p
FH(,)301 784 y(1\(1\):53{64,)23 b(1988.)32 b(The)20 b(authors)g(mak)o(e)f(t)o
(w)o(o)h(in)o(triguing)i(observ)m(ations)f(on)f(Rabin's)301
856 y(probabilisti)q(c)g(primalit)o(y)f(test)e([Rab76)q(],)g(the)g(sub)s
(ject)g(of)g(Section)h(2.2)g(of)g(this)g(surv)o(ey)l(.)301
928 y(The)d(\014rst)g(is)g(a)g(pro)o(v)o(o)q(cativ)o(e)f(reason)h(wh)o(y)f
(Rabin's)h(test)g(is)g(so)g(go)q(o)q(d.)h(It)e(turns)h(out)g(that)301
1000 y(a)21 b(single)h(iteration)g(of)f(his)g(algorithm)h(has)f(a)g
(non-negligibl)q(e)i(probabilit)o(y)f(of)f(failing)301 1073
y(only)c(on)f(comp)q(osite)h(n)o(um)o(b)q(ers)f(that)g(can)g(actually)h(b)q
(e)f(split)i(in)e(exp)q(ected)f(p)q(olynomial)301 1145 y(time.)j(Therefore,)g
(factoring)h(w)o(ould)g(b)q(e)g(easy)f(if)g(Rabin's)h(test)f(systematically)i
(failed)301 1217 y(with)h(a)f(25\045)g(probabilit)o(y)h(on)f(eac)o(h)f(comp)q
(osite)i(in)o(teger)e(\(whic)o(h,)h(of)g(course,)g(it)g(do)q(es)301
1289 y(not\).)d(The)f(authors)i(also)g(in)o(v)o(estigate)e(the)h(question)g
(of)f(ho)o(w)h(reliable)h(Rabin's)f(test)f(is)301 1362 y(when)i(used)g(to)h
(generate)e(a)h(random)h(in)o(teger)f(that)g(is)h(probably)g(prime,)f(rather)
f(than)301 1434 y(to)g(test)f(a)h(sp)q(eci\014c)f(in)o(teger)h(for)f
(primalit)o(y)l(.)0 1548 y([BBP91])122 b(J.)24 b(Bo)o(y)o(ar,)g(G.)g
(Brassard,)i(and)e(R.)g(P)o(eralta.)44 b(Sub)q(quadratic)25
b(zero-kno)o(wledge.)44 b(In)301 1620 y FF(Pr)n(o)n(c.)23 b(32nd)g(A)o(nn.)h
(IEEE)f(Symp.)g(on)g(F)l(oundations)h(of)g(Computer)f(Scienc)n(e)p
FH(,)i(pages)301 1692 y(69{78,)17 b(1991.)j(This)c(w)o(ork)e(reduces)g(the)h
(comm)o(unication)g(complexit)o(y)f(of)h(the)g(b)q(o)q(olean)301
1764 y(Satis\014abili)q(t)o(y)22 b(problem)e(of)g(size)g FB(n)g
FH(to)g FB(O)q FH(\()p FB(n)1133 1746 y FI(1+)p Fw(\017)1192
1750 y Fv(n)1230 1764 y FH(+)13 b FB(k)1328 1729 y Fx(p)p 1370
1729 30 2 v 35 x FB(n)1399 1738 y FI(1+)p Fw(\017)1458 1742
y Fv(n)1481 1764 y FH(\))20 b(bits)h(while)f(pro)o(viding)301
1836 y(a)e(probabilit)o(y)i(of)e(undetected)f(c)o(heating)h(not)g(greater)g
(than)g(2)1491 1818 y Ft(\000)p Fw(k)1540 1836 y FH(,)g(where)f
FB(\017)1734 1843 y Fw(n)1775 1836 y FH(tends)h(to)301 1909
y(zero)e(as)h FB(n)g FH(tends)f(to)h(in\014nit)o(y)l(.)0 2022
y([BBS86])128 b(M.)17 b(Blum,)g(L.)g(Blum,)g(and)g(M.)g(Sh)o(ub.)24
b(A)16 b(simple)i(and)g(secure)f(pseudo-random)h(n)o(um-)301
2095 y(b)q(er)f(generator.)23 b FF(SIAM)18 b(Journal)g(on)g(Computing)p
FH(,)f(15:364{383,)i(1986.)24 b(Tw)o(o)17 b(pseudo-)301 2167
y(random)i(sequence)e(generators)i(are)f(presen)o(ted)g(whic)o(h,)g(from)g
(small)i(seeds,)e(generate)301 2239 y(long)k(w)o(ell-distributed)g
(sequences.)c(The)i(\014rst,)g(1)p FB(=P)28 b FH(generator,)21
b(is)f(completely)g(pre-)301 2311 y(dictable)14 b(from)f(a)g(small)i(segmen)o
(t)d(of)h(its)h(output.)f(The)g(second,)g FB(x)1521 2293 y
FI(2)1590 2311 y FH(\(mo)q(d)k FB(N)5 b FH(\))14 b(genera-)301
2384 y(tor,)f(is)f FF(crypto)n(gr)n(aphic)n(al)r(ly)g(se)n(cur)n(e)f
FH(as)h(its)g(sequence)e(is)i(p)q(olynomial-time)i(unpredictable)301
2456 y(\(if)j(quadratic)g(residuacit)o(y)g(problem)g(is)g(indeed)f(hard\).)0
2570 y([BC86])155 b(G.)18 b(Brassard)g(and)h(C.)e(Cr)o(\023)-23
b(ep)q(eau.)26 b(Zero-kno)o(wledge)18 b(sim)o(ulation)i(of)e(b)q(o)q(olean)i
(circuits.)301 2642 y(In)15 b FF(A)n(dvanc)n(es)h(in)h(Cryptolo)n(gy{CR)l
(YPTO)e(86,)h FH(Lecture)e(Notes)h(in)g(Computer)g(Science,)951
2828 y(91)p eop
bop 301 195 a FH(V)l(ol.)18 b(263,)g(pages)g(223{233.)h(Springer-V)l(erlag,)g
(1986.)26 b(An)17 b(imp)q(ortan)o(t)h(result)g(b)o(y)f(Gol-)301
267 y(dreic)o(h,)e(Micali,)g(and)g(Wigderson)h(in)g(the)e(design)h(of)g
(cryptographic)h(proto)q(cols)g(asserts)301 340 y(that)23 b(if)g(one-w)o(a)o
(y)f(functions)h(exit)g(then)f(ev)o(ery)f(language)j(in)f FF(NP)f
FH(has)h(a)g(minim)o(um-)301 412 y(kno)o(wledge)16 b(con\014rming)f(in)o
(teractiv)o(e)g(pro)q(of.)g(This)h(pap)q(er)f(pro)o(v)o(es)f(a)i(similar)g
(result)g(un-)301 484 y(der)e(the)f(assumption)i(that)f(certain)g(n)o(um)o(b)
q(er-theoretic)f(computations)i(are)f(infeasible.)0 598 y([BCC88])120
b(G.)12 b(Brassard,)h(D.)f(Chaum,)h(and)g(C.)e(Cr)o(\023)-23
b(ep)q(eau.)15 b(Minim)o(um)d(disclosure)h(pro)q(ofs)h(of)e(kno)o(wl-)301
670 y(edge.)26 b FF(Journal)19 b(of)g(Computer)g(and)g(System)g(Scienc)n(es)p
FH(,)h(37:156{189,)h(1988.)27 b(The)18 b(au-)301 742 y(thors)23
b(presen)o(t)e(a)g(generalized)i(p)q(erfect)e(zero-kno)o(wledge)h(in)o
(teractiv)o(e)f(pro)q(of)h(sc)o(heme)301 814 y(that)f(is)g(v)m(alid)h(for)f
(an)o(y)f(problem)h(in)g FF(NP)5 b FH(.)21 b(Con)o(tains)h(proto)q(cols)g
(that)f(allo)o(w)h(\\P)o(eggy)l(,)301 887 y(the)e(pro)o(v)o(er,")f(to)h(con)o
(vince)g(\\Vic,)g(the)f(v)o(eri\014er,")h(that)g(she)g(has)g(a)g
(certi\014able)h(secret)301 959 y(without)e(disclosing)i(it.)d(The)f(authors)
i(use)f(a)g(notion)h(they)e(call)i(bit-commitmen)o(t,)f(to)301
1031 y(accomplish)g(these)e(minim)o(um)g(disclosure)i(pro)q(ofs.)0
1145 y([BCD)121 1127 y FI(+)150 1145 y FH(89])89 b(A.)17 b(Boro)q(din,)i(S.)e
(A.)f(Co)q(ok,)i(P)l(.)g(W.)f(Dymond,)g(W.)g(L.)h(Ruzzo,)f(and)h(M.)e(T)l
(ompa.)26 b(Tw)o(o)301 1217 y(applications)16 b(of)d(inductiv)o(e)g(coun)o
(ting)h(for)f(complemen)o(tation)g(problems.)j FF(SIAM)e(Jour-)301
1289 y(nal)i(on)g(Computing)p FH(,)e(18\(3\):559{578,)j(June)d(1989.)k(A)c
(probabilistic)j(algorithm)e(for)f FB(s)p FH(-)p FB(t)301 1362
y FH(connectivit)o(y)i(in)h(undirected)g(graphs)g(is)g(presen)o(ted.)0
1475 y([BCF)116 1457 y FI(+)145 1475 y FH(91])94 b(L.)17 b(Babai,)g(G.)g(Co)q
(op)q(erman,)h(L.)e(Fink)o(elstein,)h(E.)g(Luks,)f(and)i(A.)d(Seress.)23
b(F)l(ast)17 b(Mon)o(te)301 1548 y(Carlo)23 b(algorithms)h(for)e(p)q(erm)o
(utation)g(groups.)38 b(In)21 b FF(Pr)n(o)n(c.)g(23r)n(d)h(A)o(nn.)g(A)o(CM)g
(Symp.)301 1620 y(on)c(The)n(ory)f(of)g(Computing)p FH(,)g(pages)g(90{100,)h
(New)e(Orleans,)h(LA,)f(Ma)o(y)g(1991.)23 b(Nearly)301 1692
y(optimal)18 b(randomized)f(algorithms,)h(of)e(the)g(Mon)o(te)g(Carlo)i(v)m
(ariet)o(y)l(,)d(are)h(presen)o(ted)g(for)301 1764 y(basic)i(p)q(erm)o
(utation)f(group)g(manipulation.)0 1878 y([BCW80])105 b(M.)17
b(Blum,)h(A.)e(Chandra,)j(and)f(M.)f(W)l(egman.)26 b(Equiv)m(alence)18
b(of)g(free)f(b)q(o)q(olean)j(graphs)301 1950 y(can)g(b)q(e)f(decided)g
(probabilistical)q(l)q(y)i(in)f(p)q(olynomial)i(time.)30 b
FF(Information)20 b(Pr)n(o)n(c)n(essing)301 2022 y(L)n(etters)p
FH(,)e(10:80{82,)j(1980.)28 b(The)18 b(tec)o(hnique)f(used)i(is)g(reduction)f
(to)h(a)f(restricted)g(case)301 2095 y(of)f(the)f(Straigh)o(t-Line)i(Program)
g(Equiv)m(alence)e(Problem)h([MT85].)0 2208 y([BDBK)159 2190
y FI(+)187 2208 y FH(90])52 b(S.)20 b(Ben-Da)o(vid,)h(A.)e(Boro)q(din,)k(R.)c
(M.)h(Karp,)h(G.)f(T)l(ardos,)i(and)e(A.)g(Wigderson.)34 b(On)301
2281 y(the)19 b(p)q(o)o(w)o(er)h(of)f(randomization)j(in)e(online)h
(algorithms.)32 b(In)19 b FF(Pr)n(o)n(c.)g(22nd)i(A)o(nn.)f(A)o(CM)301
2353 y(Symp.)h(on)g(The)n(ory)f(of)h(Computing)p FH(,)g(pages)g(379{386,)i
(Baltimore,)e(MD,)e(Ma)o(y)h(1990.)301 2425 y(They)j(pro)o(v)o(e)f(the)g
(existence)g(of)h(an)g(e\016cien)o(t)f(\\sim)o(ulation")j(of)e(randomized)h
(online)301 2497 y(algorithms)18 b(b)o(y)d(deterministic)g(ones,)h(whic)o(h)f
(is)h(the)f(b)q(est)h(p)q(ossible)h(in)f(the)f(presence)g(of)301
2570 y(an)i(adaptiv)o(e)g(adv)o(ersary)l(.)951 2828 y(92)p
eop
bop 0 195 a FH([BDMP91])75 b(M.)25 b(Blum,)i(A.)e(DeSan)o(tis,)j(S.)d
(Micali,)j(and)e(G.)g(P)o(ersiano.)49 b(Nonin)o(teractiv)o(e)25
b(zero-)301 267 y(kno)o(wledge.)17 b FF(SIAM)e(Journal)g(on)g(Computing)p
FH(,)f(20\(6\):1084{111)q(8,)i(1991.)i(A)13 b(k)o(ey)f(pap)q(er)301
340 y(that)17 b(summarizes)f(the)f(previous)i(w)o(ork)f(on)g(non-in)o
(teractiv)o(e)h(zero-kno)o(wledge)f(pro)q(ofs.)301 412 y(The)f(concept)g(of)g
(shared)h(randomness)g(is)g(in)o(tro)q(duced,)f(and)h(ho)o(w)f(that)h(can)f
(disp)q(ose)i(of)301 484 y(in)o(teraction)d(b)q(et)o(w)o(een)e(the)h(pro)o(v)
o(er)f(and)h(the)f(v)o(eri\014er)h(is)g(illustrated.)i(The)d(authors)i(sho)o
(w)301 556 y(that)24 b(non-in)o(teractiv)o(e)f(zero-kno)o(wledge)g(pro)q(ofs)
i(exist)e(for)g(some)g(n)o(um)o(b)q(er-theoretic)301 628 y(languages)f(for)f
(whic)o(h)f(no)g(e\016cien)o(t)f(algorithms)j(are)e(kno)o(wn.)f(They)h(also)h
(sho)o(w)g(that)301 701 y(if)d(quadratic)g(residuosit)o(y)g(is)g
(computationally)i(hard,)d(satis\014abili)q(t)o(y)i(also)g(has)f(a)f(non-)301
773 y(in)o(teractiv)o(e)f(zero-kno)o(wledge)h(pro)q(of.)0 887
y([BDS)113 869 y FI(+)142 887 y FH(92])97 b(J.-D.)15 b(Boissonnat,)i(O.)e
(Devillers,)h(R.)e(Sc)o(hott,)h(M.)f(T)l(eillaud,)j(and)f(M.)e(Yvinec.)19
b(Appli-)301 959 y(cations)f(of)e(random)g(sampling)i(to)e(on-line)i
(algorithms)g(in)e(computational)i(geometry)l(.)301 1031 y
FF(Discr)n(ete)f(Computational)h(Ge)n(ometry)p FH(,)c(8:51{71,)j(1992.)22
b(This)17 b(pap)q(er)f(treats)g(the)f(same)301 1103 y(kind)20
b(of)f(problems)h(as)g(in)f([CS89)q(],)g(but)g(in)h(a)f(semi-dynamic)h(w)o(a)
o(y:)26 b(the)19 b(data)h(can)f(b)q(e)301 1176 y(initiall)q(y)d(unkno)o(wn)e
(and)g(added)h(one)e(b)o(y)h(one.)f(The)h(analysis)i(assumes)e(that)g(the)g
(p)q(oin)o(ts)301 1248 y(are)j(inserted)f(in)h(a)g(random)g(order.)0
1362 y([Bec82])146 b(M.)19 b(Bec)o(k)o(er.)30 b(A)19 b(probabilisti)q(c)j
(algorithm)g(for)e(v)o(ertex)f(connectivit)o(y)g(of)h(graphs.)33
b FF(In-)301 1434 y(formation)22 b(Pr)n(o)n(c)n(essing)g(L)n(etters)p
FH(,)f(15\(3\):135{136)q(,)k(Octob)q(er)c(1982.)38 b(A)21 b(probabilistic)301
1506 y(algorithm)k(is)e(presen)o(ted)e(whic)o(h)i(computes)f(the)g(v)o(ertex)
f(connectivit)o(y)h(of)h(an)g(undi-)301 1578 y(rected)d(graph)i
FB(G)g FH(=)g(\()p FB(V)s(;)8 b(E)s FH(\))20 b(in)i(exp)q(ected)e(time)g
FB(O)q FH(\(\()p Fx(\000)8 b FH(log)j FB(\017)p FH(\))p Fx(j)p
FB(V)g Fx(j)1551 1560 y FI(3)p Fw(=)p FI(2)1606 1578 y Fx(j)p
FB(E)s Fx(j)p FH(\)\))20 b(with)i(error)301 1650 y(probabilit)o(y)d(at)d
(most)h FB(\017)p FH(,)e(pro)o(vided)i(that)g Fx(j)p FB(E)s
Fx(j)c(\024)1224 1631 y FI(1)p 1224 1639 18 2 v 1224 1668 a(2)1246
1650 y FB(d)p Fx(j)p FB(V)f Fx(j)1339 1632 y FI(2)1358 1650
y FH(,)k(for)h(some)f(constan)o(t)g FB(d)f(<)e FH(1.)0 1764
y([Ben80])141 b(J.)24 b(Ben)o(tley)l(.)44 b(Multidimensional)27
b(divide-and-conquer.)47 b FF(Communic)n(ations)25 b(of)f(the)301
1836 y(A)o(CM)p FH(,)18 b(23:214{229,)j(1980.)29 b(This)19
b(pap)q(er)g(con)o(tains)h(an)e FB(n)8 b FH(log)s(\()p FB(n)p
FH(\))18 b(deterministic)h(algo-)301 1909 y(rithm)e(for)f(\014nding)i
(nearest)e(neigh)o(b)q(ors)i(in)f(t)o(w)o(o-dimensional)i(space.)0
2022 y([Ber70])149 b(E.)11 b(R.)g(Berlek)m(amp.)h(F)l(actoring)g(p)q
(olynomials)i(o)o(v)o(er)c(large)i(\014nite)f(\014elds.)i FF(Math.)g(Comput.)
p FH(,)301 2095 y(24,)22 b(1970.)34 b(This)21 b(pap)q(er)f(presen)o(ts)g
(algorithms)i(for)e(ro)q(ot-\014nding)j(and)e(factorization,)301
2167 y(t)o(w)o(o)15 b(problems)g(in)g(\014nite)g(\014elds.)g(The)g(latter)g
(problem)g(is)g(reduced)f(to)h(the)f(ro)q(ot-\014nding)301
2239 y(problem,)g(for)g(whic)o(h)f(a)g(probabilisti)q(c)j(algorithm)f(is)f
(giv)o(en.)f(This)h(pap)q(er)f(is)h(a)g(precursor)301 2311
y(of)j([Rab80b)q(].)0 2425 y([Ber80])149 b(A.)19 b(J.)h(Bernstein.)32
b(Output)20 b(guards)h(and)g(nondeterminism)f(in)h(CSP.)32
b FF(A)o(CM)21 b(T)l(r)n(ans.)301 2497 y(on)16 b(Pr)n(o)n(gr)n(amming)f(L)n
(anguages)h(and)g(Systems)p FH(,)f(2\(2\):234{238,)i(April)e(1980.)20
b(Bernstein)301 2570 y(presen)o(ts)k(a)h(distributed)h(algorithm)g(for)e(CSP)
h(output)g(guards)h(based)e(on)h(priorit)o(y)301 2642 y(ordering)18
b(of)e(pro)q(cesses.)951 2828 y(93)p eop
bop 0 195 a FH([BFKV92])83 b(Y.)17 b(Bartal,)h(A.)f(Fiat,)h(H.)e(Karlo\013,)j
(and)f(R.)f(V)l(ohra.)26 b(New)17 b(algorithms)i(for)f(an)g(ancien)o(t)301
267 y(sc)o(heduling)d(problem.)h(In)d FF(Pr)n(o)n(c.)g(24th)i(A)o(nn.)g(A)o
(CM)f(Symp.)g(on)h(The)n(ory)e(of)i(Computing)p FH(,)301 340
y(pages)22 b(51{58,)h(Victoria,)f(B.C.,)f(Canada,)h(Ma)o(y)f(1992.)35
b(They)21 b(consider)g(the)f(on-line)301 412 y(v)o(ersion)d(of)f(the)f
(original)k FB(m)p FH(-mac)o(hine)d(sc)o(heduling)h(problem:)k(giv)o(en)16
b FB(m)g FH(mac)o(hines)f(and)301 484 y FB(n)22 b FH(p)q(ositiv)o(e)h(real)g
(jobs,)g(sc)o(hedule)e(the)h FB(n)g FH(jobs)g(on)g FB(m)g FH(mac)o(hines)g
(so)g(as)g(to)h(minimize)301 556 y(the)18 b(mak)o(espan,)g(the)g(completion)i
(time)e(of)g(the)g(last)h(job.)f(In)g(the)g(on-line)i(v)o(ersion,)e(as)301
628 y(so)q(on)f(as)e(job)g FB(j)j FH(arriv)o(es,)d(it)g(m)o(ust)g(b)q(e)g
(assigned)h(immediately)g(to)f(one)g(of)g(the)f(mac)o(hines.)301
701 y(They)j(presen)o(t)f(a)h(comp)q(etitiv)o(e)g(deterministic)h(algorithm)h
(for)e(all)h FB(m)f FH(and)g(an)g(optimal)301 773 y(randomized)g(algorithm)h
(for)f(the)f(case)g FB(m)e FH(=)f(2.)0 887 y([BFL90])128 b(L.)18
b(Babai,)h(L.)f(F)l(ortno)o(w,)h(and)f(C.)g(Lund.)27 b(Non-deterministic)19
b(exp)q(onen)o(tial)g(time)f(has)301 959 y(t)o(w)o(o-pro)o(v)o(er)i(in)o
(teractiv)o(e)g(proto)q(cols.)34 b(In)20 b FF(Pr)n(o)n(c.)g(31st)h(A)o(nn.)h
(IEEE)f(Symp.)g(on)g(F)l(oun-)301 1031 y(dations)i(of)f(Computer)f(Scienc)n
(e)p FH(,)j(pages)f(16{25,)h(1990.)37 b(Babai)23 b(et)e(al.)g(pro)o(v)o(e,)h
(using)301 1103 y(the)16 b(t)o(w)o(o-pro)o(v)o(er)f(in)o(teractiv)o(e)g(pro)q
(of)i(systems)e(in)o(tro)q(duced)i(in)f([BOGKW88],)f(that)h(the)301
1176 y(class)25 b(of)f(languages)i(that)e(ha)o(v)o(e)f(a)h(t)o(w)o(o-pro)o(v)
o(er)f(in)o(teractiv)o(e)h(pro)q(of)g(system)g(is)g(non-)301
1248 y(deterministic)17 b(exp)q(onen)o(tial)h(time.)0 1362
y([BFM88])113 b(M.)11 b(Blum,)g(P)l(.)g(F)l(eldman,)h(and)g(S.)f(Micali.)j
(Non-in)o(teractiv)o(e)e(zero-kno)o(wledge)f(pro)q(of)i(sys-)301
1434 y(tems)h(and)g(applications.)20 b(In)14 b FF(Pr)n(o)n(c.)g(20th)h(A)o
(nn.)h(A)o(CM)e(Symp.)h(on)h(The)n(ory)e(of)h(Comput-)301 1506
y(ing)p FH(,)h(pages)h(103{112,)h(1988.)k(This)16 b(pap)q(er)h(in)o(tro)q
(duces)f(the)g(notion)h(of)f(non-in)o(teractiv)o(e)301 1578
y(zero-kno)o(wledge)h(pro)q(ofs)g(where)f(the)f(in)o(teraction)i(b)q(et)o(w)o
(een)e(the)h(pro)o(v)o(er)f(and)h(the)g(v)o(eri-)301 1650 y(\014er)g(is)h
(replaced)g(b)o(y)f(shared,)g(random)h(strings.)0 1764 y([BG81])152
b(C.)17 b(H.)e(Bennett)h(and)h(J.)f(Gill.)23 b(Relativ)o(e)17
b(to)f(a)h(random)g(oracle)g FB(A)p FH(,)f FB(P)1600 1746 y
Fw(A)1643 1764 y Fx(6)p FH(=)e FB(N)5 b(P)1777 1743 y Fw(A)1820
1764 y Fx(6)p FH(=)16 b(Co-)301 1836 y FB(N)5 b(P)384 1816
y Fw(A)424 1836 y FH(with)12 b(probabilit)o(y)h(1.)g FF(SIAM)g(Journal)g(on)g
(Computing)p FH(,)g(10\(1\):96{113,)h(F)l(ebruary)301 1909
y(1981.)20 b(Sev)o(eral)14 b(relationships)j(are)e(giv)o(en)f(that)h(hold)g
(with)g(probabilit)o(y)i(1)d(for)h(language)301 1981 y(classes)20
b(relativized)f(to)f(a)h(random)f(oracle)h FB(A)p FH(,)f(including)i(the)e
(one)g(men)o(tioned)g(in)h(the)301 2053 y(title.)0 2167 y([BG89a])128
b(D.)18 b(Bea)o(v)o(er)e(and)j(S.)e(Goldw)o(asser.)28 b(Multipart)o(y)19
b(computation)g(with)f(fault)o(y)h(ma)s(jorit)o(y)l(.)301 2239
y(In)e FF(Pr)n(o)n(c.)h(30th)g(A)o(nn.)h(IEEE)f(Symp.)g(on)h(F)l(oundations)g
(of)f(Computer)g(Scienc)n(e)p FH(,)h(pages)301 2311 y(468{473,)f(1989.)i(A)14
b(v)m(ariation)j(of)e(zero-kno)o(wledge)g(pro)q(ofs)h(is)g(considered,)f
(where)f(slo)o(w)301 2384 y(rev)o(ealing)24 b(of)g(kno)o(wledge)g(to)f(fault)
o(y)h(pro)q(cessors)h(is)f(p)q(ermitted.)f(An)f(algorithm)k(for)301
2456 y(distributed)16 b(b)q(o)q(olean)h(function)e(computations)h(in)f(Byzan)
o(tine)e(net)o(w)o(orks)h(where)g(more)301 2528 y(than)k(half)h(the)e(pro)q
(cessors)h(are)f(fault)o(y)h(is)g(presen)o(ted.)e(The)i(constrain)o(t)g(is)g
(that)g(fault)o(y)301 2600 y(pro)q(cessors)i(should)g(not)f(b)q(e)g(able)g
(to)g(compute)f(the)g(function)h(b)q(efore)g(the)f(non-fault)o(y)301
2672 y(ones)f(do.)951 2828 y(94)p eop
bop 0 195 a FH([BG89b])125 b(M.)22 b(Bellare)g(and)h(S.)f(Goldw)o(asser.)40
b(A)22 b(new)g(paradigm)i(for)e(digital)j(signatures)e(and)301
267 y(message)j(iden)o(ti\014cation)h(based)e(on)h(non-in)o(teractiv)o(e)g
(zero-kno)o(wledge)f(pro)q(ofs.)49 b(In)301 340 y FF(A)n(dvanc)n(es)24
b(in)f(Cryptolo)n(gy{CR)l(YPTO)f(89,)j FH(Lecture)c(Notes)i(in)g(Computer)f
(Science,)301 412 y(V)l(ol.)d(435,)i(pages)f(194{211.)h(Springer-V)l(erlag,)g
(1989.)30 b(This)20 b(pap)q(er)g(sho)o(ws)g(ho)o(w)f(non-)301
484 y(in)o(teractiv)o(e)j(zero-kno)o(wledge)g(can)g(b)q(e)h(used)f(to)g
(yield)h(a)f(new)g(paradigm)h(for)g(secure)301 556 y(digital)c(signature)f
(sc)o(hemes)d(\(also)j(see)e([GMR88]\).)0 670 y([BGG90])114
b(M.)25 b(Bellare,)i(O.)e(Goldreic)o(h,)j(and)d(S.)g(Goldw)o(asser.)50
b(Randomness)26 b(in)f(in)o(teractiv)o(e)301 742 y(pro)q(ofs.)40
b(In)22 b FF(Pr)n(o)n(c.)g(31st)g(A)o(nn.)i(IEEE)e(Symp.)h(on)g(F)l
(oundations)h(of)e(Computer)h(Sci-)301 814 y(enc)n(e)p FH(,)j(pages)e
(563{572,)k(1990.)44 b(The)23 b(p)q(o)o(w)o(er)g(of)h(randomness)g(in)g(in)o
(teractiv)o(e)f(pro)q(of)301 887 y(systems,)16 b(in)g(quan)o(titativ)o(e)h
(terms,)e(is)i(considered.)f(A)f(randomness-e\016cien)o(t)h(error)g(re-)301
959 y(duction)i(tec)o(hnique)d(for)i(con)o(v)o(erting)f(one)g(pro)q(of)i
(system)d(in)o(to)i(another)g(one)g(using)g(the)301 1031 y(same)g(n)o(um)o(b)
q(er)e(of)i(rounds)g(is)g(presen)o(ted.)0 1145 y([BGLR93])86
b(M.)14 b(Bellare,)h(S.)f(Goldw)o(asser,)i(C.)f(Lund,)g(and)g(A.)f(Russell.)
20 b(E\016cien)o(t)14 b(probabilistical)q(ly)301 1217 y(c)o(hec)o(k)m(able)g
(pro)q(ofs)i(and)g(applications)h(to)e(appro)o(ximation.)21
b(In)14 b FF(Pr)n(o)n(c.)h(25th)h(A)o(nn.)g(A)o(CM)301 1289
y(Symp.)21 b(on)g(The)n(ory)f(of)h(Computing)p FH(,)g(pages)g(294{304,)i(San)
e(Diego,)h(CA,)d(Ma)o(y)h(1993.)301 1362 y(Bellare)12 b(et)f(al.)h(construct)
f(m)o(ulti-pro)o(v)o(er)h(pro)q(of)g(systems)f(for)h FF(NP)g
FH(whic)o(h)f(use)h(only)g(a)g(con-)301 1434 y(stan)o(t)17
b(n)o(um)o(b)q(er)f(of)h(pro)o(v)o(ers)f(to)h(sim)o(ultaneously)h(ac)o(hiev)o
(e)e(lo)o(w)i(error,)e(lo)o(w)h(randomness)301 1506 y(and)f(lo)o(w)g(answ)o
(er)f(size.)g(As)g(a)h(consequence,)d(they)i(obtain)i(asymptotic)e(impro)o(v)
o(emen)o(ts)301 1578 y(to)i(appro)o(ximation)h(hardness)f(results)g(for)g(a)f
(wide)h(range)g(of)f(optimization)j(problems.)0 1692 y([BHZ87])123
b(R.)21 b(Boppana,)i(J.)e(Hastad,)i(and)e(S.)g(Zac)o(hos.)37
b(Do)q(es)22 b(co-NP)f(ha)o(v)o(e)g(short)g(in)o(teractiv)o(e)301
1764 y(pro)q(ofs?)33 b FF(Information)18 b(Pr)n(o)n(c)n(essing)g(L)n(etters)p
FH(,)f(25:127{132,)i(1987.)26 b(This)18 b(is)g(imp)q(ortan)o(t)301
1836 y(pap)q(er,)g(along)h(with)f([F)l(or87],)f(pro)o(vides)g(a)h(metho)q(d)f
(of)g(gaining)j(high)e(con\014dence)f(that)301 1909 y(certain)g(languages)h
(are)f(not)f FF(NP)p FH(-complete.)0 2022 y([BI86])172 b(L.)21
b(Babai)h(and)g(A.)e(Itai.)36 b(A)21 b(fast)g(and)h(simple)g(randomized)g
(parallel)h(algorithm)g(for)301 2095 y(the)c(maximal)g(indep)q(enden)o(t)g
(set)f(problem.)28 b FF(Journal)19 b(of)h(A)o(lgorithms)p FH(,)e
(7\(4\):567{583,)301 2167 y(Dec)24 b(1986.)45 b(An)23 b(Indep)q(enden)o(t)g
(Set)h(of)g(a)g(graph)h(is)f(a)h(set)e(of)h(v)o(ertices,)h(no)f(t)o(w)o(o)g
(of)301 2239 y(whic)o(h)18 b(are)e(adjacen)o(t.)h(A)f(maximal)i(indep)q
(enden)o(t)f(set)f(is)i(an)f(indep)q(enden)o(t)g(set)g(that)g(is)301
2311 y(not)i(a)g(prop)q(er)g(subset)f(of)h(an)o(y)f(other)g(indep)q(enden)o
(t)h(set.)f(A)f(simple)i(algorithm)i(whic)o(h)301 2384 y(is)f(alw)o(a)o(ys)g
(correct)e(and)h(runs)h(in)f FB(O)q FH(\(log)11 b FB(n)p FH(\))19
b(time)g(using)h FB(O)q FH(\()p Fx(j)p FB(E)s Fx(j)f FB(d)1553
2391 y Fw(max)1626 2384 y FH(\))f(pro)q(cessors)j(on)301 2456
y(a)f(Concurren)o(t)g(Read)f(Concurren)o(t)h(W)l(rite)g(parallel)h(mac)o
(hine)f(is)g(sho)o(wn.)g(Here,)f FB(d)1878 2463 y Fw(max)301
2528 y FH(is)k(the)e(maxim)o(um)g(degree)h(of)g(an)o(y)f(v)o(ertex)f(in)j
(the)e(graph.)h(The)g(earlier)g(b)q(est)g(w)o(as)h(a)301 2600
y(deterministic)g(algorithm)h(for)e(an)g(Exclusiv)o(e)g(Read)g(Exclusiv)o(e)g
(W)l(rite)g(arc)o(hitecture)301 2672 y(that)17 b(ran)g(in)g
FB(O)q FH(\(\(log)11 b FB(n)p FH(\))747 2654 y FI(4)766 2672
y FH(\))17 b(time)f(using)h FB(O)q FH(\(\()p FB(n=)8 b FH(log)k
FB(n)p FH(\))1298 2654 y FI(3)1318 2672 y FH(\))k(pro)q(cessors.)951
2828 y(95)p eop eos end
TeXDict begin  1000 300 300 @start bos /Fa 2 4 df<FFFFC0FFFFC012027D8618>0
D<0C000E00CCC0FFC0FFC03F00FFC0FFC0CCC00E000C000A0B7D8B10>3
D E /Fb 7 57 df<060C183830707060E0E0E0E0E0E0E0E0E0E06070703038180C06071A7F920C
>40 D<C0603038181C1C0C0E0E0E0E0E0E0E0E0E0E0C1C1C18383060C0071A7E920C>I<0C007C
00FC009C001C001C001C001C001C001C001C001C001C001C00FF80FF8009107E8F0F>49
D<1F007F80C3C0E1E0E0E000E001E001C0038007000E00186030607FC0FFC0FFC00B107F8F0F>
I<1F003F8073C073C023C003800F800F0003C001C001E041E0E1E0E1C07F803F000B107F8F0F>
I<60007FE07FE07FC0C180C180030006000E000C000C001C001C001C001C001C0008000B117E90
0F>55 D<1F003F8071C071C071C079C03F801F803FC073E0E0E0E0E0E0E071C03F801F000B107F
8F0F>I E /Fc 1 114 df<00000000060000000006000000000E000000000C000000000C000000
001C00000000180000000018000000003800000000300000000030000000007000000000600000
00006000000000E000000000C000000000C000000001C000000001800000000180000000038000
0000030000000003000000000700000000060000000006000000000E000000000C000000000C00
0000001C0000000018000000001800000000380000000030000000003000000000700000000060
00000000600004000060000E0000E0001E0000C0003E0000C0003E0001C0006F00018000EF0001
80004F0003800007800300000780030000078007000003C006000003C006000003C00E000003C0
0C000001E00C000001E01C000001E018000000F018000000F038000000F030000000F030000000
7870000000786000000078600000003CE00000003CC00000003CC00000001FC00000001F800000
001F800000001F800000000F000000000F000000000F00000000060000000006000000274B7C81
2A>113 D E /Fd 8 102 df<FFFFF0FFFFF014027D881B>0 D<070007000700E738FFF87FF01F
C01FC07FF0FFF8E7380700070007000D0E7E8E12>3 D<0000300000F00003C0000700001E0000
780001E0000780000E00003C0000F00000F000003C00000E000007800001E000007800001E0000
07000003C00000F0000030000000000000000000000000000000000000FFFFF0FFFFF0141E7D95
1B>20 D<0F00043F80047FC00470F00CC0780CC03C38800FF88007F08003C016097E8C1B>24
D<C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000
C000C000C000C000C000C000C000C000C000C000C000C000C000FF80FF8009227A9810>98
D<0180018001800180018001800180018001800180018001800180018001800180018001800180
0180018001800180018001800180018001800180018001800180FF80FF800922809810>I<FF80
FF80C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C0
00C000C000C000C000C000C000C000C000C000C000C000C000C00009227A9810>I<FF80FF8001
800180018001800180018001800180018001800180018001800180018001800180018001800180
0180018001800180018001800180018001800180018001800922809810>I
E /Fe 8 114 df<07C01FC0380070007F80FF80E000600070803F801F000A0B7E8A0D>15
D<00C000C001C0018001800380030003000700060006000E000C001C0018001800380030003000
700060006000E000C000C0000A197D9210>61 D<0FC07F800FE07F8001E00C0003701800037818
0003381800033C1800061C3000060E3000060E3000060730000C07E0000C03E0000C03E0000C01
E0007F00C000FF00C00019117F9018>78 D<00FC0003FF000F07801E03C03C03C07801C07801C0
F003C0F003C0F003C0F00780F00780F00F00701E00783C003FF8000FC00012117D9017>I<0607
0600000000387CCEDC1C38383B767E3C08127F910B>105 D<3C78F0007FFDFC00CF8F1C00CF0E
1C000E0E1C001C1C38001C1C38001C1C39801C1C730038387F0018183C00190B7F8A1B>109
D<3CF0007FFC00CF1C00CE1C000E1C001C38001C38001C39801C7300387F00183C00110B7F8A13
>I<07301FE038E070E070E0E1C0E1C0E1C063C07F803F800380038007001FC01FC00C107E8A0E>
113 D E /Ff 25 117 df<03E0000FF8601C3C60381CC0780EC0F00EC0F00F80F00F00E00F00E0
0E00E01F007077203FE7E01F83C0130E7F8D17>11 D<007801FC03860700070006000700078003
C001E007F00E781C383C38781878187838F0307030706070603FC01F8002000F18809610>14
D<03F00FE03C0078007000FFC0FFC0F000F000F000F00078603FE00F800C0E7F8D0E>I<7C0180
FC03801C03801C0700380700380E00380E00381C0070780070F00073C0007F8000FE0000F00000
110E7F8D11>23 D<70F8F8F87005057E840A>58 D<70F0F8F878181830306040050B7E840A>I<
0018001800380030003000700060006000E000C001C0018001800380030003000700060006000E
000C000C001C001800380030003000700060006000E000C000C0000D217E9812>61
D<0000C00001C00001E00003E00003E00007E0000DE0000DE00019E00019E00031E00071E00061
E000C1F000C1F001FFF003FFF00300F00600F00600F00E00F07F87FEFF07FE17177F961A>65
D<07FFF807FFFE00F01F00F00F00F00701E00701E00F01E00F01E01E03C07C03FFF003FFF803C0
7C07803C07801E07801E07801E0F003C0F003C0F00780F01F0FFFFE0FFFF8018177F961B>I<07
F80FF807F80FF800FC018000FC018000FE0180019E0300019E0300018F0300018F030003078600
030786000307C6000303C6000603CC000601EC000601EC000600FC000C00F8000C00F8000C0078
001C007800FF803000FF0030001D177F961C>78 D<001FC0007FF001F07803C03C07001C0F001E
1E001E1C001E3C001E38001E78001E78001E78001E78003CF0003C7000787800787800F07801E0
3C03C01E0F800FFE0003F00017177F961B>I<07FFF00007FFFC0000F01E0000F00F0000F00F00
01E00F0001E00F0001E00F0001E01E0003C07C0003FFF00003FFE00003C0F00007807800078078
0007807800078078000F00F0000F00F0000F00F1800F00F380FFE07F00FFC03E0019177F961B>
82 D<03E00FF01C7838787870F000F000F000E000E000E01070703FE01F800D0E7F8D0F>99
D<001F80001F00000700000700000700000E00000E00000E00000E0003DC000FFC001C3C00383C
00703800F03800F03800F03800E07000E07300E0F300F1F2007FFE001E3C0011177F9612>I<1F
80001F00000700000700000700000E00000E00000E00000E00001CF8001DFE001F0E001E0E003C
0E003C0E00380E00381C00701C00701CC07038C0703980E01F00600E0012177F9614>104
D<018003C003C00180000000000000000000001E003F0067006700C7000E000E000E001C001CC0
38C039801F000E000A1780960C>I<0018003C003C00180000000000000000000001E003F00638
0C38187000700070007000E000E000E000E001C001C001C071C0F380F700FE007C000E1D80960E
>I<1F801F000700070007000E000E000E000E001C1E1C3E1C671DCF3B1E3F0C3FC039E070E070
E370E370E6E07C603810177F9612>I<1C3E0F803E7FBFC067C3F1C06783E1C0CF03C1C00F0381
C00E0381C00E0383801C0703801C0703981C0707181C070730380E03E0180601C01D0E808D1F>
109 D<1C3E003E7F8067C380678380CF03800F03800E03800E07001C07001C07301C0E301C0E60
3807C0180380140E808D15>I<03E00FF81C1C381E781EF01EF01EF01EE03CE03CE07870F03FC0
1F000F0E7F8D11>I<0E3E001F7F0033C3803383C06703C00703C00703C00703C00E07800E0780
0E07000F1E001FFC001DF0001C00001C0000380000380000FF0000FE00001214818D12>I<03C4
0FEC1C3C383C7038F038F038F038E070E070E0F0F1F07FE01EE000E000E001C001C00FF80FF00E
147F8D10>I<1C703FF8679C673CCE780E300E000E001C001C001C001C00380018000E0E808D10>
I<060007000E000E000E000E00FFC0FFC01C001C003800380038003800700070C070C071807F00
3E000A147F930D>116 D E /Fg 21 113 df<FFFFFFFCFFFFFFFC1E027C8C27>0
D<78FCFCFCFC7806067C8E0E>I<C00003E0000770000E38001C1C00380E00700700E00381C001
C38000E700007E00003C00003C00007E0000E70001C3800381C00700E00E00701C003838001C70
000EE00007C000031818799727>I<000FF000003FFC0000F18F0003C183C0070180E00E018070
1C018038180180183801801C7001800E6001800660018006E0018007C0018003C0018003C00180
03FFFFFFFFFFFFFFFFC0018003C0018003C0018003E001800760018006600180067001800E3801
801C180180181C0180380E018070070180E003C183C000F18F00003FFC00000FF00020227D9C27
>8 D<FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000000000
00000000FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000
0000000000FFFFFFFFFFFFFFFF20167D9627>17 D<001FFFFC007FFFFC01E00000078000000E00
00001C00000038000000300000007000000060000000E0000000C0000000C0000000C0000000C0
000000C0000000C0000000C0000000E0000000600000007000000030000000380000001C000000
0E0000000780000001E00000007FFFFC001FFFFC00000000000000000000000000000000000000
000000000000000000000000007FFFFFFC7FFFFFFC1E277C9F27>I<0000000C0000003C000000
F0000003C000000F0000003C000000F0000007C000001F00000078000001E00000078000001E00
000078000000E0000000780000001E0000000780000001E0000000780000001F00000007C00000
00F00000003C0000000F00000003C0000000F00000003C0000000C000000000000000000000000
0000000000000000000000000000000000000000FFFFFFFCFFFFFFFC1E277C9F27>20
D<C0000000F00000003C0000000F00000003C0000000F00000003C0000000F80000003E0000000
780000001E0000000780000001E0000000780000001C00000078000001E00000078000001E0000
0078000003E000000F8000003C000000F0000003C000000F0000003C000000F0000000C0000000
0000000000000000000000000000000000000000000000000000000000000000FFFFFFFCFFFFFF
FC1E277C9F27>I<07E000011FF800013FFE0001781F000360078003C001E006C000F81E80007F
FC80001FF8800007E0000000000000000007E000011FF800013FFE0001781F000360078003C001
E006C000F81E80007FFC80001FF8800007E020167D9727>25 D<00000000600000000000300000
0000003000000000001800000000001800000000000C00000000000600000000000380FFFFFFFF
FFE0FFFFFFFFFFC0000000000380000000000600000000000C0000000000180000000000180000
00000030000000000030000000000060002B127D9432>33 D<01F80003F00007FF000FFC000FFF
803F8E001E1FE07C03003807F0F001807003F9E000C06001FBC000C0E000FF800060C0007F0000
60C0003F000060C0003F800060C0001F800060C0001FC00060C0003FE000E060007BF000C06000
F3F801C03001E1FC03801807C0FF0F000E3F803FFE0007FE001FFC0001F80003F0002B157D9432
>49 D<001FFF00FFFF01E0000780000E00001C0000380000300000700000600000600000E00000
C00000C00000FFFFFFFFFFFFC00000C00000E000006000006000007000003000003800001C0000
0E000007800001E00000FFFF001FFF181E7C9A21>I<00000300000700000600000E00000C0000
1C0000180000380000300000700000600000E00000C00001C00001800003800003000007000006
00000E00000C00001C0000180000180000380000300000700000600000E00000C00001C0000180
000380000300000700000600000E00000C00001C0000180000380000300000700000600000E000
00C00000182E79A200>54 D<0F800FC0001FC07FE00038E1F3E000307383F000607F01F000603E
01F800603C00FC00703C00FC00303E007E00383E003E001C3E003F000E3E001F00063E001F8007
3E000F00033E003C00033E00F000033FFFC000033FFF0000633E0F8000673E0F8000663E0F8000
3E3E0F80001C3E0F8000003E0F8000003E0F8000003E0F8000003E0F8000003C0F8000003C0F80
00703C0F8000E0380F8000307807C700387007CE001FE003F80007C000F00021237EA224>60
D<007F800003FFF0000F807C001C000E00380007007000038060000180E00001C0C00000C0C000
00C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C0
0000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0C00000C0
1A1D7D9C21>92 D<FFF0FFF0C000C000C000C000C000C000C000C000C000C000C000C000C000C0
00C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000
C000C000C000C000C000C000C000C000C000C000C000C000C000C000C0000C3277A416>100
D<FFF0FFF000300030003000300030003000300030003000300030003000300030003000300030
003000300030003000300030003000300030003000300030003000300030003000300030003000
30003000300030003000300030003000300030003000300C3280A416>I<0007C0003FC0007C00
00F00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E000
01E00001E00001E00001E00003C00003C0000F8000FE0000F80000FE00000F800003C00003C000
01E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E000
01E00001E00001E00000F000007C00003FC00007C012317DA419>I<F80000FF00000F800003C0
0001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0
0001E00001E00001E00000F00000F000007C00001FC00007C0001FC0007C0000F00000F00001E0
0001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0
0001E00001E00003C0000F8000FF0000F8000012317DA419>I<C0C0C0C0C0C0C0C0C0C0C0C0C0
C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C002317A
A40E>106 D<0000000003000000000300000000070000000006000000000E000000000C000000
001C0000000018000000003800000000300000000070000000006000000000E000000000C00000
0001C0000000018000000003800000000300000000070000000006000000000E000000000C0000
00001C000000001800000000380003000030000F000070001F800060003F8000E000E7C000C000
47C001C00003E001800003E003800003E003000001F007000001F006000000F80E000000F80C00
00007C1C0000007C180000003E380000003E300000001F700000001F600000000FE00000000FC0
00000007C0000000078000000003800000000300000028327D812A>112
D E /Fh 59 122 df<003F000000FFC00003C1E0600780F0C00F00F0C01E0078C03E0079803C00
79807C007B007C007B007C007E00F8007E00F8007C00F8007800F8007800780078007800F80038
03BC403C0F3CE01FFC1FC007E00F001B157E941F>11 D<00001F000000FFC00001E1E0000300E0
000600F0000C00F0001800F0003000F0003000F0006001E000C001E000C001E000C003C0018003
800183FF000187FE000187FF000303F78003000780030007C0030007C0060007C0060007C00600
07C0060007C00C000F800C000F800C000F800C001F001E001E001E003E001B003C001B80780031
FFE000307F8000300000003000000060000000600000006000000060000000C0000000C0000000
C0000000C00000001C2D80A21C>I<000FC0003FE000783000E01801C00001C00003C000038000
03C00003C00003E00003F00001F80000FC00007E0000FF0003FF80078F800F07801E03803E0380
3C03807C03807C03807C0380F80300F80300F80700F80600F80600780C00780C003C18001FF000
0FE00015237EA216>14 D<007E03FE07800F001E003C007C007800FFF8FFF8F800F000F000F000
F000F000780078043C1E1FF807E00F157D9414>I<000F00003F800071C000E1C001E1E001C0E0
03C0E00781E00781E00F81E00F01E01F01E01F01E01E03E03E03E03E03E03FFFE07FFFC07FFFC0
7C07C07C07C0780F80F80F80F80F00F81F00F81E00F01E00F03C00703C0070380070700070E000
39C0001F80000F000013237EA217>18 D<03E00003F00000F800007C00007C00003C00003E0000
3E00001E00001E00001F00000F00000F00000F800007800007800007C00007C00003C00003C000
07E0000DE0001DE00039F00070F000E0F001C0F80380F80780780F00781E007C3C003C78003CF0
003E60001E17237EA21C>21 D<07FFFF800FFFFFC01FFFFF803FFFFF8070318000E0618000C061
80000061800000E3800000C3800001C3800001C3800001C3800003838000038380000783C00007
03C0000F03C0000F03E0000E01E0000E01C0001A157F941C>25 D<007FFF8001FFFFC003FFFF80
07FFFF800F83C0001E01E0003C01E0003C01E0007801E0007801E0007801E000F003C000F003C0
00F003C000F0078000F0070000700F0000701E0000383800001FF0000007C000001A157E941C>
27 D<000030000000300000003000000060000000600000006000000060000000C0000000C000
0000C0000000C000000180000001800000018000003FF80000FFFC0001E30E00078307000F0303
801E0603801C0603C03C0603C0780603C0780C03C0780C03C0F00C0780F00C0780F01807007018
0F0070181E0078181C00383078001E31F0000FFFC00003FF000000600000006000000060000000
60000000C0000000C0000000C0000000C0000001800000018000001A2D7EA21D>30
D<00FE0003FF800FFFC01E038038000030000030000033E0003FF0001FF00037E000600000C000
00C00000C00000C00100C00300F00E007FFC003FF8000FE00012157E9417>34
D<78FCFCFCFC7806067C850E>58 D<78FCFCFEFE7E0606060C0C1C1830706007107C850E>I<00
00001800000078000001E00000078000001E00000078000003E000000F8000003C000000F00000
03C000000F0000003C000000F0000000F00000003C0000000F00000003C0000000F00000003C00
00000F80000003E0000000780000001E0000000780000001E000000078000000181D1C7C9926>
I<000180000180000380000300000300000700000600000600000E00000C00000C00001C000018
0000180000180000380000300000300000700000600000600000E00000C00000C00001C0000180
000180000380000300000300000700000600000600000E00000C00000C00000C00001C00001800
00180000380000300000300000700000600000600000E00000C00000C0000011317DA418>I<C0
000000F00000003C0000000F00000003C0000000F00000003E0000000F80000001E00000007800
00001E0000000780000001E00000007800000078000001E00000078000001E00000078000001E0
00000F8000003E000000F0000003C000000F0000003C000000F0000000C00000001D1C7C9926>
I<000001C000000001C000000003C000000007C000000007C00000000FC00000000FC00000001F
C000000037C000000037C000000067E000000063E0000000C3E000000183E000000183E0000003
03E000000303E000000603E000000E03E000000C03E000001803F000001803F000003FFFF00000
7FFFF000006001F00000C001F00000C001F000018001F000038001F000030001F000070001F800
1F0001F800FFE01FFF80FFC01FFF8021227EA125>65 D<007FFFFC0000FFFFFF000007C00F8000
07C007C0000F8007C0000F8003C0000F8003E0000F8003E0001F0003C0001F0007C0001F0007C0
001F000F80003E001F00003E003E00003E007C00003FFFF000007FFFF000007C00F800007C007C
00007C003E0000F8003E0000F8001E0000F8001F0000F8001F0001F0003E0001F0003E0001F000
3E0001F0007C0003E0007C0003E000F80003E003F00007E007C0007FFFFF8000FFFFFC00002322
7EA125>I<0000FE010003FF83000F80C7003E006F0078003E01F0003E03E0001E07C0001E0780
001C0F00001C1F00001C1E00001C3E0000187C0000187C0000007C000000F8000000F8000000F8
000000F8000000F8000000F0000060F0000060F00000C0F80000C0F80001807800018078000300
3C0006003E000C001F00180007C0F00003FFC00000FF000020227DA123>I<007FFFF80000FFFF
FE000007C01F000007C00780000F8003C0000F8003C0000F8001E0000F8001E0001F0001E0001F
0001F0001F0001F0001F0001F0003E0001F0003E0001F0003E0001F0003E0001F0007C0003E000
7C0003E0007C0003E0007C0003E000F80007C000F80007C000F800078000F8000F8001F0000F00
01F0001E0001F0003E0001F0003C0003E000780003E000F00003E003E00007E00F80007FFFFE00
00FFFFF8000024227EA128>I<007FFFFFC000FFFFFFC00007C007C00007C003C0000F8001C000
0F8001C0000F800180000F800180001F000180001F018180001F018180001F018180003E030000
003E030000003E070000003FFF0000007FFE0000007C0E0000007C0E0000007C0E000000F80C00
0000F80C030000F80C030000F800060001F000060001F0000C0001F0000C0001F0001C0003E000
180003E000380003E000F00007E003F0007FFFFFF000FFFFFFE00022227EA124>I<007FFFFFC0
00FFFFFFC00007C007C00007C003C0000F8001C0000F8001C0000F800180000F800180001F0001
80001F000180001F018180001F018180003E030000003E030000003E070000003E0F0000007FFE
0000007FFE0000007C0E0000007C0E000000F80C000000F80C000000F80C000000F80C000001F0
00000001F000000001F000000001F000000003E000000003E000000003E000000007E00000007F
FF000000FFFF00000022227EA120>I<00007F00800003FFC180000FC0E380003E003780007800
1F0000F0001F0001E0000F0003C0000F000780000E000F00000E001F00000E001E00000E003E00
000C007C00000C007C000000007C00000000F800000000F800000000F800000000F800000000F8
007FFF00F8007FFF00F00001F000F80001F000F80003E000F80003E000780003E0007C0003E000
3C0007C0001E0007C0000F000FC00007E03BC00003FFF18000007F80800021227DA126>I<007F
FE3FFF00FFFE7FFF0007C003E00007C003E0000F8007C0000F8007C0000F8007C0000F8007C000
1F000F80001F000F80001F000F80001F000F80003E001F00003E001F00003E001F00003FFFFF00
007FFFFE00007C003E00007C003E00007C003E0000F8007C0000F8007C0000F8007C0000F8007C
0001F000F80001F000F80001F000F80001F000F80003E001F00003E001F00003E001F00007E003
F0007FFE3FFF00FFFE7FFF0028227EA128>I<00FFFE00FFFE0007C00007C0000F80000F80000F
80000F80001F00001F00001F00001F00003E00003E00003E00003E00007C00007C00007C00007C
0000F80000F80000F80000F80001F00001F00001F00001F00003E00003E00003E00007E000FFFE
00FFFE0017227FA116>I<007FFF0000FFFF000007C0000007C000000F8000000F8000000F8000
000F8000001F0000001F0000001F0000001F0000003E0000003E0000003E0000003E0000007C00
00007C0000007C0000007C000000F8000000F8003000F8003000F8006001F0006001F0006001F0
00C001F000C003E001C003E0038003E0078007E01F807FFFFF00FFFFFF001C227EA121>76
D<007FF00007FF00FFF00007FF0007F0000FE00007F0001BE0000DF0001FC0000DF00037C0000D
F00037C0000DF00067C00019F000CF800019F000CF800019F0018F800018F8018F800030F8031F
000030F8031F000030F8061F000030F80C1F000060F80C3E000060F8183E000060F8183E000060
F8303E0000C0F8607C0000C0F8607C0000C0F8C07C0000C07CC07C0001807D80F80001807F00F8
0001807F00F80001807E00F80003007E01F00003007C01F00003007C01F0000F807803F0007FF0
703FFF00FFF0707FFF0030227EA12F>I<007FE007FF00FFE00FFF0007E000F00007F000E0000D
F000C0000DF000C0000CF800C0000CF800C00018F8018000187C018000187C018000187E018000
303E030000303E030000303F030000301F030000601F060000601F860000600F860000600F8600
00C00FCC0000C007CC0000C007CC0000C003EC00018003F800018003F800018001F800018001F8
00030001F000030000F000030000F0000F8000F0007FF0006000FFF000600028227EA127>I<00
00FF000007FFC0001F03E0003C00F800F8007801E0003C03C0003E07C0001E0F80001E0F00001F
1F00001F3E00001F3E00001F7C00001F7C00001F7C00001FF800003EF800003EF800003EF80000
7CF800007CF800007CF80000F8F80000F0F80001F0F80003E0F80003C0780007807C000F003E00
1E001F007C000F81F00007FFC00000FE000020227DA125>I<007FFFF00000FFFFFC000007C03E
000007C00F00000F800F80000F800780000F800780000F800780001F000F80001F000F80001F00
0F80001F000F00003E001F00003E001E00003E003C00003E007800007C01F000007FFFC000007F
FF0000007C00000000F800000000F800000000F800000000F800000001F000000001F000000001
F000000001F000000003E000000003E000000003E000000007E00000007FFE000000FFFE000000
21227EA11F>I<007FFFE00000FFFFFC000007C03E000007C00F00000F800F80000F800780000F
800780000F800780001F000F80001F000F80001F000F80001F001F00003E001E00003E003C0000
3E007800003E01F000007FFFC000007FFF8000007C07C000007C03E00000F801E00000F801F000
00F801F00000F801F00001F003E00001F003E00001F003E00001F003E00003E007C00003E007C0
C003E007C0C007E003E1807FFE01FF00FFFE007E0022227EA125>82 D<0003F020000FFC60001C
0EE0003003E0006003C000E001C001C001C001C001C0038001800380018003C0000003C0000003
E0000003FC000001FF800001FFF00000FFF800003FFC000007FC0000007E0000003E0000001E00
00001E0000001E0030001C0030001C0030001C003000380070003000780070007C00E0006F03C0
00C7FF000081FC00001B227DA11E>I<1FFFFFFE1FFFFFFE1F01F01E3C01F00E3803E00E3003E0
0E7003E00C6003E00C6007C00CC007C00CC007C00CC007C00C000F8000000F8000000F8000000F
8000001F0000001F0000001F0000001F0000003E0000003E0000003E0000003E0000007C000000
7C0000007C0000007C000000F8000000F8000000F8000001F800007FFFE000FFFFE0001F227EA1
1D>I<FFFC00FFC0FFF800FFC00FC0003E000F800018000F800030000FC000300007C000600007
C000E00007C000C00007C001800007C001800007C003000007C006000007E006000003E00C0000
03E01C000003E018000003E030000003E030000003E060000003E0C0000003F0C0000001F18000
0001F380000001F300000001F600000001F600000001FC00000001F800000001F800000001F000
000000F000000000E000000000C000000022227DA11C>86 D<007FFE0FFF007FFE0FFF0007F003
F00003E001C00003F003800003F007000001F00E000001F80C000000F818000000FC30000000FC
600000007CC00000007F800000007F800000003F000000003F000000001F000000001F80000000
3F800000006F80000000CFC00000018FC000000387C000000707E000000E03E000001C03F00000
1803F000003001F000006001F80000C001F80001C000F80007C001FC00FFF007FFC0FFF00FFFC0
28227FA128>88 D<FFFC00FFE0FFF800FFE00FC0003E000FC000380007C000300007E000600007
E000E00003F001C00003F001800001F003000001F806000001F80C000000F81C000000FC180000
00FC300000007C600000007EC00000007FC00000003F800000003F000000003E000000003E0000
00003E000000003E000000007C000000007C000000007C000000007C00000000F800000000F800
000000F800000001F80000001FFF8000003FFF80000023227EA11C>I<007FFFFE007FFFFE007E
007C00F800F800E001F800E001F001C003E0018007C001800F8003001F0003003F0003003E0000
007C000000F8000001F0000003F0000003E0000007C000000F8000001F0000003F0060007E0060
007C006000F800C001F000C003E000C007E0018007C003800F8003801F0007003E001F007E007F
00FFFFFE00FFFFFE001F227DA121>I<0078C001FDE00387E00707C00F03C01E03C03E03C03C07
807C07807C07807C0780F80F00F80F00F80F08F80F0CF81E18781E18783E1038EE301FCFE00F03
C016157E941A>97 D<03E0003FC0003FC00003C00003C0000780000780000780000780000F0000
0F00000F00000F00001E00001E7C001FFE001F87003F07803E03803C03C03C07C07807C07807C0
7807C07807C0F00F80F00F80F00F80F01F00F01E00701C00703C0038F0001FE0000F800012237E
A215>I<003F0000FF8003C1C00783C00F07C01E07C03E03803C00007C00007C00007C0000F800
00F80000F80000F800007800407800C03803803C0F001FFC0007F00012157E9415>I<00003E00
03FC0003FC00003C00003C0000780000780000780000780000F00000F00000F00000F00001E000
79E001FDE00387E00707C00F03C01E03C03E03C03C07807C07807C07807C0780F80F00F80F00F8
0F08F80F0CF81E18781E18783E1038EE301FCFE00F03C017237EA219>I<007C0003FF00078380
0F01801E01803C01807C0300780E00FFFC00FFE000F80000F00000F00000F00000F00000F00080
F00180780700381E001FF8000FE00011157D9417>I<00003E0000007F000000EF800001CF8000
01CF000003C6000003C000000380000007800000078000000780000007800000078000000F0000
01FFFC0001FFFC00000F0000000F0000001E0000001E0000001E0000001E0000001E0000003C00
00003C0000003C0000003C0000003C000000780000007800000078000000780000007800000070
000000F0000000F0000000F0000000E0000000E0000039E0000079C00000F9800000FB8000007F
0000003C000000192D7EA218>I<000F8C003FDE0078FE00E07C01E03C03C03C07C03C0780780F
80780F80780F80781F00F01F00F01F00F01F00F01F01E00F01E00F03E0078FE003FFC001F3C000
03C00003C0000780000780380780780F00F81E00F83C007FF8003FE000171F809417>I<00F800
0FF0000FF00000F00000F00001E00001E00001E00001E00003C00003C00003C00003C000078000
078F8007BFC007F1E00FC0F00F80F00F00F00F00F01E01E01E01E01E01E01E01E03C03C03C03C0
3C07823C0783780786780F06780F0C780718F007F06001E018237EA21C>I<007000F800F800F0
00E0000000000000000000000000000000000F001F8033C061C0C3C0C3C0C3C00780078007800F
000F001E001E101E183C303C303C603CE01FC00F000E227FA111>I<0000600000F00001F00001
F00000E0000000000000000000000000000000000000000000000000001E00007F8000E3C001C3
C00183C00303C00303C0000780000780000780000780000F00000F00000F00000F00001E00001E
00001E00001E00003C00003C00003C00003C0000780000780038780078F000F9E000FBC0007F80
003E0000142C81A114>I<00F8000FF0000FF00000F00000F00001E00001E00001E00001E00003
C00003C00003C00003C0000780000780F00781F807830C0F0E3C0F187C0F307C0F60781FC0301F
C0001FF8001E7C003C1E003C1F003C0F083C0F0C781E18781E18781E30780E30F007E06003C016
237EA219>I<01F01FE01FE001E001E003C003C003C003C007800780078007800F000F000F000F
001E001E001E001E003C003C003C003C0078007800788078C0F180F180F18073007F001E000C23
7EA20F>I<1E03F01F80003F8FF87FC00063DC3CE1E00063F01F80F000C3E01F00F000C3C01E00
F000C3C01E00F00007803C01E00007803C01E00007803C01E00007803C01E0000F007803C0000F
007803C0000F00780782000F00780783001E00F00786001E00F00F06001E00F00F0C001E00F007
18003C01E007F0001800C001E00029157F942B>I<1E03E0003F8FF00063DC780063F03C00C3E0
3C00C3C03C00C3C03C00078078000780780007807800078078000F00F0000F00F0000F01E0800F
01E0C01E01E1801E03C1801E03C3001E01C6003C01FC00180078001B157F941D>I<003E0000FF
8003C3C00781E00F01E01E01F03E01F03C01F07C01F07C01F07C01F0F803E0F803E0F803C0F807
C0780780780F00780E003C3C001FF80007E00014157E9417>I<03C0F007F3FC0C7F1E0C7C1E18
780F18780F18780F00F01F00F01F00F01F00F01F01E03E01E03E01E03E01E03C03C07803C07803
E0F003F1E007BF80079E000780000780000F00000F00000F00000F00001E00001E0000FFE000FF
E000181F819418>I<007C1001FE7003C7F00703E00F01E01E01E03E01E03C03C07C03C07C03C0
7C03C0F80780F80780F80780F80780F80F00780F00781F003C7F001FFE000F9E00001E00001E00
003C00003C00003C00003C0000780000780007FF8007FF80141F7E9416>I<1E07803F9FC063F8
E063E1E0C3E3E0C3C3E0C3C3C00781800780000780000780000F00000F00000F00000F00001E00
001E00001E00001E00003C000018000014157F9416>I<00E001E001E001E001E003C003C003C0
03C00780FFFCFFFC07800F000F000F000F001E001E001E001E003C003C003C083C0C7818783878
3038E03FC00F000E1F7F9E12>116 D<0F80E01FC1F031E1F861E1F8E1E0F8C1E078C3C03803C0
300780300780300780300F00600F00600F00C00F00C00F01800F01800F030007860003FC0001F8
0016157F9418>118 D<0F80181C001FC03C3E0031E03C3F0061E0783F00E1E0781F00C1E0780F
00C3C078070003C0F006000780F006000780F006000780F006000F01E00C000F01E00C000F01E0
0C000F01E018000F01E018000F01E030000F03E060000786F0E00003FC7F800000F81F00002115
7F9423>I<03E0F00FF3F81C3F1C303E3C303C7C603C7C603C7800783000780000780000780000
F00000F00038F00878F00CF9E018F9E018F1E0306370E07E3FC03C1F0016157E941C>I<0F8018
1FC03C31E03C61E078E1E078C1E078C3C07803C0F00780F00780F00780F00F01E00F01E00F01E0
0F01E00F03C00F03C00F07C0070FC007FF8001F780000780000780000F003C0F007C1E007C3C00
78380070F0003FE0001F8000171F7F9418>I E /Fi 9 117 df<FFFFFF00FFFFFFE0FFFFFFF007
F807F807F801FC07F800FE07F800FE07F800FF07F800FF07F800FF07F800FF07F800FF07F800FF
07F800FE07F800FE07F801FC07F807F807FFFFF007FFFFE007FFFF0007F8000007F8000007F800
0007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80000FFFFC000FFFF
C000FFFFC00020227EA126>80 D<07FC001FFF803FFFC07F0FE07F07E07F03F03E03F01C03F000
03F001FFF00FFFF03FE3F07F83F07F03F0FE03F0FE03F0FE03F0FE07F07F0FF03FFDFF1FF8FF0F
C07F18167E951B>97 D<00FF0007FFC00FFFE01F87F03F07F07F07F07E03E07E01C0FE0000FE00
00FE0000FE0000FE0000FE00007E00007F00007F00703F80701FC1E00FFFC007FF8000FE001416
7E9519>99 D<00FE0007FF800FFFC01F87E03F03F07E01F07E01F8FE01F8FFFFF8FFFFF8FFFFF8
FE0000FE0000FE00007E00007E00007F00383F00781FC0F00FFFE003FFC000FE0015167E951A>
101 D<FF80FF80FF801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F80
1F801F801F801F801F801F801F801F801F801F801F801F801F801F80FFF0FFF0FFF00C237FA20F
>108 D<FF87F000FFBFFC00FFFFFE001FF0FF001FC07F001F803F801F803F801F801FC01F801F
C01F801FC01F801FC01F801FC01F801FC01F801FC01F801FC01F803F801F803F801FC07F001FE0
FE001FFFFC001FBFF8001F8FE0001F8000001F8000001F8000001F8000001F8000001F8000001F
800000FFF00000FFF00000FFF000001A207E951F>112 D<FF3E00FF7F80FFFFC01FEFE01FCFE0
1FCFE01F87C01F83801F80001F80001F80001F80001F80001F80001F80001F80001F80001F8000
1F8000FFF800FFF800FFF80013167E9517>114 D<07F3001FFF007FFF00780F00F00700F00700
F00000FE0000FFF0007FFC003FFE001FFF0007FF00007F80000F80E00780E00780F00780FC0F00
FFFE00FFFC00C7F00011167E9516>I<01C00001C00001C00001C00003C00003C00007C00007C0
000FC0003FC000FFFF00FFFF00FFFF000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0
000FC0000FC0000FC3800FC3800FC3800FC3800FC3800FE70007FF0003FE0001F80011207F9F16
>I E /Fj 70 128 df<00000FF000003FFC0000F01C0001C03E0001C03E0003C03C0003803800
0780000007800000078000000F0000000F0000000F0000000F000001FFFFF001FFFFF0001E00F0
001E01E0001E01E0001E01E0001E01E0003C03C0003C03C0003C03C0003C03C0003C0780007807
80007807880078078C00780F1800780F1800F00F1800F0073000F007E000F001C000E0000001E0
000001E0000001C0000039C000007BC00000FB800000FB0000007E0000003C0000001F2D82A21B
>12 D<0E001F003F003F803F801F0003000300060006000C001C0018007000E000C000091076A2
0F>39 D<0000C0000180000300000600000C0000180000380000700000E00000E00001C0000380
000380000700000700000F00000E00001E00001C00001C00003C00003800003800007800007800
00700000700000F00000F00000F00000E00000E00000E00000E00000E00000E00000E00000E000
00E00000E00000E00000E00000E000006000007000007000003000003800001800000C00001232
79A414>I<000C000006000007000003000003800003800001800001C00001C00001C00001C000
01C00001C00001C00001C00001C00001C00001C00001C00001C00003C00003C00003C000038000
0380000780000780000700000700000F00000E00000E00001E00001C00003C0000380000380000
700000700000E00001C00001C0000380000700000600000C0000180000300000600000C0000012
3280A414>I<0E1E3F3E3E1E06060C0C18383060C08008107D850F>44 D<7FF87FF8FFF07FF00D
047D8B11>I<387CFCFCF87006067B850F>I<000FC0003FF000F0F801E07803C03C07803C07803C
0F003C0F003C1F003C1E007C3E007C3E007C3E007C7C00F87C00F87C00F87C00F8F801F0F801F0
F801F0F801E0F003E0F003C0F003C0F00780F00780F00F00781E007C3C003FF0000FC00016207B
9F19>48 D<000080000180000300000700000F00003F0003FE0007DE00001E00001E00003C0000
3C00003C00003C0000780000780000780000780000F00000F00000F00000F00001E00001E00001
E00001E00003C00003C00003C00007C000FFFE00FFFE0011207B9F19>I<000F80003FE00070F0
00C07801803C03103C06183C06183E0C183E0C183E18307C18307C18607C18C0F80F80F00F01E0
0003C0000780000F00003C0000700001E0000380000600000C00181800383E00703FFFE077FFE0
60FFC0C07F80C01E0017207C9F19>I<000FC0007FF000F07801803803003C06303C0E303C0C30
3C0C303C0C603807C0780380700000E00001C0007F8000FE00000F000007800003C00003C00003
C00003C00007C07807C0F807C0F80780F00F80C00F00C01E00707C003FF0001FC00016207B9F19
>I<0000300000780000F00000F00000F00000F00001E00001E00001C00003C00003C000038000
0780000700000F00000E00001E00001C00003C000038000070C00061E000E3C001C3C00183C003
03C00607800C07801F87807FE780E07F00401FF0000FC0000F00001E00001E00001E00001E0000
3C00003C00003C00001800152A7E9F19>I<00800C00E03C00FFF801FFE001FFC001FF00018000
030000030000030000030000060000067E0007FF000783800E03C00C03C00003E00003E00003E0
0003E00003E07807C0F807C0F807C0F80F80F00F00C01E00E03C007078003FF0000F800016207B
9F19>I<0007E0001FF0003C3000703801E0F801C0F80381F00780F00F00000F00001F00001E00
003EFE003FFF007F07807E03807E03C07C03C0FC07C0F807C0F807C0F807C0F00F80F00F80F00F
80F00F00F01E00F01E00703C007870003FE0000F800015207A9F19>I<063C0306FE060DFE0E0F
FF1C1FFFF81F83F83C00303800707000E06000E0E001C00003C0000380000780000700000F0000
1F00001E00003E00003C00007C00007C00007C0000F80000F80001F80001F00001F00003F00003
F00003E00001C00018207A9F19>I<000FC0003FE000707000C038018038038038030038070038
07803807807007C0E007F1C007FB8003FF0001FE0001FF0003FF800F1FC01C0FC03807C03803E0
7001E0E001C0E001C0E001C0E00180E00380E00700700E00783C003FF0000FC00015207B9F19>
I<000F80003FE00070F000E07001C07803C0780780780F80780F80780F80781F00F81F00F81F00
F81F01F81E01F01E03F00E03F00F07F007FFE003F3E00003C00007C0000780000780780F007C0E
00F81E00F83C00E0780060F0007FC0001F000015207B9F19>I<07800F800FC01F800F800F0000
000000000000000000000000000000000038007C00FC00FC00F80070000A157B940F>I<000003
00000007000000070000000F0000001F0000001F0000003F0000003F8000007F8000006F800000
CF800001CF8000018F8000030F8000030F8000060F8000060F80000C0F80000C0F8000180F8000
300F8000300F80007FFFC0007FFFC000C007C000C007C0018007C0038007C0030007C0060007C0
060007C01E0007C0FFC07FFCFF807FFC1E227DA124>65 D<00FFFFE000FFFFF8000F807C000F80
3E001F001E001F001F001F001F001F001F003E001E003E003E003E003E003E007C007C0078007C
00F0007C03E0007FFFC000FFFFC000F803E000F801F000F800F801F000F801F0007801F0007C01
F0007C03E000F803E000F803E000F803E001F007C001F007C003E007C007C007C01F00FFFFFE00
FFFFF00020227DA122>I<0000FE010003FF83000F80C7003E006F0078003E01F0003E03E0001E
07C0001E0780001C0F00001C1F00001C1E00001C3E0000187C0000187C0000007C000000F80000
00F8000000F8000000F8000000F8000000F0000060F0000060F00000C0F80000C0F80001807800
0180780003003C0006003E000C001F00180007C0F00003FFC00000FF0000202279A123>I<00FF
FFF00000FFFFFC00000F803E00000F800F00001F000780001F000780001F0003C0001F0003C000
3E0003C0003E0003E0003E0003E0003E0003E0007C0003E0007C0003E0007C0003E0007C0003E0
00F80007C000F80007C000F80007C000F80007C001F0000F8001F0000F8001F0000F0001F0001F
0003E0001E0003E0003C0003E0007C0003E000780007C000F00007C001E00007C007800007C01F
0000FFFFFC0000FFFFF0000023227DA125>I<00FFFFFF8000FFFFFF80000F800F80000F800780
001F000380001F000380001F000300001F000300003E000300003E030300003E030300003E0303
00007C060000007C060000007C0E0000007FFE000000FFFC000000F81C000000F81C000000F81C
000001F018000001F0180C0001F0180C0001F000180003E000180003E000300003E000300003E0
00700007C000600007C000E00007C001C00007C00FC000FFFFFFC000FFFFFF800021227DA121>
I<00FFFFFF00FFFFFF000F801F000F8007001F0007001F0007001F0006001F0006003E0006003E
0006003E0306003E0306007C0600007C0600007C0E00007C1E0000FFFC0000FFFC0000F81C0000
F81C0001F0180001F0180001F0180001F0180003E0000003E0000003E0000003E0000007C00000
07C0000007C0000007C00000FFFE0000FFFE000020227DA120>I<0000FE010003FF83000F80C7
003E006F0078003E01F0003E03E0001E07C0001E0780001C0F00001C1F00001C1E00001C3E0000
187C0000187C0000007C000000F8000000F8000000F8000000F8000000F8007FFCF0007FFCF000
03E0F00003E0F80007C0F80007C0780007C0780007C03C000F803E000F801F001F8007C0778003
FFE30000FF0100202279A126>I<00FFFCFFFC00FFFCFFFC000F800F80000F800F80001F001F00
001F001F00001F001F00001F001F00003E003E00003E003E00003E003E00003E003E00007C007C
00007C007C00007C007C00007FFFFC0000FFFFF80000F800F80000F800F80000F800F80001F001
F00001F001F00001F001F00001F001F00003E003E00003E003E00003E003E00003E003E00007C0
07C00007C007C00007C007C00007C007C000FFFCFFFC00FFFCFFFC0026227DA124>I<00FFFC00
FFFC000F80000F80001F00001F00001F00001F00003E00003E00003E00003E00007C00007C0000
7C00007C0000F80000F80000F80000F80001F00001F00001F00001F00003E00003E00003E00003
E00007C00007C00007C00007C000FFFC00FFFC0016227DA113>I<0007FFE0000FFFC000003E00
00003E0000007C0000007C0000007C0000007C000000F8000000F8000000F8000000F8000001F0
000001F0000001F0000001F0000003E0000003E0000003E0000003E0000007C0000007C0000007
C0000007C000000F8000180F80003C0F80007E0F8000FC1F0000FC1E0000F83E000070F800003F
F000000FC000001B227DA11A>I<00FFFE0000FFFE00000F8000000F8000001F0000001F000000
1F0000001F0000003E0000003E0000003E0000003E0000007C0000007C0000007C0000007C0000
00F8000000F8000000F8000000F8000001F0000001F0006001F0006001F000C003E000C003E000
C003E0018003E0018007C0038007C0070007C00F0007C03F00FFFFFE00FFFFFE001B227DA11F>
76 D<00FFE0001FFC00FFE0001FFC000FE0003F80000FE0006F80001BE0007F00001BE000DF00
001BE000DF00001BE0019F000033E001BE000033E0033E000033E0063E000033E0063E000063E0
0C7C000063E00C7C000061F0187C000061F0187C0000C1F030F80000C1F060F80000C1F060F800
00C1F0C0F8000181F0C1F0000181F181F0000181F181F0000181F301F0000301F603E0000301F6
03E0000301FC03E0000300FC03E0000600F807C0000600F807C0000600F007C0001F00E007C000
FFE0E0FFFC00FFE0C0FFFC002E227DA12C>I<00FFC01FFC00FFC01FFC000FC003C0000FE00380
001BE00300001BE00300001BF003000019F003000031F006000031F806000030F806000030F806
000060FC0C0000607C0C0000607C0C0000607C0C0000C03E180000C03E180000C03E180000C01F
180001801F300001801F300001800FB00001800FB00003000FE000030007E000030007E0000300
07E000060007C000060003C000060003C0001F0003C000FFE0018000FFE001800026227DA124>
I<0000FE000007FF80001F03E0003C01F000F000F801E0007803C0003C0780003C0F80003C0F00
003E1F00003E3E00003E3E00003E7C00003E7C00003E7C00003EF800007CF800007CF800007CF8
0000F8F80000F8F80000F8F00001F0F00001F0F80003E0F80003C0F800078078000F007C001E00
3C003C001E00F8000F83E00007FFC00000FE00001F2279A125>I<00FFFFE000FFFFF8000F807C
000F801E001F001F001F000F001F000F001F000F003E001F003E001F003E001F003E001E007C00
3E007C003C007C0078007C00F000F803E000FFFF8000FFFE0000F8000001F0000001F0000001F0
000001F0000003E0000003E0000003E0000003E0000007C0000007C0000007C0000007C00000FF
FC0000FFFC000020227DA121>I<00FFFFC000FFFFF0000F80F8000F803C001F001E001F001E00
1F001E001F001E003E003E003E003E003E003E003E007C007C0078007C00F8007C01F0007C07C0
00FFFF0000FFFE0000F80F0000F80F8001F007C001F007C001F007C001F007C003E00F8003E00F
8003E00F8003E00F8007C01F0007C01F0307C01F0307C00F86FFFC07FCFFFC01F820227DA124>
82 D<0003F040000FFCC0001E0FC0003807C00070038000E0038001E0038001E0038003C00300
03C0030003E0000003E0000003F0000003FE000001FFC00001FFF00000FFF800007FFC00000FFC
000001FE0000007E0000003E0000003E0000003E0030003C0030003C0030003C00300078007000
70007800F0007C01E0006F03C000C7FF000081FC00001A227DA11B>I<1FFFFFF81FFFFFF81E03
E0783803E0383807C0383007C0387007C0306007C030600F8030C00F8030C00F8030C00F803000
1F0000001F0000001F0000001F0000003E0000003E0000003E0000003E0000007C0000007C0000
007C0000007C000000F8000000F8000000F8000000F8000001F0000001F0000001F0000003F000
00FFFFC000FFFF80001D2277A123>I<3FFF07FF3FFF07FF03E000F003E000E007C000C007C000
C007C000C007C000C00F8001800F8001800F8001800F8001801F0003001F0003001F0003001F00
03003E0006003E0006003E0006003E0006007C000C007C000C007C000C007C000C0078001800F8
0018007800300078003000780060003800C0003C0180001E0700000FFC000003F00000202277A1
24>I<FFF803FFFFF803FE0F8000F00F8000E00F8000C00F8001800F8001800F8003000F800700
0F8006000FC00C000FC00C0007C0180007C0180007C0300007C0600007C0600007C0C00007C0C0
0007C1800007C3800007C3000007E6000003E6000003EC000003FC000003F8000003F0000003F0
000003E0000003E0000003C000000380000003800000202276A124>I<FFF87FF81FF8FFF0FFF8
3FF01F800F8007801F000F8007001F000F8006001F800F8006001F800F800C000F801F800C000F
801F8018000F803F8018000F807F8030000F806F8070000F80CF8060000F80CF80C0000F818F80
C0000F818FC180000F830FC180000F830FC300000F8607C300000F8607C600000F8C07C600000F
9C07CC00000F9807DC00000FB007D800000FB007F000000FE007F000000FE007E000000FC007E0
00000FC007C000000F8007C000000780078000000700078000000700070000000600070000002D
2276A131>I<007FFC3FFC007FFC3FF80007E00F800007E00E000007E00C000003E018000003F0
38000003F030000001F060000001F0C0000001F980000000FB80000000FF00000000FE00000000
7C000000007C000000007E000000007E00000000FE00000000FF00000001BF000000031F000000
061F8000000E1F8000001C0F800000180F800000300FC000006007C00000C007C00001C007E000
038003E0000F8007E000FFF03FFE00FFE03FFE0026227EA124>I<FFF803FFFFF803FF0F8000F0
0F8000E00FC001C00FC0018007C0030007C0060007E00E0007E01C0003E0180003F0300003F060
0001F0E00001F0C00001F9800001FB000000FF000000FE000000FC000000F8000000F8000000F8
000000F8000001F0000001F0000001F0000001F0000003E0000003E0000003E0000003E000007F
FE00007FFC0000202276A124>I<007C6001FEF003C7F00703E00F01E01E01E03E01E03C03C07C
03C07C03C07C03C0F80780F80780F80788F8078CF80F18780F18781F183C77301FE7E00F81C016
157C9419>97 D<03E0003FC0003FC00003C00003C0000780000780000780000780000F00000F00
000F00000F00001E00001E78001FFE001F8F003E0F003C07803C07803C0780780F80780F80780F
80780F80F01F00F01F00F01F00F01E00F03C00703C0070780038F0003FC0000F000011237BA216
>I<003F0000FF8003C1C00783C00F07C01E07C03E03803C00007C00007C00007C0000F80000F8
0000F80000F800007800807801803807003C1E001FF80007E00012157C9416>I<00001F0001FE
0001FE00001E00001E00003C00003C00003C00003C0000780000780000780000780000F0007CF0
01FEF003C7F00703E00F01E01E01E03E01E03C03C07C03C07C03C07C03C0F80780F80780F80788
F8078CF80F18780F18781F183C77301FE7E00F81C018237CA219>I<007C03FE07870F031E033C
037C06781CFFF8FFC0F800F000F000F000F000F001F003780E383C1FF00FC010157B9416>I<00
003C0000FE0001DF0001DF0003DE00038C000780000780000780000780000F00000F00000F0000
0F0001FFF801FFF8001E00001E00001E00001E00001E00003C00003C00003C00003C00003C0000
780000780000780000780000780000F00000F00000F00000F00000E00001E00001E00001C00039
C0007BC000FB8000FB00007E00003C0000182D82A20F>I<000F18003FBC0070FC00E0F801E078
03C07807C0780780F00F80F00F80F00F80F01F01E01F01E01F01E01F01E01F03C00F03C00F07C0
071FC003FF8001E780000780000780000F00000F00380F00781E00F81C00F878007FF0003FC000
161F7F9416>I<00F8000FF0000FF00000F00000F00001E00001E00001E00001E00003C00003C0
0003C00003C000078000078F8007BFC007F1E00FC0F00F80F00F00F00F00F01E01E01E01E01E01
E01E01E03C03C03C03C03C03C43C078678078C780F0C780F18780738F007F06001C017237DA219
>I<006000F001F001F000C000000000000000000000000000000F001F8033C063C0C3C0C780C7
8007800F000F000F001E001E001E203C303C60786078C039C03F800E000D217CA00F>I<00F800
0FF0000FF00000F00000F00001E00001E00001E00001E00003C00003C00003C00003C000078000
0781E00783F00786300F08F00F11F00F21F00F41E01F80C01F80001FE0001EF0003C78003C7C00
3C3C203C3C307878607878607878407838C0F01F80600F0014237DA216>107
D<01F01FE01FE001E001E003C003C003C003C007800780078007800F000F000F000F001E001E00
1E001E003C003C003C003C007800780079007980F300F300F30073007E001C000C237CA20C>I<
1E07E03E003F1FF0FF0067B879C78067E03F03C0C7C03E03C0C7803C03C0C7803C03C00F007807
800F007807800F007807800F007807801E00F00F001E00F00F001E00F00F101E00F01E183C01E0
1E303C01E03C303C01E03C603C01E01CE07803C01FC0300180070026157C9428>I<1E07C0003F
1FE00067B8F00067E07800C7C07800C7807800C78078000F00F0000F00F0000F00F0000F00F000
1E01E0001E01E0001E01E2001E03C3003C03C6003C0786003C078C003C039C007803F8003000E0
0019157C941B>I<003F0000FFC003E1E00780F00F00F01E00F83E00F83C00F87C00F87C00F87C
00F8F801F0F801F0F801E0F803E07803C0780780380F003C1E001FFC0007E00015157C9419>I<
01E0F80003F3FC00067F0E00067E0F000C7C07000C7807800C780F8000F00F8000F00F8000F00F
8000F00F8001E01F0001E01F0001E01F0001E03E0003C03C0003E0380003E0780003F1E00007BF
C000079F000007800000078000000F0000000F0000000F0000000F0000001E0000001E000000FF
E00000FFE00000191F809419>I<00786001FCE00387E00707C00F03C01E03C03E03C03C07807C
07807C07807C0780F80F00F80F00F80F00F80F00F81E00781E00783E0038FE001FFC000F3C0000
3C00003C0000780000780000780000780000F00000F0000FFF000FFF00131F7C9416>I<1E0F00
3F3FC067F0C067C1E0C7C3E0C783E0C783C00F01800F00000F00000F00001E00001E00001E0000
1E00003C00003C00003C00003C000078000030000014157C9415>I<007C0001FF000383800703
800E07800E07800E02000F80000FF8000FFC0007FE0001FF00001F00300F00780F00F80E00F80E
00F01C007038003FF0001FC00011157D9414>I<00E001E001E001E001E003C003C003C003C007
80FFF8FFF807800F000F000F000F001E001E001E001E003C003C003C103C1878307830786038C0
3F800F000D1F7C9E10>I<0F00301F807833C07863C0F0C3C0F0C780F0C780F00781E00F01E00F
01E00F01E01E03C01E03C01E03C41E03C61E078C1E078C1E0F8C0E1B980FF3F003E0E018157C94
1A>I<0F01801F83C033C7E063C7E0C3C3E0C781E0C780E00780C00F00C00F00C00F00C01E0180
1E01801E01801E03001E03001E06001E04000F1C0007F80003E00014157C9416>I<0F0060601F
80F0F033C0F1F863C1E1F8C3C1E0F8C781E078C781E0380783C0300F03C0300F03C0300F03C030
1E0780601E0780601E0780601E0780C01E0780C01E0781801E0F81800F1BC30007F9FE0003E0F8
001E157C9420>I<03C3C00FE7E0187C70307CF07079F06079F06079E000F0C000F00000F00000
F00001E00001E00039E02079E030FBC060FBC060F3C0C0E7E3807CFF00383C0014157D9416>I<
0F00301F807833C07863C0F0C3C0F0C780F0C780F00781E00F01E00F01E00F01E01E03C01E03C0
1E03C01E03C01E07801E07801E0F800E1F800FFF0003EF00000F00000F00001E00781E00F83C00
F83800F07000E1E0007FC0003F0000161F7C9418>I<00F03003F87007FEE007FFC00C07800C03
00000600000C0000180000300000600000C0000180000300400600600C00C01F03C03FFF8079FF
0060FE00C0380014157E9414>I<FFFFFCFFFFFC16027C8D19>I<FFFFFFFFFFF8FFFFFFFFFFF82D
027B8D32>I<0E1C1E3C1E3C3C783870387070E060C0C180C1800E0A73A219>I<3838F87CFCFCF8
FCF8F870700E0673A119>127 D E /Fk 100 128 df<FFFFFF00FFFFFF0007C01F0007C0070007
C0070007C0030007C0038007C0038007C0018007C0018007C0018007C0018007C0000007C00000
07C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C000
0007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C00000FFFF0000FFFF
000019227EA11E>0 D<000FE000007FFC0001F83F0003E00F8007C007C00F8003E01F0001F01F
0001F03E0000F83E0000F87E0000FC7C00007C7C00007CFC30187EFC30187EFC3FF87EFC3FF87E
FC3FF87EFC3FF87EFC30187EFC30187E7C00007C7C00007C7E0000FC3E0000F83E0000F81F0001
F01F0001F00F8003E007C007C003E00F8001F83F00007FFC00000FE0001F227DA126>2
D<FFFFFFFFFFFFFFFF07C003E007C003E007C003E007C003E007C003E007C003E007C003E007C0
03E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007
C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E0
07C003E007C003E007C003E0FFFE7FFFFFFE7FFF20227EA125>5 D<03FFFE0003FFFE00000F80
00000F8000000F8000000F8000000F8000003FC00001FFF80007CFBE001F0F8F803E0F87C03E0F
87C07C0F83E0FC0F83F0FC0F83F0FC0F83F0FC0F83F0FC0F83F0FC0F83F07C0F83E03E0F87C03E
0F87C01F0F8F8007CFBE0001FFF800003FC000000F8000000F8000000F8000000F8000000F8000
03FFFE0003FFFE001C227DA123>8 D<001FE00000FFFC0003F03F0007C00F800F8007C01F0003
E03F0003F03F0003F07E0001F87E0001F87E0001F87E0001F87E0001F87E0001F87E0001F83E00
01F03F0003F03F0003F01F0003E01F0003E00F0003C00F8007C0078007800380070003C00F00C1
C00E0CC1C00E0C60C00C1860C00C1860E01C187FE01FF87FE01FF83FE01FF03FE01FF01E227EA1
23>10 D<000FC1F0003FF7F800F87E3C01E0FC7C03C0FC7C03C0F8380780780007807800078078
000780780007807800078078000780780007807800FFFFFFC0FFFFFFC007807800078078000780
780007807800078078000780780007807800078078000780780007807800078078000780780007
807800078078000780780007807800078078007FE1FFC07FE1FFC01E2380A21C>I<000FC00000
3FE00000F8700001E0780003C0F80003C0F8000780F80007807000078000000780000007800000
078000000780000007800000FFFFF800FFFFF8000780F800078078000780780007807800078078
000780780007807800078078000780780007807800078078000780780007807800078078000780
780007807800078078007FE1FF807FE1FF80192380A21B>I<000FD800003FF80000F8F80001E0
F80003C0F80003C078000780780007807800078078000780780007807800078078000780780007
807800FFFFF800FFFFF80007807800078078000780780007807800078078000780780007807800
078078000780780007807800078078000780780007807800078078000780780007807800078078
007FF3FF807FF3FF80192380A21B>I<0007E03F00003FF1FF8000F83FC1C001E03F01E003C07E
03E003C07E03E007807C03E007803C01C007803C000007803C000007803C000007803C00000780
3C000007803C0000FFFFFFFFE0FFFFFFFFE007803C03E007803C01E007803C01E007803C01E007
803C01E007803C01E007803C01E007803C01E007803C01E007803C01E007803C01E007803C01E0
07803C01E007803C01E007803C01E007803C01E007803C01E07FF1FF8FFE7FF1FF8FFE272380A2
29>I<0007E03F60003FF1FFE000F83FC3E001E07F03E003C07E03E003C07E01E007803C01E007
803C01E007803C01E007803C01E007803C01E007803C01E007803C01E007803C01E0FFFFFFFFE0
FFFFFFFFE007803C01E007803C01E007803C01E007803C01E007803C01E007803C01E007803C01
E007803C01E007803C01E007803C01E007803C01E007803C01E007803C01E007803C01E007803C
01E007803C01E007803C01E07FF1FF8FFE7FF1FF8FFE272380A229>I<038007800F800F001E00
3C0038007000E0004000090A77A218>19 D<8020E0E0F1E07FC01F000E0004000C077A9F18>I<
781E00FC3F00FC3F00FE3F80FE3F807E1F800601800601800601800C03000C03001C0700180600
300C00701C0060180011107EA218>34 D<0000C018000000C018000000C018000001C038000001
803000000180300000018030000003807000000300600000030060000003006000000700E00000
0600C000000600C000000600C000000E01C000000C018000FFFFFFFFC0FFFFFFFFC00018030000
0018030000001803000000380700000030060000003006000000300600000030060000FFFFFFFF
C0FFFFFFFFC000600C000000E01C000000C018000000C018000000C018000001C0380000018030
00000180300000018030000003807000000300600000030060000003006000000700E000000600
C000000600C00000222D7DA229>I<0780000C001FC0001C001C600018003870007800703C00F0
00703FFFE000F01BFFE000F01800C000F01801C000F018038000F018030000F018070000F0180E
0000F0180C000070301C0000703018000038703800001C607000001FC06000000780E03C000001
C07E00000180E300000381C300000703C1800006038180000E0380C0000C0780C0001C0780C000
380780C000300780C000700780C000E00780C000C00780C001C00380C00180038180038003C180
070001C300060000E3000E00007E000C00003C0022287DA429>37 D<003C000000007E00000000
E300000001C180000001C180000003C180000003C180000003C180000003C180000003C3000000
03C700000003C600000003CC00000001D800000001F807FF8001F007FF8001E000FC0001F00070
0003F000600007F800C0000E7800C0001C7C0180003C3C018000781E030000781F060000F80F06
0000F8078C0000F807D80000F803F00000F801F003007C00F803007C01FC06003F073E0E000FFE
0FFC0003F003F00021237EA226>I<78FCFCFEFE7E0606060C0C1C1830706007107CA20E>I<0030
006000C001800380070006000E000E001C001C003800380038007800700070007000F000F000F0
00F000F000F000F000F000F000F000F000F000F000F00070007000700078003800380038001C00
1C000E000E00060007000380018000C0006000300C327DA413>I<C0006000300018001C000E00
0600070007000380038001C001C001C001E000E000E000E000F000F000F000F000F000F000F000
F000F000F000F000F000F000F000E000E000E001E001C001C001C0038003800700070006000E00
1C00180030006000C0000C327DA413>I<01C00001C00001C00001C00001C000E1C380F1C7807D
DF001FFC000FF80003E0000FF8001FFC007DDF00F1C780E1C38001C00001C00001C00001C00001
C00012157DA418>I<000180000001800000018000000180000001800000018000000180000001
80000001800000018000000180000001800000018000000180000001800000018000FFFFFFFEFF
FFFFFE000180000001800000018000000180000001800000018000000180000001800000018000
000180000001800000018000000180000001800000018000000180001F227D9C26>I<78FCFCFE
FE7E0606060C0C1C1830706007107C850E>I<FFE0FFE0FFE00B037F8B10>I<78FCFCFCFC780606
7C850E>I<000180000180000380000300000300000700000600000600000E00000C00000C0000
1C0000180000180000180000380000300000300000700000600000600000E00000C00000C00001
C0000180000180000380000300000300000700000600000600000E00000C00000C00000C00001C
0000180000180000380000300000300000700000600000600000E00000C00000C0000011317DA4
18>I<01F00007FC000F1E001C07003C07803803807803C07803C07803C0F803E0F803E0F803E0
F803E0F803E0F803E0F803E0F803E0F803E0F803E0F803E0F803E0F803E0F803E07803C07803C0
7803C03803803C07801E0F000F1E0007FC0001F00013207E9F18>I<00C001C007C0FFC0FBC003
C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0
03C003C003C003C003C0FFFFFFFF10207C9F18>I<03F0000FFE00383F00300F80600FC0F807C0
FC07E0FC07E0FC03E07803E03007E00007E00007C00007C0000F80000F00001E00003E00003C00
00700000E00001C0000180000300600600600C00601800E03800C03FFFC07FFFC0FFFFC0FFFFC0
13207E9F18>I<03F0000FFE001C1F00380F807C0F807C0FC07C07C03C0FC0180FC0000F80000F
80000F00001F00003C0003F80003F000001E00000F00000F800007C00007C00007E03007E07807
E0FC07E0FC07E0FC07C0F80FC0700F803C1F001FFC0003F00013207E9F18>I<00070000070000
0F00001F00001F00003F00007F00006F0000CF0001CF00018F00038F00030F00060F000E0F000C
0F00180F00380F00300F00600F00E00F00FFFFF8FFFFF8000F00000F00000F00000F00000F0000
0F00000F0001FFF801FFF815207F9F18>I<1000801C07801FFF001FFE001FFC001FF8001FC000
18000018000018000018000018000019F8001FFE001E0F001807801807800003C00003C00003E0
0003E00003E07803E0F803E0F803E0F803C0F003C0600780300F003C1E000FFC0003F00013207E
9F18>I<007E0001FF0003C3800701C00E03C01E07C03C07C03C03807C0000780000780000F800
00F9FC00FBFE00FE0700FC0780FC03C0FC03C0F803E0F803E0F803E0F803E07803E07803E07803
E07803C03803C03C03801C07000F0F0007FC0001F80013207E9F18>I<6000007000007FFFE07F
FFE07FFFC07FFFC0600180E00300C00300C00600C00C00000C0000180000300000300000600000
600000E00000E00001E00001C00001C00003C00003C00003C00003C00007C00007C00007C00007
C00007C00007C00007C00003800013227DA118>I<01F80007FE000E0F001803803003807001C0
7001C07001C07801C07C03807E03803F87001FEE000FFC0007FC0003FE000FFF001C7F80381FC0
700FC07003E0E001E0E000E0E000E0E000E0E000E07000C07001C03803801E0F000FFE0003F800
13207E9F18>I<01F00007FC000E0E001C07003C07807803807803C0F803C0F803C0F803C0F803
E0F803E0F803E0F803E07807E07807E03C07E01C0FE00FFBE007F3E00003E00003C00003C00003
C03807807C07807C0700780E00301C003838001FF00007C00013207E9F18>I<78FCFCFCFC7800
000000000000000078FCFCFCFC7806157C940E>I<78FCFCFCFC7800000000000000000070F8FC
FCFC7C0C0C0C1C181830306040061F7C940E>I<FFFFFFFEFFFFFFFE0000000000000000000000
000000000000000000000000000000000000000000FFFFFFFEFFFFFFFE1F0C7D9126>61
D<0FE01FF8383C601EF01FF81FF81FF81F701F003E003E007C00F000E001C001C0018003800300
030003000300030003000000000000000000000007800FC00FC00FC00FC0078010237DA217>63
D<000180000003C0000003C0000003C0000007E0000007E0000007E000000FF000000DF000000D
F0000018F8000018F8000018F80000307C0000307C0000307C0000603E0000603E0000603E0000
C01F0000C01F0001C01F8001FFFF8001FFFF8003800FC0030007C0030007C0070007E0060003E0
060003E00E0003F01F0003F0FFC01FFFFFC01FFF20227EA125>65 D<FFFFF800FFFFFF0007C01F
8007C007C007C007E007C003E007C003F007C003F007C003F007C003F007C003F007C003E007C0
07E007C00FC007C01F8007FFFF0007FFFE0007C01F8007C007C007C003E007C003F007C001F007
C001F807C001F807C001F807C001F807C001F807C001F807C003F007C003F007C007E007C00FC0
FFFFFF00FFFFFC001D227EA123>I<000FE010003FF83000FC0E7001E003F007C001F00F8001F0
0F0000F01F0000F03E0000703E0000707E0000307C0000307C000030FC000030FC000000FC0000
00FC000000FC000000FC000000FC000000FC0000007C0000307C0000307E0000303E0000303E00
00601F0000600F0000C00F8000C007C0018001F0030000FC0E00003FFC00000FE0001C227DA123
>I<FFFFF000FFFFFE0007C01F0007C00FC007C003C007C001E007C001F007C000F807C000F807
C000FC07C0007C07C0007C07C0007C07C0007E07C0007E07C0007E07C0007E07C0007E07C0007E
07C0007E07C0007E07C0007E07C0007C07C0007C07C0007C07C000F807C000F807C001F007C001
E007C003E007C007C007C01F00FFFFFE00FFFFF8001F227EA125>I<FFFFFFC0FFFFFFC007C00F
C007C003C007C001C007C000C007C000E007C000E007C0006007C0606007C0606007C0606007C0
600007C0E00007C1E00007FFE00007FFE00007C1E00007C0E00007C0600007C0600007C0601807
C0601807C0001807C0003007C0003007C0003007C0003007C0007007C000F007C001F007C007E0
FFFFFFE0FFFFFFE01D227EA121>I<FFFFFFC0FFFFFFC007C00FC007C003C007C001C007C000C0
07C000E007C000E007C0006007C0006007C0606007C0606007C0600007C0600007C0E00007C1E0
0007FFE00007FFE00007C1E00007C0E00007C0600007C0600007C0600007C0600007C0000007C0
000007C0000007C0000007C0000007C0000007C0000007C00000FFFF0000FFFF00001B227EA120
>I<0007F008003FFC1800FC0E3801F0037803C001F8078000F80F0000781F0000783E0000383E
0000387E0000387C0000187C000018FC000018FC000000FC000000FC000000FC000000FC000000
FC000000FC003FFF7C003FFF7E0000F87E0000F83E0000F83E0000F81F0000F80F8000F8078000
F803E000F801F001F800FE0738003FFE180007F80820227DA126>I<FFFE7FFFFFFE7FFF07C003
E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C0
03E007C003E007C003E007FFFFE007FFFFE007C003E007C003E007C003E007C003E007C003E007
C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E0
FFFE7FFFFFFE7FFF20227EA125>I<FFFEFFFE07C007C007C007C007C007C007C007C007C007C0
07C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007
C0FFFEFFFE0F227FA112>I<03FFF803FFF8000F80000F80000F80000F80000F80000F80000F80
000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80
000F80000F80000F80300F80780F80FC0F80FC0F80FC1F00781F00783E001FF80007E00015227F
A119>I<FFFE07FF00FFFE07FF0007C001F80007C001E00007C001800007C003000007C0060000
07C00E000007C01C000007C038000007C070000007C060000007C0C0000007C1C0000007C3E000
0007C7E0000007CFF0000007D9F0000007F0F8000007F0FC000007E07C000007C03E000007C03E
000007C01F000007C01F800007C00F800007C007C00007C007C00007C003E00007C003F00007C0
01F00007C003F800FFFE0FFF80FFFE0FFF8021227EA126>I<FFFF0000FFFF000007C0000007C0
000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007
C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0018007C00180
07C0018007C0018007C0038007C0038007C0030007C0070007C0070007C00F0007C03F00FFFFFF
00FFFFFF0019227EA11E>I<FFE00007FFFFF0000FFF07F0000FE007F0000FE006F8001BE006F8
001BE006F8001BE0067C0033E0067C0033E0067C0033E0063E0063E0063E0063E0063E0063E006
1F00C3E0061F00C3E0061F00C3E0060F8183E0060F8183E0060F8183E00607C303E00607C303E0
0607C303E00603E603E00603E603E00603E603E00601FC03E00601FC03E00601FC03E00600F803
E00600F803E00600F803E01F807003E0FFF0707FFFFFF0707FFF28227EA12D>I<FFC00FFFFFE0
0FFF07E001F807F0006007F8006006F80060067C0060067E0060063E0060063F0060061F006006
0F8060060FC0600607C0600607E0600603E0600601F0600601F8600600F86006007C6006007C60
06003E6006003F6006001F6006000FE006000FE0060007E0060007E0060003E0060001E0060001
E01F8000E0FFF000E0FFF0006020227EA125>I<000FE000007FFC0001F83F0003E00F8007C007
C00F8003E01F0001F01F0001F03E0000F83E0000F87E0000FC7C00007C7C00007CFC00007EFC00
007EFC00007EFC00007EFC00007EFC00007EFC00007EFC00007E7C00007C7E0000FC7E0000FC3E
0000F83E0000F81F0001F01F0001F00F8003E007C007C003E00F8001F83F00007FFC00000FE000
1F227DA126>I<FFFFF000FFFFFC0007C03F0007C00F8007C00F8007C007C007C007C007C007E0
07C007E007C007E007C007E007C007E007C007C007C007C007C00F8007C00F8007C03F0007FFFC
0007FFF00007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0
000007C0000007C0000007C0000007C00000FFFE0000FFFE00001B227EA121>I<000FE000007F
FC0001F83F0003E00F8007C007C00F8003E01F0001F01F0001F03E0000F83E0000F87E0000FC7C
00007C7C00007CFC00007EFC00007EFC00007EFC00007EFC00007EFC00007EFC00007EFC00007E
7C00007C7C00007C7E0000FC3E0000F83E0000F81F0781F01F0FE1F00F9C33E007D817C003F81F
8001FC3F00007FFC00000FEC0200000C0200000C0200000E0600000F0E00000FFE000007FC0000
07FC000007F8000003F8000001E01F2C7DA126>I<FFFFE00000FFFFF8000007C07E000007C01F
000007C00F800007C007C00007C007E00007C007E00007C007E00007C007E00007C007E00007C0
07E00007C007C00007C00F800007C01F000007C07E000007FFF8000007FFF0000007C078000007
C03C000007C03E000007C01E000007C01F000007C01F000007C01F000007C01F000007C01F8000
07C01F800007C01F800007C01F818007C00FC18007C00FE300FFFE03FF00FFFE00FC0021227EA1
24>I<03F0200FFC601E0FE03803E07801E07000E0F000E0F00060F00060F00060F80000F80000
7C00007FC0003FFC003FFF001FFF8007FFC000FFC0000FE00003E00001F00001F00000F0C000F0
C000F0C000F0E000E0E000E0F001E0F801C0FE0780C7FF0081FC0014227DA11B>I<7FFFFFF87F
FFFFF87C07C0F87007C0386007C0186007C018E007C01CE007C00CC007C00CC007C00CC007C00C
C007C00C0007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0
000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007
C0000007C00003FFFF8003FFFF801E227EA123>I<FFFE0FFFFFFE0FFF07C001F807C0006007C0
006007C0006007C0006007C0006007C0006007C0006007C0006007C0006007C0006007C0006007
C0006007C0006007C0006007C0006007C0006007C0006007C0006007C0006007C0006007C00060
07C0006007C0006003C000C003E000C001E0018000E0018000F00300003C0E00001FFC000007F0
0020227EA125>I<FFF800FFC0FFF800FFC00FC0003E0007C0001C0007C000180007C000180003
E000300003E000300003F000700001F000600001F000600000F800C00000F800C00000F800C000
007C018000007C018000007E038000003E030000003E030000001F060000001F060000001F0600
00000F8C0000000F8C0000000FDC00000007D800000007D800000003F000000003F000000003F0
00000001E000000001E000000001E000000000C0000022227FA125>I<FFF83FFE07FEFFF83FFE
07FE0F8007E001F00F8003E000E00FC003E0006007C003F000C007C003F000C007C003F000C003
E006F8018003E006F8018003E006F8018001F00EFC030001F00C7C030001F00C7C030001F80C7E
070000F8183E060000F8183E060000FC183E0600007C301F0C00007C301F0C00007C301F0C0000
3E600F9800003E600F9800003E600F9800001FE00FF000001FC007F000001FC007F000001FC007
F000000F8003E000000F8003E000000F8003E00000070001C00000070001C00000070001C0002F
227FA132>I<7FFC0FFF007FFC0FFF0007F003F00003F001C00001F001800001F803800000FC03
0000007C060000007E0E0000003E0C0000003F180000001FB80000000FB00000000FE000000007
E000000003E000000003F000000003F000000003F800000007FC000000067C0000000C7E000000
1C3F000000181F000000301F800000700F800000600FC00000C007E00001C003E000018003F000
038001F8000FC001F800FFF00FFFC0FFF00FFFC022227FA125>I<FFF800FFE0FFF800FFE00FC0
003E0007E0001C0007E000380003F000300001F000700001F800600000FC00E00000FC00C00000
7E018000003E018000003F030000001F870000001F860000000FCE00000007CC00000007FC0000
0003F800000003F000000001F000000001F000000001F000000001F000000001F000000001F000
000001F000000001F000000001F000000001F000000001F000000001F00000003FFF8000003FFF
800023227FA125>I<7FFFFE7FFFFE7F007C7C007C7000F87001F8E001F0E003F0C003E0C007C0
C007C0C00F80001F80001F00003F00003E00007C00007C0000F80001F80001F00303F00303E003
07C00307C0030F80071F80071F00063F000E3E000E7C003E7C00FEFFFFFEFFFFFE18227DA11E>
I<FEFEC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
C0C0C0C0C0C0C0C0C0FEFE07317BA40E>I<0C03001C0700180600300C00701C00601800601800
C03000C03000C03000FC3F00FE3F80FE3F807E1F807E1F803C0F0011107CA218>I<FEFE060606
060606060606060606060606060606060606060606060606060606060606060606060606060606
060606FEFE07317FA40E>I<0C1C1830706060C0C0C0FCFEFE7E7E3C07107DA20E>96
D<1FE0003FF8007C3C007C1E007C0F00380F00000F00000F0003FF000FFF003F0F007C0F007C0F
00F80F00F80F18F80F18F80F18781F187C3FB83FE7F00F83C015157E9418>I<0F0000FF0000FF
00001F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F1F800F
7FE00FE1F00F80780F00780F003C0F003C0F003E0F003E0F003E0F003E0F003E0F003E0F003E0F
003C0F003C0F00780F80F00EE1F00E7FC00C1F0017237FA21B>I<01FE0007FF000F0F801E0F80
3C0F807C0700780000F80000F80000F80000F80000F80000F80000F800007C00007C00C03C00C0
1E01800F830007FE0001F80012157E9416>I<0001E0001FE0001FE00003E00001E00001E00001
E00001E00001E00001E00001E00001E00001E00001E003F1E007FDE01F07E03E03E03C01E07801
E07801E0F801E0F801E0F801E0F801E0F801E0F801E0F801E07801E07801E03C01E03C03E01F0F
F00FFDFE03F1FE17237EA21B>I<01FC0007FF000F0F801E07C03C03C07C03E07801E0FFFFE0FF
FFE0F80000F80000F80000F80000F800007800007C00603C00601E00C00F838007FF0000FC0013
157F9416>I<001E00007F0001E78001CF8003CF80078700078000078000078000078000078000
078000078000078000FFF800FFF800078000078000078000078000078000078000078000078000
0780000780000780000780000780000780000780000780000780007FFC007FFC00112380A20F>
I<03F0F00FFFF81E1F383C0F303C0F007C0F807C0F807C0F807C0F803C0F003C0F001E1E001FFC
0033F0003000003000003800003FFE003FFFC01FFFE03FFFF07801F0700078E00038E00038E000
38E000387000703800E01E03C00FFF8001FC0015207F9418>I<0F0000FF0000FF00001F00000F
00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F1F800F7FC00FE1E00F
C0F00F80F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F
00F00F00F00F00F0FFF3FFFFF3FF18237FA21B>I<0E001F003F003F001F000E00000000000000
00000000000000000F00FF00FF001F000F000F000F000F000F000F000F000F000F000F000F000F
000F000F000F00FFE0FFE00B2280A10D>I<00F001F801F801F801F800F0000000000000000000
0000000000007807F807F800F80078007800780078007800780078007800780078007800780078
007800780078007800780078007800787078F870F8F0F9E07FC01F000D2C83A10F>I<0F0000FF
0000FF00001F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F
0FFC0F0FFC0F03E00F03800F07000F0E000F1C000F38000F78000FFC000FBE000F1E000F1F000F
0F800F07800F07C00F03C00F03E00F03F0FFE7FEFFE7FE17237FA21A>I<0F00FF00FF001F000F
000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00
0F000F000F000F000F000F000F000F000F00FFF0FFF00C2380A20D>I<0F0FC07E00FF3FE1FF00
FFE0F707801FC07E03C00F807C03C00F007803C00F007803C00F007803C00F007803C00F007803
C00F007803C00F007803C00F007803C00F007803C00F007803C00F007803C00F007803C00F0078
03C00F007803C0FFF3FF9FFCFFF3FF9FFC26157F9429>I<0F1F80FF7FC0FFE1E01FC0F00F80F0
0F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F0
0F00F0FFF3FFFFF3FF18157F941B>I<01FC0007FF000F07801E03C03C01E07800F07800F0F800
F8F800F8F800F8F800F8F800F8F800F8F800F87800F07C01F03C01E01E03C00F078007FF0001FC
0015157F9418>I<0F1F80FF7FE0FFE1F00F80F80F00780F007C0F007C0F003E0F003E0F003E0F
003E0F003E0F003E0F003E0F007C0F007C0F00780F80F00FE1F00F7FC00F1F000F00000F00000F
00000F00000F00000F00000F00000F0000FFF000FFF000171F7F941B>I<01F06007FCE00F0EE0
1E03E03C03E07C01E07C01E0F801E0F801E0F801E0F801E0F801E0F801E0F801E07C01E07C01E0
3C03E03E03E01F0FE00FFDE003F1E00001E00001E00001E00001E00001E00001E00001E00001E0
001FFE001FFE171F7E941A>I<0F7CFFFEFFDF1F9F0F9F0F0E0F000F000F000F000F000F000F00
0F000F000F000F000F000F00FFF8FFF810157F9413>I<0FD83FF870786018E018E018F000FC00
7FC03FE01FF00FF8007CC03CC01CE01CE01CF018F838FFF08FC00E157E9413>I<030003000300
03000700070007000F001F003F00FFF8FFF80F000F000F000F000F000F000F000F000F000F000F
0C0F0C0F0C0F0C0F0C0F0C079803F001E00E1F7F9E13>I<0F00F0FF0FF0FF0FF01F01F00F00F0
0F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F01F00F01F0
0787F803FEFF01F8FF18157F941B>I<FFE3FEFFE3FE1F00F80F00600F00600780C00780C007C0
C003C18003C18003E38001E30001E30000F60000F60000FE00007C00007C00007C000038000038
0017157F941A>I<FF8FF9FFFF8FF9FF1F03E07C0F01C0380F01E0300F01E0300783E0600783F0
600783F06003C670C003C678C003C678C001EC398001EC3D8001EC3D8000F81F0000F81F0000F8
1F0000700E0000700E0000700E0020157F9423>I<7FE3FF007FE3FF0007C1F00003C0E00003E1
C00001E3800000F3000000FF0000007E0000003C0000003E0000003E0000007F00000067800000
C7C00001C3C0000181E0000381F0000F81F800FFC3FF80FFC3FF80191580941A>I<FFE3FEFFE3
FE1F00F80F00600F00600780C00780C007C0C003C18003C18003E38001E30001E30000F60000F6
0000FE00007C00007C00007C00003800003800003000003000007000006000F86000F8C000F9C0
00FB80007F00003E0000171F7F941A>I<3FFFC03FFFC03C0780380F00301F00703E00603C0060
780060F80001F00001E00003E0C007C0C00780C00F00C01F01C03E01803C0380780780FFFF80FF
FF8012157F9416>I<FFFFFEFFFFFE1702808D18>I<FFFFFFFFFFFFFFFFFFFFFFFF3002808D31>
I<78787878787870707070F0F0E0E0E0E0C0C040400D0A7AA218>I<1E043FDE7FFCF7F840F00F
057CA018>I<7070F8F8F8F8F8F8F8F870700E067BA118>I E /Fl 17 112
df<0180030006000C001C001800380030007000700060006000E000E000E000E000E000E000E0
00E000E000E00060006000700070003000380018001C000C0006000300018009227E980E>40
D<C0006000300018001C000C000E00060007000700030003000380038003800380038003800380
038003800380030003000700070006000E000C001C00180030006000C00009227E980E>I<0030
00003000003000003000003000003000003000003000003000003000003000FFFFFCFFFFFC0030
0000300000300000300000300000300000300000300000300000300000300016187E931B>43
D<07C01FF03C78783C701C701CF01EF01EF01EF01EF01EF01EF01EF01EF01E701C701C783C3C78
1FF007C00F157F9412>48 D<03000F00FF00F70007000700070007000700070007000700070007
00070007000700070007007FF07FF00C157E9412>I<1F803FE071F0F8F0F878F8787078007800
7800F000E001C0038007000E000C18181830387FF0FFF0FFF00D157E9412>I<0FC01FF0307878
3C783C783C103C007800F007E007E00078003C001E701EF81EF81EF83C70383FF00FC00F157F94
12>I<007000F000F001F003F0077006700E701C70187030707070E070FFFEFFFE007000700070
007003FE03FE0F157F9412>I<60307FF07FE07F8060006000600060006F807FC070E060700078
00786078F078F078F07060E03FC01F000D157E9412>I<01F007F80E1C1C3C383C70187000F080
F7F0FFF8F81CF81CF01EF01EF01E701E701E381C3C381FF007C00F157F9412>I<60007FFE7FFE
7FFCE018C018C030006000C001800180038003000700070007000F000F000F000F000F0006000F
167E9512>I<07C01FF03838701C701C701C7C1C3F383FF00FE01FF83DFC70FCE03EE00EE00EE0
0E700C78383FF00FC00F157F9412>I<FFFFFCFFFFFC0000000000000000000000000000000000
00FFFFFCFFFFFC160A7E8C1B>61 D<0F9E3FFF7077F078F078F078F07870707FE06F8060007FF0
3FF87FFCE01EE00EE00EE00E783C3FF80FE010157F8D12>103 D<FC00FC001C001C001C001C00
1C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00FF80FF80091780960A
>108 D<FCFC00FFFE001F0F001C07001C07001C07001C07001C07001C07001C07001C07001C07
00FF9FE0FF9FE0130E808D14>110 D<07C01FF03838701C701CF01EF01EF01EF01EF01E701C38
381FF007C00F0E7F8D12>I E
bop 0 195 a Fk([BK89])152 b(M.)15 b(Blum)g(and)g(S.)g(Kannan.)20
b(Designing)e(programs)e(that)f(c)o(hec)o(k)f(their)h(w)o(ork.)k(In)c
Fj(Pr)n(o)n(c.)301 267 y(21st)k(A)o(nn.)h(A)o(CM)f(Symp.)g(on)g(The)n(ory)f
(of)h(Computing)p Fk(,)g(pages)g(86{97,)h(Ma)o(y)d(1989.)28
b(A)301 340 y(more)12 b(detailed)i(v)o(ersion)e(of)h([BR88)o(].)f(Also)h(see)
f(\\Designing)i(programs)g(that)e(c)o(hec)o(k)f(their)301 412
y(w)o(ork,")j(T)l(ec)o(hnical)g(Rep)q(ort,)g(Computer)f(Science)g(Division,)i
(Univ)o(ersit)o(y)e(of)g(California,)301 484 y(Berk)o(eley)l(,)h(CA)i(94720,)
i(Dec.)e(1988.)0 598 y([BKRS92])89 b(A.)17 b(Blum,)g(H.)f(Karlo\013,)j(Y.)d
(Rabani,)i(and)g(M.)f(Saks.)24 b(A)17 b(decomp)q(osition)i(theoren)e(and)301
670 y(b)q(ounds)i(for)f(randomized)g(serv)o(er)e(problems.)26
b(In)17 b Fj(Pr)n(o)n(c.)g(33r)n(d)h(A)o(nn.)h(IEEE)f(Symp.)h(on)301
742 y(F)l(oundations)c(of)f(Computer)f(Scienc)n(e)p Fk(,)i(pages)e(197{207,)i
(1992.)i(In)12 b(a)g Fh(k)r Fk(-serv)o(er)g(problem,)301 814
y(eac)o(h)19 b(serv)o(er)f(is)i(at)g(some)f(p)q(oin)o(t)h(in)g(a)f(metric)g
(space.)g(A)o(t)f(eac)o(h)h(time)g(step,)g(a)h(request)301
887 y(arises.)14 b(Eac)o(h)e(request)h(is)g(a)g(p)q(oin)o(t)h(in)f(metric)f
(space,)i(and)f(m)o(ust)f(b)q(e)h(serviced)f(b)o(y)h(mo)o(ving)301
959 y(one)g(of)h(the)e Fh(k)j Fk(serv)o(ers)d(to)i(the)e(p)q(oin)o(t)i(sp)q
(eci\014ed.)f(The)g(cost)g(asso)q(ciated)i(with)f(the)f(request)301
1031 y(is)k(the)e(distance)i(that)f(the)g(serv)o(er)e(mo)o(v)o(es.)h(The)h
(comp)q(etitiv)o(e)f(ratio)i(of)f(a)h Fh(k)r Fk(-serv)o(er)e(sys-)301
1103 y(tem)d(is)h(the)g(w)o(orst-case)g(ratio)g(of)g(the)f(cost)h(of)g(an)g
(in)o(teractiv)o(e)f(algorithm)i(on)f(a)g(sequence)301 1176
y(of)f(inputs,)i(to)e(the)f(optimal)i(cost)f(that)g(w)o(ould)h(b)q(e)f
(incurred)f(if)i(the)e(en)o(tire)g(sequence)g(w)o(ere)301 1248
y(kno)o(wn)16 b(in)f(adv)m(ance.)g(The)g(pap)q(er)h(pro)o(v)o(es)e(a)i(lo)o
(w)o(er)f(b)q(ound)h(of)f(\012\()1515 1198 y Fc(q)p 1557 1198
301 2 v 50 x Fk(log)10 b Fh(k)r(=)e Fk(log)j(log)g Fh(k)r Fk(\))k(for)301
1320 y(the)21 b(comp)q(etitiv)o(e)f(ratio)i(of)f(a)g Fh(k)r
Fk(-serv)o(er)e(system)h(assuming)j(an)e(oblivious)i(adv)o(ersary)l(.)301
1392 y(This)18 b(impro)o(v)o(es)e(on)g(the)g(previously)i(kno)o(wn)e(b)q
(ound)i(of)e(\012\(log)11 b(log)f Fh(k)r Fk(\).)0 1506 y([BL92])160
b(P)l(.)23 b(Beame)f(and)h(J.)g(La)o(wry)l(.)41 b(Randomized)24
b(vs.)e(nondeterministic)i(comm)o(unication)301 1578 y(complexit)o(y)l(.)h
(In)17 b Fj(Pr)n(o)n(c.)g(24th)i(A)o(nn.)g(A)o(CM)f(Symp.)h(on)f(The)n(ory)g
(of)g(Computing)p Fk(,)g(pages)301 1650 y(188{199,)j(Victoria,)e(B.C.,)d
(Canada,)k(Ma)o(y)d(1992.)27 b(The)18 b(authors)h(sho)o(w)f(that)h(the)e(t)o
(w)o(o)301 1723 y(complexities)g(are)g(not)f(alw)o(a)o(ys)h(the)f(same.)0
1836 y([BLR90])124 b(M.)12 b(Blum,)g(M.)f(Lub)o(y)l(,)h(and)h(R.)e
(Rubinfeld.)k(Self-testing/correcting)f(with)f(applications)301
1909 y(to)18 b(n)o(umerical)g(problems.)26 b(In)17 b Fj(Pr)n(o)n(c.)h(22nd)g
(A)o(nn.)i(A)o(CM)e(Symp.)g(on)h(The)n(ory)e(of)i(Com-)301
1981 y(puting)p Fk(,)h(pages)g(73{83,)h(1990.)31 b(This)19
b(pap)q(er)h(is)g(a)f(more)f(recen)o(t)g(reference)f(on)i(the)g(use)301
2053 y(of)f(randomization)h(in)f(program)g(testing)g(and)g(adds)g(to)f(the)g
(collection)i(of)e(in)o(teresting)301 2125 y(examples)g(con)o(tained)g(in)f
([BR88,)g(BK89].)0 2239 y([Blu82])150 b(M.)15 b(Blum.)21 b(Coin)c(\015ipping)
g(b)o(y)f(telephone.)k(In)c Fj(Pr)n(o)n(c.)g(1982)g(IEEE)h(COMPCON,)h(High)
301 2311 y(T)l(e)n(chnolo)n(gy)e(in)f(the)g(Information)g(A)n(ge)p
Fk(,)f(pages)g(133{137,)j(1982.)h(This)c(pap)q(er)g(describ)q(es)301
2384 y(ho)o(w)i(t)o(w)o(o)g(parties)g(can)g(use)g(encryption)g(and)g
(decryption)g(k)o(eys)f(in)h(a)g(public)h(k)o(ey)d(cryp-)301
2456 y(tosystem)j(to)f(toss)h(coins)g(and)g(exc)o(hange)f(results)h(in)g(a)f
(distributed)i(en)o(vironmen)o(t.)0 2570 y([BM84])145 b(M.)14
b(Blum)g(and)i(S.)e(Micali.)19 b(Ho)o(w)c(to)g(generate)f(cryptographically)j
(strong)e(sequence)f(of)301 2642 y(pseudo-random)g(bits.)i
Fj(SIAM)e(Journal)g(on)h(Computing)p Fk(,)e(13:850{864,)j(1984.)h(This)c(pa-)
951 2828 y(96)p eop
bop 301 195 a Fk(p)q(er)17 b(in)o(tro)q(duces)g(the)e(notion)j(of)e
(cryptographically)j(secure)c(pseudo-random)j(n)o(um)o(b)q(er)301
267 y(generator.)0 379 y([BM88])145 b(L.)11 b(Babai)h(and)f(S.)g(Moran.)i
(Arth)o(ur-Merlin)e(games:)19 b(A)10 b(randomized)h(pro)q(of)h(system,)f(and)
301 451 y(a)17 b(hierarc)o(h)o(y)f(of)h(complexit)o(y)f(classes.)22
b Fj(Journal)c(of)f(Computer)h(and)g(System)g(Scienc)n(es)p
Fk(,)301 523 y(36:254{276,)j(1988.)28 b(The)18 b(pro)q(of)h(system)f(is)h
(considered)f(as)h(a)f(game)g(pla)o(y)o(ed)g(b)q(et)o(w)o(een)301
596 y(t)o(w)o(o)13 b(pla)o(y)o(ers,)g(the)g(v)o(eri\014er)f(and)i(the)e(pro)o
(v)o(er,)h(called)h(Arth)o(ur)e(and)h(Merlin,)h(resp)q(ectiv)o(ely)l(.)301
668 y(Arth)o(ur)20 b(and)g(Merlin)g(can)g(toss)h(coins)g(and)f(can)g(talk)h
(bac)o(k)e(and)i(forth.)e(In)h(this)h(t)o(yp)q(e)301 740 y(of)c(pro)q
(of-system,)f(all)i(coin)e(tosses)h(made)f(b)o(y)g(the)f(v)o(eri\014er)h(are)
g(seen)f(b)o(y)h(the)g(pro)o(v)o(er.)e(A)301 812 y(hierarc)o(h)o(y)i(of)h
(complexit)o(y)f(classes)h(\\just)g(ab)q(o)o(v)o(e)f Fj(NP)5
b Fk("is)18 b(deriv)o(ed.)0 924 y([BM89])145 b(M.)16 b(Bellare)g(and)h(S.)f
(Micali.)22 b(Non-in)o(teractiv)o(e)16 b(oblivious)i(transfer)f(and)f
(applications.)301 996 y(In)f Fj(A)n(dvanc)n(es)h(in)h(Cryptolo)n(gy{CR)l
(YPTO)e(89,)h Fk(Lecture)e(Notes)h(in)g(Computer)g(Science,)301
1068 y(V)l(ol.)c(435,)i(pages)f(547{559.)h(Springer-V)l(erlag,)g(1989.)h
(Based)d(on)g(a)g(complexit)o(y)g(assump-)301 1141 y(tion,)16
b(Bellare)f(and)h(Micali)g(sho)o(w)g(that)f(it)g(is)h(p)q(ossible)h(to)e
(build)i(public-k)o(ey)e(cryptosys-)301 1213 y(tems)f(in)h(whic)o(h)f
(oblivious)j(transfer)d(is)h(itself)g(implemen)o(ted)e(without)j(an)o(y)d(in)
o(teraction.)0 1325 y([BMO90])107 b(M.)18 b(Bellare,)h(S.)g(Micali,)h(and)f
(R.)f(Ostro)o(vsky)l(.)28 b(P)o(erfect)17 b(zero-kno)o(wledge)i(in)h(constan)
o(t)301 1397 y(rounds.)43 b(In)23 b Fj(Pr)n(o)n(c.)g(22nd)h(A)o(nn.)h(A)o(CM)
e(Symp.)g(on)i(The)n(ory)d(of)i(Computing)p Fk(,)h(pages)301
1469 y(482{493,)18 b(1990.)j(This)16 b(pap)q(er)f(con)o(tains)i(the)d
(\014rst)i(constan)o(t-round)g(solutions)i(with)e(no)301 1541
y(unpro)o(v)o(en)i(assumptions)i(for)e(the)g(problems)g(of)h(graph)g
(isomorphism)h(and)e(quadratic)301 1614 y(residuosit)o(y)l(.)0
1725 y([BMS86])118 b(E.)22 b(Bac)o(h,)h(G.)f(Miller,)i(and)f(J.)f(Shallit.)41
b(Sums)22 b(of)g(divisors,)j(p)q(erfect)d(n)o(um)o(b)q(ers)f(and)301
1797 y(factoring.)41 b Fj(SIAM)23 b(Journal)g(on)g(Computing)p
Fk(,)h(15\(4\):1143{115)q(4,)j(No)o(v)o(em)o(b)q(er)20 b(1986.)301
1870 y(The)h(authors)g(sho)o(w)g(that)g(computing)g(the)f(sum)g(of)h
(divisors)h(of)f(a)f(n)o(um)o(b)q(er)g Fh(N)25 b Fk(is)c(as)301
1942 y(hard)k(as)g(factoring)h Fh(N)5 b Fk(.)24 b(They)f(also)j(giv)o(e)e
(three)g(natural)i(sets)e(whic)o(h)h(are)f(in)h Fj(BPP)301
2014 y Fk(\(see)16 b([Gil77)r(]\))g(but)g(are)g(not)h(kno)o(wn)g(to)f(b)q(e)h
(in)f Fj(RP)5 b Fk(.)0 2126 y([BN93])153 b(R.)22 b(B.)e(Boppana)j(and)g(B.)d
(O.)i(Nara)o(y)o(anan.)38 b(The)21 b(biased)i(coin)g(problem.)38
b(In)21 b Fj(Pr)n(o)n(c.)301 2198 y(25th)f(A)o(nn.)f(A)o(CM)g(Symp.)g(on)h
(The)n(ory)e(of)h(Computing)p Fk(,)g(pages)g(252{257,)h(San)f(Diego,)301
2270 y(CA,)j(Ma)o(y)g(1993.)42 b(A)22 b Fj(slightly)i(r)n(andom)e(sour)n(c)n
(e)k Fk(\(with)d Fj(bias)g Fh(\017)p Fk(\))f(is)h(a)g(sequence)f
Fh(x)i Fk(=)301 2342 y(\()p Fh(x)348 2349 y Fl(1)368 2342 y
Fh(;)8 b(x)418 2349 y Fl(2)437 2342 y Fh(;)g Fg(\001)g(\001)g(\001)g
Fh(;)g(x)575 2349 y Ff(n)598 2342 y Fk(\))15 b(of)h(random)f(bits)h(suc)o(h)e
(that)i(the)e(conditional)k(probabilit)o(y)f(that)e Fh(x)1884
2349 y Ff(i)1912 2342 y Fk(=)301 2415 y(1,)25 b(giv)o(en)e(the)f(outcomes)h
(of)g(the)f(\014rst)h Fh(i)16 b Fg(\000)f Fk(1)23 b(bits,)i(is)e(alw)o(a)o
(ys)h(b)q(et)o(w)o(een)1737 2395 y Fl(1)p 1737 2403 18 2 v
1737 2432 a(2)1775 2415 y Fg(\000)15 b Fh(\017)22 b Fk(and)306
2467 y Fl(1)p 306 2475 V 306 2504 a(2)342 2487 y Fk(+)12 b
Fh(\017)p Fk(.)18 b(Giv)o(en)h(a)g(subset)g(of)g Fh(S)i Fk(of)e
Fg(f)p Fk(0)p Fh(;)8 b Fk(1)p Fg(g)1070 2469 y Ff(n)1094 2487
y Fk(,)19 b(its)g Fh(\017)p Fk(-)p Fj(biase)n(d)h(pr)n(ob)n(ability)e
Fk(is)h(de\014ned)g(to)g(b)q(e)301 2559 y(the)d(minim)o(um)g(of)g(Pr[)p
Fh(x)d Fg(2)h Fh(S)s Fk(])h(o)o(v)o(er)g(all)j(sligh)o(tly)f(random)g
(sources)f Fh(x)f Fk(with)i(bias)g Fh(\017)p Fk(.)e(The)301
2631 y(authors)j(sho)o(w)f(that)g(for)f(ev)o(ery)f(\014xed)h
Fh(\017)e(<)1117 2612 y Fl(1)p 1117 2620 V 1117 2649 a(2)1156
2631 y Fk(and)j(almost)h(ev)o(ery)d(subset)h Fh(S)k Fk(of)d
Fg(f)p Fk(0)p Fh(;)8 b Fk(1)p Fg(g)1913 2613 y Ff(n)1936 2631
y Fk(,)301 2704 y(the)j Fh(\017)p Fk(-biased)h(probabilit)o(y)h(of)f
Fh(S)i Fk(is)d(b)q(ounded)h(a)o(w)o(a)o(y)f(from)g(0.)g(They)g(also)h(sho)o
(w)g(that)g(there)951 2828 y(97)p eop
bop 301 195 a Fk(exists)18 b(a)g(p)q(erfect-information,)g(collectiv)o(e)g
(coin-\015ipping)i(\(leader)d(election\))h(proto)q(col)301
267 y(for)f Fh(n)f Fk(pla)o(y)o(ers)g(that)h(tolerates)g Fh(\017n)f
Fk(c)o(heaters,)f(for)i(ev)o(ery)e Fh(\017)e(<)h Fk(\(2)1488
226 y Fg(p)p 1530 226 49 2 v 41 x Fk(10)e Fg(\000)f Fk(5\))p
Fh(=)p Fk(3)j Fg(\031)g Fh(:)p Fk(44.)0 381 y([BNS89])126 b(L.)17
b(Babai,)g(N.)f(Nisan,)h(and)g(M.)f(Szegedy)l(.)22 b(Multipart)o(y)17
b(proto)q(cols)i(and)e(logspace-hard)301 453 y(pseudorandom)f(sequences.)h
(In)d Fj(Pr)n(o)n(c.)h(21st)g(A)o(nn.)h(A)o(CM)g(Symp.)f(on)h(The)n(ory)e(of)
i(Com-)301 526 y(puting)p Fk(,)h(pages)f(1{11,)h(1989.)22 b(A)15
b(lo)o(w)o(er)h(b)q(ound)g(is)h(obtained)g(for)f(the)f(bit)h(complexit)o(y)g
(of)301 598 y(computing)g(functions)g(of)e Fh(n)h Fk(v)m(ariables,)i(where)d
(the)g Fh(i)1300 580 y Ff(th)1350 598 y Fk(v)m(ariable)i(resides)f(on)g(pro)q
(cessor)301 670 y Fh(i)p Fk(.)21 b(The)g(comm)o(unication)g(mec)o(hanism)g
(considered)h(is)f(a)h(shared)f(blac)o(kb)q(oard.)h(Using)301
742 y(this)16 b(b)q(ound,)f(algorithms)h(are)f(dev)o(elop)q(ed)f(that)h
(generate,)f(in)h(p)q(olynomial)i(time,)d(pseu-)301 814 y(dorandom)20
b(sequences)e(of)h(length)g Fh(n)g Fk(from)f(a)h(seed)g(of)g(length)g(exp\()p
Fh(c)1616 777 y Fg(p)p 1657 777 117 2 v 1657 814 a Fk(log)27
b Fh(n)p Fk(\).)18 b(These)301 887 y(pseudorandom)13 b(sequences)d(cannot)i
(b)q(e)f(distinguished)j(from)d(truly)h(random)g(sequences)301
959 y(b)o(y)k(an)o(y)g(logspace)i(T)l(uring)f(mac)o(hine.)0
1073 y([BO83])152 b(M.)12 b(Ben-Or.)h(Another)f(adv)m(an)o(tage)h(of)f(free)f
(c)o(hoice:)19 b(Completely)13 b(async)o(hronous)g(agree-)301
1145 y(men)o(t)e(proto)q(cols.)17 b(In)11 b Fj(Pr)n(o)n(c.)i(Se)n(c)n(ond)h
(A)o(nn.)g(A)o(CM)f(Symp.)g(on)h(Principles)h(of)e(Distribute)n(d)301
1217 y(Computing)p Fk(,)26 b(pages)e(27{30,)j(1983.)44 b(Ben-Or's)23
b(probabilistic)j(algorithm)g(for)d(asyn-)301 1289 y(c)o(hronous)d(Byzan)o
(tine)e(agreemen)o(t,)g(discussed)h(in)g(Section)g(3.5,)h(w)o(as)f(one)f(of)h
(the)g(\014rst)301 1362 y(published)i(solution)h(to)e(the)g(problem,)g(and)g
(remains)g(the)g(simplest.)g(Pro)q(cesses)g(toss)301 1434 y(coins)15
b(indep)q(enden)o(tly)f(to)g(reac)o(h)f(consensus)h(on)h(a)f(v)m(alue.)f(His)
h(algorithm)i(requires)e(that)301 1506 y(less)i(than)f(one-\014fth)g(of)g
(the)g(pro)q(cesses)g(are)g(fault)o(y)g(for)g(correctness)f(to)h(b)q(e)g
(guaran)o(teed.)301 1578 y(The)j(exp)q(ected)e(n)o(um)o(b)q(er)h(of)h(rounds)
g(is)g(exp)q(onen)o(tial)h(in)f(the)f(n)o(um)o(b)q(er)g(of)g(pro)q(cesses)h
Fh(n)p Fk(,)301 1650 y(but)f(b)q(ecomes)f(a)g(constan)o(t)h(when)g(the)f(n)o
(um)o(b)q(er)f(of)i(fault)o(y)f(pro)q(cesses)h(is)g Fh(O)q
Fk(\()1723 1615 y Fg(p)p 1765 1615 30 2 v 35 x Fh(n)p Fk(\).)0
1764 y([BO85])152 b(M.)17 b(Ben-Or.)23 b(F)l(ast)18 b(async)o(hronous)g
(Byzan)o(tine)f(agreemen)o(t)f(\(extended)h(abstract\).)24
b(In)301 1836 y Fj(Pr)n(o)n(c.)14 b(F)l(ourth)h(A)o(nn.)g(A)o(CM)g(Symp.)f
(on)i(Principles)f(of)g(Distribute)n(d)g(Computing)p Fk(,)f(pages)301
1909 y(149{151,)i(1985.)i(This)d(w)o(ork)e(extends)f(Brac)o(ha's)h([Bra85])g
(algorithm)i(to)f(async)o(hronous)301 1981 y(net)o(w)o(orks,)g(initially)i
(obtaining)h(a)d(p)q(olynomial)i(exp)q(ected-time)d(proto)q(col.)i(This)g
(proto-)301 2053 y(col)h(is)f(re\014ned)g(with)g(the)g(recursiv)o(e)f(use)h
(of)g(Brac)o(ha's)f(tec)o(hniques)g(to)i(get)e(an)i Fh(O)q
Fk(\(log)1872 2032 y Ff(k)1902 2053 y Fh(n)p Fk(\))301 2125
y(algorithm,)i(where)e Fh(k)i Fk(is)f(a)g(large)g(constan)o(t.)0
2239 y([BOGKW88])26 b(M.)14 b(Ben-Or,)f(S.)h(Goldw)o(asser,)h(J.)f(Kilian,)i
(and)f(A.)e(Wigderson.)19 b(Multi-pro)o(v)o(er)14 b(in)o(terac-)301
2311 y(tiv)o(e)g(pro)q(ofs:)21 b(Ho)o(w)14 b(to)g(remo)o(v)o(e)f(the)g(in)o
(tractabilit)o(y)j(assumptions.)j(In)14 b Fj(Pr)n(o)n(c.)g(20th)h(A)o(nn.)301
2384 y(A)o(CM)20 b(Symp.)g(on)g(The)n(ory)f(of)g(Computing)p
Fk(,)h(pages)g(113{131,)i(1988.)31 b(A)18 b(m)o(ulti-pro)o(v)o(er)301
2456 y(in)o(teractiv)o(e)e(pro)q(of)i(mo)q(del)f(is)g(prop)q(osed)g(and)g
(its)g(prop)q(erties)g(examined.)0 2570 y([BOGW88])64 b(M.)21
b(Ben-Or,)i(S.)e(Goldw)o(asser,)k(and)d(A.)f(Wigderson.)39
b(Completeness)22 b(theorems)g(for)301 2642 y(non-cryptographic)17
b(fault-toleran)o(t)g(distributed)f(computation.)k(In)15 b
Fj(Pr)n(o)n(c.)g(20th)h(A)o(nn.)951 2828 y Fk(98)p eop
bop 301 195 a Fj(A)o(CM)18 b(Symp.)g(on)h(The)n(ory)e(of)i(Computing)p
Fk(,)e(pages)i(1{10,)f(1988.)26 b(The)17 b(problem)h(is)g(the)301
267 y(same)f(as)f(that)h(in)g([CCD88)q(])f(and)h(the)f(results)h(obtained)g
(are)g(similar.)0 379 y([BOL89])122 b(M.)19 b(Ben-Or)g(and)h(N.)e(Linial.)33
b(Collectiv)o(e)20 b(coin)g(\015ipping.)32 b(In)19 b(S.)g(Micali,)i(editor,)f
Fj(A)n(d-)301 451 y(vanc)n(es)f(in)f(Computing)g(R)n(ese)n(ar)n(ch)f(5:)22
b(R)n(andomness)c(and)g(Computation)p Fk(,)e(Green)o(wic)o(h,)301
523 y(CT,)h(1989.)i(JAI)d(Press.)24 b(Ben-Or)16 b(and)i(Linial)i(consider)d
(the)g(problem)h(of)f(obtaining)j(a)301 596 y(distributed)f(coin)f(toss,)g
(where)f(eac)o(h)g(no)q(de)h(is)g(initially)i(assigned)f(either)f(a)f(head)h
(or)g(a)301 668 y(tail.)d(The)f(outcome)f(of)h(the)f(distributed)i(coin)g
(toss)f(should)h(not)f(b)q(e)g(a\013ected)g(b)o(y)f(bias)i(at)301
740 y(individual)h(no)q(des.)d(T)l(o)g(exclude)f(the)g(ob)o(vious)i(trivial)h
(solution)f(where)f(eac)o(h)f(non-fault)o(y)301 812 y(no)q(de)k(pic)o(ks)g(a)
f(predetermined)g(v)m(alue,)h(it)f(is)h(required)g(that)f(if)h(ev)o(ery)e(no)
q(de)i(c)o(hanges)f(its)301 885 y(initial)25 b(v)m(alue,)e(the)f(result)g(of)
g(the)f(distributed)j(coin)e(toss)h(should)g(also)g(c)o(hange.)e(An)301
957 y(e\016cien)o(t)16 b(solution)k(is)e(obtained)g(under)f(the)g(assumption)
h(that)g(unfair)g(\(fault)o(y\))f(no)q(des)301 1029 y(ha)o(v)o(e)f(complete)g
(kno)o(wledge)h(of)f(actions)i(tak)o(en)d(b)o(y)h(all)i(no)q(des.)0
1141 y([Bop89])139 b(R.)16 b(B.)e(Boppana.)21 b(Ampli\014cation)d(of)e
(probabilistic)i(b)q(o)q(olean)g(form)o(ulas.)j(In)16 b(S.)f(Micali,)301
1213 y(editor,)23 b Fj(A)n(dvanc)n(es)f(in)h(Computing)f(R)n(ese)n(ar)n(ch)e
(5:)32 b(R)n(andomness)21 b(and)h(Computation)p Fk(,)301 1285
y(pages)17 b(27{45,)h(Green)o(wic)o(h,)d(CT,)h(1989.)h(JAI)e(Press.)21
b(V)l(alian)o(t's)c([V)l(al84a)q(])e(algorithm)j(is)301 1357
y(sho)o(wn)d(to)f(b)q(e)f(the)h(b)q(est)g(p)q(ossible.)h(Also,)f(an)g
Fh(O)q Fk(\()p Fh(k)1215 1339 y Fl(4)p Ff(:)p Fl(3)1263 1357
y Fh(n)8 b Fk(log)j Fh(n)p Fk(\))j(algorithm)h(for)f(computing)301
1430 y(the)i Fh(k)r Fk(th)h(threshold)g(function)g(of)g Fh(n)f
Fk(v)m(ariables)i(is)f(giv)o(en.)0 1541 y([BP92])157 b(M.)15
b(Bellare)h(and)g(E.)g(P)o(etrank.)j(Making)e(zero-kno)o(wledge)f(pro)o(v)o
(ers)f(e\016cien)o(t.)k(In)c Fj(Pr)n(o)n(c.)301 1614 y(24th)24
b(A)o(nn.)g(A)o(CM)f(Symp.)g(on)h(The)n(ory)e(of)h(Computing)p
Fk(,)i(pages)f(711{722,)i(Victoria,)301 1686 y(B.C.,)14 b(Canada,)i(Ma)o(y)e
(1992.)20 b(They)14 b(pro)o(v)o(e)g(that)h(if)g(a)g(language)i(p)q(ossesses)f
(a)f(statistical)301 1758 y(zero-kno)o(wledge)i(pro)q(of)h(then)f(it)g(also)h
(p)q(ossesses)g(a)f(statistical)i(zero-kno)o(wledge)e(pro)q(of)301
1830 y(in)h(whic)o(h)f(the)g(pro)o(v)o(er)f(runs)h(in)g(probabilisti)q(c)i(p)
q(olynomial)h(time)d(with)g(an)h Fj(NP)f Fk(oracle.)301 1902
y(Previously)l(,)g(this)f(w)o(as)g(only)g(kno)o(wn)f(giv)o(en)h(the)f
(existence)f(of)i(one-w)o(a)o(y)f(p)q(erm)o(utations.)0 2014
y([BR88])154 b(M.)14 b(Blum)f(and)i(P)l(.)e(Ragha)o(v)m(an.)19
b(Program)c(correctness:)20 b(Can)14 b(one)g(test)g(for)g(it?)26
b(T)l(ec)o(hni-)301 2086 y(cal)13 b(Rep)q(ort)f(R)o(C)g(14038)i(\(#62902\),)f
(IBM)e(T.J.)g(W)l(atson)i(Researc)o(h)f(Cen)o(ter,)f(Septem)o(b)q(er)301
2159 y(1988.)24 b(They)17 b(presen)o(t)f(\\program)i(c)o(hec)o(k)o(ers")d
(for)i(a)g(n)o(um)o(b)q(er)f(of)h(in)o(teresting)g(problems)301
2231 y(based)g(on)g(in)o(teractiv)o(e)f(pro)q(ofs.)0 2342 y([BR89a])130
b(L.)27 b(Babai)g(and)g(L.)g(R\023)-24 b(on)o(y)o(ai.)52 b(Computing)27
b(irreducible)h(represen)o(tations)f(of)g(\014nite)301 2415
y(groups.)36 b(In)21 b Fj(Pr)n(o)n(c.)f(30th)i(A)o(nn.)g(IEEE)f(Symp.)h(on)g
(F)l(oundations)g(of)f(Computer)h(Sci-)301 2487 y(enc)n(e)p
Fk(,)h(pages)e(93{98,)j(Researc)o(h)19 b(T)l(riangle)k(P)o(ark,)e(NC,)f
(Octob)q(er)h(1989.)h(IEEE)e(Com-)301 2559 y(puter)15 b(So)q(ciet)o(y)g
(Press.)k(In)14 b(this)i(pap)q(er,)f(the)f(authors)i(giv)o(e)f(a)g
(randomized)g(\(Las)h(V)l(egas\))301 2631 y(p)q(olynomial)k(time)d(algorithm)
i(for)f(decomp)q(osing)g(a)g(giv)o(en)f(represen)o(tation)h(of)f(a)h
(\014nite)301 2704 y(group)g(o)o(v)o(er)d(an)i(algebraic)h(n)o(um)o(b)q(er)d
(\014eld)i(in)o(to)g(absolutely)h(irreducible)f(constituen)o(ts.)951
2828 y(99)p eop
bop 0 195 a Fk([BR89b])127 b(B.)19 b(Berger)g(and)h(J.)f(Romp)q(el.)31
b(Sim)o(ulating)21 b(\(log)1224 174 y Ff(c)1250 195 y Fh(n)p
Fk(\)-wise)f(indep)q(endence)g(in)g(NC.)30 b(In)301 267 y Fj(Pr)n(o)n(c.)17
b(30th)g(A)o(nn.)h(IEEE)f(Symp.)g(on)h(F)l(oundations)g(of)f(Computer)g
(Scienc)n(e)p Fk(,)h(Researc)o(h)301 340 y(T)l(riangle)d(P)o(ark,)e(NC,)g
(Oct)f(1989.)j(IEEE)e(Computer)g(Science)f(Press.)17 b(A)12
b(general)i(frame-)301 412 y(w)o(ork)21 b(for)g(the)g(derandomization)i(of)e
(randomized)g Fj(NC)g Fk(algorithms)i(whose)f(analysis)301
484 y(uses)e(only)g(p)q(olylogari)q(thmic)i(indep)q(endence)d(is)h(presen)o
(ted.)f(This)h(framew)o(ork)f(allo)o(ws)301 556 y(the)f(deriv)m(ation)h(of)f
Fj(NC)f Fk(algorithms)j(for)d(man)o(y)g(problems)i(that)e(w)o(ere)g(not)h
(previously)301 628 y(kno)o(wn)f(to)f(b)q(e)h(in)g Fj(NC)7
b Fk(.)0 742 y([Bra85])147 b(G.)16 b(Brac)o(ha.)j(An)d Fh(O)q
Fk(\(log)10 b Fh(n)p Fk(\))16 b(exp)q(ected)e(rounds)j(randomized)f(Byzan)o
(tine)f(generals)h(pro-)301 814 y(to)q(col.)e(In)d Fj(Pr)n(o)n(c.)h(17th)g(A)
o(nn.)h(A)o(CM)g(Symp.)f(on)h(The)n(ory)e(of)i(Computing)p
Fk(,)f(pages)g(316{326,)301 887 y(1985.)k(Brac)o(ha)c(sho)o(ws)h(ho)o(w)f(to)
g(partition)i(a)f(set)f(of)g Fh(n)g Fk(sync)o(hronous)h(pro)q(cesses)f(\(of)h
(whic)o(h)301 959 y(at)k(most)g(a)g(third)g(are)g(fault)o(y\))g(in)o(to)g(o)o
(v)o(erlapping)h Fj(gr)n(oups)e Fk(of)h(pro)q(cesses)g(suc)o(h)f(that)h(the)
301 1031 y(n)o(um)o(b)q(er)c(of)h(fault)o(y)g(groups)g(is)g(at)g(most)g(the)f
(square)h(ro)q(ot)g(the)f(total)i(n)o(um)o(b)q(er)e(of)g(groups.)301
1103 y(Ben-Or's)j(algorithm)i(for)f(Byzan)o(tine)f(agreemen)o(t)f(\(see)h
(Section)h(3.5\))g(is)g(then)f(used)h(to)301 1176 y(obtain)h(an)f
Fh(O)q Fk(\(log)11 b Fh(n)p Fk(\))16 b(proto)q(col.)0 1289
y([Bro85])147 b(A.)20 b(Z.)h(Bro)q(der.)35 b(A)20 b(pro)o(v)m(ably)i(secure)e
(p)q(olynomial)k(appro)o(ximation)f(sc)o(heme)c(for)i(the)301
1362 y(distributed)e(lottery)f(problem)g(\(extended)e(abstract\).)26
b(In)17 b Fj(Pr)n(o)n(c.)h(F)l(ourth)g(A)o(nn.)h(A)o(CM)301
1434 y(Symp.)f(on)g(Principles)h(of)e(Distribute)n(d)h(Computing)p
Fk(,)f(pages)g(136{148,)i(1985.)24 b(Rabin's)301 1506 y(classic)14
b(Byzan)o(tine)e(agreemen)o(t)f(algorithm)k([Rab83)q(])c(uses)i(a)g
(coin-toss)h(whose)f(outcome)301 1578 y(is)19 b(a)o(v)m(ailable)h(to)e(all)h
(pro)q(cesses,)f(but)g(whic)o(h)g(cannot)g(b)q(e)g(predicted)f(a)h(priori,)i
(to)e(reac)o(h)301 1650 y(Byzan)o(tine)23 b(agreemen)o(t)e(in)j(constan)o(t)f
(time.)f(Bro)q(der)h(demonstrates)g(a)g(p)q(olynomial-)301
1723 y(time)g(distributed)i(mec)o(hanism)d(to)i(implemen)o(t)e(suc)o(h)h(a)h
(coin)g(toss)f(in)h(a)g(Byzan)o(tine)301 1795 y(en)o(vironmen)o(t.)0
1909 y([Bro86])147 b(A.)19 b(Z.)g(Bro)q(der.)30 b(Ho)o(w)19
b(hard)h(is)g(it)g(to)g(marry)f(at)h(random?)32 b(\(On)19 b(the)g(appro)o
(ximation)301 1981 y(of)i(the)f(p)q(ermanen)o(t\).)32 b(In)19
b Fj(Pr)n(o)n(c.)h(18th)h(A)o(nn.)h(A)o(CM)e(Symp.)h(on)g(The)n(ory)f(of)h
(Comput-)301 2053 y(ing)p Fk(,)26 b(pages)f(50{58,)i(1986.)44
b(This)25 b(pap)q(er)f(pro)o(vides)g(a)g Fj(ful)r(l-p)n(olynomial)i(r)n
(andomize)n(d)301 2125 y(appr)n(oximation)21 b(scheme)h(\(fpr)n(as\))e
Fk(for)h(appro)o(ximating)h(the)e(p)q(ermanen)o(t.)f(Ev)m(aluating)301
2198 y(the)e(p)q(ermanen)o(t)g(of)h(a)g Fh(n)12 b Fg(\002)f
Fh(n)17 b Fk(matrix)h(is)g(equiv)m(alen)o(t)g(to)f(coun)o(ting)i(p)q(erfect)d
(matc)o(hings)301 2270 y(in)i(an)f(asso)q(ciated)i(bipartite)f(graph.)g(The)e
(problem)i(of)f(appro)o(ximately)g(coun)o(ting)h(the)301 2342
y(p)q(erfect)d(matc)o(hings)h(in)g(a)g(graph)g(is)g(reduced)e(to)i(that)g(of)
f(generating)i(them)e(uniformly)l(.)301 2414 y(See)j([JS89)q(])f(for)i(the)f
(de\014nition)i(of)f(fpras)f(and)h(other)g(related)f(material.)h(An)f
(erratum)301 2487 y(can)13 b(b)q(e)g(found)h(in)f Fj(Pr)n(o)n(c.)g(20th)i(A)o
(nn.)g(A)o(CM)e(Symp.)h(on)h(The)n(ory)e(of)h(Computing)t Fk(,)g(1988.\).)0
2600 y([Bro89])147 b(A.)18 b(Z.)f(Bro)q(der.)28 b(Generating)19
b(random)g(spanning)h(trees.)27 b(In)18 b Fj(Pr)n(o)n(c.)g(30th)h(A)o(nn.)h
(IEEE)301 2672 y(Symp.)g(on)f(F)l(oundations)h(of)g(Computer)f(Scienc)n(e)p
Fk(,)h(pages)g(442{453,)h(Oct)d(1989.)29 b(This)938 2828 y(100)p
eop
bop 301 195 a Fk(pap)q(er)18 b(solv)o(es)g(the)f(problem)h(of)f(generating)i
(a)e(spanning)j(tree)c(of)i(a)f(connected,)g(undi-)301 267
y(rected)d(graph)i Fh(G)f Fk(whic)o(h)g(as)h(the)e(follo)o(wing)k(sp)q(ecial)
e(prop)q(ert)o(y:)21 b(it)15 b(is)g(c)o(hosen)g(uniformly)301
340 y(at)j(random)h(from)e(all)i(p)q(ossible)h(spanning)g(trees)d(of)h
Fh(G)p Fk(.)g(The)g(exp)q(ected)e(running)j(time)301 412 y(of)i(the)e
(probabilisti)q(c)j(algorithm)g(is)e Fh(O)q Fk(\()p Fh(n)8
b Fk(log)k Fh(n)p Fk(\))20 b(p)q(er)g(generated)f(tree)g(for)i(almost)g(all)
301 484 y(graphs.)c(It)f(can)h(b)q(e)f Fh(O)q Fk(\()p Fh(n)767
466 y Fl(3)787 484 y Fk(\))h(p)q(er)f(generated)g(tree)g(in)h(the)f(w)o(orst)
g(case.)0 596 y([BRS91a])103 b(R.)22 b(Beigel,)h(N.)e(Reingold,)j(and)f(D.)e
(Spielman.)39 b(PP)22 b(is)h(closed)f(under)g(in)o(tersection.)301
668 y(In)g Fj(Pr)n(o)n(c.)f(23r)n(d)g(A)o(nn.)i(A)o(CM)f(Symp.)g(on)h(The)n
(ory)e(of)h(Computing)p Fk(,)h(pages)g(1{9,)h(New)301 740 y(Orleans,)17
b(LA,)f(Ma)o(y)g(1991.)23 b(The)17 b(randomized)g(complexit)o(y)f(class)h
Fj(PP)g Fk(is)g(sho)o(wn)g(to)g(b)q(e)301 812 y(closed)g(under)f(in)o
(tersection)h(and)g(union.)0 924 y([BRS91b])100 b(A.)17 b(Blum,)h(P)l(.)g
(Ragha)o(v)m(an,)h(and)f(B.)f(Sc)o(hieb)q(er.)26 b(Na)o(vigating)20
b(in)e(unfamiliar)i(geometric)301 996 y(terrain.)g(In)15 b
Fj(Pr)n(o)n(c.)g(23r)n(d)f(A)o(nn.)j(A)o(CM)f(Symp.)g(on)g(The)n(ory)f(of)h
(Computing)p Fk(,)g(pages)f(494{)301 1068 y(504,)i(New)f(Orleans,)g(LA,)g(Ma)
o(y)f(1991.)23 b(They)16 b(consider)g(the)g(problem)h(of)f(a)g(rob)q(ot)i
(that)301 1141 y(has)f(to)f(tra)o(v)o(el)g(from)g(a)g(start)h(lo)q(cation)h
(to)f(a)f(target)g(in)h(an)g(en)o(vironmen)o(t)e(with)i(opaque)301
1213 y(obstacles)25 b(that)g(lie)f(in)g(its)h(w)o(a)o(y)l(.)e(The)h(rob)q(ot)
h(alw)o(a)o(ys)f(kno)o(ws)g(its)h(curren)o(t)e(absolute)301
1285 y(p)q(osition)d(and)d(that)g(of)g(the)g(target.)g(It)f(do)q(es)h(not,)g
(ho)o(w)o(ev)o(er,)e(kno)o(w)i(the)g(p)q(ositions)i(and)301
1357 y(exten)o(ts)11 b(of)h(the)g(obstacles)h(in)g(adv)m(ance;)g(it)f
(\014nds)h(out)f(ab)q(out)h(obstacles)h(as)e(it)g(encoun)o(ters)301
1430 y(them.)20 b(They)h(presen)o(t)f(an)h(optimal)i(randomized)e(algorithm)i
(for)e(scenes)f(con)o(taining)301 1502 y(arbitrary)e(p)q(olygonal)h
(obstacles.)0 1614 y([BS83])163 b(G.)18 b(N.)e(Buc)o(kley)g(and)i(A.)e(Silb)q
(ersc)o(hatz.)25 b(An)17 b(e\013ectiv)o(e)g(implemen)o(tation)h(for)g(the)f
(gen-)301 1686 y(eralized)j(input-output)g(construct)f(of)g(CSP.)29
b Fj(A)o(CM)19 b(T)l(r)n(ans.)g(on)h(Pr)n(o)n(gr)n(amming)e(L)n(an-)301
1758 y(guages)f(and)e(Systems)p Fk(,)f(5\(2\),)h(1983.)j(They)c(presen)o(t)f
(a)h(distributed)h(algorithm)h(for)d(CSP)301 1830 y(output)23
b(guards)f(based)h(on)f(priorit)o(y)g(ordering)h(of)f(pro)q(cesses.)g(Their)g
(algorithm)h(has)301 1902 y(the)c(prop)q(ert)o(y)g(that)h(t)o(w)o(o)f(pro)q
(cesses)g(that)h(can)f(comm)o(unicate)f(and)i(do)g(not)f(establish)301
1975 y(comm)o(unication)c(with)g(a)f(third)h(pro)q(cess)f(will)i(comm)o
(unicate)d(within)j(a)e(b)q(ounded)h(time.)0 2086 y([BT93])155
b(J.-D.)22 b(Boissonnat)i(and)f(M.)e(T)l(eillaud.)41 b(On)22
b(the)g(randomized)h(construction)g(of)f(the)301 2159 y(Delauna)o(y)c(tree.)k
Fj(The)n(or)n(etic)n(al)c(Computer)g(Scienc)n(e)p Fk(,)g(112:339{354)q(,)h
(1993.)25 b(An)16 b(on-line)301 2231 y(randomized)23 b(algorithm)g(whic)o(h)f
(computes)g(Delauna)o(y)g(triangulatio)q(n)i(and)f(V)l(oronoi)301
2303 y(diagrams)e(of)e(p)q(oin)o(ts)h(in)f(an)o(y)f(n)o(um)o(b)q(er)g(of)h
(dimensions)h(is)g(giv)o(en.)e(The)g(complexit)o(y)h(of)301
2375 y(the)i(algorithm)h(is)g(optimal)g(pro)o(vided)f(that)g(the)f(p)q(oin)o
(ts)i(are)e(inserted)h(in)g(a)g(random)301 2447 y(order.)0
2559 y([BV93])153 b(E.)26 b(Bernstein,)j(,)f(and)f(U.)e(V)l(azirani.)52
b(Quan)o(tum)26 b(complexit)o(y)g(theory)l(.)51 b(In)26 b Fj(Pr)n(o)n(c.)301
2631 y(25th)e(A)o(nn.)g(A)o(CM)e(Symp.)h(on)h(The)n(ory)e(of)h(Computing)p
Fk(,)i(pages)e(11{20,)j(San)d(Diego,)301 2704 y(CA,)i(Ma)o(y)g(1993.)49
b(A)24 b Fj(quantum)j(T)l(uring)f(Machine)p Fk(,)i(as)e(originally)i(form)o
(ulated)e(b)o(y)938 2828 y(101)p eop
bop 301 195 a Fk(Deutsc)o(h)23 b([Deu85],)h(ma)o(y)e(b)q(e)h(though)o(t)h(of)
f(as)h(a)f(quan)o(tum)g(ph)o(ysical)h(analogue)g(of)g(a)301
267 y(probabilisti)q(c)g(T)l(uring)e(Mac)o(hine:)30 b(it)22
b(has)g(an)f(in\014nite)h(tap)q(e,)h(a)e(\014nite)g(state)h(con)o(trol,)301
340 y(and,)d(in)g(its)g(most)f(general)h(form,)f(pro)q(duces)h(a)f(random)h
(sample)f(from)g(a)h(probabilit)o(y)301 412 y(distribution)f(on)d(an)o(y)g
(giv)o(en)f(input.)i(Bernstein)e(and)h(V)l(azirani)h(pro)o(v)o(e)e(the)h
(existence)f(of)301 484 y(a)h Fj(universal)g Fk(quan)o(tum)e(T)l(uring)i(Mac)
o(hine,)f(whose)g(sim)o(ulation)i(o)o(v)o(erhead)d(is)i(p)q(olynomi-)301
556 y(ally)f(b)q(ounded.)e(They)g(also)i(presen)o(t)e(the)g(\014rst)g
(evidence)g(that)g(quan)o(tum)g(TMs)g(migh)o(t)h(b)q(e)301
628 y(more)19 b(p)q(o)o(w)o(erful)g(than)h(classical)h(probabilistic)h(TMs.)d
(Sp)q(eci\014cally)l(,)h(they)f(pro)o(v)o(e)f(that)301 701
y(there)g(is)h(an)g(oracle)g(relativ)o(e)g(to)g(whic)o(h)g(there)e(is)j(a)e
(language)j(that)e(can)f(b)q(e)h(accepted)301 773 y(in)d(p)q(olynomial)i
(time)d(b)o(y)g(a)g(quan)o(tum)g(TM)g(but)g(cannot)h(b)q(e)f(accepted)g(in)g
Fh(n)1720 755 y Ff(o)p Fl(\(log)6 b Ff(n)p Fl(\))1855 773 y
Fk(time)301 845 y(b)o(y)16 b(a)h(b)q(ounded-error)g(probabilisti)q(c)i(TM.)0
959 y([Car12])147 b(R.)21 b(D.)f(Carmic)o(hael.)36 b(On)21
b(comp)q(osite)g(n)o(um)o(b)q(ers)g Fh(p)g Fk(whic)o(h)g(satisfy)h(the)e(F)l
(ermat)h(con-)301 1031 y(gruence)j Fh(a)514 1013 y Ff(p)p Fd(\000)p
Fl(1)604 1031 y Fg(\021)i Fh(p)p Fk(.)44 b Fj(A)o(meric)n(an)24
b(Mathematic)n(al)g(Monthly)p Fk(,)h(19:22{27,)i(1912.)45 b(Let)301
1103 y Fh(n)38 b Fk(=)g(\005)481 1085 y Ff(i)p Fl(=)p Ff(m)481
1116 y(i)p Fl(=1)553 1103 y Fh(p)577 1081 y Ff(\027)594 1086
y Fe(i)577 1115 y Ff(i)640 1103 y Fk(b)q(e)30 b(the)g(unique)h(prime)f
(factorization)i(of)f Fh(n)p Fk(,)i(and)e(let)f Fh(\025)p Fk(\()p
Fh(n)p Fk(\))38 b(=)301 1176 y(lcm)p Fg(f)p Fh(p)426 1154 y
Ff(\027)443 1159 y Fb(1)461 1154 y Fd(\000)p Fl(1)426 1186
y(1)508 1176 y Fk(\()p Fh(p)551 1183 y Fl(1)583 1176 y Fg(\000)10
b Fk(1\))p Fh(;)e Fk(.)g(.)g(.)g Fh(;)g(p)809 1158 y Ff(\027)826
1162 y Fe(m)856 1158 y Fd(\000)p Fl(1)809 1188 y Ff(m)903 1176
y Fk(\()p Fh(p)946 1183 y Ff(m)991 1176 y Fg(\000)j Fk(1\))p
Fg(g)p Fk(.)16 b(Carmic)o(hael)h(sho)o(ws)g(that)f Fh(n)h Fk(satis\014es)g(F)
l(er-)301 1248 y(mat's)f(congruence)g(if)h(and)g(only)g(if)g
Fh(\025)p Fk(\()p Fh(n)p Fk(\))g(divides)g(\()p Fh(n)11 b Fg(\000)g
Fk(1\).)0 1362 y([CC85])155 b(B.)20 b(Chor)h(and)h(B.)d(Coan.)36
b(A)20 b(simple)i(and)f(e\016cien)o(t)e(randomized)j(Byzan)o(tine)e(agree-)
301 1434 y(men)o(t)i(algorithm.)43 b Fj(IEEE)23 b(T)l(r)n(ans.)g(on)h
(Softwar)n(e)g(Engine)n(ering)p Fk(,)i(SE-11\(6\):531{539,)301
1506 y(June)19 b(1985.)28 b(Chor)19 b(and)g(Coan)g(presen)o(t)f(a)h
(randomized)g(algorithm)h(for)e(sync)o(hronous)301 1578 y(Byzan)o(tine)d
(agreemen)o(t)g(when)g Fh(n)f Fg(\025)f Fk(3)p Fh(t)d Fk(+)f(1,)15
b(where)g Fh(n)g Fk(is)i(the)e(total)h(n)o(um)o(b)q(er)f(of)g(pro)q(ces-)301
1650 y(sors)k(and)f Fh(t)g Fk(is)g(the)g(n)o(um)o(b)q(er)f(of)h(fault)o(y)g
(pro)q(cessors.)g(Their)h(algorithm)h(reac)o(hes)d(agree-)301
1723 y(men)o(t)e(in)h Fh(O)q Fk(\()p Fh(t=)8 b Fk(log)j Fh(n)p
Fk(\))k(exp)q(ected)f(rounds)j(and)e Fh(O)q Fk(\()p Fh(n)1263
1705 y Fl(2)1284 1723 y Fh(t=)8 b Fk(log)i Fh(n)p Fk(\))16
b(exp)q(ected)e(message)i(bits,)301 1795 y(indep)q(enden)o(tly)h(of)g(the)f
(distribution)i(of)f(pro)q(cessor)g(failures.)0 1909 y([CCD88])118
b(D.)19 b(Chaum,)g(C.)f(Cr)o(\023)-23 b(ep)q(eau,)19 b(and)h(I.)d(Damg\177)
-24 b(ard.)30 b(Multipart)o(y)19 b(unconditionally)j(secure)301
1981 y(proto)q(cols.)c(In)13 b Fj(Pr)n(o)n(c.)g(20th)h(A)o(nn.)h(A)o(CM)f
(Symp.)g(on)g(The)n(ory)f(of)i(Computing)p Fk(,)e(pages)h(11{)301
2053 y(19,)20 b(1988.)28 b(Assuming)19 b(the)f(existence)g(of)h(authen)o
(ticated)f(secrecy)f(c)o(hannels)i(b)q(et)o(w)o(een)301 2125
y(eac)o(h)f(pair)g(of)g(participan)o(ts)h(\()p Fh(P)892 2132
y Ff(i)907 2125 y Fk(s\),)f(this)g(pap)q(er)g(sho)o(ws)h(that)f(if)g(at)g
(least)h(2)p Fh(n=)p Fk(3)g Fh(P)1834 2132 y Ff(i)1848 2125
y Fk(s)f(are)301 2198 y(honest)f(then)f(a)h(function)g Fh(f)5
b Fk(\()p Fh(x)875 2205 y Fl(1)895 2198 y Fh(;)j(x)945 2205
y Fl(2)964 2198 y Fh(;)g Fk(.)g(.)g(.)f Fh(x)1079 2205 y Ff(n)1102
2198 y Fk(\),)16 b(where)g Fh(x)1320 2205 y Ff(i)1350 2198
y Fk(is)h(kno)o(wn)g(only)g(to)f Fh(P)1751 2205 y Ff(i)1782
2198 y Fk(for)h(eac)o(h)301 2270 y Fh(i)p Fk(,)f(can)g(b)q(e)h(computed)f
(without)h(an)o(y)f Fh(P)1033 2277 y Ff(i)1064 2270 y Fk(rev)o(ealing)h(its)g
(information.)0 2384 y([CCT91])120 b(K.)13 b(L.)g(Clarkson,)h(R.)f(Cole,)h
(and)f(R.)g(E.)f(T)l(arjan.)17 b(Randomized)d(parallel)h(algorithms)g(for)301
2456 y(trap)q(ezoidal)20 b(diagrams.)27 b(In)17 b Fj(Pr)n(o)n(c.)h(Seventh)j
(A)o(nn.)e(A)o(CM)f(Symp.)g(on)h(Computational)301 2528 y(Ge)n(ometry)p
Fk(,)25 b(pages)f(152{161,)k(North)23 b(Con)o(w)o(a)o(y)l(,)i(NH,)e(June)g
(1991.)45 b(Describ)q(es)24 b(ran-)301 2600 y(domized)16 b(parallel)i(CREW)e
(PRAM)e(algorithms)k(for)e(building)i(trap)q(ezoidal)f(diagrams)301
2672 y(of)k(line)g(segmen)o(ts)f(in)h(the)e(plane.)i(F)l(or)f(general)h
(segmen)o(ts,)g(they)e(giv)o(e)h(an)h(algorithm)938 2828 y(102)p
eop
bop 301 195 a Fk(requiring)22 b(optimal)g Fh(O)q Fk(\()p Fh(A)13
b Fk(+)h Fh(n)8 b Fk(log)j Fh(n)p Fk(\))20 b(exp)q(ected)f(w)o(ork)i(and)g
(optimal)g Fh(O)q Fk(\(log)11 b Fh(n)p Fk(\))21 b(time,)301
267 y(where)16 b Fh(A)g Fk(is)h(the)f(n)o(um)o(b)q(er)g(of)g(in)o(tersecting)
h(pairs)g(of)g(segmen)o(ts.)0 379 y([CD89])153 b(B.)15 b(Chor)h(and)g(C.)f
(Dw)o(ork.)21 b(Randomization)c(in)f(Byzan)o(tine)f(agreemen)o(t.)k(In)c
Fj(A)n(dvanc)n(es)301 451 y(in)h(Computing)g(R)n(ese)n(ar)n(ch)d(5:)21
b(R)n(andomness)15 b(and)g(Computation)p Fk(,)f(pages)h(443{497.)h(JAI)301
523 y(Press,)21 b(1989.)35 b(A)20 b(useful)g(surv)o(ey)g(of)g(the)g(m)o
(yriad)g(of)h(randomized)g(distributed)g(algo-)301 596 y(rithms)c(for)g
(Byzan)o(tine)e(agreemen)o(t.)0 707 y([CDRS90])90 b(D.)24 b(Copp)q(ersmith,)h
(P)l(.)e(Do)o(yle,)i(P)l(.)e(Ragha)o(v)m(an,)j(and)e(M.)f(Snir.)43
b(Random)23 b(w)o(alks)i(on)301 780 y(w)o(eigh)o(ted)16 b(graphs)i(and)e
(applications)j(to)e(on-line)h(algorithms)g(\(preliminary)f(v)o(ersion\).)301
852 y(In)23 b Fj(Pr)n(o)n(c.)f(22nd)h(A)o(nn.)h(A)o(CM)f(Symp.)g(on)g(The)n
(ory)f(of)h(Computing)p Fk(,)h(pages)g(369{378,)301 924 y(Baltimore,)g(MD,)e
(Ma)o(y)g(1990.)40 b(They)22 b(sho)o(w)h(that)g(the)f(problem)h(of)f
(designing)i(and)301 996 y(analyzing)19 b(randomized)f(on-line)h(algorithms)g
(is)f(closely)g(related)g(to)f(the)g(syn)o(thesis)h(of)301
1068 y(random)f(w)o(alks)g(on)g(graphs)g(with)h(p)q(ositiv)o(e)f(real)g
(costs)g(on)f(their)h(edges.)0 1180 y([CF86])158 b(J.)23 b(D.)f(Cohen)h(and)h
(M.)d(J.)i(Fisc)o(her.)40 b(A)22 b(robust)h(and)h(v)o(eri\014able)f
(cryptographically)301 1252 y(secure)d(election)g(sc)o(heme.)32
b(In)19 b Fj(Pr)n(o)n(c.)h(27th)h(A)o(nn.)h(IEEE)f(Symp.)f(on)i(F)l
(oundations)f(of)301 1325 y(Computer)j(Scienc)n(e)p Fk(,)j(pages)e(372{381,)i
(1986.)45 b(A)23 b(cryptographic)h(election)g(sc)o(heme)301
1397 y(and)18 b(an)g(IP)g(pro)q(of)g(for)g(con)o(vincing)g(participan)o(ts)h
(of)f(the)f(correctness)g(of)h(the)f(election)301 1469 y(pro)q(cedure.)0
1581 y([CF90])158 b(B.)18 b(Chazelle)h(and)g(J.)e(F)l(riedman.)28
b(A)18 b(deterministic)g(view)h(of)f(random)h(sampling)h(and)301
1653 y(its)i(use)e(in)i(geometry)l(.)33 b Fj(Combinatoric)n(a)p
Fk(,)21 b(10\(3\):229{249,)k(1990.)35 b(Using)22 b(tec)o(hniques)301
1725 y(due)d(to)h(Lo)o(v\023)-24 b(asz)19 b(and)h(Sp)q(encer,)f(the)g
(authors)h(presen)o(t)f(a)g(uni\014ed)h(framew)o(ork)f(for)g(de-)301
1797 y(randomizing)d(probabilistic)g(algorithms)g(that)d(resort)h(to)g(rep)q
(eated)f(random)h(sampling)301 1870 y(o)o(v)o(er)j(a)h(\014xed)f(domain.)h
(In)g(the)f(pro)q(cess,)h(they)f(establish)i(results)g(of)e(indep)q(enden)o
(t)h(in-)301 1942 y(terest)e(concerning)h(the)e(co)o(v)o(ering)h(of)g(h)o(yp)
q(ergraphs.)h(Sp)q(eci\014cally)l(,)g(via)f(a)h(mo)q(di\014cation)301
2014 y(of)d(Lo)o(v\023)-24 b(asz's)14 b Fj(gr)n(e)n(e)n(dy)f(c)n(over)i
(algorithm)t Fk(,)f(they)f(giv)o(e)g(an)h(algorithm)h(that,)f(giv)o(en)f(a)h
(h)o(yp)q(er-)301 2086 y(graph)k(with)g Fh(n)f Fk(v)o(ertices)f(and)h
Fh(m)g Fk(edges,)f(eac)o(h)g(of)h(size)g Fg(\025)e Fh(\013n)p
Fk(,)i(computes)g(an)g Fh(r)q Fk(-sample)301 2159 y(that)23
b(in)o(tersects)e(ev)o(ery)f(edge)i Fh(e)f Fk(of)h(the)g(h)o(yp)q(ergraph)g
(in)g(\012\()p Fg(j)p Fh(e)p Fg(j)p Fh(r)q(=n)p Fk(\))h(v)o(ertices,)e(where)
301 2231 y Fh(r)i Fk(=)f Fh(O)q Fk(\(\(log)11 b Fh(n)j Fk(+)g(log)c
Fh(m)p Fk(\))p Fh(=\013)p Fk(\).)21 b(This)h(impro)o(v)o(es)e(up)q(on)i(Lo)o
(v\023)-24 b(asz's)21 b(algorithm)i(in)f(terms)301 2303 y(of)f(the)g(n)o(um)o
(b)q(er)f(of)h(co)o(v)o(ered)e(v)o(ertices.)h(The)h(to)q(ols)h(they)f(use)f
(for)h(computing)h(co)o(v)o(ers)301 2375 y(\\are)15 b(p)q(o)o(w)o(erful)g
(enough)g(to)g(derandomize)g(just)f(ab)q(out)i(ev)o(ery)d(probabilistic)k
(algorithm)301 2447 y(prop)q(osed)h(in)f(computational)h(geometry".)0
2559 y([CFLS93])101 b(A.)15 b(Condon,)i(J.)e(F)l(eigen)o(baum,)g(C.)h(Lund,)g
(and)g(P)l(.)f(Shor.)21 b(Probabilistical)q(ly)e(c)o(hec)o(k)m(able)301
2631 y(debate)14 b(systems)f(and)i(appro)o(ximation)g(algorithms)h(for)e(PSP)
l(A)o(CE-hard)g(functions.)k(In)301 2704 y Fj(Pr)n(o)n(c.)i(25th)h(A)o(nn.)h
(A)o(CM)f(Symp.)g(on)g(The)n(ory)f(of)h(Computing)p Fk(,)h(pages)f(305{314,)i
(San)938 2828 y(103)p eop
bop 301 195 a Fk(Diego,)14 b(CA,)e(Ma)o(y)f(1993.)17 b(A)11
b Fj(pr)n(ob)n(abilistic)n(al)r(ly)k(che)n(ckable)h(deb)n(ate)e(system)e
Fk(\(PCDS\))h(for)g(a)301 267 y(language)k Fh(L)e Fk(consists)h(of)f(a)g
(probabilisti)q(c)i(p)q(olynomial-ti)q(me)g(v)o(eri\014er)d
Fh(V)26 b Fk(and)15 b(a)g(debate)301 340 y(b)q(et)o(w)o(een)d(pla)o(y)o(er)h
(1,)g(who)h(claims)f(that)h(the)e(input)i Fh(x)e Fk(is)i(in)f
Fh(L)p Fk(,)g(and)h(pla)o(y)o(er)e(0,)h(who)h(claims)301 412
y(that)20 b(the)g(input)g Fh(x)f Fk(is)h(not)g(in)g Fh(L)p
Fk(.)g(The)f(authors)i(sho)o(w)f(that)g(there)f(is)h(a)g(PCDS)g(for)g
Fh(L)301 484 y Fk(in)f(whic)o(h)g Fh(V)29 b Fk(\015ips)20 b
Fh(O)q Fk(\(log)11 b Fh(n)p Fk(\))18 b(random)h(coins)g(and)g(reads)g
Fh(O)q Fk(\(1\))g(bits)g(of)g(debate)f(if)g(and)301 556 y(only)k(if)f
Fh(L)g Fk(is)g(in)g Fj(PSP)l(A)o(CE)6 b Fk(.)21 b(This)h(c)o(haracterization)
f(of)g Fj(PSP)l(A)o(CE)g Fk(is)h(used)e(to)h(sho)o(w)301 628
y(that)d(certain)g Fj(PSP)l(A)o(CE)6 b Fk(-hard)18 b(functions)g(are)g(as)f
(hard)h(to)g(appro)o(ximate)f(as)h(they)f(are)301 701 y(to)g(compute)f
(exactly)l(.)0 814 y([CG88])152 b(B.)19 b(Chor)h(and)g(O.)f(Goldreic)o(h.)32
b(Un)o(biased)20 b(bits)g(from)f(sources)h(of)g(w)o(eak)f(randomness)301
887 y(and)i(probabilisti)q(c)h(comm)o(unication)f(complexit)o(y)l(.)33
b Fj(SIAM)21 b(Journal)g(on)g(Computing)p Fk(,)301 959 y(17:230{261,)c(1988.)
h(Giv)o(en)c(sources)f(of)h(stings)h(in)f(whic)o(h)g(no)g(string)h(is)f(\\to)
q(o)h(probable",)301 1031 y(a)i(metho)q(d)g(of)f(extracting)h(almost)g(un)o
(biased)g(random)g(bits)g(is)g(presen)o(ted.)0 1145 y([CG90])152
b(R.)18 b(Canetti)i(and)f(O.)f(Goldreic)o(h.)29 b(Bounds)19
b(on)h(tradeo\013s)f(b)q(et)o(w)o(een)f(randomness)h(and)301
1217 y(comm)o(unication)g(complexit)o(y)l(.)26 b(In)18 b Fj(Pr)n(o)n(c.)g
(31st)h(A)o(nn.)g(IEEE)g(Symp.)g(on)g(F)l(oundations)301 1289
y(of)h(Computer)g(Scienc)n(e)p Fk(,)i(pages)e(766{775,)i(1990.)32
b(Instead)19 b(of)h(considering)h(the)e(qual-)301 1362 y(itativ)o(e)j
(question,)i(Is)d(an)h(algorithm)h(deterministic)g(or)f(randomized?,)h(the)e
(authors)301 1434 y(try)c(to)h(determine,)e(quan)o(titativ)o(ely)l(,)h(ho)o
(w)h(m)o(uc)o(h)d(randomization)20 b(do)q(es)e(an)f(algorithm)301
1506 y(use.)e(Tigh)o(t)g(lo)o(w)o(er)g(b)q(ounds)h(on)f(the)f(length)i(of)e
(the)h(random)g(input)g(of)g(parties)h(comput-)301 1578 y(ing)k(a)e(function)
h Fh(f)k Fk(|)18 b(dep)q(ending)i(on)e(the)g(n)o(um)o(b)q(er)f(of)i(bits)g
(comm)o(unicated)f(and)g(the)301 1650 y(deterministic)f(complexit)o(y)f(of)h
Fh(f)k Fk(|)16 b(are)h(deriv)o(ed.)0 1764 y([CGMA85])70 b(B.)12
b(Chor,)i(S.)e(Goldw)o(asser,)j(S.)d(Micali,)i(and)g(B.)d(Au)o(w)o(erbuc)o
(h.)j(V)l(eri\014able)f(secret)f(sharing)301 1836 y(and)k(ac)o(hieving)f(sim)
o(ultaneit)o(y)g(in)g(the)g(presence)e(of)i(faults.)20 b(In)14
b Fj(Pr)n(o)n(c.)h(26th)h(A)o(nn.)g(IEEE)301 1909 y(Symp.)i(on)g(F)l
(oundations)g(of)f(Computer)h(Scienc)n(e)p Fk(,)g(pages)f(383{395,)i(1985.)k
(The)16 b(prob-)301 1981 y(lems)21 b(of)f(v)o(eri\014able)h(secret-sharing)g
(and)g(sim)o(ultaneous)h(broadcast)g(are)e(in)o(tro)q(duced.)301
2053 y(Man)o(y)14 b(problems)g(suc)o(h)f(as)i(distributed)g(coin)f
(\015ipping)h(can)f(b)q(e)g(reduced)f(to)h(these)f(prob-)301
2125 y(lems.)0 2239 y([CH89])153 b(J.)12 b(Cheriy)o(an)g(and)h(T.)f(Hagerup.)
i(A)e(randomized)g(maxim)o(um-\015o)o(w)g(algorithm.)k(In)c
Fj(Pr)n(o)n(c.)301 2311 y(30th)18 b(A)o(nn.)g(IEEE)f(Symp.)g(on)h(F)l
(oundations)g(of)f(Computer)g(Scienc)n(e)p Fk(,)h(pages)f(118{123,)301
2384 y(Researc)o(h)12 b(T)l(riangle)i(P)o(ark,)f(NC,)f(Octob)q(er)g(1989.)i
(IEEE)e(Computer)h(So)q(ciet)o(y)f(Press.)j(An)301 2456 y(e\016cien)o(t)f
(randomized)i(algorithm)h(for)e(computing)h(the)f(maxim)o(um)f(\015o)o(w)i
(in)f(a)h(net)o(w)o(ork)301 2528 y(is)d(presen)o(ted.)e(F)l(or)h(a)h(net)o(w)
o(ork)e(with)i Fh(n)f Fk(v)o(ertices)f(and)i Fh(m)f Fk(directed)g(edges,)g
(the)g(algorithm)301 2600 y(runs)h(in)h(exp)q(ected)d(time)h
Fh(O)q Fk(\()p Fh(nm)s Fk(+)s Fh(n)968 2582 y Fl(2)990 2600
y Fk(\(log)e Fh(n)p Fk(\))1128 2582 y Fl(3)1148 2600 y Fk(\).)i(The)g
(running)i(time)e(is)i(actually)g Fh(O)q Fk(\()p Fh(nm)p Fk(\))301
2672 y(for)k(all)g(except)e(relativ)o(ely)i(sparse)f(net)o(w)o(orks.)g(This)h
(impro)o(v)o(es)e(up)q(on)j(the)d(b)q(est)i(kno)o(wn)938 2828
y(104)p eop
bop 301 195 a Fk(deterministic)19 b(solution)i(whic)o(h)e(requires)f
Fh(O)q Fk(\()p Fh(mn)8 b Fk(log)r(\()p Fh(n)1358 177 y Fl(2)1378
195 y Fh(=m)p Fk(\)\))19 b(time.)e(The)i(algorithm,)301 267
y(of)h(the)f(Las)i(V)l(egas)e(v)m(ariet)o(y)l(,)h(is)g(alw)o(a)o(ys)h
(correct)d(and)i(requires)g Fh(O)q Fk(\()p Fh(nm)8 b Fk(log)j
Fh(n)p Fk(\))19 b(time)g(in)301 340 y(the)d(w)o(orst)h(case.)0
451 y([Cha84])139 b(C.C.)16 b(Chang.)21 b(The)16 b(study)g(of)g(an)g(ordered)
f(minimal)i(p)q(erfect)e(hashing)j(sc)o(heme.)h Fj(Com-)301
523 y(munic)n(ations)d(of)e(the)i(A)o(CM)p Fk(,)c(27\(4\):384{387,)17
b(Apr)c(1984.)18 b(Chang)c(uses)g(hash)g(functions)301 596
y(of)g(the)g(form)f Fh(h)p Fk(\()p Fh(x)p Fk(\))h(=)g(\()p
Fh(C)j Fk(mo)q(d)d Fh(p)p Fk(\()p Fh(x)p Fk(\)\))g(where)g
Fh(C)j Fk(is)d(an)h(in)o(teger)e(constan)o(t)h(and)h Fh(p)p
Fk(\()p Fh(x)p Fk(\))f(gen-)301 668 y(erates)h(a)h(di\013eren)o(t)f(prime)g
(for)g(eac)o(h)f(in)o(teger)h Fh(x)p Fk(.)g(No)f(general)i(metho)q(d)f(for)h
(\014nding)g Fh(p)p Fk(\()p Fh(x)p Fk(\))301 740 y(is)h(giv)o(en.)0
852 y([Che93])141 b(J.)22 b(Cheriy)o(an.)38 b(Random)22 b(w)o(eigh)o(ted)g
(Laplacians,)j(Lo)o(v\023)-24 b(asz)22 b(minim)o(um)g(digraphs)h(and)301
924 y(\014nding)i(minim)o(um)e(separators.)42 b(In)23 b Fj(Pr)n(o)n(c.)f(F)l
(ourth)h(A)o(nn.)i(A)o(CM-SIAM)e(Symp.)h(on)301 996 y(Discr)n(ete)18
b(A)o(lgorithms)p Fk(,)f(pages)h(31{40,)g(Austin,)f(TX,)f(Jan)o(uary)h(1993.)
25 b(Cheriy)o(an)17 b(giv)o(es)301 1068 y(an)f Fh(O)q Fk(\()p
Fh(n)454 1050 y Fl(2)p Ff(:)p Fl(38)520 1068 y Fk(\)-time)f(randomized)h
(algorithm)h(for)e(the)g(problem)h(of)f(\014nding)i(a)e(minim)o(um)301
1141 y Fh(X)t Fk(-)p Fh(Y)30 b Fk(separator)20 b(in)f(a)f(digraph,)i(and)f
(of)g(\014nding)g(a)g(minim)o(um)f(v)o(ertex)f(co)o(v)o(er)g(in)h(a)h(bi-)301
1213 y(partite)c(graph,)f(thereb)o(y)f(impro)o(ving)i(on)f(the)f(previous)i
(b)q(est)f(b)q(ound)h(of)f Fh(O)q Fk(\()p Fh(n)1737 1195 y
Fl(2)p Ff(:)p Fl(5)1784 1213 y Fh(=)8 b Fk(log)j Fh(n)p Fk(\).)0
1325 y([CHM92])108 b(Z.J.)12 b(Czec)o(h,)f(G.)h(Ha)o(v)m(as,)h(and)g(B.S.)e
(Ma)s(jewski.)k(An)d(optimal)i(algorithm)g(for)f(generating)301
1397 y(minimal)23 b(p)q(erfect)e(hash)h(functions.)37 b Fj(Information)22
b(Pr)n(o)n(c)n(essing)f(L)n(etters)p Fk(,)h(43\(5\):257{)301
1469 y(264,)j(Oct)e(1992.)42 b(The)23 b(authors)g(describ)q(e)g(a)h
(randomized)f(algorithm)i(for)e(generat-)301 1541 y(ing)d(p)q(erfect)e(hash)i
(functions)f(that)g(are)g(space)g(optimal)h(and)f(allo)o(w)i(an)e(arbitrary)g
(ar-)301 1614 y(rangemen)o(t)j(of)h(k)o(eys)e(in)i(the)f(hash)h(table.)f(The)
g(algorithm)i(is)f(based)g(on)g(the)f(result)301 1686 y(of)e(P)l(.)e(Erd})-24
b(os)20 b(and)f(A.)f(R)o(\023)-23 b(en)o(yi)19 b([ER60],)g(whic)o(h)g(states)
g(that)h(the)e(ma)s(jorit)o(y)h(of)g(random)301 1758 y(sparse)f(2)p
Fg(\000)p Fk(graphs)g(are)f(acyclic.)f(The)h(authors)h(presen)o(t)e(a)i
(metho)q(d)f(of)g(mapping)h(a)f(set)301 1830 y(of)h(k)o(eys,)e(using)j(univ)o
(ersal)f(hash)g(functions,)g(in)o(to)g(a)g(random)g(graph.)g(Once)f(the)g
(map-)301 1902 y(ping)f(is)e(computed)g(it)h(is)g(re\014ned)e(to)i(a)f(p)q
(erfect)g(hash)g(function)h(in)g(linear)g(deterministic)301
1975 y(time.)k(The)g(metho)q(d)g(strongly)h(impro)o(v)o(es)f(on)g(the)g
(space)g(requiremen)o(ts)f(of)h(the)g(other)301 2047 y(probabilisti)q(c)g
(metho)q(ds)d(for)h(generating)g(minimal)h(p)q(erfect)e(hash)h(functions.)0
2159 y([Cic80])155 b(R.)16 b(Cic)o(helli.)21 b(Minimal)c(p)q(erfect)e(hash)i
(functions)g(made)e(simple.)21 b Fj(Communic)n(ations)c(of)301
2231 y(the)f(A)o(CM)p Fk(,)c(23\(1\):17{19,)k(Jan)e(1980.)j(A)c(heuristic)h
(for)g(computing)g(a)f(simple,)i(fast,)e(and)301 2303 y(mac)o(hine-indep)q
(enden)o(t)k(hash)g(function)h(is)f(presen)o(ted.)e(Because)h(of)g(these)g
(prop)q(erties,)301 2375 y(sev)o(eral)h(attempts)f(ha)o(v)o(e)f(b)q(een)h
(made)g(to)h(extend)f(this)h(pap)q(er)g(since)f(its)h(publication.)0
2487 y([CL89])160 b(A.)23 b(Condon)h(and)g(R.)f(Lipton.)43
b(On)23 b(the)g(complexit)o(y)g(of)h(space)f(b)q(ound)h(in)o(teractiv)o(e)301
2559 y(pro)q(ofs.)c(In)14 b Fj(Pr)n(o)n(c.)g(30th)h(A)o(nn.)i(IEEE)e(Symp.)h
(on)f(F)l(oundations)i(of)e(Computer)h(Scienc)n(e)p Fk(,)301
2631 y(pages)g(462{467,)h(1989.)k(In)o(teractiv)o(e)13 b(pro)q(of)j(systems)e
(that)i(use)e(t)o(w)o(o-w)o(a)o(y)h(probabilistic)301 2704
y(\014nite-state)f(v)o(eri\014ers)e(can)h(accept)g(an)o(y)f(recursiv)o(ely)g
(en)o(umerable)h(language)i(if)e(they)f(are)938 2828 y(105)p
eop
bop 301 195 a Fk(not)15 b(required)f(to)h(halt)g(with)g(high)g(probabilit)o
(y)h(on)f(rejected)e(inputs.)i(An)e(upp)q(er)i(b)q(ound)301
267 y(on)21 b(the)g(p)q(o)o(w)o(er)f(of)h(IP)f(systems)g(that)h(halt)g(with)h
(high)f(probabilit)o(y)i(on)e(all)h(inputs)f(is)301 340 y(also)c(deriv)o(ed;)
d(suc)o(h)h(systems)g(accept)f(only)i(a)f(more)g(restricted)g(set)g(of)g
(languages.)i(It)d(is)301 412 y(sho)o(wn)j(that)g(an)o(y)f(language)i
(accepted)e(b)o(y)g(suc)o(h)g(a)g(system)g(is)h(in)g Fh(AT)7
b(I)t(M)e(E)s Fk(\(2)1770 394 y Fl(2)1788 382 y Fe(O)q Fb(\()p
Fe(N)s Fb(\))1866 412 y Fk(\).)0 523 y([CLR90])124 b(T.)16
b(H.)f(Cormen,)g(C.)h(E.)g(Leiserson,)h(and)f(R.)f(L.)h(Riv)o(est.)k
Fj(Intr)n(o)n(duction)d(to)g(A)o(lgorithms)p Fk(.)301 596 y(The)k(MIT)g
(Press,)h(1990.)36 b(This)22 b(w)o(ell-written)h(encyclop)q(edic)e(in)o(tro)q
(duction)i(to)e(algo-)301 668 y(rithms)16 b(co)o(v)o(ers)f(a)h(n)o(um)o(b)q
(er)e(of)i(randomized)g(algorithms)i(including)f(those)f(for)g(b)q(o)q(olean)
301 740 y(matrix)e(m)o(ultiplication,)j(binary)d(searc)o(h)g(trees,)f
(primalit)o(y)i(testing,)f(partitioning,)j(uni-)301 812 y(v)o(ersal)g
(hashing,)h(and)e(parallel)j(pre\014x.)0 924 y([CM91])145 b(E.)11
b(Cohen)h(and)g(N.)f(Megiddo.)j(Impro)o(v)o(ed)c(algorithms)j(for)f(linear)g
(inequalities)i(with)e(t)o(w)o(o)301 996 y(v)m(ariables)19
b(p)q(er)e(inequalit)o(y)l(.)24 b(In)17 b Fj(Pr)n(o)n(c.)g(23r)n(d)g(A)o(nn.)
h(A)o(CM)g(Symp.)g(on)g(The)n(ory)f(of)h(Com-)301 1068 y(puting)p
Fk(,)c(pages)f(145{155,)i(New)d(Orleans,)i(LA,)e(Ma)o(y)f(1991.)17
b(A)11 b(randomized)i(p)q(olynomial)301 1140 y(time)g(algorithm)h(is)g(giv)o
(en)f(for)f(solving)j(a)e(system)f(of)h(linear)h(inequalities)h(wherein)e(ev)
o(ery)301 1213 y(inequalit)o(y)18 b(the)e(t)o(w)o(o)g(nonzero)g(co)q
(e\016cien)o(ts)g(ha)o(v)o(e)g(opp)q(osite)i(signs.)0 1324
y([CPV91])120 b(P)l(.)12 b(Caspi,)i(J.)d(Piotro)o(wski,)k(and)d(R.)g(V)l
(elzaco.)h(An)f Fj(a)h(priori)e Fk(approac)o(h)i(to)f(the)g(ev)m(aluation)301
1396 y(of)17 b(signature)g(analysis)h(e\016ciency)l(.)h Fj(IEEE)e(T)l(r)n
(ans.)g(on)g(Computers)p Fk(,)e(40\(9\):1068{10)q(71,)301 1469
y(Sept)i(1991.)25 b(This)19 b(pap)q(er)e(presen)o(ts)g(an)g(in)o(teresting)h
(application)i(of)d(con)o(trol)h(random-)301 1541 y(ization)k(for)e
(compressing)h(the)e(results)i(from)e(a)h(digital)j(circuit)d(under)g(test.)f
(Instead)301 1613 y(of)g(imp)q(osing)h(an)o(y)d(distribution)k(on)d(the)g
(input)g(sequence,)f(the)g(linear)j(feedbac)o(k)c(shift)301
1685 y(register)h(used)f(for)h(compression)g(is)g(c)o(hosen)f(at)h(random.)0
1797 y([CR79])154 b(E.)16 b(Chang)h(and)g(R.)e(Rob)q(erts.)21
b(An)16 b(impro)o(v)o(ed)f(algorithm)j(for)e(decen)o(tralized)g(extrema-)301
1869 y(\014nding)h(in)f(circular)h(con\014gurations)g(of)f(pro)q(cessors.)21
b Fj(Communic)n(ations)c(of)g(the)g(A)o(CM)p Fk(,)301 1941
y(22\(5\):281{283)q(,)h(Ma)o(y)d(1979.)23 b(They)15 b(presen)o(t)g(a)h
(deterministic)h(distributed)g(algorithm)301 2014 y(for)e(\014nding)g(the)f
(largest)h(of)f(a)h(set)f(of)g Fh(n)g Fk(uniquely)h(n)o(um)o(b)q(ered)e(pro)q
(cesses)h(in)h(a)f(ring.)h(The)301 2086 y(algorithm)j(uses)d
Fh(O)q Fk(\()p Fh(n)8 b Fk(log)k Fh(n)p Fk(\))j(messages)h(on)g(the)f(a)o(v)o
(erage)g(and)h Fh(O)q Fk(\()p Fh(n)1565 2068 y Fl(2)1586 2086
y Fk(\))f(messages)h(in)g(the)301 2158 y(w)o(orst)h(case,)f(and)h(do)q(es)g
(not)f(assume)h(that)g Fh(n)f Fk(is)h(kno)o(wn)g(a)f(priori.)0
2270 y([CR93])154 b(R.)19 b(Canetti)h(and)f(T.)g(Rabin.)30
b(F)l(ast)20 b(async)o(hronous)g(Byzan)o(tine)e(agreemen)o(t)g(with)i(op-)301
2342 y(timal)i(resilience.)36 b(In)20 b Fj(Pr)n(o)n(c.)h(25th)g(A)o(nn.)i(A)o
(CM)e(Symp.)g(on)h(The)n(ory)e(of)i(Computing)p Fk(,)301 2414
y(pages)f(42{51,)i(San)d(Diego,)i(CA,)d(Ma)o(y)h(1993.)34 b(The)20
b Fj(r)n(esilienc)n(e)h Fk(of)f(a)h(proto)q(col)g(is)g(the)301
2486 y(maxim)o(um)g(n)o(um)o(b)q(er)f(of)h(faults)h(in)g(the)f(presence)f(of)
h(whic)o(h)h(the)e(proto)q(col)j(meets)d(its)301 2559 y(sp)q(eci\014cation.)i
(It)e(is)h(kno)o(wn)f(that)h(no)f(Byzan)o(tine)g(agreemen)o(t)f(\(BA\))g
(proto)q(col)j(for)f Fh(n)301 2631 y Fk(pla)o(y)o(ers)12 b(\(either)g(sync)o
(hronous)g(or)g(async)o(hronous\))h(can)f(b)q(e)g Fg(d)1431
2611 y Ff(n)p 1431 2619 22 2 v 1433 2648 a Fl(3)1458 2631 y
Fg(e)p Fk(-resilien)o(t,)h(and)g(the)e(only)301 2703 y(kno)o(wn)k(\()p
Fg(d)500 2683 y Ff(n)p 500 2691 V 502 2720 a Fl(3)527 2703
y Fg(e)8 b(\000)g Fk(1\)-resilien)o(t)15 b(BA)f(proto)q(col)i(runs)f(in)h
(exp)q(ected)d(exp)q(onen)o(tial)j(time.)e(The)938 2828 y(106)p
eop
bop 301 195 a Fk(authors)20 b(sho)o(w)f(that)f(there)g(exists)h(a)f
Fj(fast)h Fk(\()p Fg(d)1157 175 y Ff(n)p 1157 183 22 2 v 1159
212 a Fl(3)1183 195 y Fg(e)13 b(\000)f Fk(1\)-resilien)o(t)20
b(BA)d(proto)q(col)j(b)o(y)e(pre-)301 267 y(sen)o(ting)i(a)g(randomized)g
(proto)q(col)h(suc)o(h)e(that,)h(with)g(o)o(v)o(erwhelming)g(probabilit)o(y)l
(,)i(all)301 340 y(the)13 b(non-fault)o(y)i(pla)o(y)o(ers)e(complete)g
(execution)g(of)h(the)f(proto)q(col)i(in)f(constan)o(t)g(exp)q(ected)301
412 y(time.)0 523 y([CRS93])127 b(S.)15 b(Chari,)h(P)l(.)e(Rohatgi,)i(and)g
(A.)e(Sriniv)m(asan.)21 b(Randomness-optimal)c(unique)e(elemen)o(t)301
596 y(isolation)q(,)h(with)d(applications)j(to)e(p)q(erfect)e(matc)o(hing)h
(and)h(related)f(problems.)j(In)d Fj(Pr)n(o)n(c.)301 668 y(25th)20
b(A)o(nn.)f(A)o(CM)g(Symp.)g(on)h(The)n(ory)e(of)h(Computing)p
Fk(,)g(pages)g(458{467,)h(San)f(Diego,)301 740 y(CA,)d(Ma)o(y)g(1993.)24
b(The)17 b(authors)g(giv)o(e)g(a)g(randomness-e\016cien)o(t)g
Fh(RN)5 b(C)1633 722 y Fl(2)1669 740 y Fk(algorithm)19 b(for)301
812 y(p)q(erfect)14 b(matc)o(hing)g(that)h(uses)f Fh(O)q Fk(\(log)d
Fh(Z)g Fk(+)c(log)j Fh(n)p Fk(\))k(random)h(bits,)g(where)f
Fh(Z)k Fk(is)d(an)o(y)f(giv)o(en)301 885 y(upp)q(er)j(b)q(ound)g(on)g(the)f
(n)o(um)o(b)q(er)g(of)g(p)q(erfect)g(matc)o(hings)h(in)g(the)f(giv)o(en)g
(graph.)0 996 y([CS89])163 b(K.)21 b(L.)g(Clarkson)h(and)g(P)l(.)e(W.)h
(Shor.)36 b(Applications)23 b(of)e(random)h(sampling)g(in)g(com-)301
1068 y(putational)f(geometry)l(,)c(I)q(I.)25 b Fj(Discr)n(ete)19
b(Computational)g(Ge)n(ometry)p Fk(,)e(4:387{421,)j(1989.)301
1141 y(E\016cien)o(t)g(probabilisti)q(c)i(algorithms)h(are)d(presen)o(ted)f
(for)i(the)f(problems)h(of)f(line)h(seg-)301 1213 y(men)o(t)13
b(in)o(tersection,)h(con)o(v)o(ex)e(h)o(ull,)i(p)q(olygon)i(triangulation,)g
(and)e(halfspace)h(partitions)301 1285 y(of)e(p)q(oin)o(t)h(sets.)e(Eac)o(h)h
(algorithm)i(is)e(of)g(the)f(Las)i(V)l(egas)f(v)m(ariet)o(y)f(and)i(uses)e
(the)h(tec)o(hnique)301 1357 y(of)i(random)g(sampling.)h(An)e(earlier)h(v)o
(ersion)f(of)h(this)g(pap)q(er)g(app)q(eared)g(in)g Fj(Pr)n(o)n(c.)f(F)l
(ourth)301 1430 y(A)o(CM)j(Symp.)h(on)f(Computational)h(Ge)n(ometry)t
Fk(,)e(1988.)0 1541 y([CW79])140 b(J.)16 b(L.)f(Carter)h(and)g(M.)f(N.)g(W)l
(egman.)21 b(Univ)o(ersal)16 b(classes)g(of)g(hash)h(functions.)k
Fj(Journal)301 1614 y(of)j(Computer)g(and)g(System)g(Scienc)n(es)p
Fk(,)i(18:143{154,)i(1979.)43 b(This)24 b(pap)q(er)g(con)o(tains)301
1686 y(the)16 b(\014rst)g(discussion)i(on)f(univ)o(ersal)g(hashing.)g(An)f
(earlier)h(v)o(ersion)f(app)q(eared)h(in)f Fj(Pr)n(o)n(c.)301
1758 y(Ninth)i(A)o(nn.)h(A)o(CM)e(Symp.)g(on)g(The)n(ory)g(of)g(Computing)t
Fk(,)g(1977,)g(pp.)f(106{112.)0 1870 y([CW89])140 b(A.)23 b(Cohen)h(and)f(A.)
g(Wigderson.)43 b(Disp)q(ensers,)26 b(deterministic)e(ampli\014cation,)j(and)
301 1942 y(w)o(eak)20 b(random)g(sources)g(\(extended)e(abstract\).)32
b(In)20 b Fj(Pr)n(o)n(c.)f(30th)i(A)o(nn.)g(IEEE)f(Symp.)301
2014 y(on)i(F)l(oundations)f(of)g(Computer)g(Scienc)n(e)p Fk(,)h(pages)f
(14{25,)h(Researc)o(h)e(T)l(riangle)i(P)o(ark,)301 2086 y(NC,)f(Octob)q(er)g
(1989.)h(IEEE)g(Computer)f(So)q(ciet)o(y)g(Press.)36 b(The)21
b(authors)h(use)g(highly)301 2159 y(expanding)17 b(bipartite)f(m)o
(ultigraphs)h(\(disp)q(ensers\))g(to)f(sho)o(w)f(that)h(the)f(error)h
(probabil-)301 2231 y(it)o(y)h(of)h(an)o(y)f Fj(RP)g Fk(or)g
Fj(BPP)h Fk(algorithm)h(can)e(b)q(e)h(made)f(exp)q(onen)o(tially)i(small)f
(in)g(the)f(size)301 2303 y(of)j(the)g(input)h(at)f(the)f(cost)h(of)g(only)h
(a)f(constan)o(t)h(factor)f(increase)g(in)g(the)g(n)o(um)o(b)q(er)f(of)301
2375 y(random)g(bits)g(used)g(b)o(y)e(the)h(algorithm.)i(The)e(sim)o(ulation)
i(of)f(these)f(algorithms)i(with)301 2447 y(w)o(eak)c(sources)h(of)f(random)h
(n)o(um)o(b)q(ers)f(is)h(also)h(considered.)0 2559 y([Deu85])139
b(D.)21 b(Deutsc)o(h.)35 b(Quan)o(tum)21 b(theory)l(,)g(the)g(Ch)o(urc)o(h-T)
l(uring)h(principle)g(and)f(the)g(univ)o(er-)301 2631 y(sal)h(quan)o(tum)e
(computer.)33 b Fj(Pr)n(o)n(c.)20 b(R)n(oyal)h(So)n(ciety)g(of)h(L)n(ondon)p
Fk(,)e(A400:97{117,)k(1985.)301 2704 y(Deutsc)o(h)d(in)o(tro)q(duces)g(the)g
Fj(quantum)i(physic)n(al)e(c)n(omputer)5 b Fk(,)22 b(later)f(referred)f(to)h
(as)g(the)938 2828 y(107)p eop
bop 301 195 a Fk(\\quan)o(tum)15 b(T)l(uring)h(Mac)o(hine")f(in)h([BV93)o(],)
e(whic)o(h)h(can)g(b)q(e)g(though)o(t)h(of)f(as)g(a)g(quan)o(tum)301
267 y(ph)o(ysical)i(analogue)h(of)e(a)g(probabilistic)j(T)l(uring)e(Mac)o
(hine:)j(it)c(has)h(an)f(in\014nite)h(tap)q(e,)f(a)301 340
y(\014nite)i(state)f(con)o(trol,)g(and,)g(in)g(its)h(most)f(general)g(form,)g
(pro)q(duces)g(a)g(random)g(sample)301 412 y(from)g(a)f(probabilit)o(y)i
(distribution)h(on)e(an)o(y)f(giv)o(en)h(input.)0 523 y([Dev92])140
b(O.)16 b(Devillers.)24 b(Randomization)18 b(yields)g(simple)f
Fh(O)q Fk(\()p Fh(n)8 b Fk(log)1378 502 y Fd(\003)1406 523
y Fh(n)p Fk(\))17 b(algorithms)i(for)d(di\016cult)301 596 y(\012\()p
Fh(n)p Fk(\))g(problems.)k Fj(International)e(Journal)e(of)h(Computational)g
(Ge)n(ometry)e(and)i(Appli-)301 668 y(c)n(ations)p Fk(,)h(2\(1\):97{111,)i
(1992.)26 b(This)18 b(pap)q(ers)h(pro)o(vides)f(t)o(w)o(o)f
Fh(O)q Fk(\()p Fh(n)8 b Fk(log)1610 646 y Fd(\003)1638 668
y Fh(n)p Fk(\))17 b(randomized)301 740 y(algorithms.)26 b(One)d(computes)g
(the)g(sk)o(eleton)h(of)g(a)g(simple)g(p)q(olygon)i(and)e(the)f(other)301
812 y(the)15 b(Delauna)o(y)h(triangulatio)q(n)i(of)e(a)f(set)h(of)f(p)q(oin)o
(ts)i(kno)o(wing)f(the)f(euclidean)h(minim)o(um)301 885 y(spanning)22
b(tree.)c(The)i(existence)f(of)g(deterministic)i Fh(O)q Fk(\()p
Fh(n)8 b Fk(log)j Fh(n)p Fk(\))20 b(algorithms)h(for)f(b)q(oth)301
957 y(problems)d(is)g(an)g(op)q(en)g(problem.)0 1068 y([DFK91])118
b(M.)20 b(Dy)o(er,)g(A.)g(F)l(rieze,)g(and)h(R.)f(Kannan.)35
b(A)20 b(random)h(p)q(olynomial)i(time)d(algorithm)301 1141
y(for)f(appro)o(ximating)i(the)d(v)o(olume)g(of)h(a)g(con)o(v)o(ex)e(b)q(o)q
(dy)l(.)29 b Fj(Journal)19 b(of)g(the)h(A)o(CM)p Fk(,)e(38:1{)301
1213 y(17,)25 b(1991.)40 b(A)22 b(constan)o(t)h(time)f(oracle)h(is)g(assumed)
g(for)f(determining)h(if)g(a)g(p)q(oin)o(t)g(in)301 1285 y(space)f(is)g
(inside)h(or)f(outside)g(a)g(con)o(v)o(ex)e(b)q(o)q(dy)i(in)h(n-dimensional)h
(Euclidean)e(space.)301 1357 y(The)c(algorithm)i(runs)e(in)h(time)e(b)q
(ounded)i(b)o(y)e(a)h(p)q(olynomial)j(in)d Fh(n)p Fk(,)g(the)g(dimension)h
(of)301 1430 y(the)e(b)q(o)q(dy)l(,)h(and)f(1)p Fh(=\017)p
Fk(,)h(where)e Fh(\017)h Fk(is)h(the)f(relativ)o(e)g(error)g(b)q(ound.)g
(With)h(probabilit)o(y)h(3)p Fh(=)p Fk(4,)301 1502 y(it)e(\014nds)g(an)g
(appro)o(ximation)h(satisfying)g(the)e(error)g(b)q(ound.)0
1614 y([DGMP92])72 b(M.)13 b(Dietzfelbinger,)h(J.)f(Gil,)i(Y.)e(Matias,)h
(and)g(N.)f(Pipp)q(enger.)k(P)o(olynomial)f(hash)e(func-)301
1686 y(tions)f(are)e(reliable.)j(In)d Fj(Pr)n(o)n(c.)h(19th)g(Int'l.)i(Col)r
(lo)n(q.)g(on)f(A)o(utomata,)g(L)n(anguages)h(and)f(Pr)n(o-)301
1758 y(gr)n(amming,)19 b Fk(Lecture)f(Notes)g(in)g(Computer)g(Science,)f(V)l
(ol.)h(623,)h(pages)g(235{246,)i(Vi-)301 1830 y(enna,)14 b(Austria,)f(July)g
(1992.)h(Springer-V)l(erlag.)j(This)c(pap)q(er,)h(along)g(with)g([DMadH92],)
301 1902 y(sho)o(ws)h(ho)o(w)f(to)g(construct)g(a)g(p)q(erfect)f(hash)i
(function)f(in)h(\002\()p Fh(n)p Fk(\))e(time,)h(whic)o(h)g(is)g(suitable)301
1975 y(for)j(real-time)g(applications)i(\(Theorems)d(6.1)h(and)g(7.1\).)0
2086 y([Dij71])160 b(E.)11 b(W.)g(Dijkstra.)i(Hierarc)o(hical)f(ordering)g
(of)f(sequen)o(tial)g(pro)q(cesses.)i Fj(A)n(cta)g(Informatic)n(a)p
Fk(,)301 2159 y(1\(2\):115{138,)j(1971.)f(Reprin)o(ted)d(in)g
Fj(Op)n(er)n(ating)i(Systems)g(T)l(e)n(chniques)t Fk(,)g(C.A.R.)c(Hoare)301
2231 y(and)j(R.H.)d(P)o(errot,)i(Eds.,)g(Academic)f(Press,)i(1972,)g(pp.)f
(72{93.)h(This)g(pap)q(er)f(in)o(tro)q(duces)301 2303 y(the)k(classical)j
(sync)o(hronization)f(problem)e(of)h(Dining)h(Philosophers.)0
2415 y([DKM)134 2397 y Fl(+)163 2415 y Fk(88])76 b(M.)15 b(Dietzfelbinger,)h
(A.)f(Karlin,)i(K.)d(Mehlhorn,)i(F.)f(Mey)o(er)f(auf)i(der)f(Heide,)g(H.)f
(Rohn-)301 2487 y(ert,)h(and)h(R.)f(E.)g(T)l(arjan.)20 b(Dynamic)c(p)q
(erfect)e(hashing:)23 b(Upp)q(er)15 b(and)h(lo)o(w)o(er)f(b)q(ounds.)21
b(In)301 2559 y Fj(Pr)n(o)n(c.)13 b(29th)g(A)o(nn.)i(IEEE)e(Symp.)g(on)h(F)l
(oundations)g(of)g(Computer)f(Scienc)n(e)p Fk(,)i(pages)d(524{)301
2631 y(531,)17 b(White)f(Plains,)i(NY,)c(Oct)i(1988.)21 b(A)16
b(randomized)g(algorithm)i(for)e(the)g(dictionary)301 2704
y(problem)h(based)g(on)g(p)q(erfect)e(hashing)j(is)f(presen)o(ted.)938
2828 y(108)p eop
bop 0 195 a Fk([DKS88])123 b(C.)13 b(Dw)o(ork,)g(P)l(.)f(C.)g(Kanellakis,)j
(and)e(L.)g(J.)f(Sto)q(c)o(kmey)o(er.)h(P)o(arallel)h(algorithms)h(for)e
(term)301 267 y(matc)o(hing.)23 b Fj(SIAM)17 b(Journal)h(on)g(Computing)p
Fk(,)f(17\(4\):711{731,)i(1988.)k(In)17 b(the)f(con)o(text)301
340 y(of)i(a)f(parallel)i(algorithm)g(for)e(the)g(term)f(matc)o(hing)h
(problem,)h(this)f(pap)q(er)h(sho)o(ws)g(ho)o(w)301 412 y(randomization)25
b(can)d(b)q(e)h(used)f(to)h(reduce)e(the)h(initial)j(pro)q(cessor)e
(complexit)o(y)f(from)301 484 y Fh(O)q Fk(\()p Fh(n)387 466
y Fl(5)408 484 y Fk(\))f(to)h Fh(O)q Fk(\()p Fh(M)5 b Fk(\()p
Fh(n)p Fk(\)\),)23 b(where)e Fh(M)5 b Fk(\()p Fh(n)p Fk(\))21
b(is)h(the)f(pro)q(cessor)i(complexit)o(y)e(of)g(m)o(ultiplying)301
556 y(t)o(w)o(o)c Fh(n)11 b Fg(\002)g Fh(n)16 b Fk(matrices.)0
670 y([DLMV88])76 b(P)l(.)12 b(Dagum,)h(M.)e(Lub)o(y)l(,)i(M.)e(Mihail,)j
(and)f(U.V.)d(V)l(azirani.)15 b(P)o(olytop)q(es,)f(p)q(ermanen)o(ts)d(and)301
742 y(graphs)22 b(with)f(large)g(factors.)34 b(In)20 b Fj(Pr)n(o)n(c.)g(29th)
h(A)o(nn.)h(IEEE)f(Symp.)g(on)g(F)l(oundations)301 814 y(of)h(Computer)f
(Scienc)n(e)p Fk(,)i(pages)e(412{421,)j(1988.)35 b(Randomized)21
b(algorithms)i(for)d(ap-)301 887 y(pro)o(ximating)c(the)e(n)o(um)o(b)q(er)g
(of)h(p)q(erfect)e(matc)o(hings)i(in)g(a)g(graph)h(based)e(on)h(a)g
(geometric)301 959 y(reasoning)j(are)f(presen)o(ted.)0 1073
y([dlVKS93])83 b(F.)16 b(de)f(la)i(V)l(ega,)e(S.)h(Kannan,)g(and)h(M.)e(San)o
(tha.)21 b(Tw)o(o)16 b(probabilisti)q(c)i(results)f(on)f(merg-)301
1145 y(ing.)38 b Fj(SIAM)22 b(Journal)h(on)f(Computing)p Fk(,)h
(22\(2\):261{271,)j(1993.)38 b(Tw)o(o)22 b(probabilistic)301
1217 y(algorithms)e(for)d(merging)h(t)o(w)o(o)g(sorted)f(lists)i(are)e
(presen)o(ted.)f(When)i Fh(m)d(<)g(n)p Fk(,)j(the)f(\014rst)301
1289 y(algorithm)k(has)f(a)g(w)o(orst-case)g(time)e(b)q(etter)h(than)h(an)o
(y)f(deterministic)h(algorithm)h(for)301 1362 y(1)p Fh(:)p
Fk(618)16 b Fh(<)e(n=m)g(<)g Fk(3.)i(The)h(algorithm)h(is)f(extended)e(to)i
(p)q(erform)g(w)o(ell)g(for)f(an)o(y)h(v)m(alue)g(of)301 1434
y Fh(n=m)p Fk(.)0 1548 y([DMadH90])55 b(M.)11 b(Dietzfelbinger)h(and)f(F.)g
(Mey)o(er)e(auf)j(der)f(Heide.)h(Ho)o(w)f(to)g(distribute)h(a)g(dictionary)g
(in)301 1620 y(a)h(complete)e(net)o(w)o(ork.)j(In)e Fj(Pr)n(o)n(c.)g(22nd)i
(A)o(nn.)g(A)o(CM)f(Symp.)g(on)h(The)n(ory)e(of)i(Computing)p
Fk(,)301 1692 y(pages)f(117{127,)i(Baltimore,)d(MD,)f(Ma)o(y)h(1990.)j(A)c
(randomized)h(algorithm)i(is)e(giv)o(en)g(for)301 1764 y(implemen)o(ting)17
b(a)f(distributed)h(dictionary)g(on)g(a)f(complete)g(net)o(w)o(ork)f(of)h
Fh(p)g Fk(pro)q(cessors.)301 1836 y(The)g(algorithm)i(is)e(based)g(on)g
(hashing)i(and)e(uses)g Fh(O)q Fk(\()p Fh(n=p)p Fk(\))h(exp)q(ected)e(time)g
(to)h(execute)301 1909 y Fh(n)k Fk(arbitrary)h(instructions)h(\(insert,)f
(delete,)f(lo)q(okup\).)h(The)f(resp)q(onse)h(time)e(for)i(eac)o(h)301
1981 y(lo)q(okup)d(is)f(exp)q(ected)f(constan)o(t.)0 2095 y([DMadH92])55
b(M.)11 b(Dietzfelbinger)g(and)h(F.)e(Mey)o(er)f(auf)j(der)e(Heide.)i
(Dynamic)f(hashing)i(in)f(real)f(time.)h(In)301 2167 y Fj(Informatik)17
b Fg(\001)f Fj(F)l(estschrift)h(zum)g(60.)f(Geburtstag)i(von)f(G)q(\177)-26
b(unter)17 b(Holtz,)h Fk(T)l(eubner-T)l(exte)301 2239 y(zur)j(Informatik,)g
(Band)f(1,)i(pages)f(95{119.)i(B.)c(G.)h(T)l(eubner,)h(Stuttgart,)h(German)o
(y)l(,)301 2311 y(1992.)36 b(The)20 b(FKS)g(probabilisti)q(c)j(pro)q(cedure)d
(is)i(extended)d(to)i(real-time.)f(See)g(Theo-)301 2384 y(rems)c(6.1)h(and)g
(7.1)g(in)g([DGMP92)q(].)f(A)g(preliminary)h(v)o(ersion)g(of)g(this)g(pap)q
(er)g(app)q(eared)301 2456 y(as)25 b(\\A)e(new)h(univ)o(ersal)h(class)g(of)f
(hash)g(functions)h(and,)h(dynamic)d(hashing)j(in)e(real)301
2528 y(time,")d Fj(Pr)n(o)n(c.)f(17th)h(Int'l.)h(Col)r(lo)n(q.)g(on)f(A)o
(utomata,)h(L)n(anguages)g(and)f(Pr)n(o)n(gr)n(amming)t Fk(,)301
2600 y(1990,)d(pp.)e(6{19.)938 2828 y(109)p eop
bop 0 195 a Fk([DMT92])108 b(O.)11 b(Devillers,)i(S.)e(Meiser,)h(and)g(M.)f
(T)l(eillaud.)k(F)l(ully)d(dynamic)f(Delauna)o(y)i(triangulation)301
267 y(in)h(logarithmic)i(exp)q(ected)c(time)h(p)q(er)h(op)q(eration.)k
Fj(Computational)d(Ge)n(ometry:)20 b(The)n(ory)301 340 y(and)f(Applic)n
(ations)p Fk(,)f(2\(2\):55{80,)h(1992.)25 b(This)19 b(pap)q(er)e(extends)g
(the)g(results)h(of)f([BT93])301 412 y(b)o(y)f(considering)i(the)f(deletion)g
(of)g(p)q(oin)o(ts.)g(The)f(Delauna)o(y)i(triangulation)h(of)e
Fh(n)g Fk(p)q(oin)o(ts)301 484 y(is)i(up)q(dated)f(in)g Fh(O)q
Fk(\(log)11 b Fh(n)p Fk(\))17 b(exp)q(ected)g(time)g(p)q(er)g(insertion)i
(and)f Fh(O)q Fk(\(log)11 b(log)g Fh(n)p Fk(\))17 b(exp)q(ected)301
556 y(time)e(p)q(er)g(deletion.)g(The)g(insertion)h(sequence)d(is)j(assumed)f
(to)g(b)q(e)g(in)g(a)g(random)g(order,)301 628 y(and)23 b(deletions)f(are)g
(assumed)g(to)g(concern)f(an)o(y)g(curren)o(tly)g(presen)o(t)g(p)q(oin)o(t)i
(with)f(the)301 701 y(same)17 b(probabilit)o(y)l(.)0 814 y([DoD83])127
b(DoD)21 b(\(United)f(States)h(Dept.)e(of)i(Defense\).)32 b
Fj(R)n(efer)n(enc)n(e)21 b(Manual)g(for)g(the)g(A)n(da)g(Pr)n(o-)301
887 y(gr)n(amming)c(L)n(anguage,)g Fk(MIL-STD)e(1815A,)h(F)l(ebruary)f(1983.)
21 b(Section)15 b(3.2)h(of)f(our)g(sur-)301 959 y(v)o(ey)i(discusses)i(a)f
(randomized)h(distributed)g(algorithm)g(for)g(the)e(sc)o(heduling)i(of)f
(input)301 1031 y(and)h(output)f(guards.)g(The)g(designers)g(of)g(Ada)g(c)o
(hose)f(only)h(to)g(allo)o(w)i(nondeterminis-)301 1103 y(tic)f(c)o(hoice)f
(among)i(the)e Fi(accept)g Fk(alternativ)o(es)h(of)g(a)g Fi(select)f
Fk(statemen)o(t.)f(This)j(design)301 1176 y(decision)d(mak)o(es)e(the)g
(guard)h(sc)o(heduling)h(problem)e(in)h(Ada)g(m)o(uc)o(h)e(easier)i(and,)f
(in)h(par-)301 1248 y(ticular,)h(obliviates)i(the)d(need)g(for)g
(randomization.)0 1362 y([Dol82])151 b(D.)12 b(Dolev.)j(The)d(Byzan)o(tine)f
(generals)i(strik)o(e)f(again.)k Fj(Journal)e(of)f(A)o(lgorithms)p
Fk(,)g(3\(1\):14{)301 1434 y(30,)j(1982.)21 b(This)16 b(is)g(the)f(in)o(tro)q
(ductory)h(pap)q(er)g(on)g(Byzan)o(tine)e(Generals.)i(Dolev)g(pro)o(v)o(es)
301 1506 y(that)i(Byzan)o(tine)e(agreemen)o(t)g(is)h(ac)o(hiev)m(able)h(in)f
Fj(any)g Fk(distributed)h(system)f(if)g(and)g(only)301 1578
y(if)i(the)f(n)o(um)o(b)q(er)g(of)h(fault)o(y)f(pro)q(cessors)i(in)f(the)f
(system)g(is)h(\(1\))g(less)g(than)g(one-third)h(of)301 1650
y(the)d(total)h(n)o(um)o(b)q(er)e(of)h(pro)q(cessors;)h(and)g(\(2\))f(less)h
(than)f(one-half)h(the)f(connectivit)o(y)g(of)301 1723 y(the)k(system's)f
(net)o(w)o(ork.)f(In)h(cases)h(where)f(agreemen)o(t)g(is)h(ac)o(hiev)m(able,)
h(deterministic)301 1795 y(algorithms)d(for)d(obtaining)j(it)e(are)f(giv)o
(en.)0 1909 y([DS90])161 b(C.)13 b(Dw)o(ork)h(and)f(L.)g(Sto)q(c)o(kmey)o
(er.)h(The)g(time)e(complexit)o(y)h(gap)h(for)g(2-w)o(a)o(y)f(probabilistic)
301 1981 y(\014nite-state)20 b(automata.)32 b Fj(SIAM)20 b(Journal)g(on)g
(Computing)p Fk(,)g(19\(6\):1011{10)q(23,)j(1990.)301 2053
y(Among)17 b(other)f(results,)h(this)h(pap)q(er)f(sho)o(ws)g(that)g(an)o(y)f
(2-w)o(a)o(y)h(probabilistic)i(\014nite)e(au-)301 2125 y(tomaton)23
b(recognizing)g(a)e(non-regular)j(language)f(m)o(ust)e(use)g(exp)q(onen)o
(tial)i(exp)q(ected)301 2198 y(time)d(in\014nitely)h(often.)e(Since)h(an)o(y)
g(regular)g(language)i(can)e(b)q(e)g(recognized)f(in)i(linear)301
2270 y(time,)e(a)g(time-complexit)o(y)f(gap)i(is)f(established.)h(Similar)g
(results)f(w)o(ere)f(published)i(in)301 2342 y(the)f(pap)q(er)g(en)o(titled)h
(\\On)f(the)f(P)o(o)o(w)o(er)h(of)g(2-W)l(a)o(y)g(Probabilisti)q(c)i(Finite)f
(Automata,")301 2414 y(whic)o(h)c(app)q(eared)f(in)h Fj(Pr)n(o)n(c.)f(30th)h
(A)o(nn.)h(IEEE)f(Symp.)g(on)g(F)l(oundations)h(of)f(Computer)301
2487 y(Scienc)n(e)t Fk(,)i(1989.)0 2600 y([DSMP87])83 b(A.)23
b(De)h(San)o(tis,)i(S.)d(Micali,)j(and)e(G.)g(P)o(ersiano.)44
b(Non-in)o(teractiv)o(e)24 b(zero-kno)o(wledge)301 2672 y(pro)q(of-systems.)
45 b(In)24 b Fj(A)n(dvanc)n(es)g(in)h(Cryptolo)n(gy{CR)l(YPTO)f(87,)h
Fk(Lecture)f(Notes)f(in)938 2828 y(110)p eop
bop 301 195 a Fk(Computer)23 b(Science,)g(V)l(ol.)g(293,)i(pages)e(52{72.)h
(Springer-V)l(erlag,)h(1987.)42 b(This)23 b(pa-)301 267 y(p)q(er)16
b(in)o(tro)q(duces)f(the)g(notion)i(of)e(non-in)o(teractiv)o(e)h(zero-kno)o
(wledge)f(pro)q(ofs)h(based)g(on)g(a)301 340 y(w)o(eak)o(er)g(complexit)o(y)g
(assumption)i(than)e(that)h(used)f(in)h([BFM88].)0 451 y([DSMP88])83
b(A.)23 b(De)h(San)o(tis,)i(S.)d(Micali,)j(and)e(G.)g(P)o(ersiano.)44
b(Non-in)o(teractiv)o(e)24 b(zero-kno)o(wledge)301 523 y(pro)q(of-systems)d
(with)g(prepro)q(cessing.)34 b(In)20 b Fj(A)n(dvanc)n(es)h(in)g(Cryptolo)n
(gy{CR)l(YPTO)f(88,)301 596 y Fk(Lecture)14 b(Notes)g(in)h(Computer)f
(Science,)g(V)l(ol.)g(403,)h(pages)g(269{283.)i(Springer-V)l(erlag,)301
668 y(1988.)g(The)c(authors)h(sho)o(w)f(that)g(if)h(an)o(y)e(one-w)o(a)o(y)h
(function)g(exists)h(after)e(an)h(in)o(teractiv)o(e)301 740
y(prepro)q(cessing)23 b(stage)f(then)e(an)o(y)h(su\016cien)o(tly)g(short)h
(theorem)e(can)h(b)q(e)h(pro)o(v)o(en)e Fj(non-)301 812 y(inter)n(actively)e
Fk(in)f(zero-kno)o(wledge.)0 924 y([DSS90])134 b(C.)17 b(Dw)o(ork,)h(D.)f
(Shmo)o(ys,)g(and)g(L.)h(Sto)q(c)o(kmey)o(er.)k(Flipping)d(p)q(ersuasiv)o
(ely)g(in)f(constan)o(t)301 996 y(time.)e Fj(SIAM)e(Journal)h(on)f(Computing)
p Fk(,)g(19\(2\):472{499,)j(1990.)g(An)12 b(e\016cien)o(t)g(random-)301
1068 y(ized)18 b(proto)q(col)i(is)f(presen)o(ted)e(that)h(tolerates)h(up)f
(to)h Fh(n=)p Fk(\(log)11 b Fh(n)p Fk(\))18 b(malicious)i(pro)q(cessors)301
1141 y(that)14 b(requires)e(constan)o(t)h(exp)q(ected)f(n)o(um)o(b)q(er)g(of)
h(rounds)g(to)g(ac)o(hiev)o(e)f(a)h(distributed)h(coin)301
1213 y(toss.)g(Also)f(giv)o(en)g(is)h(a)f(Byzan)o(tine)f(Generals)i
(algorithm)h(that)e(tolerates)h Fh(n=)p Fk(\(log)c Fh(n)p Fk(\))j(fail-)301
1285 y(ures)18 b(and)g(runs)g(in)g(constan)o(t)g(exp)q(ected)f(n)o(um)o(b)q
(er)g(of)h(rounds.)g(A)f(preliminary)i(v)o(ersion)301 1357
y(of)k(this)f(pap)q(er)h(app)q(eared)g(in)f Fj(Pr)n(o)n(c.)g(27th)g(A)o(nn.)i
(IEEE)e(Symp.)h(on)g(F)l(oundations)g(of)301 1430 y(Computer)18
b(Scienc)n(e)t Fk(,)f(1986.)0 1541 y([DSY90])124 b(A.)23 b(De)g(San)o(tis)h
(and)g(M.)f(Y)l(ung.)42 b(Cryptographic)25 b(applications)h(of)e(non-in)o
(teractiv)o(e)301 1614 y(metapro)q(ofs)d(and)e(man)o(y-pro)o(v)o(er)f
(systems.)30 b(In)19 b Fj(A)n(dvanc)n(es)h(in)h(Cryptolo)n(gy{CR)l(YPTO)301
1686 y(90,)d Fk(Lecture)e(Notes)g(in)h(Computer)f(Science,)f(V)l(ol.)i(537.)g
(Springer-V)l(erlag,)g(1990.)23 b(The)301 1758 y(authors)17
b(sho)o(w)f(ho)o(w)g(man)o(y)f(pro)o(v)o(ers)f(can)i(share)g(the)f(same)g
(random)h(string)h(in)f(pro)o(ving)301 1830 y(m)o(ultiple)h(theorems)f
(non-in)o(teractiv)o(ely)h(in)g(zero-kno)o(wledge.)0 1942 y([ER60])156
b(P)l(.)15 b(Erd})-24 b(os)15 b(and)h(A.)e(R)o(\023)-23 b(en)o(yi.)18
b(On)d(the)f(ev)o(olution)i(of)f(random)g(graphs.)20 b Fj(Publ.)d(Math.)f
(Inst.)301 2014 y(Hung.)e(A)n(c)n(ad.)e(Sci.)p Fk(,)g(5:17{61,)i(1960.)g(A)d
(seminal)h(pap)q(er)f(on)h(random)g(graphs.)f(Reprin)o(ted)301
2086 y(in)22 b Fj(Paul)g(Er)n(d})-25 b(os:)30 b(The)22 b(A)o(rt)g(of)f
(Counting.)i(Sele)n(cte)n(d)h(Writings)t Fk(,)e(J.H.)d(Sp)q(encer,)j(Ed.,)301
2159 y(V)l(ol.)c(5)f(of)h(the)f(series)g Fj(Mathematicians)i(of)g(Our)f(Time)
t Fk(,)f(MIT)g(Press,)g(1973,)h(pp.)f(574{)301 2231 y(617.)0
2342 y([ES74])165 b(P)l(.)18 b(Erd})-24 b(os)19 b(and)f(J.)g(Sp)q(encer.)25
b Fj(Pr)n(ob)n(abilistic)19 b(Metho)n(ds)f(in)i(Combinatorics)p
Fk(.)26 b(Academic)301 2415 y(Press,)16 b(New)f(Y)l(ork)h(and)g(London,)h
(1974.)22 b(Recognized)16 b(exp)q(erts)f(in)i(the)e(\014eld)h(presen)o(t)g(a)
301 2487 y(small,)h(p)q(o)o(w)o(er)f(pac)o(k)o(ed)f(monograph)i(on)f
(non-constructiv)o(e)g(probabilisti)q(c)i(metho)q(ds)e(in)301
2559 y(com)o(binatorics.)j(Our)e(algorithm)i(for)f(net)o(w)o(orks)f(without)i
(large)f(hierarc)o(hies)g(is)h(based)301 2631 y(on)13 b(the)f(discussion)i
(in)e(Chapter)h(1)f(of)h(this)f(b)q(o)q(ok.)h(Other)f(highligh)o(ts)i
(include,)g(Ramsey's)301 2704 y(theorems)i(and)h(ev)o(olution)h(of)e(random)h
(graphs.)938 2828 y(111)p eop
bop 0 195 a Fk([F)o(CDH91])85 b(E.)22 b(F)l(o)o(x,)h(Q.F.)e(Chen,)i(A.)e
(Daoud,)k(and)d(L.S.)g(Heath.)38 b(Order)22 b(preserving)h(minimal)301
267 y(p)q(erfect)14 b(hash)i(functions)f(and)g(information)i(retriev)m(al.)i
Fj(A)o(CM)c(T)l(r)n(ans.)g(on)h(Information)301 340 y(Systems)p
Fk(,)h(9\(2\):281{308,)i(July)e(1991.)23 b(This)18 b(algorithm)g(com)o(bines)
f(the)f(tec)o(hniques)g(of)301 412 y(em)o(b)q(edding)22 b(the)g(k)o(eys)f(in)
o(to)h(an)g Fh(r)q Fg(\000)p Fk(graph)h(and)f(t)o(w)o(o-lev)o(el)g(hashing)h
(to)f(design)h(hash)301 484 y(functions)16 b(that)f(are)f(optimal)i(in)f
(terms)f(of)h(hashing)h(time)f(and)g(space)f(utilization.)j(The)301
556 y(algorithm)22 b(to)f(generate)f(the)g(hash)h(functions)g(uses)f
(near-optimal)j(space)d(and)h(time.)301 628 y(An)o(y)16 b(desired)g(order)h
(can)f(b)q(e)g(main)o(tained.)0 742 y([F)l(ey82])149 b(R.)21
b(P)l(.)g(F)l(eynman.)34 b(Sim)o(ulating)23 b(ph)o(ysics)f(with)g(computers.)
35 b Fj(International)23 b(Journal)301 814 y(of)c(The)n(or)n(etic)n(al)g
(Physics)p Fk(,)f(21\(6/7\):467{488)q(,)j(1982.)28 b(F)l(eynman)17
b(p)q(oin)o(ts)i(out)g(the)e(curi-)301 887 y(ous)i(problem)g(that)f(it)h(app)
q(ears)g(to)f(b)q(e)g(imp)q(ossible)j(to)d(sim)o(ulate)h(a)g(general)f(quan)o
(tum)301 959 y(ph)o(ysical)25 b(system)e(on)g(a)h(probabilisti)q(c)i(T)l
(uring)e(Mac)o(hine)f(without)i(an)f(exp)q(onen)o(tial)301
1031 y(slo)o(wdo)o(wn,)h(ev)o(en)20 b(if)i(the)g(quan)o(tum)f(ph)o(ysical)i
(system)e(to)h(b)q(e)g(sim)o(ulated)h(is)f(discrete)301 1103
y(\(lik)o(e)17 b(some)f(kind)h(of)f(quan)o(tum)g(cellular)i(automaton\).)0
1217 y([FFS87])134 b(U.)15 b(F)l(eige,)h(A.)f(Fiat,)h(and)g(A.)f(Shamir.)22
b(Zero-kno)o(wledge)16 b(pro)q(ofs)h(of)f(iden)o(tit)o(y)l(.)21
b(In)15 b Fj(Pr)n(o)n(c.)301 1289 y(19th)j(A)o(nn.)h(A)o(CM)e(Symp.)h(on)g
(The)n(ory)f(of)h(Computing)p Fk(,)f(pages)g(210{217,)j(1987.)k(Zero-)301
1362 y(kno)o(wledge)19 b(pro)q(ofs,)h(in)f(the)g(traditional)i(sense,)d(rev)o
(eal)g(1)h(bit)g(of)g(information)h(to)f(the)301 1434 y(v)o(eri\014er,)f
(viz.)h Fh(w)g Fg(2)f Fh(L)g Fk(or)h Fh(w)g Fg(62)f Fh(L)p
Fk(.)h(This)g(pap)q(er)h(prop)q(oses)g(the)e(notion)i(of)f(\\truly)g(zero)301
1506 y(kno)o(wledge")f(pro)q(ofs)h(where)e(the)g(pro)o(v)o(er)f(con)o(vinces)
h(the)g(v)o(eri\014er)g(that)g(he/she)h(kno)o(ws)301 1578 y(whether)c
Fh(w)h Fk(is)f(or)g(is)h(not)f(in)g Fh(L)p Fk(,)g(without)h(rev)o(ealing)f
(an)o(y)g(other)g(information.)h(An)e(RSA-)301 1650 y(lik)o(e)19
b(sc)o(heme)e(based)h(on)h(the)f(di\016cult)o(y)g(of)g(factoring,)i(whic)o(h)
e(is)h(m)o(uc)o(h)e(more)h(e\016cien)o(t)301 1723 y(than)f(RSA,)f(is)h(also)g
(presen)o(ted.)0 1836 y([F)o(GM)128 1818 y Fl(+)157 1836 y
Fk(89])82 b(M.)22 b(F)q(\177)-26 b(urer,)24 b(O.)e(Goldreic)o(h,)j(Y.)c
(Mansour,)k(M.)c(Sipser,)k(and)e(S.)f(Zac)o(hos.)40 b(On)22
b(com-)301 1909 y(pleteness)h(and)g(soundness)h(in)f(in)o(teractiv)o(e)g(pro)
q(of)g(systems.)40 b(In)22 b(S.)h(Micali,)i(editor,)301 1981
y Fj(A)n(dvanc)n(es)g(in)g(Computing)f(R)n(ese)n(ar)n(ch)f(5:)36
b(R)n(andomness)24 b(and)g(Computation)p Fk(,)h(pages)301 2053
y(429{442.)20 b(JAI)d(Press,)h(Green)o(wic)o(h,)f(CT,)g(1989.)27
b(An)17 b(in)o(teractiv)o(e)g(pro)q(of)i(system)e(for)h(a)301
2125 y(language)j Fh(L)d Fk(is)h(said)h(to)e(ha)o(v)o(e)g Fj(p)n(erfe)n(ct)h
(c)n(ompleteness)h Fk(if)f(the)f(v)o(eri\014er)g Fj(always)k
Fk(accepts)301 2198 y Fh(w)d Fk(if)g Fh(w)e Fg(2)g Fh(L)p Fk(.)h(This)h(pap)q
(er)f(pro)o(v)o(es)f(that)i(an)o(y)e(language)j(ha)o(ving)f(an)f(in)o
(teractiv)o(e,)g(p)q(os-)301 2270 y(sibly)g(un)o(b)q(ounded,)e(pro)q(of)i
(has)f(one)f(with)h(p)q(erfect)f(completeness.)f(Only)i(languages)h(in)301
2342 y Fj(NP)g Fk(ha)o(v)o(e)e(in)o(teractiv)o(e)g(pro)q(ofs)i(with)g(p)q
(erfect)e(soundness.)i(This)g(pap)q(er)f(\014rst)g(app)q(eared)301
2414 y(under)g(the)f(title)h(\\In)o(teractiv)o(e)e(pro)q(of)j(system:)j(pro)o
(v)o(ers)16 b(that)g(nev)o(er)g(fail)h(and)g(random)301 2487
y(selection,")e(authored)f(b)o(y)e(O.)h(Goldreic)o(h,)h(Y.)f(Mansour)h(and)f
(M.)g(Sipser,)h(in)g Fj(Pr)n(o)n(c.)f(28th)301 2559 y(A)o(nn.)19
b(IEEE)e(Symp.)g(on)h(F)l(oundations)g(of)f(Computer)h(Scienc)n(e)p
Fk(,)f(1987,)h(pp.)e(449{461.)938 2828 y(112)p eop
bop 0 195 a Fk([FH84])156 b(V.)15 b(A.)g(F)l(eldman)g(and)h(D.)g(Harel.)k(A)
15 b(probabilistic)j(dynamic)e(logic.)22 b Fj(Journal)16 b(of)h(Com-)301
267 y(puter)i(and)f(System)h(Scienc)n(es)p Fk(,)f(28\(2\):193{215)q(,)h
(1984.)25 b(This)18 b(pap)q(er)g(de\014nes)f(a)g(formal)301
340 y(logic)i Fi(Pr)p Fk(DL)g(to)e(reason)i(ab)q(out)f(probabilisti)q(c)i
(programs.)e(It)f(extends)g(the)g(seman)o(tics)301 412 y(of)g(Kozen)f
([Koz81])g(form)o(ulas)h(in)o(v)o(olving)h(probabilistic)h(programs.)0
526 y([FHCD92])84 b(E.)14 b(F)l(o)o(x,)g(L.S.)f(Heath,)h(Q.F.)f(Chen,)h(and)g
(A.)f(Daoud.)19 b(Practical)c(minimal)h(p)q(erfect)d(hash)301
598 y(functions)22 b(for)e(large)h(databases.)35 b Fj(Communic)n(ations)21
b(of)g(the)h(A)o(CM)p Fk(,)d(35\(1\):105{121,)301 670 y(Jan)o(uary)k(1992.)41
b(This)23 b(pap)q(er)g(presen)o(ts)f(t)o(w)o(o)g(randomized)h(algorithm)h
(for)f(minimal)301 742 y(p)q(erfect)d(hashing)i(functions)f(that)g(are)f
(designed)h(for)g(use)f(with)h(data)g(bases)g(with)g(as)301
814 y(man)o(y)d(as)g(a)h(million)h(k)o(eys.)c(The)i(algorithms)i(ha)o(v)o(e)e
(b)q(een)f(exp)q(erimen)o(tally)i(ev)m(aluated.)301 887 y(The)14
b(\014rst)g(algorithm)i(generates)e(hash)h(functions)g(that)f(are)g(less)h
(than)f Fh(O)q Fk(\()p Fh(n)p Fk(\))g(computer)301 959 y(w)o(ords)k(long,)f
(and)h(the)e(second)h(generates)g(functions)g(that)g(approac)o(h)h(the)e
(theoretical)301 1031 y(lo)o(w)o(er)h(b)q(ound)g(of)g(\012\()p
Fh(n=)8 b Fk(log)j Fh(n)p Fk(\))16 b(w)o(ords.)h(This)g(w)o(ork)f(is)h(a)g
(predecessor)f(of)h([F)o(CDH91)o(].)0 1145 y([FKS82])128 b(M.)12
b(L.)h(F)l(redman,)g(J.)f(Koml\023)-24 b(os,)14 b(and)f(E.)f(Szemeredi.)j
(Sorting)f(a)f(sparse)g(table)h(with)f Fh(O)q Fk(\(1\))301
1217 y(w)o(orst)21 b(case)e(access)h(time.)32 b(In)19 b Fj(Pr)n(o)n(c.)h(23r)
n(d)f(A)o(nn.)j(IEEE)e(Symp.)h(on)g(F)l(oundations)g(of)301
1289 y(Computer)15 b(Scienc)n(e)p Fk(,)g(pages)f(165{169,)i(1982.)h(This)e
(pap)q(er)e(pro)o(v)o(es)g(man)o(y)f(fundamen)o(tal)301 1362
y(results)i(that)f(are)g(essen)o(tial)h(for)f(constructing)h(a)f(p)q(erfect)f
(hashing)j(function)f(for)f(a)g(giv)o(en)301 1434 y(set)k(of)f(k)o(eys.)0
1548 y([FL82])163 b(M.)15 b(J.)h(Fisc)o(her)f(and)i(N.)e(Lync)o(h.)20
b(A)15 b(lo)o(w)o(er)h(b)q(ound)h(for)f(the)f(time)h(to)g(assure)g(in)o
(teractiv)o(e)301 1620 y(consistency)l(.)k Fj(Information)d(Pr)n(o)n(c)n
(essing)f(L)n(etters)p Fk(,)e(14\(4\):182{186)q(,)k(1982.)j(They)15
b(pro)o(v)o(e)301 1692 y(that)20 b(no)g(deterministic)g(solution)i(to)e(the)f
(Byzan)o(tine)g(Generals)h(problem)g(can)g(reac)o(h)301 1764
y(agreemen)o(t)14 b(in)h(less)h(than)f Fh(t)8 b Fk(+)g(1)14
b(rounds,)i(where)e Fh(t)g Fk(is)i(the)e(n)o(um)o(b)q(er)g(of)h(fault)o(y)g
(pro)q(cesses.)0 1878 y([Fla85])156 b(P)l(.)22 b(Fla)s(jolet.)39
b(Appro)o(ximate)21 b(coun)o(ting:)34 b(A)21 b(detailed)i(analysis.)40
b Fj(BIT)p Fk(,)21 b(25:113{134,)301 1950 y(1985.)g(In)15 b(1978,)i(R.)d
(Morris)i(published)h(an)f(article)g(in)g Fj(Communic)n(ations)g(of)h(the)f
(A)o(CM)301 2022 y Fk(en)o(titled)e(\\Coun)o(ting)h(large)f(n)o(um)o(b)q(ers)
f(of)g(ev)o(en)o(ts)f(in)i(small)h(registers.")f(This)g(pap)q(er)g(pre-)301
2095 y(sen)o(ted)h(a)h(randomized)g(algorithm,)i(kno)o(wn)d(as)i
Fj(Appr)n(oximate)f(Counting)t Fk(,)h(that)f(allo)o(ws)301
2167 y(one)f(to)f(appro)o(ximately)h(main)o(tain)h(a)e(coun)o(ter)g(whose)h
(v)m(alues)g(ma)o(y)e(range)i(in)g(the)f(in)o(ter-)301 2239
y(v)m(al)g(1)g(to)f Fh(M)18 b Fk(using)d(only)e(ab)q(out)i(log)10
b(log)g Fh(M)19 b Fk(bits,)14 b(rather)f(than)g(the)g(log)d
Fh(M)18 b Fk(bits)c(required)301 2311 y(b)o(y)19 b(a)h(standard)h(binary)f
(coun)o(ter.)f(The)g(algorithm)i(has)f(pro)o(v)o(en)f(useful)h(in)g(the)f
(areas)301 2384 y(of)j(statistics)h(and)f(data)g(compression.)g(Fla)s(jolet)h
(pro)o(vides)e(a)h(complete)f(analysis)j(of)301 2456 y(appro)o(ximate)18
b(coun)o(ting)g(whic)o(h)f(sho)o(ws)h(\(among)g(other)f(things\))h(that,)f
(using)h(suitable)301 2528 y(corrections,)j(one)e(can)g(coun)o(t)h(up)f(to)h
Fh(M)k Fk(k)o(eeping)19 b(only)h(log)11 b(log)f Fh(M)19 b Fk(+)13
b Fh(\016)20 b Fk(bits)g(with)h(an)301 2600 y(accuracy)16 b(of)h(order)f
Fh(O)q Fk(\(2)767 2582 y Fd(\000)p Ff(\016)q(=)p Fl(2)850 2600
y Fk(\).)938 2828 y(113)p eop
bop 0 195 a Fk([Fla90])156 b(P)l(.)19 b(Fla)s(jolet.)31 b(On)20
b(adaptiv)o(e)f(sampling.)32 b Fj(Computing)p Fk(,)20 b(34:391{400,)j(1990.)
32 b Fj(A)n(daptive)301 267 y(Sampling)21 b Fk(is)g(a)f(probabilistic)i(tec)o
(hnique)d(due)h(to)g(W)l(egman)f(that)i(allo)o(ws)g(one)f(to)g(es-)301
340 y(timate)h(the)f(cardinalit)o(y)h(\(n)o(um)o(b)q(er)f(of)g(distinct)h
(elemen)o(ts\))f(of)g(a)h(large)g(\014le)f(t)o(ypically)301
412 y(stored)13 b(on)g(disk.)f(This)h(problem)g(naturally)h(arises)f(in)g
(query)e(optimization)j(of)f(database)301 484 y(systems.)i(Fla)s(jolet)h(sho)
o(ws)g(that)g(using)g Fh(m)f Fk(w)o(ords)h(of)f(in-core)h(memory)l(,)e
(adaptiv)o(e)h(sam-)301 556 y(pling)h(ac)o(hiev)o(es)e(an)h(exp)q(ected)e
(relativ)o(e)i(accuracy)f(close)h(to)f(1)p Fh(:)p Fk(20)p Fh(=)1529
521 y Fg(p)p 1572 521 43 2 v 1572 556 a Fh(m)p Fk(.)f(This)j(compares)301
628 y(w)o(ell)f(with)h(the)e Fj(pr)n(ob)n(abilistic)h(c)n(ounting)h
Fk(tec)o(hnique)e(of)h(Fla)s(jolet)g(and)g(Martin)g([FM85b]:)301
701 y(adaptiv)o(e)20 b(sampling)i(app)q(ears)e(to)g(b)q(e)f(ab)q(out)i
(50\045)f(less)g(accurate)f(than)h(probabilistic)301 773 y(coun)o(ting)j(for)
f(comparable)h(v)m(alues)g(of)f Fh(m)p Fk(.)f(Adaptiv)o(e)h(sampling,)j(ho)o
(w)o(ev)o(er,)c(is)i(com-)301 845 y(pletely)d(free)e(of)h(non-linearities)j
(for)d(smaller)h(v)m(alues)g(of)f(cardinalities)j(\(probabilistic)301
917 y(coun)o(ting)c(is)f(only)g Fj(asymptotic)n(al)r(ly)f Fk(un)o(biased\).)0
1031 y([FLP85])130 b(M.)13 b(J.)g(Fisc)o(her,)g(N.)f(Lync)o(h,)h(and)h(M.)e
(P)o(aterson.)17 b(Imp)q(ossibilit)o(y)f(of)d(distributed)i(consen-)301
1103 y(sus)e(with)g(one)g(fault)o(y)f(pro)q(cess.)k Fj(Journal)e(of)f(the)i
(A)o(CM)p Fk(,)c(32\(2\),)j(April)f(1985.)j(This)d(pap)q(er)301
1176 y(pro)o(v)o(es)e(that)i(ev)o(ery)d(completely)h(async)o(hronous,)i
(deterministic)g(algorithm)g(for)f(Byzan-)301 1248 y(tine)h(agreemen)o(t)f
(has)h(the)f(p)q(ossibili)q(t)o(y)j(of)e(non)o(termination,)h(ev)o(en)d(with)
j(only)f(one)g(fault)o(y)301 1320 y(pro)q(cessor.)i(This)g(imp)q(ossibil)q
(it)o(y)i(result)e(do)q(es)f(not)h(hold)g(in)g(the)f(sync)o(hronous)h(case.)f
(F)l(or)301 1392 y(completely)g(async)o(hronous)g Fj(pr)n(ob)n(abilistic)f
Fk(algorithms,)j(the)d(problem)g(is)h(a)o(v)o(oided)g(since)301
1465 y(termination)h(is)g(only)f(required)f(with)i(probabilit)o(y)h(1.)d(See)
g(Section)h(3.5)g(for)g(an)g(example)301 1537 y(of)j(suc)o(h)f(a)h
(probabilistic)i(algorithm)f(for)f(async)o(hronous)g(Byzan)o(tine)f(agreemen)
o(t.)0 1650 y([FLS90])136 b(U.)12 b(F)l(eige,)h(D.)f(Lapidot,)j(and)e(A.)e
(Shamir.)16 b(Multiple)d(non-in)o(teractiv)o(e,)h(zero-kno)o(wledge)301
1723 y(pro)q(ofs)20 b(based)g(on)f(a)g(single)h(random)f(string.)30
b(In)18 b Fj(Pr)n(o)n(c.)h(31st)g(A)o(nn.)i(IEEE)e(Symp.)h(on)301
1795 y(F)l(oundations)j(of)e(Computer)h(Scienc)n(e)p Fk(,)h(pages)f(308{317,)
i(1990.)37 b(The)21 b(follo)o(wing)i(t)o(w)o(o)301 1867 y(problems)17
b(p)q(osed)g(in)f([DSMP88)q(],)f(asso)q(ciated)j(with)e(non-in)o(teractiv)o
(e)h(zero-kno)o(wledge)301 1939 y(pro)q(of)22 b(systems,)f(are)f(solv)o(ed:)
30 b(\(1\))21 b(ho)o(w)g(to)f(construct)h(NIZK)e(pro)q(ofs)j(under)e(general)
301 2012 y(complexit)o(y)h(assumptions)i(rather)e(than)h(n)o(um)o(b)q
(er-theoretic)e(assumptions,)k(and)e(\(2\))301 2084 y(ho)o(w)17
b(to)g(enable)f(m)o(ultiple)h(pro)o(v)o(ers)f(to)g(pro)o(v)o(e,)f(in)i
(writing,)h(p)q(olynomially)h(man)o(y)d(theo-)301 2156 y(rems)h(based)g(on)h
(a)f(single)i(random)e(string.)h(The)f(authors)h(sho)o(w)f(that)h(an)o(y)f(n)
o(um)o(b)q(er)f(of)301 2228 y(pro)o(v)o(ers)d(can)g(share)g(the)g(same)g
(random)h(string)g(and)g(that)f(an)o(y)g(trap-do)q(or)i(p)q(erm)o(utation)301
2301 y(can)j(b)q(e)g(used)f(instead)i(of)f(quadratic)g(residuosit)o(y)l(.)g
(Also,)h(if)f(the)f(pro)o(v)o(er)g(is)h(allo)o(w)o(ed)h(to)301
2373 y(ha)o(v)o(e)e(exp)q(onen)o(tial)i(computing)f(p)q(o)o(w)o(er,)f(then)h
(one-w)o(a)o(y)f(p)q(erm)o(utations)i(are)e(su\016cien)o(t)301
2445 y(for)g(b)q(ounded)g(non-in)o(teractiv)o(e)g(zero-kno)o(wledge)f(pro)q
(ofs.)0 2559 y([FL)-5 b(W92])118 b(A.)17 b(M.)g(F)l(erren)o(b)q(erg,)g(D.)g
(F.)g(Landau,)i(and)f(Y.)f(J.)g(W)l(ong.)26 b(Mon)o(te)17 b(Carlo)i(sim)o
(ulations:)301 2631 y(Hidden)e(errors)g(from)g(\\go)q(o)q(d")j(random)d(n)o
(um)o(b)q(er)f(generators.)24 b Fj(Physic)n(al)17 b(R)n(eview)i(L)n(et-)301
2703 y(ters)p Fk(,)14 b(69\(23\):3382{338)q(8,)i(Decem)o(b)q(er)c(1992.)17
b(The)c(authors)h(un)o(v)o(eil)f(subtle)g(correlations)938
2828 y(114)p eop
bop 301 195 a Fk(in)21 b(\014v)o(e)e(widely)h(used)g(pseudo-random)h(n)o(um)o
(b)q(er)e(generators.)h(They)g(underto)q(ok)g(this)301 267
y(in)o(v)o(estigation)g(when)d(a)h(simple)g(mathematical)g(mo)q(del)h(of)e
(the)g(b)q(eha)o(vior)i(of)e(atoms)h(in)301 340 y(a)i(magnetic)f(crystal)g
(failed)h(to)g(giv)o(e)e(the)h(exp)q(ected)f(results.)h(They)g(traced)f(the)h
(error)301 412 y(to)e(the)f(pseudo-random)i(n)o(um)o(b)q(er)d(generator)i
(used)f(in)h(the)f(sim)o(ulation.)0 523 y([FM85a])124 b(P)l(.)16
b(Fla)s(jolet)g(and)g(G.)f(N.)g(Martin.)21 b(Probabilistic)d(coun)o(ting)f
(algorithms)g(for)f(data)h(base)301 596 y(applications.)g Fj(Journal)d(of)f
(Computer)g(and)h(System)g(Scienc)n(es)p Fk(,)g(25\(31\):182{209)q(,)h(1985.)
301 668 y(This)24 b(pap)q(er)g(presen)o(ts)e(a)i(probabilistic)i(coun)o(ting)
d(tec)o(hnique)g(for)g(determining)g(the)301 740 y(n)o(um)o(b)q(er)14
b(of)g(distinct)i(records)e(in)h(a)f(\014le.)h(The)f(tec)o(hnique)f(requires)
h Fh(O)q Fk(\(1\))i(storage)f(and)g(a)301 812 y(single)h(pass)g(o)o(v)o(er)d
(the)h(\014le.)h(Also)g(app)q(eared)g(as)g(\\Probabilisti)q(c)i(coun)o
(ting,")e Fj(Pr)n(o)n(c.)g(24th)301 885 y(A)o(nn.)k(IEEE)e(Symp.)g(on)h(F)l
(oundations)g(of)f(Computer)h(Scienc)n(e)t Fk(,)f(1983,)g(pp.)f(76{84.)0
996 y([FM85b])121 b(P)l(.)16 b(Fla)s(jolet)g(and)g(G.)f(N.)g(Martin.)21
b(Probabilistic)d(coun)o(ting)f(algorithms)g(for)f(data)h(base)301
1068 y(applications.)40 b Fj(Journal)22 b(of)g(Computer)g(and)h(System)f
(Scienc)n(es)p Fk(,)j(31:182{209,)g(1985.)301 1141 y Fj(Pr)n(ob)n(abilistic)c
(Counting)g Fk(is)g(a)f(tec)o(hnique)f(for)h(estimating)h(the)e(cardinalit)o
(y)j(\(n)o(um)o(b)q(er)301 1213 y(of)i(distinct)h(elemen)o(ts\))e(of)h(a)h
(large)f(\014le)h(t)o(ypically)f(stored)g(on)h(disk.)f(This)h(problem)301
1285 y(naturally)18 b(arises)g(in)f(query)e(optimization)j(of)f(database)g
(systems.)f(Using)h Fh(m)f Fk(w)o(ords)h(of)301 1357 y(in-core)f(memory)l(,)f
(probabilistic)j(coun)o(ting)f(ac)o(hiev)o(es)d(an)i(exp)q(ected)f(relativ)o
(e)g(accuracy)301 1430 y(close)f(to)g(0)p Fh(:)p Fk(78)p Fh(=)582
1394 y Fg(p)p 625 1394 43 2 v 625 1430 a Fh(m)o Fk(.)f(Moreo)o(v)o(er,)f(it)i
(p)q(erforms)g(only)g(a)g(constan)o(t)g(n)o(um)o(b)q(er)e(of)i(op)q(erations)
301 1502 y(p)q(er)j(elemen)o(t)e(of)h(the)g(\014le.)0 1614
y([FM88])148 b(P)l(.)19 b(F)l(eldman)g(and)h(S.)e(Micali.)31
b(Optimal)20 b(algorithms)h(for)e(Byzan)o(tine)f(agreemen)o(t.)28
b(In)301 1686 y Fj(Pr)n(o)n(c.)18 b(20th)g(A)o(nn.)h(A)o(CM)f(Symp.)g(on)h
(The)n(ory)e(of)h(Computing)p Fk(,)g(pages)g(162{172,)i(1988.)301
1758 y(The)15 b(exp)q(ected)e(running)i(time)f(of)h(this)g(algorithm)h(is)f
(constan)o(t)g(in)g(a)f(sync)o(hronous)h(net-)301 1830 y(w)o(ork)d(of)g
Fh(n)g Fk(no)q(des)h(if)f(the)g(n)o(um)o(b)q(er)f(of)h(faults)h(is)g(less)f
(than)h Fh(n=)p Fk(3,)g(and)f(in)h(an)f(async)o(hronous)301
1902 y(net)o(w)o(ork)k(of)h Fh(n)f Fk(no)q(des)h(if)g(the)f(n)o(um)o(b)q(er)f
(of)i(faults)g(is)g(less)g(than)g Fh(n=)p Fk(4.)0 2014 y([F)l(or87])154
b(L.)20 b(F)l(ortno)o(w.)33 b(The)20 b(complexit)o(y)g(of)g(p)q(erfect)f
(zero-kno)o(wledge.)33 b(In)20 b Fj(Pr)n(o)n(c.)g(19th)g(A)o(nn.)301
2086 y(A)o(CM)e(Symp.)f(on)h(The)n(ory)e(of)i(Computing)p Fk(,)f(pages)g
(204{209,)i(Ma)o(y)d(1987.)23 b(The)17 b(notion)301 2159 y(of)e(p)q(erfect)f
(zero-kno)o(wledge)i(requires)e(that)h(the)g(v)o(eri\014er,)f(no)h(matter)f
(ho)o(w)h(p)q(o)o(w)o(erful)g(it)301 2231 y(is,)g(not)g(learn)f(an)o(y)g
(additional)j(information.)f(F)l(ortno)o(w)e(pro)o(v)o(es)g(that)g(for)g(an)o
(y)g(language)301 2303 y(whic)o(h)e(has)g(a)g(p)q(erfect)f(zero-kno)o(wledge)
g(proto)q(col,)j(its)e(complemen)o(t)f(has)h(a)f(single)i(round)301
2375 y(in)o(teractiv)o(e)g(proto)q(col.)i(This)g(result)f(implies)g(that)g
(for)g(NP-complete)f(languages,)j(there)301 2447 y(are)f(no)f(p)q(erfect)g
(zero-kno)o(wledge)g(proto)q(cols)j(\(unless)e(the)f(p)q(olynomial)j(time)d
(hierarc)o(h)o(y)301 2520 y(collapses\).)0 2631 y([FR80])157
b(N.)22 b(F)l(rancez)g(and)h(M.)f(Ro)q(deh.)40 b(A)22 b(distributed)i
(abstract)f(data)h(t)o(yp)q(e)e(implemen)o(ted)301 2704 y(b)o(y)f(a)g
(probabilistic)j(comm)o(unication)e(sc)o(heme.)33 b(In)21 b
Fj(Pr)n(o)n(c.)g(21st)g(A)o(nn.)i(IEEE)e(Symp.)938 2828 y Fk(115)p
eop
bop 301 195 a Fj(on)19 b(F)l(oundations)g(of)g(Computer)f(Scienc)n(e)p
Fk(,)h(pages)g(373{379,)h(1980.)26 b(They)17 b(also)i(giv)o(e)f(a)301
267 y(deadlo)q(c)o(k-free,)e(truly)g(distributed)h(and)f(symmetric)f
(solution)j(to)e(the)f(dining)i(philoso-)301 340 y(phers)f(problem)h(based)f
(on)h(a)f(probabilistic)j(implemen)o(tation)e(of)f(CSP)l(.)g(In)g
(particular,)301 412 y(they)11 b(presen)o(t)g(a)h(randomized)g(algorithm)i
(for)e(the)f(sc)o(heduling)i(of)e(input/output)j(guards)301
484 y(in)20 b(CSP)l(,)e(whic)o(h)h(w)o(e)f(discuss)i(in)f(Section)g(3.2.)f
(This)i(w)o(as)f(one)f(of)h(the)f(\014rst)h(pap)q(ers)h(on)301
556 y(probabilisti)q(c)d(distributed)e(algorithms.)h(A)e(revised)g(v)o
(ersion)g(app)q(ears)h(as)g(TR)f(80,)h(IBM)301 628 y(Scien)o(ti\014c)i(Cen)o
(ter,)e(Haifa,)h(Israel,)h(April)g(1980)g(\(same)g(title\).)0
742 y([FS89])166 b(L.)17 b(F)l(ortno)o(w)f(and)h(M.)f(Sipser.)22
b(Probabilistic)d(computation)f(in)f(linear)g(time.)k(In)16
b Fj(Pr)n(o)n(c.)301 814 y(21st)g(A)o(nn.)h(A)o(CM)f(Symp.)g(on)g(The)n(ory)f
(of)h(Computing)p Fk(,)f(pages)h(148{156,)h(1989.)k(An)14 b(or-)301
887 y(acle)g(is)h(sp)q(eci\014ed,)f(under)f(whic)o(h)h(all)h(problems)g(solv)
m(able)g(in)g(random)f(p)q(olynomial)i(time)301 959 y(are)k(solv)m(able)h(in)
f(random)g(linear)h(time,)e(th)o(us)h(collapsing)i(a)e(n)o(um)o(b)q(er)f(of)g
(randomized)301 1031 y(complexit)o(y)f(classes)h(in)o(to)g(one.)e(Analogous)j
(results)f(in)g(deterministic)f(computations)301 1103 y(are)f(demonstratably)
g(false.)0 1217 y([FS92])166 b(U.)24 b(F)l(eige)g(and)g(A.)g(Shamir.)45
b(Multiple)25 b(oracle)g(in)o(teractiv)o(e)e(pro)q(ofs)j(with)f(constan)o(t)
301 1289 y(space)18 b(v)o(eri\014ers.)24 b Fj(Journal)18 b(of)g(Computer)g
(and)h(System)g(Scienc)n(es)p Fk(,)g(44:259{271,)h(1992.)301
1362 y(The)c(authors)g(sho)o(w)g(that)f(the)g(exp)q(ected)f(pa)o(y)o(o\013)i
(of)f(reasonable)i(games)e(of)h(incomplete)301 1434 y(information)i(are)d
(undecidable.)h(The)g(T)l(uring-mac)o(hine)h(sim)o(ulation)g(uses)f(p)q
(olynomial)301 1506 y(cost)h(and)g(stops)g(with)g(probabilit)o(y)h(1.)0
1620 y([F)l(ur87])151 b(M.)18 b(F)l(urer.)27 b(The)18 b(p)q(o)o(w)o(er)g(of)h
(randomness)g(for)g(computational)h(complexit)o(y)l(.)27 b(In)18
b Fj(Pr)n(o)n(c.)301 1692 y(19th)h(A)o(nn.)h(A)o(CM)f(Symp.)g(on)g(The)n(ory)
f(of)h(Computing)p Fk(,)f(pages)h(178{181,)i(1987.)28 b(This)301
1764 y(pap)q(er)16 b(impro)o(v)o(es)f(on)h(the)f(VLSI)g(algorithm)i(b)o(y)e
(Mehlhorn)h(and)g(Sc)o(hmidt)f([MS82].)f(An)301 1836 y Fh(O)q
Fk(\()p Fh(n)p Fk(\))j(a)o(v)o(erage)f(bit)g(complexit)o(y)g(algorithm)i
(with)e(no)h(probabilit)o(y)h(of)e(error)g(is)h(demon-)301
1909 y(strated.)0 2022 y([Gaz91])141 b(H.)14 b(Gazit.)19 b(An)14
b(optimal)i(randomized)f(parallel)i(algorithm)f(for)f(\014nding)g(the)g
(connected)301 2095 y(comp)q(onen)o(ts)h(of)f(a)g(graph.)20
b Fj(SIAM)c(Journal)g(on)h(Computing)p Fk(,)e(20\(6\):1046{106)q(7,)j(1991.)
301 2167 y(The)13 b(exp)q(ected)e(running)j(time)e(of)h(this)h(algorithm)g
(is)f Fh(O)q Fk(\(log)e Fh(n)p Fk(\))i(with)g Fh(O)q Fk(\(\()p
Fh(m)s Fk(+)s Fh(n)p Fk(\))p Fh(=)8 b Fk(log)k Fh(n)p Fk(\))301
2239 y(pro)q(cessors,)k(where)e Fh(n)h Fk(is)g(the)f(n)o(um)o(b)q(er)g(of)h
(v)o(ertices)e(and)i Fh(m)f Fk(is)i(the)e(n)o(um)o(b)q(er)g(of)g(edges.)g(It)
301 2311 y(uses)j Fh(O)q Fk(\()p Fh(m)10 b Fk(+)g Fh(n)p Fk(\))16
b(space.)g(The)f(algorithm)j(is)f(optimal)g(in)g(the)e(time-pro)q(cessor)i
(pro)q(duct)301 2384 y(sense,)f(as)h(w)o(ell)g(as)g(in)g(space)f(complexit)o
(y)l(.)0 2497 y([GBY91])115 b(G.H.)18 b(Gonnet)i(and)f(R.)f(Baeza-Y)l(ates.)
29 b Fj(Handb)n(o)n(ok)20 b(of)f(A)o(lgorithms)h(and)g(Data)g(Struc-)301
2570 y(tur)n(es)p Fk(.)d(Addison-W)l(esley)l(,)e(Reading,)g(Mass.,)f(1991.)k
(Section)c(3.3.16)h(giv)o(es)f(an)g(o)o(v)o(erview)301 2642
y(of)j(p)q(erfect)f(hashing.)938 2828 y(116)p eop
bop 0 195 a Fk([GGK92])111 b(M.)22 b(Ger)o(\023)-23 b(eb-Graus)23
b(and)f(D.)g(Krizanc.)38 b(The)22 b(a)o(v)o(erage)g(complexit)o(y)g(of)g
(parallel)i(com-)301 267 y(parison)19 b(merging.)24 b Fj(SIAM)19
b(Journal)f(on)g(Computing)p Fk(,)g(21:43{47,)h(1992.)25 b(The)17
b(authors)301 340 y(establish)g(a)e(lo)o(w)o(er)g(b)q(ound)h(on)f(the)f(time)
h(complexit)o(y)f(of)h(randomized)h(merging)f(of)g(t)o(w)o(o)301
412 y(sorted)22 b(lists)h(in)f(a)g(parallel)h(computation)g(tree)d(mo)q(del.)
i(An)f(earlier)h(v)o(ersion)g(of)f(this)301 484 y(pap)q(er,)d(en)o(titled)f
(\\The)h(Complexit)o(y)f(of)g(P)o(arallel)i(Comparison)g(Merging,")f(app)q
(eared)301 556 y(in)f Fj(Pr)n(o)n(c.)g(28th)g(Symp.)g(on)h(F)l(oundations)g
(of)f(Computer)h(Scienc)n(e)p Fk(,)f(1987.)0 668 y([GGM86])104
b(O.)18 b(Goldreic)o(h,)i(S.)e(Goldw)o(asser,)i(and)f(S.)f(Micali.)29
b(Ho)o(w)19 b(to)f(construct)h(random)g(func-)301 740 y(tions.)34
b Fj(Journal)20 b(of)h(the)g(A)o(CM)p Fk(,)e(33:792{807,)k(1986.)34
b(A)19 b(computational)j(complexit)o(y)301 812 y(measure)14
b(of)h(the)f(randomness)h(of)g(functions)g(is)h(in)o(tro)q(duced,)f(and,)f
(assuming)i(the)f(exis-)301 885 y(tence)h(of)g(one-w)o(a)o(y)g(functions,)h
(a)f(pseudo-random)i(function)f(generator)f(is)h(presen)o(ted.)0
996 y([GHY89])113 b(Z.)18 b(Galil,)i(S.)d(Hab)q(er,)h(and)h(M.)e(Y)l(ung.)26
b(Minim)o(um-kno)o(wledge)19 b(in)o(teractiv)o(e)e(pro)q(ofs)j(for)301
1068 y(decision)i(problems.)34 b Fj(SIAM)21 b(Journal)g(on)h(Computing)p
Fk(,)f(18\(4\):711{739)q(,)j(Aug)c(1989.)301 1141 y(This)c(pap)q(er)g
(extends)e(the)g(w)o(ork)h(of)g([GMR89],)f(the)h(concept)f(of)h(minim)o(um)g
(kno)o(wledge)301 1213 y(is)21 b(de\014ned)e(and)h(a)g(minim)o(um-kno)o
(wledge)h(proto)q(col)g(for)f(transferring)h(the)e(results)i(of)301
1285 y(an)o(y)g(\014xed)e(computation)j(from)e(one)h(part)o(y)f(to)g(another)
h(\(e.g.)f(pro)o(v)o(er)f(to)i(v)o(eri\014er\))e(is)301 1357
y(describ)q(ed.)0 1469 y([Gil77])161 b(J.)15 b(T.)f(Gill.)20
b(Computational)d(complexit)o(y)d(of)h(probabilisti)q(c)i(T)l(uring)f(mac)o
(hines.)i Fj(SIAM)301 1541 y(Journal)g(on)g(Computing)p Fk(,)e
(6\(4\):675{695,)j(Decem)o(b)q(er)c(1977.)23 b(This)18 b(pap)q(er)f
(de\014nes)f(the)301 1614 y(basic)22 b(notion)g(of)e(a)h(probabilistic)i(T)l
(uring)f(mac)o(hine)e(\(PTM\).)g(A)g(PTM)g(computes)h(a)301
1686 y(partial)j(function)e(that)g(assigns)h(to)f(eac)o(h)f(input)h(the)g
(output)g(whic)o(h)f(o)q(ccurs)h(with)h(a)301 1758 y(probabilit)o(y)17
b(greater)d(than)h(half.)g(It)g(is)g(sho)o(wn)g(that)g(a)g(NDTM)f(can)h(b)q
(e)f(sim)o(ulated)i(b)o(y)e(a)301 1830 y(PTM)i(in)h(the)e(same)h(space)g(but)
f(with)i(a)f(small)h(error)f(probabilit)o(y)l(.)h(Gill)h(also)f(considers)301
1902 y(the)k(complexit)o(y)g(classes)h Fj(RP)5 b Fk(,)21 b
Fj(PP)5 b Fk(,)21 b(and)h Fj(BPP)f Fk(for)h(p)q(olynomial-time)i
(probabilistic)301 1975 y(T)l(uring)19 b(mac)o(hines)e(\(see)g(Section)h
(4.1\).)f(He)g(sho)o(ws)h(that)g Fh(P)23 b Fg(\022)15 b Fh(RP)24
b Fg(\022)15 b Fh(B)s(P)7 b(P)23 b Fg(\022)15 b Fh(P)7 b(P)23
b Fg(\022)301 2047 y Fh(P)7 b Fk(SP)l(A)o(CE)17 b(and)g(that)f
Fh(RP)22 b Fg(\022)13 b Fh(N)5 b(P)22 b Fg(\022)13 b Fh(P)7
b(P)h Fk(.)0 2159 y([GJ79])162 b(M.)19 b(R.)g(Garey)g(and)h(D.)f(S.)g
(Johnson.)31 b Fj(Computers)20 b(and)h(Intr)n(actability:)28
b(A)21 b(Guide)f(to)301 2231 y(the)j(The)n(ory)e(of)i(NP-c)n(ompleteness)p
Fk(.)39 b(W.H.)21 b(F)l(reeman)f(and)j(Compan)o(y)l(,)f(1979.)39
b(This)301 2303 y(w)o(ell-kno)o(wn)18 b(b)q(o)q(ok)f(on)g(the)f(theory)g(of)h
Fj(NP)5 b Fk(-completeness)17 b(con)o(tains)g(a)g(section)g(on)f(the)301
2375 y(probabilisti)q(c)j(analysis)f(of)e(appro)o(ximation)i(algorithms)g
(for)f Fj(NP)5 b Fk(-complete)16 b(com)o(bina-)301 2447 y(torial)i
(optimization)h(problems.)0 2559 y([GK86])149 b(S.)19 b(Goldw)o(asser)j(and)e
(J.)f(Kilian.)32 b(Almost)20 b(all)h(primes)f(can)f(b)q(e)h(quic)o(kly)f
(certi\014ed.)30 b(In)301 2631 y Fj(Pr)n(o)n(c.)18 b(18th)g(A)o(nn.)h(A)o(CM)
f(Symp.)g(on)h(The)n(ory)e(of)h(Computing)p Fk(,)g(pages)g(316{329,)i(1986.)
301 2704 y(The)k(authors)h(sho)o(w)f(that)h(if)f(Cram)o(\023)-23
b(er's)23 b(conjecture)g(ab)q(out)i(the)f(spacing)h(of)f(prime)938
2828 y(117)p eop
bop 301 195 a Fk(n)o(um)o(b)q(ers)22 b(is)h(true)f(than)g(there)g(exists)g(a)
g(random)h(p)q(olynomial)i(time)d(algorithm)i(for)301 267 y(primalit)o(y)18
b(testing.)0 381 y([GKS92])122 b(L.)15 b(J.)g(Guibas,)h(D.)e(E.)h(Kn)o(uth,)f
(and)i(M.)e(Sharir.)20 b(Randomized)15 b(incremen)o(tal)g(construc-)301
453 y(tion)23 b(of)g(Delauna)o(y)f(and)h(V)l(oronoi)g(diagrams.)40
b Fj(A)o(lgorithmic)n(a)p Fk(,)23 b(7\(4\):381{413,)j(1992.)301
526 y(They)c(giv)o(e)g(a)g(new)g(randomized)g(incremen)o(tal)g(algorithm)h
(for)f(the)g(construction)h(of)301 598 y(planar)c(V)l(oronoi)f(diagrams)h
(and)f(Delauna)o(y)g(triangulations.)i(Their)d(algorithm)i(tak)o(es)301
670 y(exp)q(ected)j(time)g Fh(O)q Fk(\()p Fh(n=)8 b Fk(log)k
Fh(n)p Fk(\))23 b(and)g(space)g Fh(O)q Fk(\()p Fh(n)p Fk(\),)h(is)g(v)o(ery)d
(practical)j(to)f(implemen)o(t,)301 742 y(and)16 b(along)h(with)g(the)e
(algorithm)i(of)f([BT93],)e(is)i(more)f(\\on-line")j(than)e(earlier)g
(similar)301 814 y(metho)q(ds.)0 928 y([GKS93])122 b(W.)16
b(Go)q(ddard,)i(V.)d(King,)i(and)g(L.)f(Sc)o(h)o(ulman.)21
b(Optimal)c(randomized)g(algorithms)i(for)301 1000 y(lo)q(cal)j(sorting)f
(and)f(set-maxima.)31 b Fj(SIAM)21 b(Journal)f(on)h(Computing)p
Fk(,)f(22\(2\):272{283,)301 1073 y(April)d(1993.)k(Nearly)16
b(optimal)h(randomized)f(algorithms)i(are)d(presen)o(ted)g(for)h(the)f(lo)q
(cal)301 1145 y(sorting)k(problem)f(\(i.e.,)e(determining)h(the)g(relativ)o
(e)g(order)h(in)f(ev)o(ery)f(pair)i(of)f(adjacen)o(t)301 1217
y(v)o(ertices)12 b(in)i(a)f(graph)h(in)g(whic)o(h)f(eac)o(h)f(v)o(ertex)g(is)
h(assigned)i(an)e(elemen)o(t)f(of)h(a)h(total)g(order\))301
1289 y(and)j(the)e(set-maxima)i(problem)f(\(i.e.,)f(determining)h(the)g
(maxim)o(um)f(elemen)o(t)f(of)j(eac)o(h)301 1362 y(set)g(in)f(a)h(collection)
h(of)e(sets)h(whose)g(elemen)o(ts)e(are)h(dra)o(wn)h(from)f(a)h(total)g
(order\).)0 1475 y([GL89])157 b(R.)21 b(I.)f(Green)o(b)q(erg)h(and)h(C.)e(E.)
h(Leiserson.)37 b(Randomized)22 b(routing)g(on)g(fat-trees.)35
b(In)301 1548 y(S.)16 b(Micali,)g(editor,)g Fj(A)n(dvanc)n(es)i(in)f
(Computing)h(R)n(ese)n(ar)n(ch)d(5:)22 b(R)n(andomness)17 b(and)g(Com-)301
1620 y(putation)p Fk(,)23 b(pages)f(345{374.)i(JAI)c(Press,)j(Green)o(wic)o
(h,)f(CT,)f(1989.)38 b(F)l(at-T)l(rees)21 b(are)h(a)301 1692
y(class)d(of)e(routing)i(net)o(w)o(orks)e(in)g(parallel)j(computation.)e(Giv)
o(en)f(a)g(set)h(of)f(messages)h(to)301 1764 y(send,)j(the)e(c)o(hoice)g(is)i
(made)e(at)h(random)h(of)f(whic)o(h)g(message)g(is)g(to)g(b)q(e)g(sen)o(t)f
(at)h(what)301 1836 y(time.)15 b(This)h(approac)o(h)f(is)h(di\013eren)o(t)f
(from)g(that)g(of)g([V)l(al82)q(].)f(See)h(also)h Fj(Pr)n(o)n(c.)f(17th)h(A)o
(nn.)301 1909 y(A)o(CM)h(Symp.)h(on)f(The)n(ory)g(of)g(Computing)t
Fk(,)g(1985,)g(pp.)f(241{249.)0 2022 y([GM84])142 b(S.)17 b(Goldw)o(asser)i
(and)f(S.)f(Macali.)25 b(Probabilisti)q(c)19 b(encryption.)25
b Fj(Journal)18 b(of)g(Computer)301 2095 y(and)c(System)g(Scienc)n(es)p
Fk(,)h(28\(2\):270{299,)h(1984.)g(This)d(pap)q(er)g(in)o(tro)q(duces)g(a)g
(new)f(proba-)301 2167 y(bilistic)i(encryption)e(tec)o(hnique.)f(It)g(also)j
(con)o(tains)f(an)f(excellen)o(t)f(in)o(tro)q(duction)j(to)e(other)301
2239 y(public)h(k)o(ey)e(cryptosystems)g(with)i(discussion)h(on)e(ob)s
(jections)h(to)f(cryptosystems)g(based)301 2311 y(on)17 b(trap)q(do)q(or)h
(functions.)0 2425 y([GMR88])106 b(S.)21 b(Goldw)o(asser,)i(S.)d(Micali,)j
(and)e(R.)f(Riv)o(est.)35 b(A)20 b(digital)j(signature)f(sc)o(heme)e(secure)
301 2497 y(against)13 b(adaptiv)o(e)f(c)o(hosen-message)f(attac)o(k.)i
Fj(SIAM)f(Journal)h(on)g(Computing)p Fk(,)f(17:281{)301 2570
y(308,)17 b(1988.)23 b(This)17 b(is)h(a)e(companion)i(pap)q(er)f(of)f
([KPU88].)938 2828 y(118)p eop
bop 0 195 a Fk([GMR89])106 b(S.)15 b(Goldw)o(asser,)h(S.)f(Macali,)h(and)f
(C.)g(Rac)o(k)o(o\013.)k(The)c(kno)o(wledge)g(complexit)o(y)g(of)g(in)o(ter-)
301 267 y(activ)o(e)e(pro)q(of)h(systems.)i Fj(SIAM)e(Journal)g(on)h
(Computing)p Fk(,)f(pages)g(186{208,)i(1989.)h(This)301 340
y(pap)q(er)j(\014rst)f(app)q(eared)g(in)h Fj(Pr)n(o)n(c.)e(17th)i(A)o(nn.)h
(A)o(CM)e(Symp.)g(on)h(The)n(ory)f(of)h(Comput-)301 412 y(ing)p
Fk(,)e(1985,)h(pp.)d(291{304.)k(It)d(in)o(tro)q(duces)g(the)g(imp)q(ortan)o
(t)h(notion)h(of)f(zero-kno)o(wledge)301 484 y(in)o(teractiv)o(e)g(pro)q
(ofs.)h(The)f(authors)h(sho)o(w)g(that)f(it)h(is)f(p)q(ossible)j(to)d(pro)o
(v)o(e)f(that)i(certain)301 556 y(theorems)d(are)h(true)f(without)h
(divulging)i(wh)o(y)d(this)h(is)g(so.)0 668 y([GMV91])105 b(J.)24
b(Gil,)j(Y.)c(Matias,)j(and)f(U.)e(Vishkin.)44 b(T)l(o)o(w)o(ards)25
b(a)f(theory)g(of)g(nearly)g(constan)o(t-)301 740 y(time)17
b(parallel)h(algorithms.)24 b(In)16 b Fj(Pr)n(o)n(c.)h(32nd)h(A)o(nn.)g(IEEE)
g(Symp.)f(on)h(F)l(oundations)g(of)301 812 y(Computer)h(Scienc)n(e)p
Fk(,)g(pages)f(698{710,)j(1991.)26 b(This)19 b(pap)q(er)f(presen)o(ts)f(a)h
(paradigm)h(for)301 885 y(obtaining)f Fh(O)q Fk(\(log)637 863
y Fd(\003)665 885 y Fh(n)p Fk(\))d(running)h(time)e(for)h(problems)g(suc)o(h)
g(as)g(directory)g(main)o(tenance,)301 957 y(load)j(balancing)h(and)d
(hashing)j(using)e Fh(n=)8 b Fk(log)1153 935 y Fd(\003)1181
957 y Fh(n)16 b Fk(pro)q(cessors.)0 1068 y([GMW87])92 b(O.)21
b(Goldreic)o(h,)h(S.)e(Micali,)j(and)e(A.)f(Wigderson.)36 b(Ho)o(w)20
b(to)i(pla)o(y)f(an)o(y)f(men)o(tal)h(game)301 1141 y(or)e(a)f(completeness)g
(theorem)f(for)h(proto)q(cols)i(with)f(honest)f(ma)s(jorit)o(y)l(.)26
b(In)17 b Fj(Pr)n(o)n(c.)h(19th)301 1213 y(A)o(nn.)d(A)o(CM)f(Symp.)h(on)f
(The)n(ory)f(of)i(Computing)p Fk(,)f(pages)f(218{229,)j(1987.)h(Goldreic)o(h)
d(et)301 1285 y(al.)i(demonstrate)f(the)g(use)g(of)g(zero-kno)o(wledge)h(pro)
q(ofs)g(on)f(pro)o(ving)h(the)f(completeness)301 1357 y(theorem)h(for)h
(proto)q(cols)h(with)f(honest)g(ma)s(jorit)o(y)l(.)0 1469 y([GMW91])92
b(O.)13 b(Goldreic)o(h,)h(S.)f(Micali,)h(and)g(A.)e(Wigderson.)17
b(Pro)q(ofs)e(that)e(yield)h(nothing)h(but)e(their)301 1541
y(v)m(alidit)o(y)k(or)e(all)h(languages)h(in)f(NP)e(ha)o(v)o(e)g(zero-kno)o
(wledge)i(pro)q(of)g(systems.)i Fj(Journal)e(of)301 1614 y(the)k(A)o(CM)p
Fk(,)d(38\(1\):691{729,)k(1991.)28 b(They)17 b(sho)o(w)i(that)f(for)g(a)h
(language)h Fh(L)e Fk(in)g Fj(NP)g Fk(and)301 1686 y(a)i(string)h
Fh(w)g Fk(in)f Fh(L)p Fk(,)h(there)e(exists)h(a)g(probabilistic)j(in)o
(teractiv)o(e)c(pro)q(of)i(that)f(e\016cien)o(tly)301 1758
y(demonstrates)14 b(mem)o(b)q(ership)f(of)g Fh(x)g Fk(in)h
Fh(L)f Fk(without)i(con)o(v)o(eying)d(additional)17 b(information.)301
1830 y(Previously)l(,)23 b(zero-kno)o(wledge)f(pro)q(ofs)h(w)o(ere)d(kno)o
(wn)h(only)h(for)g(some)f(problems)h(that)301 1902 y(w)o(ere)f(in)g(b)q(oth)h
Fj(NP)f Fk(and)h Fj(c)n(o-NP)5 b Fk(.)21 b(A)f(preliminary)i(v)o(ersion)g(of)
f(this)h(pap)q(er)f(app)q(eared)301 1975 y(in)e Fj(Pr)n(o)n(c.)f(27th)h(A)o
(nn.)h(IEEE)f(Symp.)g(on)h(F)l(oundations)g(of)f(Computer)g(Scienc)n(e)p
Fk(,)h(1986,)301 2047 y(under)13 b(the)f(title)h(\\Pro)q(ofs)h(that)f(yield)g
(nothing)h(but)f(their)g(v)m(alidit)o(y)g(and)g(a)g(metho)q(dology)301
2119 y(of)k(cryptographic)g(proto)q(col)h(design.".)0 2231
y([Gol92])150 b(M.)18 b(Goldwurm.)28 b(Probabilistic)21 b(estimation)e(of)g
(the)f(n)o(um)o(b)q(er)f(of)h(pre\014xes)g(of)g(a)h(trace.)301
2303 y Fj(The)n(or)n(etic)n(al)g(Computer)g(Scienc)n(e)p Fk(,)i(92:249{268,)g
(1992.)29 b(The)19 b(author)g(uses)f(the)h(result)301 2375
y(to)e(determine)f(the)g(b)q(eha)o(vior)h(of)f(sev)o(eral)g(algorithms)j
(relating)f(to)e(trace)g(languages.)0 2487 y([Gon84])136 b(G.H.)16
b(Gonnet.)25 b(Determining)18 b(the)f(equiv)m(alence)g(of)h(expressions)g(in)
f(random)h(p)q(olyno-)301 2559 y(mial)j(time.)29 b(In)19 b
Fj(Pr)n(o)n(c.)g(16th)h(A)o(nn.)h(A)o(CM)f(Symp.)g(on)g(The)n(ory)f(of)h
(Computing)p Fk(,)g(pages)301 2631 y(334{341,)g(1984.)26 b(Hashing)19
b(functions)f(are)g(used)f(to)h(determine)e(algebraic)j(expression)301
2704 y(equiv)m(alence)f(with)g(a)f(small)i(probabilit)o(y)g(of)e(error.)g
(The)g(probabilit)o(y)i(of)f(error)f(can)g(b)q(e)938 2828 y(119)p
eop
bop 301 195 a Fk(made)12 b(arbitrarily)h(small,)g(dep)q(ending)g(on)f(the)f
(n)o(um)o(b)q(er)g(of)g(iterations)j(of)d(the)h(algorithm.)301
267 y(See)k([Gon86)q(])g(for)h(some)f(related)g(w)o(ork.)0
379 y([Gon86])136 b(G.H.)14 b(Gonnet.)20 b(New)14 b(results)i(for)f(random)h
(determination)g(of)f(equiv)m(alence)g(of)g(expres-)301 451
y(sions.)27 b(In)17 b(B.W.)g(Char,)h(editor,)g Fj(ISSA)o(C)h('86:)24
b(Pr)n(o)n(c.)18 b(Int'l.)h(Symp.)g(on)g(Symb)n(olic)g(and)301
523 y(A)o(lgebr)n(aic)i(Computation)p Fk(,)e(pages)h(127{131.)h(A)o(CM)d
(Press,)i(1986.)30 b(Some)19 b(op)q(en)g(prob-)301 596 y(lems)h(in)g(the)g
(same)f(general)i(area)f(as)g(that)g(co)o(v)o(ered)e(b)o(y)h([Gon84)q(])g
(are)h(solv)o(ed)g(in)g(this)301 668 y(pap)q(er.)0 780 y([GRSS93])97
b(M.)22 b(Golin,)k(R.)c(Raman,)i(C.)e(Sc)o(h)o(w)o(arz,)h(and)g(M.)f(Smid.)40
b(Randomized)23 b(data)h(struc-)301 852 y(tures)15 b(for)f(the)h(dynamic)f
(closest-pair)j(problem.)h(In)c Fj(Pr)n(o)n(c.)h(F)l(ourth)h(A)o(nn.)g(A)o
(CM-SIAM)301 924 y(Symp.)f(on)f(Discr)n(ete)h(A)o(lgorithms)p
Fk(,)e(pages)h(301{310,)i(Austin,)d(TX,)f(Jan)o(uary)i(1993.)j(The)301
996 y(authors)22 b(describ)q(e)e(a)h(new)f(randomized)h(data)g(structure,)f
(the)g Fj(sp)n(arse)g(p)n(artition)t Fk(,)g(for)301 1068 y(solving)f(the)d
(dynamic)g(closest-pair)j(problem.)d(Using)h(this)g(data)g(structure,)f(the)g
(clos-)301 1141 y(est)k(pair)h(of)f(a)g(set)g(of)g Fh(n)g Fk(p)q(oin)o(ts)h
(in)g Fh(k)r Fk(-dimensional)h(space,)e(for)g(an)o(y)g(\014xed)g
Fh(k)r Fk(,)g(can)g(b)q(e)301 1213 y(found)e(in)f(constan)o(t)h(time.)e(If)h
(the)f(p)q(oin)o(ts)j(are)d(c)o(hosen)h(from)g(a)g(\014nite)h(univ)o(erse,)e
(and)i(if)301 1285 y(the)13 b(\015o)q(or)i(function)f(is)f(a)o(v)m(ailable)j
(at)d(unit-cost,)i(then)e(the)g(data)h(structure)f(supp)q(orts)h(in-)301
1357 y(sertions)h(in)o(to)g(and)f(deletions)h(from)f(the)f(set)h(in)h(exp)q
(ected)d Fh(O)q Fk(\(log)f Fh(n)p Fk(\))j(time)g(and)g(requires)301
1430 y(exp)q(ected)k Fh(O)q Fk(\()p Fh(n)p Fk(\))h(space.)f(Here,)f(it)i(is)g
(assumed)g(that)g(the)f(up)q(dates)h(are)f(c)o(hosen)h(b)o(y)f(an)301
1502 y(adv)o(ersary)c(who)h(do)q(es)g(not)g(kno)o(w)f(the)g(random)g(c)o
(hoices)g(made)g(b)o(y)g(the)g(data)h(structure.)0 1614 y([GS89])160
b(S.)22 b(Goldw)o(asser)i(and)f(M.)e(Sipser.)40 b(Priv)m(ate)23
b(coins)g(v)o(ersus)f(public)h(coins)g(in)g(in)o(terac-)301
1686 y(tiv)o(e)g(pro)q(of)i(systems.)41 b Fj(A)n(dvanc)n(es)25
b(in)f(Computing)h(R)n(ese)n(ar)n(ch)d(5:)35 b(R)n(andomness)24
b(and)301 1758 y(Computation)p Fk(,)f(1989.)38 b(This)23 b(w)o(ork)f
(establishes)h(equiv)m(alence)e(b)q(et)o(w)o(een)g(the)g(notions)301
1830 y(of)c(in)o(teractiv)o(e)f(pro)q(ofs)i(in)o(tro)q(duced)e(in)h([GMR89)q
(])e(and)i([BM88].)e(\(A)h(preliminary)i(v)o(er-)301 1902 y(sion)e(app)q
(eared)f(in)g Fj(Pr)n(o)n(c.)f(18th)i(A)o(nn.)g(A)o(CM)f(Symp.)g(on)h(The)n
(ory)f(of)g(Computing)p Fk(,)g(1986,)301 1975 y(pp.)h(59{68\).)0
2086 y([Gup93])133 b(R.)16 b(Gupta.)23 b(\010-test:)f(P)o(erfect)15
b(hashed)i(index)f(test)h(for)f(resp)q(onse)h(v)m(alidation.)25
b(In)16 b Fj(Pr)n(o)n(c.)301 2159 y(1993)k(IEEE)f(Int'l.)i(Conf.)f(on)g
(Computer)f(Design)p Fk(,)h(Cam)o(bridge,)f(MA,)f(Oct)g(1993.)30
b(A)301 2231 y(sc)o(heme)23 b(for)h(c)o(hec)o(king)f(the)h(\014delit)o(y)g
(of)h(test)f(resp)q(onses)g(generated)g(b)o(y)g(a)g(sp)q(ecially)301
2303 y(tailored)f(sequence)e(of)h(test)f(inputs)i(is)f(describ)q(ed.)f
(Randomized)h(searc)o(h)g(is)g(used)g(to)301 2375 y(compute)d(a)g(sp)q(ecial)
h(p)q(erfect)f(hashing)h(function)g Fh(h)p Fk(\()p Fh(x)p Fk(\))e(that)i(map)
f(the)f(exp)q(ected)g(test)301 2447 y(outcomes)j(to)f(the)g(sequence)g([1)8
b(.)g(.)g(.)f Fh(m)p Fk(].)20 b(This)h(sequence)e(is)i(c)o(hec)o(k)o(ed)d(b)o
(y)i(a)h(hardw)o(are)301 2520 y(implemen)o(tation)d(of)e Fh(h)p
Fk(\()p Fh(x)p Fk(\))g(and)h(an)g(up-coun)o(ter.)0 2631 y([GW86])137
b(A.)20 b(G.)g(Green)o(b)q(erg)g(and)h(A.)e(W)l(eiss.)34 b(A)20
b(lo)o(w)o(er)g(b)q(ound)i(for)e(probabilisti)q(c)j(algorithms)301
2704 y(for)15 b(\014nite)g(state)g(mac)o(hines.)j Fj(Journal)d(of)h(Computer)
g(and)g(System)g(Scienc)n(es)p Fk(,)g(33\(1\):88,)938 2828
y(120)p eop
bop 301 196 a Fk(August)16 b(1986.)22 b(A)15 b(pro)q(of)i(that)f(the)g
(running)h(time)e(cannot)h(b)q(e)g(b)q(etter)f(than)i(\012\(2)1827
164 y Fe(n)p 1827 170 20 2 v 1829 191 a Fb(2)1853 196 y Fh(n)p
Fk(\))f(is)301 269 y(presen)o(ted.)0 380 y([GY89])150 b(R.)12
b(Graham)g(and)g(A.)f(Y)l(ao.)j(On)e(the)f(improbabilit)o(y)j(of)e(reac)o
(hing)h(Byzan)o(tine)e(consensus.)301 452 y(In)h Fj(Pr)n(o)n(c.)h(21st)g(A)o
(nn.)i(A)o(CM)e(Symp.)g(on)h(The)n(ory)f(of)h(Computing)p Fk(,)f(pages)g
(467{478,)i(1989.)301 524 y(The)i(maxim)o(um)f(probabilit)o(y)j
Fh(\014)908 531 y Ff(n;t)970 524 y Fk(of)e(obtaining)i(consensus)e(is)g
(attac)o(k)o(ed)f(for)h Fh(t)d Fg(\025)g Fh(n=)p Fk(3)301 597
y(\(F)l(or)19 b(smaller)h(v)m(alues,)f(deterministic)g(algorithms)i(are)e(a)o
(v)m(ailable,)i(so)e Fh(\014)1672 604 y Ff(n;t)1735 597 y Fk(=)f(1.\))g(The)
301 669 y(smallest)i(non-trivial)g(case,)f Fh(\014)880 676
y Fl(3)p Ff(;)p Fl(1)926 669 y Fk(,)f(is)h(sho)o(wn)g(to)g(b)q(e)f(\()1308
619 y Fc(q)p 1349 619 19 2 v 1349 669 a Fk(\(5\))13 b Fg(\000)f
Fk(1\))p Fh(=)p Fk(2,)19 b(the)f(recipro)q(cal)i(of)301 741
y(the)c(golden)i(ratio.)f(In)f(a)h(restricted)f(mo)q(del,)h(it)f(is)i(sho)o
(wn)f(that)f(for)h(all)h Fh(\017)p Fk(,)d(0)g Fh(<)f(\017)f(<)h
Fk(1,)j(if)301 813 y Fh(t=n)d(>)g Fk(1)e Fg(\000)556 792 y
Fl(1)p Fd(\000)p Fl(log)5 b(1)p Fd(\000)p Ff(\017)712 780 y
Fb(1)p Fe(=)p Fb(2)p 528 802 260 2 v 528 832 a Fl(log)h(\(1)p
Fd(\000)p Fl(\(1)p Fd(\000)p Ff(\017)p Fl(\))726 822 y Fb(1)p
Fe(=)p Fb(2)774 832 y Fl(\))793 813 y Fk(,)15 b(then)h Fh(\014)961
820 y Ff(n;t)1021 813 y Fh(<)e(\017)p Fk(.)0 925 y([Had86])137
b(V.)18 b(Hadzilacos.)29 b(Ben-Or's)18 b(randomized)h(proto)q(col)h(for)f
(consensus)g(in)g(async)o(hronous)301 997 y(systems.)32 b(Course)20
b(notes:)28 b(Computer)20 b(Science)f(2221F,)i(Departmen)o(t)e(of)h(Computer)
301 1069 y(Science,)h(Univ)o(ersit)o(y)f(of)h(T)l(oron)o(to,)i(Octob)q(er)e
(1986.)36 b(An)20 b(elegan)o(t)h(pro)q(of)h(of)f(the)g(cor-)301
1141 y(rectness)d(of)g(Ben-Or's)g([BO83)o(])g(probabilistic)j(algorithm)f
(for)e(Byzan)o(tine)g(agreemen)o(t)301 1214 y(is)f(presen)o(ted.)0
1325 y([Hag91])140 b(T.)16 b(Hagerup.)21 b(Constan)o(t-time)c(parallel)h(in)o
(teger)d(sorting.)22 b(In)16 b Fj(Pr)n(o)n(c.)g(23r)n(d)g(A)o(nn.)h(A)o(CM)
301 1397 y(Symp.)g(on)g(The)n(ory)e(of)i(Computing)p Fk(,)f(pages)g(299{306,)
i(New)d(Orleans,)h(LA,)f(Ma)o(y)g(1991.)301 1470 y(Standard)i(sorting)h
(algorithms)f(return)f(the)f(elemen)o(ts)g(of)h(an)g(arra)o(y)g(in)h
(nondecreasing)301 1542 y(order.)f(In)g(the)g Fj(chain)i(sorting)g(pr)n
(oblem)t Fk(,)e(the)g(elemen)o(ts)f(of)i(a)g(link)o(ed)f(list)i(are)e
(returned)301 1614 y(in)k(nondecreasing)h(order.)d(This)j(problem)e(can)g(b)q
(e)h(view)o(ed)e(as)i(more)f(primitiv)o(e)g(than)301 1686 y(the)d(standard)i
(sorting)f(problem)g(as)g(it)f(do)q(es)h(not)g(in)o(v)o(olv)o(e)e(list)j
(ranking)f(computation,)301 1758 y(whic)o(h)i(is)h(implicit)g(in)f(the)g
(standard)h(problem.)e(Hagerup)h(presen)o(ts)g(sev)o(eral)f(e\016cien)o(t)301
1831 y(randomized)h(parallel)h(algorithms)g(for)e(the)g(c)o(hain)g(sorting)h
(problem,)g(some)f(of)g(whic)o(h)301 1903 y(require)e(only)h(constan)o(t)g
(exp)q(ected)e(time.)0 2014 y([Har87])145 b(D.)14 b(Harel.)i
Fj(A)o(lgorithmics:)22 b(The)15 b(Spirit)g(of)g(Computing)p
Fk(.)i(Addison-W)l(esley)l(,)e(1987.)j(This)301 2087 y(b)q(o)q(ok)26
b(con)o(tains)e(a)h(w)o(ell-written)g(c)o(hapter)e(on)h(probabilisti)q(c)i
(algorithms)g(and)f(their)301 2159 y(complexit)o(y)16 b(theory)l(.)0
2270 y([Has90])145 b(J.)19 b(Hastad.)31 b(Pseudo-random)20
b(generators)g(under)g(uniform)f(assumptions.)32 b(In)19 b
Fj(Pr)n(o)n(c.)301 2342 y(22nd)g(A)o(nn.)h(A)o(CM)e(Symp.)h(on)g(The)n(ory)f
(of)g(Computing)p Fk(,)h(pages)f(395{404,)j(Baltimore,)301
2415 y(MD,)h(Ma)o(y)f(1990.)39 b(Hastad)23 b(pro)o(v)o(es)e(that)h(giv)o(en)g
(a)g(function)h Fh(f)k Fk(that)22 b(is)h(one-w)o(a)o(y)e(in)301
2487 y(the)d(uniform)g(mo)q(del)g(\(i.e.,)e(cannot)i(b)q(e)g(in)o(v)o(erted)e
(except)h(on)h(a)f(v)m(anishing)j(fraction)f(of)301 2559 y(the)j(inputs)h(b)o
(y)e(a)i(probabilistic)i(p)q(olynomial)f(time)e(T)l(uring)h(mac)o(hine\),)g
(it)f(is)h(p)q(ossi-)301 2631 y(ble)e(to)f(construct)g(a)h(pseudo)f(random)h
(bit-generator)g(that)g(passes)f(all)i(probabilistic)301 2704
y(p)q(olynomial)d(time)d(statistical)j(tests.)938 2828 y(121)p
eop
bop 0 195 a Fk([Her92])147 b(T.)16 b(Herman.)j(Self-stabilizatio)q(n:)24
b(randomness)16 b(to)g(reduce)e(space.)20 b Fj(Distribute)n(d)d(Com-)301
267 y(puting)p Fk(,)24 b(6\(2\):95{98,)g(1992.)38 b(Herman)20
b(uses)i(randomization)h(to)f(con)o(v)o(ert)e(Dijkstra's)301
340 y(k-state)f(m)o(utual)h(exclusion)g(proto)q(col)g(for)f(unidirectional)j
(rings)e(to)f(a)g(3-state)h(proto-)301 412 y(col.)0 526 y([HM87])143
b(A.)22 b(Ha)s(jnal)h(and)h(W.)e(Maass.)41 b(Threshold)24 b(circuits)f(of)g
(b)q(ounded)h(depth.)40 b(In)22 b Fj(Pr)n(o)n(c.)301 598 y(28th)e(A)o(nn.)g
(IEEE)g(Symp.)f(on)h(F)l(oundations)h(of)e(Computer)h(Scienc)n(e)p
Fk(,)h(pages)e(99{109,)301 670 y(1987.)f(P)o(olynomial)d(size)e(threshold)h
(circuits)g(of)g(b)q(ounded)g(depth)f(are)g(view)o(ed)f(as)i(mec)o(h-)301
742 y(anisms)19 b(for)f(parallel)h(computations,)g(where)e(elemen)o(ts)g(of)g
(the)h(circuit)f(are)h(threshold)301 814 y(gates)23 b(\(output)g(high)h(if)f
(the)f(w)o(eigh)o(ted)g(sum)h(of)g(inputs)g(exceeds)e(a)i(set)f(threshold\).)
301 887 y(Probabilisti)q(c,)28 b(deterministic,)e(imprecise)f(and)f
(unreliable)i(threshold)f(circuits)g(are)301 959 y(considered.)0
1073 y([Hoa74])140 b(C.)19 b(A.)f(R.)g(Hoare.)28 b(Monitors:)g(An)18
b(op)q(erating)j(system)d(structuring)i(concept.)28 b Fj(Com-)301
1145 y(munic)n(ations)19 b(of)f(the)h(A)o(CM)p Fk(,)d(17\(2\):549{557,)k
(Octob)q(er)d(1974.)25 b(Erratum)17 b(in)h Fj(Commu-)301 1217
y(nic)n(ations)k(of)f(the)g(A)o(CM)p Fk(,)f(V)l(ol.)g(18,)h(No.)f(2,)h(1975.)
g(This)h(pap)q(er)e(con)o(tains)h(one)g(of)f(the)301 1289 y(\014rst)f
(solutions)h(to)e(the)g(Dining)i(Philosophers)g(problem.)e(A)f(probabilisti)q
(c)j(algorithm)301 1362 y(for)d(this)g(problem)g(is)g(the)f(sub)s(ject)f(of)i
(Section)g(3.1.)0 1475 y([Hoa78])140 b(C.)21 b(A.)f(R.)g(Hoare.)34
b(Comm)o(unicating)22 b(Sequen)o(tial)f(Pro)q(cesses.)35 b
Fj(Communic)n(ations)21 b(of)301 1548 y(the)h(A)o(CM)p Fk(,)d(21:666{677,)k
(August)e(1978.)33 b(Hoare's)20 b(no)o(v)o(el)g(language)i(CSP)e(com)o(bined)
301 1620 y(nondeterminism)13 b(and)f(sync)o(hronized)f(message)h(passing.)h
(Since)e(its)h(inception,)h(v)m(arious)301 1692 y(sc)o(hemes)h(ha)o(v)o(e)g
(b)q(een)g(prop)q(osed)i(to)f(add)g(output)g(guards)h(to)f(the)f(language.)i
(In)f(Section)301 1764 y(3.2,)i(w)o(e)e(discuss)j(a)e(probabilisti)q(c)j
(algorithm)f(for)e(output)h(guards.)0 1878 y([Hoa85])140 b(C.)17
b(A.)f(R.)g(Hoare.)24 b Fj(Communic)n(ating)18 b(Se)n(quential)j(Pr)n(o)n(c)n
(esses)p Fk(.)h(Pren)o(tice-Hall)17 b(In)o(terna-)301 1950
y(tional,)g(U.K.,)c(1985.)20 b(Hoare's)14 b(b)q(o)q(ok)i(con)o(tains)g(an)f
(elegan)o(t)g(message-passing)i(solution)301 2022 y(to)c(the)f(Dining)i
(Philosophers)h(problem.)d(A)g(probabilistic)j(algorithm)f(for)f(this)g
(problem)301 2095 y(is)k(the)f(sub)s(ject)g(of)h(Section)f(3.1.)0
2208 y([Hop81])137 b(J.)11 b(E.)g(Hop)q(croft.)j(Recen)o(t)c(directions)i(in)
g(algorithmic)h(researc)o(h.)g(In)e(P)l(.)g(Deussen,)h(editor,)301
2281 y Fj(Pr)n(o)n(c.)17 b(Fifth)g(Conf.)h(on)g(The)n(or)n(etic)n(al)f
(Computer)h(Scienc)n(e)p Fk(,)g(pages)f(123{134.)i(Springer-)301
2353 y(V)l(erlag,)e(1981.)22 b(This)c(w)o(ork)e(is)h(an)g(early)f(surv)o(ey)g
(of)g(probabilisti)q(c)j(algorithms.)0 2467 y([HS85])161 b(S.)16
b(Hart)g(and)h(M.)e(Sharir.)22 b(Concurren)o(t)16 b(probabilistic)j
(programs,)e(or:)k(Ho)o(w)16 b(to)g(sc)o(hed-)301 2539 y(ule)24
b(if)f(y)o(ou)g(m)o(ust.)41 b Fj(SIAM)24 b(Journal)f(on)h(Computing)p
Fk(,)h(14\(4\):991{1012)q(,)i(No)o(v)o(em)o(b)q(er)301 2611
y(1985.)g(The)18 b(authors)h(analyze)f(the)g(w)o(orst-case)g(probabilit)o(y)i
(of)e(termination)h(of)f(a)g(set)938 2828 y(122)p eop
bop 301 195 a Fk(of)18 b(concurren)o(tly)f(running)h(pro)q(cesses.)g(Eac)o(h)
f(pro)q(cess)h(ma)o(y)f(use)g(randomization,)i(and)301 267
y(fair)e(in)o(terlea)o(ving)h(is)f(assumed.)0 381 y([HT82])153
b(J.)21 b(H.)g(Halton)h(and)g(R.)f(T)l(erada.)37 b(A)21 b(fast)h(algorithm)i
(for)d(the)g(Euclidean)i(T)l(ra)o(v)o(eling)301 453 y(Salesman)h(problem,)h
(optimal)g(with)e(probabilit)o(y)i(one.)42 b Fj(SIAM)23 b(Journal)h(on)g
(Com-)301 526 y(puting)p Fk(,)h(11\(1\),)g(F)l(eb.)d(1982.)41
b(Halton)24 b(and)f(T)l(erada)g(presen)o(t)f(an)h(algorithm)h(for)f(the)301
598 y(T)l(ra)o(v)o(elling)e(Salesman)e(Problem)h(o)o(v)o(er)d
Fh(n)i Fk(p)q(oin)o(ts,)i(whic)o(h,)e(for)g(appropriate)h(c)o(hoice)f(of)301
670 y(a)g(function)g Fh(\033)g Fk(tak)o(es)f(less)g(than)h
Fh(n\033)r Fk(\()p Fh(n)p Fk(\))f(time)f(and)i(asymptotically)h(con)o(v)o
(erges)d(to)h(the)301 742 y(minim)o(um)f(length)g(tour,)f(with)h(probabilit)o
(y)h(one,)e(as)h Fh(n)d Fg(!)g(1)p Fk(.)0 856 y([ILL89])147
b(R.)17 b(Impagliazzo,)h(L.)e(Levin,)h(and)h(M.)e(Lub)o(y)l(.)23
b(Pseudorandom)18 b(generation)g(from)f(one-)301 928 y(w)o(a)o(y)12
b(functions.)k(In)d Fj(Pr)n(o)n(c.)f(21st)i(A)o(nn.)h(A)o(CM)e(Symp.)h(on)g
(The)n(ory)f(of)h(Computing)p Fk(,)f(pages)301 1000 y(12{24,)k(1989.)k(The)15
b(existence)f(of)i(one-w)o(a)o(y)f(functions)h(is)f(sho)o(wn)h(to)g(b)q(e)f
(necessary)f(and)301 1073 y(su\016cien)o(t)20 b(for)g(the)f(existence)g(of)h
(pseudorandom)h(generators.)f(A)f(one-w)o(a)o(y)h(function)301
1145 y Fh(F)7 b Fk(\()p Fh(x)p Fk(\))15 b(is)h(one)f(that)h(is)g(easily)h
(computed,)e(but)g(giv)o(en)h Fh(F)7 b Fk(\()p Fh(x)p Fk(\),)14
b(it)i(should)g(not)g(b)q(e)g(p)q(ossible)301 1217 y(to)h(easily)h(reco)o(v)o
(er)d Fh(x)p Fk(,)h(either)h(with)g(a)g(small)h(circuit)f(or)g(with)h(a)f
(fast)g(algorithm.)h(Algo-)301 1289 y(rithms)g(for)e(pseudorandom)i
(generators)g(are)e(pro)o(vided)h(that)h(use)e(one-w)o(a)o(y)h(functions)301
1362 y(whose)j(in)o(v)o(erses)f(are)h(di\016cult)g(to)f(obtain)i(using)g
(small)g(circuits)f(or)f(fast)h(algorithms.)301 1434 y(See)c(also)i([Has90].)
0 1548 y([IM83])162 b(O.)17 b(H.)f(Ibarra)i(and)f(S.)g(Moran.)24
b(Probabilisti)q(c)c(algorithms)f(for)e(deciding)h(the)f(equiv)m(a-)301
1620 y(lence)g(of)g(straigh)o(t-line)j(programs.)k Fj(Journal)18
b(of)g(the)h(A)o(CM)p Fk(,)d(30\(1\):217{228,)k(Jan)o(uary)301
1692 y(1983.)29 b(They)18 b(study)g(the)g(complexit)o(y)f(of)i(deciding)g
(the)f(equiv)m(alence)g(of)h(straigh)o(t-line)301 1764 y(programs,)g(i.e.,)e
(those)h(in)h(whic)o(h)f(there)f(are)g(no)i(lo)q(ops,)g(and)g(only)f
(statemen)o(ts)f(of)h(the)301 1836 y(form)f(x)g(:=)f(y)l(,)h(x)f(:=)h(y)f(+)h
(z,)f(x)h(:=)g(y)f(-)h(z,)g(and)g(x)g(:=)f(y)h(*)g(z)g(are)g(p)q(ermitted.)f
(Giv)o(en)h(t)o(w)o(o)301 1909 y(suc)o(h)j(programs)i(P)e(and)h(Q,)f(Ibarra)h
(and)g(Moran)f(ask)h(the)f(question:)30 b(Is)20 b(P)h(=)f(Q?)h(If)301
1981 y(the)c(domain)h(of)f(the)g(v)m(ariables)i(is)e(an)h(in\014nite)g
(\014eld)f(suc)o(h)g(as)g(the)g(in)o(tegers,)g(then)g(they)301
2053 y(sho)o(w)g(that)g(there)e(exists)i(a)g(p)q(olynomial-time)i
(probabilistic)g(algorithm)f(to)f(solv)o(e)f(this)301 2125
y(problem.)h(If)e(the)h(domain)i(is)f(a)f(\014nite)h(\014eld,)f(the)g
(problem)h(is)g(sho)o(wn)g(to)g(b)q(e)f Fj(NP)p Fk(-hard.)0
2239 y([IR81])171 b(A.)13 b(Itai)i(and)f(M.)f(Ro)q(deh.)18
b(The)c(lord)h(of)f(the)f(ring)i(or)f(probabilisti)q(c)i(metho)q(ds)f(for)f
(break-)301 2311 y(ing)19 b(symmetry)e(in)h(distributed)h(net)o(w)o(orks.)25
b(T)l(ec)o(hnical)18 b(Rep)q(ort)g(RJ)g(3110,)h(IBM,)d(San)301
2384 y(Jose,)22 b(1981.)34 b(Itai)21 b(and)g(Ro)q(deh)g(consider)g(the)f
(problems)h(of)f(c)o(ho)q(osing)i(a)f(leader)f(and)301 2456
y(determining)c(the)e(size)h(of)g(a)g(ring)h(of)f(indistinguis)q(habl)q(e)i
(pro)q(cessors.)f(If)e(the)g(size)h(of)g(the)301 2528 y(ring)e(is)g(kno)o
(wn,)f(e\016cien)o(t)f(probabilisti)q(c)j(algorithms)g(exit)e(for)g(c)o(ho)q
(osing)i(a)e(leader.)g(Ho)o(w-)301 2600 y(ev)o(er,)k(there)h(exists)h(no)g
(probabilisti)q(c)i(solution)f(to)f(the)f(problem)h(of)g(determining)g(the)
938 2828 y(123)p eop
bop 301 195 a Fk(size)16 b(of)g(a)h(ring)f(that)g(can)g(guaran)o(tee)g(b)q
(oth)h(termination)g(and)g(a)f(non-zero)g(probabilit)o(y)301
267 y(of)h(correctness.)0 379 y([IRM81])126 b(O.)16 b(H.)g(Ibarra,)g(L.)g
(Rosier,)h(and)g(S.)f(Moran.)22 b(Probabilistic)d(algorithms)g(and)e(straigh)
o(t-)301 451 y(line)24 b(programs)f(for)g(some)f(rank)h(decision)g(problems.)
41 b(In)22 b Fj(Information)h(Pr)n(o)n(c)n(essing)301 523 y(L)n(etters)p
Fk(,)g(v)o(olume)e(12,)i(pages)f(227{232,)j(1981.)39 b(Giv)o(en)21
b(a)h(p)q(ositiv)o(e)h(in)o(teger)f Fh(r)g Fk(and)h(a)301 596
y(matrix)18 b Fh(A)f Fk(with)h(p)q(olynomial)i(en)o(tries)d(\(where)g(the)h
(p)q(olynomials)i(are)d(represen)o(ted)g(b)o(y)301 668 y(arbitrarily)23
b(paren)o(thesized)c(arithmetic)i(expressions)g(using)g(+,)f(-,)h(*,)g(and)g
(exp)q(onen-)301 740 y(tiation)h(to)d(a)h(p)q(ositiv)o(e)g(constan)o(t\),)g
(the)f(problem)h(of)g(deciding)g(whether)f Fh(A)g Fk(has)h(rank)301
812 y Fh(r)26 b Fk(is)e(reduced)f(in)i(p)q(olynomial)i(time)c(to)i(the)e
(zero-equiv)m(alence)h(problem)h(\(i.e.,)f(the)301 885 y(problem)17
b(of)g(determining)g(whether)g(a)g(program)g(alw)o(a)o(ys)g(outputs)h(0\))f
(of)g(straigh)o(t-line)301 957 y(programs)h([MT85].)0 1068
y([IZ89])177 b(E.)15 b(Impagliazzo)h(and)f(D.)g(Zuc)o(k)o(erman.)i(Ho)o(w)d
(to)h(recycle)f(random)h(bits.)20 b(In)14 b Fj(Pr)n(o)n(c.)h(30th)301
1141 y(A)o(nn.)i(IEEE)e(Symp.)g(on)h(F)l(oundations)g(of)f(Computer)g(Scienc)
n(e)p Fk(,)h(pages)f(248{253,)i(1989.)301 1213 y(This)22 b(pap)q(er)g(pro)o
(v)o(es)e(that)h(t)o(w)o(o)g(v)o(ery)e(simple)j(pseudo-random)g(n)o(um)o(b)q
(er)e(generators,)301 1285 y(whic)o(h)c(are)f(minor)g(mo)q(di\014cations)j
(of)d(linear)h(congruen)o(tial)h(generator)e(and)h(the)e(simple)301
1357 y(shift)g(register)f(generator,)h(are)e(go)q(o)q(d)j(for)e(amplifying)i
(the)d(correctness)h(of)g(probabilistic)301 1430 y(algorithms.)0
1541 y([Jae81])154 b(G.)20 b(Jaesc)o(hk)o(e.)31 b(Recipro)q(cal)21
b(hashing:)30 b(A)20 b(metho)q(d)g(for)g(generating)h(minimal)h(p)q(erfect)
301 1614 y(hashing)f(functions.)31 b Fj(Communic)n(ations)20
b(of)g(the)g(A)o(CM)p Fk(,)e(24\(12\):829{82)q(3,)k(Dec)d(1981.)301
1686 y(Hash)e(functions,)g(for)f(a)h(k)o(ey)e Fh(x)h Fk(in)h(a)g(set)f
Fh(S)j Fk(of)e(p)q(ositiv)o(e)g(in)o(tegers,)g(of)f(the)g(form)g
Fh(h)p Fk(\()p Fh(x)p Fk(\))e(=)301 1758 y(\()p Fh(C)r(=)p
Fk(\()p Fh(D)q(x)t Fk(+)t Fh(E)s Fk(\)\))i(mo)q(d)e Fh(N)19
b Fk(are)13 b(considered.)g(Though)h(the)f(existence)f(of)h
Fh(h)g Fk(is)h(guaran)o(teed,)301 1830 y(the)g(sc)o(heme)e(su\013ers)j(from)e
(man)o(y)h(practical)h(problems)f(b)q(ecause)g(of)g(exhaustiv)o(e)g(nature)
301 1902 y(of)j(the)f(searc)o(h)g(for)g Fh(h)p Fk(.)0 2014
y([JKS84])135 b(J.)22 b(Ja'Ja',)g(V.)f(K.)g(Prasanna)j(Kumar,)e(and)h(J.)e
(Simon.)38 b(Information)23 b(transfer)f(un-)301 2086 y(der)d(di\013eren)o(t)
g(sets)g(of)g(proto)q(cols.)31 b Fj(SIAM)20 b(Journal)g(on)g(Computing)p
Fk(,)g(13\(4\):840{849,)301 2159 y(No)o(v)o(em)o(b)q(er)e(1984.)34
b(This)21 b(pap)q(er)f(is)h(a)f(study)g(of)g(the)g(comm)o(unication)g
(complexit)o(y)g(of)301 2231 y(information)i(transfer)e(in)h(deterministic,)g
(random,)g(non-deterministic)g(and)g(proba-)301 2303 y(bilistic)15
b(computation)g(mo)q(dels.)e(It)f(is)i(widely)g(conjectured)e(that)h
Fh(P)21 b Fg(\022)14 b Fh(R)g Fg(\022)g Fh(N)5 b(P)21 b Fg(\022)14
b Fh(P)7 b(P)301 2375 y Fk(for)21 b(p)q(olynomial)i(time)d(complexit)o(y)g
(classes.)g(The)h(authors)g(pro)o(v)o(e)e(that)i(exp)q(onen)o(tial)301
2447 y(gaps)d(exist)e(among)h(the)f(corresp)q(onding)j(comm)o(unication)e
(complexit)o(y)f(classes.)0 2559 y([Joh90])149 b(D.)20 b(S.)g(Johnson.)33
b(A)20 b(catalog)h(of)g(complexit)o(y)e(classes.)34 b(In)19
b(J.)h(v)m(an)g(Leeu)o(w)o(en,)g(editor,)301 2631 y Fj(Handb)n(o)n(ok)d(of)g
(The)n(or)n(etic)n(al)g(Computer)g(Scienc)n(e,)i Fk(V)l(olume)c(A:)g
(Algorithms)i(and)f(Com-)301 2704 y(plexit)o(y,)f(c)o(hapter)f(9,)h(pages)h
(67{161.)h(Elsevier)e(and)g(The)g(MIT)f(Press)i(\(co-publishers\),)938
2828 y(124)p eop
bop 301 195 a Fk(1990.)52 b(Johnson)27 b(presen)o(ts)e(an)h(extensiv)o(e)f
(surv)o(ey)g(of)h(computational)i(complexit)o(y)301 267 y(classes.)17
b(Of)e(particular)i(in)o(terest)f(here)f(is)i(his)f(discussion)i(of)e
(randomized,)g(probabilis-)301 340 y(tic,)g(and)h(sto)q(c)o(hastic)h
(complexit)o(y)e(classes.)0 453 y([JS89])173 b(M.)15 b(R.)h(Jerrum)f(and)h
(A.)f(Sinclair.)22 b(Appro)o(ximating)17 b(the)e(p)q(ermanen)o(t.)20
b Fj(SIAM)d(Journal)301 526 y(on)25 b(Computing)p Fk(,)h(18\(6\):1149{117)q
(8,)j(1989.)45 b(Bro)q(der)24 b([Bro86])g(related)g(the)f(task)i(of)301
598 y(appro)o(ximating)h(the)e(p)q(ermanen)o(t)f(of)h(a)g(matrix)h(to)f(that)
g(of)g(uniformly)h(generating)301 670 y(p)q(erfect)18 b(matc)o(hings)i(in)f
(a)g(graph.)h(This)f(pap)q(er)h(giv)o(es)f(a)g(randomized)g(appro)o(ximation)
301 742 y(sc)o(heme)13 b(for)i(the)f(latter)h(problem)f(b)o(y)g(sim)o
(ulating)i(it)f(as)g(a)g(Mark)o(o)o(v)e(c)o(hain)i(whose)g(states)301
814 y(are)j(matc)o(hings)g(in)g(the)f(graph.)g(F)l(or)h(this)g(sc)o(heme)e
(to)h(b)q(e)h(e\016cien)o(t)e(the)h(Mark)o(o)o(v)g(c)o(hain)301
887 y(m)o(ust)g(b)q(e)g(rapidly)i(mixing,)f(i.e.)e(con)o(v)o(erge)g(to)i(its)
g(stationary)g(distribution)i(in)e(a)f(short)301 959 y(time.)0
1073 y([JVV86])126 b(M.)12 b(R.)f(Jerrum,)h(L.)g(G.)g(V)l(alian)o(t,)h(and)g
(V.)e(V.)g(V)l(azirani.)16 b(Random)c(generation)h(of)g(com)o(bi-)301
1145 y(natorial)i(structures)d(from)g(a)h(uniform)g(distribution.)18
b Fj(The)n(or)n(etic)n(al)13 b(Computer)h(Scienc)n(e)p Fk(,)301
1217 y(43:169{188,)i(1986.)g(This)d(pap)q(er)g(considers)g(the)f(class)h(of)g
(problems)g(in)o(v)o(olving)g(the)f(ran-)301 1289 y(dom)17
b(generation)i(of)e(com)o(binatorial)i(structures)e(from)g(a)g(uniform)h
(distribution.)h(It)d(is)301 1362 y(sho)o(wn)j(that)f Fj(exactly)h
Fk(uniform)f(generation)h(of)f(`e\016cien)o(tly)e(v)o(eri\014able')i(com)o
(binatorial)301 1434 y(structures)f(is)g(reducible)f(to)h(appro)o(ximate)g
(coun)o(ting.)0 1548 y([Kal92])150 b(G.)13 b(Kalai.)k(A)12
b(sub)q(exp)q(onen)o(tial)i(randomized)f(simplex)g(algorithm.)k(In)c
Fj(Pr)n(o)n(c.)f(24th)i(A)o(nn.)301 1620 y(A)o(CM)h(Symp.)g(on)g(The)n(ory)f
(of)h(Computing)p Fk(,)f(pages)g(475{482,)j(Victoria,)d(B.C.,)f(Canada,)301
1692 y(Ma)o(y)k(1992.)27 b(A)17 b(randomized)h(v)m(arian)o(t)g(of)g(the)f
(simplex)h(algorithm)h(is)f(presen)o(ted)f(that,)301 1764 y(giv)o(en)j(a)f
(linear)h(program)g(with)g Fh(d)g Fk(v)m(ariables)h(and)e Fh(n)h
Fk(constrain)o(ts,)g(uses)f(an)h(exp)q(ected)301 1836 y(sub)q(exp)q(onen)o
(tial)f(n)o(um)o(b)q(er)c(of)i(arithmetic)f(op)q(erations.)0
1950 y([Kam89])122 b(M.)21 b(Kaminski.)39 b(A)21 b(note)g(on)i
(probabilistical)q(ly)i(v)o(erifying)c(in)o(teger)h(and)g(p)q(olynomial)301
2022 y(pro)q(ducts.)36 b Fj(Journal)22 b(of)f(the)h(A)o(CM)p
Fk(,)e(36\(1\):845{876)q(,)k(1989.)37 b(The)21 b(author)g(describ)q(es)301
2095 y(probabilisti)q(c)16 b(algorithms)g(for)f(v)o(erifying)f(the)f(pro)q
(duct)i(of)f(t)o(w)o(o)g Fh(n)p Fk(-bit)h(in)o(tegers)f(in)g
Fh(O)q Fk(\()p Fh(n)p Fk(\))301 2167 y(bit)20 b(op)q(erations,)h(and)e(for)g
(v)o(erifying)g(the)f(pro)q(duct)i(of)f(t)o(w)o(o)f(p)q(olynomials)k(of)d
(degree)f Fh(n)301 2239 y Fk(o)o(v)o(er)d(in)o(tegral)h(domains)h(in)f(4)p
Fh(n)10 b Fk(+)f Fh(o)p Fk(\()p Fh(n)p Fk(\))15 b(algebraic)i(op)q(erations.)
g(The)f(error)f(probabilit)o(y)301 2311 y(is)i(is)g Fh(o)p
Fk(\()476 2292 y Fl(1)p 446 2300 76 2 v 446 2329 a Ff(n)467
2319 y Fb(1)p Fa(\000)p Fe(\017)528 2311 y Fk(\))f(for)g(an)o(y)g
Fh(\017)e(>)g Fk(0.)0 2425 y([Kar86])144 b(R.)20 b(M.)f(Karp.)33
b(Com)o(binatorics,)23 b(complexit)o(y)d(and)g(randomness.)34
b Fj(Communic)n(ations)301 2497 y(of)22 b(the)h(A)o(CM)p Fk(,)e
(29\(2\):98{109,)k(F)l(ebruary)c(1986.)38 b(This)23 b(is)f(the)f(1985)i(T)l
(uring)g(Aw)o(ard)301 2570 y(Lecture.)e(It)h(traces)g(the)g(dev)o(elopmen)o
(t)f(of)h(com)o(binatorial)i(optimization)g(and)f(com-)301
2642 y(putational)e(complexit)o(y)d(theory)l(.)g(It)f(discusses)j
(probabilistic)h(algorithms)f(and)f(prob-)938 2828 y(125)p
eop
bop 301 195 a Fk(abilistic)23 b(analysis)f(of)f(appro)o(ximation)h
(algorithms)g(for)e Fj(NP)p Fk(-complete)h(optimization)301
267 y(problems.)0 381 y([Kar90])144 b(R.)21 b(M.)f(Karp.)34
b(An)21 b(in)o(tro)q(duction)h(to)f(randomized)h(algorithms.)36
b(T)l(ec)o(hnical)22 b(Rep)q(ort)301 453 y(TR-90-024,)16 b(Computer)e
(Science)e(Division,)k(Univ)o(ersit)o(y)d(of)g(California,)k(Berk)o(eley)l(,)
11 b(CA)301 526 y(94704,)18 b(1990.)23 b(A)16 b(recen)o(t,)e(comprehensiv)o
(e)i(surv)o(ey)f(of)i(randomized)f(algorithms.)0 639 y([Kar91])144
b(R.)23 b(M.)f(Karp.)41 b(Probabilisti)q(c)26 b(recurrence)21
b(relations.)43 b(In)22 b Fj(Pr)n(o)n(c.)h(23r)n(d)f(A)o(nn.)i(A)o(CM)301
711 y(Symp.)17 b(on)g(The)n(ory)e(of)i(Computing)p Fk(,)f(pages)g(190{197,)i
(New)d(Orleans,)h(LA,)f(Ma)o(y)g(1991.)301 784 y(In)g(order)g(to)h(solv)o(e)f
(a)h(problem)f(instance)h(of)f(size)g Fh(x)p Fk(,)g(a)h(divide-and-conquer)g
(algorithm)301 856 y(in)o(v)o(ests)e(an)f(amoun)o(t)h(of)g(w)o(ork)f
Fh(a)p Fk(\()p Fh(x)p Fk(\))g(to)g(break)h(the)f(problem)g(in)o(to)h
(subproblems)h(of)f(sizes)301 928 y Fh(h)329 935 y Fl(1)349
928 y Fk(\()p Fh(x)p Fk(\))p Fh(;)8 b(h)465 935 y Fl(2)484
928 y Fk(\()p Fh(x)p Fk(\))p Fh(;)g Fg(\001)g(\001)g(\001)g
Fh(;)g(h)688 935 y Ff(k)710 928 y Fk(\()p Fh(x)p Fk(\),)k(and)i(then)f(pro)q
(ceeds)g(to)g(solv)o(e)g(the)g(subproblems.)g(When)g(the)301
1000 y Fh(h)329 1007 y Ff(i)360 1000 y Fk(are)k(random)g(v)m(ariables)h(|)f
(b)q(ecause)f(of)h(randomization)i(within)f(the)e(algorithm)j(or)301
1073 y(b)q(ecause)14 b(the)f(instances)h(to)g(b)q(e)g(solv)o(ed)g(are)f
(assumed)h(to)g(b)q(e)f(dra)o(wn)h(from)f(a)h(probabilit)o(y)301
1145 y(distribution)h(|)d(the)g(running)i(time)e(of)g(the)g(algorithm)i(on)f
(instances)g(of)g(size)f Fh(x)g Fk(is)h(also)h(a)301 1217 y(random)h(v)m
(ariable)g Fh(T)7 b Fk(\()p Fh(x)p Fk(\).)13 b(Karp)h(giv)o(es)g(sev)o(eral)g
(easy-to-apply)i(metho)q(ds)e(for)g(obtaining)301 1289 y(fairly)19
b(tigh)o(t)f(b)q(ounds)g(on)g(the)f(upp)q(er)g(tails)i(of)f(the)f(probabilit)
o(y)i(distribution)h(of)d Fh(T)7 b Fk(\()p Fh(x)p Fk(\),)301
1362 y(and)17 b(presen)o(ts)f(a)h(n)o(um)o(b)q(er)e(of)h(t)o(ypical)h
(applications)i(of)e(these)f(b)q(ounds)h(to)g(the)f(analysis)301
1434 y(of)j(algorithms.)h(The)e(pro)q(ofs)h(of)g(the)e(b)q(ounds)j(are)e
(based)h(on)f(an)h(in)o(teresting)g(analysis)301 1506 y(of)e(optimal)h
(strategies)f(in)g(certain)g(gam)o(bling)h(games.)0 1620 y([Kar93])144
b(D.)22 b(R.)g(Karger.)39 b(Global)25 b(min-cuts)e(in)f(RNC,)g(and)h(other)f
(rami\014cations)i(of)f(a)f(sim-)301 1692 y(ple)c(min-cut)g(algorithm.)26
b(In)17 b Fj(Pr)n(o)n(c.)g(F)l(ourth)h(A)o(nn.)i(A)o(CM-SIAM)e(Symp.)g(on)h
(Discr)n(ete)301 1764 y(A)o(lgorithms)p Fk(,)i(pages)f(21{30,)i(Austin,)f
(TX,)e(Jan)o(uary)h(1993.)34 b(Giv)o(en)19 b(a)i(graph)f(with)h
Fh(n)301 1836 y Fk(v)o(ertices)15 b(and)i Fh(m)e Fk(\(p)q(ossibly)k(w)o(eigh)
o(ted\))c(edges,)h(the)g Fj(min-cut)h Fk(problem)f(is)h(to)f(partition)301
1909 y(the)f(v)o(ertices)e(in)o(to)i(t)o(w)o(o)g(non-empt)o(y)f(sets)g
Fh(S)k Fk(and)d Fh(T)21 b Fk(so)15 b(as)g(to)g(minimize)g(the)f(n)o(um)o(b)q
(er)g(of)301 1981 y(edges)k(crossing)g(from)f Fh(S)j Fk(to)e
Fh(T)23 b Fk(\(if)18 b(the)e(graph)j(is)e(w)o(eigh)o(ted,)g(the)g(problem)h
(is)f(to)h(mini-)301 2053 y(mize)g(the)g(total)i(w)o(eigh)o(t)e(of)h
(crossing)g(edges\).)f(Karger)h(giv)o(es)f(an)h Fj(RNC)f Fk(algorithm)i(for)
301 2125 y(the)e(min-cut)h(problem)f(whic)o(h)h(runs)f(in)h(time)f
Fh(O)q Fk(\(log)1307 2104 y Fl(2)1335 2125 y Fh(n)p Fk(\))g(on)h(a)f(CR)o(CW)
h(PRAM)e(with)301 2198 y Fh(mn)373 2180 y Fl(2)401 2198 y Fk(log)10
b Fh(n)17 b Fk(pro)q(cessors.)0 2311 y([Kel92])152 b(P)l(.)19
b(Kelsen.)29 b(On)18 b(the)h(parallel)i(complexit)o(y)d(of)h(computing)h(a)f
(maximal)h(indep)q(enden)o(t)301 2384 y(set)13 b(in)h(a)g(h)o(yp)q(ergraph.)i
(In)d Fj(Pr)n(o)n(c.)h(24th)g(A)o(nn.)i(A)o(CM)e(Symp.)g(on)h(The)n(ory)e(of)
i(Computing)p Fk(,)301 2456 y(pages)21 b(339{350,)h(Victoria,)f(B.C.,)e
(Canada,)j(Ma)o(y)d(1992.)32 b(A)19 b(maximal)i(indep)q(enden)o(t)301
2528 y(set)16 b(in)g(a)f(h)o(yp)q(ergraph)h(is)g(a)g(subset)f(of)h(v)o
(ertices)e(that)i(is)g(maximal)g(with)h(resp)q(ect)e(to)g(the)301
2600 y(prop)q(ert)o(y)j(of)f(not)h(con)o(taining)h(an)o(y)e(edge)g(of)h(the)f
(h)o(yp)q(ergraph.)g(Kelsen)g(derandomizes)938 2828 y(126)p
eop
bop 301 195 a Fk(the)21 b(randomized)h(algorithm)i(of)d(Beame)g(and)h(Lub)o
(y)f(to)h(obtain)h(the)e(\014rst)g(sublinear)301 267 y(time)16
b(deterministic)h(algorithm)i(for)d(h)o(yp)q(ergraphs)h(with)g(edges)g(of)f
(size)h Fh(O)q Fk(\(1\).)0 381 y([K)o(GY89])113 b(M.)16 b(Kharitono)o(v,)i
(A.)e(V.)g(Goldb)q(erg,)i(and)f(M.)f(Y)l(ung.)23 b(Lo)o(w)o(er)17
b(b)q(ounds)h(for)f(pseudoran-)301 453 y(dom)h(n)o(um)o(b)q(er)f(generators.)
26 b(In)18 b Fj(Pr)n(o)n(c.)f(30th)i(A)o(nn.)g(IEEE)g(Symp.)g(on)g(F)l
(oundations)g(of)301 526 y(Computer)c(Scienc)n(e)p Fk(,)g(pages)f(242{247,)h
(Researc)o(h)e(T)l(riangle)h(P)o(ark,)g(NC,)e(Octob)q(er)h(1989.)301
598 y(IEEE)18 b(Computer)f(So)q(ciet)o(y)h(Press.)25 b(A)17
b Fj(pseudor)n(andom)h(gener)n(ator)f Fk(is)i(a)e(deterministic)301
670 y(algorithm)d(that)d(expands)h(a)g(truly)f(random)h(seed)f(in)o(to)h(a)f
(longer)i Fj(pseudor)n(andom)d Fk(string.)301 742 y(Suc)o(h)15
b(generators)g(pla)o(y)h(an)f(imp)q(ortan)o(t)h(role)f(in)h(applications)i
(lik)o(e)d(cryptograph)o(y)l(.)f(The)301 814 y(authors)19 b(pro)o(vide)f(lo)o
(w)o(er)g(b)q(ounds)h(on)f(the)f(computational)j(resources)d(needed)g(for)h
(the)301 887 y(generation)g(of)e(pseudorandom)i(strings.)0
1000 y([Kil88])161 b(J.)18 b(Kilian.)28 b(Zero-kno)o(wledge)19
b(with)g(log-space)g(v)o(eri\014ers.)26 b(In)18 b Fj(Pr)n(o)n(c.)f(29th)i(A)o
(nn.)h(IEEE)301 1073 y(Symp.)h(on)f(F)l(oundations)i(of)e(Computer)g(Scienc)n
(e)p Fk(,)i(pages)f(25{34,)h(1988.)32 b(In)o(teractiv)o(e)301
1145 y(pro)q(of)24 b(systems)d(where)h(the)g(v)o(eri\014ers)g(are)g(assumed)g
(to)h(b)q(e)f(log-space)i(probabilistic)301 1217 y(automata)d(are)f
(considered.)f(The)h(class)h(of)f(languages)h(that)f(are)g(amenable)g(to)g
(zero-)301 1289 y(kno)o(wledge)d(pro)q(ofs)h(with)f(suc)o(h)f(v)o(eri\014ers)
g(is)h(describ)q(ed.)0 1403 y([Kil90])161 b(J.)14 b(Kilian.)20
b Fj(Uses)c(of)g(R)n(andomness)f(in)h(A)o(lgorithms)f(and)h(Pr)n(oto)n(c)n
(ols)p Fk(.)h(MIT)c(Press,)i(1990.)301 1475 y(Kilian's)i(Ph.D.)d
(dissertation,)j(whic)o(h)e(w)o(as)g(selected)g(as)g(an)g(A)o(CM)f
(Distinguished)k(Dis-)301 1548 y(sertation)j(for)e(the)g(y)o(ear)g(1989,)i
(is)f(in)g(three)f(parts.)g(The)h(\014rst)f(part)h(describ)q(es)g(a)f(ran-)
301 1620 y(domized)f(algorithm)i(to)e(generate)g(large)h(prime)f(n)o(um)o(b)q
(ers)f(whic)o(h)h(ha)o(v)o(e)f(short,)i(easily)301 1692 y(v)o(eri\014ed)h
(certi\014cates)g(of)h(primalit)o(y)l(.)f(The)h(algorithm)h(pro)o(vides)e
(short,)i(deterministi-)301 1764 y(cally)h(v)o(eri\014able)f(pro)q(ofs)h(of)f
(primalit)o(y)h(for)f(all)h(but)f(a)g(v)m(anishing)i(fraction)f(of)f(prime)
301 1836 y(n)o(um)o(b)q(ers.)c(The)g(second)g(part)h(considers)g(the)f
Fj(se)n(cur)n(e)h(cir)n(cuit)h(evaluation)g Fk(problem)e(in)301
1909 y(whic)o(h)k(t)o(w)o(o)f(parties)i(wish)f(to)g(securely)f(compute)g
(some)h(function)g(on)g(their)f(priv)m(ate)301 1981 y(information.)15
b(Kilian)h(reduces)d(this)i(problem)f(to)f(an)i Fj(oblivious)h(tr)n(ansfer)e
(pr)n(oto)n(c)n(ol)5 b Fk(.)12 b(The)301 2053 y(third)23 b(part)e(of)h(the)f
(dissertation)j(generalizes)e(probabilisti)q(c)i(in)o(teractiv)o(e)d(pro)q
(of)i(sys-)301 2125 y(tems)15 b(to)g(m)o(ultiple)h(pro)o(v)o(ers.)e(He)h(sho)
o(ws)h(that)f(an)o(y)g(language)i(that)f(has)g(a)f(m)o(ulti-pro)o(v)o(er)301
2198 y(in)o(teractiv)o(e)k(pro)q(of)h(system)f(has)h(a)g(zero-kno)o(wledge)f
(m)o(ulti-pro)o(v)o(er)g(in)o(teractiv)o(e)g(pro)q(of)301 2270
y(system.)0 2384 y([Kil92])161 b(J.)17 b(Kilian.)25 b(A)17
b(note)g(on)h(e\016cien)o(t)e(zero-kno)o(wledge)h(pro)q(ofs)h(and)g(argumen)o
(ts.)23 b(In)17 b Fj(Pr)n(o)n(c.)301 2456 y(24th)24 b(A)o(nn.)g(A)o(CM)f
(Symp.)g(on)h(The)n(ory)e(of)h(Computing)p Fk(,)i(pages)f(723{732,)i
(Victoria,)301 2528 y(B.C.,)e(Canada,)j(Ma)o(y)c(1992.)45 b(The)24
b(standard)g(de\014nition)i(of)e(an)g(in)o(teractiv)o(e)f(pro)q(of)301
2600 y(requires)12 b(that)g(the)f(v)o(eri\014er)g(accept)g(a)h(correct)f(pro)
q(of)h(and)h(reject)d(an)i(incorrect)f(assertion)301 2672 y(with)23
b(probabilit)o(y)h(at)e(least)862 2653 y Fl(2)p 862 2661 18
2 v 862 2690 a(3)885 2672 y Fk(.)f(This)i(pap)q(er)g(sho)o(ws)f(ho)o(w)g(to)g
(e\016cien)o(tly)f(reduce)g(the)938 2828 y(127)p eop
bop 301 195 a Fk(error)19 b(probabilit)o(y)h(to)e(less)h(than)g(2)967
177 y Fd(\000)p Ff(k)1016 195 y Fk(,)f(where)g Fh(k)i Fk(is)f(some)g(easily)g
(adjustable)g(securit)o(y)301 267 y(parameter.)0 379 y([KL85])157
b(R.)19 b(M.)f(Karp)h(and)g(M.)f(Lub)o(y)l(.)29 b(Mon)o(te-Carlo)20
b(algorithms)h(for)e(planar)i(m)o(ultiterminal)301 451 y(reliabilit)o(y)i
(problems.)34 b Fj(Journal)22 b(of)f(Complexity)p Fk(,)g(1:45{64,)i(1985.)36
b(They)20 b(presen)o(t)g(a)301 523 y(general)d(Mon)o(te-Carlo)h(tec)o(hnique)
e(for)g(obtaining)j(appro)o(ximate)e(solutions)i(of)d(sev)o(eral)301
596 y(en)o(umeration)h(and)h(reliabilit)o(y)h(problems)f(including)h(coun)o
(ting)e(the)g(n)o(um)o(b)q(er)f(of)h(satis-)301 668 y(fying)g(assignmen)o(ts)
f(of)g(a)g(prop)q(ositiona)q(l)j(form)o(ula)d(giv)o(en)g(in)g(disjunctiv)o(e)
g(normal)g(form)301 740 y(\(a)i(#P-complete)f(problem\))h(and)g(estimating)h
(the)e(failure)i(probabilit)o(y)g(of)f(a)g(system.)301 812
y(An)g(earlier)g(v)o(ersion)g(app)q(eared)h(in)f Fj(Pr)n(o)n(c.)g(24th)g(A)o
(nn.)i(IEEE)f(Symp.)f(on)h(F)l(oundations)301 885 y(of)f(Computer)f(Scienc)n
(e)t Fk(,)g(1983,)h(pp.)e(56{64.)i(See)d(also)j([KLM89].)0
996 y([KL93])157 b(R.)15 b(Klein)i(and)f(A.)e(Lingas.)23 b(A)15
b(linear-time)h(randomized)h(algorithm)g(for)f(the)f(b)q(ounded)301
1068 y(V)l(oronoi)21 b(diagram)g(of)f(a)g(simple)h(p)q(olygon.)33
b(In)19 b Fj(Pr)n(o)n(c.)h(Ninth)h(A)o(nn.)g(A)o(CM)f(Symp.)h(on)301
1141 y(Computational)h(Ge)n(ometry)p Fk(,)e(pages)h(124{132,)i(San)e(Diego,)g
(CA,)f(Ma)o(y)f(1993.)34 b(F)l(or)21 b(a)301 1213 y(p)q(olygon)d
Fh(P)7 b Fk(,)16 b(the)g Fj(b)n(ounde)n(d)h(V)l(or)n(onoi)f(diagr)n(am)f
Fk(of)h Fh(P)23 b Fk(is)17 b(a)f(partition)i(of)e Fh(P)23 b
Fk(in)o(to)17 b(regions)301 1285 y(assigned)23 b(to)e(the)g(v)o(ertices)f(of)
h Fh(P)7 b Fk(.)21 b(Klein)g(and)h(Lingas)h(presen)o(t)d(a)i(randomized)f
(algo-)301 1357 y(rithm)c(that)g(builds)h(the)e(b)q(ounded)h(V)l(oronoi)g
(diagram)h(of)f(a)f(simple)i(p)q(olygon)g(in)f(linear)301 1430
y(exp)q(ected)f(time.)0 1541 y([KLM89])112 b(R.)13 b(M.)g(Karp,)h(M.)e(Lub)o
(y)l(,)i(and)g(N.)f(Madras.)k(Mon)o(te-Carlo)d(appro)o(ximation)i(algorithms)
301 1614 y(for)i(en)o(umeration)g(problems.)26 b Fj(Journal)18
b(of)h(A)o(lgorithms)p Fk(,)e(10:429{448,)j(1989.)27 b(A)17
b(com-)301 1686 y(panion)h(pap)q(er)e(of)h([KL85];)f(an)g(earlier)h(v)o
(ersion)f(app)q(eared)h(in)f Fj(Pr)n(o)n(c.)g(24th)h(A)o(nn.)h(IEEE)301
1758 y(Symp.)g(on)f(F)l(oundations)h(of)g(Computer)f(Scienc)n(e)t
Fk(,)g(1983,)h(pp.)e(56{64.)0 1870 y([KLMadH92])24 b(R.)13
b(M.)f(Karp,)h(M.)f(Lub)o(y)l(,)h(and)h(F.)e(Mey)o(er)f(auf)j(der)e(Heide.)j
(E\016cien)o(t)e(PRAM)f(sim)o(ulation)301 1942 y(on)j(a)g(distributed)g
(memory)e(mac)o(hine.)18 b(In)c Fj(Pr)n(o)n(c.)g(24th)i(A)o(nn.)g(A)o(CM)f
(Symp.)g(on)h(The)n(ory)301 2014 y(of)d(Computing)p Fk(,)g(pages)f(318{326,)j
(Victoria,)e(B.C.,)d(Canada,)k(Ma)o(y)d(1992.)j(They)e(presen)o(t)301
2086 y(a)22 b(randomized)f(sim)o(ulation)i(of)e(an)g Fh(n)8
b Fk(log)j(log)r(\()p Fh(n)p Fk(\))d(log)1298 2065 y Fd(\003)1318
2086 y Fk(\()p Fh(n)p Fk(\)-pro)q(cessor)22 b(shared)f(memory)301
2159 y(mac)o(hine)11 b(\(PRAM\))g(on)g(an)h Fh(n)p Fk(-pro)q(cessor)h
(distributed)f(memory)e(mac)o(hine)h(\(DMM\))g(with)301 2231
y(optimal)18 b(exp)q(ected)d(dela)o(y)i Fh(O)q Fk(\(log)11
b(log)r(\()p Fh(n)p Fk(\))d(log)1141 2209 y Fd(\003)1161 2231
y Fk(\()p Fh(n)p Fk(\)\))16 b(p)q(er)g(step)h(of)f(sim)o(ulation.)0
2342 y([KM93])142 b(D.)16 b(Koller)h(and)f(N.)f(Megiddo.)21
b(Constructing)d(small)f(sample)f(spaces)g(satisfying)i(giv)o(en)301
2415 y(constrain)o(ts.)25 b(In)17 b Fj(Pr)n(o)n(c.)g(25th)h(A)o(nn.)h(A)o(CM)
f(Symp.)g(on)h(The)n(ory)e(of)h(Computing)p Fk(,)f(pages)301
2487 y(268{277,)28 b(San)c(Diego,)i(CA,)d(Ma)o(y)g(1993.)44
b(The)23 b(authors)i(pro)o(v)o(e)d Fj(NP)5 b Fk(-completeness)301
2559 y(for)24 b(the)f(problem)h(of)f(\014nding)i(small)f(sample)g(spaces)g
(for)f(join)o(t)h(distributions)i(of)e Fh(n)301 2631 y Fk(discrete)g(random)h
(v)m(ariables)h(satisfying)g(a)e(giv)o(en)g(set)g(of)g(constrain)o(ts)h(of)f
(the)g(form)301 2704 y(Pr\()p Fh(E)s(v)r(ent)p Fk(\))18 b(=)h
Fh(\031)r Fk(.)f(F)l(or)h(the)g(case)h(where)e(the)h(constrain)o(ts)i(ha)o(v)
o(e)d(a)i(certain)f(form)g(and)938 2828 y(128)p eop
bop 301 195 a Fk(are)22 b(consisten)o(t)h(with)g(a)f(join)o(t)g(distribution)
j(of)d(indep)q(enden)o(t)g(random)h(v)m(ariables,)i(a)301 267
y(small)20 b(sample)e(space)g(can)g(b)q(e)g(constructed)g(in)g(p)q(olynomial)
j(time;)d(a)g(result)h(that)f(can)301 340 y(b)q(e)f(used)f(to)h(derandomize)f
(algorithms.)0 451 y([KMO89])104 b(J.)23 b(Kilian,)j(S.)c(Micali,)k(and)d(R.)
f(Ostro)o(vsky)l(.)40 b(Minim)o(um)23 b(resource)g(zero-kno)o(wledge)301
523 y(pro)q(of.)f(In)16 b Fj(Pr)n(o)n(c.)g(30th)h(A)o(nn.)h(IEEE)f(Symp.)g
(on)h(F)l(oundations)f(of)h(Computer)f(Scienc)n(e)p Fk(,)301
596 y(pages)g(474{479,)h(Oct)d(1989.)22 b(The)16 b(v)m(arious)h(resources)f
(suc)o(h)f(as)i(n)o(um)o(b)q(er)e(of)h(en)o(v)o(elop)q(es,)301
668 y(n)o(um)o(b)q(er)k(of)h(oblivious)i(transfers,)e(and)g(total)h(amoun)o
(t)e(of)h(comm)o(unication)g(required)301 740 y(b)o(y)e(zero-kno)o(wledge)h
(proto)q(cols)i(are)d(considered.)h(The)f(pap)q(er)h(presen)o(ts)f(a)h(tec)o
(hnique)301 812 y(of)i(executing)f Fh(k)i Fk(rounds)f(of)f(a)h(proto)q(col,)i
(whic)o(h)d(guaran)o(tees)h(that)f(an)o(y)g(p)q(olynomial)301
885 y(n)o(um)o(b)q(er)g(of)g(NP-theorems)g(can)h(b)q(e)f(pro)o(v)o(ed)f
(non-in)o(teractiv)o(ely)i(in)g(zero-kno)o(wledge,)301 957
y(with)16 b(the)f(probabilit)o(y)j(of)d(accepting)h(a)f(false)h(theorem)f(b)q
(elo)o(w)h(1)p Fh(=)p Fk(2)1559 939 y Ff(k)1582 957 y Fk(.)e(The)i(main)g
(result)301 1029 y(in)25 b(this)f(pap)q(er)g(assumes)g(the)g(existence)f(of)h
(trap-do)q(or)h(p)q(erm)o(utations)g(in)f(order)g(to)301 1101
y(implemen)o(t)16 b(Oblivious)j(T)l(ransfer)d(Proto)q(col.)0
1213 y([KMP77])109 b(D.)15 b(E.)g(Kn)o(uth,)f(J.)h(H.)f(Morris,)h(and)g(V.)f
(R.)h(Pratt.)k(F)l(ast)c(pattern)g(matc)o(hing)h(in)f(strings.)301
1285 y Fj(SIAM)23 b(Journal)f(on)h(Computing)p Fk(,)h(6:323{350,)h(1977.)39
b(This)23 b(pap)q(er)g(presen)o(ts)e(a)i(fast)301 1357 y(deterministic)d
(algorithm)i(for)d(the)g(problem)h(of)f(determining)h(if)g(a)g(giv)o(en)f
(pattern)h(of)301 1430 y Fh(m)f Fk(sym)o(b)q(ols)g(o)q(ccurs)h(in)f(a)g(text)
f(of)h(length)h Fh(n)p Fk(.)e(Their)i(w)o(ell-kno)o(wn)f(algorithm)i(runs)e
(in)301 1502 y(time)g Fh(O)q Fk(\()p Fh(n)14 b Fk(+)e Fh(m)p
Fk(\),)19 b(making)h(judicious)g(use)f(of)g(a)g Fj(pr)n(e\014x)h(function)t
Fk(,)g(whic)o(h)g(for)f(a)g(giv)o(en)301 1574 y(pattern)d(encapsulates)g(kno)
o(wledge)f(ab)q(out)h(ho)o(w)g(the)f(pattern)g(matc)o(hes)f(against)j(shifts)
301 1646 y(of)g(itself.)0 1758 y([KMRZ93])76 b(E.)17 b(Kushilevitz,)g(Y.)f
(Mansour,)h(M.)f(O.)g(Rabin,)h(and)g(D.)f(Zuc)o(k)o(erman.)21
b(Lo)o(w)o(er)c(b)q(ounds)301 1830 y(for)24 b(randomized)g(m)o(utual)g
(exclusion)g(\(extended)f(abstract\).)43 b(In)23 b Fj(Pr)n(o)n(c.)g(25th)h(A)
o(nn.)301 1902 y(A)o(CM)d(Symp.)f(on)h(The)n(ory)f(of)g(Computing)p
Fk(,)h(pages)g(154{163,)i(San)d(Diego,)h(CA,)f(Ma)o(y)301 1975
y(1993.)40 b(The)22 b(authors)h(establish)h(a)e(lo)o(w)o(er)h(b)q(ound)g(of)f
(\012\(log)10 b(log)h Fh(n)p Fk(\))22 b(bits)h(on)f(the)g(size)301
2047 y(of)g(the)g(shared)g(v)m(ariable)h(required)e(b)o(y)g(randomized)h(m)o
(utual)g(exclusion)h(algorithms)301 2119 y(ensuring)e(strong)g(fairness.)g
(Sligh)o(tly)g(w)o(eak)o(ening)f(the)g(fairness)h(condition)h(results)e(in)
301 2191 y(an)d(exp)q(onen)o(tial)h(reduction)e(in)h(the)f(size)h(of)f(the)g
(required)g(shared)h(v)m(ariable.)0 2303 y([Kn)o(u73])134 b(D.)14
b(E.)f(Kn)o(uth.)k Fj(The)f(A)o(rt)f(of)g(Computer)g(Pr)n(o)n(gr)n(amming,)f
(V)l(ol.)i(3:)21 b(Sorting)16 b(and)f(Se)n(ar)n(ch-)301 2375
y(ing)p Fk(.)f(Addison-W)l(esley)l(,)f(1973.)i(This)e(v)o(olume)e(is)h(a)g
(rep)q(ository)h(of)e(sorting)i(and)f(searc)o(hing)301 2447
y(algorithms)20 b(and)f(their)f(analysis.)i(It)d(con)o(tains)i(a)f(detailed)h
(and)g(thorough)g(treatmen)o(t)301 2520 y(of)e(hashing.)0 2631
y([Ko82])163 b(K.)22 b(Ko.)40 b(Some)23 b(observ)m(ations)h(on)f
(probabilisti)q(c)i(algorithms)g(and)e(NP-Hard)f(prob-)301
2704 y(lems.)38 b Fj(Information)23 b(Pr)n(o)n(c)n(essing)f(L)n(etters)p
Fk(,)h(14\(1\):39{43,)i(Marc)o(h)c(1982.)40 b(Ko)22 b(sho)o(ws)938
2828 y(129)p eop
bop 301 195 a Fk(that)16 b(if)g(there)f(is)h(a)f(probabilisti)q(c)j
(algorithm)f(for)f(an)g Fj(NP)p Fk(-hard)g(problem)g(with)g(a)g(small)301
267 y(\\t)o(w)o(o-sided)g(error",)e(then)h(there)e(is)i(a)g(probabilistic)i
(algorithm)g(for)d(an)o(y)g(NP-complete)301 340 y(problem)j(with)g(a)g(small)
g(\\one-sided)h(error".)0 453 y([Koz81])141 b(D.)14 b(Kozen.)i(Seman)o(tics)d
(of)h(probabilisti)q(c)i(programs.)h Fj(Journal)e(of)g(Computer)g(and)g(Sys-)
301 526 y(tem)i(Scienc)n(es)p Fk(,)g(22\(3\):328{350,)h(1981.)j(A)15
b(no)o(v)o(el)g(attempt)g(at)h(de\014ning)g(the)f(seman)o(tics)301
598 y(of)i(probabilistic)i(programs.)e(Tw)o(o)g(equiv)m(alen)o(t)g(seman)o
(tics)f(are)g(presen)o(ted.)0 711 y([Koz85])141 b(D.)19 b(Kozen.)27
b(A)18 b(probabilistic)k(PDL.)28 b Fj(Journal)20 b(of)f(Computer)g(and)h
(System)g(Scienc)n(es)p Fk(,)301 784 y(30\(2\):162{178)q(,)15
b(1985.)g(Kozen)d(de\014nes)g(a)g(formalism)h(for)f(reasoning)i(ab)q(out)f
(probabilis-)301 856 y(tic)20 b(programs)g(at)g(the)f(prop)q(ositiona)q(l)k
(lev)o(el.)c(Probabilistic)j(Prop)q(ositiona)q(l)h(Dynamic)301
928 y(Logic)16 b(\(PPDL\),)f(whic)o(h)g(has)g(an)g(arithmetic)g(extension)g
(for)f(eac)o(h)g(logical)j(construct)d(in)301 1000 y(PDL,)j(is)g(presen)o
(ted)f(along)i(with)g(some)e(decision)i(pro)q(cedure)e(form)o(ulas)h(and)g(a)
g(deduc-)301 1073 y(tiv)o(e)f(calculus.)0 1186 y([KPRR92])82
b(Z.)22 b(M.)f(Kedem,)g(K.)g(V.)g(P)o(alem,)i(M.)e(O.)g(Rabin,)j(and)f(A.)d
(Ragh)o(unathan.)40 b(E\016cien)o(t)301 1259 y(program)16 b(transformations)g
(for)f(resilien)o(t)g(parallel)i(computation)e(via)g(randomization.)301
1331 y(In)24 b Fj(Pr)n(o)n(c.)f(24th)h(A)o(nn.)h(A)o(CM)e(Symp.)h(on)h(The)n
(ory)e(of)h(Computing)p Fk(,)h(pages)g(306{317,)301 1403 y(Victoria,)16
b(B.C.,)e(Canada,)j(Ma)o(y)e(1992.)21 b(The)15 b(authors)i(sho)o(w)f(ho)o(w)f
(randomization)j(can)301 1475 y(b)q(e)e(used)h(to)f(automatically)i
(transform)f(an)f(arbitrary)h(program)g(written)f(for)g(an)h(ideal)301
1548 y(parallel)h(mac)o(hine)d(to)h(run)g(on)g(a)g(completely)f(async)o
(hronous)i(mac)o(hine,)e(suc)o(h)g(that)h(the)301 1620 y(resulting)e(program)
f(is)g(w)o(ork)f(and)h(space)f(e\016cien)o(t)g(relativ)o(e)g(to)h(the)f
(ideal)h(program)g(from)301 1692 y(whic)o(h)k(it)g(w)o(as)f(deriv)o(ed.)0
1806 y([KPS85])127 b(R.)11 b(M.)f(Karp,)i(N.)f(Pipp)q(enger,)h(and)g(M.)e
(Sipser.)k(A)c(time)h(randomness)h(tradeo\013.)i(In)d Fj(AMS)301
1878 y(Conf.)20 b(on)f(Pr)n(ob)n(abilistic)g(Computational)h(Complexity)p
Fk(,)f(Durham,)g(New)e(Hampshire,)301 1950 y(1985.)28 b(This)19
b(pap)q(er)g(giv)o(es)f(the)g(\014rst)g(example)f(of)i(deterministic)f
(ampli\014cation)j(using)301 2022 y(expander)16 b(graphs.)0
2136 y([KPU88])117 b(D.)20 b(Krizanc,)g(D.)f(P)o(eleg,)h(and)g(E.)f(Upfal.)31
b(A)19 b(time-randomness)h(tradeo\013s)h(for)e(obliv-)301 2208
y(ious)k(message)e(routing.)36 b(In)21 b Fj(Pr)n(o)n(c.)f(20th)i(A)o(nn.)g(A)
o(CM)f(Symp.)h(on)g(The)n(ory)e(of)i(Com-)301 2281 y(puting)p
Fk(,)e(pages)g(93{102,)h(1988.)31 b(Giv)o(en)19 b(the)f(probabilit)o(y)j(Q)e
(that)g(an)h(algorithm)g(fails)301 2353 y(to)e(complete)f(its)h(task)g(in)g
(T)f(steps,)h(a)f(lo)o(w)o(er)h(b)q(ound)g(on)g(the)f(en)o(trop)o(y)g(of)g
(the)g(random)301 2425 y(source)c(used)f(in)h(the)f(algorithm)i(is)f
(obtained.)h(Near-optimal)f(algorithms)i(for)d(oblivious)301
2497 y(pac)o(k)o(et-routing)17 b(in)g(a)g(b)q(ounded-degree)g(net)o(w)o(ork)e
(are)i(included)g(\(see)e(also)j([PU90]\).)0 2611 y([KR87])151
b(R.)19 b(M.)g(Karp)h(and)g(M.)f(O.)g(Rabin.)32 b(E\016cien)o(t)19
b(randomized)i(pattern-matc)o(hing)f(algo-)301 2683 y(rithms.)41
b Fj(IBM)23 b(Journal)g(of)g(R)n(ese)n(ar)n(ch)f(and)i(Development)p
Fk(,)h(31\(2\):249{260)q(,)i(Marc)o(h)938 2828 y(130)p eop
bop 301 195 a Fk(1987.)36 b(An)20 b(elegan)o(t)h(randomized)h(algorithm)g
(for)f(the)f(string)i(matc)o(hing)f(problem)g(is)301 267 y(presen)o(ted.)c
(Mismatc)o(hes)g(rep)q(orted)h(b)o(y)f(the)h(algorithm)i(are)d(alw)o(a)o(ys)i
(correct,)e(while)i(a)301 340 y(claimed)d(matc)o(h)e(ma)o(y)g(b)q(e)h
(erroneous)g(with)g(small)h(probabilit)o(y)l(.)g(The)f(algorithm)i(uses)e(a)
301 412 y(\014ngerprin)o(ting)i(function)e(\(on)g(the)g(\014nite)g(\014eld)g
(of)21 b(mo)q(d)6 b Fh(p)15 b Fk(residues,)g(where)g Fh(p)g
Fk(is)g(c)o(hosen)301 484 y(at)f(random\))h(to)f(e\016cien)o(tly)f(c)o(hec)o
(k)f(for)h(o)q(ccurrences)h(of)g(the)f(pattern)h(string)h(in)f(the)g(text)301
556 y(string.)g(The)f(running)h(time)e(of)h(the)g(algorithm)i(is)e
Fh(O)q Fk(\(\()p Fh(n)t Fg(\000)t Fh(m)t Fk(+)t(1\))p Fh(m)p
Fk(\))f(in)i(the)e(w)o(orst)h(case,)301 628 y(where)18 b(the)g(text)g(is)h
(of)g(length)g Fh(n)f Fk(and)h(the)f(pattern)h(is)g(of)g(length)g
Fh(m)p Fk(,)f(but)g(can)h(b)q(e)f(ex-)301 701 y(p)q(ected)13
b(to)h(run)f(in)h(time)f Fh(O)q Fk(\()p Fh(n)5 b Fk(+)g Fh(m)p
Fk(\))13 b(in)h(practice.)f(The)g(probabilit)o(y)i(that)f(the)f(algorithm)301
773 y(rep)q(orts)21 b(a)g(false)g(matc)o(h)f(is)h(1)p Fh(=n)p
Fk(.)g(Tw)o(o-dimensional)i(patterns)e(are)f(also)i(considered.)301
845 y(An)13 b(earlier)g(v)o(ersion)g(of)g(this)h(pap)q(er)f(app)q(eared)g(as)
g(T)l(ec)o(hnical)h(Rep)q(ort)f(TR-31-81,)i(Aik)o(en)301 917
y(Computation)j(Lab,)f(Harv)m(ard)g(Univ)o(ersit)o(y)l(,)e(1981.)0
1031 y([KR88])151 b(H.)13 b(Karlo\013)h(and)g(P)l(.)f(Ragha)o(v)m(an.)k
(Randomized)c(algorithms)i(and)f(pseudorandom)g(n)o(um-)301
1103 y(b)q(ers.)i(In)c Fj(Pr)n(o)n(c.)g(20th)i(A)o(nn.)h(A)o(CM)e(Symp.)h(on)
g(The)n(ory)f(of)g(Computing)p Fk(,)h(pages)f(310{321,)301
1176 y(1988.)20 b(F)l(ollo)o(wing)c(up)f(on)f(Bac)o(h's)f(w)o(ork)h([Bac91],)
g(this)h(pap)q(er)g(studies)g(pseudo-random)301 1248 y(substitutes)k(\(with)g
(small)g(seeds\))f(for)g(purely)g(random)h(c)o(hoices)e(in)i(sorting,)g
(selection)301 1320 y(and)j(oblivious)j(message)c(routing.)i(An)e(in)o
(teresting)h(result)g(is)h(that)f(the)f(linear)i(con-)301 1392
y(gruence)f(pseudo-random)i(n)o(um)o(b)q(er)e(generator)h(prop)q(osed)h(b)o
(y)e(Kn)o(uth)g([Kn)o(u73])g(can)301 1465 y(in)o(teract)17
b(with)g(some)f(quic)o(ksort)g(algorithms.)0 1578 y([Kro85])144
b(L.)16 b(Kronsjo.)21 b Fj(Computational)c(Complexity)g(of)g(Se)n(quential)i
(and)d(Par)n(al)r(lel)i(A)o(lgorithms)p Fk(.)301 1650 y(John)c(Wiley)f(and)g
(Sons,)h(New)e(Y)l(ork,)g(1985.)17 b(Chapter)c(5,)g(Section)g(5.3,)g
(addresses)g(prob-)301 1723 y(abilistic)20 b(algorithms.)g(Rabin's)e
(algorithms)i(for)e(primalit)o(y)g(and)g(the)f(Nearest)g(Neigh-)301
1795 y(b)q(ors)h(problem)e(are)h(describ)q(ed.)0 1909 y([KRR91])115
b(H.)17 b(Karlo\013,)i(Y.)d(Rabani,)j(and)f(Y.)e(Ra)o(vid.)25
b(Lo)o(w)o(er)17 b(b)q(ounds)i(for)f(randomized)g Fh(k)r Fk(-serv)o(er)301
1981 y(and)e(motion)h(planning.)22 b(In)15 b Fj(Pr)n(o)n(c.)h(23r)n(d)f(A)o
(nn.)j(A)o(CM)e(Symp.)h(on)g(The)n(ory)e(of)i(Comput-)301 2053
y(ing)p Fk(,)k(pages)f(278{288,)i(New)d(Orleans,)h(LA,)f(Ma)o(y)g(1991.)32
b(Lo)o(w)o(er)19 b(b)q(ounds)h(are)g(pro)o(v)o(ed)301 2125
y(on)k(the)f(comp)q(etitiv)o(e)g(ratio)i(of)e(randomized)h(algorithms)h(for)f
(the)f(on-line)i Fh(k)r Fk(-serv)o(er)301 2198 y(problem)17
b(and)g(an)g(on-line)h(motion-planning)h(problem.)0 2311 y([KR)l(T93])120
b(M.-Y.)13 b(Kao,)i(J.)f(H.)f(Reif,)i(and)f(S.)g(R.)g(T)l(ate.)k(Searc)o
(hing)d(in)g(an)g(unkno)o(wn)f(en)o(vironmen)o(t:)301 2384
y(An)i(optimal)i(randomized)e(algorithm)i(for)f(the)e(co)o(w-path)i(problem.)
k(In)16 b Fj(Pr)n(o)n(c.)g(F)l(ourth)301 2456 y(A)o(nn.)i(A)o(CM-SIAM)e
(Symp.)g(on)h(Discr)n(ete)g(A)o(lgorithms)p Fk(,)e(pages)h(441{447,)h
(Austin,)f(TX,)301 2528 y(Jan)o(uary)h(1993.)24 b(The)17 b(\014rst)g
(randomized)g(algorithm)i(for)e(the)f Fh(w)q Fk(-lane)i(co)o(w-path)f(prob-)
301 2600 y(lem,)h(a)h(problem)g(of)f(searc)o(hing)h(in)g(an)f(unkno)o(wn)h
(en)o(vironmen)o(t,)e(is)i(giv)o(en.)f(The)g(algo-)938 2828
y(131)p eop
bop 301 195 a Fk(rithm)14 b(is)g(optimal)g(for)g Fh(w)h Fk(=)f(2)f(and)h
(evidence)e(is)i(supplied)h(that)e(it)h(is)g(optimal)h(for)e(larger)301
267 y(v)m(alues)18 b(of)e Fh(w)q Fk(.)0 379 y([KS92])160 b(P)l(.)18
b(N.)e(Klein)j(and)f(S.)f(Sairam.)27 b(A)17 b(parallel)j(randomized)e(appro)o
(ximation)h(sc)o(heme)e(for)301 451 y(shortest)23 b(paths.)40
b(In)22 b Fj(Pr)n(o)n(c.)g(24th)h(A)o(nn.)h(A)o(CM)e(Symp.)h(on)g(The)n(ory)f
(of)h(Computing)p Fk(,)301 523 y(pages)d(750{758,)i(Victoria,)e(B.C.,)d
(Canada,)k(Ma)o(y)d(1992.)30 b(A)19 b(randomized)g(algorithm)301
596 y(is)c(giv)o(en)g(for)f(appro)o(ximate)h(shortest)g(path)g(computation)g
(in)g(an)g(undirected)f(w)o(eigh)o(ted)301 668 y(graph.)0 780
y([KS93])160 b(D.)18 b(R.)e(Karger)i(and)g(C.)f(Stein.)25 b(An)1002
767 y(~)990 780 y Fh(O)r Fk(\()p Fh(n)1077 761 y Fl(2)1097
780 y Fk(\))17 b(algorithm)j(for)d(minim)o(um)g(cuts.)25 b(In)17
b Fj(Pr)n(o)n(c.)301 852 y(25th)j(A)o(nn.)f(A)o(CM)g(Symp.)g(on)h(The)n(ory)e
(of)h(Computing)p Fk(,)g(pages)g(757{765,)h(San)f(Diego,)301
924 y(CA,)g(Ma)o(y)f(1993.)31 b(A)18 b Fj(minimum)i(cut)g Fk(is)g(a)f(set)g
(of)g(edges)g(of)g(minim)o(um)g(w)o(eigh)o(t)g(whose)301 996
y(remo)o(v)m(al)12 b(disconnects)f(a)h(giv)o(en)f(graph.)g(Karger)h(and)f
(Stein)h(giv)o(e)f(a)g(strongly)h(p)q(olynomial)301 1068 y(randomized)23
b(algorithm)g(whic)o(h)f(\014nds)h(a)f(minim)o(um)g(cut)f(with)i(high)g
(probabilit)o(y)g(in)301 1141 y Fh(O)q Fk(\()p Fh(n)387 1123
y Fl(2)416 1141 y Fk(log)479 1119 y Fl(3)507 1141 y Fh(n)p
Fk(\))f(time.)f(Their)i(algorithm)h(can)e(b)q(e)g(implemen)o(ted)f(in)h
Fj(RNC)g Fk(using)h(only)301 1213 y Fh(n)330 1195 y Fl(2)371
1213 y Fk(pro)q(cessors,)f(and)f(is)h(th)o(us)e(the)h(\014rst)f(e\016cien)o
(t)g Fj(RNC)g Fk(algorithm)j(for)d(the)h(min-cut)301 1285 y(problem.)0
1397 y([KST90])125 b(P)l(.)13 b(Klein,)h(C.)f(Stein,)g(and)h(E.)e(T)l(ardos.)
17 b(Leigh)o(ton-Rao)e(migh)o(t)e(b)q(e)h(practical:)20 b(F)l(aster)13
b(ap-)301 1469 y(pro)o(ximation)19 b(algorithms)g(for)e(concurren)o(t)f
(\015o)o(w)i(with)f(uniform)h(capacities.)24 b(In)17 b Fj(Pr)n(o)n(c.)301
1541 y(22nd)i(A)o(nn.)h(A)o(CM)e(Symp.)h(on)g(The)n(ory)f(of)g(Computing)p
Fk(,)h(pages)f(310{321,)j(Baltimore,)301 1614 y(MD,)f(Ma)o(y)g(1990.)34
b(They)20 b(giv)o(e)g(an)h Fh(O)q Fk(\()p Fh(m)1081 1595 y
Fl(2)1109 1614 y Fk(log)10 b Fh(m)p Fk(\))20 b(exp)q(ected-time)f(randomized)
i(algo-)301 1686 y(rithm)15 b(for)g(appro)o(ximately)g(solving)i(the)d
(concurren)o(t)g(m)o(ulticommo)q(dit)o(y)h(\015o)o(w)g(problem)301
1758 y(with)i(uniform)g(capacities.)0 1870 y([Kur87])141 b(S.)12
b(A.)e(Kurtz.)j(A)e(note)h(on)g(random)g(p)q(olynomial)i(time.)f
Fj(SIAM)g(Journal)g(on)h(Computing)p Fk(,)301 1942 y(16\(5\):852{853)q(,)j
(Octob)q(er)d(1987.)20 b(Sho)o(ws)15 b(that)g Fh(P)1229 1924
y Ff(A)1264 1942 y Fg(\\)7 b Fh(P)1342 1924 y Ff(B)1387 1942
y Fk(=)14 b Fh(B)s(P)7 b(P)21 b Fk(with)15 b(probabilit)o(y)i(1)301
2014 y(for)24 b(indep)q(enden)o(t)f(random)g(sets)g Fh(A)g
Fk(and)g Fh(B)s Fk(.)f(Here,)h Fh(A)g Fk(and)g Fh(B)j Fk(are)d(sets)g
(consisting)301 2086 y(of)h(strings)h(c)o(hosen)f(at)g(random,)h(and)f
Fh(P)1101 2068 y Ff(A)1154 2086 y Fk(and)g Fh(P)1294 2068 y
Ff(B)1348 2086 y Fk(are)g(relativized)g(to)g Fh(A)f Fk(and)h
Fh(B)301 2159 y Fk(resp)q(ectiv)o(ely)l(.)16 b(See)f([Gil77)r(])h(for)g
(additional)k(notation.)0 2270 y([KUW86])100 b(R.)15 b(M.)g(Karp,)g(E.)g
(Upfal,)h(and)g(A.)e(Wigderson.)21 b(Constructing)c(a)f(p)q(erfect)f(matc)o
(hing)g(in)301 2342 y(Random)d(NC.)h Fj(Combinatoric)n(a)p
Fk(,)e(6:35{48,)i(1986.)i(P)o(erfect)10 b(matc)o(hing)h(is)h(a)f(fundamen)o
(tal)301 2415 y(problem)17 b(that)g(is)h(not)f(kno)o(wn)g(to)g(b)q(e)g(solv)m
(able)h(b)o(y)e(an)h Fj(NC)g Fk(algorithm,)h(i.e.,)e(a)h(parallel)301
2487 y(algorithm)c(running)g(in)f(time)f(p)q(olynomial)j(in)d(log)g
Fh(n)g Fk(and)h(using)g(a)g(n)o(um)o(b)q(er)e(of)i(pro)q(cessors)301
2559 y(p)q(olynomial)23 b(in)e Fh(n)p Fk(.)e(This)j(pap)q(er)e(pro)o(v)o(es)g
(that)g(p)q(erfect)f(matc)o(hing)i(is)g(in)f(random)h Fj(NC)301
2631 y Fk(and)15 b(giv)o(es)f(a)h(fast,)g(parallel,)h(randomized)f(algorithm)
h(for)e(\014nding)i(a)e(p)q(erfect)g(matc)o(hing)301 2704 y(in)j(a)g(simple)g
(graph.)938 2828 y(132)p eop
bop 0 195 a Fk([KVV90])113 b(R.)20 b(M.)f(Karp,)h(U.)f(V.)g(V)l(azirani,)i
(and)f(V.)f(V.)g(V)l(azirani.)32 b(An)20 b(optimal)h(algorithm)h(for)301
267 y(on-line)i(bipartite)f(matc)o(hing.)39 b(In)21 b Fj(Pr)n(o)n(c.)h(22nd)h
(A)o(nn.)g(A)o(CM)f(Symp.)h(on)g(The)n(ory)e(of)301 340 y(Computing)p
Fk(,)d(pages)g(352{358,)i(Baltimore,)e(MD,)f(Ma)o(y)g(1990.)26
b(An)17 b(on-line)i(algorithm)301 412 y(receiv)o(es)14 b(a)h(sequence)f(of)h
(requests)f(and)i(m)o(ust)e(resp)q(ond)i(to)f(eac)o(h)f(request)g(as)i(so)q
(on)g(as)f(it)301 484 y(is)j(receiv)o(ed.)d(In)h(con)o(trast,)g(an)i
(o\013-line)g(algorithm)h(ma)o(y)d(w)o(ait)h(un)o(til)h(all)g(requests)e(ha)o
(v)o(e)301 556 y(b)q(een)23 b(receiv)o(ed)e(b)q(efore)i(determining)h(its)f
(resp)q(onses.)g(The)g(authors)h(giv)o(e)f(a)g(simple,)301
628 y(randomized,)17 b(optimal,)g(on-line)h(algorithm)g(for)f(bipartite)g
(matc)o(hing.)0 740 y([KW85])137 b(R.)22 b(M.)f(Karp)h(and)g(A.)f(Wigderson.)
39 b(A)22 b(fast)g(parallel)i(algorithm)g(for)e(the)f(maximal)301
812 y(indep)q(enden)o(t)h(set)g(problem.)39 b Fj(Journal)22
b(of)h(the)g(A)o(CM)p Fk(,)e(32\(4\):762{773,)26 b(1985.)40
b(This)301 885 y(imp)q(ortan)o(t)14 b(pap)q(er)g(sho)o(w)o(ed)f(that)g(the)g
(maximal)h(indep)q(enden)o(t)f(set)f(problem)i(for)f(graphs)301
957 y(can)i(b)q(e)g(solv)o(ed)g(in)g(p)q(olylogarithmic)j(time)c(using)i(a)f
(p)q(olynomial)i(n)o(um)o(b)q(er)d(of)g(pro)q(cesses)301 1029
y(on)i(a)g(PRAM)e(in)i(whic)o(h)f(concurren)o(t)g(reads)g(and)h(writes)g(are)
f(disallo)o(w)o(ed.)i(They)e(deriv)o(e)301 1101 y(their)23
b(algorithm)h(from)d(a)i(randomized)f(one)g(using)i(a)e(tec)o(hnique)f(that)i
(has)f(b)q(ecome)301 1174 y(kno)o(wn)17 b(as)g(derandomization)h(via)f
Fh(k)r Fk(-wise)g(indep)q(endence.)0 1285 y([KZ88])157 b(R.)11
b(M.)f(Karp)i(and)g(Y.)e(Zhang.)k(A)c(randomized)i(parallel)h(branc)o(h)e
(and)h(b)q(ound)g(pro)q(cedure.)301 1357 y(In)24 b Fj(Pr)n(o)n(c.)f(20th)h(A)
o(nn.)h(A)o(CM)e(Symp.)h(on)h(The)n(ory)e(of)h(Computing)p
Fk(,)h(pages)g(290{300,)301 1430 y(1988.)h(A)16 b(general)i(tec)o(hnique)e
(assuming)j(no)f(sp)q(ecial)g(comm)o(unication)g(capabilities)i(is)301
1502 y(presen)o(ted.)0 1614 y([Lak90])145 b(Y.)20 b(N.)f(Lakshman.)34
b(On)21 b(the)f(complexit)o(y)g(of)g(computing)h(a)g(Gr\177)-24
b(obner)21 b(basis)h(for)e(the)301 1686 y(radical)15 b(of)e(a)h(zero)e
(dimensional)k(ideal.)h(In)12 b Fj(Pr)n(o)n(c.)i(22nd)g(A)o(nn.)h(A)o(CM)f
(Symp.)g(on)h(The)n(ory)301 1758 y(of)i(Computing)p Fk(,)e(pages)h(555{562,)i
(Baltimore,)e(MD,)f(Ma)o(y)f(1990.)21 b(Lakshmanan)c(sho)o(ws)301
1830 y(that)h(if)g(a)g(system)f(of)g(p)q(olynomials)k Fh(f)1012
1837 y Fl(1)1032 1830 y Fk(,)c Fh(f)1087 1837 y Fl(2)1106 1830
y Fh(;)8 b Fk(.)g(.)g(.)g Fh(;)17 b(f)1249 1837 y Ff(r)1285
1830 y Fk(in)h Fh(n)g Fk(v)m(ariables)h(with)f Fh(deg)r Fk(\()p
Fh(f)1821 1837 y Ff(i)1835 1830 y Fk(\))e Fg(\024)g Fh(d)301
1902 y Fk(o)o(v)o(er)22 b(the)h(rational)i(n)o(um)o(b)q(ers)d(has)h(only)h
(\014nitely)f(man)o(y)f(a\016ne)h(zeros,)h(then)e(all)i(the)301
1975 y(a\016ne)17 b(zeros)h(can)f(b)q(e)g(determined)g(in)h(time)f(p)q
(olynomial)j(in)e Fh(d)1475 1957 y Ff(n)1516 1975 y Fk(b)o(y)e(a)i(Las)g(V)l
(egas)g(t)o(yp)q(e)301 2047 y(randomized)f(algorithm.)0 2159
y([LC88])160 b(T.G.)19 b(Lewis)h(and)f(C.R.)f(Co)q(ok.)30 b(Hashing)21
b(for)e(dynamic)g(and)g(static)h(in)o(ternal)g(tables.)301
2231 y Fj(Computer)p Fk(,)d(21:45{56,)i(1988.)24 b(The)17 b(authors)h(surv)o
(ey)e(the)g(classical)k(hashing)e(function)301 2303 y(approac)o(h)j(to)g
(information)h(retriev)m(al)g(and)f(sho)o(w)g(ho)o(w)f(general)h(hashing)i
(tec)o(hniques)301 2375 y(exc)o(hange)d(sp)q(eed)g(for)g(memory)l(.)e(It)i
(is)h(a)f(tutorial)i(pap)q(er)e(that)h(co)o(v)o(ers,)e(among)i(other)301
2447 y(topics,)e(dynamic)f(and)g(static)g(hash)h(tables,)f(p)q(erfect)f
(hashing,)i(and)g(minimal)g(p)q(erfect)301 2520 y(hashing.)0
2631 y([Leh27])146 b(D.)21 b(H.)e(Lehmer.)33 b Fj(Bul)r(letin)24
b(of)d(the)g(A)o(meric)n(an)h(Mathematic)n(al)f(So)n(ciety)p
Fk(,)g(33:327{340,)301 2704 y(1927.)i(This)17 b(pap)q(er)g(presen)o(ts)f(the)
g(Lucas-Lehmer)h(heuristic)g(for)g(primalit)o(y)g(testing.)938
2828 y(133)p eop
bop 0 195 a Fk([Leh82])146 b(D.)19 b(Lehmann.)28 b(On)19 b(primalit)o(y)h
(tests.)28 b Fj(SIAM)20 b(Journal)f(on)h(Computing)p Fk(,)g(11\(2\),)g(Ma)o
(y)301 267 y(1982.)h(Lehmann)15 b(presen)o(ts)f(t)o(w)o(o)g(algorithms)j(for)
e(testing)h(primalit)o(y)g(based)f(on)g(the)f(ex-)301 340 y(tended)e(Riemann)
g(h)o(yp)q(othesis.)g(The)g(second)g(algorithm)h(is)g(faster)e(than)i(that)f
(prop)q(osed)301 412 y(b)o(y)k([SS77)q(])f(as)i(it)g(do)q(es)g(not)g(in)o(v)o
(olv)o(e)f(computing)h(the)f(Jacobi)h(sym)o(b)q(ol.)0 523 y([Lei92])160
b(T.)23 b(Leigh)o(ton.)41 b(Metho)q(ds)22 b(for)h(message)g(routing)h(on)f
(parallel)h(mac)o(hines.)40 b(In)22 b Fj(Pr)n(o)n(c.)301 596
y(24th)17 b(A)o(nn.)f(A)o(CM)g(Symp.)g(on)h(The)n(ory)e(of)h(Computing)p
Fk(,)f(pages)h(77{96,)h(Victoria,)f(B.C.,)301 668 y(Canada,)i(Ma)o(y)e(1992.)
22 b(This)c(surv)o(ey)d(includes)i(the)f(topic)h(of)g(randomized)g(wiring.)0
780 y([LFKN90])88 b(C.)21 b(Lund,)i(L.)e(F)l(ortno)o(w,)h(H.)e(Karlo\013,)j
(and)f(N.)e(Nisan.)36 b(Algebraic)21 b(metho)q(ds)h(for)f(in-)301
852 y(teractiv)o(e)e(pro)q(of)h(systems.)30 b(In)18 b Fj(Pr)n(o)n(c.)h(31st)h
(A)o(nn.)h(IEEE)f(Symp.)g(on)g(F)l(oundations)h(of)301 924
y(Computer)h(Scienc)n(e)p Fk(,)j(pages)d(2{10,)i(1990.)38 b(The)22
b(authors)g(presen)o(t)f(a)h(new)f(algebraic)301 996 y(tec)o(hnique)e(for)h
(constructing)h(IP)f(systems)f(and)i(pro)o(v)o(e)e(that)h(ev)o(ery)e
(language)k(in)e(the)301 1068 y(p)q(olynomial)d(time)c(hierarc)o(h)o(y)g(has)
h(an)g(in)o(teractiv)o(e)f(pro)q(of)h(system.)f(This)h(is)g(a)g(k)o(ey)e(pap)
q(er)301 1141 y(essen)o(tial)17 b(for)e(pro)o(ving)h Fh(I)t(P)k
Fk(=)14 b Fh(P)7 b(S)s(P)g(AC)t(E)18 b Fk([Sha92b)q(])c(and)i
Fh(M)5 b(I)t(P)21 b Fk(=)14 b Fh(N)5 b(E)s(X)t(P)23 b Fk([BFL90].)0
1252 y([LLM90])120 b(F.)27 b(T.)f(Leigh)o(ton,)31 b(D.)c(Lisinski,)k(and)d
(B.)e(M.)g(Maggs.)54 b(Empirical)29 b(ev)m(aluation)g(of)301
1325 y(randomly-wired)d(m)o(ultistage)g(net)o(w)o(orks.)45
b(In)24 b Fj(Pr)n(o)n(c.)g(1990)g(IEEE)h(Int'l.)h(Conf.)f(on)301
1397 y(Computer)d(Design)p Fk(,)g(pages)f(380{385,)j(1990.)36
b(This)22 b(pap)q(er)f(presen)o(ts)f(sim)o(ulation)j(re-)301
1469 y(sults)18 b(comparing)f(the)g(fault-tolerance,)g(dela)o(y)g(and)g
(other)f(c)o(haracteristics)h(of)g(butter-)301 1541 y(\015ies,)e(dilated)h
(butter\015ies)f(and)g(randomly-wired)i(m)o(ultibutter\015ies.)d
(Randomly-wired)301 1614 y(m)o(ultibutter\015ies)j(p)q(erform)g(b)q(etter)f
(b)o(y)f(man)o(y)h(y)o(ardstic)o(ks.)0 1725 y([LLS87])138 b(D.)12
b(Lic)o(h)o(tenstein,)g(N.)f(Linial,)k(and)d(M.)f(Saks.)j(Imp)q(erfect)c
(random)i(sources)g(and)g(discrete)301 1797 y(con)o(trolled)19
b(pro)q(cesses.)26 b(In)17 b Fj(Pr)n(o)n(c.)g(19th)i(A)o(nn.)g(A)o(CM)f
(Symp.)h(on)g(The)n(ory)e(of)i(Comput-)301 1870 y(ing)p Fk(,)h(pages)f
(169{177,)j(1987.)29 b(Imp)q(erfect)17 b(sources)i(are)g(mo)q(deled)g(b)o(y)f
(discrete)g(con)o(trol)301 1942 y(pro)q(cesses)h(where)e(the)h(output)g
(string)h(of)f(zeros)g(and)g(ones)g(has)h(b)q(een)f(tamp)q(ered)f(with)301
2014 y(b)o(y)g(a)g(con)o(troller)g(who)g(can)g(sp)q(ecify)g(certain)g(bits.)g
(Sev)o(eral)f(questions)i(concerning)f(the)301 2086 y(mem)o(b)q(ership)f(of)h
(suc)o(h)f(a)h(string)g(in)g(a)g(presp)q(eci\014ed)f(set)g
Fh(L)h Fk(are)f(answ)o(ered.)0 2198 y([LL)-5 b(W88])120 b(N.)17
b(Linial,)k(L.)c(Lo)o(v\023)-24 b(asz,)19 b(and)f(A.)f(Wigderson.)27
b(Rubb)q(er)18 b(bands,)h(con)o(v)o(ex)d(em)o(b)q(eddings,)301
2270 y(and)i(graph)g(connectivit)o(y)l(.)k Fj(Combinatoric)n(a)p
Fk(,)17 b(8:91{102,)i(1988.)24 b(Sev)o(eral)17 b(probabilistic)301
2342 y(algorithms)24 b(for)d(connectivit)o(y)g(computation,)j(b)q(oth)e(of)f
(the)h(Mon)o(te)e(Carlo)j(and)f(Las)301 2415 y(V)l(egas)d(v)m(ariet)o(y)l(,)f
(are)h(giv)o(en,)f(as)h(is)g(a)g(formalization)i(of)d(the)g(connectivit)o(y)h
(problem)f(in)301 2487 y(terms)k(of)h(em)o(b)q(edded)f(graphs.)h(E\016cien)o
(t)f(parallel)i(implemen)o(tations)g(are)f(included.)301 2559
y(\(First)f(app)q(eared)g(under)f(the)f(title)i(\\A)f(ph)o(ysical)h(in)o
(terpretation)g(of)f(graph)h(connec-)301 2631 y(tivit)o(y)g(and)f(its)h
(algorithmic)h(applications")h(in)e Fj(Pr)n(o)n(c.)e(27th)i(A)o(nn.)h(IEEE)e
(Symp.)h(on)301 2704 y(F)l(oundations)d(of)e(Computer)g(Scienc)n(e)t
Fk(,)h(1986,)f(pp.)f(39{53.\).)938 2828 y(134)p eop
bop 0 195 a Fk([LM89])150 b(F.)19 b(T.)h(Leigh)o(ton)h(and)f(B.)f(M.)g
(Maggs.)32 b(Expanders)20 b(migh)o(t)g(b)q(e)g(practical:)29
b(fast)20 b(algo-)301 267 y(rithms)c(for)g(routing)h(around)g(faults)g(in)f
(m)o(ultibutter\015ies.)21 b(In)15 b Fj(Pr)n(o)n(c.)h(30th)h(A)o(nn.)g(IEEE)
301 340 y(Symp.)f(on)g(F)l(oundations)h(of)f(Computer)g(Scienc)n(e)p
Fk(,)g(pages)f(384{389,)j(1989.)i(This)15 b(pap)q(er)301 412
y(con)o(tains)g(a)f(simpler)g(v)o(ersion)f(of)h(Upfal's)g(results)g([Upf89])e
(and)i(algorithms)i(for)e(routing)301 484 y(on)j(randomized)g(m)o
(ultibutter\015ies)g(in)g(the)f(presence)f(of)i(faults.)0 598
y([LM92a])126 b(F.)15 b(T.)f(Leigh)o(ton)i(and)g(B.)d(M.)h(Maggs.)20
b(F)l(ast)15 b(algorithms)i(for)e(routing)i(around)e(faults)h(in)301
670 y(m)o(ultibutter\015ies)g(and)g(randomly-wired)h(splitter)g(net)o(w)o
(orks.)i Fj(IEEE)d(T)l(r)n(ans.)g(on)h(Com-)301 742 y(puters)p
Fk(,)k(41\(5\):578{587,)i(Ma)o(y)c(1992.)33 b(This)21 b(pap)q(er)g(describ)q
(es)f(simple)g(deterministic)301 814 y Fh(O)q Fk(\(log)11 b
Fh(N)5 b Fk(\)-step)18 b(algorithms)h(for)e(routing)i(p)q(erm)o(utations)f
(of)f(pac)o(k)o(ets)f(in)i(m)o(ultibutter-)301 887 y(\015ies)e(and)g
(randomly-wired)h(splitter)f(net)o(w)o(orks.)f(The)g(algorithms)j(are)d
(robust)h(against)301 959 y(faults)h(\(ev)o(en)d(in)h(the)g(w)o(orst)h
(case\))f(and)h(are)f(e\016cien)o(t)f(from)h(a)g(practical)i(p)q(oin)o(t)f
(of)f(view.)0 1073 y([LM92b])123 b(F.)20 b(T.)g(Leigh)o(ton)i(and)f(B.)f(M.)g
(Maggs.)34 b(The)21 b(role)g(of)g(randomness)g(in)g(the)f(design)i(of)301
1145 y(in)o(terconnection)c(net)o(w)o(orks.)k Fj(Information)17
b(Pr)n(o)n(c)n(essing)p Fk(,)f(I:291{305,)j(1992.)24 b(A)16
b(surv)o(ey)301 1217 y(of)22 b(recen)o(t)d(researc)o(h)i(on)g(randomly)h
(wired)g(in)o(terconnection)f(net)o(w)o(orks,)h(whic)o(h)f(ha)o(v)o(e)301
1289 y(b)q(een)16 b(found)h(to)f(b)q(e)g(exceptionally)h(fault-toleran)o(t)h
(and)e(w)o(ell-suited)i(for)e(b)q(oth)h(pac)o(k)o(et-)301 1362
y(routing)h(and)f(circuit-switc)o(hing)h(applications.)0 1475
y([LMP)122 1457 y Fl(+)151 1475 y Fk(91])88 b(F.)12 b(T.)g(Leigh)o(ton,)h(F.)
f(Mak)o(edon,)g(S.)g(Plotkin,)i(C.)e(Stein,)g(E.)g(T)l(ardos,)i(and)f(S.)e(T)
l(ragoudas.)301 1548 y(F)l(ast)20 b(appro)o(ximation)i(algorithms)g(for)e(m)o
(ulticommo)q(dit)o(y)g(\015o)o(w)g(problems.)32 b(In)19 b Fj(Pr)n(o)n(c.)301
1620 y(23r)n(d)13 b(A)o(nn.)i(A)o(CM)e(Symp.)h(on)h(The)n(ory)d(of)i
(Computing)p Fk(,)g(pages)f(101{111,)j(New)c(Orleans,)301 1692
y(LA,)k(Ma)o(y)g(1991.)23 b(The)16 b(pap)q(er)h(presen)o(ts)e(randomized)i
(algorithms)i(for)d(appro)o(ximately)301 1764 y(solving)j(the)e(m)o
(ulticommo)q(dit)o(y)g(\015o)o(w)h(problem.)f(The)g(algorithms)i(run)e(in)g
(p)q(olynomial)301 1836 y(time)f(with)i(high)f(probabilit)o(y)l(.)0
1950 y([Lo)o(v79])146 b(L.)13 b(Lo)o(v)m(asz.)j(On)d(determinan)o(ts,)g(matc)
o(hings)h(and)f(random)g(algorithms.)18 b(In)12 b(L.)h(Budac)o(h,)301
2022 y(editor,)23 b Fj(F)l(undamentals)g(of)e(Computing)h(The)n(ory)p
Fk(.)e(Ak)m(ademia-V)l(erlag,)i(Berlin,)g(1979.)301 2095 y(Lo)o(v)m(asz)17
b(describ)q(es)g(a)f(probabilistic)j(metho)q(d)d(for)g(determining)h(the)e(p)
q(erfect)h(matc)o(hing)301 2167 y(in)h(a)g(simple)g(graph,)g(if)f(one)h
(exists,)f(using)i(T)l(utte's)e(theorem.)0 2281 y([LP90])162
b(F.)21 b(T.)g(Leigh)o(ton)i(and)f(C.)g(G.)f(Plaxton.)38 b(A)21
b(\(fairly\))h(simple)h(circuit)f(that)f(\(usually\))301 2353
y(sorts.)k(In)17 b Fj(Pr)n(o)n(c.)h(31st)g(A)o(nn.)h(IEEE)f(Symp.)g(on)h(F)l
(oundations)g(of)f(Computer)h(Scienc)n(e)p Fk(,)301 2425 y(pages)i(264{274,)i
(1990.)34 b(A)20 b Fh(k)r Fk(-round)h(tournamen)o(t)f(o)o(v)o(er)f
Fh(n)i Fk(=)f(2)1540 2407 y Ff(k)1582 2425 y Fk(pa)o(y)o(ers)f(whic)o(h)h
(has)301 2497 y(v)o(ery)12 b(go)q(o)q(d)j(sorting)g(prop)q(erties)f(is)g(in)o
(tro)q(duced.)f(There)f(prop)q(erties)i(are)f(then)g(exploited)301
2570 y(in)k(a)g(sorting)h(net)o(w)o(ork)d(and)i(t)o(w)o(o)f(randomized)h
(algorithms.)938 2828 y(135)p eop
bop 0 195 a Fk([LPV81])125 b(G.)16 b(Lev,)f(N.)f(Pipp)q(enger,)i(and)g(L.)g
(V)l(alian)o(t.)21 b(A)15 b(fast)h(parallel)h(algorithm)h(for)d(routing)i(in)
301 267 y(p)q(erm)o(utation)e(net)o(w)o(orks.)i Fj(IEEE)e(T)l(r)n(ans.)g(on)g
(Computers)p Fk(,)f(C-30\(2\):93{100,)j(F)l(ebruary)301 340
y(1981.)36 b(This)22 b(pap)q(er)f(presen)o(ts)f(deterministic)h(algorithms)i
(for)e(routing)h(in)f(p)q(erm)o(uta-)301 412 y(tion)16 b(net)o(w)o(orks.)e
(The)h(fastest)h(algorithms)h(require)d(global)k(kno)o(wledge)d(and)h
(\012\(log)1859 390 y Fl(2)1887 412 y Fh(N)5 b Fk(\))301 484
y(parallel)19 b(time.)0 598 y([LR81])159 b(D.)15 b(Lehmann)h(and)f(M.)g(O.)f
(Rabin.)20 b(On)15 b(the)g(adv)m(an)o(tage)h(of)g(free)e(c)o(hoice:)20
b(A)15 b(symmetric)301 670 y(and)k(fully)h(distributed)g(solution)g(to)f(the)
g(Dining)h(Philosophers)h(problem)e(\(extended)301 742 y(abstract\).)32
b(In)19 b Fj(Pr)n(o)n(c.)g(Eighth)i(A)o(nn.)g(A)o(CM)e(Symp.)i(on)f
(Principles)h(of)g(Pr)n(o)n(gr)n(amming)301 814 y(L)n(anguages)p
Fk(,)g(pages)g(133{138,)h(1981.)33 b(A)19 b(classic)i(pap)q(er)g(in)f(the)f
(area)h(of)g(randomized)301 887 y(distributed)25 b(algorithms.)g(They)e(sho)o
(w)g(there)g(is)h(no)f(deterministic,)i(deadlo)q(c)o(k-free,)301
959 y(truly)15 b(distributed)h(and)g(symmetric)e(solution)j(to)e(the)f
(Dining)j(Philosophers)g(problem,)301 1031 y(and)g(describ)q(e)g(a)f(simple)h
(probabilisti)q(c)i(alternativ)o(e.)0 1145 y([LS91])168 b(D.)12
b(Lapidot)h(and)f(A.)f(Shamir.)j(F)l(ully)f(parallelized)g(m)o(ulti-pro)o(v)o
(er)f(proto)q(cols)h(for)f(NEXP-)301 1217 y(time.)22 b(In)16
b Fj(Pr)n(o)n(c.)h(32nd)g(A)o(nn.)i(IEEE)e(Symp.)g(on)h(F)l(oundations)h(of)e
(Computer)h(Scienc)n(e)p Fk(,)301 1289 y(pages)f(13{18,)g(1991.)22
b(This)17 b(pap)q(er)g(presen)o(ts)e(a)h(one-round,)h(zero-kno)o(wledge)f
(proto)q(col)301 1362 y(\(without)24 b(cryptographic)g(assumptions\))g(for)f
(ev)o(ery)e(language)k(in)e Fj(NEXP-time)t Fk(.)g(In)301 1434
y(a)i(m)o(ulti-pro)o(v)o(er)e(proto)q(col,)k(sev)o(eral)d(pro)o(v)o(ers)f
(try)g(to)i(con)o(vince)e(a)h(p)q(olynomial-ti)q(me)301 1506
y(v)o(eri\014er)18 b(that)h(a)g(string)h Fh(X)j Fk(b)q(elongs)e(in)e
(language)i Fh(L)p Fk(.)d(Pro)o(v)o(ers)g(cannot)i(comm)o(unicate)301
1578 y(among)f(themselv)o(es)e(or)h(observ)o(e)f(comm)o(unications)i(b)q(et)o
(w)o(een)e(the)g(v)o(eri\014er)h(and)g(other)301 1650 y(pro)o(v)o(ers.)g(The)
g(proto)q(col)i(ensures)e(that)h(if)g Fh(X)k Fk(is)c(not)g(in)g
Fh(L)p Fk(,)f(the)g(probabilit)o(y)j(that)d(the)301 1723 y(v)o(eri\014er)e
(accepts)g(the)g(string)h(as)g(b)q(elonging)i(to)e Fh(L)f Fk(is)h(exp)q(onen)
o(tially)h(small.)0 1836 y([LS92])168 b(L.)18 b(Lo)o(v)m(asz)g(and)g(M.)e
(Simono)o(vits.)26 b(On)18 b(the)f(randomized)h(complexit)o(y)f(of)g(v)o
(olume)g(and)301 1909 y(diameter.)23 b(In)17 b Fj(Pr)n(o)n(c.)g(33r)n(d)g(A)o
(nn.)h(IEEE)g(Symp.)g(on)g(F)l(oundations)h(of)f(Computer)g(Sci-)301
1981 y(enc)n(e)p Fk(,)g(pages)g(482{492,)i(1992.)25 b(The)17
b(authors)i(presen)o(t)d(an)i Fh(O)q Fk(\()p Fh(n)1499 1963
y Fl(7)1527 1981 y Fk(log)1590 1959 y Fl(2)1618 1981 y Fh(n)p
Fk(\))g(algorithm)h(to)301 2053 y(appro)o(ximate)i(the)g(v)o(olume)f(of)h(a)f
(con)o(v)o(ex)g(b)q(o)q(dy)l(,)i(and)f(an)g Fh(O)q Fk(\()p
Fh(n)1512 2035 y Fl(6)1540 2053 y Fk(log)11 b Fh(n)p Fk(\))20
b(algorithm)j(to)301 2125 y(sample)17 b(a)g(p)q(oin)o(t)g(from)f(the)g
(uniform)h(distribution)i(o)o(v)o(er)c(a)i(con)o(v)o(ex)e(b)q(o)q(dy)l(.)0
2239 y([LS93])168 b(J.)13 b(Lutz)g(and)h(W.)f(Sc)o(hmidt.)j(Circuit)e(size)f
(relativ)o(e)g(to)h(pseudo-random)g(oracles.)j Fj(The)n(o-)301
2311 y(r)n(etic)n(al)d(Computer)f(Scienc)n(e)p Fk(,)h(107:95{120,)i(1993.)f
(Assuming)e(pseudo-random)h(oracles,)301 2384 y(circuit-size)20
b(complexit)o(y)e(is)h(compared)f(with)h(deterministic)h(and)e
(non-deterministic)301 2456 y(complexit)o(y)l(.)c(The)h(pap)q(er)h(also)g
(sho)o(ws)g(that)f(for)g(ev)o(ery)e(p-space)i(random)h(oracle)f
Fh(A)f Fk(and)301 2528 y(almost)19 b(ev)o(ery)c(oracle)i Fh(A)g
Fk(in)h Fh(E)s(P)7 b(S)s(P)g(AC)t(E)s Fk(,)16 b Fh(N)5 b(P)1217
2510 y Ff(A)1263 2528 y Fk(is)17 b(not)h(con)o(tained)f(in)h
Fh(S)s(I)t(Z)t(E)1814 2510 y Ff(A)1842 2528 y Fk(\(2)1885 2510
y Ff(\013n)1931 2528 y Fk(\))301 2600 y(for)f(an)o(y)f(real)h
Fh(\013)d(<)g Fk(1)p Fh(=)p Fk(3,)j(and)g Fh(E)897 2582 y Ff(A)941
2600 y Fk(is)g(not)g(con)o(tained)g(in)g Fh(S)s(I)t(Z)t(E)1490
2582 y Ff(A)1518 2600 y Fk(\(2)1561 2582 y Ff(n)1585 2600 y
Fh(=n)p Fk(\).)938 2828 y(136)p eop
bop 0 195 a Fk([LSP82])135 b(L.)22 b(Lamp)q(ort,)i(R.)d(Shostak,)j(and)e(M.)f
(P)o(ease.)38 b(The)21 b(Byzan)o(tine)g(Generals)i(problem.)301
267 y Fj(A)o(CM)j(T)l(r)n(ans.)e(on)i(Pr)n(o)n(gr)n(amming)e(L)n(anguages)j
(and)e(Systems)p Fk(,)j(4\(3\):382{401,)i(July)301 340 y(1982.)43
b(They)23 b(pro)o(v)o(ed)g(that)g(Byzan)o(tine)f(agreemen)o(t)h(\(the)f(sub)s
(ject)h(of)g(Section)h(3.5\))301 412 y(cannot)15 b(b)q(e)f(reac)o(hed)f
(unless)i(few)o(er)e(than)i(one-third)g(of)f(the)g(pro)q(cesses)g(are)g
(fault)o(y)l(.)g(This)301 484 y(result)f(assumes)f(that)h(authen)o(tication,)
h(i.e.,)d(the)h(crypting)h(of)f(messages)g(to)h(mak)o(e)e(them)301
556 y(unforgeable,)k(is)g(not)f(used.)f(With)h(unforgeable)h(messages,)f
(they)f(sho)o(w)h(that)g(the)f(prob-)301 628 y(lem)20 b(is)g(solv)m(able)h
(for)e(an)o(y)h Fh(n)f Fg(\025)g Fh(t)f(>)h Fk(0,)h(where)f
Fh(n)h Fk(is)g(the)f(total)h(n)o(um)o(b)q(er)f(of)g(pro)q(cesses)301
701 y(and)e Fh(t)f Fk(is)h(the)f(n)o(um)o(b)q(er)g(of)g(fault)o(y)h(pro)q
(cesses.)0 814 y([Lut92])149 b(J.)24 b(Lutz.)46 b(On)25 b(indep)q(enden)o(t)f
(random)h(oracles.)46 b Fj(The)n(or)n(etic)n(al)25 b(Computer)g(Scienc)n(e)p
Fk(,)301 887 y(92:301{307,)c(1992.)28 b(This)19 b(pap)q(er)g(sho)o(ws)g(that)
f(for)g(ev)o(ery)f(random)h(language)i Fh(A)12 b Fg(\010)g
Fh(B)s Fk(,)301 959 y Fh(P)7 b Fk(\()p Fh(A)p Fk(\))r Fg(\\)r
Fh(P)g Fk(\()p Fh(B)s Fk(\))14 b(=)g Fh(B)s(P)7 b(P)g Fk(,)12
b(where)f Fh(P)c Fk(\()p Fh(A)p Fk(\))12 b(and)g Fh(P)7 b Fk(\()p
Fh(B)s Fk(\))12 b(are)g(the)f(class)i(of)f(languages)i(in)f(p)q(oly-)301
1031 y(nomial)18 b(time)e(relativized)h(to)g Fh(A)f Fk(and)h
Fh(B)s Fk(.)e(This)i(impro)o(v)o(es)f(on)h(the)f(results)h(of)g([Kur87].)0
1145 y([L)-5 b(V92])163 b(J.-H.)13 b(Lin)h(and)g(J.)f(S.)g(Vitter.)j
Fh(\017)p Fk(-appro)o(ximations)f(with)f(minim)o(um)f(pac)o(king)h(constrain)
o(t)301 1217 y(violation.)38 b(In)20 b Fj(Pr)n(o)n(c.)h(24th)g(A)o(nn.)i(A)o
(CM)e(Symp.)g(on)h(The)n(ory)f(of)g(Computing)p Fk(,)h(pages)301
1289 y(771{782,)e(Victoria,)e(B.C.,)e(Canada,)i(Ma)o(y)f(1992.)25
b(E\016cien)o(t)17 b(randomized)h(and)f(deter-)301 1362 y(ministic)e
(algorithms)g(are)e(presen)o(ted)f(for)i(transforming)g(optimal)h(solutions)h
(for)d(a)h(t)o(yp)q(e)301 1434 y(of)g(relaxed)f(in)o(teger)h(linear)g
(program)g(in)o(to)g(pro)o(v)m(ably)h(go)q(o)q(d)g(appro)o(ximate)f
(solutions)i(for)301 1506 y(the)g(corresp)q(onding)j Fj(NP)p
Fk(-hard)e(discrete)f(optimization)j(problem.)0 1620 y([MadH85])92
b(F.)22 b(Mey)o(er)e(auf)j(der)f(Heide.)38 b(Sim)o(ulating)24
b(probabilistic)h(b)o(y)d(determining)g(algebraic)301 1692
y(computation)i(trees.)40 b Fj(The)n(or)n(etic)n(al)23 b(Computer)g(Scienc)n
(e)p Fk(,)j(41:325{330,)h(1985.)42 b(This)301 1764 y(pap)q(er)18
b(o)o(v)o(erlaps)g(with)g(the)g(pap)q(er)g(\\Nondeterministic)g(V)l(ersus)f
(Probabilisti)q(c)j(Linear)301 1836 y(Searc)o(h)g(Algorithms,")j
Fj(Pr)n(o)n(c.)d(26th)g(A)o(nn.)i(IEEE)f(Symp.)g(on)g(F)l(oundations)h(of)f
(Com-)301 1909 y(puter)e(Scienc)n(e)t Fk(,)h(1985,)f(pp.)e(65{73.)j(It)d(is)h
(sho)o(wn)h(that)f(nondeterministic)h(algorithms)301 1981 y(are)h(less)g
(complex)f(than)i(their)e(probabilisti)q(c)j(coun)o(terparts)e(ev)o(en)e
(when)i(the)f(proba-)301 2053 y(bilistic)f(c)o(hoices)d(are)g(assigned)i
(zero)e(cost)g(and)h(error)f(is)h(allo)o(w)o(ed)g(in)g(all)h(computations.)
301 2125 y(The)g(sp)q(eci\014c)f(algorithms)j(considered)d(are)h(linear)g
(searc)o(h)f(algorithms.)0 2239 y([MadH90])92 b(F.)16 b(Mey)o(er)e(auf)j(der)
e(Heide.)21 b(Dynamic)16 b(hashing)i(strategies.)k(In)16 b
Fj(Pr)n(o)n(c.)g(15th)h(Symp.)g(on)301 2311 y(Mathematic)n(al)i(F)l
(oundations)h(of)e(Computer)h(Scienc)n(e,)h Fk(Lecture)d(Notes)h(in)g
(Computer)301 2384 y(Science,)13 b(V)l(ol.)g(452,)h(pages)g(76{87,)h(Bansk)m
(a)e(Bystrica,)g(Czec)o(hoslo)o(v)m(akia,)i(August)e(1990.)301
2456 y(Springer-V)l(erlag.)20 b(This)c(pap)q(er)f(con)o(tains)g(a)g(surv)o
(ey)e(of)i(dynamic)g(hashing)h(tec)o(hniques.)301 2528 y(It)c(ev)m(aluates)i
(hashing)g(algorithms)h(with)e(resp)q(ect)f(to)h(probabilit)o(y)i(of)d
(collisions)q(,)j(buc)o(k)o(et)301 2600 y(sizes,)h(ev)m(aluation)h(time,)e
(and)g(the)g(time)g(needed)g(to)g(construct)h(a)f(hash)h(function.)g(P)o(ar-)
301 2672 y(allel,)i(distributed)f(and)g(sequen)o(tial)g(algorithms)i(are)d
(considered.)938 2828 y(137)p eop
bop 0 195 a Fk([MC87])145 b(D.)14 b(Mitra)g(and)g(R.)f(A.)g(Cieslak.)18
b(Randomized)c(parallel)i(comm)o(unication)e(on)g(an)h(exten-)301
267 y(sion)20 b(of)e(the)f(Omega)h(net)o(w)o(ork.)26 b Fj(Journal)19
b(of)g(the)g(A)o(CM)p Fk(,)e(34\(4\):802{824,)k(1987.)28 b(This)301
340 y(is)19 b(an)g(extension)f(of)g(V)l(alian)o(t)h(and)g(Aleliunas')g
(algorithm)h(to)e(eliminate)h(the)f(need)g(for)301 412 y(sc)o(heduling.)f
(This)h(algorithm)g(also)g(w)o(orks)e(on)h(net)o(w)o(orks)f(of)g(\014xed)g
(degree)g(no)q(des.)0 526 y([Meh82])131 b(K.)17 b(Mehlhorn.)23
b(On)17 b(the)f(program)i(size)f(of)g(p)q(erfect)f(and)h(univ)o(ersal)h(has)g
(functions.)23 b(In)301 598 y Fj(Pr)n(o)n(c.)13 b(23r)n(d)f(A)o(nn.)i(IEEE)f
(Symp.)g(on)h(F)l(oundations)g(of)f(Computer)h(Scienc)n(e)p
Fk(,)g(pages)e(170{)301 670 y(175,)17 b(1982.)22 b(A)15 b(m)o(ust)g(for)h
(readers)g(in)o(terested)g(in)g(p)q(erfect)f(hashing.)i(It)e(pro)o(v)o(es)h
(that)g(for)301 742 y Fh(n)e Fk(distinct)h(k)o(eys)d(from)i([0)8
b(.)g(.)g(.)f Fh(N)k Fg(\000)5 b Fk(1],)14 b(there)f(exists)h(a)f(prime)h(n)o
(um)o(b)q(er)f Fh(p)h Fk(=)g Fh(O)q Fk(\()p Fh(n)1784 724 y
Fl(2)1804 742 y Fh(l)q(n)p Fk(\()p Fh(N)5 b Fk(\)\))301 814
y(suc)o(h)17 b(that)h(for)f(an)o(y)g(t)o(w)o(o)g(k)o(eys)f
Fh(x)916 821 y Ff(i)947 814 y Fk(and)i Fh(x)1071 821 y Ff(j)1089
814 y Fk(,)f Fh(x)1148 821 y Ff(i)1161 814 y Fk(\()p Fh(modp)p
Fk(\))f Fg(6)p Fk(=)g Fh(x)1412 821 y Ff(j)1430 814 y Fk(\()p
Fh(modp)p Fk(\).)h(F)l(urther,)g(a)g(go)q(o)q(d)301 887 y(deterministic)j
(algorithm)h(exists)e(for)h(\014nding)g Fh(p)p Fk(;)g(it)g(can)f(b)q(e)g
(determined)f(ev)o(en)g(more)301 959 y(e\016cien)o(tly)e(using)i(a)e
(randomized)h(algorithm.)h(Sev)o(eral)e(other)g(results)h(concerning)g(the)
301 1031 y(construction)f(and)f(length)g(of)f(p)q(erfect)g(and)g(univ)o
(ersal)i(hashing)g(functions)f(are)f(pro)o(v)o(ed.)0 1145 y([Meh84a])107
b(K.)17 b(Mehlhorn.)23 b Fj(Data)17 b(Structur)n(es)i(and)f(A)o(lgorithms)g
(1:)23 b(Sorting)c(and)f(Se)n(ar)n(ching)p Fk(,)e(v)o(ol-)301
1217 y(ume)22 b(1)g(of)g Fj(EA)l(TCS)i(Mono)n(gr)n(aphs)d(on)i(The)n(or)n
(etic)n(al)f(Computer)h(Scienc)n(e)p Fk(.)40 b(Springer-)301
1289 y(V)l(erlag,)27 b(1984.)47 b(V)l(olume)25 b(1)g(of)g(this)g(three-v)o
(olume)f(series)h(is)g(an)g(excellen)o(t)f(source)301 1362
y(for)d(searc)o(hing)g(and)f(sorting)i(algorithms.)g(It)e(con)o(tains)h
(sections)g(on)f(quic)o(ksort)g(\(Sec-)301 1434 y(tion)i(I)q(I.1.3\),)e(p)q
(erfect)f(hashing)j(\(Section)f(I)q(I)q(I.2.3\)and)f(univ)o(ersal)h(hashing)h
(\(Sections)301 1506 y(I)q(I)q(I.2.3\).)0 1620 y([Meh84b])104
b(K.)18 b(Mehlhorn.)27 b Fj(Gr)n(aph)17 b(A)o(lgorithms)i(and)h
(NP-Completeness)p Fk(,)g(v)o(olume)e(2)g(of)g Fj(EA)l(TCS)301
1692 y(Mono)n(gr)n(aphs)d(on)i(The)n(or)n(etic)n(al)e(Computer)i(Scienc)n(e)p
Fk(.)k(Springer-V)l(erlag,)16 b(1984.)21 b(Section)301 1764
y(IV.9.2)15 b(giv)o(es)h(a)g(probabilisti)q(c)i(algorithm)g(for)e(graph)h
(connectivit)o(y)e(and)i(Section)f(VI.8)301 1836 y(deals,)h(in)g(part,)f
(with)h(primalit)o(y)h(testing.)0 1950 y([Meh84c])109 b(K.)18
b(Mehlhorn.)28 b Fj(Multi-dimensional)21 b(se)n(ar)n(ching)f(and)f(c)n
(omputational)h(ge)n(ometry)p Fk(,)e(v)o(ol-)301 2022 y(ume)k(3)g(of)g
Fj(EA)l(TCS)i(Mono)n(gr)n(aphs)d(on)i(The)n(or)n(etic)n(al)f(Computer)h
(Scienc)n(e)p Fk(.)40 b(Springer-)301 2095 y(V)l(erlag,)19
b(1984.)30 b(This)19 b(b)q(o)q(ok)h(is)f(the)f(last)i(of)e(three)g(v)o
(olmes.)g(Chapter)h(7)g(is)g(dev)o(oted)f(to)301 2167 y(m)o(ulti-dimensional)
d(data)d(structures)f(and)h(Chapter)g(8)f(to)h(problems)g(in)g(computational)
301 2239 y(geometry)l(.)0 2353 y([Mig80])143 b(M.)17 b(Mignotte.)26
b(T)l(ests)17 b(de)h(primalite.)26 b Fj(The)n(or)n(etic)n(al)18
b(Computer)g(Scienc)n(e)p Fk(,)h(12:109{117,)301 2425 y(1980.)25
b(Surv)o(eys)16 b(the)h(\014eld)h(of)f(primalit)o(y)h(testing)g(from)f(a)g
(computational)i(complexit)o(y)301 2497 y(p)q(ersp)q(ectiv)o(e.)d(In)g(F)l
(renc)o(h.)0 2611 y([Mil76])154 b(G.)18 b(L.)g(Miller.)27 b(Reimann's)18
b(Hyp)q(othesis)h(and)f(test)g(for)g(primalit)o(y)l(.)27 b
Fj(Journal)19 b(of)g(Com-)301 2683 y(puter)h(and)f(System)h(Scienc)n(es)p
Fk(,)g(13:300{317,)h(1976.)29 b(A)17 b(seminal)j(pap)q(er)f(in)f(the)g(dev)o
(el-)938 2828 y(138)p eop
bop 301 195 a Fk(opmen)o(t)20 b(of)h(primalit)o(y)h(testing)f(algorithms.)h
(This)g(pap)q(er)f(presen)o(ts)f(t)o(w)o(o)g(algorithms)301
267 y(for)15 b(primalit)o(y)g(testing.)g(The)g(\014rst)f(one)h(runs)f(in)h
Fh(O)q Fk(\()p Fh(n)1292 235 y Fb(1)p 1293 241 16 2 v 1293
262 a(7)1315 267 y Fk(\))g(time.)e(The)i(second)f(one,)h(whic)o(h)301
340 y(is)23 b(actually)g(a)f(p)q(olynomial)i(time)d(algorithm)j(\()p
Fh(O)q Fk(\(log)1333 318 y Fl(4)1362 340 y Fh(n)p Fk(\)\),)e(assumes)g(the)f
(Extended)301 412 y(Reimann)i(Hyp)q(othesis.)f(This)i(pap)q(er)e(also)i(pro)o
(v)o(es)e(a)g(certain)g(class)i(of)e(functions)h(is)301 484
y(computationally)17 b(equiv)m(alen)o(t)d(to)g(factoring)i(in)o(tegers.)d
(\(This)i(pap)q(er)g(\014rst)f(app)q(eared)g(in)301 556 y Fj(Pr)n(o)n(c.)e
(Seventh)j(A)o(nn.)f(A)o(CM)e(Symp.)h(on)g(The)n(ory)f(of)h(Computing)t
Fk(,)g(1975,)g(pp.)e(234{239.\).)0 670 y([MMN93])98 b(J.)17
b(Matou)m(\024)-22 b(sek,)17 b(D.)g(M.)f(Moun)o(t,)g(and)h(N.)f(S.)g(Netan)o
(y)o(ah)o(u.)22 b(E\016cien)o(t)16 b(randomized)h(algo-)301
742 y(rithms)j(for)f(the)g(rep)q(eated)g(median)h(line)g(estimator.)31
b(In)18 b Fj(Pr)n(o)n(c.)h(F)l(ourth)h(A)o(nn.)h(A)o(CM-)301
814 y(SIAM)16 b(Symp.)f(on)g(Discr)n(ete)h(A)o(lgorithms)p
Fk(,)e(pages)g(74{82,)i(Austin,)e(TX,)g(Jan)o(uary)g(1993.)301
887 y(Computing)21 b(a)f(statistical)i(estimator)e(can)g(b)q(e)f(view)o(ed)g
(as)h(the)g(problem)f(of)h(\014tting)h(a)301 959 y(straigh)o(t)15
b(line)g(to)f(a)g(collection)i(of)e Fh(n)f Fk(p)q(oin)o(ts)j(in)e(the)g
(plane.)g(The)f Fj(br)n(e)n(akdown)j(p)n(oint)d Fk(of)i(an)301
1031 y(estimator)e(is)f(the)f(fraction)h(of)g(outlying)h(data)f(p)q(oin)o(ts)
g(\(up)g(to)g(50\045\))f(that)h(ma)o(y)f(cause)g(the)301 1103
y(estimator)k(to)f(tak)o(e)f(on)h(an)g(arbitrarily)i(large)f(ab)q(erran)o(t)f
(v)m(alue.)g(The)g(authors)h(presen)o(t)e(a)301 1176 y(\(not-so)19
b(simple\))f Fh(O)q Fk(\()p Fh(n)8 b Fk(log)j Fh(n)p Fk(\))18
b(randomized)g(exp)q(ected)e(time)h(algorithm)j(for)d(the)g(prob-)301
1248 y(lem)22 b(of)g(computing)g(a)g(50\045-breakdo)o(wn-p)q(oin)o(t)i
(estimator,)f(namely)l(,)f(the)f(Siegel,)j(or)301 1320 y(rep)q(eated)19
b(median,)f(estimator.)h(A)f(simpler)h Fh(O)q Fk(\()p Fh(n)8
b Fk(log)1308 1299 y Fl(2)1336 1320 y Fh(n)p Fk(\))19 b(randomized)f
(algorithm)j(for)301 1392 y(the)d(problem)g(is)h(also)g(giv)o(en,)f(whic)o(h)
g(the)g(authors)g(con)o(tend)g(actually)h(has)g Fh(O)q Fk(\()p
Fh(n)8 b Fk(log)j Fh(n)p Fk(\))301 1465 y(exp)q(ected)16 b(time)g(for)g
(\\man)o(y)g(realistic)i(input)f(distributions.".)0 1578 y([MNN89])106
b(R.)13 b(Mot)o(w)o(ani,)i(J.)e(Naor,)h(and)g(M.)f(Naor.)k(The)c
(probabilisti)q(c)j(metho)q(d)e(yields)g(determin-)301 1650
y(istic)19 b(parallel)i(algorithms.)28 b(In)18 b Fj(Pr)n(o)n(c.)g(30th)h(A)o
(nn.)g(IEEE)g(Symp.)g(on)g(F)l(oundations)h(of)301 1723 y(Computer)f(Scienc)n
(e)p Fk(,)h(pages)f(8{13,)h(Researc)o(h)d(T)l(riangle)j(P)o(ark,)e(NC,)f(Oct)
h(1989.)28 b(This)301 1795 y(pap)q(er)23 b(presen)o(ts)f(a)g(metho)q(d)g(of)h
(con)o(v)o(erting)e(randomized)i(parallel)h(algorithms)g(in)o(to)301
1867 y(deterministic)h(parallel)g(\()p Fj(NC)7 b Fk(\))24 b(algorithms.)h
(Their)f(approac)o(h)g(is)h(based)e(on)h(a)g(par-)301 1939
y(allel)g(implemen)o(tation)f(of)f(the)f(metho)q(d)h(of)h(conditional)h
(probabilities)h(due)d(to)g(Jo)q(el)301 2012 y(Sp)q(encer)d([Sp)q(e88],)f
(whic)o(h)h(w)o(as)g(originall)q(y)i(in)o(tro)q(duced)e(with)h(the)e(aim)h
(of)g(con)o(v)o(erting)301 2084 y(probabilisti)q(c)f(pro)q(ofs)f(of)e
(existence)g(of)g(com)o(binatorial)j(structures)d(in)o(to)h(deterministic)301
2156 y(algorithms)23 b(that)f(can)e(actually)j(construct)d(these)h
(structures.)f(Restrictions)i(on)f(the)301 2228 y(tec)o(hnique)16
b(to)g(a)h(certain)g(class)g(of)g(randomized)f Fj(NC)h Fk(algorithms)h(are)f
(discussed.)0 2342 y([MNT93])108 b(Y.)25 b(Mansour,)i(N.)e(Nisan,)j(and)d(P)l
(.)g(Tiw)o(ari.)49 b(The)26 b(computational)h(complexit)o(y)e(of)301
2414 y(univ)o(ersal)d(hashing.)36 b Fj(The)n(or)n(etic)n(al)21
b(Computer)g(Scienc)n(e)p Fk(,)j(107:121{133,)g(1993.)36 b(They)301
2487 y(pro)o(v)o(e)17 b(that)i(an)o(y)e(implemen)o(tation)i(of)f(univ)o
(ersal)h(hashing)h(from)e Fh(n)p Fk(-bit)h(strings)g(to)f Fh(m)p
Fk(-)301 2559 y(bit)f(strings)h(requires)e(a)h(time-space)f(tradeo\013)h(of)g
Fh(T)7 b(S)16 b Fk(=)e(\012\()p Fh(nm)p Fk(\).)938 2828 y(139)p
eop
bop 0 195 a Fk([Mon80])129 b(L.)17 b(Monier.)22 b(Ev)m(aluation)d(and)e
(comparison)h(of)f(t)o(w)o(o)f(e\016cien)o(t)f(probabilisti)q(c)k(primalit)o
(y)301 267 y(testing)i(algorithms.)35 b Fj(The)n(or)n(etic)n(al)20
b(Computer)h(Scienc)n(e)p Fk(,)h(12:97{108,)h(1980.)34 b(Monier)301
340 y(presen)o(ts)18 b(an)h(in)o(teresting)g(comparison)h(of)e(the)g
(Miller-Rabin)j([Rab76])d(and)h(Solo)o(v)m(a)o(y-)301 412 y(Strassen)14
b([SS77])e(primalit)o(y)i(testing)f(algorithms,)i(sho)o(wing)f(that)f(the)f
(former)g(is)h(alw)o(a)o(ys)301 484 y(more)20 b(e\016cien)o(t)f(than)h(the)f
(latter.)h(In)g(the)f(pro)q(cess,)i(he)f(pro)o(v)o(es)f(that)h(at)g(least)h
(3)p Fh(=)p Fk(4)g(of)301 556 y(the)d(n)o(um)o(b)q(ers)g(in)g(the)g(set)g
Fg(f)p Fk(1)p Fh(;)8 b Fk(2)p Fh(;)g(:::;)g(n)k Fg(\000)g Fk(1)p
Fg(g)18 b Fk(are)g(witnesses)h(to)g(the)e(comp)q(ositeness)j(of)301
628 y Fh(n)p Fk(,)c(for)h Fh(n)f Fk(comp)q(osite.)h(This)g(strengthens)g(the)
f(b)q(ound)h(giv)o(en)g(in)g([Rab76].)0 740 y([MOO)o(Y92])68
b(A.)21 b(Ma)o(y)o(er,)f(Y.)h(Ofek,)g(R.)g(Ostro)o(vsky)l(,)g(and)h(M.)f(Y)l
(ung.)36 b(Self-stabilizing)24 b(symmetry)301 812 y(breaking)f(in)g(constan)o
(t-space.)39 b(In)22 b Fj(Pr)n(o)n(c.)g(24th)g(A)o(nn.)i(A)o(CM)e(Symp.)h(on)
g(The)n(ory)e(of)301 885 y(Computing)p Fk(,)16 b(pages)g(667{678,)i
(Victoria,)e(B.C.,)d(Canada,)k(Ma)o(y)e(1992.)21 b(A)14 b(randomized)301
957 y(proto)q(col)g(is)f(presen)o(ted)e(for)i(the)e(problem)i(of)f
(self-stabilizin)q(g)j(round-robin)f(tok)o(en)e(man-)301 1029
y(agemen)o(t)k(sc)o(heme)f(on)i(an)g(anon)o(ymous)g(bidirectional)h(ring)g
(of)e(iden)o(tical)i(pro)q(cessors.)0 1141 y([Mor82])137 b(S.)11
b(Moran.)j(On)d(accepting)g(densit)o(y)g(hierarc)o(h)o(y)g(in)h(NP.)g
Fj(SIAM)h(Journal)g(on)g(Computing)p Fk(,)301 1213 y(11\(2\),)21
b(Ma)o(y)d(1982.)32 b(Moran)19 b(in)o(v)o(estigates)h(a)g(c)o
(haracterization)g(of)f(sets)g(in)h Fj(NP)g Fk(based)301 1285
y(on)i(accepting)g(densit)o(y)f(of)h(a)g(p)q(olynomial)i(time)d
(nondeterministic)h(algorithm.)h(The)301 1357 y(accepting)18
b(densit)o(y)f(is)h(de\014ned)f(as)h(the)f(ratio)i(b)q(et)o(w)o(een)d(the)h
(accepting)g(computations)301 1430 y(and)g(the)f(total)i(n)o(um)o(b)q(er)d
(of)i(computations.)0 1541 y([MR89])144 b(G.)22 b(L.)g(Miller)h(and)f(J.)g
(H.)f(Reif.)38 b(P)o(arallel)24 b(tree)d(con)o(traction,)j(P)o(art)e(1:)33
b(F)l(undamen-)301 1614 y(tals.)i(In)20 b(S.)f(Micali,)k(editor,)e
Fj(A)n(dvanc)n(es)h(in)f(Computing)h(R)n(ese)n(ar)n(ch)e(5:)29
b(R)n(andomness)301 1686 y(and)19 b(Computation)p Fk(.)f(JAI)e(Press,)i
(Green)o(wic)o(h,)f(CT,)h(1989.)27 b(They)17 b(exhibit)h(a)g(random-)301
1758 y(ized)i(parallel)h(algorithm)g(for)f(subtree)f(isomorphism)i(that)f
(uses)f Fh(O)q Fk(\(log)11 b Fh(n)p Fk(\))19 b(time)g(and)301
1830 y Fh(O)q Fk(\()p Fh(n=)8 b Fk(log)k Fh(n)p Fk(\))21 b(pro)q(cessors.)h
(This)h(w)o(as)e(the)g(\014rst)h(p)q(olylog)h(parallel)h(algorithm)f(for)e
(the)301 1902 y(problem.)16 b(See)f(also)i(the)e(related)g(pap)q(er)h(\\P)o
(arallel)i(tree)d(con)o(traction)h(and)g(its)g(applica-)301
1975 y(tions,")h(in)e Fj(Pr)n(o)n(c.)g(26th)h(A)o(nn.)h(IEEE)f(Symp.)g(on)h
(F)l(oundations)g(of)f(Computer)g(Scienc)n(e)t Fk(,)301 2047
y(1985,)i(pp.)e(478{489;)i(and)f(the)f(companion)i(pap)q(er)f([MR91)o(].)0
2159 y([MR91])144 b(G.)21 b(L.)f(Miller)i(and)f(J.)f(H.)f(Reif.)34
b(P)o(arallel)23 b(tree)c(con)o(traction,)j(P)o(art)f(2:)30
b(F)l(urther)20 b(Ap-)301 2231 y(plications.)38 b Fj(SIAM)22
b(Journal)g(on)g(Computing)p Fk(,)g(20\(6\):1128{11)q(47,)j(Decem)o(b)q(er)20
b(1991.)301 2303 y(In)h(this)g(follo)o(w-up)i(of)e([MR89],)g(the)f(authors)i
(presen)o(t)e(man)o(y)g(applications)k(of)d(their)301 2375
y(\\parallel)h(tree)c(con)o(traction)i(tec)o(hnique,")e(including)j
(algorithms)g(for)f(sub)q(expression)301 2447 y(ev)m(aluation,)d(tree)d(and)h
(graph)g(isomorphism,)h(and)f(building)i(cononical)f(forms)f(of)f(trees)301
2520 y(and)j(planar)h(graphs.)0 2631 y([MS82])153 b(K.)17 b(Mehlhorn)g(and)g
(E.)g(Sc)o(hmidt.)23 b(Las)17 b(V)l(egas)g(is)h(b)q(etter)f(than)g
(determinism)g(in)g(VLSI)301 2704 y(and)23 b(distributed)g(computing.)39
b(In)21 b Fj(Pr)n(o)n(c.)h(14th)g(A)o(nn.)h(A)o(CM)g(Symp.)f(on)h(The)n(ory)e
(of)938 2828 y Fk(140)p eop
bop 301 195 a Fj(Computing)p Fk(,)19 b(pages)g(330{337,)h(1982.)28
b(This)19 b(pap)q(er)f(demonstrates)h(a)f(problem)g(where)301
267 y(the)c(theoretical)h(lo)o(w)o(er)g(b)q(ounds)g(for)g(distributed)g
(deterministic)g(solutions)i(can)d(b)q(e)h(im-)301 340 y(pro)o(v)o(ed)j
(using)h(randomness.)f(Let)g Fh(X)j Fk(=)c(\()p Fh(x)1124 347
y Fl(1)1143 340 y Fh(;)8 b(x)1193 347 y Fl(2)1212 340 y Fh(;)g
Fk(.)g(.)g(.)g Fh(x)1328 347 y Ff(n)1351 340 y Fk(\),)18 b
Fh(Y)28 b Fk(=)16 b(\()p Fh(y)1555 347 y Fl(1)1575 340 y Fh(;)8
b(y)1621 347 y Fl(2)1640 340 y Fh(;)g Fk(.)g(.)g(.)f Fh(y)1751
347 y Ff(n)1775 340 y Fk(\),)17 b(where)301 412 y Fh(x)329
419 y Ff(i)355 412 y Fk(and)c Fh(y)470 419 y Ff(i)496 412 y
Fk(are)f(in)o(tegers)g(b)q(et)o(w)o(een)g(0)g(and)h(2)1085
394 y Ff(n)1111 412 y Fg(\000)s Fk(1,)f(b)q(e)g(stored)h(on)f(t)o(w)o(o)g
(di\013eren)o(t)h(sites.)f(The)301 484 y(function)h Fh(f)5
b Fk(\()p Fh(X)q(;)j(Y)k Fk(\)|whic)o(h)g(is)g(de\014ned)g(to)g(b)q(e)g(1)g
(if)g(there)f(exists)h(an)g Fh(i)g Fk(suc)o(h)f(that)h Fh(x)1819
491 y Ff(i)1847 484 y Fk(=)i Fh(y)1923 491 y Ff(i)1936 484
y Fk(,)301 556 y(and)f(0)f(otherwise|is)h(to)f(b)q(e)g(computed)g(with)g
(minim)o(um)g(comm)o(unication.)g(This)h(prob-)301 628 y(lem)j(requires)g
Fh(n)605 610 y Fl(2)640 628 y Fk(message)g(bits)h(in)f(the)g(deterministic)g
(case,)g(but)g(an)g Fh(O)q Fk(\()p Fh(n)8 b Fk(log)j Fh(n)d
Fk(log)j Fh(n)p Fk(\))301 701 y(a)o(v)o(erage)16 b(running-time)i
(probabilistic)h(algorithm)f(is)f(demonstrated.)0 812 y([MS88])153
b(S.)25 b(Micali)h(and)f(A.)f(Shamir.)47 b(An)24 b(impro)o(v)o(emen)o(t)f(of)
i(the)g(Fiat-Shamir)h(iden)o(ti\014ca-)301 885 y(tion)18 b(and)f(signature)h
(sc)o(heme.)j(In)16 b Fj(A)n(dvanc)n(es)i(in)g(Cryptolo)n(gy{CR)l(YPTO)f(88,)
g Fk(Lecture)301 957 y(Notes)i(in)g(Computer)g(Science,)f(V)l(ol.)g(403.)i
(Springer-V)l(erlag,)g(1988.)30 b(They)18 b(sp)q(eed)h(up)301
1029 y(zero-kno)o(wledge)e(based)f(iden)o(ti\014cation)i(and)e(digital)j
(signature)e(sc)o(hemes)e(of)h(Fiat)g(and)301 1101 y(Shamir,)h(whic)o(h)f
(require)g(only)h(10)g(to)g(30)g(mo)q(dular)h(m)o(ultiplications)h(p)q(er)d
(part)o(y)l(.)f(Their)301 1174 y(impro)o(v)o(ed)f(sc)o(heme)e(reduces)i(the)f
(v)o(eri\014er's)g(complexit)o(y)h(to)g(less)h(than)f(2)g(mo)q(dular)i(m)o
(ul-)301 1246 y(tiplications)k(and)d(lea)o(v)o(es)e(the)h(pro)o(v)o(er's)g
(complexit)o(y)f(unc)o(hanged.)0 1357 y([MS92])153 b(B.)14
b(M.)f(Maggs)i(and)g(R.)f(K.)f(Sitaraman.)20 b(Simple)14 b(algorithms)j(for)d
(routing)i(on)e(butter\015y)301 1430 y(net)o(w)o(orks)h(with)g(b)q(ounded)h
(queues.)i(In)c Fj(Pr)n(o)n(c.)h(24th)h(A)o(nn.)h(A)o(CM)e(Symp.)h(on)g(The)n
(ory)f(of)301 1502 y(Computing)p Fk(,)20 b(pages)f(150{161,)j(Victoria,)e
(B.C.,)e(Canada,)i(Ma)o(y)e(1992.)30 b(The)19 b(authors)301
1574 y(presen)o(t)g(a)h(simple,)g(but)g(non-pure,)g(algorithm)i(for)d
(routing)i(a)f(random)g(problem)g(on)301 1646 y(a)d(fully)h(loaded)g
Fh(N)5 b Fk(-input)18 b(butter\015y)e(with)h(b)q(ounded-size)h(queues)e(in)h
Fh(O)q Fk(\(log)11 b Fh(N)5 b Fk(\))17 b(steps,)301 1719 y(with)g
(high-probabil)q(i)q(t)o(y)l(.)0 1830 y([MSV85])116 b(F.)16
b(Ma\016oli,)h(M.)f(G.)g(Sp)q(eranza,)h(and)g(C.)f(V)l(ercellis.)21
b(Randomized)c(algorithms.)24 b Fj(Com-)301 1902 y(binatorial)19
b(Optimization|A)o(nnotate)n(d)g(Biblio)n(gr)n(aphies)p Fk(,)e(pages)h
(89{105,)h(1985.)25 b(This)301 1975 y(is)17 b(a)g(useful)g(annotated)g
(bibliograph)o(y)i(on)e(randomized)g(algorithms.)0 2086 y([MSW92])103
b(J.)22 b(Matousek,)i(M.)d(Sharir,)k(and)d(E.)g(W)l(elzl.)40
b(A)22 b(sub)q(exp)q(onen)o(tial)i(b)q(ound)f(for)g(linear)301
2159 y(programming.)17 b(In)12 b Fj(Pr)n(o)n(c.)h(Eighth)h(A)o(nn.)h(A)o(CM)f
(Symp.)f(on)i(Computational)f(Ge)n(ometry)p Fk(,)301 2231 y(pages)21
b(1{8,)h(Berlin,)f(German)o(y)l(,)e(June)h(1992.)34 b(They)20
b(presen)o(t)f(a)i(simple)f(randomized)301 2303 y(algorithm)j(whic)o(h)e
(solv)o(es)g(linear)g(programs)h(with)f Fh(n)g Fk(constan)o(ts)g(and)g
Fh(d)g Fk(v)m(ariables)h(in)301 2375 y(exp)q(ected)16 b Fh(O)q
Fk(\()p Fh(nde)639 2355 y Fl(4)657 2322 y Fg(p)p 698 2322 148
2 v 698 2355 a Ff(d)6 b Fl(ln\()p Ff(n)p Fl(+1\))848 2375 y
Fk(\))16 b(time)g(in)h(the)f(unit)h(cost)g(mo)q(del.)0 2487
y([MT85])145 b(U.)21 b(Man)o(b)q(er)g(and)h(M.)e(T)l(ompa.)37
b(Probabilisti)q(c,)25 b(nondeterministic)d(and)g(alternating)301
2559 y(decision)h(trees.)36 b Fj(Journal)22 b(of)f(the)i(A)o(CM)p
Fk(,)d(32\(3\):720{732)q(,)25 b(July)c(1985.)38 b(This)22 b(pap)q(er)301
2631 y(compares)17 b(lo)o(w)o(er)g(b)q(ounds)i(on)e(the)g(running)h(times)f
(of)g(algorithms)i(that)e(allo)o(w)i(proba-)301 2704 y(bilistic,)j
(non-deterministic)e(and)f(alternating)i(con)o(trol)e(on)h(decision)g(trees.)
e(Decision)938 2828 y(141)p eop
bop 301 195 a Fk(trees)18 b(that)g(allo)o(w)h(in)o(ternal)g(randomization)g
(at)f(the)g(exp)q(ense)f(of)h(a)g(small)h(probabilit)o(y)301
267 y(of)14 b(error)g(are)g(sho)o(wn)g(to)h(run)e(no)i(faster)f
(asymptotically)h(than)f(ordinary)h(decision)g(trees)301 340
y(for)h(a)g(collection)g(of)g(problems.)f(An)g(earlier)h(v)o(ersion)g(of)g
(this)g(publication)h(app)q(eared)f(in)301 412 y Fj(Pr)n(o)n(c.)h(14th)g(A)o
(nn.)h(A)o(CM)f(Symp.)g(on)h(The)n(ory)e(of)i(Computing)t Fk(,)e(1982,)i(pp.)
e(234{244.)0 523 y([Mul])188 b(K.)13 b(Mulm)o(uley)l(.)j(Computational)h
(geometry:)i(An)13 b(in)o(tro)q(duction)i(through)f(randomized)301
596 y(algorithms.)20 b(This)c(b)q(o)q(ok,)f(due)f(out)h(in)g(F)l(all)g(1993,)
h(presen)o(ts)e(a)g(n)o(um)o(b)q(er)g(of)g(randomized)301 668
y(algorithms)25 b(for)e(problems)g(in)g(computational)h(geometry)l(.)e(The)g
(b)q(o)q(ok)i(is)f(mean)o(t)f(to)301 740 y(serv)o(e)17 b(as)g(an)h(in)o(tro)q
(duction)h(to)e(computational)j(geometry;)c(the)h(author)h(c)o(ho)q(oses)g
(ran-)301 812 y(domized)i(algorithms)h(to)e(do)h(the)f(job)g(as)h(they)e(are)
h(usually)i(simpler)f(to)f(understand)301 885 y(than)d(their)g(deterministic)
g(coun)o(terparts.)f(The)g(b)q(o)q(ok)h(is)g(divided)h(in)o(to)e(t)o(w)o(o)h
(parts,)f(ba-)301 957 y(sics)23 b(and)f(applications.)i(Application)f(areas)f
(considered)g(include)g(arrangemen)o(ts)g(of)301 1029 y(h)o(yp)q(erplanes,)16
b(con)o(v)o(ex)e(p)q(olytop)q(es,)i(range)g(searc)o(h,)f(and)g(computer)g
(graphics.)h(A)f(c)o(hap-)301 1101 y(ter)h(on)h(derandomization)h(is)f(also)h
(giv)o(en.)0 1213 y([Mul89])140 b(K.)22 b(Mulm)o(uley)l(.)38
b(On)23 b(obstructions)h(in)e(relation)i(to)f(a)f(\014xed)g(view)g(p)q(oin)o
(t.)40 b(In)22 b Fj(Pr)n(o)n(c.)301 1285 y(30th)c(A)o(nn.)g(IEEE)f(Symp.)g
(on)h(F)l(oundations)g(of)f(Computer)g(Scienc)n(e)p Fk(,)h(pages)f(592{597,)
301 1357 y(Oct)h(1989.)28 b(Randomized)18 b(algorithms)i(for)e(the)g(follo)o
(wing)i(computational)h(geometry)301 1430 y(problems)14 b(are)e(giv)o(en:)20
b(\(1\))13 b(construction)g(of)g(lev)o(els)g(of)g(order)f(1)h(to)g
Fh(k)i Fk(in)e(an)g(arrangemen)o(t)301 1502 y(of)18 b(h)o(yp)q(erplanes;)f
(\(2\))g(construction)h(of)f(V)l(oronoi)h(diagrams)h(of)e(order)g(1)g(to)h
Fh(k)r Fk(,)e(and)i(\(3\))301 1574 y(hidden)e(surface)f(remo)o(v)m(al)h(for)f
(a)h(general)g(scene.)e(Both)h(\(1\))g(and)h(\(2\))g(are)f(solv)o(ed)g(in)h
(an)o(y)301 1646 y(dimension,)i(and)e(\(3\))h(allo)o(ws)h(in)o(tersection)f
(of)g(curv)o(ed)e(surfaces.)0 1758 y([Mul91a])116 b(K.)14 b(Mulm)o(uley)l(.)i
(Randomized)f(m)o(ultidimensional)h(searc)o(h)e(trees:)19 b(Dynamic)c
(sampling.)301 1830 y(In)j Fj(Pr)n(o)n(c.)f(Seventh)k(A)o(nn.)e(A)o(CM)f
(Symp.)h(on)f(Computational)i(Ge)n(ometry)p Fk(,)c(pages)i(121{)301
1902 y(131,)e(North)g(Con)o(w)o(a)o(y)l(,)f(NH,)e(June)i(1991.)21
b(This)c(pap)q(er)e(dev)o(elops)h(a)f(general)h(tec)o(hnique,)301
1975 y(called)j(dynamic)f(sampling,)h(that)f(can)f(b)q(e)h(used)g(to)g
(\\dynamize")g(randomized)g(incre-)301 2047 y(men)o(tal)h(algorithms,)i(so)f
(to)f(allo)o(w)i(additions)g(as)e(w)o(ell)h(as)f(deletions)h(of)g(ob)s(jects)
e(from)301 2119 y(m)o(ultidimensional)h(searc)o(h)d(trees.)0
2231 y([Mul91b])113 b(K.)24 b(Mulm)o(uley)l(.)44 b(Randomized)24
b(m)o(ultidimensional)j(searc)o(h)d(trees:)36 b(F)l(urther)23
b(results)301 2303 y(in)g(dynamic)f(sampling.)40 b(In)21 b
Fj(Pr)n(o)n(c.)g(32nd)i(A)o(nn.)g(IEEE)g(Symp.)f(on)h(F)l(oundations)g(of)301
2375 y(Computer)g(Scienc)n(e)p Fk(,)i(pages)d(216{227,)k(1991.)40
b(This)23 b(pap)q(er)f(extends)g(the)f(approac)o(h)301 2447
y(presen)o(ted)16 b(in)h([Mul91c])f(to)g(Nearest)g(Neigh)o(b)q(ors)h(and)g
(other)g(problems.)0 2559 y([Mul91c])118 b(K.)13 b(Mulm)o(uley)l(.)j
(Randomized)e(m)o(ultidimensional)i(searc)o(h)d(trees:)19 b(Lazy)14
b(balancing)h(and)301 2631 y(dynamic)i(sh)o(u\017ing.)23 b(In)16
b Fj(Pr)n(o)n(c.)h(32nd)h(A)o(nn.)g(IEEE)g(Symp.)f(on)h(F)l(oundations)g(of)g
(Com-)301 2704 y(puter)e(Scienc)n(e)p Fk(,)g(pages)e(180{196,)j(1991.)i(This)
c(pap)q(er)f(presen)o(ts)g(a)g(general)g(randomized)938 2828
y(142)p eop
bop 301 195 a Fk(algorithm)20 b(for)e(problems)h(suc)o(h)f(as)g(the)g
(construction)h(and)f(managemen)o(t)g(of)g(Con)o(v)o(ex)301
267 y(Hulls)g(and)e(V)l(oronoi)i(Diagrams.)0 381 y([Mul92])140
b(K.)16 b(Mulm)o(uley)l(.)22 b(Randomized)17 b(geometric)g(algorithms)h(and)g
(pseudo-random)g(genera-)301 453 y(tors.)28 b(In)18 b Fj(Pr)n(o)n(c.)g(33r)n
(d)g(A)o(nn.)i(IEEE)g(Symp.)f(on)g(F)l(oundations)h(of)f(Computer)h(Scienc)n
(e)p Fk(,)301 526 y(pages)i(90{100,)h(1992.)36 b(This)21 b(pap)q(er)h(sho)o
(ws)f(that)g(a)g(generalization)i(of)e(the)f(familiar)301 598
y(linear)i(congruen)o(tial)g(pseudo-random)h(generator)e(that)g(uses)g
Fh(O)q Fk(\(log)11 b Fh(n)p Fk(\))20 b(bits)i(can)f(b)q(e)301
670 y(substituted)14 b(for)e(the)g(random)h(source)g(in)g(man)o(y)f
(randomized)h(incremen)o(tal)f(algorithms)301 742 y(used)18
b(in)g(computational)i(geometry)d(without)i(a\013ecting)g(the)e(order)h(of)f
(complexit)o(y)h(of)301 814 y(the)d(exp)q(ected)f(running)i(time,)f(thereb)o
(y)f(reducing)h(the)g(n)o(um)o(b)q(er)f(of)h(truly)h(random)f(bits)301
887 y(needed.)0 1000 y([Mut93])134 b(S.)16 b(Muth)o(ukrishnan.)21
b(Detecting)c(false)f(matc)o(hes)f(in)i(string)g(matc)o(hing)g(algorithms.)22
b(In)301 1073 y Fj(Pr)n(o)n(c.)c(F)l(ourth)g(Int'l.)h(Conf.)g(on)g
(Combinatorial)f(Pattern)i(Matching,)f Fk(Lecture)e(Notes)301
1145 y(in)h(Computer)f(Science,)f(V)l(ol.)h(684,)h(pages)g(164{178,)h(P)o
(ado)o(v)m(a,)f(Italy)l(,)f(1993.)h(Springer-)301 1217 y(V)l(erlag.)30
b(The)18 b(Karp)i(and)f(Rabin)h(randomized)f(string)h(matc)o(hing)g
(algorithm)g([KR87])301 1289 y(ma)o(y)14 b(rep)q(ort,)g(with)h(a)f(small)i
(probabilit)o(y)l(,)f(a)g(false)f(matc)o(h.)f(Muth)o(ukrishnan)i(presen)o(ts)
f(a)301 1362 y(parallel)k(algorithm)f(to)e(detect)f(the)h(existence)g(of)g
(suc)o(h)g(a)h(false)f(matc)o(h.)g(His)g(algorithm)301 1434
y(runs)21 b(in)f Fh(O)q Fk(\(1\))h(time)f(and)g(uses)g Fh(O)q
Fk(\()p Fh(n)p Fk(\))h(CR)o(CW)f(PRAM)f(pro)q(cessors,)i(where)f
Fh(n)g Fk(is)g(the)301 1506 y(length)k(of)e(the)h(input)g(text,)g(and)g(can)f
(b)q(e)h(used)g(to)f(e\016cien)o(tly)g(con)o(v)o(ert)f(the)i(Mon)o(te)301
1578 y(Carlo)f(T)o(yp)q(e)e(string)h(matc)o(hing)f(algorithm)i(of)f(Karp)f
(and)h(Rabin)g(in)o(to)f(a)h(Las)g(V)l(egas)301 1650 y(t)o(yp)q(e)i
(algorithm.)h(Muth)o(ukrishnan)g(also)g(considers)g(the)f(problem)g(of)h
(detecting)f Fj(al)r(l)301 1723 y Fk(false)17 b(matc)o(hes.)0
1836 y([MV91])143 b(Y.)18 b(Matias)i(and)f(U.)e(Vishkin.)29
b(Con)o(v)o(erting)19 b(high)g(probabilit)o(y)i(in)o(to)e(nearly)g(constan)o
(t)301 1909 y(time)e({)f(with)h(applications)j(to)c(parallel)j(hashing.)k(In)
16 b Fj(Pr)n(o)n(c.)g(23r)n(d)g(A)o(nn.)i(A)o(CM)f(Symp.)301
1981 y(on)i(The)n(ory)e(of)i(Computing)p Fk(,)f(pages)g(307{316,)i(New)c
(Orleans,)j(LA,)d(Ma)o(y)h(1991.)26 b(Ran-)301 2053 y(domized)15
b(parallel)j(algorithms)f(are)e(giv)o(en)g(for)g(constructing)h(a)f(p)q
(erfect)f(hash)i(function)301 2125 y(in)f(exp)q(ected)f(p)q(olylogarithmic)j
(time)d(and)h(for)g(generating)h(a)e(random)h(p)q(erm)o(utation)g(in)301
2198 y(p)q(olylogari)q(thmic)k(time.)0 2311 y([MVN93])106 b(Y.)13
b(Matias,)i(J.)f(S.)f(Vitter,)h(and)g(W.-C.)f(Ni.)18 b(Dynamic)c(generation)h
(of)f(discrete)f(random)301 2384 y(v)m(ariables.)32 b(In)19
b Fj(Pr)n(o)n(c.)g(F)l(ourth)h(A)o(nn.)h(A)o(CM-SIAM)f(Symp.)g(on)g(Discr)n
(ete)g(A)o(lgorithms)p Fk(,)301 2456 y(pages)13 b(361{370,)i(Austin,)e(TX,)e
(Jan)o(uary)h(1993.)k(E\016cien)o(t)11 b(randomized)i(algorithms)h(are)301
2528 y(giv)o(en)h(to)g(generate)g(a)g(random)g(v)m(ariate)h(distributed)g
(according)g(to)f(a)g(dynamically)h(set)301 2600 y(of)h(w)o(eigh)o(ts.)g(The)
f(base)h(v)o(ersion)g(of)g(eac)o(h)f(algorithm)j(generates)e(the)f(discrete)g
(random)301 2672 y(v)m(ariate)d(in)g Fh(O)q Fk(\(log)631 2651
y Fd(\003)659 2672 y Fh(N)5 b Fk(\))12 b(exp)q(ected)f(time)h(and)g(up)q
(dates)h(a)f(w)o(eigh)o(t)g(in)g Fh(O)q Fk(\(2)1628 2654 y
Fl(log)1675 2642 y Fa(\003)1699 2654 y Ff(N)1732 2672 y Fk(\))g(exp)q(ected)
938 2828 y(143)p eop
bop 301 195 a Fk(time)13 b(in)h(the)f(w)o(orst)g(case.)g(It)g(is)g(sho)o(wn)h
(ho)o(w)g(to)f(reduce)f(the)h(up)q(date)h(time)f(to)g Fh(O)q
Fk(\(log)1859 174 y Fd(\003)1887 195 y Fh(N)5 b Fk(\))301 267
y(amortized)17 b(exp)q(ected)e(time.)0 381 y([MV)o(O91])106
b(A.)13 b(Menezes,)g(S.)g(V)l(anstone,)h(and)h(T.)e(Ok)m(amoto.)18
b(Reducing)c(elliptic)h(curv)o(e)e(logarithms)301 453 y(to)19
b(logarithms)h(in)e(a)g(\014nite)g(\014eld.)27 b(In)17 b Fj(Pr)n(o)n(c.)h
(23r)n(d)g(A)o(nn.)h(A)o(CM)g(Symp.)f(on)h(The)n(ory)f(of)301
526 y(Computing)p Fk(,)g(pages)g(80{89,)g(New)f(Orleans,)g(LA,)g(Ma)o(y)g
(1991.)25 b(They)16 b(presen)o(t)h(a)g(prob-)301 598 y(abilistic)22
b(p)q(olynomial-ti)q(me)f(algorithm)g(for)f(the)f(elliptic)i(curv)o(e)d
(logarithm)j(problem,)301 670 y(the)16 b(\014rst)h(sub)q(exp)q(onen)o
(tial-time,)h(general-purp)q(ose)g(algorithm)g(for)f(the)f(problem.)0
784 y([MVV87])106 b(K.)11 b(Mulm)o(uley)l(,)h(U.)e(V.)h(V)l(azirani,)i(and)e
(V.)g(V.)f(V)l(azirani.)15 b(Matc)o(hing)c(is)h(as)g(easy)g(as)g(matrix)301
856 y(in)o(v)o(ersion.)31 b Fj(Combinatoric)n(a)p Fk(,)19 b(7:105{113,)j
(1987.)31 b(An)18 b(elegan)o(t)i(parallel,)h(randomized)301
928 y(algorithm)g(for)e(\014nding)i(a)e(p)q(erfect)f(matc)o(hing)h(in)h(a)f
(simple)h(graph)g(based)f(on)g(T)l(utte's)301 1000 y(matrix)e(is)g(presen)o
(ted.)e(The)h(algorithm,)i(whic)o(h)e(is)h(made)f(p)q(ossible)j(b)o(y)c(a)i
(probabilistic)301 1073 y(lemma)e(called)g(the)f(isolation)k(lemma,)c
(requires)g(in)o(v)o(ersion)h(of)g(a)g(single)g(in)o(teger)g(matrix)301
1145 y(whic)o(h)i(can)f(b)q(e)h(parallelized.)0 1259 y([MW90])130
b(B.)11 b(McKa)o(y)g(and)h(N.)f(W)l(ormald.)j(Uniform)e(generation)h(of)f
(random)g(graphs)h(of)f(mo)q(derate)301 1331 y(degree.)35 b
Fj(Journal)22 b(of)g(A)o(lgorithms)p Fk(,)f(11:52{67,)j(1990.)37
b(A)21 b(randomized)g(algorithm)i(is)301 1403 y(giv)o(en)15
b(for)g(generating)g Fh(k)r Fk(-regular)h(graphs)g(on)f Fh(n)g
Fk(v)o(ertices,)e(uniformly)j(at)e(random.)h(The)301 1475 y(exp)q(ected)d
(running)h(time)g(of)f(the)g(algorithm)j(is)e Fh(O)q Fk(\()p
Fh(nk)1294 1457 y Fl(3)1314 1475 y Fk(\))f(for)h Fh(k)j Fk(=)e
Fh(O)q Fk(\()p Fh(n)1600 1443 y Fb(1)p 1600 1449 16 2 v 1600
1470 a(3)1623 1475 y Fk(\).)e(Sp)q(ecial)h(cases,)301 1548
y(suc)o(h)j(as)h(bipartite)h(graphs)f(with)g(giv)o(en)g(degree)e(sequences,)g
(are)i(considered.)0 1661 y([MWHC93])58 b(B.S.)21 b(Ma)s(jewski,)i(N.C.)d(W)l
(ormald,)k(G.)e(Ha)o(v)m(as,)h(and)f(Z.J.)f(Czec)o(h.)36 b(Graphs,)24
b(h)o(yp)q(er-)301 1733 y(graphs)19 b(and)f(hashing.)26 b(In)17
b Fj(Pr)n(o)n(c.)g(19th)h(Int'l.)h(Workshop)f(on)g(Gr)n(aph-The)n(or)n(etic)f
(Con-)301 1806 y(c)n(epts)22 b(in)g(Computer)f(Scienc)n(e)i(\(WG'93\))p
Fk(,)d(Utrec)o(h)o(t,)g(The)g(Netherlands,)h(June)g(1993.)301
1878 y(The)i(authors)h(generalize)g(the)e(metho)q(d)h(presen)o(ted)f(in)i
([CHM92])e(b)o(y)g(mapping)i(the)301 1950 y(input)c(set)f(in)o(to)g(a)g(h)o
(yp)q(ergraph)g(rather)g(than)h(a)f(graph.)g(This)h(mo)q(di\014cation)h(allo)
o(ws)g(a)301 2022 y(reduction)f(in)g(the)f(size)g(of)h(the)f(program,)h
(while)g(main)o(taining)i(all)e(other)g(features)f(of)301 2095
y(the)d(metho)q(d.)g(Also,)h(the)f(hash)h(function)g(generation)h(time)e(is)h
(reduced.)0 2208 y([MZ86])150 b(N.)25 b(Megiddo)h(and)g(E.)f(Zemel.)48
b(An)25 b Fh(O)q Fk(\()p Fh(n)8 b Fk(log)j Fh(n)p Fk(\))25
b(randomizing)i(algorithm)h(for)d(the)301 2281 y(w)o(eigh)o(ted)c(Euclidean)i
(1-cen)o(ter)d(problem.)36 b Fj(Journal)22 b(of)g(A)o(lgorithms)p
Fk(,)f(7\(3\):358{368,)301 2353 y(Sep)12 b(1986.)i(A)d(set)g(of)g(p)q(oin)o
(ts)i Fh(p)848 2360 y Ff(i)876 2353 y Fk(=)h(\()p Fh(x)975
2360 y Ff(i)989 2353 y Fh(;)8 b(y)1035 2360 y Ff(i)1049 2353
y Fk(\))j(and)h(their)f(w)o(eigh)o(ts)h Fh(w)1484 2360 y Ff(i)1498
2353 y Fk(,)23 b(1)14 b Fg(\024)g Fh(i)f Fg(\024)h Fh(n)d Fk(are)g(giv)o(en.)
301 2425 y(It)17 b(is)i(required)e(to)h(\014nd)f(a)h(p)q(oin)o(t)h
Fh(p)f Fk(that)f(minimizes)i(the)e(maxim)o(um)g(\014rst)g(momen)o(t)g(of)301
2497 y(the)d(w)o(eigh)o(ts)h(of)f(the)g Fh(p)714 2504 y Ff(i)742
2497 y Fk(s,)g(i.e.,)g(the)g Fh(p)g Fk(that)g(minimizes)h Fh(H)t
Fk(\()p Fh(p)p Fk(\))g(=)e Fh(M)5 b(AX)1630 2504 y Fl(1)p Fd(\024)p
Ff(i)p Fd(\024)p Ff(n)1739 2497 y Fh(w)1774 2504 y Ff(i)1802
2497 y Fh(d)p Fk(\()p Fh(p;)j(p)1916 2504 y Ff(i)1931 2497
y Fk(\))301 2570 y(where)k Fh(d)p Fk(\()p Fh(p;)c(p)552 2577
y Ff(i)568 2570 y Fk(\))k(is)h(the)f(magnitude)h(of)f(the)g(distance)h(b)q
(et)o(w)o(een)f Fh(p)g Fk(and)h Fh(p)1614 2577 y Ff(i)1629
2570 y Fk(.)f(A)f(randomized)301 2642 y(algorithm)19 b(that)d(do)q(es)h(this)
g(with)g(a)g(small)h(probabilit)o(y)g(of)f(error)f(is)h(presen)o(ted.)938
2828 y(144)p eop
bop 0 195 a Fk([Nat92])145 b(B.)14 b(K.)h(Natara)s(jan.)20
b(Probably)c(appro)o(ximate)g(learning)g(o)o(v)o(er)e(classes)i(of)g
(distributions.)301 267 y Fj(SIAM)d(Journal)g(on)g(Computing)p
Fk(,)f(21\(3\):438{449,)j(June)c(1992.)j(Natara)s(jan)e(generalizes)301
340 y(the)k(mo)q(del)h(of)g(probably)g(appro)o(ximate)g(learning)h(prop)q
(osed)g(b)o(y)e(V)l(alian)o(t)h([V)l(al84b)q(].)0 453 y([Nis90])156
b(N.)24 b(Nisan.)45 b(Pseudorandom)26 b(generators)f(for)f(space-b)q(ounded)i
(computations.)46 b(In)301 526 y Fj(Pr)n(o)n(c.)16 b(22nd)g(A)o(nn.)i(A)o(CM)
e(Symp.)g(on)h(The)n(ory)e(of)h(Computing)p Fk(,)g(pages)g(204{212,)i(Balti-)
301 598 y(more,)d(MD,)g(ma)o(y)f(1990.)21 b(Pseudorandom)c(generators)e(are)h
(constructed)f(that)g(con)o(v)o(ert)301 670 y Fh(O)q Fk(\()p
Fh(S)d Fk(log)e Fh(R)p Fk(\))17 b(truly)g(random)f(bits)i(to)e
Fh(R)h Fk(bits)g(that)f(app)q(ear)i(random)e(to)h(an)o(y)f(algorithm)301
742 y(that)h(runs)f(in)h Fj(SP)l(A)o(CE\(S\))r Fk(.)f(In)g(particular,)i(an)o
(y)e(randomized)g(p)q(olynomial)j(time)d(algo-)301 814 y(rithm)21
b(that)h(runs)f(in)g(space)g Fh(S)j Fk(can)c(b)q(e)h(sim)o(ulated)h(using)g
(only)f Fh(O)q Fk(\()p Fh(S)12 b Fk(log)f Fh(n)p Fk(\))20 b(random)301
887 y(bits.)e(Applications)i(are)e(giv)o(en)g(for)f(\\deterministic)i
(ampli\014cation,")h(the)e(problem)g(of)301 959 y(reducing)f(the)f
(probabilit)o(y)j(of)d(error)g(of)h(randomized)g(algorithms.)0
1073 y([Nis93])156 b(N.)17 b(Nisan.)27 b(On)17 b(read-once)h(vs.)f(m)o
(ultiple)i(access)f(to)g(randomness)g(in)g(logspace.)27 b Fj(The-)301
1145 y(or)n(etic)n(al)21 b(Computer)f(Scienc)n(e)p Fk(,)i(107:135{144,)h
(1993.)32 b(This)21 b(pap)q(er)f(sho)o(ws)h(that)f(ev)o(ery)301
1217 y(language)h(accepted)d(with)i(b)q(ounded)g(t)o(w)o(o-sided)g(error)f(b)
o(y)f(a)h(read-once)g(randomized)301 1289 y(logspace)i(mac)o(hine)d(can)h(b)q
(e)g(accepted)f(with)i(zero)e(error)h(b)o(y)f(a)h(randomized)h(logspace)301
1362 y(mac)o(hine)c(with)h(m)o(ultiple)g(access)f(to)g(the)g(random)g(bits.)g
(Also,)h(the)e(class)j(of)e(languages)301 1434 y(accepted)h(with)g(t)o(w)o
(o-sided)h(error)f(b)o(y)f(a)h(randomized)h(logspace)g(mac)o(hine)f(with)g(m)
o(ulti-)301 1506 y(ple)f(access)f(to)g(the)g(random)h(bits)g(is)g(sho)o(wn)f
(to)h(b)q(e)f(the)g(class)h(of)f(languages)j(that)d(are)g(in)301
1578 y(logspace)j(relativ)o(e)e(to)h(almost)h(ev)o(ery)c(oracle.)0
1692 y([NN90])151 b(J.)19 b(Naor)h(and)g(M.)e(Naor.)31 b(Small-bias)22
b(probabilit)o(y)f(spaces:)28 b(E\016cien)o(t)19 b(constructions)301
1764 y(and)f(applications.)28 b(In)17 b Fj(Pr)n(o)n(c.)h(22nd)h(A)o(nn.)g(A)o
(CM)f(Symp.)g(on)h(The)n(ory)e(of)i(Computing)p Fk(,)301 1836
y(pages)25 b(213{223,)k(Baltimore,)e(MD,)c(Ma)o(y)h(1990.)47
b(This)25 b(pap)q(er)g(sho)o(ws)g(an)g(e\016cien)o(t)301 1909
y(construction)20 b(of)f(a)g(small)h(probabilit)o(y)g(space)f(on)g
Fh(n)f Fk(binary)i(random)f(v)m(ariables)h(suc)o(h)301 1981
y(that)k(for)g(ev)o(ery)e(subset,)j(its)f(parit)o(y)g(is)h(either)e(zero)g
(or)h(one)g(with)g(\\almost")i(equal)301 2053 y(probabilit)o(y)l(.)18
b(Applications)h(are)e(sho)o(wn)g(in)g(problems)g(suc)o(h)g(as)g(the)f
(derandomization)301 2125 y(of)23 b(algorithms)h(and)e(reducing)h(the)f(n)o
(um)o(b)q(er)f(of)h(random)h(bits)f(required)g(b)o(y)g(certain)301
2198 y(randomized)17 b(algorithms.)0 2311 y([NS93])161 b(M.)18
b(Naor)g(and)h(L.)f(Sto)q(c)o(kmey)o(er.)24 b(What)19 b(can)f(b)q(e)g
(computed)g(lo)q(cally?)38 b(In)18 b Fj(Pr)n(o)n(c.)g(25th)301
2384 y(A)o(nn.)j(A)o(CM)e(Symp.)g(on)h(The)n(ory)f(of)h(Computing)p
Fk(,)f(pages)h(184{193,)h(San)f(Diego,)g(CA,)301 2456 y(Ma)o(y)i(1993.)42
b(In)22 b(the)g(con)o(text)g(of)g(a)h(distributed)h(net)o(w)o(ork,)f(Naor)g
(and)g(Sto)q(c)o(kmey)o(er)301 2528 y(in)o(v)o(estigate)15
b Fj(L)n(o)n(c)n(al)r(ly)g(Che)n(ckable)j(L)n(ab)n(eling)c
Fk(\()p Fj(LCL)p Fk(\))g(problems,)g(where)g(the)g(legalit)o(y)i(of)f(a)301
2600 y(lab)q(eling)20 b(\(e.g.,)c(coloring\))k(can)d(b)q(e)g(c)o(hec)o(k)o
(ed)e(lo)q(cally;)20 b(i.e.,)c(within)j(time)e(\(or)g(distance\))301
2672 y(indep)q(enden)o(t)j(of)g(the)g(size)f(of)h(the)g(net)o(w)o(ork.)e
(Among)i(their)g(results)g(they)f(sho)o(w)i(that)938 2828 y(145)p
eop
bop 301 195 a Fk(randomization)24 b(cannot)d(mak)o(e)g(an)g(LCL)h(problem)g
(lo)q(cal;)j(i.e.,)c(if)h(a)f(problem)h(has)g(a)301 267 y(lo)q(cal)d
(randomized)d(algorithm)j(then)d(it)g(has)h(a)g(lo)q(cal)h(deterministic)f
(algorithm.)0 381 y([NY90])151 b(M.)23 b(Naor)h(and)h(M.)e(Y)l(ung.)43
b(Public-k)o(ey)24 b(cryptosystems)f(pro)o(v)m(ably)i(secure)e(against)301
453 y(c)o(hosen)g(cypher-text)e(attac)o(k.)40 b(In)22 b Fj(Pr)n(o)n(c.)g
(22nd)i(A)o(nn.)g(A)o(CM)f(Symp.)g(on)g(The)n(ory)f(of)301
526 y(Computing)p Fk(,)14 b(pages)g(427{437,)h(1990.)i(The)c(authors)h(sho)o
(w)f(ho)o(w)h(to)f(construct)g(a)g(public-)301 598 y(k)o(ey)18
b(cryptosystem)f(secure)h(against)j Fj(chosen)f(ciphertest)h(attacks)t
Fk(,)e(giv)o(en)g(a)g(publi-k)o(ey)301 670 y(cryptosystem)d(secure)f(against)
j(passiv)o(e)e(ea)o(v)o(esdropping)g(and)h(a)f(nonin)o(teractiv)o(e)g(zero-)
301 742 y(kno)o(wledge)h(pro)q(of)g(system)f(in)h(the)f(shared)h(string)g(mo)
q(del.)0 856 y([NZ93])158 b(N.)19 b(Nisan)h(and)g(D.)f(Zuc)o(k)o(erman.)29
b(More)20 b(deterministic)g(sim)o(ulation)h(in)f(logspace.)32
b(In)301 928 y Fj(Pr)n(o)n(c.)20 b(25th)h(A)o(nn.)h(A)o(CM)f(Symp.)g(on)g
(The)n(ory)f(of)h(Computing)p Fk(,)h(pages)f(235{244,)i(San)301
1000 y(Diego,)13 b(CA,)e(Ma)o(y)g(1993.)k(It)10 b(is)i(sho)o(wn)g(that)g(an)o
(y)f(randomized)h Fj(sp)n(ac)n(e\(S\))f Fk(algorithm)j(that)301
1073 y(uses)j(only)g Fj(p)n(oly\(S\))f Fk(random)h(bits)g(can)g(b)q(e)f(sim)o
(ulated)i(deterministically)g(in)f Fj(sp)n(ac)n(e\(S\))r Fk(,)301
1145 y(for)g Fh(S)s Fk(\()p Fh(n)p Fk(\))d Fg(\025)f Fk(log)e
Fh(n)p Fk(.)0 1259 y([Ore87])146 b(Y.)24 b(Oren.)46 b(On)24
b(the)g(cunning)i(p)q(o)o(w)o(er)e(of)h(c)o(heating)g(v)o(eri\014ers:)38
b(Some)24 b(observ)m(ations)301 1331 y(ab)q(out)f(zero)d(kno)o(wledge)i(pro)q
(ofs.)36 b(In)21 b Fj(Pr)n(o)n(c.)f(28th)i(A)o(nn.)g(IEEE)g(Symp.)f(on)h(F)l
(ounda-)301 1403 y(tions)d(of)e(Computer)h(Scienc)n(e)p Fk(,)h(pages)e
(462{471,)i(1987.)25 b(Oren)16 b(di\013eren)o(tiates)i(b)q(et)o(w)o(een)301
1475 y Fj(auxiliary-input)30 b Fk(zero-kno)o(wledge)25 b(and)g
Fj(blackb)n(ox-simulation)31 b Fk(zero-kno)o(wledge.)25 b(He)301
1548 y(sho)o(ws)18 b(that)f(all)h(kno)o(wn)f(zero-kno)o(wledge)g(pro)q(ofs)i
(are)d(in)i(the)e(latter)h(category)l(.)g(In)f(ad-)301 1620
y(dition,)h(it)f(is)h(pro)o(v)o(ed)e(that)h Fj(blackb)n(ox-simulation)22
b Fk(zero-kno)o(wledge)16 b(implies)h Fj(auxiliary-)301 1692
y(input)28 b Fk(kno)o(wledge,)c(and)f(that)g(the)f(latter)h(corresp)q(onds)h
(to)f(the)f(original)j(de\014nition)301 1764 y(giv)o(en)17
b(in)g([GMR89].)0 1878 y([P)o(ac87])147 b(J.)12 b(P)o(ac)o(hl.)i(A)d(lo)o(w)o
(er)h(b)q(ound)h(for)f(probabilistic)j(distributed)e(algorithms.)j
Fj(Journal)d(of)g(A)o(l-)301 1950 y(gorithms)p Fk(,)g(8\(1\):53{65,)i(1987.)h
(The)c(minim)o(um)h(n)o(um)o(b)q(er)e(of)i(messages)g(required)f(to)h(\014nd)
301 2022 y(the)19 b(extremal)f(v)m(alue)h(of)f(no)q(de)i(ids)f(in)g(an)g
(async)o(hronous)g(net)o(w)o(ork)f(deterministically)301 2095
y(is)h(\002\()p Fh(n)27 b Fk(log)10 b Fh(n)p Fk(\).)18 b(This)i(pap)q(er)e
(sho)o(ws)h(that)g(this)g(b)q(ound)h(holds)f(ev)o(en)e(for)i(probabilistic)
301 2167 y(algorithms.)0 2281 y([P)o(az71])147 b(A.)18 b(P)o(az.)29
b Fj(Intr)n(o)n(duction)19 b(to)h(Pr)n(ob)n(abilistic)g(A)o(utomata)p
Fk(.)29 b(Academic)18 b(Press,)h(1971.)30 b(P)o(az)301 2353
y(dev)o(elops)17 b(a)f(theory)h(of)f(equiv)m(alence)g(among)i(probabilistic)h
(automata.)0 2467 y([P)o(el90])158 b(M.)12 b(P)o(ellegrini.)k(Stabbing)e(and)
f(ra)o(y)f(sho)q(oting)j(in)e(3)f(dimensional)j(space.)g(In)d
Fj(Pr)n(o)n(c.)g(Sixth)301 2539 y(A)o(nn.)17 b(A)o(CM)e(Symp.)h(on)g
(Computational)g(Ge)n(ometry)p Fk(,)e(pages)h(177{186,)i(Berk)o(eley)l(,)c
(CA,)301 2611 y(June)18 b(1990.)26 b(The)17 b(author)h(presen)o(ts)f(a)h(n)o
(um)o(b)q(er)f(of)g(results)h(ab)q(out)h(line)f(stabbing)h(and)301
2683 y(ra)o(y)e(sho)q(oting)i(including)g(the)d(follo)o(wing)j(t)o(w)o(o:)j
(\(1\))17 b(One)f(can)h(determine)f(the)g(the)h(\014rst)938
2828 y(146)p eop
bop 301 195 a Fk(triangles)24 b(hit)f(b)o(y)f Fh(m)g Fk(ra)o(ys)g(in)h(a)g
(set)f(of)g Fh(n)h Fk(disjoin)o(t)g(triangles)h(using)g(a)e(randomized)301
267 y(algorithm)17 b(whose)f(exp)q(ected)e(running)i(time)e(is)i
Fh(O)q Fk(\()p Fh(m)1304 249 y Fl(5)p Ff(=)p Fl(6)p Fd(\000)p
Ff(\016)1404 267 y Fh(n)1433 249 y Fl(5)p Ff(=)p Fl(6+5)p Ff(\016)1558
267 y Fk(log)1621 246 y Fl(2)1649 267 y Fh(n)8 b Fk(+)g Fh(m)g
Fk(log)1847 246 y Fl(2)1875 267 y Fh(n)g Fk(+)301 340 y Fh(n)g
Fk(log)j Fh(n)d Fk(log)j Fh(m)p Fk(\);)16 b(and)h(\(2\))g(One)f(can)h
(determine)f(the)g(\014rst)h(b)q(o)o(x)g(hit)g(b)o(y)f Fh(m)g
Fk(ra)o(ys)h(in)g(a)g(set)301 412 y(of)h(disjoin)o(t)i(axis-orien)o(ted)f(b)q
(o)o(xes)e(using)j(a)e(randomized)g(algorithm)i(whose)e(exp)q(ected)301
484 y(running)d(time)e(is)h Fh(O)q Fk(\()p Fh(m)734 466 y Fl(3)p
Ff(=)p Fl(4)p Fd(\000)p Ff(\016)833 484 y Fh(n)862 466 y Fl(3)p
Ff(=)p Fl(4+3)p Ff(\016)988 484 y Fk(log)1051 463 y Fl(4)1079
484 y Fh(n)5 b Fk(+)g Fh(m)j Fk(log)1269 463 y Fl(4)1297 484
y Fh(n)d Fk(+)g Fh(n)j Fk(log)i Fh(n)e Fk(log)j Fh(m)p Fk(\).)i(Here)f
Fh(\016)i Fk(is)g(an)o(y)301 556 y(constan)o(t)j(greater)f(than)h(zero.)0
670 y([P)o(el92])158 b(M.)14 b(P)o(ellegrini.)19 b(Incidence)14
b(and)g(nearest)g(neigh)o(b)q(or)i(problems)f(for)f(lines)h(in)g(3-space.)j
(In)301 742 y Fj(Pr)n(o)n(c.)g(Eighth)h(A)o(nn.)h(A)o(CM)e(Symp.)h(on)g
(Computational)g(Ge)n(ometry)p Fk(,)e(pages)i(130{137,)301
814 y(Berlin,)24 b(German)o(y)l(,)e(June)g(1992.)40 b(Giv)o(en)22
b(a)h(set)e(of)i Fh(n)f Fk(lines)h(in)g(3-space,)h(this)e(pap)q(er)301
887 y(demonstrates)16 b(a)f(randomized)g(algorithm)i(that)e(\014nds)h(the)e
(shortest)i(v)o(ertical)f(segmen)o(t)301 959 y(b)q(et)o(w)o(een)21
b(an)o(y)h(pair)h(of)f(lines)h(in)f(randomized)h(exp)q(ected)e(time)g
Fh(O)q Fk(\()p Fh(n)1619 941 y Fl(8)p Ff(=)p Fl(5+)p Ff(\017)1717
959 y Fk(\))g(for)i(ev)o(ery)301 1031 y Fh(\017)14 b(>)g Fk(0.)0
1145 y([P)o(el93])158 b(M.)15 b(P)o(ellegrini.)23 b(On)15 b(line)i(missing)h
(p)q(olyhedral)f(sets)f(in)h(3-space)f(\(extended)f(abstract\).)301
1217 y(In)j Fj(Pr)n(o)n(c.)g(Ninth)i(A)o(nn.)g(A)o(CM)e(Symp.)h(on)h
(Computational)f(Ge)n(ometry)p Fk(,)f(pages)h(19{28,)301 1289
y(San)e(Diego,)f(CA,)f(Ma)o(y)h(1993.)22 b(P)o(ellegrini)17
b(giv)o(es)f(an)g Fh(O)q Fk(\()p Fh(n)1376 1271 y Fl(1)p Ff(:)p
Fl(5+)p Ff(\017)1466 1289 y Fk(\))g(randomized)g(exp)q(ected)301
1362 y(time)f(algorithm)h(that)g(tests)e(the)h Fj(sep)n(ar)n(ation)e
Fk(prop)q(ert)o(y:)21 b(do)q(es)15 b(there)f(exist)h(a)g(direction)301
1434 y Fh(v)j Fk(along)f(whic)o(h)g(a)f(set)g(of)g Fh(n)g Fk(red)g(lines)h
(can)f(b)q(e)g(translated)h(a)o(w)o(a)o(y)e(from)h(a)h(set)e(of)i
Fh(n)f Fk(blue)301 1506 y(lines)i(without)f(collisions)q(?)0
1620 y([P)o(er85])152 b(K.)16 b(P)o(erry)l(.)k(Randomized)c(Byzan)o(tine)f
(agreemen)o(t.)20 b Fj(IEEE)d(T)l(r)n(ans.)g(on)g(Softwar)n(e)h(Engi-)301
1692 y(ne)n(ering)p Fk(,)f(SE-11\(6\):539{5)q(46,)i(June)e(1985.)23
b(P)o(erry)16 b(presen)o(ts)g(randomized)h(algorithms)301 1764
y(for)g(Byzan)o(tine)e(agreemen)o(t)g(that,)h(lik)o(e)g(the)f(algorithm)j(of)
e(Rabin)h([Rab83)q(],)e(terminate)301 1836 y(in)j(an)g(exp)q(ected)e(n)o(um)o
(b)q(er)h(of)g(rounds)h(whic)o(h)g(is)g(a)g(small)g(constan)o(t)g(indep)q
(enden)o(t)f(of)h Fh(n)301 1909 y Fk(and)k Fh(t)p Fk(.)e(As)h(usual,)i
Fh(n)e Fk(is)g(the)g(total)h(n)o(um)o(b)q(er)e(of)i(pro)q(cesses)f(and)h
Fh(t)e Fk(is)i(the)f(n)o(um)o(b)q(er)f(of)301 1981 y(fault)o(y)c(pro)q
(cesses.)g(Ho)o(w)o(ev)o(er,)e(P)o(erry's)h(algorithm)i(can)f(tolerate)h(a)f
(greater)g(n)o(um)o(b)q(er)f(of)301 2053 y(fault)o(y)20 b(pro)q(cesses.)g(He)
e(requires)i(only)g(that)g Fh(n)f Fg(\025)g Fk(6)p Fh(t)13
b Fk(+)g(1)20 b(in)g(the)g(async)o(hronous)g(case)301 2125
y(and)d Fh(n)d Fg(\025)g Fk(3)p Fh(t)d Fk(+)g(1)16 b(in)h(the)f(sync)o
(hronous)h(case.)0 2239 y([P)o(et82])152 b(G.)12 b(L.)g(P)o(eterson.)i(An)d
Fh(O)q Fk(\()p Fh(n)d Fk(log)j Fh(n)p Fk(\))h(unidirectional)j(algorithm)f
(for)e(the)f(circular)i(extrema)301 2311 y(problem.)39 b Fj(A)o(CM)23
b(T)l(r)n(ans.)f(on)h(Pr)n(o)n(gr)n(amming)e(L)n(anguages)j(and)f(Systems)p
Fk(,)g(4\(4\):758{)301 2384 y(762,)g(Octob)q(er)e(1982.)36
b(P)o(eterson)21 b(presen)o(ts)f(a)h(deterministic)h(distributed)g(algorithm)
301 2456 y(for)15 b(\014nding)g(the)f(largest)h(of)f(a)h(set)f(of)g
Fh(n)g Fk(uniquely)h(n)o(um)o(b)q(ered)e(pro)q(cesses)h(in)h(a)f(ring.)h(The)
301 2528 y(algorithm)g(requires)e Fh(O)q Fk(\()p Fh(n)8 b Fk(log)j
Fh(n)p Fk(\))i(messages)g(in)h(the)e(w)o(orst)i(case,)f(and)g(is)h
(unidirectional.)301 2600 y(The)j(n)o(um)o(b)q(er)e(of)i(pro)q(cesses)g(is)g
(not)f(initially)j(kno)o(wn.)938 2828 y(147)p eop
bop 0 195 a Fk([Pit89])160 b(L.)22 b(Pitt.)37 b(Probabilistic)24
b(inductiv)o(e)e(inference.)36 b Fj(Journal)22 b(of)g(the)g(A)o(CM)p
Fk(,)f(36\(2\):383{)301 267 y(433,)j(1989.)39 b(Inductiv)o(e)20
b(inference)h(mac)o(hines)h(construct)f(total)i(recursiv)o(e)e(functions)301
340 y Fh(\036)p Fk(\()p Fh(x)p Fk(\))j(giv)o(en)f(examples)h(of)g(the)f
(input)i(and)f(output)g(of)g Fh(\036)p Fk(.)f(Probabilisti)q(c)j(inductiv)o
(e)301 412 y(inference)c(mac)o(hines)g(are)g(p)q(ermitted)g(coin)h(tosses)f
(while)h(constructing)h Fh(\036)p Fk(,)e(and)h(are)301 484
y(only)15 b(required)e(to)h(construct)g Fh(\036)g Fk(with)g(probabilit)o(y)i
Fh(p)p Fk(,)e(0)g Fh(<)g(p)h(<)e Fk(1.)h(This)h(pap)q(er)f(sho)o(ws)h(a)301
556 y(discrete)e(hierarc)o(h)o(y)f(of)i(inferabilit)o(y)g(parameterized)f(b)o
(y)f Fh(p)p Fk(,)i(for)f Fh(p)h Fg(\024)g Fk(1)p Fh(=)p Fk(2.)f(An)o(y)f(mac)
o(hine)301 628 y(that)20 b(can)g(b)q(e)f(constructed)g(b)o(y)g(probabilisti)q
(c)j(inference)c(with)i Fh(p)g(>)f Fk(1)p Fh(=)p Fk(2)h(can)g(also)h(b)q(e)
301 701 y(constructed)c(deterministically)l(.)0 814 y([Pra75])149
b(V.)12 b(R.)g(Pratt.)k(Ev)o(ery)c(prime)g(has)i(a)f(succinct)f
(certi\014cate.)j Fj(SIAM)f(Journal)g(on)h(Comput-)301 887
y(ing)p Fk(,)i(4\(3\):214{220,)i(1975.)j(This)17 b(pap)q(er)g(pro)o(v)o(es,)e
(using)j(the)d(Lucas-Lehmer)i(heuristic)301 959 y(for)22 b(testing)g
(primeness,)f(that)h(just)f(lik)o(e)g(comp)q(osite)h(n)o(um)o(b)q(ers,)f(the)
g(primeness)g(of)h(a)301 1031 y(prime)17 b(n)o(um)o(b)q(er)e
Fh(n)h Fk(can)h(b)q(e)f(demonstrated)h(b)o(y)e(an)i Fh(O)q
Fk(\(log)11 b Fh(n)p Fk(\))16 b(long)i(pro)q(of.)0 1145 y([PS83])165
b(R.)20 b(P)o(aturi)i(and)f(J.)f(Simon.)34 b(Lo)o(w)o(er)21
b(b)q(ounds)h(on)f(the)f(time)g(of)h(probabilistic)i(on-line)301
1217 y(sim)o(ulations.)39 b(In)20 b Fj(Pr)n(o)n(c.)h(24th)h(A)o(nn.)h(IEEE)f
(Symp.)f(on)i(F)l(oundations)f(of)g(Computer)301 1289 y(Scienc)n(e)p
Fk(,)16 b(pages)e(343{350,)i(1983.)i(They)12 b(sho)o(w)i(that)g(coin)g
(tossing)h(cannot)f(comp)q(ensate)301 1362 y(for)j(inadequate)g(memory)e
(access.)0 1475 y([PSL80])135 b(M.)13 b(P)o(ease,)g(R.)g(Shostak,)i(and)f(L.)
f(Lamp)q(ort.)18 b(Reac)o(hing)c(agreemen)o(t)f(in)h(the)f(presence)g(of)301
1548 y(faults.)18 b Fj(Journal)c(of)g(the)h(A)o(CM)p Fk(,)d(27\(2\):228{234)q
(,)k(1980.)i(This)c(pap)q(er)f(is)h(similar)h(to)f(their)301
1620 y(1982)j(publication)g([LSP82)q(],)d(but)h(con)o(tains)g(a)g(rigorous)i
(pro)q(of)f(of)f(the)f(imp)q(ossibili)q(t)o(y)j(of)301 1692
y(Byzan)o(tine)c(agreemen)o(t)g(for)h(the)f(case)h Fh(n)g Fk(=)g(3,)g
Fh(t)f Fk(=)h(1.)g(As)f(usual,)i Fh(n)f Fk(is)g(the)g(total)h(n)o(um)o(b)q
(er)301 1764 y(of)i(pro)q(cesses)g(and)g Fh(t)e Fk(is)j(the)e(n)o(um)o(b)q
(er)f(of)i(fault)o(y)f(pro)q(cesses.)0 1878 y([PU90])155 b(D.)22
b(P)o(eleg)g(and)g(E.)g(Upfal.)38 b(A)21 b(time-randomness)i(tradeo\013s)g
(for)f(oblivious)i(routing.)301 1950 y Fj(SIAM)c(Journal)g(on)g(Computing)p
Fk(,)g(19:256{266,)i(1990.)30 b(This)20 b(is)f(a)g(companion)h(pap)q(er)301
2022 y(of)d([KPU88].)0 2136 y([Pug90])141 b(W.)19 b(Pugh.)28
b(Skip)20 b(lists:)27 b(A)18 b(probabilistic)k(alternativ)o(e)d(to)g
(balanced)g(trees.)28 b Fj(Commu-)301 2208 y(nic)n(ations)23
b(of)f(the)h(A)o(CM)p Fk(,)d(33\(6\):668{676,)26 b(June)21
b(1990.)38 b(This)22 b(pap)q(er)g(presen)o(ts)f(skip)301 2281
y(lists,)i(a)f(list)g(in)f(whic)o(h)g(a)g(no)q(de)h(ma)o(y)e(ha)o(v)o(e)g(a)h
(p)q(oin)o(ter)g(to)g(a)h(no)q(de)f(some)g(n)o(um)o(b)q(er)f(of)301
2353 y(places)d(ahead)h(of)e(it)h(on)g(the)g(list.)g(Suc)o(h)f(p)q(oin)o
(ters,)h(called)g(\\forw)o(ard)h(p)q(oin)o(ters",)f(there-)301
2425 y(fore)j(\\skip")h(o)o(v)o(er)d(in)o(termediate)i(no)q(des.)g(A)f(no)q
(de)h(with)g Fh(k)i Fk(forw)o(ard)e(p)q(oin)o(ters)g(is)h(said)301
2497 y(to)d(b)q(e)g(a)g Fj(level)i Fh(k)g Fk(no)q(de.)d(Skip)h(lists)i(are)d
(probabilisti)q(c)j(in)e(that)g(the)g(lev)o(el)f(of)h(a)g(no)q(de)g(is)301
2570 y(c)o(hosen)h(randomly)h(with)f(the)g(prop)q(ert)o(y)f(that)h(a)g(no)q
(de's)g Fh(i)p Fk(th)g(forw)o(ard)g(p)q(oin)o(ter)h(p)q(oin)o(ts)301
2642 y(to)c(the)f(next)g(no)q(de)h(of)g(lev)o(el)f Fh(i)g Fk(or)h(higher.)f
(It)g(is)h(sho)o(wn)g(that)g(skips)g(lists)h(can)f(e\016cien)o(tly)938
2828 y(148)p eop
bop 301 195 a Fk(implemen)o(t)19 b(abstract)h(data)g(t)o(yp)q(es)e(suc)o(h)h
(as)h(dictionaries)h(and)e(ordered)g(lists)i(in)f(that)301
267 y(the)c(exp)q(ected)g(time)g(to)g(searc)o(h)g(for)h(an)g(item)f(is)h
Fh(O)q Fk(\(log)11 b Fh(n)p Fk(\).)0 378 y([PZ86])162 b(A.)11
b(Pn)o(ueli)h(and)f(L.)g(Zuc)o(k.)h(V)l(eri\014cation)g(of)g(m)o(ultipro)q
(cess)g(probabilistic)i(proto)q(cols.)h Fj(Dis-)301 450 y(tribute)n(d)j
(Computing)p Fk(,)e(1:53{72,)h(1986.)22 b(They)15 b(presen)o(t)g(a)h(temp)q
(oral)h(logic)g(for)f(pro)o(ving)301 523 y(liv)o(eness)k(prop)q(erties)h(of)e
(probabilisti)q(c)j(concurren)o(t)c(programs)j(based)f(on)f(the)h(notion)301
595 y(of)d(\\extreme)e(fairness".)0 705 y([Rab63])138 b(M.)19
b(O.)h(Rabin.)32 b(Probabilisti)q(c)22 b(automata.)33 b Fj(Information)20
b(and)h(Contr)n(ol)p Fk(,)f(6:230{245,)301 778 y(1963.)j(This)18
b(is)f(a)g(seminal)g(pap)q(er)g(on)g(the)f(theory)g(of)g(probabilisti)q(c)j
(automata.)e(Rabin)301 850 y(de\014ned)f(the)g(notion)h(of)f(a)g(language)i
(b)q(eing)f(accepted)e(b)o(y)g(a)i(probabilistic)i(automaton)301
922 y(relativ)o(e)g(to)f(a)h(cutp)q(oin)o(t)g(lam)o(b)q(da.)g(One)f(of)g(his)
h(k)o(ey)e(results)i(w)o(as)g(to)f(sho)o(w)h(that)g(there)301
994 y(exist)e(\014nite)f(state)h(probabilistic)i(automata)f(that)f(de\014ne)e
(non-regular)k(languages.)0 1105 y([Rab76])138 b(M.)23 b(O.)f(Rabin.)43
b(Probabilistic)26 b(algorithms.)44 b(In)23 b(J.F.)f(T)l(raub,)j(editor,)g
Fj(A)o(lgorithms)301 1177 y(and)20 b(Complexity:)25 b(New)20
b(Dir)n(e)n(ctions)f(and)g(R)n(e)n(c)n(ent)g(R)n(esults)p Fk(,)f(pages)g
(21{39.)i(Academic)301 1250 y(Press,)15 b(1976.)k(This)c(classic)g(pap)q(er)g
(on)f(probabilisti)q(c)j(algorithms)f(features)e(algorithms)301
1322 y(for)j(primalit)o(y)g(testing)g(and)g(nearest)g(neigh)o(b)q(ors.)0
1432 y([Rab80a])114 b(M.)14 b(O.)f(Rabin.)18 b(A)c(probabilistic)j(algorithm)
f(for)e(testing)h(primalit)o(y)l(.)j Fj(Journal)d(of)g(Num-)301
1505 y(b)n(er)k(The)n(ory)p Fk(,)c(12,)j(1980.)26 b(Rabin's)18
b(pap)q(er)f(in)o(tro)q(duces)h(another)g(celebrated)f(algorithm)301
1577 y(for)e(fast,)f(randomized)h(primalit)o(y)g(testing.)g(This)g(pap)q(er)g
(is)g(based)g(on)f(a)h(di\013eren)o(t)f(n)o(um-)301 1649 y(b)q(er)j
(theoretic)f(prop)q(ert)o(y)g(than)h(that)g(used)f(b)o(y)g(Solo)o(v)m(a)o(y)h
(and)g(Strassen)g([SS77].)0 1760 y([Rab80b])111 b(M.)14 b(O.)h(Rabin.)k
(Probabilisti)q(c)e(algorithms)g(in)e(\014nite)g(\014elds.)20
b Fj(SIAM)c(Journal)g(on)g(Com-)301 1832 y(puting)p Fk(,)21
b(9\(2\):273{280,)h(Ma)o(y)d(1980.)32 b(Rabin)20 b(presen)o(ts)f
(probabilistic)j(algorithms)g(for)301 1904 y(\014nding)c(an)e(irreducible)h
(p)q(olynomial)i(of)d(degree)f Fh(n)i Fk(o)o(v)o(er)e(a)h(\014nite)g
(\014eld,)g(the)g(ro)q(ots)h(of)g(a)301 1977 y(p)q(olynomial,)i(and)e(the)f
(irreducible)h(factors)g(of)f(a)h(p)q(olynomial.)0 2087 y([Rab83])138
b(M.)21 b(O.)h(Rabin.)38 b(Randomized)23 b(Byzan)o(tine)e(Generals.)39
b(In)21 b Fj(Pr)n(o)n(c.)g(24th)i(A)o(nn.)g(IEEE)301 2160 y(Symp.)i(on)g(F)l
(oundations)g(of)g(Computer)g(Scienc)n(e)p Fk(,)i(pages)e(403{409,)k(1983.)46
b(Rabin)301 2232 y(presen)o(ts)17 b(a)g(randomized)h(algorithm)g(for)f(async)
o(hronous)h(Byzan)o(tine)f(agreemen)o(t)f(that)301 2304 y(terminates)g(in)f
(a)h(constan)o(t)f(exp)q(ected)f(n)o(um)o(b)q(er)g(of)i(rounds.)f
(Cryptograph)o(y)h(is)g(used)f(to)301 2376 y(sim)o(ulate)j(a)f(trusted)f
(dealer)h(that)g(distributes)h(random)f(coin)g(tosses)h(b)q(efore)e(the)g
(start)301 2448 y(of)22 b(the)e(algorithm.)i(Rabin's)g(algorithm)h(w)o(orks)e
(only)g(if)h(less)f(than)h(one-ten)o(th)e(of)i(all)301 2521
y(pro)q(cesses)17 b(are)g(fault)o(y)l(.)0 2631 y([Rac82])143
b(C.)12 b(Rac)o(k)o(o\013.)h(Relativized)f(questions)g(in)o(v)o(olving)h
(probabilisti)q(c)h(algorithms.)h Fj(Journal)e(of)301 2704
y(the)18 b(A)o(CM)p Fk(,)d(29\(1\):261{266)q(,)j(Jan)o(uary)f(1982.)22
b(Rac)o(k)o(o\013)16 b(attempts)g(to)h(pro)o(v)o(e)e Fh(R)f
Fg(6)p Fk(=)g Fh(P)24 b Fk(b)o(y)938 2828 y(149)p eop
bop 301 195 a Fk(assuming)15 b Fh(P)21 b Fg(6)p Fk(=)14 b Fh(N)5
b(P)20 b Fk(and)13 b(relativization)i(\(i.e.,)e(for)g(a)g(class)h(of)f
(languages)i Fh(C)t Fk(,)d Fh(C)1796 177 y Ff(A)1837 195 y
Fk(is)h(the)301 267 y(same)j(as)g Fh(C)i Fk(except)c(that)i(one)f(can)h(answ)
o(er)f(questions)i(concerning)f(mem)o(b)q(ership)f(in)g Fh(A)301
340 y Fk(in)h(constan)o(t)g(time\).)f(In)o(terestingly)l(,)g(he)g(pro)o(v)o
(es)g(that)g(for)h(some)f(oracle)h(A,)f Fh(P)1745 321 y Ff(A)1787
340 y Fg(6)p Fk(=)f Fh(N)5 b(P)1921 321 y Ff(A)301 412 y Fk(and)20
b Fh(R)436 394 y Ff(A)484 412 y Fg(6)p Fk(=)f Fh(P)579 394
y Ff(A)608 412 y Fk(,)g(and)h(at)g(the)f(same)g(time,)h(for)f(some)g(other)h
(oracle)g Fh(B)s Fk(,)f Fh(P)1731 394 y Ff(B)1780 412 y Fg(6)p
Fk(=)g Fh(N)5 b(P)1919 394 y Ff(B)301 484 y Fk(and)19 b Fh(R)435
466 y Ff(B)484 484 y Fg(6)p Fk(=)e Fh(P)577 466 y Ff(B)607
484 y Fk(.)h(An)g(earlier)h(v)o(ersion)g(of)g(this)g(pap)q(er)g(app)q(eared)g
(in)g Fj(Pr)n(o)n(c.)f(10th)h(A)o(nn.)301 556 y(A)o(CM)e(Symp.)h(on)f(The)n
(ory)g(of)g(Computing)t Fk(,)g(1978,)g(pp.)f(338{342.)0 668
y([Rag88])141 b(P)l(.)16 b(Ragha)o(v)m(an.)22 b(Probabilistic)d(construction)
e(of)f(deterministic)g(algorithms:)23 b(Appro)o(x-)301 740
y(imating)17 b(pac)o(king)e(in)o(teger)g(problems.)k Fj(Journal)d(of)g
(Computer)g(and)g(System)h(Scienc)n(es)p Fk(,)301 812 y(37:130{143,)29
b(1988.)44 b(Based)24 b(on)g(the)g(derandomization)h(tec)o(hnique)e(of)h
(conditional)301 885 y(probabiliti)q(es,)17 b(Ragha)o(v)m(an)e(dev)o(elops)f
(a)h(metho)q(dology)h(for)e(con)o(v)o(erting)g(the)g(probabilis-)301
957 y(tic)k(existence)g(pro)q(of)h(of)f(a)g(near-optim)o(um)h(in)o(teger)e
(solution)k(to)d(an)g(in)o(teger)g(program)301 1029 y(in)o(to)f(a)g
(deterministic)g(appro)o(ximation)h(algorithm.)0 1141 y([Rag90])141
b(P)l(.)17 b(Ragha)o(v)m(an.)25 b(Lecture)16 b(notes)i(on)f(randomized)h
(algorithms.)26 b(Researc)o(h)16 b(Rep)q(ort)h(R)o(C)301 1213
y(15340)i(\(#68237\),)f(IBM)d(T.J.)h(W)l(atson)i(Researc)o(h)d(Cen)o(ter,)h
(Jan)o(uary)h(1990.)23 b(This)18 b(Re-)301 1285 y(searc)o(h)i(Rep)q(ort)h
(consists)g(of)g(lecture)e(notes)i(from)f(a)g(course)g(taugh)o(t)h(b)o(y)f
(the)g(author.)301 1357 y(These)e(notes)g(giv)o(e)g(a)g(thorough)h(in)o(tro)q
(duction)g(to)f(man)o(y)f(randomized)i(algorithms)g(in)301
1430 y(computational)g(geometry)l(,)c(graph)i(theory)l(,)e(VLSI,)h(and)g(net)
o(w)o(orks.)g(The)g(basic)h(math-)301 1502 y(ematical)f(bac)o(kground)e
(essen)o(tial)i(for)e(understanding)i(these)e(algorithms)j(is)e(presen)o(ted)
301 1574 y(in)i(detail.)0 1686 y([Ra)s(j91a])123 b(S.)16 b(Ra)s(jasek)m
(aran.)23 b Fh(k)14 b Fg(\000)c Fh(k)19 b Fk(routing,)e Fh(k)d
Fg(\000)d Fh(k)18 b Fk(sorting,)g(and)f(cut)f(through)h(routing)h(on)f(the)
301 1758 y(mesh.)29 b(T)l(ec)o(hnical)20 b(Rep)q(ort)f(MS-CIS-91-93,)j(Dept.)
c(of)h(Computer)g(and)h(Information)301 1830 y(Sciences,)c(Univ.)g(of)h(P)o
(ennsylv)m(ania,)h(Philadelphia,)h(P)l(A,)d(1991.)24 b(This)17
b(pap)q(er)g(presen)o(ts)301 1902 y(randomized)c(algorithms)i(for)d
Fh(k)5 b Fg(\000)s Fh(k)14 b Fk(routing,)g Fh(k)5 b Fg(\000)s
Fh(k)14 b Fk(sorting,)g(and)f(cut)f(through)i(routing)301 1975
y(on)k(mesh)e(connected)h(computers.)f(The)h(time)g(b)q(ounds)h(of)f(these)g
(algorithms)i(impro)o(v)o(e)301 2047 y(up)q(on)f(those)e(of)h(the)f(b)q(est)g
(kno)o(wn)h(algorithms)h(prior)g(to)e(this)h(pap)q(er.)0 2159
y([Ra)s(j91b])120 b(S.)13 b(Ra)s(jasek)m(aran.)k(Randomized)d(algorithms)h
(for)e(pac)o(k)o(et)f(routing)j(on)e(the)g(mesh.)i(T)l(ec)o(h-)301
2231 y(nical)26 b(Rep)q(ort)f(MS-CIS-91-92,)j(Dept.)d(of)f(Computer)h(and)g
(Information)h(Sciences,)301 2303 y(Univ.)d(of)g(P)o(ennsylv)m(ania,)j
(Philadelphia,)h(P)l(A,)22 b(1991.)43 b(E\016cien)o(t)23 b(randomized)g
(algo-)301 2375 y(rithms)18 b(for)f(sore)g(and)g(forw)o(ard,)h(m)o(ultipac)o
(k)o(et,)d(and)j(cut)f(through)g(routing)i(of)e(pac)o(k)o(ets)301
2447 y(on)e(a)g(mesh)g(connected)f(computer)g(are)g(surv)o(ey)o(ed.)f(The)h
(exp)q(ected)g(running)i(times)e(and)301 2520 y(queueing)j(complexit)o(y)f
(of)g(these)g(algorithms)j(are)d(analyzed.)0 2631 y([Ram93])124
b(H.)13 b(Ramesh.)k(On)c(tra)o(v)o(ersing)h(la)o(y)o(ered)f(graphs)i
(on-line.)j(In)13 b Fj(Pr)n(o)n(c.)h(F)l(ourth)g(A)o(nn.)i(A)o(CM-)301
2704 y(SIAM)23 b(Symp.)g(on)g(Discr)n(ete)h(A)o(lgorithms)p
Fk(,)f(pages)g(412{421,)j(Austin,)e(TX,)e(Jan)o(uary)938 2828
y(150)p eop
bop 301 195 a Fk(1993.)27 b(A)17 b Fj(layer)n(e)n(d)h(gr)n(aph)i
Fk(is)e(a)g(connected)f(w)o(eigh)o(ted)h(graph)g(whose)g(v)o(ertices)f(are)g
(par-)301 267 y(titioned)23 b(in)o(to)f(sets)f(\(i.e.,)h(la)o(y)o(ers\))f
Fh(L)1004 274 y Fl(0)1024 267 y Fk(,)h Fh(L)1093 274 y Fl(1)1113
267 y Fk(,)g Fh(L)1182 274 y Fl(2)1202 267 y Fh(;)8 b Fk(.)g(.)g(.)o(,)22
b(and)g(all)h(edges)e(connect)g(v)o(etices)301 340 y(in)k(consecutiv)o(e)e
(la)o(y)o(ers.)f(Ramesh)i(presen)o(ts)f(a)h(randomized)g(on-line)h(algorithm)
h(for)301 412 y(tra)o(v)o(ersing)17 b(width-)p Fh(w)i Fk(la)o(y)o(ered)c
(graphs)j(with)f(a)f(comp)q(etitiv)o(e)g(ratio)i(of)e Fh(O)q
Fk(\()p Fh(w)1723 394 y Fl(15)1761 412 y Fk(\).)g(His)h(al-)301
484 y(gorithm)k(represen)o(ts)f(the)f(\014rst)i(p)q(olynomially)i(comp)q
(etitiv)o(e)d(randomized)g(algorithm)301 556 y(for)d(la)o(y)o(ered)f(graph)h
(tra)o(v)o(ersal.)0 668 y([Rei80])154 b(J.)15 b(H.)g(Reif.)k(Logics)e(for)f
(probabilistic)i(programs.)j(In)15 b Fj(Pr)n(o)n(c.)g(12th)i(A)o(nn.)g(A)o
(CM)f(Symp.)301 740 y(on)h(The)n(ory)e(of)h(Computing)p Fk(,)g(1980.)21
b(Reif)15 b(presen)o(ts)g(y)o(et)f(another)h(attempt)g(at)h(a)f(formal)301
812 y(logic,)j(PR)o(OB-DL,)e(for)g(probabilisti)q(c)j(programs.)0
924 y([Rei81])154 b(R.)21 b(Reisc)o(h)o(uk.)34 b(A)20 b(fast)i(probabilistic)
i(parallel)f(sorting)f(algorithm.)37 b(In)20 b Fj(Pr)n(o)n(c.)h(22nd)301
996 y(A)o(nn.)c(IEEE)e(Symp.)g(on)h(F)l(oundations)g(of)f(Computer)g(Scienc)n
(e)p Fk(,)h(pages)f(212{219,)i(1981.)301 1068 y(Reisc)o(h)o(uk)g(considers)h
(the)g(problems)g(of)g(selecting)g Fh(k)h Fk(smallest)g(elemen)o(ts)e(out)h
(of)f(a)h(set)301 1141 y(of)e Fh(n)g Fk(k)o(eys,)f(and)h(sorting)h(the)f
Fh(n)g Fk(elemen)o(ts)f(using)i Fh(n)e Fk(pro)q(cessors)i(in)g(parallel.)g
(He)e(sho)o(ws)301 1213 y(that)j(the)e(former)g(can)h(b)q(e)g(done)g(in)h
Fj(c)n(onstant)k Fk(time)16 b(with)i(probabilit)o(y)h(1)12
b Fg(\000)f Fk(2)1761 1195 y Fd(\000)p Ff(cn)1829 1169 y Fb(1)p
1830 1173 16 2 v 1830 1191 a(8)1871 1213 y Fk(and)301 1285
y(the)i(later)g(in)g Fh(O)q Fk(\(log)e Fh(n)p Fk(\))i(time.)f(This)h(ac)o
(hiev)o(es)f(the)g(information)j(theoretic)e(lo)o(w)o(er-b)q(ound)301
1357 y(in)k(terms)e(of)h(pro)q(cessor-time)g(pro)q(duct)h(as)f(w)o(ell)g(as)g
(the)g(optimal)h(sp)q(eed-up)f(attainable)301 1430 y(using)i
Fh(n)e Fk(pro)q(cessors.)0 1541 y([Rei85a])130 b(J.)17 b(H.)f(Reif.)23
b(Optimal)18 b(parallel)h(algorithms)g(for)e(in)o(teger)g(sorting)h(and)f
(graph)h(connec-)301 1614 y(tivit)o(y)l(.)j(In)16 b Fj(Pr)n(o)n(c.)g(26th)h
(A)o(nn.)h(IEEE)f(Symp.)g(on)h(F)l(oundations)f(of)h(Computer)f(Scienc)n(e)p
Fk(,)301 1686 y(1985.)i(This)c(pap)q(er)g(con)o(tains)g(some)f(results)h(on)f
(the)g(use)g(of)g(randomization)i(in)f(parallel)301 1758 y(algorithms.)0
1870 y([Rei85b])127 b(R.)14 b(Reisc)o(h)o(uk.)k(Probabilisti)q(c)f(parallel)g
(algorithms)f(for)f(sorting)h(and)g(selection.)j Fj(SIAM)301
1942 y(Journal)i(on)h(Computing)p Fk(,)f(14\(2\):396{409)q(,)i(Ma)o(y)d
(1985.)35 b(This)21 b(pap)q(er)g(considers)g(the)301 2014 y(problems)k(of)g
(selecting)g(the)e Fh(k)k Fk(smallest)e(elemen)o(ts)e(out)i(of)f(a)h(set)f
(of)g Fh(n)h Fk(k)o(eys,)f(and)301 2086 y(sorting)f(the)d Fh(n)h
Fk(k)o(eys)e(using)j Fh(n)f Fk(pro)q(cessors)h(in)f(parallel.)i(Reisc)o(h)o
(uk)d(sho)o(w)o(ed)g(that)h(the)301 2159 y(former)16 b(can)h(b)q(e)f(done)g
(in)h(constan)o(t)g(time)f(with)h(probabilit)o(y)h(1)12 b Fg(\000)f
Fk(2)1564 2140 y Fd(\000)p Ff(cn)1632 2115 y Fb(1)p 1633 2119
V 1633 2137 a(8)1674 2159 y Fk(and)16 b(the)g(later)301 2231
y(in)k Fh(O)q Fk(\(log)11 b Fh(n)p Fk(\))18 b(time.)h(Both)f(algorithms)j
(meet)d(the)g(corresp)q(onding)j(information)g(theo-)301 2303
y(retic)d(lo)o(w)o(er)g(b)q(ounds)h(in)g(terms)e(of)i(pro)q(cessor-time)g
(pro)q(duct)f(as)h(w)o(ell)f(as)h(the)e(optimal)301 2375 y(sp)q(eed-up)d
(attainable)h(using)f Fh(n)f Fk(pro)q(cessors.)h(An)e(earlier)i(v)o(ersion)f
(app)q(eared)g(as)h(\\A)f(F)l(ast)301 2447 y(Probabilisti)q(c)18
b(P)o(arallel)g(Sorting)e(Algorithm")h(in)g Fj(Pr)n(o)n(c.)e(22nd)i(A)o(nn.)h
(IEEE)e(Symp.)h(on)301 2520 y(F)l(oundations)i(of)e(Computer)g(Scienc)n(e)t
Fk(,)h(1981,)f(pp.)f(212{219.)0 2631 y([RP91])156 b(M.)13 b(V.)g(Ramakrishna)
i(and)f(G.)f(A.)g(P)o(ortice.)k(P)o(erfect)12 b(hashing)j(functions)g(for)f
(hardw)o(are)301 2704 y(applications.)19 b(In)13 b Fj(Pr)n(o)n(c.)h(Seventh)j
(Int'l.)e(Conf.)f(on)h(Data)g(Engine)n(ering)p Fk(,)g(April)f(1991.)j(A)938
2828 y(151)p eop
bop 301 195 a Fk(hardw)o(are)16 b(sc)o(heme)d(for)j(constructing)g(an)f(asso)
q(ciativ)o(e)i(memory)d(using)i(a)g(p)q(erfect)e(hash)301 267
y(function)i(is)g(describ)q(ed.)f(A)g(simple)h(trail)g(and)g(error)f(sc)o
(heme)e(is)j(used)f(to)h(\014nd)f(a)h(p)q(erfect)301 340 y(hash)h(function.)0
451 y([RR89])153 b(S.)16 b(Ra)s(jasek)m(aran)i(and)f(J.)f(H.)f(Reif.)22
b(Optimal)17 b(and)g(sublogarithmic)i(time)d(randomized)301
523 y(parallel)i(sorting)e(algorithm.)22 b Fj(SIAM)16 b(Journal)h(on)f
(Computing)p Fk(,)g(18\(3\):594{607,)i(June)301 596 y(1989.)46
b(This)25 b(pap)q(er)g(presen)o(ts)e(an)i(optimal,)i(randomized,)f(parallel)g
(algorithm)g(for)301 668 y(sorting)20 b Fh(n)e Fk(n)o(um)o(b)q(ers)f(in)i
(the)e(range)i([1)8 b(.)g(.)g(.)g Fh(n)p Fk(])17 b(on)i(a)f(parallel)i
(random)e(access)g(mac)o(hine)301 740 y(that)f(allo)o(ws)h(b)q(oth)f
(concurren)o(t)f(reads)h(and)f(concurren)o(t)g(writes)h(of)f(a)h(global)i
(memory)l(.)0 852 y([RS82])162 b(J.)21 b(H.)g(Reif)g(and)h(P)l(.)f(G.)h
(Spirakis.)38 b(Real)22 b(time)f(resource)g(allo)q(cation)k(in)d(distributed)
301 924 y(systems.)i(In)17 b Fj(Pr)n(o)n(c.)h(First)f(A)o(nn.)i(A)o(CM)f
(Symp.)g(on)h(Principles)g(of)g(Distribute)n(d)f(Com-)301 996
y(puting)p Fk(,)e(pages)f(84{94,)i(1982.)j(This)c(pap)q(er)f(considers)h(a)f
(resource)g(allo)q(cation)j(problem)301 1068 y(in)24 b(distributed)h(systems)
e(and)h(pro)o(vides)f(real-time)h(solutions)i(in)e(the)f(form)g(of)g(t)o(w)o
(o)301 1141 y(probabilisti)q(c)c(algorithms.)0 1252 y([RS84])162
b(J.)16 b(H.)f(Reif)i(and)f(P)l(.)g(G.)g(Spirakis.)23 b(Real)16
b(time)g(sync)o(hronization)i(of)e(in)o(terpro)q(cess)h(com-)301
1325 y(m)o(unication.)40 b Fj(A)o(CM)22 b(T)l(r)n(ans.)g(on)h(Pr)n(o)n(gr)n
(amming)e(L)n(anguages)i(and)g(Systems)p Fk(,)h(6:215{)301
1397 y(238,)f(1984.)36 b(They)20 b(presen)o(t)h(probabilistic)i(distributed)f
(algorithms)h(for)e(the)g(guard-)301 1469 y(sc)o(heduling)16
b(problem)f(\(Section)g(3.2\))g(that)f(guaran)o(tee)h(real-time)g(resp)q
(onse.)g(A)f(prelim-)301 1541 y(inary)j(v)o(ersion)g(of)g(this)g(pap)q(er)g
(app)q(eared)g(as)g(\\Distributed)h(Algorithms)f(for)g(Sync)o(hro-)301
1614 y(nizing)j(In)o(terpro)q(cess)d(Comm)o(unication)i(in)g(Real)f(Time,")g
(in)g Fj(Pr)n(o)n(c.)g(13th)h(A)o(nn.)g(A)o(CM)301 1686 y(Symp.)f(on)f(The)n
(ory)g(of)g(Computing)p Fk(,)f(1981.)0 1797 y([RS89])162 b(J.)15
b(H.)g(Reif)g(and)i(S.)e(Sen.)k(P)o(olling:)24 b(A)15 b(new)g(random)h
(sampling)h(tec)o(hnique)e(for)h(compu-)301 1870 y(tational)k(geometry)l(.)i
(In)16 b Fj(Pr)n(o)n(c.)h(21st)h(A)o(nn.)h(A)o(CM)e(Symp.)h(on)g(The)n(ory)f
(of)h(Computing)p Fk(,)301 1942 y(pages)i(394{404,)j(1989.)31
b(A)19 b(randomized)g(sampling)j(tec)o(hnique)c(called)i(p)q(olling)i(is)e
(in-)301 2014 y(tro)q(duced.)k(F)l(or)g(the)f(\014rst)h(time,)g(this)h(tec)o
(hnique)e(allo)o(ws)i(the)f(calculation)h(of)f(`high)301 2086
y(lik)o(eliho)q(o)q(d)i(b)q(ounds')e(rather)f(than)g(simply)h(exp)q(ected)d
(running)j(time,)g(in)f(computa-)301 2159 y(tional)17 b(geometric)e
(randomized)h(algorithms.)h(The)e(tec)o(hnique)f(is)i(illustrated)h(using)g
(an)301 2231 y(algorithm)i(for)d(the)g(in)o(tersection)h(of)f(half-spaces)i
(in)f(three)f(dimensions.)0 2342 y([RS92])162 b(J.)23 b(H.)g(Reif)g(and)h(S.)
f(Sen.)43 b(Optimal)24 b(parallel)i(randomized)e(algorithms)i(for)d(three-)
301 2415 y(dimensional)17 b(con)o(v)o(ex)c(h)o(ulls)i(and)g(related)g
(problems.)k Fj(SIAM)c(Journal)h(on)g(Computing)p Fk(,)301
2487 y(21\(3\):466{485)q(,)h(June)d(1992.)19 b(An)13 b(optimal)j(parallel)g
(randomized)f(algorithm)h(for)e(com-)301 2559 y(puting)19 b(the)d(in)o
(tersection)i(of)f(half-spaces)h(in)g(3-D)g(is)f(giv)o(en.)g(The)g(algorithm)
i(pro)o(vides)301 2631 y(e\016cien)o(t)h(solution)i(tec)o(hniques)e(for)g
(con)o(v)o(ex)f(h)o(ulls)j(in)f(3-D)g(and)g(V)l(ornoi)g(diagrams)h(of)301
2704 y(p)q(oin)o(t)e(sites)g(on)f(a)g(plane.)g(An)g(earlier)h(v)o(ersion)f
(of)g(the)f(pap)q(er)i(app)q(eared)f(as)h(\\P)o(olling:)938
2828 y(152)p eop
bop 301 195 a Fk(a)17 b(new)f(random)h(sampling)h(tec)o(hnique)d(for)h
(computational)i(geometry")e(in)h Fj(Pr)n(o)n(c.)f(21st)301
267 y(A)o(nn.)j(A)o(CM)d(Symp.)i(on)f(The)n(ory)g(of)g(Computing)t
Fk(,)g(1989,)g(pp.)f(394{404.)0 381 y([RSA78])125 b(R.)11 b(L.)g(Riv)o(est,)g
(A.)g(Shamir,)h(and)g(L.)f(Adleman.)i(A)d(metho)q(d)i(for)f(obtaining)j
(digital)f(signa-)301 453 y(tures)j(and)g(public)h(k)o(ey)d(cryptosystems.)20
b Fj(Communic)n(ations)d(of)g(the)g(A)o(CM)p Fk(,)e(21\(2\):120,)301
526 y(F)l(ebruary)h(1978.)21 b(The)15 b(basics)i(of)f(trap-do)q(or)h
(functions)g(and)f(the)f(famous)h(RSA)f(public)301 598 y(k)o(ey)g
(cryptosystem)h(are)g(presen)o(ted)g(in)h(this)g(pap)q(er.)0
711 y([Rub81])135 b(R.)20 b(Y.)f(Rubinstein.)33 b Fj(Simulation)22
b(and)f(the)g(Monte)g(Carlo)g(Metho)n(d)p Fk(.)31 b(John)21
b(Wiley)f(&)301 784 y(Sons,)c(1981.)21 b(This)c(w)o(ork)e(is)h(an)f(in-depth)
h(lo)q(ok)h(at)f(the)f(use)g(of)g(random)h(sampling)h(\(the)301
856 y(Mon)o(te)f(Carlo)h(metho)q(d\))f(in)h(the)f(con)o(text)f(of)h(sim)o
(ulation)i(and)f(n)o(umerical)f(in)o(tegration.)0 970 y([R)-5
b(V89])157 b(M.)21 b(Rabin)h(and)f(V)l(azirani)h(V.)35 b(Maxim)o(um)21
b(matc)o(hings)g(in)h(general)g(graphs)g(through)301 1042 y(randomization.)h
Fj(Journal)16 b(of)h(A)o(lgorithms)p Fk(,)e(10:557{567,)j(1989.)k(This)16
b(pap)q(er)g(presen)o(ts)301 1114 y(a)i(conceptually)f(simple)h(algorithm)h
(for)e(maximal)g(matc)o(hing)h(in)f(a)g(graph)h(of)f Fh(n)g
Fk(no)q(des)301 1186 y(with)f(complexit)o(y)f Fh(O)q Fk(\()p
Fh(M)5 b Fk(\()p Fh(n)p Fk(\))p Fh(n)j Fk(log)k(log)e Fh(n)q
Fk(\),)k(where)h Fh(M)5 b Fk(\()p Fh(n)p Fk(\))16 b(is)g(the)f(n)o(um)o(b)q
(er)f(of)i(op)q(erations)301 1259 y(needed)g(to)h(m)o(ultiply)g(t)o(w)o(o)f
Fh(n)11 b Fg(\002)g Fh(n)16 b Fk(matrices.)0 1372 y([R)-5 b(W89])144
b(R.)13 b(Raz)g(and)g(A.)f(Wigderson.)17 b(Probabilisti)q(c)e(comm)o
(unication)f(complexit)o(y)f(of)g(b)q(o)q(olean)301 1445 y(relations.)27
b(In)17 b Fj(Pr)n(o)n(c.)h(30th)g(A)o(nn.)h(IEEE)g(Symp.)f(on)h(F)l
(oundations)g(of)f(Computer)h(Sci-)301 1517 y(enc)n(e)p Fk(,)i(pages)f
(562{567,)j(1989.)31 b(Exp)q(onen)o(tial)21 b(gaps)g(are)e(demonstrated)h(b)q
(et)o(w)o(een)e(de-)301 1589 y(terministic)i(and)g(probabilistic)i(complexit)
o(y)l(,)d(and)h(b)q(et)o(w)o(een)e(the)h(probabilistic)j(com-)301
1661 y(plexit)o(y)17 b(of)f(monotone)h(and)g(non-monotone)h(relations.)0
1775 y([Sal69])161 b(A.)24 b(Salomaa.)46 b Fj(The)n(ory)24
b(of)h(A)o(utomata)p Fk(.)44 b(P)o(ergamon)25 b(Press,)h(1969.)46
b(Chapter)25 b(2)g(of)301 1847 y(this)c(b)q(o)q(ok)h(discusses)f
(probabilistic)i(automata)f(and)e(dev)o(elops)g(a)h(general)g(theory)f(of)301
1919 y(sto)q(c)o(hastic)e(languages.)0 2033 y([Sc)o(h78])150
b(J.)22 b(Sc)o(h)o(w)o(artz.)36 b(Distributed)23 b(sync)o(hronization)g(of)f
(comm)o(unicating)g(sequen)o(tial)g(pro-)301 2105 y(cesses.)29
b(T)l(ec)o(hnical)19 b(rep)q(ort,)h(D)o(AI)e(Researc)o(h)g(Rep)q(ort)h(56,)h
(Univ)o(ersit)o(y)e(of)h(Edin)o(burgh,)301 2178 y(1978.)i(Sc)o(h)o(w)o(artz)
14 b(presen)o(ts)g(a)h(distributed)h(algorithm)h(for)e(CSP)g(output)h(guards)
g(based)301 2250 y(on)h(priorit)o(y)h(ordering)f(of)g(pro)q(cesses.)g(A)f
(probabilistic)j(algorithm)g(for)e(output)g(guards)301 2322
y(is)g(describ)q(ed)g(in)g(Section)g(3.2.)0 2436 y([Sc)o(h79])150
b(J.)20 b(T.)f(Sc)o(h)o(w)o(artz.)30 b(Probabilistic)22 b(algorithms)g(for)e
(v)o(eri\014cation)g(of)g(p)q(olynomial)i(iden-)301 2508 y(tities.)31
b(In)19 b Fj(ISSA)o(C)h('79:)27 b(Pr)n(o)n(c.)19 b(Int'l.)i(Symp.)f(on)g
(Symb)n(olic)h(and)f(A)o(lgebr)n(aic)h(Compu-)301 2580 y(tation,)k
Fk(Lecture)d(Notes)f(in)i(Computer)f(Science,)h(V)l(ol.)f(72.)g(Springer-V)l
(erlag,)j(1979.)301 2653 y(This)19 b(pap)q(er,)f(whic)o(h)h(also)g(app)q
(eared)f(in)h Fj(Journal)f(of)h(the)g(A)o(CM)8 b Fk(,)17 b(1980,)i(pp.)f
(701{717,)938 2828 y(153)p eop
bop 301 195 a Fk(presen)o(ts)14 b(probabilistic)i(metho)q(ds)e(for)g(testing)
h(p)q(olynomial)h(iden)o(tities)f(and)f(prop)q(erties)301 267
y(of)j(systems)f(of)h(p)q(olynomials.)0 381 y([Sc)o(h82])150
b(F.)26 b(B.)f(Sc)o(hneider.)51 b(Sync)o(hronization)27 b(in)g(distributed)h
(programs.)52 b Fj(A)o(CM)26 b(T)l(r)n(ans.)301 453 y(on)d(Pr)n(o)n(gr)n
(amming)e(L)n(anguages)j(and)e(Systems)p Fk(,)i(4\(2\):1982,)g(April)f(1982.)
39 b(Sc)o(hneider)301 526 y(presen)o(ts)18 b(a)h(timestamp-based)g
(distributed)g(algorithm)h(for)e(CSP)h(output)g(guards.)f(A)301
598 y(probabilisti)q(c)h(algorithm)f(for)e(output)h(guards)h(is)f(describ)q
(ed)g(in)f(Section)h(3.2.)0 711 y([Sc)o(h84])150 b(M.)16 b(R.)f(Sc)o(hro)q
(eder.)20 b Fj(Numb)n(er)d(The)n(ory)f(in)i(Scienc)n(e)h(and)e(Communic)n
(ation)h(with)f(Appli-)301 784 y(c)n(ations)j(in)g(Crypto)n(gr)n(aphy,)e
(Physics,)i(Biolo)n(gy,)g(Digital)g(Information)g(and)g(Comput-)301
856 y(ing)p Fk(.)25 b(Springer-V)l(erlag,)18 b(1984.)26 b(Sc)o(hro)q(eder)17
b(presen)o(ts)f(in)o(tuitiv)o(e)i(discussions)h(on)f(prime)301
928 y(n)o(um)o(b)q(ers,)13 b(their)g(distribution,)i(fractions,)f
(congruences,)f(etc.)f(Sev)o(eral)g(applications)k(of)301 1000
y(n)o(um)o(b)q(er)h(theory)g(in)h(suc)o(h)f(div)o(erse)g(\014elds)h(as)g
(cryptograph)o(y)f(and)h(F)l(raunhofer)g(di\013rac-)301 1073
y(tion)e(are)e(discussed.)h(A)f(go)q(o)q(d)i(source)e(of)h(basic)g(n)o(um)o
(b)q(er)e(theory)i(results)g(for)f(algorithm)301 1145 y(designers.)0
1259 y([Sc)o(h88])150 b(A.)11 b(Sc)o(honhage.)j(Probabilisti)q(c)g
(computation)f(of)f(in)o(teger)g(p)q(olynomial)i(GCDs.)h Fj(Journal)301
1331 y(of)23 b(A)o(lgorithms)p Fk(,)h(9\(3\):365{371,)i(Septem)o(b)q(er)21
b(1988.)40 b(The)23 b(GCD)g(of)f(t)o(w)o(o)g(univ)m(ariate)301
1403 y(in)o(teger)i(p)q(olynomials)i(of)d(degree)g Fg(\024)g
Fk(n,)h(with)h(their)e Fh(l)1354 1385 y Fl(1)1397 1403 y Fk(norms)g(b)q
(ounded)h(b)o(y)f(2)1855 1385 y Ff(n)1879 1403 y Fk(,)h(is)301
1475 y(sho)o(wn)18 b(to)f(b)q(e)g(reducible)g(to)g(GCD)g(computation)h(for)f
(long)h(in)o(tegers.)f(A)f(probabilistic)301 1548 y(approac)o(h)h(yields)h
(an)e(exp)q(ected)f(complexit)o(y)h(of)h Fh(O)q Fk(\()p Fh(n)p
Fk(\()p Fh(n)12 b Fk(+)f Fh(h)p Fk(\))1465 1529 y Fl(1+)p Ff(o)p
Fl(\(1\))1574 1548 y Fk(\))16 b(bit)h(op)q(erations.)0 1661
y([Sc)o(h91])150 b(O.)22 b(Sc)o(h)o(w)o(arzk)o(opf.)37 b(Dynamic)22
b(main)o(tenance)g(of)g(geometric)g(structures)g(made)f(easy)l(.)301
1733 y(In)16 b Fj(Pr)n(o)n(c.)h(32nd)g(A)o(nn.)h(IEEE)f(Symp.)g(on)h(F)l
(oundations)g(of)f(Computer)h(Scienc)n(e)p Fk(,)f(pages)301
1806 y(180{196,)h(1991.)k(Sc)o(h)o(w)o(arzk)o(opf)14 b(presen)o(ts)h(a)h
(randomized)g(algorithm)i(for)e(main)o(taining)301 1878 y(Con)o(v)o(ex)g
(Hulls)i(with)g Fh(m)e Fk(p)q(oin)o(ts)j(that)e(runs)g(in)h(exp)q(ected)d
(time)i Fh(O)q Fk(\(log)11 b Fh(m)p Fk(\))16 b(p)q(er)h(up)q(date)301
1950 y(for)h(dimensions)h(2)f(and)h(3,)e Fh(O)q Fk(\()p Fh(m)8
b Fk(log)j Fh(m)p Fk(\))18 b(for)f(dimensions)j(4)e(and)g(5,)g(and)g
Fh(O)q Fk(\()p Fh(m)1799 1932 y Fd(b)p Ff(d=)p Fl(2)p Fd(c\000)p
Fl(1)1931 1950 y Fk(\))301 2022 y(for)f(dimensions)h(greater)e(than)h(5.)0
2136 y([Sei90])163 b(R.)20 b(Seidel.)32 b(Linear)21 b(programming)g(and)g
(con)o(v)o(ex)d(h)o(ulls)j(made)e(easy)l(.)32 b(In)20 b Fj(Pr)n(o)n(c.)f
(Sixth)301 2208 y(A)o(nn.)e(A)o(CM)e(Symp.)h(on)g(Computational)g(Ge)n
(ometry)p Fk(,)e(pages)h(211{215,)i(Berk)o(eley)l(,)c(CA,)301
2281 y(June)24 b(1990.)45 b(Seidel)24 b(presen)o(ts)f(t)o(w)o(o)h(simple)g
(randomized)h(algorithms.)g(One)f(solv)o(es)301 2353 y(linear)16
b(programs)f(in)o(v)o(olving)h Fh(m)e Fk(constrain)o(ts)h(in)g
Fh(d)g Fk(v)m(ariables)h(in)f(exp)q(ected)e(time)h Fh(O)q Fk(\()p
Fh(m)p Fk(\).)301 2425 y(The)19 b(other)f(constructs)h(con)o(v)o(ex)e(h)o
(ulls)i(of)g Fh(n)g Fk(p)q(oin)o(ts)g(in)g Fg(<)1397 2407 y
Ff(d)1417 2425 y Fk(,)g Fh(d)f(>)f Fk(3)i(in)g(exp)q(ected)e(time)301
2497 y Fh(O)q Fk(\()p Fh(n)387 2479 y Fd(b)p Ff(d=)p Fl(2)p
Fd(c)475 2497 y Fk(\).)f(In)g(b)q(oth)h(b)q(ounds,)g Fh(d)g
Fk(is)g(considered)f(to)h(b)q(e)f(a)h(constan)o(t.)0 2611 y([Sei91])163
b(R.)19 b(Seidel.)29 b(A)18 b(simple)i(and)f(fast)g(incremen)o(tal)g
(randomized)g(algorithm)i(for)e(comput-)301 2683 y(ing)c(trap)q(ezoidal)g
(decomp)q(ositions)g(and)f(for)g(triangulating)i(p)q(olygons.)i
Fj(Computational)938 2828 y Fk(154)p eop
bop 301 195 a Fj(Ge)n(ometry:)21 b(The)n(ory)16 b(and)g(Applic)n(ations)p
Fk(,)g(1:51{64,)h(1991.)k(Seidel's)15 b(randomized)h(algo-)301
267 y(rithm)g(runs)g(in)h Fh(O)q Fk(\()p Fh(n)8 b Fk(log)759
246 y Fd(\003)787 267 y Fh(n)p Fk(\))15 b(exp)q(ected)g(time)h(and)g(is)g
(simpler)h(than)f(the)f(deterministic)301 340 y Fh(O)q Fk(\()p
Fh(n)p Fk(\))i(algorithm)i(due)d(to)g(B.)g(Chazelle.)0 453
y([Sei92])163 b(R.)18 b(Seidel.)29 b(On)18 b(the)g(all-pairs-)q(shortest-pa)q
(th)j(problem.)29 b(In)18 b Fj(Pr)n(o)n(c.)g(24th)h(A)o(nn.)h(A)o(CM)301
526 y(Symp.)d(on)h(The)n(ory)e(of)h(Computing)p Fk(,)f(pages)h(745{749,)h
(Victoria,)f(B.C.,)d(Canada,)k(Ma)o(y)301 598 y(1992.)26 b(Giv)o(en)18
b(an)f(undirected,)g(un)o(w)o(eigh)o(ted)g Fh(n)p Fk(-v)o(ertex)g(graph,)h(a)
f(simple)h(randomized)301 670 y(algorithm)f(is)f(presen)o(ted)e(that)h
(\014nds)h(a)f(shortest)g(path)h(b)q(et)o(w)o(een)e(eac)o(h)g(pair)i(of)f(v)o
(ertices)301 742 y(in)f(exp)q(ected)f Fh(O)q Fk(\()p Fh(M)5
b Fk(\()p Fh(n)p Fk(\))j(log)j Fh(n)p Fk(\))j(time,)f(where)g
Fh(M)5 b Fk(\()p Fh(n)p Fk(\))13 b(is)h(the)f(time)h(necessary)f(to)g(m)o
(ultiply)301 814 y(t)o(w)o(o)k Fh(n)11 b Fg(\002)g Fh(n)16
b Fk(matrices)g(of)h(small)g(in)o(tegers.)0 928 y([Sha92a])123
b(J.)21 b(Shallit.)36 b(Randomized)21 b(algorithms)h(in)g(\\primitiv)o(e)f
(cultures".)35 b Fj(SIGA)o(CT)21 b(News)p Fk(,)301 1000 y(23\(4\):77{80,)g
(1992.)30 b(Shallit,)20 b(in)f(a)g(sligh)o(tly)h(tongue-in-c)o(heek)f
(manner,)f(traces)g(bac)o(k)301 1073 y(some)c(of)g(the)g(concepts)f(of)h
(randomized)h(algorithms)h(to)e(the)g(nativ)o(e)f(American)h(so)q(ciet)o(y)
301 1145 y(of)21 b(the)g(Nask)m(api)h(and)f(the)f(cen)o(tral)h(African)f(so)q
(ciet)o(y)h(of)g(the)g(Azande.)e(Ro)q(ots)j(in)f(the)301 1217
y(w)o(orks)c(of)f(Pierre)h(Laplace)g(and)g(Lord)g(Kelvin)g(are)f(also)i(p)q
(oin)o(ted)f(out.)0 1331 y([Sha92b])120 b(A.)18 b(Shamir.)28
b Fh(I)t(P)c Fk(=)18 b Fh(P)7 b(S)s(P)g(AC)t(E)s Fk(.)26 b
Fj(Journal)20 b(of)f(the)h(A)o(CM)p Fk(,)d(39\(4\),)j(1992.)29
b(This)19 b(pap)q(er)301 1403 y(sho)o(ws)c(that)f(the)f(set)g(of)h(problems)g
(for)g(whic)o(h)f(in)o(teractiv)o(e)g(proto)q(cols)j(exist)e(is)g(precisely)
301 1475 y(the)19 b(set)g(of)h(problems)g(whic)o(h)f(are)g(solv)m(able)j
(within)e(p)q(olynomial)i(space)d(on)h(a)g(T)l(uring)301 1548
y(mac)o(hine.)0 1661 y([Sho93])147 b(V.)19 b(Shoup.)31 b(F)l(ast)20
b(construction)g(of)g(irreducible)g(p)q(olynomials)i(o)o(v)o(er)d(\014nite)g
(\014elds.)31 b(In)301 1733 y Fj(Pr)n(o)n(c.)24 b(F)l(ourth)g(A)o(nn.)h(A)o
(CM-SIAM)f(Symp.)g(on)h(Discr)n(ete)g(A)o(lgorithms)p Fk(,)g(pages)f(484{)301
1806 y(492,)f(Austin,)f(TX,)e(Jan)o(uary)h(1993.)37 b(A)20
b(randomized)h(algorithm)i(is)f(presen)o(ted)e(that)301 1878
y(constructs)g(an)f(irreducible)i(p)q(olynomial)g(of)f(giv)o(en)f(degree)g
Fh(n)g Fk(o)o(v)o(er)f(a)i(\014nite)f(\014eld)h Fh(F)1918 1885
y Ff(q)1936 1878 y Fk(.)301 1950 y(It)g(uses)f(an)h(exp)q(ected)f(n)o(um)o(b)
q(er)g(of)h Fh(O)1020 1932 y Fd(\030)1050 1950 y Fk(\()p Fh(n)1098
1932 y Fl(2)1131 1950 y Fk(+)13 b Fh(n)8 b Fk(log)j Fh(q)r
Fk(\))19 b(op)q(erations)i(in)g Fh(F)1686 1957 y Ff(q)1704
1950 y Fk(,)f(where)f(the)301 2022 y(\\soft-O")f Fh(O)536 2004
y Fd(\030)583 2022 y Fk(indicates)f(an)g(implicit)h(factor)e(of)h(\(log)10
b Fh(n)p Fk(\))1366 2004 y Ff(O)q Fl(\(1\))1441 2022 y Fk(.)0
2136 y([Sie89])163 b(A.)16 b(Siegel.)24 b(On)17 b(univ)o(ersal)h(classes)g
(of)f(fast)g(high)h(p)q(erformance)f(hash)g(functions,)h(their)301
2208 y(time-space)h(tradeo\013,)g(and)h(their)e(applications.)31
b(In)18 b Fj(Pr)n(o)n(c.)g(30th)i(A)o(nn.)g(IEEE)f(Symp.)301
2281 y(on)i(F)l(oundations)f(of)g(Computer)g(Scienc)n(e)p Fk(,)h(pages)e
(20{25,)i(Oct)e(1989.)30 b(An)19 b(algorithm)301 2353 y(for)f(constructing)g
(log)10 b Fh(n)p Fk(-wise)19 b(indep)q(enden)o(t)e(hash)h(functions)g(that)g
(can)f(b)q(e)g(ev)m(aluated)301 2425 y(in)g(constan)o(t)g(time)f(is)h(presen)
o(ted.)0 2539 y([Sip88])158 b(M.)13 b(Sipser.)j(Expanders,)d(randomness,)h
(or)g(time)e(v)o(ersus)h(space.)j Fj(Journal)e(of)g(Computer)301
2611 y(and)20 b(System)g(Scienc)n(es)p Fk(,)g(36,)f(1988.)30
b(Con)o(tains)20 b(a)e(discussion)j(on)e(e\016cien)o(tly)e(reducing)938
2828 y(155)p eop
bop 301 195 a Fk(the)15 b(probabilit)o(y)i(of)f(error)f(in)h(randomized)g
(algorithms.)g(It)f(also)i(describ)q(es)f(a)f(relation-)301
267 y(ship)h(b)q(et)o(w)o(een)d(pseudorandomness,)j(time)f(and)g(space)f
(used)h(b)o(y)f(certain)h(algorithms)i(if)301 340 y(certain)g(t)o(yp)q(es)f
(of)h(expander)f(graphs)h(can)f(b)q(e)h(explicitly)g(constructed.)0
453 y([Smi83])144 b(J.)16 b(Smith.)22 b(Public)c(k)o(ey)d(cryptograph)o(y)l
(.)21 b Fj(Byte)p Fk(,)c(pages)g(198{218,)h(Jan)o(uary)f(1983.)23
b(This)301 526 y(is)17 b(a)g(simple)g(exp)q(osition)h(of)f(public)g(k)o(ey)e
(cryptograph)o(y)l(.)0 639 y([Sp)q(e88])148 b(J.)15 b(Sp)q(encer.)j(T)l(en)c
(lectures)g(on)h(the)g(probabilistic)i(metho)q(d.)i Fj(SIAM)d(Journal)g(on)g
(Com-)301 711 y(puting)p Fk(,)24 b(1988.)39 b(Sp)q(encer)22
b(presen)o(ts)f(a)h(metho)q(d)g(of)g(con)o(v)o(erting)g(probabilistic)j(pro)q
(ofs)301 784 y(of)19 b(existence)e(of)i(certain)f(com)o(binatorial)i
(structures)e(in)o(to)h(deterministic)g(algorithms)301 856
y(that)e(construct)f(these)g(structures.)0 970 y([Spi82])158
b(P)l(.)17 b(G.)f(Spirakis.)23 b Fj(Pr)n(ob)n(abilistic)18
b(A)o(lgorithms,)f(A)o(lgorithms)h(with)g(R)n(andom)f(Inputs)h(and)301
1042 y(R)n(andom)25 b(Combinatorial)g(Structur)n(es)p Fk(.)47
b(PhD)25 b(thesis,)j(\(UMI)23 b(Order)i(Num)o(b)q(er)f(D)o(A)301
1114 y(8216206\))f(Harv)m(ard)e(Univ)o(ersit)o(y)l(,)e(Cam)o(bridge,)j(MA,)c
(1982.)34 b(This)21 b(thesis)g(puts)g(forth)301 1186 y(a)d(new)g(mo)q(del,)g
(`Random)g(Indep)q(endence)e(Systems',)h(for)h(the)f(probabilisti)q(c)j
(analysis)301 1259 y(of)c(deterministic)g(algorithms)h(with)f(random)g
(inputs,)g(i.e.,)f(algorithms)i(for)f(whic)o(h)f(the)301 1331
y(space)j(of)h(all)g(inputs)g(has)f(a)h(kno)o(wn)f(probabilit)o(y)i
(distribution.)g(It)d(also)j(presen)o(ts)d(t)o(w)o(o)301 1403
y(probabilisti)q(c)i(algorithms)f(with)f(real)g(time)f(resp)q(onse)h(for)g
(the)f(problem)g(of)h(comm)o(uni-)301 1475 y(cation)h(guard)f(sc)o(heduling.)
0 1589 y([Spr77])152 b(R.)22 b(Sprugnoli.)43 b(P)o(erfect)21
b(hash)j(functions:)35 b(A)22 b(single)i(prob)q(e)f(retriev)m(al)h(metho)q(d)
f(for)301 1661 y(static)c(sets.)26 b Fj(Communic)n(ations)18
b(of)h(the)g(A)o(CM)p Fk(,)e(20:841{850,)k(1977.)27 b(This)19
b(is)f(the)g(\014rst)301 1733 y(discussion)c(on)e(p)q(erfect)f(hashing;)j
(describ)q(es)e(heuristics)g(for)g(constructing)g(p)q(erfect)f(hash)301
1806 y(functions.)0 1919 y([SS77])171 b(R.)21 b(Solo)o(v)m(a)o(y)i(and)f(V.)f
(Strassen.)38 b(A)21 b(fast)h(Mon)o(te-Carlo)h(test)f(for)g(primalit)o(y)l(.)
38 b Fj(SIAM)301 1992 y(Journal)21 b(on)h(Computing)p Fk(,)f(6\(1\):84{85,)j
(Marc)o(h)19 b(1977.)35 b(Another)20 b(test)g(for)h(primalit)o(y)301
2064 y(based)d(on)f(the)g(abundance)g(of)g(witnesses)h(to)f(comp)q(ositeness)
i(of)e Fh(n)g Fk(is)g(presen)o(ted.)f(The)301 2136 y(test)23
b(en)o(tails)h(pic)o(king)f(a)g(random)g(n)o(um)o(b)q(er)f
Fh(a)g Fk(\(1)j Fg(\024)f Fh(a)h(<)f(n)p Fk(\))f(and)g(computing)h
Fh(")g Fk(=)301 2208 y Fh(a)327 2190 y Fl(\()p Ff(n)p Fd(\000)p
Fl(1\))p Ff(=)p Fl(2)458 2208 y Fk(\()50 b(\(mo)q(d)17 b Fh(n)p
Fk(\)\),)h(where)g Fg(\000)p Fk(1)f Fg(\024)g Fh(")g(<)g(n)c
Fg(\000)f Fk(2.)18 b(If)f(the)h(Jacobi)i(sym)o(b)q(ol)e Fh(\016)h
Fk(=)e(\()p Fh(a=n)p Fk(\))301 2281 y(equals)h Fh(")f Fk(then)g
Fh(n)g Fk(is)h(prime,)f(else,)g(if)g(either)g Fh(g)r(cd)p Fk(\()p
Fh(a;)8 b(n)p Fk(\))15 b Fh(>)g Fk(1)j(or)f Fh(\016)g Fg(6)p
Fk(=)e Fh(")p Fk(,)h(decide)h Fh(n)g Fk(to)h(b)q(e)301 2353
y(comp)q(osite.)f(The)f(second)h(decision)g(has)g(less)g(than)1282
2333 y Fl(1)p 1282 2341 18 2 v 1282 2370 a(2)1321 2353 y Fk(probabilit)o(y)h
(of)f(b)q(eing)g(wrong.)0 2467 y([SS78])171 b(R.)17 b(Solo)o(v)m(a)o(y)h(and)
f(V.)g(Strassen.)24 b(Erratum:)f(A)16 b(fast)i(Mon)o(te-Carlo)g(test)f(for)g
(primalit)o(y)l(.)301 2539 y Fj(SIAM)f(Journal)f(on)g(Computing)p
Fk(,)g(7\(1\),)f(F)l(eb.)f(1978.)19 b(A)14 b(minor)g(correction)g(in)h(the)e
(anal-)301 2611 y(ysis)i(presen)o(ted)e(in)i([SS77])f(is)g(rep)q(orted)g(b)o
(y)g(the)f(authors.)i(The)f(basic)h(results)f(of)g([SS77)q(],)301
2683 y(ho)o(w)o(ev)o(er,)h(still)j(hold.)938 2828 y(156)p eop
bop 0 195 a Fk([SS90])171 b(J.)15 b(P)l(.)f(Sc)o(hmidt)h(and)g(A.)f(Siegel.)
20 b(The)15 b(spatial)i(complexit)o(y)d(of)h(oblivious)j Fh(k)r
Fk(-prob)q(e)d(hash)301 267 y(functions.)41 b Fj(SIAM)23 b(Journal)g(on)h
(Computing)p Fk(,)g(19\(5\):775{786,)j(1990.)41 b(This)23 b(pap)q(er)301
340 y(giv)o(es,)d(among)g(other)g(results,)g(a)g(lo)o(w)o(er)f(b)q(ound)i
(for)e(the)g(a)o(v)o(erage)g(space)g(required)h(b)o(y)301 412
y(program)g(for)f(oblivious)j Fh(k)r Fk(-prob)q(e)e(hash)g(function.)f(A)g
(probabilistic)j(construction)e(of)301 484 y(a)g(family)g(of)f(oblivious)j
Fh(k)r Fk(-prob)q(e)e(hash)g(function)g(that)f(nearly)h(matc)o(h)e(this)i(b)q
(ound)g(is)301 556 y(also)e(giv)o(en.)0 670 y([SSS93])144 b(J.)13
b(P)l(.)g(Sc)o(hmidt,)g(A.)f(Siegel,)j(and)e(A.)g(Sriniv)m(asan.)18
b(Cherno\013-Ho)q(e\013ding)e(b)q(ounds)f(for)e(ap-)301 742
y(plications)h(with)f(limited)g(indep)q(endence.)g(In)e Fj(Pr)n(o)n(c.)h(F)l
(ourth)h(A)o(nn.)h(A)o(CM-SIAM)f(Symp.)301 814 y(on)18 b(Discr)n(ete)g(A)o
(lgorithms)p Fk(,)e(pages)h(331{340,)h(Austin,)f(TX,)e(Jan)o(uary)i(1993.)23
b(Cherno\013-)301 887 y(Ho)q(e\013ding)15 b(b)q(ounds)f(are)f(frequen)o(tly)g
(used)g(in)g(the)g(design)h(and)g(analysis)h(of)e(randomized)301
959 y(algorithms)21 b(to)e(b)q(ound)h(the)f(tail)h(probabilities)i(of)d(the)f
(sums)h(of)g(b)q(ounded)h(and)f(inde-)301 1031 y(p)q(enden)o(t)h(random)g(v)m
(ariables.)h(The)f(authors)h(giv)o(e)f(a)g(simple)h(tec)o(hnique)e(whic)o(h)h
(giv)o(es)301 1103 y(sligh)o(tly)14 b(b)q(etter)e(b)q(ounds)i(than)f(these)f
(and)g(whic)o(h)h(requires)f(only)h Fj(limite)n(d)h(indep)n(endenc)n(e)301
1176 y Fk(among)k(the)e(random)g(v)m(ariables.)0 1289 y([Sto85])155
b(L.)14 b(Sto)q(c)o(kmey)o(er.)g(On)f(appro)o(ximation)j(algorithms)f(for)f
(#P.)i Fj(SIAM)e(Journal)h(on)g(Com-)301 1362 y(puting)p Fk(,)j
(14\(4\):849{861,)i(1985.)k(The)17 b(author)g(explores)g(the)g(e\013ect)f(of)
h(appro)o(ximation)301 1434 y(and)23 b(randomization)h(on)e(the)f(complexit)o
(y)g(of)h(coun)o(ting)h(problems)f(\(V)l(alian)o(t's)h(class)301
1506 y(#P)17 b(whic)o(h)f(has)h(problems)h(suc)o(h)e(as)h(coun)o(ting)g(the)f
(n)o(um)o(b)q(er)g(of)h(p)q(erfect)e(matc)o(hings)i(in)301
1578 y(a)g(graph,)g(the)f(size)g(of)h(bac)o(ktrac)o(k)e(searc)o(h)h(trees,)f
(etc.\).)0 1692 y([SV86])161 b(M.)13 b(San)o(tha)g(and)h(U.)e(V.)g(V)l
(azirani.)17 b(Generating)e(quasi-random)f(sequences)f(from)g(semi-)301
1764 y(random)g(sources.)i Fj(Journal)f(of)f(Computer)h(and)g(System)g
(Scienc)n(es)p Fk(,)g(33\(1\):75{87,)h(April)301 1836 y(1986.)i(The)12
b(authors)h(in)o(tro)q(duce)g(the)f(notion)i(of)f(semi-random)g(sources)g
(where)e(the)i(next)301 1909 y(bit)k(of)g(the)e(output)i(is)g(pro)q(duced)g
(b)o(y)e(an)i(adv)o(ersary)f(b)o(y)f(the)h(\015ip)h(of)g(a)f(coin)h(of)f(v)m
(ariable)301 1981 y(bias.)j(The)g(adv)o(ersary)f(can)g(lo)q(ok)i(at)e(the)g
(previously)h(output)g(bits,)g(and)g(use)f(them)g(to)301 2053
y(set)g(the)f(bias)h(in)g(the)f(coin.)h(The)f(bias,)h(whic)o(h)g(helps)g(mo)q
(del)g(correlation)g(among)h(bits,)301 2125 y(is)e(constrained)h(to)e(b)q(e)h
(b)q(et)o(w)o(een)e(t)o(w)o(o)h(limits.)0 2239 y([TN91])153
b(T.)19 b(T)l(okuy)o(ama)f(and)h(J.)g(Nak)m(ano.)28 b(Geometric)19
b(algorithms)h(for)f(a)g(minim)o(um)f(cost)h(as-)301 2311 y(signmen)o(t)24
b(problem.)45 b(In)23 b Fj(Pr)n(o)n(c.)g(Seventh)k(A)o(nn.)e(A)o(CM)f(Symp.)g
(on)g(Computational)301 2384 y(Ge)n(ometry)p Fk(,)c(pages)g(262{271,)j(North)
d(Con)o(w)o(a)o(y)l(,)g(NH,)e(June)i(1991.)33 b(An)20 b(e\016cien)o(t)e(ran-)
301 2456 y(domized)13 b(algorithm)g(is)g(giv)o(en)f(for)g(the)g(minim)o(um)g
(cost)g Fh(\025)p Fk(-assignmen)o(t)i(problem,)f(whic)o(h)301
2528 y(is)h(equiv)m(alen)o(t)g(to)g(the)f(minim)o(um)g(w)o(eigh)o(t)g
(one-to-man)o(y)h(matc)o(hing)g(problem)f(in)h(a)g(com-)301
2600 y(plete)h(bipartite)i(graph)f(\000)e(=)g(\()p Fh(A;)8
b(B)s Fk(\).)13 b(If)i Fh(A)g Fk(and)g Fh(B)j Fk(ha)o(v)o(e)c
Fh(n)h Fk(and)h Fh(k)h Fk(no)q(des)f(resp)q(ectiv)o(ely)l(,)301
2672 y(then)g(the)g(algorithm)j(requires)d Fh(O)q Fk(\()p Fh(k)r(n)c
Fk(+)f Fh(k)1103 2654 y Fl(3)p Ff(:)p Fl(5)1150 2672 y Fh(n)1179
2654 y Fl(0)p Ff(:)p Fl(5)1226 2672 y Fk(\))16 b(exp)q(ected)g(time.)938
2828 y(157)p eop
bop 0 195 a Fk([TO92])152 b(S.)27 b(T)l(o)q(da)h(and)g(M.)e(Ogiw)o(ara.)55
b(Coun)o(ting)28 b(classes)g(are)f(at)h(least)f(as)h(hard)g(as)f(the)301
267 y(p)q(olynomial-ti)q(me)14 b(hierarc)o(h)o(y)l(.)f Fj(SIAM)h(Journal)f
(on)h(Computing)p Fk(,)f(21\(2\):316{328,)i(April)301 340 y(1992.)24
b(Man)o(y)17 b(coun)o(ting)g(classes)h(are)f(sho)o(wn)g(to)g(b)q(e)g
(computationally)i(as)f(hard)f(as)g(the)301 412 y(p)q(olynomial)k(time)e
(hierarc)o(h)o(y)l(,)e(under)i(a)f(notion)i(of)f(randomized)g(reducibilit)o
(y)l(,)g(unless)301 484 y(the)d(p)q(olynomial-ti)q(me)i(hierarc)o(h)o(y)e
(collapses.)0 596 y([T)l(ut47])148 b(W.)13 b(T.)g(T)l(utte.)j(The)c
(factorization)j(of)f(linear)g(graphs.)j Fj(Journal)d(of)h(the)f(L)n(ondon)g
(Mathe-)301 668 y(matic)n(al)j(So)n(ciety)p Fk(,)d(22:107{111,)k(1947.)i(Let)
15 b Fh(G)p Fk(\()p Fh(V)s(;)8 b(E)s Fk(\))15 b(b)q(e)g(a)g(giv)o(en)f
(simple)i(graph)f(where)301 740 y Fh(V)30 b Fk(=)18 b Fg(f)p
Fk(1)p Fh(;)8 b Fk(2)p Fh(;)g Fk(.)g(.)g(.)g Fh(n)p Fg(g)p
Fk(.)18 b(Asso)q(ciate)i(a)f(v)m(ariable)h Fh(x)1160 747 y
Ff(ij)1209 740 y Fk(with)f(eac)o(h)g(edge)f Fh(e)1571 747 y
Ff(ij)1619 740 y Fg(2)g Fh(E)k Fk(and)d(de\014ne)301 812 y(the)d
Fh(n)10 b Fg(\002)f Fh(n)16 b Fk(matrix)g Fh(B)g Fk(=)e([)p
Fh(b)815 819 y Ff(ij)845 812 y Fk(])h(as)h(follo)o(ws.)h(If)e(there)g(is)i
(no)f(edge)f(b)q(et)o(w)o(een)g(v)o(ertex)f Fh(i)h Fk(and)301
885 y(v)o(ertex)j Fh(j)k Fk(them)c Fh(b)642 892 y Ff(ij)691
885 y Fk(=)g(0.)h(Otherwise,)h Fh(b)1073 892 y Ff(ij)1121 885
y Fk(=)e Fh(x)1205 892 y Ff(ij)1254 885 y Fk(if)i Fh(i)e(>)g(j)k
Fk(and)e Fh(b)1554 892 y Ff(ij)1602 885 y Fk(=)f Fg(\000)p
Fh(x)1726 892 y Ff(ij)1775 885 y Fk(if)g Fh(i)f(<)g(j)s Fk(.)301
957 y(This)g(pap)q(er)f(pro)o(v)o(es)e(that)i Fh(G)g Fk(has)g(a)f(p)q(erfect)
g(matc)o(hing)h(if)f(and)h(only)g(if)g(det\()p Fh(B)s Fk(\))c
Fg(6)p Fk(=)h(0.)0 1068 y([TW87])140 b(M.)19 b(T)l(ompa)g(and)h(H.)e(W)l
(oll.)30 b(Random)19 b(self-reducibilit)o(y)i(and)f(zero-kno)o(wledge)f(in)o
(ter-)301 1141 y(activ)o(e)h(pro)q(ofs)i(of)e(p)q(ossession)i(of)f
(information.)34 b(In)20 b Fj(Pr)n(o)n(c.)g(28th)h(A)o(nn.)g(IEEE)g(Symp.)301
1213 y(on)e(F)l(oundations)f(of)g(Computer)g(Scienc)n(e)p Fk(,)h(pages)e
(472{482,)j(1987.)k(T)l(ompa)18 b(and)f(W)l(oll)301 1285 y(presen)o(t)e(a)g
(general)h(theory)l(,)e(of)h(whic)o(h)h(IP)e(pro)q(ofs)j(for)e(graph)h
(isomorphism,)g(quadratic)301 1357 y(residuosit)o(y)i(and)f(kno)o(wledge)f
(of)h(discrete)f(logarithms)i(are)f(sp)q(ecial)h(cases.)0 1469
y([Tze89])146 b(W.)12 b(G.)g(Tzeng.)j(The)d(equiv)m(alence)h(and)g(learning)g
(of)g(probabilistic)i(automata.)h(In)c Fj(Pr)n(o)n(c.)301 1541
y(30th)18 b(A)o(nn.)g(IEEE)f(Symp.)g(on)h(F)l(oundations)g(of)f(Computer)g
(Scienc)n(e)p Fk(,)h(pages)f(268{273,)301 1614 y(1989.)31 b(The)18
b(equiv)m(alence)h(problem)h(of)f(probabilistic)i(automata)f(is)g(solv)m
(able)h(in)e(time)301 1686 y Fh(O)q Fk(\(\()p Fh(n)406 1693
y Fl(1)435 1686 y Fk(+)8 b Fh(n)510 1693 y Fl(2)529 1686 y
Fk(\))548 1668 y Fl(4)568 1686 y Fk(\),)15 b(where)f Fh(n)784
1693 y Fl(1)819 1686 y Fk(and)h Fh(n)941 1693 y Fl(2)975 1686
y Fk(are)g(the)g(n)o(um)o(b)q(er)f(of)h(states)g(in)g(the)g(t)o(w)o(o)f
(automata.)301 1758 y(The)25 b(problem)f(of)h(learning)g(probabilisti)q(c)i
(automata)e(b)o(y)f(a)g(system)g(of)g(queries)g(in)301 1830
y(p)q(olynomial)19 b(time)d(is)i(also)f(presen)o(ted.)0 1942
y([Upf89])146 b(E.)21 b(Upfal.)37 b(An)20 b Fh(O)q Fk(\(log)11
b Fh(N)5 b Fk(\))22 b(deterministic)f(pac)o(k)o(et)f(routing)j(sc)o(heme.)34
b(In)21 b Fj(Pr)n(o)n(c.)g(21st)301 2014 y(A)o(nn.)d(A)o(CM)f(Symp.)f(on)h
(The)n(ory)f(of)h(Computing)p Fk(,)f(pages)h(241{250,)h(1989.)k(This)16
b(pap)q(er)301 2086 y(presen)o(ts)22 b(the)f(\014rst)h(deterministic)h
Fh(O)q Fk(\(log)10 b Fh(N)5 b Fk(\))22 b(p)q(erm)o(utation)h(routing)g
(algorithm)h(for)301 2159 y(a)19 b(m)o(ultibutter\015y)g(net)o(w)o(ork.)e(A)h
(m)o(ultibutter\015y)g(net)o(w)o(ork)g(is)h(a)g(sp)q(ecial)h(instance)f(of)g
(a)301 2231 y(delta)e(net)o(w)o(ork.)e(Upfal)h(also)h(sho)o(ws)g(that)f
Fh(P)23 b Fk(instances)17 b(of)f(the)g(p)q(erm)o(utation)h(problem)301
2303 y(can)g(b)q(e)f(routed)h(in)g Fh(O)q Fk(\(log)10 b Fh(N)17
b Fk(+)11 b Fh(P)c Fk(\))16 b(steps)h(using)g(a)g(pip)q(elining)i(approac)o
(h.)0 2415 y([UY91])151 b(J.)17 b(D.)f(Ullman)i(and)f(M.)f(Y)l(annak)m(akis.)
24 b(High-probabilit)o(y)19 b(parallel)g(transitiv)o(e)e(closure)301
2487 y(algorithms.)29 b Fj(SIAM)19 b(Journal)g(on)h(Computing)p
Fk(,)e(20\(1\):100{125)q(,)j(F)l(eb)c(1991.)28 b(P)o(arallel)301
2559 y(transitiv)o(e)d(closure)f(algorithms)i(are)e(presen)o(ted)f(for)h(the)
g(case)g(when)g(the)f(graph)i(is)301 2631 y(sparse)15 b(or)f(only)h(a)f
(single)h(source)f(information)i(is)e(desired.)g(The)g(algorithms)i(presen)o
(ted)301 2704 y(can)h(con)o(v)o(erted)e(to)h(the)g(Las)i(V)l(egas)e(t)o(yp)q
(e.)938 2828 y(158)p eop
bop 0 195 a Fk([V)l(al82])155 b(L.)19 b(G.)g(V)l(alian)o(t.)29
b(A)19 b(sc)o(heme)e(for)i(fast)g(parallel)i(comm)o(unication.)29
b Fj(SIAM)20 b(Journal)g(on)301 267 y(Computing)p Fk(,)c(11\(2\):350{361)q(,)
i(Ma)o(y)d(1982.)21 b(V)l(alian)o(t)c(giv)o(es)f(a)g(distributed)g
(randomized)301 340 y(algorithm)22 b(for)e(routing)i(pac)o(k)o(ets)d(from)g
(unique)i(sources)f(to)g(unique)g(destinations)i(in)301 412
y(an)17 b Fh(n)p Fk(-dimensional)i(binary)e(cub)q(e)f(in)h
Fh(O)q Fk(\(log)11 b Fh(N)5 b Fk(\))16 b(time,)g(where)g Fh(N)j
Fk(=)14 b(2)1616 394 y Ff(n)1656 412 y Fk(is)j(the)f(n)o(um)o(b)q(er)301
484 y(of)h(no)q(des)g(in)g(the)f(net)o(w)o(ork,)f(with)i(high)h(probabilit)o
(y)l(.)0 598 y([V)l(al84a])131 b(L.)16 b(G.)f(V)l(alian)o(t.)20
b(Short)c(monotone)g(form)o(ulae)f(for)h(the)e(ma)s(jorit)o(y)i(function.)k
Fj(Journal)c(of)301 670 y(A)o(lgorithms)p Fk(,)f(5:363{366,)i(1984.)j(A)14
b(probabilisti)q(c)j(appro)o(ximation)f(of)f(a)g(deterministic)301
742 y(b)q(o)q(olean)j(function)e(can)f(yield)h(simple)g(circuits)g(ha)o(ving)
h(a)e(small)i(prop)q(ortion)g(of)f(inputs)301 814 y(that)23
b(cause)f(wrong)h(outputs.)f(Indep)q(enden)o(t)g(probabilistic)j(appro)o
(ximations)f(of)e(the)301 887 y(same)i(function)g(can)g(b)q(e)f(com)o(bined)g
(to)h(reduce)f(the)g(probabilit)o(y)i(of)f(error.)f(In)g(this)301
959 y(pap)q(er)16 b(V)l(alian)o(t)h(uses)e(suc)o(h)g(a)h(tec)o(hnique)e(to)i
(obtain)h Fh(O)q Fk(\()p Fh(n)1371 941 y Fl(5)p Ff(:)p Fl(3)1419
959 y Fk(\))e(size)g(monotone)h(form)o(ulas)301 1031 y(that)h(compute)f(the)g
(ma)s(jorit)o(y)g(function)h(of)g Fh(n)f Fk(b)q(o)q(olean)j(v)m(ariables.)0
1145 y([V)l(al84b])128 b(L.)25 b(G.)f(V)l(alian)o(t.)47 b(A)24
b(theory)g(of)h(the)f(learnable.)47 b Fj(Communic)n(ations)25
b(of)f(the)i(A)o(CM)p Fk(,)301 1217 y(27:1134{114)q(2,)17 b(1984.)j(V)l
(alian)o(t)15 b(in)o(tro)q(duces)g(a)g(formal)g(framew)o(ork)f(for)h(the)f
(probabilis-)301 1289 y(tic)i(analysis)h(of)f(algorithms)h(that)f(learn)g
(sets)f(de\014ned)g(on)h(a)f(predetermined)g(univ)o(erse.)0
1403 y([V)l(al87])155 b(D.)30 b(V)l(alois.)64 b(Algorithmes)31
b(probabilistes:)51 b(une)30 b(an)o(thologie.)64 b(Master's)30
b(thesis,)301 1475 y(D)o(\023)-23 b(epartemen)o(t)27 b(d'informatique)h(et)g
(de)f(rec)o(herc)o(he)f(op)o(\023)-23 b(erationnelle,)32 b(Univ)o(ersit)o
(\023)-23 b(e)27 b(de)301 1548 y(Mon)o(tr)o(\023)-23 b(eal,)24
b(1987.)39 b(In)22 b(F)l(renc)o(h,)f(this)i(pap)q(er)f(co)o(v)o(ers)f(a)i(n)o
(um)o(b)q(er)e(of)h(probabilistic)j(al-)301 1620 y(gorithms)16
b(including)h(matrix)e(m)o(ultiplication)i(and)e(in)o(v)o(ersion,)g
(manipulation)j(of)d(p)q(oly-)301 1692 y(nomials,)j(set)e(equalit)o(y)l(,)g
(Byzan)o(tine)g(Generals,)h(and)f(cryptograph)o(y)l(.)0 1806
y([V)l(az87])146 b(U.)20 b(V.)g(V)l(azirani.)36 b(E\016ciency)20
b(considerations)j(in)e(using)i(semi-random)e(sources.)35 b(In)301
1878 y Fj(Pr)n(o)n(c.)18 b(19th)g(A)o(nn.)h(A)o(CM)f(Symp.)g(on)h(The)n(ory)e
(of)h(Computing)p Fk(,)g(pages)g(160{168,)i(1987.)301 1950
y(E\016cien)o(t)c(algorithms)j(for)d(using)i(semi-random)f(sources)f(are)h
(presen)o(ted.)0 2064 y([VB81])153 b(L.)22 b(V)l(alian)o(t)i(and)e(G.)g
(Brebner.)38 b(Univ)o(ersal)22 b(sc)o(hemes)f(for)h(parallel)j(comm)o
(unication.)301 2136 y(In)f Fj(Pr)n(o)n(c.)f(13th)h(A)o(nn.)h(A)o(CM)e(Symp.)
h(on)h(The)n(ory)e(of)h(Computing)p Fk(,)h(pages)g(263{277,)301
2208 y(1981.)19 b(This)c(pap)q(er)f(extends)f(V)l(alian)o(t's)i(message)f
(routing)h(algorithm)g([V)l(al82)q(])e(to)h(asyn-)301 2281
y(c)o(hronous)j(net)o(w)o(orks.)0 2394 y([vdS81])145 b(J.)27
b(L.)f(A.)g(v)m(an)h(de)f(Snepsc)o(heut.)51 b(Sync)o(hronous)27
b(comm)o(unication)h(b)q(et)o(w)o(een)d(asyn-)301 2467 y(c)o(hronous)15
b(comp)q(onen)o(ts.)j Fj(Information)d(Pr)n(o)n(c)n(essing)g(L)n(etters)p
Fk(,)e(13\(3\):127{130)q(,)k(Decem-)301 2539 y(b)q(er)f(1981.)21
b(Snepsc)o(heut)14 b(presen)o(ts)h(a)g(distributed)i(algorithm)g(for)e(CSP)h
(output)g(guards)301 2611 y(in)k(whic)o(h)f(pro)q(cesses)h(are)f(related)h(b)
o(y)e(a)i(tree)e(structure.)g(A)h(probabilistic)j(algorithm)301
2683 y(for)17 b(output)g(guards)g(is)g(describ)q(ed)g(in)g(Section)g(3.2.)938
2828 y(159)p eop
bop 0 195 a Fk([VF90])156 b(J.)11 b(S.)g(Vitter)g(and)h(P)l(.)f(Fla)s(jolet.)
j(Av)o(erage-case)c(analysis)k(of)d(algorithms)j(and)e(data)g(struc-)301
267 y(tures.)23 b(In)17 b(J.)f(v)m(an)h(Leeu)o(w)o(en,)f(editor,)h
Fj(Handb)n(o)n(ok)h(of)g(The)n(or)n(etic)n(al)f(Computer)h(Scienc)n(e,)301
340 y Fk(V)l(olume)k(A:)f(Algorithms)i(and)f(Complexit)o(y,)h(c)o(hapter)f
(9,)h(pages)f(432{524.)i(Elsevier)301 412 y(and)d(The)g(MIT)f(Press)g
(\(co-publishers\),)j(1990.)35 b(Vitter)20 b(and)h(Fla)s(jolet)g(presen)o(t)f
(ana-)301 484 y(lytic)h(metho)q(ds)f(for)g(a)o(v)o(erage-case)g(analysis)i
(of)e(algorithms,)i(with)f(sp)q(ecial)g(emphasis)301 556 y(on)g(the)e(main)i
(algorithms)h(and)e(data)h(structures)f(used)g(for)g(pro)q(cessing)h(nonn)o
(umeri-)301 628 y(cal)h(data.)f(Problems)h(considered)f(include)h(sorting,)h
(searc)o(hing,)g(pattern)e(matc)o(hing,)301 701 y(register)g(allo)q(cation,)j
(tree)c(compaction,)i(retriev)m(al)f(of)g(m)o(ultidimensional)i(data,)e(and)
301 773 y(e\016cien)o(t)e(access)h(to)g(large)g(\014les)h(stored)f(on)g
(secondary)g(memory)l(.)e(The)i(main)g(mathe-)301 845 y(matical)e(to)q(ols)h
(used)d(include)h(generating)h(functions)g(\(for)e(recursiv)o(ely)h
(de\014ned)f(struc-)301 917 y(tures\),)22 b(statistics)h(of)f(in)o(v)o
(ersion)g(tables)g(\(for)f(sorting)i(algorithms\),)h(and)e(v)m(aluations)301
990 y(on)e(com)o(binatorial)i(structures)d(\(for)g(trees)g(and)h(structures)f
(with)h(tree-lik)o(e)f(recursiv)o(e)301 1062 y(decomp)q(osition,)i(suc)o(h)d
(as)g(plane)h(trees,)f(m)o(ultidimensional)j(searc)o(h)d(trees,)f(quic)o
(ksort,)301 1134 y(and)g(algorithms)i(for)d(register)h(allo)q(cation)i(and)e
(tree)f(compaction\).)0 1248 y([Vis84])156 b(U.)21 b(Vishkin.)37
b(Randomized)22 b(sp)q(eed-ups)g(in)h(parallel)g(computation.)38
b(In)21 b Fj(Pr)n(o)n(c.)g(16th)301 1320 y(A)o(nn.)i(A)o(CM)f(Symp.)g(on)h
(The)n(ory)e(of)h(Computing)p Fk(,)h(pages)g(230{239,)i(1984.)38
b(Vishkin)301 1392 y(considers)20 b(the)f(problem)g(of)g(computing)h(the)e(p)
q(osition)j(of)e(eac)o(h)g(elemen)o(t)e(of)i(a)h(link)o(ed)301
1465 y(list,)i(giv)o(en)e(the)g(length)h Fh(n)f Fk(of)g(the)g(list.)h(He)e
(presen)o(ts)g(a)i(probabilistic)i(algorithm)f(for)301 1537
y(this)c(problem)e(running)i(time)e Fh(O)q Fk(\()p Fh(n=p)c
Fk(+)f(log)g Fh(n)d Fk(log)1255 1519 y Fd(\003)1274 1537 y
Fh(n)p Fk(\))17 b(using)g Fh(p)g Fk(pro)q(cessors.)0 1650 y([Vis90])156
b(S.)23 b(Vish)o(w)o(anathan.)44 b(Randomized)24 b(online)h(graph)g
(coloring.)44 b(In)23 b Fj(Pr)n(o)n(c.)g(31st)h(A)o(nn.)301
1723 y(IEEE)d(Symp.)g(on)g(F)l(oundations)g(of)g(Computer)g(Scienc)n(e)p
Fk(,)h(pages)f(464{469,)i(1990.)33 b(It)301 1795 y(sho)o(wn)18
b(that)f(randomization)i(helps)e(in)g(coloring)i(a)e(graph)g(in)h(an)f
(online)h(manner)e(and)301 1867 y(the)22 b(randomized)g(online)h(algorithm)g
(is)g(quite)e(comp)q(etitiv)o(e)h(with)g(the)g(b)q(est-kno)o(wn,)301
1939 y(deterministic,)17 b(o\013-line)h(algorithm.)0 2053 y([VV85])151
b(U.)14 b(V.)g(V)l(azirani)h(and)h(V.)d(V.)h(V)l(azirani.)20
b(Random)15 b(p)q(olynomial)i(time)d(is)i(equal)f(to)g(semi-)301
2125 y(random)i(p)q(olynomial)i(time.)i(In)15 b Fj(Pr)n(o)n(c.)h(26th)i(A)o
(nn.)f(IEEE)h(Symp.)f(on)g(F)l(oundations)h(of)301 2198 y(Computer)g(Scienc)n
(e)p Fk(,)g(pages)f(417{428,)i(1985.)24 b(This)18 b(pap)q(er)f(analyzes)g(of)
g(the)f(b)q(eha)o(vior)301 2270 y(of)d(randomized)h(algorithms)g(where)f(p)q
(erfectly)f(random)h(sources)g(are)g(substituted)g(with)301
2342 y(sources)j(whic)o(h)f(ha)o(v)o(e)f(small)i(bias)h(and)e(dep)q(endence.)
f(It)g(sho)o(ws)i(that)g(if)f(a)g(problem)h(can)301 2414 y(b)q(e)21
b(solv)o(ed)f(b)o(y)g(a)h(p)q(olynomial-time)i(Mon)o(te)c(Carlo)j(algorithm)g
(whic)o(h)f(has)g(access)f(to)301 2487 y(a)i(true)e(source)h(of)g
(randomness,)h(the)e(the)h(same)g(problem)g(can)g(b)q(e)f(solv)o(ed)h(using)i
(an)301 2559 y(arbitrarily)c(w)o(eak)d(semi-random)h(source.)938
2828 y(160)p eop
bop 0 195 a Fk([VV89])151 b(U.)17 b(V.)g(V)l(azirani)i(and)f(V.)f(V.)g(V)l
(azirani.)27 b(The)17 b(t)o(w)o(o-pro)q(cessor)i(sc)o(heduling)g(problem)f
(is)301 267 y(in)e(random)g(NC.)j Fj(SIAM)d(Journal)g(on)h(Computing)p
Fk(,)e(18\(6\):1140{114)q(8,)j(1989.)j(An)14 b(e\016-)301 340
y(cien)o(t,)h(randomized,)g(parallel)j(solution)f(to)f(the)f(w)o(ell-studied)
h(t)o(w)o(o-pro)q(cessor)h(sc)o(hedul-)301 412 y(ing)h(problem)e(is)h(presen)
o(ted.)0 526 y([vzG89])139 b(J.)12 b(v)o(on)f(zur)h(Gathen.)i(T)l(esting)f(p)
q(erm)o(utation)g(p)q(olynomials.)j(In)c Fj(Pr)n(o)n(c.)g(30th)h(A)o(nn.)h
(IEEE)301 598 y(Symp.)19 b(on)h(F)l(oundations)g(of)f(Computer)g(Scienc)n(e)p
Fk(,)h(pages)f(88{98,)h(Researc)o(h)d(T)l(riangle)301 670 y(P)o(ark,)e(NC,)g
(Octob)q(er)g(1989.)i(IEEE)e(Computer)h(So)q(ciet)o(y)f(Press.)20
b(The)15 b(author)h(presen)o(ts)301 742 y(a)k(randomized)f(algorithm)i(for)e
(testing)g(whether)g(a)g(giv)o(en)g(p)q(olynomial)j(o)o(v)o(er)17
b(a)j(\014nite)301 814 y(\014eld)d(with)g Fh(q)h Fk(elemen)o(ts)d(is)i(a)g(p)
q(erm)o(utation)g(p)q(olynomial)i(in)e(exp)q(ected)e Fh(O)q
Fk(\()p Fh(q)r Fk(\))h(time.)0 928 y([vzG91])139 b(J.)22 b(v)o(on)g(zur)g
(Gathen.)38 b(T)l(ests)23 b(for)f(p)q(erm)o(utation)h(p)q(olynomials.)41
b Fj(SIAM)23 b(Journal)g(on)301 1000 y(Computing)p Fk(,)g(20\(3\):591{602)q
(,)i(June)d(1991.)38 b(An)21 b(elemen)o(t)g(of)h(a)f(\014nite)h(\014eld)g
Fh(F)1822 1007 y Ff(q)1841 1000 y Fk([)p Fh(x)p Fk(])e(is)301
1073 y(called)k(a)f Fj(p)n(ermutation)g(p)n(olynomial)28 b
Fk(if)23 b(the)g(mapping)h Fh(F)1409 1080 y Ff(q)1452 1073
y Fg(!)h Fh(F)1559 1080 y Ff(q)1600 1073 y Fk(induced)e(b)o(y)f(it)h(is)301
1145 y(bijectiv)o(e.)16 b(A)g(probabilistic)j(algorithm)f(for)f(testing)g
(this)g(prop)q(ert)o(y)f(is)h(giv)o(en.)0 1259 y([vzGS92])112
b(J.)18 b(v)o(on)g(zur)g(Gathen)h(and)g(V.)e(Shoup.)27 b(Computing)20
b(F)l(rob)q(enius)f(maps)g(and)g(factoring)301 1331 y(p)q(olynomials.)k(In)15
b Fj(Pr)n(o)n(c.)g(24th)h(A)o(nn.)h(A)o(CM)f(Symp.)g(on)h(The)n(ory)e(of)i
(Computing)p Fk(,)e(pages)301 1403 y(97{105,)k(Victoria,)e(B.C.,)e(Canada,)j
(Ma)o(y)e(1992.)23 b(A)16 b(probabilistic)k(algorithm)e(for)f(fac-)301
1475 y(toring)i(univ)m(ariate)f(p)q(olynomials)i(o)o(v)o(er)c(\014nite)h
(\014elds)g(is)h(presen)o(ted)e(whose)h(asymptotic)301 1548
y(running)h(time)e(impro)o(v)o(es)g(up)q(on)h(previous)g(results.)0
1661 y([W)l(ei78])144 b(B.)18 b(W.)g(W)l(eide.)28 b Fj(Statistic)n(al)20
b(Metho)n(ds)f(in)h(A)o(lgorithmic)g(Design)g(and)g(A)o(nalysis)p
Fk(.)27 b(PhD)301 1733 y(thesis,)33 b(Computer)28 b(Science)g(Departmen)o(t,)
j(Carnegie-Mellon)g(Univ)o(ersit)o(y)l(,)g(Pitts-)301 1806
y(burgh,)22 b(P)l(A,)e(Rep)q(ort)h(CMU-CS-78-142,)j(1978.)35
b(An)20 b(early)h(surv)o(ey)f(of)h(probabilistic)301 1878 y(algorithms)e(and)
e(analysis.)0 1992 y([W)l(el83])144 b(D.)21 b(J.)f(A.)g(W)l(elsh.)36
b(Randomized)21 b(algorithms.)37 b Fj(Discr)n(ete)22 b(Appl.)g(Math.)p
Fk(,)f(5:133{146,)301 2064 y(1983.)40 b(This)23 b(is)f(a)g(w)o(ell-written)i
(in)o(tro)q(duction)f(to)f(randomized)h(algorithms.)g(W)l(elsh)301
2136 y(discusses)e(probabilistic)h(algorithms)g(for)d(c)o(hec)o(king)g(p)q
(olynomial)j(iden)o(tities,)f(primal-)301 2208 y(it)o(y)l(,)c(matrix)h(and)g
(p)q(olynomial)i(m)o(ultiplication,)f(and)f(deciding)h(whether)d(a)i(graph)g
(has)301 2281 y(a)e(p)q(erfect)e(matc)o(hing.)h(The)h(w)o(ork)f(also)h(con)o
(tains)g(a)g(nice)f(discussion)i(on)f(random)g(p)q(oly-)301
2353 y(nomial)i(time,)e(random)h(log-space,)g(and)g(the)f(probabilisti)q(c)i
(hierarc)o(h)o(y)l(.)0 2467 y([WVZT90])73 b(K.-Y.)16 b(Whang,)h(B.)e(T.)h(V)l
(ander-Zanden,)h(and)g(H.)e(M.)h(T)l(a)o(ylor.)22 b(A)16 b(linear-time)i
(proba-)301 2539 y(bilistic)c(coun)o(ting)f(algorithm)h(for)d(database)i
(applications.)k Fj(A)o(CM)c(T)l(r)n(ans.)f(on)i(Datab)n(ase)301
2611 y(Systems)p Fk(,)25 b(15\(2\):208{229,)j(Sept)23 b(1990.)43
b(A)22 b(probabilisti)q(c)j(tec)o(hnique)e(called)h(linear)938
2828 y(161)p eop
bop 301 195 a Fk(coun)o(ting,)19 b(based)g(on)f(hashing,)i(for)e(coun)o(ting)
h(the)e(n)o(um)o(b)q(er)g(of)i(unique)f(v)m(alues)h(in)f(the)301
267 y(presence)e(of)g(duplicates)i(is)f(presen)o(ted)e(in)i(this)g(pap)q(er.)
0 379 y([Wyl79])136 b(J.)11 b(C.)h(Wyllie.)i(The)e(complexit)o(y)f(of)g
(parallel)j(computation.)h(T)l(ec)o(hnical)d(Rep)q(ort)f(TR)h(79-)301
451 y(387,)19 b(Departmen)o(t)d(of)i(Computer)g(Science,)e(Cornell)j(Univ)o
(ersit)o(y)l(,)e(Ithaca,)g(NY,)f(1979.)301 523 y(Wyllie)23
b(conjectures)f(that)g(there)f(is)i(no)f(optimal)i(sp)q(eed-up)e(parallel)i
(algorithm)g(for)301 596 y Fh(n=)8 b Fk(log)k Fh(n)17 b Fk(pro)q(cessors)i
(for)f(the)f(problem:)25 b(Giv)o(en)17 b(a)h(link)o(ed)g(list)h(of)f(length)h
Fh(n)p Fk(,)e(compute)301 668 y(the)c(distance)g(of)g(eac)o(h)f(elemen)o(t)f
(of)i(the)g(link)o(ed)g(list)g(from)g(the)f(end)h(of)g(the)f(list.)h(Ho)o(w)o
(ev)o(er,)301 740 y(Vishkin)h(sho)o(w)o(ed)e(that)h(suc)o(h)f(optimal)h(sp)q
(eed-up)g Fj(c)n(an)g Fk(b)q(e)f(obtained)i(via)f(randomization)301
812 y(\(see)j(Section)h(4\).)0 924 y([Y)l(ao79])144 b(A.)18
b(C.)g(Y)l(ao.)28 b(The)18 b(complexit)o(y)g(of)h(pattern)f(matc)o(hing)h
(for)g(a)f(random)h(string.)29 b Fj(SIAM)301 996 y(Journal)16
b(on)h(Computing)p Fk(,)e(8\(3\):368{387,)j(August)d(1979.)21
b(Y)l(ao)15 b(pro)o(v)o(es)f(that)h(the)g(mini-)301 1068 y(m)o(um)c(a)o(v)o
(erage)h(n)o(um)o(b)q(er)f(of)i(c)o(haracters)e(whic)o(h)i(need)e(b)q(e)h
(examined)g(in)h(a)f(random)h(string)301 1141 y(of)18 b(length)f
Fh(n)g Fk(for)g(lo)q(cating)i(patterns)f(of)f(length)g Fh(m)p
Fk(,)f(in)i(an)f(alphab)q(et)i(with)e Fh(q)i Fk(sym)o(b)q(ols,)301
1213 y(is)d Fh(\022)q Fk(\()p Fg(d)p Fk(log)477 1225 y Ff(q)496
1213 y Fk(\()520 1193 y Ff(n)p Fd(\000)p Ff(m)p 520 1201 81
2 v 527 1230 a Fl(ln)5 b Ff(m)613 1213 y Fk(+)j(2\))p Fg(e)p
Fk(\))15 b(if)g Fh(m)f Fg(\024)f Fh(n)h Fg(\024)g Fk(2)p Fh(m)h
Fk(and)g Fh(\022)q Fk(\()1229 1185 y Fd(d)p Fl(log)1290 1193
y Fe(q)1313 1185 y Ff(m)p Fd(e)p 1229 1201 132 2 v 1279 1230
a Ff(m)1365 1213 y Fh(n)p Fk(\))g(if)g Fh(n)f(>)g Fk(2)p Fh(m)p
Fk(.)g(This)i(con\014rms)301 1285 y(Kn)o(uth,)g(Morris,)h(and)f(Pratt's)h
(conjecture)e(in)i([KMP77].)0 1397 y([Y)l(ao83])144 b(A.)22
b(C.)h(Y)l(ao.)40 b(Lo)o(w)o(er)23 b(b)q(ounds)h(b)o(y)e(probabilistic)j
(argumen)o(ts)e(\(extended)f(abstract\).)301 1469 y(In)17 b
Fj(Pr)n(o)n(c.)h(24th)g(A)o(nn.)h(IEEE)f(Symp.)g(on)h(F)l(oundations)g(of)f
(Computer)g(Scienc)n(e)p Fk(,)h(pages)301 1541 y(420{428,)24
b(1983.)35 b(Though)22 b(not)f(a)g(pap)q(er)g(on)f(probabilisti)q(c)j
(algorithms,)g(this)e(pap)q(er)301 1614 y(illustrates)g(the)e(p)q(o)o(w)o(er)
g(of)g(probabilistic)j(argumen)o(ts)d(b)o(y)f(pro)o(ving)i(lo)o(w)o(er)f(b)q
(ounds)h(for)301 1686 y(three)c(imp)q(ortan)o(t)h(problems.)0
1797 y([Y)l(ao91])144 b(A.)23 b(C.)g(Y)l(ao.)42 b(Lo)o(w)o(er)23
b(b)q(ounds)i(to)f(randomized)f(algorithms)j(for)d(graph)h(prop)q(erties.)301
1870 y Fj(Journal)17 b(of)g(Computer)g(and)g(System)g(Scienc)n(es)p
Fk(,)g(42:267{287,)h(1991.)k(Y)l(ao)16 b(sho)o(ws)h(that)301
1942 y(\012\()p Fh(n)p Fk(\(log)11 b Fh(n)p Fk(\))536 1910
y Fb(1)p 528 1916 31 2 v 528 1937 a(12)566 1942 y Fk(\))18
b(edges)h(m)o(ust)f(b)q(e)g(examined)g(b)o(y)g(an)o(y)h(randomized)g
(algorithm)h(\(as)f(op-)301 2014 y(p)q(osed)13 b(to)g(\012\()p
Fh(n)573 1996 y Fl(2)593 2014 y Fk(\))f(b)o(y)g(an)o(y)f(deterministic)i
(algorithm\))h(for)f(determining)f(an)o(y)g(non-trivial)301
2086 y(monotone)19 b(graph)g(prop)q(ert)o(y)l(.)e(An)g(earlier)i(v)o(ersion)f
(of)g(this)h(pap)q(er)f(app)q(eared)h(in)f Fj(Pr)n(o)n(c.)301
2159 y(28th)g(A)o(nn.)g(IEEE)f(Symp.)g(on)h(F)l(oundations)g(of)g(Computer)f
(Scienc)n(e)p Fk(,)h(1987.)0 2270 y([YL91])158 b(M.)15 b(Y)l(annak)m(akis)h
(and)g(D.)e(Lee.)19 b(T)l(esting)d(\014nite)g(state)f(mac)o(hines)g
(\(extended)f(abstract\).)301 2342 y(In)23 b Fj(Pr)n(o)n(c.)g(23r)n(d)g(A)o
(nn.)i(A)o(CM)e(Symp.)h(on)g(The)n(ory)f(of)h(Computing)p Fk(,)i(pages)e
(476{485,)301 2415 y(New)18 b(Orleans,)h(LA,)f(Ma)o(y)g(1991.)29
b(A)18 b Fj(che)n(cking)j(se)n(quenc)n(e)f Fk(for)e(a)h(\014nite)g(state)f
(mac)o(hine)301 2487 y Fh(A)j Fk(ha)o(ving)h Fh(n)g Fk(states)f(is)i(an)e
(input)h(sequence)e(that)i(distinguishes)i Fh(A)d Fk(from)g(all)i(other)301
2559 y(mac)o(hines)g(with)g Fh(n)g Fk(states.)g(In)f(addition)j(to)e(some)f
(other)h(results)g(on)g(testing)h(\014nite)301 2631 y(state)h(mac)o(hines,)g
(the)f(authors)i(presen)o(t)d(a)i(simple)g(randomized)f(p)q(olynomial)j(time)
301 2704 y(algorithm)18 b(that)d(constructs)h(with)g(high)h(probabilit)o(y)g
(a)f(c)o(hec)o(king)e(sequence)h(of)g(length)938 2828 y(162)p
eop
bop 301 195 a Fh(O)q Fk(\()p Fh(pn)411 177 y Fl(4)441 195 y
Fk(log)10 b Fh(n)p Fk(\),)j(where)g Fh(p)h Fk(is)g(the)f(size)g(of)g(the)g
(input)h(alphab)q(et.)g(\(There)f(is)h(a)g(lo)o(w)o(er)f(b)q(ound)301
267 y(of)g Fh(pn)406 249 y Fl(3)438 267 y Fk(on)f(the)g(length)h(of)f(c)o
(hec)o(king)f(sequences;)h(previous)h(algorithms)h(are)e(exp)q(onen)o(tial)
301 340 y(in)17 b(general)g(or)g(w)o(ork)f(only)h(for)g(sp)q(ecial)g
(cases.\).)0 453 y([Zac88])149 b(S.)23 b(Zac)o(hos.)42 b(Probabilistic)26
b(quan)o(ti\014ers)d(and)h(games.)41 b Fj(Journal)24 b(of)f(Computer)h(and)
301 526 y(System)f(Scienc)n(es)p Fk(,)g(36:433{451,)i(1988.)36
b(This)22 b(pap)q(er)g(attempts)f(to)g(giv)o(e)g(a)g(uniform)301
598 y(picture)c(of)f(the)g(v)m(arious)i(p)q(olynomial)h(time)d(complexit)o(y)
g(classes.)0 711 y([Zip79])155 b(R.)22 b(Zipp)q(el.)39 b(Probabilisti)q(c)24
b(algorithms)h(for)d(sparse)g(p)q(olynomials.)42 b(In)21 b
Fj(ISSA)o(C)i('79:)301 784 y(Pr)n(o)n(c.)17 b(Int'l.)i(Symp.)f(on)h(Symb)n
(olic)g(and)f(A)o(lgebr)n(aic)h(Computation,)g Fk(Lecture)d(Notes)h(in)301
856 y(Computer)23 b(Science,)h(V)l(ol.)f(72.)g(Springer-V)l(erlag,)i(1979.)43
b(Zipp)q(el)24 b(discusses)g(proba-)301 928 y(bilistic)19 b(metho)q(ds)d(for)
g(testing)h(p)q(olynomial)i(iden)o(tities)e(and)g(prop)q(erties)g(of)f
(systems)g(of)301 1000 y(p)q(olynomials.)0 1114 y([Zuc90])146
b(D.)13 b(Zuc)o(k)o(erman.)h(General)g(w)o(eak)f(random)g(sources.)j(In)d
Fj(Pr)n(o)n(c.)g(31st)i(A)o(nn.)g(IEEE)f(Symp.)301 1186 y(on)j(F)l
(oundations)f(of)g(Computer)g(Scienc)n(e)p Fk(,)g(pages)g(534{543,)h(1990.)j
(A)15 b(pseudo-random)301 1259 y(generator)h(that)f(dep)q(ends)g(only)h(on)f
(a)g Fj(we)n(ak)i(r)n(andom)e(sour)n(c)n(e)g Fk(is)g(exhibited.)g(By)f(a)h(w)
o(eak)301 1331 y(random)f(source)f(it)g(is)h(mean)o(t)e(that)i(the)e(source)h
(is)h(ask)o(ed)f(only)g(once)g(for)g Fh(R)h Fk(random)f(bits)301
1403 y(and)19 b(the)f(source)g(outputs)h(an)f Fh(R)p Fk(-bit)i(string)f(suc)o
(h)f(that)g(no)h(string)g(has)g(a)f(probabilit)o(y)301 1475
y(more)23 b(than)h(2)575 1457 y Fd(\000)p Ff(\016)q(R)672 1475
y Fk(of)f(b)q(eing)i(output,)g(for)e(some)g(\014xed)g Fh(\016)k(>)f
Fk(0.)d(This)h(pap)q(er)g(sho)o(ws)301 1548 y(ho)o(w)g(to)g(sim)o(ulate)g
Fj(RP)e Fk(using)j(a)f(string)g(from)f(a)h Fh(\016)r Fk(-source)f(in)h(time)f
Fh(n)1674 1529 y Ff(O)q Fl(\(log)5 b Ff(n)p Fl(\))1804 1548
y Fk(,)25 b(or)e(in)301 1620 y(p)q(olynomial)d(time)e(under)f(the)g
(Generalized)h(P)o(aley)f(Graph)h(Conjecture.)f(See)g([Zuc91)o(])301
1692 y(for)g(a)g(correction)f(to)h(a)f(result)h(in)g(this)g(pap)q(er.)0
1806 y([Zuc91])146 b(D.)14 b(Zuc)o(k)o(erman.)i(Sim)o(ulating)g(BPP)e(using)h
(a)g(general)g(w)o(eak)e(random)i(source.)i(In)d Fj(Pr)n(o)n(c.)301
1878 y(32nd)21 b(A)o(nn.)h(IEEE)f(Symp.)g(on)g(F)l(oundations)h(of)e
(Computer)h(Scienc)n(e)p Fk(,)i(pages)e(79{89,)301 1950 y(1991.)f(Using)c
(the)e(w)o(eak)g(random)h(source)g(de\014ned)f(in)h([Zuc90],)f(this)h(pap)q
(er)g(sho)o(ws)h(ho)o(w)301 2022 y(to)h(sim)o(ulate)g Fj(BPP)g
Fk(and)g(appro)o(ximation)h(algorithms)h(in)e(p)q(olynomial)i(time)d(using)i
(the)301 2095 y(output)f(from)f(a)h(suc)o(h)f(a)h(source.)938
2828 y(163)p eop eos end
userdict /end-hook known{end-hook}if
%%EOF