February 24, 2022

3d2 Grounding with a cost function

 < 3d1 Pipeline for robot programming

 

In the AI domain there is a single problem available which is less frequently discussed. It is the symbol grounding problem. Solving this problem has practical relevance because it allows to program robots. To understand why grounding is important we have to describe first why robots in the past have failed.
Suppose someone has built a robot in hardware which contains of servo motors, sensors, and electric battery pack. On the other hand the user has access to an advanced supercomputer which can process millions of operations per second. The supercomputer is equipped with the latest Unix operating system which includes all sort of programming tools and databases.
But, the robot won't move a single step. Something is missing to connect the robot with the computer. And it is not a wire or a wifi connection. What is missing is transformation from the robot problem into a computional problem. Computers are great in solving something, but before they can apply algorithms to a problem, somebody has to define what the problem is.
It is difficult to circumcise the grounding problem in technical terms. It is part of the problem that grounding remains something not available for modern robotics. But there are some hints available how grounding works in theory. A robot domain consists of features. For example the current position. These features have to be converted into a cost function. And a cost function can be solved by a computer with algorithms.
So it seems that grounding has to do with converting features into a cost function. The problem is the terms features and cost function are very general term which can mean anything and nothing. Perhaps it makes sense to give an example. Suppose the robot is 50 cm away from the goal. Then the feature is “distance_to_goal” and the value is 50. A possible cost function would be: cost=distancetogoal/100.
In the concrete example, it is possible to determine the score for the robot. The cost would be: cost=50/100=0.5 And the goal is to bring this value downto zero. Then the robot has won the game.