[can.ai] ALN, the first bug!!

dwelly@saddle-lk.cs.UAlberta.CA (Andrew Dwelly) (05/01/91)

Some people have commented on the strange behaviour of the ALN,
learning of the training set in only one epoch.  This is due to the
non-random output of rand().  The least significant bit alternates between
successive calls to rand, this implies that you get at most only two distinct
vectors ... not a particularly challenging problem!  We have been using
the following macro on Suns:

        #define RANDOM(b) ((rand() >> 15) % (b))

of course, you get equally non-random behaviour if you try this on a
16-bit machine.  

Anybody who took this software before the 30th of April and intends to
run under Unix should make this change to the file atree.h

Anybody who takes a copy of this software on the 30th, or afterwards should
have no problem. We now have it set up so that the shifting takes place if IBM
is not defined in the Makefile. The poor behavior of rand() is mentioned in
the README, but it obviously worth emphasizing again as without attention, 
some people will get erroneous results.

If you want a copy of this software, it is available by anonymous ftp, from
menaik.cs.ualberta.ca [129.128.4.241] in the file pub/atree.tar.Z . Thanks
to those people who commented.


Andy Dwelly

--
******************************************************************************
Andy Dwelly : dwelly@cs.ualberta.ca, Tel: 403-492-7591
!@#$%$#, %^&*%, - Listen, who swears ? Christopher Robin has fallen downstairs.
******************************************************************************