On 3/25/21 9:03 PM, Michele Thiella wrote:
Can I ask you to say something about tree of decisions in Eva? Was it a separate scheme/python module that analyzed SequentialAnd?
While i'm at it, I can't place some components in your architecture:
I read Moshe Looks thesis on MOSES and what I found on OpenPsi. But in practice what were they used for?

MOSES is a program learner. In principle it could learn any program, in practice it is mostly used to learn multivariable boolean functions (as it doesn't work very well on anything else, so far anyway).

See for more info

https://wiki.opencog.org/w/Meta-Optimizing_Semantic_Evolutionary_Search

Finally, in practice what does PLN do/have more than URE?

The URE is a generic rewriting system, that needs a rule set to operate.

See for more info

https://wiki.opencog.org/w/Unified_rule_engine

Such rule set can be PLN, which has been specifically tailored to handle uncertain reasoning

https://github.com/opencog/pln

or the Miner, which is has been tailored to find frequent subgraphs

https://github.com/opencog/miner

or more, though these are the two most used/mature.

Nil



    Before reasoning is possible, one must have a world-model. This
    model has several parts to it:
    * The people in the room, and their 3D coordinates
    * The objects on the table and their 3D coordinates.
    * The self-model (current position of robot, and of its arms, etc.)
    The above is updated rapidly, by sensor information.

    Then there is some long-term knowledge:
    * The names of everyone who is known. A dictionary linking names to
    faces.

    Then there is some common-sense knowledge:
    * you can talk to people,
    * you can pick up bottles on a table
    * you cannot talk to bottles
    * you cannot pick up people.
    * bottles can be picked up with the arm.
    * facial expressions and arm movements can be used to communicate
    with people.

    The world model needs to represent all of this. It also needs to
    store all of the above in a representation that is accessible to
    natural language, so that it can talk about the position of its arm,
    the location of the bottle, and the name of the person it is talking to.

    Reasoning is possible only *after* all of the above has been
    satisfied, not before.  Attempts to do reasoning before the above
    has been built will always come up short, because some important
    piece of information will be missing, or will be stored somewhere,
    in some format that the reasoning system does not have access to it.

    The point here is that people have been building "reasoning systems"
    for the last 30 or 40 years. They are always frail and fragile. They
    are always missing key information.  I think it is important to try
    to understand how to represent information in a uniform manner, so
    that reasoning does not stumble.


    Atomspace:

           Concepts: "name" - "3D pose"
           - bottle - Na
           - table - Na
           (Predicate: "over" List ("bottle") ("table"))
           Actions:
           - Go random
           - Go to coord
           - Grab obj

        Goal: (bottle in hand)    // = grab bottle

        Inference rules: all the necessary rules, i.e.
        * grab-rule: preconditions: (robot-coord = obj-coord) ...,
        effects: (obj in hand) ...
        * coord-rule: if x is in "coord1" and y is over x then y is in
        "coord1"

        -> So, robot try backward chaining to find the behavior tree to
        run. It doesn't find it, it lacks knowledge, it doesn't know
        where the bottle is (let's leave out partial trees).
        -> Go random ...
        -> Vision sensor recognizes table
        -> atomspace update: table in coord (1,1,1)
        -> forward chaining -> bottle in coord (1,1,1)
        -> backward chaining finds a tree, that is
        Go to coord (1,1,1) + Grap obj
        -> goal achieved


    This is a more-or-less textbook robotics homework assignment. It has
    certainly been solved in many different ways by many different
    people using many different technologies, over the last 40-60 years.
    Algorithms like A-star search are one of the research results of
    trying to solve the above. The AtomSpace would be a horrible
    technology to solve the above problem, its too slow, too bulky, too
    complicated.

    The chaining steps can be called "inference", but it is inference
    devoid of natural language, devoid of "true understanding". My goal
    is to have a conversation with the robot:

    "What do you see?"
    "A bottle"
    "where is it?"
    "on the table"
    "can you reach it?"
    "no"
    "could you reach it if you move to a different place?"
    "yes"
    "where would you move?"
    "closer to the bottle"
    "can you please move closer to the bottle?"
    (robot moves)


This is now clear to me, but why natural language?
if i didn't want interactions with humans could i do it differently?
A certain variation of the sensor values already represents "the forward movement", I do not need to associate a name with it if I don't speak,
also for the Atom "bottle" I could use its ID instead.
I don't understand why removing natural language implies having an inference devoid of "true understanding".

Stupid example: If I speak Italian with a French, neither of us understands the other. But a bottle remains a bottle for both and if I give him my hand he will probably do it too ... or he will leave without saying goodbye.

I'm probably missing something big, but until I don't bang my head against it, I don't see.


    This can be solved by carefully hand-crafting a chatbot dialog tree.
    (The ghost chatbot system in opencog was designed to allow such
    dialog trees to be created) Over the decades, many chatbots have
    been written. Again: there are common problems:

    -- the text is hard-coded, and not linguistic.  Minor changes in
    wording cause the chatbot to get confused.
    -- there is no world-model, or it is ad hoc and scattered over many
    places
    -- no ability to perform reasoning
    -- no memory of the dialog ("what were we talking about?" - well,
    chatbots do have a one-word "topic" variable, so the chatbot can
    answer "we are talking about baseball", but that's it. There is no
    "world model" of the conversation, and no "world model" of who the
    conversation was with ("On Sunday, I talked to John about a bottle
    on a table and how to grasp it")

    Note that ghost has all of the above problems. It's not linguistic,
    it has no world-model, it has no defined representation that can be
    reasoned over, and it has no memory.

    20 years ago, it was hard to build a robot that could grasp a
    bottle. It was hard to create a good chatbot.

    What is the state of the art, today? Well, Tesla has self-driving
    cars, and Amazon and Apple have chatbots that are very
    sophisticated.  There is no open source for any of this, and there
    are no open standards, so if you are a university grad student (or a
    university professor) it is still very very hard to build a robot
    that can grasp a bottle, or a robot that you can talk to.  And yet,
    these basic tasks have become "engineering"; they are no longer
    "science".  The science resides at a more abstract level.

    --linas


I find the abstract level incredible, both in terms of beauty and difficulty!

Michele

--
You received this message because you are subscribed to the Google Groups "opencog" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected] <mailto:[email protected]>. To view this discussion on the web visit https://groups.google.com/d/msgid/opencog/5ac81cf1-c4cd-40cd-9438-55d8dc3d95f5n%40googlegroups.com <https://groups.google.com/d/msgid/opencog/5ac81cf1-c4cd-40cd-9438-55d8dc3d95f5n%40googlegroups.com?utm_medium=email&utm_source=footer>.

--
You received this message because you are subscribed to the Google Groups 
"opencog" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/opencog/f787b4b5-db28-a3a0-bb67-16d47533aac0%40gmail.com.

Reply via email to