The power of the things we build

Say Uncle wrote about our exobrains this morning then I went to work today and worked on the operating system for one. I fired off a build of the software and I happily noted that the CPU usage on the eight 3 GHz processors went to 98%. It pretty much stayed there for most of the two to three hours it took to do a build. The CPUs get some rest when it’s writing a bunch of stuff to disk but still it’s an impressive amount of CPU cycles being burned.

Then I wondered just how impressive is it? What does it really mean?

That computer can add 20 numbers together in the time it takes for light to travel one foot.

Eight 3 GHz processors are doing something on the order of 20 billion operations per second. And those “operations” aren’t exactly trivial. Each operation is something like an addition, subtraction, multiplication, reading or writing a number. And those aren’t just numbers like 0 through 10. The CPU can handle any number in the range from -2147483648 to +2147483647 just as easily as it can from -10 to +10. And while it is doing that it can keep up a running commentary telling me what it is doing at a rate that is far to fast for me to keep up.

Imagine you have every man, woman and child on this planet (about six billion) working on the same task they couldn’t even do the raw arithmetic let along the communication and coordination at a rate that is even 1/100th of what the little box under my desk can do. I have the brain power (for some tasks) exceeding the capacity of several earth-like planets complete sentient population at my disposal.

The exobrain of today is only about one 1/3 of a planets worth–but that isn’t a bad start on a budding cyborg.

Did I also tell you we are working on project SkyNet?

Update: Some of the comments about this post here are absolutely awesome. To completely appreciate some of them require having read The Hitchhikers Guide to the Galaxy.

Also closely related.


6 thoughts on “The power of the things we build

  1. And yet with all of that computing power, databases of fingerprints, fired bullets, and shell casings still can’t pick out just one match out of a sample of 5 million. The best we can do is a few hundred, which we then resort to the “slow” human brain to process to decide on the right one. It always fascinates me how “smart” and “dumb” humans and computers can be at the same time. Its like we’re siblings!

  2. You had me mesmerized up to the last sentence.

    I’m glad I didn’t have anything in my mouth when I read it. My mouth would have suddenly become empty, and my computer, et al, very messy.

  3. Yeah, we have such impressive systems at my work place as well. I’ll be more impressed when they can prevent the meatware in the room from spilling coffee into their internals.

  4. And yet, we’ll never REALLY be able to use that calculating capacity as well as those brains do, until we develop a 7 value logic in hardware.

    Humans have the ability to use indiscrete and nondeterministic reasoning, to reach discrete and deterministic conclusions; through relation, deduction, and induction.

    Computers as they currently exist can’t do this, they can only approximate deduction through many binary cycles, because they use a discrete two value logic; zero or one, yes or no.

    Humans use a seven value indiscrete and nondeterministic logic (meaning that there are 7 discrete values, with infinite shadings in between them, and any two sets of outputs from the same set of inputs will not necessarily be identical… though they MAY be).

    Those discrete values (expressed in terms of structured logic) are:

    1. Yes: Terminate positive

    2. No: Terminate negative

    3. Indeterminate alpha: Both yes and no/Equally balanced between yes and no – Ask another question to discriminate until a deterministic value set is reached

    4. Indeterminate beta: More yes than no – Ask another question to discriminate until a deterministic value set is reached

    5. Indeterminate gamma: More no than yes – Ask another question to discriminate until a deterministic value set is reached

    6. Indeterminate delta: There may be an answer, but it cannot be determined at this time, with this information. Gather more information, wait for states to change, or ask a different question.

    7. Indeterminate Epsilon: NULL, there can be no possible answer under any conditions, terminate or approximate

    We can approximate indiscrete logic using huge numbers of discrete logic tests in decision trees; but it’s like a chimpanzee playing 20 questions with god. Each decision trees get so complex as to require many orders of magnitude more calculations than the human brain does to reach a conclusion.

    Just using those 7 discrete values, and ignoring the indiscrete shadings; to approximate a single deductive human logic test, requires up to 128 binary logic tests.

    If the question is suitably complex, but is subject to relational or inductive solving (as so many human questions are), we can do in one logic test, what a binary computer could require tens of billions, or even hundreds of billions of logic tests to do.

    Even if we manage to develop 7 value logic discrete circuits, we still don’t know how to approximate relational reasoning, or induction, only deduction; because we can’t approximate nondeterministic logic tests, and relation and induction are inherently nondeterministic.

    Of course, computers now HAVE the capacity for billions of logic tests a second… so even if they can’t actually use inductive or relational reasoning; they now have the capacity, at least for relatively simple questions, or for those questions for which discrete datasets and rulesets exist and can be solved for (like math problems); to adequately approximate, and simulate, human reasoning, using discrete deduction in (astronomically large and complex) binary logic decision trees…

    If you can ask enough yes or no questions, fast enough, you can actually seem like you’re thinking…

    I just wonder which will come first: Developing a high value logic circuit, figuring out something like quantum computing at its true potential (meaning infinite indescrete values, and possibly nondeterministic logic) and how to program for it (which may be a harder problem), or simply building a binary computer so large and so fast, that we no longer care about the rest of it.

  5. Yes, I DO have a computer science degree, why do you ask 😉

    I got a triple degree in aerospace engineering, computer science, and math. I don’t use any of it.

    THESE are the questions I actually LIKED in computer science. They’re also the questions that gave the other students, and professors, absolute fits; and they didn’t want to think about.

    Realistically, they all wanted programming degrees, not computer science degrees. I don’t like programming. Once I got past the “hey, this is cool, I can make the machine do what I want” thing, it bored the hell out of me (and still does). Or rather, I liked the program design and architecture bit, it’s just the coding I hated.

    Programming is the craft of writing instructions for computers to follow, in ways that produce useful results. It is effectively to computer science, what engineering is to physics.

    My degree adviser for the Aerospace Engineering degree said “the difference between engineers and scientists, is that scientists answer fundamental questions; engineers take the answers, and do something useful with them”.

    The funny thing is though, other types of engineering don’t bore me. I LOVE doing design work, and systems architecture, and airplanes, and cars, and guns, and trebuchets etc… and I love building those things, putting them together, and fixing them. I love solving the problems that come up in those systems, and objects…

    I just hate coding and debugging. It doesn’t flip those same switches in my head as diagnosing and fixing systems problems do.

    I hate drafting too.

Comments are closed.