I can pass the input "make coffee" and it finds a path from the root to the goal node (which was activated by the command). I have the actual structure lying around here somewhere, I'll scan it later tomorrow.
The problem I am currently facing is increasing the weight of context from input sentences. Theoretically, if someone says "Get some water from the faucet and make coffee", the agent should take the hint that the user wants the agent to actually make coffee and not just buy it, even though buying the coffee would be easier. It's a delicate balancing act - how do I differentiate priming through simply mentioning something from a command that implies a particular path of action? I'm still working on it. Perhaps it will just be adjusting some parameters, or maybe I need some "must fulfill" nodes that are required to be on a final procedure path.
I need to make some adjustments, but at least I have something to work off of.
Another thing I was thinking about was spatial representations. At first I was planning on off-loading pathfinding to the game engine - a function would return a curve providing a path through the environment. But then I realized I already have a shortest-path algorithm doing my work in my cognitive model, so why not use that? It also allows me to do certain things like remembering common paths, integrating obstacles and location descriptors such as room numbers, cardinal directions, etc. Once I have the planning aspect finished I suspect that will be my next goal.
I'm also wondering if I should start using Unity as a visualization for my network. I can do some debugging simply with console output, but it will become more difficult as the network grows. I'm going to see how easy it will be to implement a basic visualization GUI. It'll help me get used to using Unity too.
Unity GUI stuff is pretty easy to use in comparison to other UI stuff out there, *cough* gamebryo *cough. And judging from your flow charts, I think it might be a good idea to start integrating your code into Unity.
ReplyDeleteSeconded, Unity makes everything pretty easy. What exactly are you trying to do? If you're going to end up in Unity eventually anyway you should start now since it can be a little finicky.
ReplyDeleteI wanted to get the base code working before I started in Unity, so I could fix any problems without having to worry about Unity. The majority of the code won't be interfacing with Unity anyway.
ReplyDeleteI'll make a post about my near-future plans.