Go Back   EQEmulator Home > EQEmulator Forums > Misc > Misc::Off Topic

Misc::Off Topic Want to talk about something that has nothing to do with EverQuest or the emulator? Post here.

Reply
 
Thread Tools Display Modes
  #1  
Old 01-17-2009, 04:25 PM
Kobaz
Hill Giant
 
Join Date: Nov 2008
Location: Gold Coast, Oz
Posts: 119
Default

I worked in a faculty where there was a lot of AI research. My area of expertise is using GACA (genetic algorithm cellular automata) for modelling spatially heterogeneous dynamic systems. My colleagues worked on other problems, including chat-bot interfaces to expert systems. There were often complicated conversations over coffee while things compiled or ran where we would bounce our show-stoppers off each other. So take what I say with a large amount of salt, as I'm recalling things that were discussed in brain-storms.

The short-term/long-term memory issue can be handled by using techniques similar to those used in ARIMA time series analysis to monitor serial correlation. The maths is a lot like that used to try to predict what the stock market is doing. The idea is that all concepts have a weight factor, and that the more recent concepts have higher weight than less recent. If a concept is raised that is highly correlated to an older one then the older facts have their weights boosted by a small amount. Over the course of a conversation the topic being discussed tends to have a sufficient weight to stay at the head of a queue of topics. As in all evolutionary computing (ANN, GA, GACA, GP) getting the rate of change of the weights right is damn hard.

I know one fellow was constructing ontologies of the conversations, and was using that to maintain context. He was using multiply threaded trees, and was maintaining the trees in a DB using memory-only tables (for speed), periodically flushing to disk. He was using a B-Tree based DB as I recall.
Reply With Quote
  #2  
Old 01-17-2009, 10:16 PM
Deimos
Hill Giant
 
Join Date: Jun 2004
Posts: 135
Default

Uh... wow o-o.

And for the conversation, did it take these memories into account for understanding the meaning of everything?

I mean, really, the hard part I am having right now (I'm probably going to be doing something like you said, but much less complex and more basic, just to give the appearance of something that looks complex and superior ;p) is getting the thing to understand the concept of itself and of things that are not itself without defining anything : ). Also, teaching it the very fundamentals of the human language based on those 2 concepts and a third (what is me, what isn't me, and what I need), which I believe are the basic concepts every human is born with.

The AI doesn't have to understand the concepts, it just has to know them and have the capability of later coming to understand them.

I believe that's how any living creature fundamentally grows and comes to understand what's around them.

You can correct me if I'm wrong (I haven't read up on it or anything, it's just my own theory that was brought up with my own thinking on the topic).
__________________
//The Path of Chaos Server-
//Fate Industries
//Lots of stuff O-o
Reply With Quote
  #3  
Old 01-18-2009, 03:52 AM
Kobaz
Hill Giant
 
Join Date: Nov 2008
Location: Gold Coast, Oz
Posts: 119
Default

Quote:
I mean, really, the hard part I am having right now (I'm probably going to be doing something like you said, but much less complex and more basic, just to give the appearance of something that looks complex and superior ;p) is getting the thing to understand the concept of itself and of things that are not itself without defining anything : ).
Seems that what you're trying to get is some form of artificial consciousness. Personally I'd be a bit less ambitious, but there is a history in this kind of work of talented amateurs making profound leaps because they don't have the training that says we can't do this yet. I know that there was a lot of research in this direction at Los Alamos and Berkeley in the mid to late 90s, sponsored by the US military.

Quote:
Also, teaching it the very fundamentals of the human language based on those 2 concepts and a third (what is me, what isn't me, and what I need), which I believe are the basic concepts every human is born with.
The "what I need" bit is the core of all evolutionary computing. You define what that is (typically it's either specific kinds of input or responses to output) and use that as your "happiness function". Whatever increases happiness is something that should be more likely to happen again, and what decreases it should be less likely (this is a massively simplified version - look into sigmoid functions, integrating nodes and transition functions for more detail, there's a fair bit of hairy calculus in the literature). In your case, if the human response correlates well with what the bot says, then it should "become more happy" and learn that that was a good response.

The other 2 can be either very simplistic or just too damn hard. At the simplest level any input that comes from outside is the second, whilst input from back propagation (i.e. output is looped back as input - once again a gross simplification ) is ideas from Self.

And for your biggest question:

Quote:
did it take these memories into account for understanding the meaning of everything?
No. The idea was that the expert systems were very good at asking questions and answering them on specific things. For example, an expert system that can simplify medical diagnosis only needed an ontology that covers the knowledge for that purpose. As diagnoses were confirmed or refuted by real human doctors the expert system gets better at asking the right questions and interpreting the human responses. The memories (which are trees of questions and answers with weights) become more refined over time, but the constraints of limited scope means that many things are not remembered as they do not contribute (positively or negatively) to the fitness (happiness) function.
Reply With Quote
  #4  
Old 01-18-2009, 01:57 PM
Deimos
Hill Giant
 
Join Date: Jun 2004
Posts: 135
Default

Hmm... Well, as I said before, I have pretty much most everything planned out except for that one thing, the concept of it understanding itself and understand what isn't itself without defining anything : p.

The reason I am doing it like this is so that I can make it act natural and what not ; ). If I define itself and define what isn't itself, then its responses for those things will be static.

However, I think a good way to look at this would be to perhaps define the itself part and to leave the not itself part undefined, meaning it has no understanding of the outside world and only knows what it wants and so forth.

With this, various behaviors and what not can be put into it and it can understand the concept of I, one, me, etc, and it can define you as a sentient being such as itself that is not itself, but another being. It can define things and what not as things that are not sentient beings.

= )
__________________
//The Path of Chaos Server-
//Fate Industries
//Lots of stuff O-o
Reply With Quote
  #5  
Old 01-18-2009, 03:30 PM
Kobaz
Hill Giant
 
Join Date: Nov 2008
Location: Gold Coast, Oz
Posts: 119
Default

I think that you have to define something. Babies are born having needs that can only be met from external sources. Human babies are born with set responses to faces, boobs and have predefined responses to touch for example. They don't really know anything, that comes later as they categorise things as pleasure or pain. It's debatable when the concept of Self develops - it takes at least a few weeks if my experience as a parent is anything to go by.

An example would be when a baby discovers its own feet. It certainly looks as if there is no idea that these things are a part of Self, until the baby tries to bend them in a direction they don't go. Or when a toddler discovers its shadow - I've seen one of my sons in a panic about this thing that follows him around. Only over time did Zak learn that this was really an image of him (i.e. an extension or projection of Self).

All infants are born with immense amounts of wiring that defines responses to stimuli. Everything else develops as associations to that initial programming.
Reply With Quote
  #6  
Old 01-19-2009, 01:11 AM
Deimos
Hill Giant
 
Join Date: Jun 2004
Posts: 135
Default

Ok, well for storage and initial setup, it's getting kinda complex and it looks like I might have to end up making my own scripting language o-o.

Ok... here goes..

First, each NPC has their own object that they can refer to. The objects are automatically created and what not if they don't exist and all directories are auto made and so on.

From here, initialization of the object takes place in the NPC's local quest file under the INI sub routine. This is only if the file isn't already there : ).

Also, I have something that's getting setup to make NPCs load specific initialization files based on special labels for them and what not. I also setup something so that they load up a config file O_o. Not sure what to use this for yet or how I'm going to read it and store it (this is where I think I might end up doing a custom scripting language).

It's just getting kinda complex ^_-.

I figure I'm going to store memories and what not in their object file. However, I could store anything I wanted in their, so I could let people completely do all of their stuff in that one object (special flags, and so on, w/e they want).

Actually, now that I think about it, the object file can just be custom information people want that NPC to have. The configuration file can be the stuff the AI Engine runs with. I suppose this configuration file could be the thing that really runs the AI. Eh, but loading up lots of files is going to slow things down...

I could add a new table to the DB for NPCs, but no, that wouldn't be good... I think hashes stored in files (that can be treated as extremely dynamic objects) are the best bet. So then... the configuration file can be used simply to run the AI dll and determine how the NPC acts and what not. The object file can store the NPC's memories and everything under the AI Category (which will be reserved I suppose).

What do you guys think?

Am I being too ambitious? (This storage system thingie is all working thus far ^^).
__________________
//The Path of Chaos Server-
//Fate Industries
//Lots of stuff O-o
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 06:31 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3