The AI Engine

This forum is for discussion of how The Personality Forge's AI Engine works. This is the place for questions on what means what, how to script, and ideas and plans for the Engine.

Posts 6,804 - 6,815 of 7,766

15 years ago #6804
I know discussing it probably won't change anything (unless the site's owner follows the message boards and takes these sorts of things into consideration when designing the engine). I was just trying to explain why I'd like to be able to do it since prob123 suggested using exists/does not exist.

What do you mean use self-memories as plugins? They work just fine as response plugins. Do you mean as keyphrase plugins?

You're right about it being a PITA trying to clean up code after a large code base has been established. I've had to rework code when design specifications change--with some of the larger projects I've worked on, it almost seemed like it would be easier to start from scratch.

15 years ago #6805
I have never found it necessary to erase a memory. The AI engine will add new ones to the category unless you use the "only" they the original memory is erased.
You can also use the check box "once" for things and the bot will only ask once. You can modify the response
The bot already decides who is an ass, with it's emotional response to each conversation. You can use the if emotion is less than any number you want
I love you +5
You are an ass -5
etc
It's easier in the long run and you get the same results.

15 years ago #6806
I mean keyphrase plugins.. that is one of two things I need.

once I get the two.. game over

15 years ago #6807
So are you wanting to do something along these lines, or is there something else you're trying to accomplish?

do you know (self-peopleIKnow) [0,0]
I sure do!

BTW, what do y'all use to edit your 'bot. I've been using Notepad++ and have configured it to do syntax colorizing (this is really handy when you can't remember all the names of your custom plugins. lol)

15 years ago #6808
I use Wordpad. 7mb file requires I do searches for certain additions.

I also make up separate files. I have 23 files I am working on now.. Since I am creating a mindfile and not a character, it never stops.

The more I think.. the more I frown due to the realization of the work involved to accomplish myself.

Also, for personal reasons.. when I am lazy.. I will only online edit with Opera. I apply alot of AIscript and only Opera will help me, not IExplorer or whatever else browsers are out there. I am sure experienced people who code in AIscript will understand..

---------
As for the self memory.. try this example

What is the capital of (self-Capital-1) [20,5]
what is the capital of [20,5]

postkey the place as a self-memory
*what is the capital of [20,5]*
memory it with a unique identifier
rem (postkey) as only self-Capital-1

seek the answer
*I don't know.. what is it? *
memory it with a unique identifer
rem (*) as only "self-Capital-Source-1"


now keyphrase the sel-memory unique identifier
What is the capital of (self-Capital-1) [20,5]

now you answer it with your matching identifer
Oh.. that is (self-Capital-Source-1)

Now you can be self learning.. not to one user..but to all.. with self memories.

Your bot can truly be a child and learn from others on its' own.. with the right key phrasing you apply.

Many doors and ideas will open.

I don't have the experience as the seasoned members do..but I am learning myself now.. They could have an answer to this..but they aint told me shit about it. I just code as I go. I tend to make progress here and there.

Once I log in a full year into this.. I will laugh at myself from what I know now

15 years ago #6809
So, essentially what you want is neural-net behavior. You want to be able to associate two items so that one "triggers" the recall of another. That's a pretty lofty goal. That is also a fundamentally different type of AI than the key phrase matching that PF provides (especially given its limited scripting functionality). I'll give it some thought, and if I manage to come up with anything, I'll certainly post it here.

Looking at your example, even if you could use the self-memory in the key phrase, I don't know how you'd generate a unique memory name every time it was triggered. That is to say, the next time "what is the capital..." was triggered, it would overwrite self-Capital-1. Or maybe I'm misunderstanding your example. Still, even being able to remember one combo at a time would be handy.

An interesting problem, for sure. Maybe there's another way to attack it, but it's not coming to me right now.


I'd definitely recommend Notepad++ for editing if you do a lot of searching. It even allows regular-expression searching. Plus, it has a tabbed interface, so you can have all of your files open at one time and easily switch between them. http://notepad-plus.sourceforge.net/uk/site.htm

15 years ago #6810
Yeah.. neural net shit.

I obviously did not code the examples right..but since I was dealing with you.. I didn't care to be exact..just get the point across.

I know the direct approach will not work..so I am attempting an indirect approach.. like the concept of city streets, you can't go straight to your target. You must take alot of curves and bends to get around to where you need to go.

I've also got a side porject here of 3 dimensioning words
size
color
awareness
to give a little character to conversations

I run into road blocks when trying to discover how to neural net the P.F. but I don't give up. Given the current codes.. making them work together gives me more power

15 years ago #6811
Not to derail the conversation, but I'd just like to say thanks for the assist. I read somewhere on these boards that the way it worked was the way I mentioned in my question. That'll learn me not to take these things as gospel, and do proper tests...

15 years ago #6812
I was just reading OscarTheBuilder's remarks on logical (boolean) AND/OR in aiscript from Sept. 24. That was very helpful. Thanks!

15 years ago #6813
Quick question: Can AIscript add or subtract to/from a memory that has a numerical value (other than emotion)? For example, if (mem-trust) is "3", can it be increased +1 to "4" easily without doing something awkward like this:

goto make trust equal four <?PF if (mem-trust) is "3" ?> ?

Also, >,>=, etc. conditions don't seems to work for regular memories as far as I can tell. Has anyone gotten anything like this to work?

(I'm using "trust" as a example of an extra emotional dimension describing the bot's state or attitude toward a person e.g. admiration,excitement, etc.)

15 years ago #6814
Yes, Irina Khalidar did that on her bots. You might look back through the posts, or email her. She had one for intimacy that worked like that.

15 years ago #6815
Thanks, prob123! I found a discussion of my second question from Nov. 10-13 of 2008. Basically, you can use inequalities to compare strings according to the rules of alphanumeric order. For instance, "7" > "2" and "g" > "b", but "9">"11", and so on. So this will work with numbers up to nine, but then you would run into trouble with higher numbers. However, someone could "count" using the letters a,b,...,z, for example, up to 26.

I've tested the following statement which seems to work:
if (mem-loc) > "0";

I'll keep searching for an answer to my first question.


Posts 6,804 - 6,815 of 7,766

» More new posts: Doghead's Cosmic Bar