So if I understand well, the appropriate fix would be to use AtTimeLink and AtLocationLink and have the pattern matcher specially handles this via perhaps relaying the spatio-temporal component of the query to the space server.
I know almost nothing about the current state of space server so take my comment with a grain of salt...
Alternatively, there might be more abstract heuristics that can hacked into the pattern matcher only, maybe that would be simpler and more general. No idea...
So linking the PM to the SpaceServer would be clearly beneficial for
many applications and would enable space and/or time related PM
queries to get resolved much more rapidly...
Efficient data structures and algos to deal with numeric data are necessary,
although the queries to episodic memory may be as complex as to pattern matcher.
But even with this additional module, the conceptual problem with PM remains.
A fixed algo for solving an NP-complete problem cannot be a basis for intelligence. Period.
I'll answer to Linas in more detail later...
2018-03-13 10:52 GMT+03:00 Ben Goertzel <b...@goertzel.org>:
Let me preface this by noting that I am really psyched we are having this
sort of discussion ;) ...
> - Let's imagine I know 10000 people, and I'm asked if I know a family in
> which the difference in ages of two children is larger than 15 years (a wife
> is taller than a husband more than by 20 cm, or whatever you want). Such
> dataset and query are essentially the same as in our example with video
> frames and bounding boxes, and PM behavior will be the same. Should
> information about these people be stored in the long-term memory? Sure.
> Should we use space-server to deal with this query? I guess, no. By what
> means should this query be answered?
So this is an arithmetic query, rather than a spatial query --
> - I'm asked, "Do you remember a scene in any film, in which a planet was
> inside a luggage locker"? My brain says: "Yeah, I remember!".
But if I'm
> asked: "Do you remember a scene in a film, in which there was a flower pot
> more than 30 cm above a bed?"... Huh, maybe, I need to think... My brain
> will not go into a loop for 10 billion years.
> You can say: just don't use PM for such queries.
My gut reaction is it's perhaps often better to think about PLN
backward chainer (which uses the
URE which uses the PM)..... I.e. often, instead of thinking about
custom callbacks to the PM,
one can think about custom domain-specific inference rules to use within PLN...
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...
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 ...
Or one could tweak the PM to use the backward chainer only when encountering
a GreaterThanLink, and just do plain vanilla pattern matching otherwise...
It begs the question "OK but how would
something analogous to a computer-algebra engine be learned via experience" ....
Human memory is very *constructive*. Rather than searching among stored
memories, as in a database search or whatever, the "pattern matching" done
when a human mind searches its memory is a matter of inventing memories
that match the pattern being searched for.
What human memory search does is way more like PLN abductive inference
based on the cues of stored memories (existing patterns) ...
One jewel of wisdom from Pei Wang is: Almost all algorithms used by human-like
minds have exponential complexity in worst case....
My gut reaction is it's perhaps often better to think about PLN
backward chainer (which uses the
URE which uses the PM)..... I.e. often, instead of thinking about
custom callbacks to the PM,
one can think about custom domain-specific inference rules to use within PLN...
> You can say: just don't use PM for such queries.Why not? For certain kinds of basic prepositional queries, such as taller, closer, larger, next-to, above, behind, is-a-part-of, is related-to -- we need a good, effective query system for those, Currently, the pattern matcher cannot do many or even most of these, but the engineering needed to make it effective is not hard. The needed changes, improvements, enhancements are straight-forward.
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?
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?
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.
Yeah, I know. I just tried to imagine OpenCog in place of human mind.
How many domains are there? one? two? three? "satisfiability modulo theories"That's what those words mean.
I'm totally confused. "Greater than" is just a theory. Its like any other theory.What exactly, is the problem here?
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.
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.
What I had understood was to have the PM delegates to the space server space-related queries, but this would be transparent to the user, so it does require to hack the PM in that respect, maybe it's a non trivial hack, BTW.
Nil
Again, the real question is: how is opencog going to learn about relational algebras and what SQL is and how to use it?
And forget the 10 thousand number. No human can do that, not from memory.
How many domains are there? one? two? three? "satisfiability modulo theories"That's what those words mean.Any relation based on individual properties of objects.
> The problem is very small: PM enumerates virtual links for every pair of nodes, making it O(N^2), while without such link similar queries are executed in O(N).
On 03/15/2018 08:19 AM, Linas Vepstas wrote:
On Thu, Mar 15, 2018 at 1:12 AM, Nil Geisweiller <ngei...@googlemail.com <mailto:ngei...@googlemail.com>> wrote:
Regarding speeding up pattern matcher queries for numerical and such
domains other than space-time, maybe we could use cover trees.
Well, the space-time serrver is supposed to do stuff like this.
Cool. But as far as I understood it uses a predetermined distance
measure. While a cover tree can work with any distance (thus with any
number of dimensions).
My suspicion is that cognitive control, a la OpenPsi, almost always
need to account for resources (time in particular). So for instance if
a cognitive process needs to fetch some knowledge it will only allow
itself to do some for a certain amount of time.
Depends on what you defined by cognitive processing, the URE could be
seen as close to that, in the sense that it can utilize the available
knowledge to drive itself, as well as generate such knowledge.
And forget the 10 thousand number. No human can do that, not from memory.I guess you are wrong. There are people who can recall any of 10000 go games.
Why shouldn't people be able to solve simpler tasks, at least if they are professionally dedicated to them? Also, as well studied by Vygotsky and others, people from primitive societies have much better recall from episodic memory.But, ok, let's assume you are right. My claim: no human can solve zebra puzzle in their mind, but the backward chainer with PM can. So, let's not use them in AGI. Is this right conclusion from your arguments?
No human can remember 10000 of anything whatsoever. The human brain is just simply not that big.
No human can remember 10000 of anything whatsoever. The human brain is just simply not that big.Please, stop making such stupid claims. This is so obviously wrong that I'm not sure if there is any sense to argue. "No human", "10000 of anything", "not that big"??? I will not refer to eidetic memory possessed also by some chess players... Just consider words. Normally, people use few thousands words, but writers use several tens thousands. Chinese writers can use more than 10000. Polyglots can speak more than 10 languages up to (or more than) 1000 in which. Not sure how exactly much foreign words they can remember, but even if it is just several thousands, it doesn't make a principal difference. So, can't humans remember 10000 words?..
This thread has gone a weird-ass direction...
Of course an adult human knows way more than 10K things but I don't
> email to opencog+unsubscribe@googlegroups.com.
> To post to this group, send email to ope...@googlegroups.com.
> 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/CAHrUA370iHqyqjsGLJQBU9BSMq%3Dgk4tLRGmEhT2u65NAt7nP%3Dg%40mail.gmail.com.
>
> For more options, visit https://groups.google.com/d/optout.
--
Ben Goertzel, PhD
http://goertzel.org
"In the province of the mind, what one believes to be true is true or
becomes true, within certain limits to be found experientially and
experimentally. These limits are further beliefs to be transcended. In
the mind, there are no limits.... In the province of connected minds,
what the network believes to be true, either is true or becomes true
within certain limits to be found experientially and experimentally.
These limits are further beliefs to be transcended. In the network's
mind there are no limits." -- John Lilly
--
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 opencog+unsubscribe@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
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/CACYTDBfVYuNtVynNwbsDJFHFLQ7t5sR45Lc00ab-MxPb1_Rx0A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
This discussion seems senseless. You literally said: "No human can remember 10000 of anything whatsoever". Now, you said that words don't belong to the category of "anything whatsoever". Words have meaning, spelling, pronunciation. Each Chinese character has the specific stroke order. There are many other examples of more than 10000 things known by humans (e.g. photostockers can recognize their works from 20000+ portfolios) ... And the specific number doesn't really matter. I'll stop here independent of your answer...
2018-03-17 17:30 GMT+03:00 Linas Vepstas <linasv...@gmail.com>:--linas??I'm pretty sure I know a lot more than 10000 words. That is not at all comparable to knowing 10000 things. Knowing 20000 words is comparable to knowing maybe 500 things. How, exactly, are you measuring knowledge?On Sat, Mar 17, 2018 at 3:47 PM, Alexey Potapov <pot...@aideus.com> wrote:No human can remember 10000 of anything whatsoever. The human brain is just simply not that big.Please, stop making such stupid claims. This is so obviously wrong that I'm not sure if there is any sense to argue. "No human", "10000 of anything", "not that big"??? I will not refer to eidetic memory possessed also by some chess players... Just consider words. Normally, people use few thousands words, but writers use several tens thousands. Chinese writers can use more than 10000. Polyglots can speak more than 10 languages up to (or more than) 1000 in which. Not sure how exactly much foreign words they can remember, but even if it is just several thousands, it doesn't make a principal difference. So, can't humans remember 10000 words?..
--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 opencog+unsubscribe@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
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/CAHrUA365kv64%2Beov7xEawg2-%2B5ppNFWtuA46GAojDaRnu6L9kw%40mail.gmail.com.
I think the abstract part of OpenPsi, provisionally called OCD, should be clearly taken away and put in another directory. If it's abstract enough it could even live in the AtomSpace repo. That would be convenient as the URE needs such a decision code.
Hehe :-D
Maybe Linas means incompressible things.
<mailto:opencog%2Bunsubscribe@googlegroups.com>.> email to opencog+unsubscribe@googlegroups.com
> To post to this group, send email to ope...@googlegroups.com <mailto:opencog@googlegroups.com>.
> Visit this group at https://groups.google.com/group/opencog
<https://groups.google.com/group/opencog>.
> To view this discussion on the web visit
>
https://groups.google.com/d/msgid/opencog/CAHrUA370iHqyqjsGLJQBU9BSMq%3Dgk4tLRGmEhT2u65NAt7nP%3Dg%40mail.gmail.com
<https://groups.google.com/d/msgid/opencog/CAHrUA370iHqyqjsGLJQBU9BSMq%3Dgk4tLRGmEhT2u65NAt7nP%3Dg%40mail.gmail.com>.
>
> For more options, visit https://groups.google.com/d/optout <https://groups.google.com/d/optout>.
--
Ben Goertzel, PhD
http://goertzel.org
"In the province of the mind, what one believes to be true is true or
becomes true, within certain limits to be found experientially and
experimentally. These limits are further beliefs to be transcended. In
the mind, there are no limits.... In the province of connected minds,
what the network believes to be true, either is true or becomes true
within certain limits to be found experientially and experimentally.
These limits are further beliefs to be transcended. In the network's
mind there are no limits." -- John Lilly
--
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 opencog+unsubscribe@googlegroups.com
<mailto:opencog%2Bunsubscribe@googlegroups.com>.
To post to this group, send email to ope...@googlegroups.com
<mailto:opencog@googlegroups.com>.
Visit this group at https://groups.google.com/group/opencog
<https://groups.google.com/group/opencog>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/opencog/CACYTDBfVYuNtVynNwbsDJFHFLQ7t5sR45Lc00ab-MxPb1_Rx0A%40mail.gmail.com
<https://groups.google.com/d/msgid/opencog/CACYTDBfVYuNtVynNwbsDJFHFLQ7t5sR45Lc00ab-MxPb1_Rx0A%40mail.gmail.com>.
For more options, visit https://groups.google.com/d/optout
<https://groups.google.com/d/optout>.
--
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 opencog+unsubscribe@googlegroups.com <mailto:opencog+unsubscribe@googlegroups.com>.
To post to this group, send email to ope...@googlegroups.com <mailto:opencog@googlegroups.com>.
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/CAHrUA34iYs9Fdx1X8eGmDj_tG8QXdQKXTzaQZLYi9Eni1OGCqA%40mail.gmail.com <https://groups.google.com/d/msgid/opencog/CAHrUA34iYs9Fdx1X8eGmDj_tG8QXdQKXTzaQZLYi9Eni1OGCqA%40mail.gmail.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.
--
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 opencog+unsubscribe@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
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/69c415fc-eba6-a1f2-77bc-d63c78d6d910%40gmail.com.