Introducing Probability into Chip Design
prostoalex writes "The August issue of Intel Developer Update has an interview with Shekhar Borkar, Intel Fellow and Director of Circuit Research at Intel Corp. talking about the future of microprocessor design and what goes on inside Intel Labs. Borkar tells why we need even faster processors and how probability will make its way into future chip designs - "It's like the shift from Newtonian mechanics to quantum mechanics. We will shift from the deterministic designs of today to probabilistic and statistical designs of the future.""
Sorry could not resist.
UM, Ford. theres an infinite number of monkeys outside that want to talk to us about a script for hamlet they've hammered out. PROBABILITY FACTOR OF 1 to 1: any other problems are your own lookout.
"We will shift from the deterministic designs of today to probabilistic and statistical designs of the future"
Doesn't branch predictions in current processors use probabilities already?
Beware: In C++, your friends can see your privates!
Software always had it. User: "It'll *probably* work" "It *should* work" If hardware gets more, software needs less...
'cause if intel is gonna make a processor that's in a way kinda right most of the time...i'm going for the green stuff instead :-)
like the shift from Newtonian mechanics to quantum mechanics
Why do I have the idea of an apple being thrown by the Newtonian mechanics to the Quantum mechanics (or an apple throw fest between to two groups)?
For example, if you take a thousand samples of Intel(R) Pentium(R) 4 processors
Did anyone else stop reading the article at that point? Nothing like an (R) to completely destroy the flow of an article.
Thanks Intel(R)!
.999... is exactly equal to 1. To the non-believers out there, consider that 1/3 = .333..., and that 1/3 + 1/3 + 1/3 = 1.
Warning: Opinions known to be heavily biased.
how are we going to fit a restaurant into my computer... I barely have room for my tower in my apartment as it is...
flinging poop since 1969
...back in the heady days of Concurrent Computer their top-of-the-line 3280 processor has "usual branch" instructions. The compiler could use the usual branch instructions to provide hints about the probability of the branch being taken to the processor. In a loop, for instance, you'd use a "usual branch not equal" (UBNE) instruction to send execution back to the top. This would indicate to the processor that it should preemptively invalidaate the cache and pipeline.
I'm sure many mainstream processors have this now, but it's funny to think that CCUR had this technology in the late 1980's.
Tiller's Rule: Never use a word in written form that you've only heard and never read. You will end up looking foolish.
If HT is like "SMP on a chip", is this technology like a "cluster on a chip"? I'm having trouble grasping the concept.
Hey, this is nothing new as anyone who owned an original Pentium can tell you. It probably gave you the right answer, except for the occassional FDIV.
In the interview, a lot of things have been left out. The topic is first and foremost old. It goes back to the 80s. Statistical variations have always been taken into account by using worst cases. Problem is that the worst case approach sucks in the latest technologies, so more sophisticated methods have to be used. There has been a lot of research in the last 10 years (Check american, german, and italian universities, just to name few).
Also, the problem is old, meaning that analog designers had to deal with these problems since the early stages (example: the offset in the operational amplifiers is caused by transistor performance mismatch). Now, digital designs are affected too. First on the clocking network and now all the rest. Furthermore, it is widely known (in the community) that interconnect variations are of the same order of magnitude of the device (i.e. transistor)performance variations, and on the top of that dynamic effects (like cross talk) may severely affect the performance.
I don't agree with him on the fact that all the variations are gaussian, there is plenty of literature that states the contrary, and major chip makers know it very well.
Last but not least, there are already tools that deal with statistical variations, although none of them can handle a microprocessor, as they are mostly circtuit simulation-based. All in all, the good news is that awareness is spreading thru the designers.
Didn't intel already do this whith the original Pentium?
Read, L
... for extremely large values of 1.
...through spontaneous crashes
you may find the Higgs in this signature.
I've been preaching this sort of thing for years, only in programming design. Today's deterministic boolean-based programming is ridiculous. Why not introduce a third result state for logical comparisons? One that is, to quote the article, probabilistic and statistical? I've been doing a lot of work on this and have, in fact, written a few patches to gcc just to test the theory.
The only problem I've wrestled with involves where to add the tertiary instances to the gate. Should it be in the boolean result itself? IF (TRUE) then DO... where TRUE could actually mean "TRUE or Possibly TRUE". Or, should we add it after the comparison... IF (TRUE) then POSSIBLY DO.
The logic of having a conjecture-based system is something we should have had from the start. This could save us countless boolean comparisons. It not only forces us to write better code, but it keeps us always on our toes.
I've given a number of talks to regional computer science classes at major universities about this subject. I always bring up the simple analogie: Is TRUE in fact TRUE? Well, yes -- maybe.
How is this like the transition from newton to quantum mechanics? Hasn't computing always been quantized? I for one would love to see a change form quantum type computing to newton type computing using smooth instead of discrete. Ready for infinite FPS? How about ultra-realistic physics models? It seems to me like this intel fellow is merely riding the quantum-this quantum-that hype.
Quid festinatio swallonis est aetherfuga inonusti?
Africus aut Europaeus?
Kinda like we've been releasing software that "probably" works for the past 40 years?
It's good to see computer engineering is finally catching up with computer science!
Does this mean that the new bargain line for intel will have a higher stardard deviation to its error? Imagine buging a 5 p/m 3 ghz chip. This could be big for overclockers. Perhaps that three gig chip was mislabeled and you have an eight ghz model on your hands ...
Use the Firehose to mod down Second Life stories!
This will make HAL even worse:
OPEN the DOOR HAL!
Proberbly not, Dave
Infinitely Improbable!
Great, for 50 years people have been saying "computers can never make mistakes" and while allot of hardware and software has been designed like shit and does make mistakes (FDIV Pentium) atleast it makes consistent mistakes. Does this mean that a=b will sometimes be a=c? Will computers sometimes make mistakes just like humans? Or am i talking total crap.. probably.
This comment does not represent the views or opinions of the user.
Maybe now they can probabalisticly determine themselves a 64 bit chip with good x86 32 bit compatiblity :)
Soon we will have improbability chips powering our processes! It will take us where ever we need to with out even a graphics card or ram! That is until some odd white robots come and take our chips away. Damn Kricket bots!
from the interview...
Look at the whole proactive computing model, where computers will anticipate our needs and sometimes take action on our behalf. That's one.
so I can relax and count on my Opera v40 to post the first post for me?
Can someone translate the marketing/director speak? What is he trying to say exactly?
To me it sounds like that future designs will chosen because they are 'probably' going to produce faster chips? He's not actually discussing leaps in the manufacturing of processors, or material science...or anything.
Isn't probability already a part of chip design.
"Our new P4 has a 40% probability of being out in May, a 20% chance of being out in June..."
___
It's the end of my comment as I know it and I feel fine.
I believe the kind of probabalistic computing Intel's talking about is analagous to error correction. On your average data CD about 15% of the bits are redundant and devoted to error correction. This reduces the probability of erroneously reading the CD, although the probability of error is still non-zero. Same deal with ECC memory. I'm guessing Intel is looking at ways to apply that kind of trick to the computational logic.
--- Often in error; never in doubt!
give these guys a chance
oh wait
Listen to that guy. He just GETS it.
/. do, and contribute all their mind and skills and time to furthering open-source and other efforts, and that is very commendable.
:)
I am actually, to some extent, inspired by that article. Corporate BS policies aside, whatever you think of Intel or AMD or any other company as a company, as a political entity, or as a producer or consumer goods, you still have to feel good that there are people like that, people that just GET the overriding vision of advancing technology, and are actively working to advance it.
I don't have time advance technology much in my current job. I don't have the mind or the skills or the time for boundary-pushing endeavors. Some at
But as we often lament, it sometimes seems like the Big Boys don't have the same spark. Let's not forget that somewhere within the pudge of even the fattest multinational technology company, there are brilliant, passionate minds working to further everything we hold dear. These are people who aren't just brilliant scientists or passionate geeks -- they're both. And they're on our side.
It's all in the Brownian motion, baby.
- Pithy comment goes here.
I hope they call their next chip the Beeblebrox...
jason
jason
Have a good day?! Impossible! I'm at work!
Just get a muffin and a cup of tea, that seemed to work fine in the hitchikers guide to the galaxy as for probabilistic designs. Although don't try it out at too massive starships and such, as we've learned that it could be an bad idea (ref. starship titanic).
1/3 = .333...
That works fine to smooth over the intricacies of infinite series when teaching 12 year olds, but stating it doesn't make it true any more than you're desire to believe in Santa made him true at the the appropriate age.
And we'll all be traveling in flying cars while eating meals in pill form!!
No wonder we'll need faster processors. The more times you run the same calculation, the more certain you can be of the result. For critical applications that need 10-20 sigma reliablility, we'll need very fast processors indeed.
The previous uses of probability in cpu chip design have been based on statistical analysis of branching, etc.--if you are branching every 7th instruction vs branching on every 8th instruction (on average), with exceptional strings of 10 vs 13 instructions (on average, with some statistical level of occurance) before branching effects how you make optimum use of your buffers, caches, etc internally to the processor. This is how you design a processor for optimum performance on a given program mix. Thus, IBM probably uses slightly different optimization for a workstation, a server and a desktop cpu based on analysis of this sort, to maximize the probability ofthe maximum number of code steps being executed in a given amount of time.
This is a totally different type of statistical optimization. When you get to a certain size scale, it is no longer permissible to think of the "p-layer" or the "n-layer" in a transistor in conventional terms, and you have to start using quantum mechanics (which is a probability theory, which is part of the reason it is so often badly misunderstood) and think in terms of assemblages of atoms. They probably make some simplifying assumptions (I am not familiar with their methods), since a full blown quantum mechanical treatment would be mathematically intractable. So what he is talking about is considering, statistically, what happens if we make this transistor 1 atom longer on this side of the gate: look at heat dissipation versus clock speed, and the probability of some sort of error occuring (an important quantum statistic now), all considered against foundry yields, etc. You play modelling games like this against different designs (e.g., different numbers of different types of transistors to make a given logic element type, etc.), and hopefully a sweet spot emerges from the analysis.
This gives more factors to look at in the mix of considerations that go into deciding how to make chips with good longevity and reliability, and which deliver a high level of performance at an affordable price. Now, the fabrication process has reached the level where you have to make some accomodations to quantum statistics to produce reasonable yields of the high speed parts you want for the general market place.
There's another theory that's called the Chaos Theory and given that anything left unguarded will most likely go haywire or be vulnerable in it's unguarded state, I'm not sure I'm a fond believer of the 0.00009 error margin.
What about compounding the problem though time? Isn't it remotely possible that we could be slowly adding to the problem instead of just remaining status quo? The news that companies like Intel release to the general public have to do with current technology and not compounded problems with technology. Isn't it possible that the flaw can accumulate through time and with the changing of the guard (The older scientists leaving and the newer scientists picking up the slack) that there could be some loss of information concerning the acceptable flaws of the chip designs?
I know that when my computer crashes it isn't because the probability error factor kicked in, but more likely that my computer did what it could do given the circumstances of it's invention. The human body isn't perfect either and nothing we could possibly invent could ever be perfect. How can we expect our computer chips to be? It's nothing more than human after all.
QD
I've heard that 0,99999.. is 1 before, and it just doesn't make sense - theoretically those nines go on forever, so it's always an infinitely small (not zero!) part away from the next full number. Fractals and rounding errors don't convince me.
Random number generators are used in ASIC and FPGA logic placement and interconnect routing.
:)
The goal is to place and route logic in a way that meets the designer's timing and area constraints. The problem is that a deterministic algorithm for that is NP-complete. Instead of considering all possibilities, a number of randomly-generated possibilities are considered, with some ability to make adjustments when one is chosen.
The randomly-generated possibilities, of course, are not completely random -- it's a matter of multiple gates competing for the same fixed-location logic cell, etc. Who gets the one closest to where they all want to be? Where do you place the rest? What about others competing for THOSE locations? It's complicated.
Well, we've got to have probability processors before we can ever hope to make an Infinite Improbability Drive !
The really really old Floating point processors used Analog Computing to get trancendental functions. They would perform the "calculation" three times and average. I know that logs and exponentials were done with diodes.
But if you ran the same mathematical routine three or four times, the answers could be subtly different.
it wasnt until the late 60's that i saw actual taylor series expansion used for these functions.
What's the probability that I can afford one? 0.00000000000000000
---
Lousy rotten karmic retribution.
They should just paint the chip pink and put an SEP (Somebody Else's Problem) field around it - saves mucking about with all of that improbability stuff.
Since physical science (and by extrapolation, engineering) is built on a "reductionist" paradigm where every problem is broken to its simplest components & solved piecemeal at that level, it makes sense for a "probabilistic" approach to chip design to happen some time. Might as well be now.
But when we operate under the reductionist model, we forget emergent properties at the system level. In developing a "learning" system -- which again, I assume to be the overarching goal -- we have to learn to deal with variation. Situations are almost never exactly the same. In the beginning of a "learning" system, things probably (pun intended) do look random. But as special cases, exceptions, subtle cues, etc. are encountered by the system & incorporated into the decision-making process, things appear to become increasingly deterministic.
So, if a "probabilistic" chip design is implemented properly, it likely will look pretty "deterministic" to the end-user, who expects certain kinds of results.
The problem now is that the hardware is "deterministic" & any attempt to create a "probabilistic" learning system has to happen in software. Right now, the limit to AI, IMO, is simply that chips aren't even in the same league with neurons. "Learning" software built on "learning" hardware ought to be a pretty powerful concept.
Of course, this may just be a way to get around the fact that manufacturing may be pushing the limits for tight tolerances & probabilistic chip design is the only out. Whatever it takes to force a paradigm shift.
"Most places a paradigms won't buy you a cup of coffee..."
"Obviously, I'm not an IBM computer any more than I'm an ashtray" (Bob Dylan)
Oh, great. See Gerrold's _When HARLIE Was One_ to see what happens when you allow ten-state logic into your designs. :-)
x = 0.999...
10x = 9.999...
10x - x = 9x
9.999... - 0.999... = 9
9x = 9
x = 1
Your brain is not a computer.
Intel:
The addition is probably right.
Amd:
It will probably melt through your desk.
Me:
I will probably be modded to Hell.
The Kruger Dunning explains most post on
Its interesting that Intel is looking at moving into the laws of probability with chip design. Microsoft has been doing it for years with their operating system.
"We will shift from the deterministic designs of today to probabilistic and statistical designs of the future"
Statistics? There are lies, damn lies, and 824633702441(WARNING! STAT FLOATING POINT ERROR)
is that you don't relize that the editors don't read the article.probably.
The Kruger Dunning explains most post on
The article mentions the increasing productivity and quality of life that increasing speeds will bring. Yet computers are becoming noisier all the time, for some this is a reduction in their productivity and quality of life.
You are thinking of a finite number of nines. I'm thinking of an infinite number of nines.
You missed the parent's point that just because two things are infinite, doesn't make them equal. Some of them approach infinity at different rates, or are clearly larger or smaller than another. Infinity's just a handy notation, it is NOT an actual specific value.
There's a whole wonderful, nasty math of infinities out there for you to do a graduate degree in mathematics on. Saddle up and ride.
"You are in an abstract state. Both dead and alive. Press any key to open the door and really find out!"
/Alex
Bah.
I'm not talking about different functions approaching infinity at different rates.
I'm talking about the fact that 9.99999.... minus nine is exactly 0.99999.....
Therefore 9.99999..... minus 0.99999.... must be exactly 9.
The price of freedom is eternal litigation.
"Heisenberg may have slept here"
[100% ISO 646 Compliant]
SVM, ERGO MONSTRO.
Probably he means that, in the future, parts not approved by the quality control could be sold for users that doesn't use their computer too much. So, the probability of a malfuncion will be small enough to justify the high profits selling garbage.
just because two things are infinite, doesn't make them equal. Some of them approach infinity at different rates, or are clearly larger or smaller than another
I would like to see some references to different values of infinity please. That is like saying that one is not equal to one for different values of one.
There's a whole wonderful, nasty math of infinities out there for you to do a graduate degree in mathematics on
And I'd really like to hear what the authors of such works would have to say about the whole 1 = 0.999... discussion. After all, this is not new. This discussion was very old and settled when my high school math teacher taught it to me 25 years ago.
The price of freedom is eternal litigation.
Q4: What are some other applications that need more power?
Look at the whole proactive computing model, where computers will anticipate our needs and sometimes take action on our behalf. That's one.
When he said this, all I could think of was, yeah, computers need more power to run the heavy virus workload and still make them usable.
If two numbers are not equal, then you can pick a number between them.
Now try to do that with 0.99999... and 1.
Now if only we could get ROTL back, my RC5-72 speeds on my P4 would keep up with every other cpu out there.
Pretty Pictures!
Infinity is not a number; it's not a value...it's a concept. Go look on kuroshin and do a search for infinity...they had a article which explained it pretty decently.
-- Waht? Tehr's a preveiw buottn?
Take the "size" of two infinite sets as an example. The set of natural numbers is infinite as is the set of real numbers, but the set of natural numbers is countable, while the set of reals is not. They are both infinite but have a different cardinality.
Two things can be described as infinite but can have a different "size".
lim 1/x x-> 0 = [infinity]
lim 2/x x-> 0 = [infinity]
lim (2/x)/(1/x) x -> 0 = [infinity]/[infinity] = 2
Clearly, two infinites are not always equal, just like it is with any other number when we are considering a limit. In fact, I believe infinity itself is not a number, but a concept(the biggest number you can think of), and as such, we can only have numbers or values that approach it.
Similarly, for 1 = 0.999...
It seems that this is not the case. When the difference approaches 1/[infinity], it approaches 0+. However, 0+ != 0, and there still is a difference, an infinitely small one, but one none the less. To say that an infinitely small value is equal to zero would mean calculus can not exist. Integration and differentiation all rely on the fact that values that approach zero are not actually equal to 0, and can therefore be used as dividers(sp?) and multipliers.
It is incredibly easy for High School teachers to create misunderstanding regarding infinity since it is such a complex concept, and that given what they teach, such complexity is often not useful. Thankfully, my HS math teachers from 9th grade up were college teachers (eh... private HS+College), and forced us to twist our brains around it as much as they could.
Try Corewar @ www.koth.org - rec.games.corewar
Probabilistic/Quantum Computing: You buy a dual processor computer where a single CPU exists in both sockets at the same time.
He's not talking about non-deterministic computing. He's talking about ways to salvage the chip if one or more subcircuits don't function correctly. The article isn't very technical, but this probably alludes to having redundant circuits, possibly even taking the answer that the most redundant circuits produce.
I'm not a smart enough man to know whether or not this is feasible. Keep in mind that introducing these redundancy checks actually increases the "length" of the circuit, increasing propogation delays. If this system works at all, you can be certain that it will be very rigidly subjected to the law of diminishing returns.
-Roxton
They need this CPU to compute the probability of extinction of the human males.
...a processor that can has the probabilty necessary to support a DWIM (Do What I Mean) instruction!
Oh, say does that Star-Spangled Banner entwine / The myrtle of Venus with Bacchus's vine?
If A
If 0.99999... is truly less than 1, then please name me a number that falls in between these two.
The price of freedom is eternal litigation.
Let me try that again, this time, previewing first :_)
If A < B, then there must be some other number Z such that A < Z < B.
If 0.9999... is less than 1, then please name me a number that falls in between the two.
The price of freedom is eternal litigation.
... and wasn't it named "The Pentium floating point bug"??? Damn it, I don't want a chip that probably gives the right answer, I want a chip that deterministically gives the right answer!
"Freedom means freedom for everybody" -- Dick Cheney
Easy as can be. The average of those two numbers falls between them.
Why does there have to be such a Z?
Maybe you are thinking that if A is less than B then there exists some Z such that A + Z = B?
It's tea, duh. Someone didn't RTFB.
Not exactly.
The average of a and b (assuming b is the larger of the two, IF they are different at all), is a = avg = b. Note those equal to.
TODO: Something witty here...
Basic information theory tells us that certain complexity classes are only solvable in a reasonable amount of time on a non-deterministic turning machine.
Easy as can be. The average of those two numbers falls between them.
So what is that number?
From this web page, I got the following text....
Here's another enlightening argument from Burger . I never met anybody who thought 0.999... greater than 1. So, if it's not equal to 1, it is less than 1. Let's think of the average of 0.999... and 1. As an average of any two numbers, it's greater than 0.999... but is less than 1. Can we determine its decimal expansion? Say, what is its integer part. Since it's less than 1 but greater than 0 < 0.999..., its integer part is bound to be 0. What about its first decimal digit. Since 0.9 < 0.999..., that digit must be 9. And the second one? Since 0.99 < 0.999..., the second digit must also be 9. And so on. It appears like the average of 0.999... and 1 is 0.999... If the latter is denoted as X, (X + 1)/2 = X. X + 1 = 2X. X = 1. The conclusion can't be helped.
The price of freedom is eternal litigation.
I would like to see some references to different values of infinity please. That is like saying that one is not equal to one for different values of one.
0 %5C for a quick definition. If you want to learn more get a basic set theory book :)
There are aleph0, aleph 1 etc... check out http://dictionary.reference.com/search?q=aleph%20
Does 1/infinity = 0? no. It's allmost non-existant, but there's something happening. something keeps getting divided. the same with 0.9999.. it doesn't equal 1 because there's a little something missing, the same value as 1/infinity.
Please see these other proofs .
The price of freedom is eternal litigation.
Please see these other proofs .
The price of freedom is eternal litigation.
How do you know it's not 9/infinity? Or more appropriately 9/(10^infinity)? That's gone missing? Seems like someone who can do something with those crazy math "E's" should be stepping up.
One of your infinite series would have to have more 9's than the other to make your assertion true.
As long as you keep using the same definition of infinity everywhere, your equations are false. Otherwise, you are using two different "rates" of inifinity, which hides your other inequality (that 1 > 0.999...).
You err'ed with your first line...
"Let x be 0.999..."
This is most definitely NOT possible.
A non-complete can never be assigned.
That is like saying..."I'll go to infinity and bring you back some ice cream." I'm sorry, by logic the conditional expression will never be evaluated when dealing with infinity.
+1-1
So these processors will work but as quantum physics states we cannot know why, or will they just work in an alternate universe with threads to this? Very interesting but I smell some very unexpected results. Dissappearing sales revenues is first that comes to mind, rediculous developement costs is on the plate as well! I wish success but getting lead down blind vectors of developement will make it very expensive to execute, and produce product at reasonable costs.
OH THE SHAME I fell off the wagon and use sigs again!
...making windows completely reliable. and the only blue screen will display a huge "42".
-- There are two kind of sysadmins: Paranoids and Losers. (adapted from D. Bach)
1/90909 = 0? no
1/(10^infinity) = 0? no
but it's pretty close...
why would the inverse, 0.99999 = 1 if it just isn't. there's that really smally thingy that isn't there.
YHBT!!!!
1/3 is practically unrepresentable as a decimal in base 10. Therefore we've all agreed to the illusion that .33333... is the same thing as 1/3. We stop calculating because we all have much better things to do.
Otherwise actually slcing a pizza would take forever, which it demonstrably does not.
Unlike this discussion...
About the:
lim 1/x x-> 0 = [infinity]
lim 2/x x-> 0 = [infinity]
lim (2/x)/(1/x) x -> 0 = [infinity]/[infinity] = 2
First 1/x x-> 0 isn't equal to infinity. Its undefined because x -> 0+ = infinity and x -> 0- = -infinity.
Lets say we cange both with 0+
But (2/x)/(1/x) x -> 0 is equal to [infinity]/[infinity] but that gets you nowhere. That doesn't mean that because the equation can't be resolved in that state that the real solution (2) is equal to that unsolvable state.
It is just plain illogical to compare infinite with infinite. It's not smaller, not larger, not even equal.
I introduced probability into my Intel CPU very easily. I overclocked it... Now I have a good probability of it doing funny things and executing code in an order no one can predict! Hmm, talk about true random numbers!
- Voxel
Modesty is one of life's greatest attributes
The fact that the behaviour of a limiting sequence doesn't determine a particular behaviour of a limit is really interesting! But does it apply to limiting eveything over 0?
So the question herein lies, what happens when you shift an infinitely repeating decimal 1 place to the left? Does it magically gain a new decimal place on the right? This may happen, but that violates the basic laws of normal numbers.
Yes, it does. The strangeness of this principle of infinities is more clearly seen when you consider the problem of the infinite hotel.
Suppose there is a hotel with a countably (each room is numbered, 1 through infinity) infinite number of rooms, and every room is full. In the middle of the night a bus stops by with an infinite number of passengers. The bus driver asks the hotel manager if he has room for the new guests even though the hotel is full. The hotel manager says, "Sure, there's plenty of room." How does he fit the new guests?
There are a lot of solutions, but the simplest is just that every guest already in the hotel moves from room n to room 2*n. Then all the new guests fill in the odd numbered rooms (of which there are an infinite number).
This probably violates your common sense intuition, but that's because common sense intuition deals with finite numbers of things. If you think about it for a while, it makes sense for this to work in a hotel with an infinite number of rooms.
The idea of shifting all the 9's left one spot is the same thing. There are an infinite number of 9's to the right of them to fill in all the previous spots. If you go to the infinite hotel, kick out the guest in room 1, and ask all the other guests to move from room n to room n-1, then all your rooms are full again, even though you have one less guest.
They experimented years ago with this under the guize of the famous "Floating Point" bug!
Basically this guy is saying that the variance of transistor parameters will increase in the futute, so more attention must be paid to circuit design to avoid producing a lot of chip that perform poorly. People already use monte carlo sims to determine the effects of process variation in analog designs, and to bound digital design performance. Digital circuit designers must look at new ways to overcome the issue of transistor performance variations, rather than accepting them as inevitable is the message, I believe.
Vote for Pedro
I guess the design is supposed to be such that a chip with a flawed transistor, something which is likely to occur with hundreds of millions of transistors, still works flawlessly, after some extensive factory checking. That is to say, there is some sort of redundancy in the architecture. I can hardly imagine any OS working correctly if some part of the chip architecture doesn't work.
Before Zaphod Beeblebrox steals it!
To learn and play with these concepts, there exists a powerful programming language, named IBAL ("eyeball") that uses fuzzy logic instead of deterministic logic for branching.
One defines probabilities of outcome for the values of each custom type, and IBAL calculates a probability distribution over the program outputs.
To help in this, IBAL includes a powerful probabilistic inference motor, that enables a model to "learn" (i.e adjust probabilities) from input.
One could do all sorts of powerful IA applications, like speech or writing recognition, smart GUI, or simply bayesian mail filtering, with this language.
http://www.eecs.harvard.edu/~avi/IBAL/
Probably.
Maybe.
Will I be
Oh, that's a certainty.
Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
How can one compute the average of 1 and 0.9999... ?
.
The only possible answer is if 0.999... == 1 , else, 0.999.../2 is pretty meaningless. One cannot compute it, one has to define it in the same manner as 0.4999... == 0.5
1 and 0.999... are separated by an infinitely small difference. What is an infinitely small difference ? It's a number that is smaller than any other number one can imagine (in absolute value). There is only one such number, and it's 0. Therefore 1 and 0.999... are the same number.
As much as 1/3 == sum (n = 1..inf) of 3/10^n
1 == sum (n = 1..inf) of 9/10^n
These are called Cauchy sequences.
If 0.99999... is truly less than 1, then please name me a number that falls in between these two.
I'm not saying you're wrong - I in fact agree with you - I'm just saying your proof was a little sketchy.
Now he can say that your windows crash has 50% to do with your CPU choosing not to compute.
The best planning can be done after the project completes.
Theorems are crap. It's just a word used to creatively disguise people as having some sort of grasp on the way things work. The fact that this world survives ignorance by believing in a defined and unchallenged form of mathematics is astounding. Who, or what, is to determine the essence of mathematics? Mathematics itself is a theorem. It's a concept, a religious belief even. It can be twisted and distorted in so many fashionable ways until finally you're left to question the very subsistence of whatever you happen to be putting into equation.
Math, my fellow slashdotters, is a tool much like the Swiss Army Knife. While highly functional and infinitely flexible, it can't save you from choking on those delightful honey-roasted peanuts.
on the sixth day God created man.
on the seventh day, man returned the favor.
Wrong. There are several proofs of this here. It's counter-intuitive, but it's what you get when you accept things like infinite decimal expansions.