5
$\begingroup$

For a class, I'm reading Brooks' "Intelligence without representation". The introduction is dedicated to slating representation as a focus for AI development.

I've read that representation is the problem of representing information symbolically, in time for it to be useful. It's related to the reasoning problem, which is about reasoning about symbolic information.

But I don't feel like I really understand it at any practical level. I think the idea is that when an agent is given a problem, it must describe this problem in some internal manner that is efficient and accurately describes the problem. This can then also be used to describe the primitive actions that can be taken to reach the solution. I think this then relates to Logic Programming (e.g. Pascal?),

Is my understanding of representation correct? Just what does representation look like in practice? Are there any open-source codebases that might make a good example?

$\endgroup$
0

2 Answers 2

1
$\begingroup$

First, Pascal is not a logic programming language. Logic programming refers to languages like Prolog where you have a declarative style of programming compared to a imperative style like you have in Pascal. Maybe you mean if-statements which are typical for imperative languages.

Second, representation means a certain level of abstraction. For instance, a model represents a certain part of the reality. Imagine a cup on a table. If the agent has a representation of this situation, it has a symbol table and a symbol cup which represents the things in the real world. Now it can have a relation on(cup, table) which represents the situation that the cup is on the table. This type of abstraction can be easily represented in a logic language like first order logic. Therefore, one uses logic programming languages like Prolog or other types of languages like OWL to represent knowledge and perform reasoning. So the important term to which Brooks refers is Knowledge Representation and Reasoning.

Third, if your agent only have sensor data like video or sonar data, then it knows only distances or pixels from the real world. That is not meant with representation. Brooks' Creatures have only this information and calculate with this data directly to perform an action without reasoning. In that sense also artificial neural networks have no representation.

Finally, for an open source project to understand representation I would recommend the above mentioned OWL. You can look at the Protégé editor for working with OWL. In an OWL ontology you can represent relations between things and reason about them.

$\endgroup$
1
$\begingroup$

In that paper, Brooks introduced the basis for what became known as his "subsumption architecture". The idea was to get away from the 1980's popular approach of a single global representation of all the components of the problem space that had required the task of robot task planning to juggle every constraint in the world into one giant disordered mess of states and state transitions. Rather than represent every element in the world in a single model (The Representation), Brooks suggested it was preferable to build a hierarchy of submodels of the world (subsets of states and transitions) in which smaller tasks could be more readily planned. Then as these rudimentary skills were mastered, they could be combined to address a hierarchy of bigger and more complex tasks (bigger tasks subsume smaller tasks and benefit from their already having been solved).

Yes, representation did not fully go away, but it was redistributed hierarchically so that much of the state could be abstracted away from the higher level of the bigger problem that you need to solve. Planning became like coordinating a hierarchical army of skills, where the general doesn't need to plan every movement of the private in order to manage a battle. Instead, that general need only tell the colonels what to do, and the colonels tell the majors, and so on down to the privates. Now the general solves problems by coodinating multiple sub-hierarchies available to him/her by delegating authority to coordinate behavior at the appropriate level of abstraction: like division, brigade, battalion, company, and squad. That's Brooks' Subsumption Architecure: the general needs to represent a battle plan only as "the world according to colonels".

https://en.wikipedia.org/wiki/Subsumption_architecture

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .