home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Stars of Shareware: Windows Spiele
/
SOS-WIN_SPIELE.ISO
/
programm
/
knobel
/
nedworld
/
nedworld.doc
< prev
next >
Wrap
Text File
|
1993-07-04
|
33KB
|
699 lines
NEDWORLD.DOC - Help Document
Neural Ned in NED'S WORLD
Copyright (c) 1993 David S. Smiczek
Shareware Version 1.00
by David S. Smiczek
PO BOX 294391
Lewisville TX, 75029-4391
CompuServe 72154,3671
DISCLAIMER
THIS SOFTWARE AND MANUAL ARE SOLD "AS IS" AND WITHOUT
WARRANTIES AS TO PERFORMANCE OF MERCHANTABILITY OR ANY
OTHER WARRANTIES WHETHER EXPRESSED OR IMPLIED. BECAUSE
OF THE VARIOUS HARDWARE AND SOFTWARE ENVIRONMENTS INTO
WHICH THIS PROGRAM MAY BE PUT, NO WARRANTY OF FITNESS FOR
A PARTICULAR PURPOSE IS OFFERED. THE USER MUST ASSUME
THE ENTIRE RISK OF USING THE PROGRAM. ANY LIABILITY OF
THE SELLER WILL BE LIMITED EXCLUSIVELY TO PRODUCT
REPLACEMENT OR REFUND OF PURCHASE PRICE.
CONTENTS
I. PREFACE - SHAREWARE
II. INTRODUCTION
III. THE GAME
A. NED'S WORLD MAIN WINDOW
1. PLAYING FIELD
2. GAME OPTIONS
3. SCORE
4. NED'S STATE
5. NED'S VIEW
6. TRAINING OPTIONS
B. MENUS
1. FILE
a. LOAD BRAIN
b. SAVE BRAIN
c. HIGH SCORES
d. EXIT
2. OPTIONS
a. RESET NED'S BRAIN
b. MOVE NED RANDOM
c. MOVE NED ON STUCK
d. RANDOM SPIN RATE
e. FAST SIMULATION
3. HELP
a. NEDWORLD.DOC
b. ABOUT
C. TIPS (1-10)
IV. ORDERING
I. PREFACE - SHAREWARE
Neural Ned in NED'S WORLD is NOT public domain or free
software, but is being distributed as "shareware".
Shareware is method of selling software where the user
has a chance to use the program for a limited amount of
time to evaluate it. If the user continues to use the
program after the evaluation time, they must register it.
Registering this software fulfills your obligation to the
author, but also provides many benefits. As a reward for
registration you will receive the following:
A. A Licensed copy of Neural Ned in NED'S WORLD that
DOES NOT HAVE A SHAREWARE SCREEN at the beginning.
B. C-Source code for the neural network routines used
in Neural Ned in NED'S WORLD.
C. C-Source code example program using the neural
network routines.
D. Documentation describing the example program and
the neural network routines.
E. Illustrated printed documentation for Neural Ned in
NED'S WORLD.
The registered user will also be eligible for discounts
on updates to NED'S WORLD and future 'Neural Ned' games.
Operators of BBS's (bulletin board systems) are encourage
to post 'Neural Ned in NED'S WORLD' in its entirety for
downloading by users.
Distributors of public domain or user-supported software
libraries may distribute copies of 'Neural Ned in NED'S
WORLD'. A copying fee, not to exceed $7.00 per disk may
be charged. Advertisement and the libraries catalog must
state that this program is not free, but is copyrighted
software that is provided to allow the user to evaluate
it before paying.
Neural Ned in NED'S WORLD was written to run under
Microsoft Windows 3.X. Microsoft Windows is a trademark
of the Microsoft Corporation.
II. INTRODUCTION - WHAT ARE NEURAL NETWORKS?
There has been a lot of talk lately about neural
networks. What are neural networks? A neural network is
a collection of artificial 'neurons' connected in a
network to solve unorthodox computer operations. While
the biological 'neurons' are only used as inspiration to
create computer 'neurons', it may be useful to learn a
little about them.
Biological neurons are the fundamental unit cells of the
brain and nervous tissue. They are connected together
with fibers called dendrites and axons. The dendrites
are the inputs to the cells and the axon is the single
output. Each neuron is either 'on' or 'off'. If a
neuron is 'on' it transmits an 'on' signal over its axon.
The neuron's axon is connected to the dendrites of other
cells. The state of the neuron is determined by the
chemical charges on its inputs. If enough charge is on
the input dendrites of a neuron then it will turn 'on'
and transmit to other neurons. In this way the neurons
are like a group of parallel processing elements. The
state of one affects the state of others which in turn
affects the state of others... All of the input
dendrites of a neuron are weighted so that an 'on' coming
in on one dendrite may not hold as much value as another
'on'. These weights can be adjusted to produce a desired
effect. For instance they could be adjusted such that a
certain neuron will turn 'on' or 'fire' only when six
other specific neurons are also firing. The act of
adjusting the weights is called training.
The computer 'neurons' are simpler then their biological
counterparts. They can be represented as a group of
weight values between each connection in a network. To
see if a neuron is firing, all of the weights of the
firing inputs are added up. Outside input is also added
into the firing consideration. If the total is above a
certain threshold then the neuron is turned on. Note
that the weight can encourage (be positive) or discourage
(be negative) a neuron from firing. Training is done by
tweaking the weights in the network until the desired
state is achieved. Since the computer is a serial
problem solver and the neural networks are a set of
parallel processing elements, the 'parallel' effect is
simulated.
It was mentioned earlier that neural networks are used to
solve unorthodox computer problems. Neural networks have
been used in such varied projects as stock marked
forecasting to speech recognition. These problems are
well suited to neural networks because all the nuances of
the situation are not known. A network is trained by
providing input and training it to give a desired output.
The person doing the training need not understand the
reason or set of rules behind the input and output
relationship. For example, a business analyst may not
completely understand the factors involved in stock
pricing fluctuations but if a neural net is provided with
the correct factors it will be able to predict the
changes with proper training. The network in effect
creates the rules between input and output during
training. These rules created are flexible. This gives
a neural net the ability to take incomplete input and
still provide good results with proper training. This
characteristic makes it well suited for these types of
unorthodox applications.
In contrast, neural networks are not well suited for
traditional computing tasks, such as adding up numbers.
While a network could be trained to add up some numbers
they might not be accurate enough. We usual want numbers
to be very accurate.
Neural Ned in NED'S WORLD is a good application for
neural networks because NED is wandering through a random
world. He needs to have flexible rules because every
situation can not be planned on ahead of time. His
flexible rules will enable him to behave correctly or at
least adequately in situations he has never been in.
III. THE GAME
Neural Ned in NED'S WORLD is a game but it also is a
hands-on exercise in neural networks. NED is a small
bug-like creature that inhabits a simple world. The
object of the game is to train NED to be able to survive
in his little world. NED'S movements are controlled by a
neural net. We can call this net his 'brain'. By
training NED'S brain you will be changing the weights in
his neural net and hopefully making him smarter. The
better network you create, the longer he will live. The
longer he lives, the higher the score.
To help facilitate a high score there are two general
goals to try to achieve. The first is that NED should
not get stuck running into a wall. The second goal is
that NED should eat as much food as he can find. The
more food he eats, the longer he will live.
The score in Neural Ned in NED'S WORLD is counted as the
number of moves that NED does in his little world. There
are ten levels to the game. NED starts out in Level 1.
After NED has achieved a score of 1000 moves in a LEVEL,
he will move on to the next level. Each level is
progressively harder for NED to survive. The object of
the game is not necessarily to go through all of the
levels as much as it is to train a good neural net (NED
brain) that consistently lives a very long life. You can
watch as NED successfully navigates crowded walls and
hunts down food.
The game can be paused at any time if further training is
needed. A game can also be reset without changing the
training that has already been done.
The training states of the neural net (brain) can be
saved and loaded back using menus provided.
When you have a really good 'brain' file, trade with your
friends or go head to head running two instances of
Neural Ned in NED'S WORLD on 1 computer.
A. NED'S WORLD MAIN WINDOW is divided up into framed
sections. Each of these sections will be explained
starting with the 'PLAYING FIELD' (the large white and
red area) and moving clockwise.
1. PLAYING FIELD - The playing field is the large
white block with a red border that takes up most of
the room in NED'S WORLD main window. This is the
area where NED will run around and live. NED is a
small green critter moving through the playing
field. Within the playing field there are WALLS
and FOOD. The WALLS are red rectangles and the
FOOD are small green and black squares. NED can
not pass through the WALLS. If he runs into a WALL
and is not trained enough to turn, then he will get
stuck. The FOOD is consumed by NED when he gets
close to it. NED can see and smell the world
around him. This will be discussed in NED'S VIEW.
Each level of the game contains different numbers
of FOOD blocks and WALLS. The number of FOOD
blocks on any given level is constant. If NED eats
a block then a new one will appear somewhere else
on the playing field.
2. GAME OPTIONS - The 'Game Options' section is in the
upper left corner of the main window. It contains
2 buttons. The button on the left is actually a
toggle. It's face toggles from 'Game ON' to 'Game
OFF'. The button is toggled by pointing the mouse
cursor on it and pressing the left mouse button.
When the button is on 'Game ON' then the game is
running and the score it being tabulated. When the
button is on 'Game OFF' scoring is suspended. This
option can be used when practice or training is
desired. The second button is labeled 'Reset
Game'. This button resets the current score and
returns to level 1. Note that 'Reset Game' does
not reset NED'S neural net (his brain).
3. SCORE - The 'Score' frame contains the state of the
game when scoring is enable (i.e. when the game
toggle is on 'Game ON'). The title of the frame
also contains the level that is currently being
played. For example if the game is on level 3, the
frame title would read 'Score - Level 3'. The
scoring of the game is expressed in Moves. The
moves represent the number of spaces NED has moved
to. Turning in a stationary position does not
constitute a move. The number of moves is
displayed in the top of the Score frame. 'Life
Force' is the amount of energy NED has left. Life
Force is displayed in the bottom of the Score frame
in the form of a percent filled bar. A game starts
out with 100% Life Force. Life Force is take away
every time NED moves or turns. To replenish his
Life Force, NED needs to eat the 'FOOD' found in
his world. NED eats 'FOOD' by running into the
green squares. Note that NED can have more then
100% Life Force but only 100% will be displayed.
When the Life Force goes to zero the games is over
and NED IS DEAD! Don't worry though, NED is in a
sense immortal because his brain remains intact
even after death.
4. NED'S STATE - The 'NED'S State' frame contains the
state of the neural network. The on/off state of
the neurons in the network are displayed in the
upside-down pyramid of small pictures entitled
'Brain State'. The small pictures represent the
state of the individual neurons. A bright light
bulb picture means the neuron is on and a dark
light bulb picture means the neuron is off. Watch
the state of the neurons change as NED moves
through his world. Objects in NED'S field of view
can and will effect the on/off state of the
neurons. This can be observed during play. The
picture entitled 'Spin Direction (output)'
indicates NED'S output. NED can either spin
straight, indicated with a straight arrow picture
or he can spin clockwise or counter-clockwise
indicated with appropriate arrows. Note that all
of the neurons in NED'S brain are not represented
in the graphic 'Brain State', only the ones
corresponding to the visual inputs.
5. NED'S VIEW - The section called 'NED'S View' is
used to let you know exactly what NED sees and
smells. This section is also involved in training
NED but that will be discussed in the next section
'Training Options'. The left side of 'NED'S View'
contains a square with NED centered in it. This
model of NED is always pointed in the direction
that NED is currently going. If the direction that
NED is facing is a set of colored blocks that
represent what NED sees in his field of vision.
For example, NED will see red blocks to indicate
obstructions (WALLS), green blocks to indicate food
(FOOD) and white blocks to indicate empty space.
The box in the lower right corner of 'NED'S VIEW'
entitled 'SCENT' indicated what NED smells.
'SCENT' and the colored blocks representing NED'S
view form the input to NED'S brain (neural net).
The 'NEXT' button and the buttons around the edge
of viewing square are used in training. Note that
like your own vision, objects close to NED appear
larger then they are. For example a 'FOOD' block
right in front of NED will appear to take up most
of his vision.
6. TRAINING OPTIONS - The section called 'Training
Options' contains the heart of learning to play
NED'S WORLD. Training is done on NED whenever you
instruct him to do something other then what he is
doing. Say for instance he decides to run away
from food instead of going towards it. NED would
then need to be 'Trained' to go towards the food.
Training can be set in four possible modes.
'Training Off' obviously means there is no training
at this time. 'Train if stuck' means that if NED
runs into a wall and does not turn or is spinning
in a circle, the game will pause and wait for input
from you, the user. The input is done by using the
mouse to press one of the direction arrows in the
'NED'S View' window. For each train, there are
three possible directions, straight, left or right.
The appropriate buttons will be highlighted. There
are two more training options. 'Train on object'
and 'Train always'. 'Train on object' pauses the
game for training whenever anything gets into NED'S
field of view, such as food or walls. 'Train
always' pauses for training after every move. The
white box in the lower right corner of 'Training
Options' contains the number of training sessions
the current neural net (brain) has undergone. The
upper right corner of 'Training Options' will
contain a blinking 'TRAIN NOW' yellow sign when the
game is paused for training. If the game pauses
for training and training is not desirable (i.e.
NED is doing good and is not in need of training)
then the 'NEXT' button in 'NED'S VIEW' can be
pressed to go to the next training situation or the
training options can be changed.
B. NED'S MAIN WINDOW MENUS can be selected from the
top of the main window or by using the short-cut
keys. The following is a description of the menus.
The short-cut keys are given in ().
1. File (Alt-F) - The file menu contains file-
oriented operations such as loading and saving
the 'brain' files, viewing the high scores and
exiting the game.
a. Load Brain (Alt-F, L) OR (Ctrl-L) - Show a
listing of all the files with the extension
'.BRN' in the current directory and allow any
file to be selected. The file can be
selected by double-clicking with the mouse on
the file name or by typing out the filename
and then clicking on 'OK'. If there are any
problems loading a brain file then a error
message will be given. After the file is
loaded, note that the number of training
sessions done which is displayed in the
'Training Options' frame will change to match
the loaded file.
b. Save Brain (Alt-F, S) OR (Ctrl-S) - Show a
listing of the current files with the
extension '.BRN' in the current directory and
allow one of the existing files to be
selected or a new file to be typed in. If an
existing file is selected then and 'Ok to
overwrite?' message is displayed. If there
are any problems with saving a error message
will be given. Saving the brain to a file
will save the state of the neural net and all
its trained weights. The game itself such as
the current level will not be saved.
c. High Scores (Alt-F, H) - Display a window
with the top five high scores. The scores
are saved in the file 'NEDWORLD.SCR' in the
same directory that 'NEDWORLD.EXE' is in. If
the program can not find the file then a new
one is created.
d. Exit (Alt-F, X) OR (Ctrl-X) - Quit Neural Ned
in NED'S WORLD. A 'Are you sure?' message is
provided to verify that the intent was to
exit the game. If the game was quit before
the brain was saved then all of the training
will be lost.
2. Options (Alt-O) - Contain options for the play
of the game. The options range from resetting
the brain (neural net) to simulating NED quickly
to see the performance of brain.
a. Reset NED'S Brain (Alt-O, R) - Used to erase
all the training done on the current brain.
The neural net is set to a random state.
Warning, save the brain if you want it before
you choose this option.
b. Move NED [Random] (Alt-O, M) OR (Ctrl-M) -
Changes NED'S location to a random part of
the playing field. This option is commonly
used when NED gets stuck but he is in a
situation that you don't want to train. Be
careful using this option during game play,
it uses a lot of 'Life Force'.
c. Move NED on Stuck (Alt-O, S) - This option is
used if no further training is desired. When
this option is selected, training is disabled
and if NED gets stuck (i.e. runs in to a wall
and does not turn) then he automatically
moves to a random spot. When NED is moved
however, it is just like selecting the 'Move
NED [Random]' menu option, there is a heavy
price in 'Life Force'. This option is handy
if you just want to let NED simulate
unattended.
d. Random Spin Rate (Alt-O, A) - This option
sets the number of moves between random
spins. A random spin is a direction which
NED did not choose. This option is to inject
a little chance or real life into the game.
This could also break NED out of infinite
loops in the game. This option can
dramatically increase the game score. The
number of moves can be selected from 0 to
300. '0' signifies random spin disabled.
e. Fast Simulation (Alt-O, F) - This options
sets NED'S WORLD into a fast simulation mode.
The 'Game ON/ Game OFF' toggle must be set to
'Game ON' and the 'Move NED on Stuck' must be
selected for Fast Simulation to work. This
mode replaces the main window with a small
window that just displays the number of
'Moves' and the 'Life Force'. This small
window can be minimized using the down arrow
in the upper right hand corner of the window.
Even minimized, the title of the ICON will be
updated with the current number of 'Moves'
and 'Life Force'. This allows you to work on
something else in Windows, like write a
letter of play another game while your brain
file is being simulated. 'Fast Simulation'
runs over twice as fast as the main window
mode. There is a button on the Fast
Simulation window to return to the main
window.
3. Help (Alt-H) - The help menu provides a means to
conveniently view this file and look at the
about window.
a. NEDWORLD.DOC (Alt-H, H) OR (Ctrl-H) - Display
this file in a sizable window independent of
the game (i.e. the file can be read while the
game is running).
b. About (Alt-H, A) - Display the About window.
The About window provides the version number
and ordering information.
C. PLAYING TIPS. The following tips are designed to
be general methods for getting started and having
success with Neural Ned in NED'S WORLD. They are
by no means hard and fast rules. After you get the
hang of it, go ahead experiment.
1. Only train NED on things that are in his view.
Use 'NED'S View' to know what NED sees and
smells. If its not in 'NED'S View' then NED
does not know about it even if it looks close on
the playing field.
2. During training, three buttons around the box in
NED'S View provide the directions to train.
Enabled buttons are darker then disabled
buttons. No matter what NED'S orientation is
there are always three choices; straight ahead,
spin left or spin right. For example if NED'S
orientation is to the left (West) then left-most
three buttons will be enabled. The center left
button will train NED to go straight (West).
The upper left button will train NED to spin
right (North-West) and the lower left button
will train NED to spin left (South-West).
3. When NED pauses to train, the 'Spin Direction'
in 'NED'S State' frame indicates the direction
that NED wants to go. Training NED to go in a
direction he was already going to go does
nothing. It is equivalent to hitting the 'NEXT'
button.
4. Be consistent with your training. For example,
if during training NED runs head on with a wall
and you train him to go clockwise half the time
and counter clockwise the other half of the time
then he will probably average the two and go
straight into the wall.
5. If NED has paused for training and you don't
want to train then press 'NEXT' in 'NED'S View'
or change the training options in 'Training
Options'.
6. Concentrate on keeping NED from running into
walls first then when he has that mastered,
train him how to eat.
7. Freely switch between the training modes. For
example you may want to train NED to do
something when he gets close to 'FOOD'. So
first set the training to 'Train on Object'. If
the object NED encounters is a 'WALL' then press
the 'NEXT' button. If the object is 'FOOD' then
you might want to switch to 'Train Always' to
train NED during the whole food encounter.
After the food encounter is done you might want
to switch to 'Train on Stuck' to see how your
training went. etc.
8. Don't over-train. Training on every move will
not only be tedious but will likely create
situations where you give conflicting
training's. One training session in the wrong
direction can undo many training sessions in the
right direction.
9. Save the brain in training often. You can then
recover previous training milestones.
10. Don't get discouraged, the training of NED will
have its ups and downs. He may be making good
progress avoiding walls but when you attempt to
train him to eat 'FOOD' he starts running into
walls again. Just keep reinforcing his earlier
training.
IV. ORDERING
To order a licensed copy of Neural Ned in NED'S WORLD and
the following:
A. A Licensed copy of Neural Ned in NED'S WORLD that
DOES NOT HAVE A SHAREWARE SCREEN at the beginning.
B. C-Source code for the neural network routines used
in Neural Ned in NED'S WORLD.
C. C-Source code example program using the neural
network routines.
D. Documentation describing the example program and
the neural network routines.
E. Illustrated printed documentation for Neural Ned in
NED'S WORLD.
Send a check or money order for $13.95 made out to David
S. Smiczek to PO BOX 294391, Lewisville TX, 75029-4391.
When ordering outside of the US, provide payment in
checks drawn on US banks in US dollars. All checks must
have US bank routing symbols. Please include an
additional $5 to cover postage orders to be sent outside
of the US.
Sorry C.O.D. orders will not be accepted.
Orders may also be mailed to my CompuServe mail location
at 72154,3671.
Please allow 30 days for delivery.
Use the following form to order:
Neural Ned in NED'S WORLD - Version 1.00
David S. Smiczek
PO BOX 294391
Lewisville TX, 75029-4391
Registration, C example, ($13.95 each) $ _______
and Documentation
International Shipping charge ($5.00 each) $ _______
(for non US orders)
Total $ _______
(in you have a preference, specify 5.25 (1.2M) or 3.5
(720K) disk size)
Registration Information:
Name: ___________________________________________________
Company: ________________________________________________
Address: ________________________________________________
: ________________________________________________
: ________________________________________________
(optional) Day Phone: ___________________
Evening: _____________________
I would appreciate any comments or suggestions you may
have about Neural Ned in NED'S WORLD.
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________