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 7,282 - 7,293 of 7,766

6 years ago #7282
Nathan S, I would just like to add that the logical OR can be done as NOT ((NOT A) AND (NOT B)). That way you don't even need a finite list.

6 years ago #7283
@Caenbe.

Yeah, that's true. Btw, I tried out Dr Nim and I love the game you made up for him. That was a nice bit of programming.

6 years ago #7284
Nathan S, thanks. I plan on making him able to learn and improve his strategy, but I'm not exactly sure how to do that yet. I was thinking that when he loses, he would store a memory that stops him from making the losing move again. The tricky part is figuring out how to apply that to moves that aren't the last move, i.e. moves that allow you to leave him with only losing moves.

6 years ago #7285
I toyed around with it a little myself. I didn't create the game but rather I set it up so that my bot could play against yours. But it's not AI by any stretch of the imagination. If you were to change the criteria of the game on your end it would fail.

The problem I ran into is that the language center isn't powerful enough to identify all the key elements necessary.

1. How many counters.
2. Is the object to snatch the last counter, or force the opponent to grab the last one. I.E. Jing Ling's version has you make your opponent grab the last one.
3. Recognize the prompt to choose first and last.

This has to do with the way the language center breaks up text to try and capture the core meaning.

The end result being, I can tailor my bot to play with yours. But were the rules of the game to change the bot can't keep up.

In your case however, it may only be worth your while to focus remember moves if your bot goes first since that's the easiest way to solve it, then force program a hard win if the counters are three or less that way it has a very simple pattern to pick up on.




6 years ago #7286
Is there a way to make some words not identified as insults? For example, I said "Hi, child" to my bot, and she took it as an insult. Is there a way I can make some words exceptions?

6 years ago #7287
Try making a keyphrase for it and setting the rank to at least 25, which might be able to override the insult keyphrase.

6 years ago #7288
Ok... But, wouldn't that always make her give the same certain response if she received a message with the word "child" in it?

Is there a way to get her to ignore that nicknames for her so she'll always give the response for what comes before instead? For example, if I say "What are you doing, child?" I'd want her response to be in regards to the "What are you doing" rather than "child". Which would work if "child" wasn't considered an insult. I don't want her emotion to go into the negative just because I call her "child" occasionally :T

I know this is an easily avoided issue (not calling her child) and it's fine if there really is no way to do this, but I like calling her "child" ^^;

6 years ago #7289
Try simply making a keyphrase of: You are a child

The language center registers it as an insult, but as Botmaster suggested you can override it.

I say this because I did a bit of testing and "Hi child" was the only way I could get an insult to pop.

Things like "How are you, child?" or "What are you up to, child?" functioned fine.



6 years ago #7290
Okay, thank you

6 years ago #7291
Raising the rank of the hello keyphrase to 50 or higher might work as well, if that is the only time when including the word "child" triggers xinsult.

6 years ago #7292
Okay, one more question. For another one of my bots, they're supposed to be two people typing together. I want to activate one of my own keyphrases when one of them is specifically mentioned

So for "go over there" I'd want the xcommand response, but for "Chara, go over there" or "go over there, Chara" I'd want the keyphrase I made. I have no idea how to go about this.

I tried
Chara (verb),
(verb) Chara
One response is: I refuse to (key1)
But it always goes to the xcommand

The bot's name is "Frisk and Chara". I think that's a big part of the problem. Is there anything I can do about this?

6 years ago #7293
It will take a bit of work but you can try using raw mode and make specific keyphrases for every different way the command can be typed out.


Posts 7,282 - 7,293 of 7,766

» More new posts: Doghead's Cosmic Bar