 |
 |
 |
 |
 |
 |
 |
 |  snapster08 |
|  |  |  |  |  | posted 1/19/2011 17:21 |      |  |  |  |  |  |  |  |  | hi, i'm new to the field of AI and was wondering if intelligence was possible by just a simple pattern matching algorithm which works like this:
the agent reads a lot of data from the environment, various parameters depending on the domain.
the data read fr each instance is recorded in a log.
it performs an action based on a high priority attribute value(the priority is initially same for all attributes)
it then records the result of the actions also in the log.
(the above steps keep happening infinitely until d goal is reached)
now the pattern matcher checks the log to see if the way any parameter's value changes in correlation vit d rate of success, based on d degree of corelation each atribute is assigned a priority, and as more and more data is discovered each attribute's priority level is modified appropriately...
will this work? and if not what are the problems??
|  |  |
|  |  |  AiHasBeenSolved |
|  |  |  |  |  | posted 1/20/2011 00:08 |      |  |  |  |  |  |  |  |  | The problem is that the design above, while ambitious, does not seem to include the conceptualization of the matched patterns. The link below leads to information of AiApp design based on artificial intelligence that uses pattern matching for sensory input, followed by the activation of concepts behind the matched patterns.
|  |  | AiApp development of artificial Minds for mobile and tablet copmputers |  |  |
|  |  |  hunt |
|  |  |  |  |  | posted 1/20/2011 01:29 |    |  |  |  |  |  |  |  |  | | | snapster08 wrote @ 1/19/2011 5:21:00 PM:
hi, i'm new to the field of AI and was wondering if intelligence was possible by just a simple pattern matching algorithm which works like this:
the agent reads a lot of data from the environment, various parameters depending on the domain.
the data read fr each instance is recorded in a log.
it performs an action based on a high priority attribute value(the priority is initially same for all attributes)
it then records the result of the actions also in the log.
(the above steps keep happening infinitely until d goal is reached)
now the pattern matcher checks the log to see if the way any parameter's value changes in correlation vit d rate of success, based on d degree of corelation each atribute is assigned a priority, and as more and more data is discovered each attribute's priority level is modified appropriately...
will this work? and if not what are the problems??
| | What your describing could simply be a method of steepest descent algorithm, where the step size ("attribute value") is varied at each iteration. (In this case, the "goal" is finding a function minimum.) See: http://en.wikipedia.org/wiki/Gradient_descent
So yes, this type of algorithm does exist. The real question is, how does one quantify the "fitness" of the test pattern (that is, how does the algorithm quantify how close to the goal the test pattern is).
My personal interest is in NLP. In the case of string matching, one might test fitness using, perhaps, Levenshtein distance as a metric. Then the AI would iteratively vary its pattern rules in order to replicate a given string, using the Levenshtein distance as a measure of how close the pattern gets.
|  |  |
|  |  |  snapster08 |
|  |  |  |  |  | posted 1/20/2011 15:16 |      |  |  |  |  |  |  |  |  | | | hunt wrote @ 1/20/2011 1:29:00 AM:
So yes, this type of algorithm does exist. The real question is, how does one quantify the "fitness" of the test pattern (that is, how does the algorithm quantify how close to the goal the test pattern is).
| | The fitness of the test pattern can initially be given as a simple statement, whether it can reach the absolute success state of "1" or some simple function which determines the goal state based on lets say a single attribute to give a vague idea of the degree of sucess (like the straight line distance frm a goal state in d case of a maze algorithm n say if the agent is gettin "warmer" or "colder"), then slowly as it analyzes more and more data, the fitness evaluator can add more functions to its arsenal and get towards a more realistic solution.
|  |  |
|  |  |  hunt |
|  |  |  |  |  | posted 1/20/2011 15:23 |    |  |  |  |  |  |  |  |  | Just be wary of "local minima". Taking your maze, for example. One might get quite close to the exit and end up in a dead end. Does that make the dead end solution better than one that places you further from the exit, but perhaps on the right trail?
So not only must one incorporate tools for approaching a minimum, but one must also sample the parameter space more widely to make sure a larger global minimum is not out there.
(This should be obvious, but in case you haven't done much numerical optimization: In practice, you won't often get to "1". The question becomes, at what point is it a waste of time for your algorithm to keep inching towards "1" and when is "0.99999" good enough.)
|  |  |
|  |  |  snapster08 |
|  |  |  |  |  | posted 1/21/2011 15:32 |      |  |  |  |  |  |  |  |  | | | hunt wrote @ 1/20/2011 3:23:00 PM:
Just be wary of "local minima". Taking your maze, for example. One might get quite close to the exit and end up in a dead end. Does that make the dead end solution better than one that places you further from the exit, but perhaps on the right trail?
So not only must one incorporate tools for approaching a minimum, but one must also sample the parameter space more widely to make sure a larger global minimum is not out there.
| | at the first few environments (mazes) the agent will think that the closest it can get to the goal is the dead end... but once it gets to the goal once(if it keeps trying more and more mazes it is bound to at some point right?), it realizes that reaching the goal is possible or atleast a point closer to it than previously had been anticipated (similar to how man used to thinkheavier-than-air-machines can never fly before the wright brothers), thus it will realize that there are better patterns than the ones its searching for, thus it will try out newer patterns to search for and end up getting better, maybe reaching the 0.99999 point after which it can give up pattern matching...
|  |  |
|
 |
|
 |
 |