Technical
Support
Check
the sections below for answers to commonly asked questions.
If you need additional support eMail Hod Lipson at lipson@cs.brandeis.edu
|
How
do I install Golem? |
Click
on "Download & Setup" from the above selections. Scroll
down the page until you see the text "To Download." Click
where it says "click here" and the installer will download
to your computer. All you need to do now is find the file you downloaded
and then double click it to install. |
Can
I run Golem@Home not as a a screen saver? |
Golem is only intended for use as a screen saver. We do not yet
have a version that runs "in the background". We might
develop one later.
|
Is
there an uninstall program? |
Yes, look under
start/settings/control-panel/add-remove-programs, and select "Golem". |
Are
there security/privacy issues?
|
We
tried very hard to maintain security and privacy. Here are the key
points:
- Privacy:
Only data about Golem robots is transferred among screensavers
and with the central Golem server. This data contains a description
of the robot geometry and control, and the e-mail and contact
information you entered about yourself during installation or
later in the property sheets. If you consider this information
private, you should leave these fields blank or enter false information.
The program does not access files or data besides that associated
with the Golems.
- Security
and viruses. The program only transfers data, not executables.
It downloads a version update only from the central server at
Brandeis University. This is hard coded and cannot be changed
through communication. Never download a
Golem program from any other source than the Brandeis DEMO Lab
(brandeis.edu).
- Both
these communications (migration and version update) can be turned
off in your settings.
|
What
is a predecessor? |
A predecessor
is a Golem that has had other Golems evolved from it. The children
of the predecessor will have the characteristics of the predecessor
Golem plus mutation. While a Golem is evaluated the fitness of its
predecessor is shown because the fitness of the current Golem is
not yet known.
|
When
do creatures migrate? |
Once
in a while (say, once in one or two weeks), the computer will randomly
select 1-3 creatures out of its population and migrate them to another
screensaver with which it has established connections. Any creature
out of the current population might be selected. The migrating creatures
will leave copies of themselves on the source machine, and will
replace randomly chosen individuals on the target machines. You
cannot influence this migration process, but it will not occur if
either the source or target populations are very young (less than
72 CPU hours old).
|
When/how
should I e-mail you a creature? |
E-mail
us a creature when it is interesting: This can be either that it has
a particularly high fitness (say, above 1.0, and you haven't sent
anything like it before), or when it locomotes in an interesting way,
for example if it lifts itself off the ground as in bipedal or quadrapedal
locomotion. Don't send us those that look like they're moving "illegally"
(e.g. sliding on the floor). When you find one, flip through the population
and use "Save Individual" to generate an "ltf"
file. See the HALL OF FAME for
what to send in an eMail. |
How
can I make pictures and movies of robots I evolve? |
For
an image, orient the creature so that it looks nice on the screen.
Use view/snapshot to copy the picture to the clipboard, and you
can then paste it into any other program like MS-Word or Adobe Photoshop.
To
make a movie, resize the window until it is small (or else your
video file will be huge). Orient the creature so that it looks nice
on the screen. Simulate it once (ctrl-s) to see how it moves. Then
select view/start-recording and select some format that has compression
(like Cinepack by Radius). Now press ctrl-s to simulate again. Every
frame is recorded, and a beep made, so things might be a bit slow.
You can zoom in or out or change the viewpoint while the movie is
being recorded. You can halt the simulation early by pressing Escape.
When you are done, select "Stop Recording". The video
will be called "LiveTruss.avi".
If
you post the image or movie on the web or publish it anywhere, please
acknowledge our project and give a link to it.
|
How
can I get a physical instance of my creature? |
The
current version does not generate physical machines. If you want one,
you can send us the file and we might generate the STL file for you.
If you have a rapid-prototyping machines, you can use the STL
file to print your own robots. You can also download the STL file
for some of the exiting robots. If you don't have your own 3D printer,
and you are very rich, you might ask a rapid
prototyping service bureau to print the STL file for you (~$1500).
In any case, you will have to decide if you want a static machine,
a machine that has the degrees of freedom but no actuators, or one
with accommodations for real actuators. |
What
do the colors mean? |
The
color have no functionality, but they are inherited from parent
to child. So if two creatures have similar body parts with similar
colors, it is likely they are descendants of a common ancestor -
the more similar they look, the more recent that ancestor.
|
What
about other environments, like sand, mud, water? Sensors? What about
food and energy? Robots fighting and competing? What features are
you planning to add? |
Generally,
we will add more complexity to the substrate and environment. But
we want to keep things simple so that we might understand why and
how things happen. In particular, we are working on interaction between
robots because we believe that is key in obtaining complexity. |
What
is the difference between ".evo" and ".ltf" files? |
An individual
creature is stored in an ".ltf" file (stand fore Life Truss
File). An entire population of robots are stored in an ".evo"
file. You can load a population through the population/load command. |
I
want to generate my own landscape. |
You
can generate your own landscape by generating a binary STL file containing
the tessellation of the terrain. To generate an STL file, use any
CAD package, or generate the file directly according to the format
specifications. Then, import the STL file as the landscape. Alternatively,
you can generate a terrain by importing an image (then the height
of the terrain will be proportionate to the intensity of the image),
or import a text file where each line contains three points (nine
coordinates) of a triangular facet of the mesh. |
In
LiveTruss, how can I quit and afterwards continue evolving the same
population? |
You
need to save the population using population/save. This creates an
"evo" file. Next time, load the population using population/load,
and select "continue evolving". |
My
computer crashed while running LiveTruss. Is all the evolution data
lost? |
No,
LiveTruss creates checkpoint files according to the date, every half
hour or so. You can load that checkpoint file (they come in pairs;
chose the most recent one). |
How
can I track the evolutionary process? |
You
can use LiveTruss to load the ".evo" file, then select commands
under evolve/population or evolve/history to get some idea of what
went on. |
What
is considered a good fitness? |
A good
fitness is around 1.0 or higher. |
How
long should it take to evolve something interesting? |
Anything
between a few hours to a few days. Depends on speed of your processors
and luck. |
I've
been running Golem for some time but it does not seem to be making
any progress. All I can see are bars with fitness zero. |
Be patient,
or try resetting the population. That helps sometimes. |
When
LiveTruss is evolving, I see nothing much on the screen. |
LiveTruss
does not waste CPU on animation, but Golem does. To view the creatures,
stop the evolution and flip through the population. |
What
is the status and history of this project?
|
The
Golem@Home project is new (started in the summer of 2000), and still
under development. We are working to improve the process, make it
more reliable, solve bugs, and address the incoming flux of feature
wish lists. In particular, we're trying to understand the dynamics
of the computation. Please bear with us and check for new revisions.
Right
now we have over 15,000 clients and over 900 active servers worldwide.
The servers are screensavers themselves, so they are not always
active.
|
Is
this project like SETI@Home? |
The
Golem@Home project is similar to Berkeley's SETI@Home
(search for extraterrestrial life) in that it harnesses idle CPU
across the Internet to perform massively distributed computation
using screen savers. In an interesting way, both projects are searching
for other forms of life - one in outer space and the other in the
virtual world ("Artificial Life").
But
the two projects differ in architecture: While SETI has a centralized
server that distributes raw data to clients and collects processed
data, the Golem project is decentralized. It models isolated pools
of evolution with sparse interaction. Once you start running the
screen-saver, it needs no data - its starts from scratch. It will
contact the main Golem server only to get a few IP addresses of
other screensaver, and then will communicate with them directly
and sparsely (say, once in a week or two) to allow single creatures
to migrate. It will gradually learn about other servers available
and determine which of them are close and reliable. So it is not
important if your Golem screensaver cannot establish contact right
away, or even if it rarely is online. It only needs occasional access,
and will hardly ever contact the central Golem server after the
first time.
The
central Golem server does not collect results. We rely on the fact
that 'good' creatures will survive long enough that they will eventually
reach us by migration. But still, if you notice an exceptionally
interesting creature, we ask that you let us know.
|
Is
there a Golem@Home for Mac or Linux? |
No.
Currently there is only the version for Windows 95, 98 and NT. |
Can
I get the source code for this software? |
We are
not currently releasing source code for this project; we might consider
doing so only for research collaboration with other academic institutes. |
How
was Golem@Home written? |
Golem@Home
was written in Microsoft Visual C++ using OpenGL, Microsoft Foundation
Classes (MFC) and WinSock for communications. |
What
communication ports is Golem using? |
Golem
uses ports 23049 and 23051. |
My
computer has dual CPU. Does the program make use of it? |
LiveTruss
does make use of multiple processors, but the current version of Golem
does not. |
Is
there a mailing list? |
Yes,
if you haven't done so already, please join
our mailing list. |
I
can't find the help file. |
There
is no help file yet, but check for updates soon, and read through
this faq. |
I
can't record a movie. |
This
feature should be available in the next release. |
I'm
working behind a Firewall/Proxy and my Golem can't connect to the
main server. |
We are
working on a solution for proxies and firewalls. But as mentioned
above, it is not immediately critical that your screensaver is able
to communicate with the central server or anybody else around the
world. You might want to use the advanced settings to key in IP addresses
of some other Golems on your local area network, so that they can
join forces. When we release a proxy/firewall version, then your creatures
will also be able to migrate out to the world. |
I
am getting "Server connected but connection refused". What
does this mean? |
It might
be that there is a lot of web traffic, that there is some proxy/firewall
problem or some other bug. As mentioned above, it is not immediately
critical that you establish contact. Golem will automatically try
again later, but check out for new revisions anyway. |
LiveTruss
slows down any other program I'm using. |
LiveTruss,
the standalone version of the Golem, is not intended to run "in
the background". You might use it to examine populations evolved
by the screensaver, or just to replicate results we showed in the
paper. |
The
program complains it can't find OpenGL32.dll / Wininet32.dll |
Try
downloading these libraries from Microsoft.com. Best to just to
do a "Windows Update" from http://windowsupdate.microsoft.com/.
You might also need to update your SHLWAPI.DLL, but windows update
should take care of all of that. If you are running Win95/OSR1,
you can get the OpenGL file for that version from Microsoft, at
ftp://ftp.microsoft.com/Softlib/MSLFILES/Opengl95.exe
|
The
program complains it can't find InternetAutoDial or other entry point. |
Try
downloading an updated version of Wininet32.dll for your operating
system. Best to just to do a "Windows Update" from http://windowsupdate.microsoft.com/.
You might also need to update your SHLWAPI.DLL, but windows update
should take care of all of that.
|
The
program crashed when... |
Check
for new releases that might contain fixes. Also, you might try installing
on another machine just to make sure its not some particular feature
of your computer. Explain details and circumstances; in particular,
under what circumstances can you repeat the crash? We have seen some
problems with particular hardware configuration or locally adapted
windows versions. |
How
can I get additional support? |
Feel
free to eMail Zach Rosen at zeke187@cs.brandeis.edu
with any further questions you might have. |
|