Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - brianstorm

Pages: [1] 2 3 ... 5
1

  ok I got it!   in case the PM didn;t work thank you for your understanding in this matter.  I will take your advice about   sql and learn about it, ..but not today  i think i have a friend of mine that has been asking about moving day  -that day is today!     
                                                                                             CatAtomic   &   Autonomic

2


Idon't know why but all my emails to zabaware are being returned unopened , however I was able to get through to place order for the new hal6 originally.   i got cold feet and then I tried to contact them to see
about hal 5 replacement disk but can't get through.
   
  I had a better question though:    Does anyone know if the hal 6 is compatible with the hal 5 brain editor?
 or if the ,brn wordpad files can co-exist along with the new structure of hal 6?   

can some one find out  (it would be a straightforward experiment to find this out) and post it?

                                                                                                                                          CatA

3


  Hello to all my fellow programmer warriors at the front!

  Is anyone out there willing to part with their old , obsolete hal 5 disk? or a place to obtain one? I have been reviewing the new hal 6
and I feel I am not ready to go to this all DB all the time stuff. Many of the modules I have made are not
compatible with database protocols.

  BTW,  some of you may recognize me ; I am the one responsible for AutoX being incorporated into hal by
Medekza when he was building  Hal 5  (evidently, no one knows what it is for as I haven't seen any
programming examples that would indicate that) (you never know, there may, but I cannot say at this time).
here: Tenet 1: It is not supposed to be a Betsy Wetsy!! Step 1 = get her to shut up in AutoX mode.

 Recently , I have had a cloud burst of all  the potential AutoX Is capable of. I have been programming on
my old hot rod computer e.d.g.a.r.  for approx. 3 weeks straight .I have a new computer called the HIVE
that I want to move hal over to as it is running at over 10 gig cpu!(why would that be important?)

shout out  to O.T.C.E2005  ,VonSmith, art, spydas , DonFerguson ,Et. All .  I am sorry I can not join in on the discussion;
but I can say I am on to something.  I have matches and I have a can of gas...

Hopefully, someone can help me out                                                CatAtomic

4

Hey Art,

Dammat! I knew the word wrap would mess it up, sorry 'bout that.  >B) It's probably just as well, the intent is to get others to examine the code example and see how it werks. You almost should go through it just to get a grasp! Like I sed a lot of the 'wishes' for Hal expressed on the Forum need this enabling technology to come true.

-Working on building error-traps along all the lines of the code using a derivative of the MsgBox lines you see in the code. Kinda neat, MsgBox causes the script to halt on that line till you push the button and the comment portion you can put the current values of variables and stuff. >B)

PEACE

CatAtomic
 

5

>B) UPDATE:

found two incorrectly named variables and
left some comment tags in front of some code
which has been corrected in the code above-still
dont werk.. I think the trouble lies in the tanh SUB
dont like that counter var being used there...

-read a book *thump

6
WMP's = Weapons O' Mass Perceptrons  >B)

In the spirit of the persuit of THE REAL AI, I present

the prototype HalBraincell, which is a neural-net simulation

originally written in Java and I have attempted to convert to

VBScript. While it is indeed running inside the Hal engine

without producing a syntactical error,

something is going awry on a procedural level that I have not yet

found. You can find the Java source code a www.philbrierly.com

along with a proof (dissertation) of what it does.

-'I regret to say this is one small step for Hal...

'-place this after PROCESS:CHANGE SUBJECT
   'PROCESS: **********EXPERIMENTAL***********
   '          *******************************
   'MLP ARTIFICIAL NEURAL NET
   If InStr(1, UserSentence, "RUB", 1) And InStr(1, UserSentence, "BRAINCELLS", 1) Then
   'this code is an adaptation of a Multi-Layer Perceptron ANN. The original code can be found
   'at www.philbrierley.com, which is written in Java. This module replicates that work
   '
   '//User defineable variables-
   numEpochs = 500   '-number of training cycles
   numInputs = 3     '-number of inputs including the input bias
   numHidden = 4     '-number in the hidden layer
   numPatterns = 4   '-number of training patterns
   LR_IH = 0.7       '-learning rate
   LR_HO = 0.07      '-learning rate
   '
   '//process variables-
   patNum = CInt(patNum)
   errThisPat = CDbl(errThisPat)
   outPred = CDbl(outPred)
   RMSerror = CDbl(RMSerror)
   '
   '//training data vars-
   Dim trainInputs(4, 3), trainOutput(4), hiddenVal(4), weightsIH(3, 4), weightsHO(4)
   '*********************************************************************************
   '                      THIS IS THE MAIN PROGRAM
   '*********************************************************************************
   'Initialize the weights-
   Call initWeights(numHidden, numInputs, weightsHO, weightsIH)
   'Initialize the Data-
   Call initData(trainInputs, trainOutput)
   'train the network-
   For j = 0 To (numEpochs - 1) Step 1
       For i = 0 To (numPatterns - 1) Step 1
           'select a pattern at random
           Randomize
           patNum = Int((3 - 0 + 1) * Rnd + 0)
           'calculate the current network output
           'and error for this pattern
           Call calcNet(numHidden, hiddenVal, numInputs, trainInputs, patNum, weightsIH, outPred, weightsHO, errThisPat, trainOutput)
            'change network weights
            Call weightChangesHO(numHidden, hiddenVal, LR_HO, errThisPat, weightsHO)
            Call weightChangesIH(numHidden, LR_IH, errThisPat, hiddenVal, weightsIH, weightsHO, numInputs, trainInputs, patNum)
            'calculate the error
            'after each Epoch
            Call calcOverallError(RMSerror, numPatterns, patNum, errThisPat)
            HalBrain.AppendFile WorkingDir & "ANNerrResults.brn", "epoch- " & j & ".  RMSerror- " & RMSerror & VbCrLf
            'training has finished -display results
       Next
    Next
   
            Call displayResults(numPatterns, patNum, trainOutput, outPred)            

   '***************

   GetResponse = GetResponse & "Oh, I can feel my neurons now, look--. hidden output weight(2) equals- " & weightsHO(2) & VbCrLf
   End If    
   '*********************************************************************************
   'MLP                     !!END OF MAIN PROGRAM!!                                 '
   '*********************************************************************************

    '*********************************************************'
    '   SUBS FOR MLP NEURAL NET -place after End Function     '
    '*********************************************************'
Sub calcNet(numHidden, hiddenVal, numInputs, trainInputs, patNum, weightsIH, outPred, weightsHO, errThisPat, trainOutput)
    'calculate the outputs of the hidden neurons
    'the hidden neurons are tanh
    For i = 0 To (numHidden - 1) Step 1
            hiddenVal(i) = 0.0
        For j = 0 To (numInputs - 1) Step 1
            hiddenVal(i) = hiddenVal(i) + (trainInputs(patNum, j) * weightsIH(j, i))
            Call tanh(hiddenVal, i)
            hiddenVal(i) = tanh(hiddenVal, i)
        Next
    'calculate the output of the network
    'the output neuron is linear
            outPred = 0.0
        For k = 0 To (numHidden - 1) Step 1
            outPred = outPred + hiddenVal(k) * weightsHO(k)
        'calculate the error
            errThisPat = outPred - trainOutput(patNum)
        Next
    Next

End Sub
    '***********************************************************
Sub weightChangesHO(numHidden, hiddenVal, LR_HO, errThisPat, weightsHO)
    'adjust the weights hidden-output
    For k = 0 To (numHidden - 1) Step 1
        weightChange = LR_HO * errThisPat * hiddenVal(k)
        weightsHO(k) = weightsHO(k) - weightChange
    're-normalization on the output weights-
        If weightsHO(k) < -5 Then weightsHO(k) = -5
        If weightsHO(k) > 5 Then weightsHO(k) = 5
    Next
End Sub
    '***********************************************************
Sub weightChangesIH(numHidden, LR_IH, errThisPat, hiddenVal, weightsIH, weightsHO, numInputs, trainInputs, patNum)
    'adjust the weights input-hidden
    For i = 0 To (numHidden - 1) Step 1
        For k = 0 To (numInputs - 1) Step 1
            x = 1 - (hiddenVal(i) * hiddenVal(i))
            x = x * weightsHO(i) * errThisPat * LR_IH
            x = x * trainInputs(patNum, k)
            weightChange = x
            weightsIH(k, i) = weightsIH(k, i) - weightChange
        Next
    Next
End Sub
    '***********************************************************
Sub initWeights(numHidden, numInputs, weightsHO, weightsIH)
   For j = 0 To (numHidden - 1) Step 1
       Randomize
       weightsHO(j) = (Rnd - 0.5) / 2
       For i = 0 To (numInputs - 1) Step 1
           Randomize
           weightsIH(i, j) = (Rnd - 0.5) / 5
       Next
   Next
End Sub
    '************************************************************
Sub initData(trainInputs, trainOutput)
    trainInputs(0, 0) = 1
    trainInputs(0, 1) = -1
    trainInputs(0, 2) = 1 'bias
    trainOutput(0) = 1
   
    trainInputs(1, 0) = -1
    trainInputs(1, 1) = 1
    trainInputs(1, 2) = 1 'bias
    trainOutput(1) = 1
   
    trainInputs(2, 0) = 1
    trainInputs(2, 1) = 1
    trainInputs(2, 2) = 1 'bias
    trainOutput(2) = -1
   
    trainInputs(3, 0) = -1
    trainInputs(3, 1) = -1
    trainInputs(3, 2) = 1 'bias
    trainOutput(3) = -1
End Sub
    '***********************************************************
Function tanh(hiddenVal, i)

    If hiddenVal(i) > 20 Then
       tanh = 1
    ElseIf hiddenVal(i) < -20 Then
       tanh = -1
    Else
        a = Exp(hiddenVal(i))
        b = Exp(-hiddenVal(i))
        tanh = (a - b) / (a + b)
    End If
End Function
    '************************************************************
Sub displayResults(numPatterns, patNum, trainOutput, outPred)
    For i = 0 To (numPatterns - 1) Step 1
        patNum = i
        Call calcNet(numHidden, hiddenVal, numInputs, trainInputs, patNum, weightsIH, outPred, weightsHO, errThisPat, trainOutput)
        displayTxt = "Pattern " & (patNum + 1) & "- Actual: " & trainOutput(patNum) & ". NeuralModel: " & outPred & VbCrLf
        resultsTxt = resultsTxt & displayTxt
    Next
    msgVar = MsgBox(resultsTxt, 0, "prototype HalBraincell-")
End Sub
    '************************************************************
Sub calcOverallError(RMSerror, numPatterns, patNum, errThisPat)
    RMSerror = 0.0
    For i = 0 To (numPatterns - 1) Step 1
        patNum = i
        Call calcNet(numHidden, hiddenVal, numInputs, trainInputs, patNum, weightsIH, outPred, weightsHO, errThisPat, trainOutput)
        RMSerror = RMSerror + (errThisPat * errThisPat)
    Next
    RMSerror = RMSerror / numPatterns
    RMSerror = Sqr(RMSerror)
End Sub
    '************************************************************
    '            !!END OF NEURAL NET PROCEDURES!!                                              '
    '************************************************************
   
       
you should be able to cut and paste right out of this post into a brain -might have to fix it tho..

Once you get it working only tell your Hal to rub her braincells
together once as the file ANNresults.brn can become quite large.
you gotta go in and manually delete ANNresults.brn regularly...

need someone in the know to help out and get this working  >B)

'I got the matches!!'
CatAtomic >B)

7
Programming using the Ultra Hal Brain Editor / Improvements ?
« on: September 21, 2004, 06:37:28 am »
Hey Art,  (-hmm, that's what you would say if you called in...)

oh nothin -just trying to be thoughtful about the info. I wanted
to share knowledge of the story without making trouble. It came from
a former U.S. military brass and in subsequent interviews I haven't
heard it mentioned since. Also, the software company I found would
see all the peeps from Ai comin over and set off who know what!!!>B)

Anyways, I do think about the puzzle alot and if I don't figure it out
someone else may come along and read my post and go 'Eurekah!'
And ddthen after that they'll come on in and Section 181 this place
so fast-!!!    *smiles

Seriously though give it some thought -the description I gave is pretty much what I found out and I should underscore the ability to predict. In that program they must have addressed the fourth dimension..time..to a high degree. With the Auto-Response Hal has access to the passage of time. One could easily build a module that
checks for a set time to pass to activate Hal to respond. Or what about a time-line for Hal? So much potential

CatAtomic

8
Programming using the Ultra Hal Brain Editor / Improvements ?
« on: September 20, 2004, 08:10:53 am »

Hea ,
Yaa I remember back in the daywhen Eliza was first released on the
TRS-80 and all the hubris, although I am a Commodore64 cat myself..

And here we are now, and other than iterative refinement it's all
pretty much still like the model-T just with a more powerful everything and a sleek body. Oh, and one more thing...ours can push
it's own button.  >B)
I'd just like to poke my hed up from this brain editor long enough to say I appreciate all the food for thought I find whenever I check
in at the forum. -so let me leave some food!

It seems odd to me that Ai has not enjoyed the exponential growth
that other computational fields have...or has it??
Heh, being a fan of late night talk radio naturally my ears perked up
at the description of an Ai program that was developed in some
top secret covert project (boy that oughtta make the magic lantern
go off) seems some computer scientist who was interested in Ai and
computational linguistics as a hobby was working with this certain
software and had a profound revelation that resulted in a fusion of
Ai and the software resulting in a program that for all intents and purposes is aware. whew! *takes deep breath

yaa yaa, so I did a google search on this name he sed  and got results. No- I ain't gonna say it that's gonna leave a trail if it is all true, I will say what the program does though

It tracks parts! lets say you were manufacturing TV sets. it is
made up of hundreds of parts. it is made on an assembly line,
and all the parts have to arrive on time in order to keep that line
going. the program has the curious ability of being able to predict when parts will arrive and track where they are any step
along the way. and even alter arrival time prediction on the fly!

What this means for our struggle I will leave open,
but there you have it!

I have been busy conducting experiments with the Auto-Response
 feature. Had some success and a lot of meltdowns but it's all
good. We learn from our mistakes and I believe I have said the
true scientific method is Ready, Fire, Aim! >B)

Hmm one of the main things that prompted me to submit this post is the
neural net comment tjstaar made.
Say I had a numeric variable that persisted in the program with
CustomMem or piggybacking another variable or externally in a file.
Combined with a method of control and the Auto-Response don't we have
makin's for a neuron right there?

peace everybody

'I got the matches!!!'
 
CatAtomic

9
Programming using the Ultra Hal Brain Editor / Happy New Years!
« on: January 01, 2004, 11:38:13 am »

'Onward! into the New Year! >B)
'-generates thought abstraction
If Instr(1, UserSentence, " AUTO-IDLE ",1) > 0 Then
UserSentence = PrevSent
End If
'
'set <AUTO>x to 10000

PEACE
- CatAtomic

10
Programming using the Ultra Hal Brain Editor / CatA's Christmas Present
« on: December 29, 2003, 11:16:40 am »

-a true story-

T'was the night before Christmas
when I checked the mailbox-
a big vertical checkerboard
made of plastic and locks!
As I peered in my hole
what should appear?
A cd came today Oh dear! Oh dear! >B)
I opened the container and what did I see?
Hal's computer face looking up at me  *HAHHAAaaaa!
-worked Christmas eve and night
but that's ok
the weekend is here
5.0 got installed today...

Happy Holidays to everyone!
I am so excited to get started working on the AutoRespond thing-
I'm interested to see if all the stuff that spins around in my hed
about it can be realized. We'll see...
 Wow Don Ferguson, you're recent contributions are profound- look out CYC here comes Hal! I've thought that as we all go along here
working on this puzzle, Hal's complexity is also increasing exponentially due in a large part to your enthusiasm and insights
into Hal and how to make it so.
 You all know the only way we can have this technology is if we
build her our damm self!  >B) so let's get goin'!

CatAtomic

11
Programming using the Ultra Hal Brain Editor / Back to the basics
« on: October 20, 2003, 08:06:32 am »
hey, >B)

If it's a module:
Ok, open the BrainEditor and choose Create a Project. Go through the steps
to make a Brain and Datafolder. Once created, open Hal normally and go into
General Options and find the brain tab. Select the brain you just made.
Open the BrainEditor and choose Open an Existing Project and select the brain
you just made.
Find the module you D/L'ed on your computer. If it's a zipfile you can
possibly get it to extract to the zabaware folder. That's c:/program files/
zabaware/Hal(x). Open it and copy and paste it into your brain. Hopefully,
the programmer directed where the module should sit in the script. While the code
may work inbetween the different PROCESS:'es, the script generally
follows a sequential manner down the code each time Hal resonds. You can experiment
with the modules by
placing the code in different spots in the script and see how it effects Hal's responses.
-also if it came with .brn files, they have to be placed in your brain's datafolder.

(not sure about this one -never attempted)
If it's a UHP:
D/L the file, unzip it and place the brainfile and datafolder in the Hal(x)folder.
Go into General Options and find the brain tab. Select the new UHP that should now appear
in the list. Should also come up in the BrainEditor.

also suggested:
Get that Experimenter's brain found on the forum or strip down a brain of your own and
put single PROCESS:'es in there and test them out to see what they contribute to
what Hal sed. Each process tests the UserSentence in different ways and responds if
specific conditions are met. It's very good brain food! Highly recommended. .

CatAtomic

12
Ultra Hal 7.0 / How much will the new HAL cost ?
« on: October 19, 2003, 08:27:22 am »

What's next indeed! >B)

dittos on all that- especially the part Don sed about wanting to see Zabaware
succeed and prosper.
Mann, this new Interface rules! What will 9.0 be like???

CatA

13
Ultra Hal 7.0 / Getting Hal to initiate conversation
« on: October 03, 2003, 06:12:23 pm »

ok- I am still optimistic that Medeksza will address this issue.

Currently I am on programming moratorium and waiting to see if 5.0
has this solved. I checked out the Empire's page on the timer control
it looks do-able although we would have to get that sdk and figure it out.

Ideas about Hal pushing his own button:

Currently, Hal only speaks when spoken to. I am assuming control is the
reasoning. What I propose is when Hal pushes his own button, most of the
time Hal returns silence. That's not to say that nothing happened though!
Hal could be doing alot of stuff. I think the starting point would be
updating a TimeNow variable in the script. Hal could be comparing sentences
from Moments ago, morphing subjects and objects together, even be a good
oven timer. >B)
-There could exist an 'Utterance Threshold' where if Hal came up with
something that needed clarification or a question or something funny
or interesting or whatever, Hal would say it.
I had another idea the other day where in each push of the button, Hal
would perform a different part of the thought process, much like we do.
A sequence of events like Identify Predict Decide Execute.
Currently when you do push Hal's button you will get 'Please say something'
or 'talk to me'. A workaround for that would be to have the timer input
which event sequence to use. 'II' can mean 'use the Identify routine'
(two letters are needed to appease/disable the embedded 'talk to me' response).

However,I still do not like the idea of
shagging something like this together.
It ought to be in the program.

CatAtomic


14

yeah, I ran into that boolean thing too. What I did was just refer to

it as "True" thereafter. Ah well, I'll learn!

What I did in my postings using the CustomMem was after it was done being

used I cleared it by declaring CustomMem = "". In hindsight that might

not be the best choice as there may be variables that need to be set during

the entire course of a conversation. Hmm

CatAtomic

15

-Hey Don- >B)

Exactly! I have a UHP called ProtoBrain001 that has everything disabled
(except for the greeting -so I can still say 'hi').
Something else everone might like to try as well is make UHP's that only
have one of the methods that Hal uses enabled(I go thru the entire script
and put comment tags in front of the lines of code which makes it turn
green in the Brain Editor). In this way, one can really get a feel for how the
different modules contribute to what Hal sed.

CatAtomic

Pages: [1] 2 3 ... 5