for us laymen, please explain BPP=P
Sure, it's possible to understand the exact definition as a layperson (I'm one too!) If I go too fast or am unintelligible, please let me know. If you want to further your understanding of complexity, I can try to explain more or better yet I can provide numerous links where professionals explain various aspects in layman's terms.
The symbols BPP and P refer to what are called complexity classes. A complexity class is simply a collection of problems. Usually we define a complexity class in terms of how much resources (time, memory, randomness) it takes to solve an instance of a problem, based on the size of the input.
So, for example, we can ask how much time it takes a computer to factor a number, where the input size is just the number of digits it takes to represent that number. This problem is interesting because it is suspected to be very hard on a classical computer (the one on your desktop, for example), yet there is an algorithm that makes it easy on a quantum computer (Shor's algorithm.) We could also the slightly different question of whether a given number is prime. Strangely, it turns out that this problem is easy on a classical computer; an algorithm was recently discovered that solves it in polynomial time. In other words, this problem is in P.
P, or polynomial time, is the complexity class that computer scientists dreamed up when they wanted to define what it means for a problem to be easy or hard. If you have a problem that can always be solved in less than A*(input length)^N + C number of steps, where A, N and C can be any constants, then the problem is in P. So, for example, suppose that you have to multiply two numbers using the normal grade school method and let X be the number of decimal digits in the largest number. The maximum number of additions and multiplications you have to do is 4X^2 (A=4, N=2, C=0), which proves that the problem of multiplying two numbers is in P.
Now for BPP, which is a little more confusing. BPP is the class of problems for which a probabilistic computer (one that can generate random numbers) can give the correct answer more than 2/3rds of the time, in polynomial time. The value 2/3 is arbitrary; A computer that gives the right answer 4/7ths of the time is almost as good, since we can raise the probability to greater than two thirds just by running the program twice. Similarly, if we want the right answer more than 2/3rds of the time, we just run the program several times in succession, which gets us exponentially close to a 100% right answer. Importantly, we have to explicitly state a value for the probability of a right answer, if we only dictate that the right answer be generated > 50% of the time, we actually get a gigantic complexity class much more powerful than P, or even NP. This is where we get the "bounded" means in bounded probabilistic polynomial time.
The field of complexity is rich and mysterious. The goal is nothing less than to understand the whole universe in computational framework. There is a long way to go. And you thought computer science was boring! Oh, wait...