Lecture Outline for November
5, 1999 - STS: Internet and Society.
Outlines and Papers
-
Many outlines are difficult or
impossible to find on the WEB. These should be linked through your
support group leader's page. An example that works is Joyce
Duckett's homepage which works from Geocities. This links us
to Lisa White's page. Her diary entry gets us to her Project
Outline. Dennis
Wilno's home page links to his diary and then to the Project Outline.
Jason de Charleroy's
robotics page will be the basis of a presentation. Any others
interested in presenting their work to the class should let me know.
-
An interesting project is a set
of scenarious portraying the life of an American
student in Paris in 2020. I added the links to the students'
pages
Some Hardware Distinctions
-
Supercomputers vs. MainFrames
vs. Personal Computers. Essentially a matter of computing power,
the number of calculations that can be done per second. However,
computing power is becoming cheaper and cheaper, so the distinctions are
less meaningful
-
Parallel vs. Serial architecture
- does the computer do one many things at once or one thing at a time?
The brain is parallel, vonNeumann design computers are serial. Early
AI was done on parallel computers, but today almost everything is done
on serial computers because they are cheap.
-
Some of the supercomputers are
parallel. These vary between SIMD, "single-instruction, multiple
dataset" and MIMD, "multiple instruction, multiple dataset" which is more
brain-like.
-
Analog vs. Digital - almost all
computers today are digital but there are still some analog computers.
-
Networking has made it possible
to have a number of Serial computers working simultaneously and exchanging
information. This seems to be the way more powerful artificial intelligence
will evolve
Some Software Distinctions
-
The earliest computer software
was written in "machine language" which consisted of 0’s and 1’s, that
gave specific instructions to registers in the Central Processing Unit.
Programmers had to know exactly how the machine did everything it did.
-
The next step was "assembly language"
which uses alphabetic key words to write patterns of 0's and 1's.
This was still pretty close to the logic of the machine, but was a lot
faster to write.
-
Next came "high level" languages
such as FORTRAN and BASIC, which used words and numbers similar to mathematical
algorithms, e.g., one might write:
-
FOR N = 1-190; GRADE(N) =
TESTS(N) + HOMEWORK(N) + ATTENDANCE(N); NEXT N
-
With high level languages, programs
were not specific to a computer - there was a program called a "compiler"
which converted the high level program to a form that could be understood
by the "operating system" of a given computer. The operating
system is software which enables standard programs to run on any compatible
computer. Programmers did not have to know as much about hardware.
-
JAVA is another step away from
the details of the machine. In a JAVA program, instructions are sent
to a program called the "JAVA virtual machine" which translates them into
codes which can be read by different operating systems.
-
Early computer programs were organized
around procedures (e.g., SORT, ADD, PRINT). Programmers called up
the procedures they needed them to process data, which was stored in a
separate place. As programs got larger and larger, and especially when
many programmers worked on them, this became cumbersome. "Object-oriented"
programs were created. In these programs, the procedures and data
are bundled together. If one programmer needs to modify procedures
for his or her purposes, those modified procedures can go into his or her
"objects" without messing everyone else up.
-
But programmers cannot be constantly
reinventing the wheel each time they create an object. They have
general models or patterns or archetypes they rely on - in programming
language these are called "classes".
-
This "object-oriented" approach
analogous to the logic of the brain, where there are thousands of independent
units which have many features in common.
How Webmind Works
-
Webmind is written in JAVA - its
basic units are "nodes" which are "objects" in JAVA
-
The nodes are arranged in a hierarchy:
from lobes to pods to nodes. Nodes relate more easily to others in
the same place in the hierarchy. But they can also form form heterarchical
links, crossing hierarchical lines.
-
There are several types of links
between nodes:
-
similarity links, representing
the belief that one actor is similar to another.
-
inheritance links, representing
the belief that one actor is a special case of another.
-
spatiotemporal links, representing
the belief that one actor represents something occurring near the other
one in time or space.
-
containment links, representing
the belief that the entity represented by one actor is contained inside
another one.
-
associative links, representing
simply the fact that Webmind's dynamics tend to associate one actor with
another.
-
Webmind is not created with a
fixed body of knowledge, it learns by reading text, numerical data and
(in the future) other kinds of information
-
As a Webmind assimilates information,
it organizes it into modules. It also develops modules to record
its memories of how it does things, such as the:
-
The Categorization Module which
creates new categories
-
The Text-Numerical Interrelation
Module, which remembers how text and numbers are interrelated
-
The Query Module which remembers
how to interact with humans and respond to their questions
-
The Social Module which manages
relationships between Webminds and between Webmind and people
-
The Self Module, which maintains
a simplified image of everything going on within the Webmind
-
The really tricky thing about
Webmind is how all these nodes and modules are coordinated to make a coherent
whole. This coordination is what makes true intelligence possible.
There are several methods of coordination:
-
Each of Webmind's components learns
how to take the needs of other components into account, giving them the
information they can best use
-
Sometimes, one module is defined
as dominant, and others are forced to defer to it
-
Sometimes, modules take turns
being dominant, each of them adjusting to the others for a period of time.
New thoughts emerge from this process of mutual readjustment.
-
Sometimes, the Self module intervenes
and sorts things out