Well this is not really a c++ question but I was wondering if any 1 here could help! AI has developed since the early 1950's & its association with games development is a fundamental aspect that requires & entails the knowledge of programming languages. This is the 1 reason why i will ask the following question here, perhaps there are programmers here with AI knowledge?!
I have been asked to find out any problems associated with the sense-think-act cycle with regards to robot control. As im aware the sense-think-act cycle is relivant to the GOFAI(Good Old Fashion AI) or classical AI approach.
The only major problem I have found so far is:
faulty sensor output ect
Does any 1 know of any other computational problems when relating to robot control & the sense-think-acy cycle?
Also I have read a bit about cognitive science but im a little confused as to what category of AI this falls under. So far I have gatherd that its ideas are to not represent the world as a model to the AI but have the world as its model. ie, no world representations are needed, the AI interacts and deals with the its task using no models.
Is the cognitive science approach classical ai? behaviour based ai? or an hybrid approach?
can any 1 here help please, or do i have to read a thousand more pages lol :SICK:
The problem, of course, is the THINK and ACT stages. THINK -- what does that mean? You have the initial setup of the system, which is typical gigo -- its trained to handle a set of conditions with a set of actions. Great, it works, whatever. Now, you throw something it has not been trained on at it and what does it do? This unknown input could be anything -- lack of sensor input or bad input, mechanical failures, new environment (flat floor to stairs etc) or anything. The ability to 'figure it out' is what I mean... how will your system handle the unknown in a safe, reasonable manner? This could be really simple: if you see something you can't handle, shutdown and ring an alarm, or it could be complex (sample the data and the state of your machine and adapt until you can force the state of the machine to a desired state using the new data). That last is adaptive control-- for example, keeping a car between the lines (desired state) when you have been side swiped by another car (for an untrained input).
ACT -- what does that mean? Your system must do something reasonable under the given conditions. Normal operation is just predefined actions, but what do you do when things are different? Again, this ranges from simple (do a default action) to complex (learn a new action that puts you 'back in operation' whatever that means).
So the main problems of AI are how to handle unknown situations, first by thinking about them (some data processing) and then with an action (more processing to determine a good action). If nothing unknown ever happens, you are basically looking at a lookup table of known situation = known action (its a little more complex but this is a concept).
For robot control, you really, really need to understand adaptive control theory and probably sensor fusion, at least at a basic level. Start there if this is a *real* project (you intend to build a robot).
I hope this helped. BTW I am not uber-impressed with AI in general. Games 'cheat' (for example many console racers just stick the competition in front of the human). Neural nets work ok on a class of problems, but not so well so often. Fuzzy logic and heuristics work but suffer just like ANNs when you start the adaptive stuff. The bottom line is that while there are some things these approaches do very well, (specifically, known goal and known state -- state can be forced to the goal very cleanly) computers can't *really* think, so if you expect them to, you will be disapointed. They can fake it very well for a constrained set of input or mathematical operations (chess is basically a math engine that weights all the possible next N positions and picks the high valued one. Thats why its hard to make a human-like chess partner -- its easy to beat up the human (pick the best moves) but hard to make 'human like' mistakes on purpose).
Anyway enough for now -- what was the question? Hope this helped somehow...
Thank you for your input jonin. I was relating more to the computational issues with regards to the think-act-cycle. Modelling the real world i have found to be the most significant problem. As stated Frame rates & frame axioms are major contributions to this problem.
Although introducing problems that have no predetermined solution seems an interesting aspect. How would a robot tackle such a problem if it could? I think I will research this aspect of AI control further.
Which leads me to hierarchy process's. I briefly read about a robot containing a a hierarchy of action process's that are determined by the current state & or task at hand. I dont have much knowledge on this but from what i could make out there is often a confliction of what process takes precedence over another. This confliction often leads to a juddering mechanism of robotic controls. What I could not establish was if the heirarchy is contained in robot architectures based on the GOFAI, BBAI or Hybird :confused:
well i must produce this report on tuesday, so it seems I have a lot of reading to do!
Thanks for your help :D
Top DevX Stories
Easy Web Services with SQL Server 2005 HTTP Endpoints
JavaOne 2005: Java Platform Roadmap Focuses on Ease of Development, Sun Focuses on the "Free" in F.O.S.S.
Wed Yourself to UML with the Power of Associations
Microsoft to Add AJAX Capabilities to ASP.NET
IBM's Cloudscape Versus MySQL