Saturday, May 26, 2012

What is beyond the universe?



Have you ever thought about infinity? Or read what modern cosmologists have to say about the universe? Back a few centuries, people who thought about such things figured that the universe consisted of the earth which was surround by crystal spheres. Astronomers (actually astrologers) of those days never wrote about what was outside the outermost crystal sphere. Then came along Copernicus, Galileo and Newton and the universe expanded somewhat to the size of the solar system and the fixed stars out there somewhere; nobody knew how far. When astronomers gazed through more powerful telescopes and other sophisticated gear, suddenly the universe expanded to billions of light years in size.

But how far did it go? Did it stretch on forever? In the early part of the twentieth century, Albert Einstein proposed his Theory of Relativity. This and other discoveries changed everything. Cosmologists began to think of the universe as a great expanding ball (or some other shape) that had a definite limit.

Okay, that is the current view of our universe. But if our universe is a great ball (or some other shape) curved in the fourth dimension, what lies outside of it? Recent articles I have read about what modern cosmologists and physicist think about the universe speak of "multiverses." I wonder what they are like.

Here are some thoughts on the matter. Not all of them are mine. According to one viewpoint,. the universe is defined to be everything, including space and time itself. Since the universe includes all space, there can be nothing "outside" the universe.

However, the Big Bang theory changed the view of cosmologists and others who study such things completely. According to the Big Bang theory, the Big Bang was not an explosion in a preexisting three-dimensional space, with matter and light expanding out into empty space from some central point; instead, matter and energy are understood to fill all of space (i.e. "the universe"), and what's expanding is space ("the universe") itself. But, wait a minute, if it's expanding, what is it expanding into?
The Big Bang theory is based on Einstein's theory of general relativity, which explains that gravity of matter/energy causes space-time to curve. The amount of curve depends on the average density of matter/energy throughout the universe, a consequence of this is that the universe as a whole can be curved, with either positive curvature, zero curvature, or negative curvature.
To visualize a closed universe with positive curvature, drop the dimensions by one. Instead of curved three-dimensional space, picture a two-dimensional universe in which two-dimensional space is curved into a sphere, and "expanding space" means that the sphere is blowing up like a balloon while the bits of two dimensional matter on the surface do not change in size. You can see that if you pasted a bunch of bits of paper on a balloon and then blew it up, each bit would see the other bits receding from it. This is what astronomers observe, when they view distant galaxies.
If you made a movie of the balloon blowing up and play the movie backwards, after a while the size of the sphere approaches zero, all the bits of matter throughout the balloon universe get more and more squished together and approach infinite density as the size approaches zero. This is what the big bang is supposed to be. Of course, this analogy forces you to picture the two dimensional surface of the sphere expanding into a third dimension, and our curved three dimensional space is expanding into four dimensional space. The question becomes what else is in the fourth dimensional space? Other balloons (universes)?
Also, if space is curved in the fourth dimension, what happens if you travel in a straight line as far as you could go? Would you return to your starting point? And if the fourth dimension is time, would you return to the point in time when you started your journey?
On the other hand, J. Bruno wrote: "The center of the universe is everywhere, as well as its border but does not exist anywhere." Thus, the universe has a center that exists everywhere and borders that exist everywhere. Think about this. Does this statement violate any physical or philosophical rules or not? If the answer is "not," the universe is and will stay infinite and isotropic.
Not everyone agrees. According to Stephen Hawkins, a black hole transports information to another universe. Another theory hypothesizes that there are many (perhaps an infinite number of) universes outside our own. In fact, one theory is that there is a larger universe of which our universe is only a part, like an atom of something much larger.
There is also the theory of parallel universes in which a new universe is created whenever two or more possible futures occur. That each possibility creates a new universe which is almost identical to the ones parallel to it except in one the change occurred one way, and in the other, it occurred the other way.
Of course, all this brings up the question of what is the universe composed. When we say that space is curved, what is this curved "space" composed of? Nothing? How can nothing be curved? It seems that there are more questions than answers. For more confusing answers and questions, go to any web site on modern cosmology.




Saturday, May 19, 2012

Computer Software




Nowadays, most of us are familiar enough with computers to know that they do their magic through something called software. But what is software? And how does it control the computer?
In this article I'll try to answer these question. Actually software consists of one or more stored programs. The reason they are called stored programs is that they reside in some electronic storage device such as RAM, a hard disk, a CD or DVD, a diskette, and so forth. (I explained these devices in last months article, Personal Computer Basics.)

Like everything else in a computer, a stored program is made up of binary numbers, i.e. one and zeros. In a magnetic storage device, such as a hard disk, a one is represented by a tiny spot on the disk magnetized in one direction, a zero by a spot magnetized in the other direction. In RAM, binary bits (numbers) are represented by a flip-flop being in a one state or a zero state. These binary numbers, in addition to representing data such as numbers and letters, can stand for codes  that tell the computer what actions to take. Whether a particular series of binary bits is considered data or an instruction by the computer is determined by a particular time in its cycle. For example, hypothetically let us say that the binary number, 0000 0001, tells the computer to add two numbers together. If the computer is in a data cycle, this byte represents the number one. If the computer is in an instruction cycle, it means add.

I should also mention that the processing (doing the actions coded in the program) always takes place between the CPU and RAM. A computer program must be in RAM before it can be executed (tell the computer what to do). For this reason, programs that are stored on another device such as the hard drive must be transferred into RAM before they can run (a synonym for executed).

When the computer is in its instruction cycle, it normally takes the next instruction in sequence. As you noticed, I did not specify in my hypothetical add instruction what numbers to add or what to do with the result. Usually instruction are more than one byte long. The other bytes associated with this add instruction would contain addresses in RAM where the data to be added is located and where to put the result.

As I noted in the last paragraph, usually instructions in a program are executed in sequence. However, there are numerous exception to this. There are instructions that are called either branch or jump instructions. When the computer executes one of these instructions, it know that it may take the next instruction from a RAM address designated by the branch or jump instruction. Notice that I wrote "may" rather than "will." This is because these type of instructions may test for some condition such as a certain bit in a byte at a certain address being a one. If it is a one, the computer will go to designated address. If not, it will simply take the next instruction. In this manner, the computer can make decisions depending on outcomes, for example, whether you clicked with your mouse or whether a subtraction result in a positive or negative number.

What I have described so far is simply the way that computer instructions work in a general way. If you wish to delve deeper into the subject, I would advise buying a book on computers and programming, because there are a lot of complications to this subject which I cannot get into in this post.

Now you may be feeling sorry for the poor software engineer or programmer who must learn all the binary codes for the instructions in the program he or she writes. Don't worry. Programming is difficult and takes a lot of education to even get started, but at least the programmer does not have to write program instructions using binary codes that a computer understands. There are programs called assemblers and compilers that allow the software engineer to write instructions in what are called computer languages, which resemble human languages slightly, and translates these instructions into the binary instructions that the computer understands. There are several different computer languages. The choice of which to use depends upon such factors as which one the programmer was trained in, the type of software to be produced, the choice of the company that he or she works for and the particular computer and operating system being used.

I used a term in the last paragraph that I did not explain and that is operating system. In general, software can be categorized as either a system program or an application. A system program is software that is part of the operating system of a computer. The operating system in most PCs (unless you're a Mac or Linux user) is Windows. The operating system handles such things as multitasking, input/output operations, presenting a standard interface for applications and so forth. An application is the software that a computer user calls up to do the computing work to be done. For example, the word processor that I'm using to write this article is an application. Usually, we speak of applications running under the operating system.  This is because the operating system decides when to execute instructions in a particular application and does tasks for the application such as retrieving data or other programs from the hard disk.

I hope you found this article informative, accurate and enlightening. The whole subject of software design and coding can be quite interesting, and there are a multitude of books available plus online tutorials that cover this material.

Saturday, May 12, 2012

Expert Systems


Google's driverless car uses artificial intelligence a Prius equipped with a variety of sensors to follow a route programmed into the GPS navigation system. It nimbly accelerated in the entrance lane and merged into fast-moving traffic on Highway 101, the freeway through Silicon Valley. During a half-hour drive beginning on Google’s campus 35 miles south of San Francisco . It drove at the speed limit, which it knew because the limit for every road is included in its database, and left the freeway several exits later. A device atop the car produced a detailed map of the environment.

The car then drove in city traffic through Mountain View, stopping for lights and stop signs, as well as making announcements like “approaching a crosswalk” (to warn the human at the wheel) or “turn ahead” in a pleasant female voice. This same pleasant voice would, engineers said, alert the driver if a master control system detected anything amiss with the various sensors.

I would bet that the type of programming used is what is known as an expert system. An expert system is software made up of a set of rules that analyze information  supplied by the user of the system about a specific class of problems, as well as provide analysis of the problem(s), and, depending upon their design, recommend a course of user action in order to implement corrections. In a car driving program, the information fed to the expert system would be the rules of the road, actions that a driver would take depending on the situation and sensory input such as location of cars around it, speed limit, various traffic signals and so forth.
Originally, the idea behind expert systems was to provide help  usually provided by an expert in a particular field, such as software troubleshooting or diagnosing an illness in a medical patient. Three features of expert systems are rules of thumb, fuzzy logic and a data base of solutions. When an expert in a field, such a physician, goes about solving a problem, such a determining what ails a patient, he or she usually has several rule-of-thumb that he or she uses. Depending upon the answers to key questions about the problem, the expert knows what the solution is by applying a rule of thumb. For example, suppose a patient complains about frequent severe headaches. After asking questions about the headaches and other accompanying symptoms and perhaps performing some tests, the doctor may determine that the person is suffering from migraines and prescribe pills. In expert systems, these rules of thumb are coded into the software.
Fuzzy logic is logic based on approximations rather than formal logic. It takes into account such vague statements as "almost," "nearly," and so forth, and manipulates them to come up with an approximate answer. For example, if a patient asks how much pain he or she is in and replies "not so much," this is considered less pain than "it hurts terribly." Certain conclusion may be drawn by which answer is given.
Expert systems also usually have large data bases which can be readily accessed using the rules of thumb and fuzzy logic. Essentially, driving requires “rules of thumb” and “fuzzy logic” sometimes.
Anyone who has gone to a software web site and used their self troubleshooting system has probably used an expert system. Computer games also use expert systems.
In my novel, The Isaac Project, the heart of the artificial intelligence being developed is an expert system.