Book contents
- Frontmatter
- Contents
- Preface
- I Tools and Techniques
- II Applications
- 8 Data Structures
- 9 Geometric Algorithms and Linear Programming
- 10 Graph Algorithms
- 11 Approximate Counting
- 12 Parallel and Distributed Algorithms
- 13 Online Algorithms
- 14 Number Theory and Algebra
- Appendix A Notational Index
- Appendix B Mathematical Background
- Appendix C Basic Probability Theory
- References
- Index
14 - Number Theory and Algebra
from II - Applications
Published online by Cambridge University Press: 05 March 2013
- Frontmatter
- Contents
- Preface
- I Tools and Techniques
- II Applications
- 8 Data Structures
- 9 Geometric Algorithms and Linear Programming
- 10 Graph Algorithms
- 11 Approximate Counting
- 12 Parallel and Distributed Algorithms
- 13 Online Algorithms
- 14 Number Theory and Algebra
- Appendix A Notational Index
- Appendix B Mathematical Background
- Appendix C Basic Probability Theory
- References
- Index
Summary
The theory of numbers plays a central role in several areas of great importance to computer science, such as cryptography, pseudo-random number generation, complexity theory, algebraic problems, coding theory, and combinatorics, to name just a few. We have already seen that relatively simple properties of prime numbers allow us to devise k-wise independent variables (Chapter 3), and number-theoretic ideas are at the heart of the algebraic techniques in randomization discussed in Chapter 7.
In this chapter, we focus on solving number-theoretic problems using randomized techniques. Since the structure of finite fields depends on the properties of prime numbers, algebraic problems involving polynomials over such fields are also treated in this chapter. We start with a review of some basic concepts in number theory and algebra. Then we develop a variety of randomized algorithms, most notably for the problems of computing square roots, solving polynomial equations, and testing primality. Connections with other areas, such as cryptography and complexity theory, are also pointed out along the way.
There are several unique features in the use of randomization in number theory. As will soon become clear, the use of randomization is fairly simple in that most of the algorithms will start by picking a random number from some domain and then work deterministically from there on. We will claim that with high probability the chosen random number has some desirable property. The hard part usually will be establishing this claim, which will require us to use non-trivial ideas from number theory and algebra.
- Type
- Chapter
- Information
- Randomized Algorithms , pp. 392 - 428Publisher: Cambridge University PressPrint publication year: 1995