In terms of robotics, BCP or PCT seems a lot like Rodney Brooks’ Subsumption Architecture: Eliezer has written a not particularly favourable post about it. It was such an important idea, it formed the basis for nearly all robots for quite a long time. It is an idea he had in the 1980s when we was bitten by a mosquito in Indonesia while on holiday there I believe. At the time, all robots were programmed using rules, probably close to the lookup table approach you mention, and were very slow, and not particularly useful.
Brooks’ idea was to mimic the behaviour of very simple animals and work up to humans (bottom-up approach), rather than the other way around, which was try and create robots from logic given certain situations and rules (top-down approach).
A summary of his ideas is this 1990 paper, Elephants don’t play chess.
I thought it would be interesting to introduce this idea here since subsumption in my mind links with BCP (or PCT) to an important sub-set of the AI world, robotics, which shows clear examples of the theory in practice.
Just to let you know, the main problems that have been found with implementation of subsumption-style AI is that successive layers or heirachies of control get quite difficult to implement. Its major criticism has been although it has led to the ability to create robots that handle real-world environments very well, they tend to ‘think’ on the same level as insects; there are difficulties in implementing higher level thinking, i.e. logic and reasoning.
There is an important difference between hierarchical PCT and subsumption.
In subsumption, higher-level controllers operate instead of lower-level controllers. When a higher-level controller needs to do something, it overrides lower-level controllers in order to do it. The robot senses an obstacle, so the “walk forwards” code is suspended while the “avoid obstacle” code takes over driving the legs.
In HPCT, higher-level controllers operate by means of lower-level controllers. When a higher-level controller needs to do something, it does so by setting reference levels for lower-level controllers. When the robot encounters an obstacle, the reference for desired direction of motion is changed, and the walk controllers continue to do their job with a different set of reference signals. The obstacle-avoidance controller does not even need to know whether the robot is on legs or wheels, only that it can send a signal “go in this direction” and it will happen. Each layer of controllers, in effect, implements a set of virtual actuators for the next level up to use.
In terms of robotics, BCP or PCT seems a lot like Rodney Brooks’ Subsumption Architecture: Eliezer has written a not particularly favourable post about it. It was such an important idea, it formed the basis for nearly all robots for quite a long time. It is an idea he had in the 1980s when we was bitten by a mosquito in Indonesia while on holiday there I believe. At the time, all robots were programmed using rules, probably close to the lookup table approach you mention, and were very slow, and not particularly useful. Brooks’ idea was to mimic the behaviour of very simple animals and work up to humans (bottom-up approach), rather than the other way around, which was try and create robots from logic given certain situations and rules (top-down approach). A summary of his ideas is this 1990 paper, Elephants don’t play chess. I thought it would be interesting to introduce this idea here since subsumption in my mind links with BCP (or PCT) to an important sub-set of the AI world, robotics, which shows clear examples of the theory in practice. Just to let you know, the main problems that have been found with implementation of subsumption-style AI is that successive layers or heirachies of control get quite difficult to implement. Its major criticism has been although it has led to the ability to create robots that handle real-world environments very well, they tend to ‘think’ on the same level as insects; there are difficulties in implementing higher level thinking, i.e. logic and reasoning.
There is an important difference between hierarchical PCT and subsumption.
In subsumption, higher-level controllers operate instead of lower-level controllers. When a higher-level controller needs to do something, it overrides lower-level controllers in order to do it. The robot senses an obstacle, so the “walk forwards” code is suspended while the “avoid obstacle” code takes over driving the legs.
In HPCT, higher-level controllers operate by means of lower-level controllers. When a higher-level controller needs to do something, it does so by setting reference levels for lower-level controllers. When the robot encounters an obstacle, the reference for desired direction of motion is changed, and the walk controllers continue to do their job with a different set of reference signals. The obstacle-avoidance controller does not even need to know whether the robot is on legs or wheels, only that it can send a signal “go in this direction” and it will happen. Each layer of controllers, in effect, implements a set of virtual actuators for the next level up to use.