Regarding speeding up pattern matcher queries for numerical and such
domains other than space-time, maybe we could use cover trees. It does
involve defining a distance measure though. When non-obvious, maybe
such measure can be learned.

Regarding queries taking too long, Linas suggested to make the pattern
matcher incremental, that is you can ask one candidate at a time if
you want (yes, as Alexey suggests, this would really start looking
like a Sampler). Which would allow other cognitive processes to
consciously learn how to control that beast. Once the control skill
has been acquired with enough confidence, it can be moved back to the
unconscious.

Nil

On 03/15/2018 07:56 AM, Linas Vepstas wrote:


On Thu, Mar 15, 2018 at 12:37 AM, Alexey Potapov <[email protected] <mailto:[email protected]>> wrote:


        So this is an arithmetic query, rather than a spatial query --
        but the two cases
        are similar in that both arithmetic operations and spatial
        operations are
        "special domains" with their own algebras, and by using those
        algebras one
        can answer queries in those domains more efficiently than one
        can do by generic
        means...


    Are you going to manually implement a special algorithm for each domain?


How many domains are there? one? two? three?  "satisfiability modulo theories"
That's what those words mean.


        So to efficiently handles queries like those you're mentioning,
        I would want to
        use the PLN backward chainer rather than just the PM, and have
        the backward
        chainer perhaps connected to some computer-algebra engine as one
        option to use
        when encountering a GreaterThanLink ...


    What rules for BC to do have in mind for this case? Let's try them
    and see if the solution will be O(N).
    Again, you just say: don't use PM with GreaterThanLinks. Then, for
    what reason their support is presented in PM?


I'm totally confused. "Greater than" is just a theory. Its like any other theory.
What exactly, is the problem here?  Many theories have O(N) algorithms.
Many other theories do not.   You seem to be talking about a linear programming
problem? which is solvable in P?  I lost track of the argument.


        Or one could tweak the PM to use the backward chainer only when
        encountering
        a GreaterThanLink, and just do plain vanilla pattern matching
        otherwise...


    PM doesn't need to know algebra to deal with this query efficiently.
    It just needs not to evaluate pairwise relations for every pair
    object, but only for objects belonging to same groups.


So, stick them in the same group. If you design a crappy representation for the knowledge you are representing, then the query will run slowly.   This is a lot like SQL -- many of the same concepts, ideas apply -- the pattern matcher solves satisfiability problems over a domain that is a bit richer than plain-old relational algebra - its a graph isomoprhism problem. But its not really all that different than any other satisfiability problem or the kinds of queries one writes.


Yeah, I know. I just tried to imagine OpenCog in place of human mind.

We are very very very very far away from human-mind type intelligence. Don't imagine it that way. You'll just get bad intuitions.
 > Maybe. So, what rules will work in this case?

I think you need to describe the case again. It seemed to require the sorting of time intervals into a linear sequence, right?  Pretty much all SQL databases support this natively. You write a query that says "QUERY foo SORT BY colname".  Or "QUERY foo SORT BY 42*col_a - 2.35*col_b**3 + col_c>5?22:66"   The current pattern matcher does not have any sort-by statement, although it could.  As stated earlier, no one has ever tried to push numeric data through the pattern matcher before; except in some very super-naive and basic ways.   If you really need search and sorting by numeric value, that's a solvable problem. Its a theory. Again "satisfiability modulo theories".  We have an API for implementing theories. Its stupid and low-level, but it works.

--linas



--
cassette tapes - analog TV - film cameras - you

--
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 post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/opencog.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/opencog/d71db589-f161-b4a3-f19e-6b78cd3072fe%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to