On 12/14/18 5:49 PM, Johannes Castner wrote:
How is the negation-introduction-rule invoked?
I'm doing the following:
(define p (PredicateNode "p" (stv 0.6 0.8)))
(negation-introduction-rule p)
A rule, in its given form cannot be applied on a given source (or
target), rather it is applied over the entire atomspace (or possibly its
attentional). Thus
(cog-execute! negation-introduction-rule)
The following methods
https://github.com/opencog/atomspace/blob/master/opencog/rule-engine/Rule.h#L230-L266
can be used to unify a rule with a given source or target and thus
restrict its applying to that given source or target, however it hasn't
been exposed to scheme yet.
Nil
and then I'm getting this error:
ERROR: Wrong type to apply: (BindLink
(TypedVariableLink
(VariableNode "$X")
(TypeChoice
(TypeNode "EvaluationLink")
(TypeNode "InheritanceLink")
(TypeNode "PredicateNode")
(TypeNode "ConceptNode")
)
)
(AndLink
(VariableNode "$X")
(EvaluationLink
(GroundedPredicateNode "scm: gt-zero-confidence")
(VariableNode "$X")
)
)
(ExecutionOutputLink
(GroundedSchemaNode "scm: negation-introduction-formula")
(ListLink
(NotLink
(VariableNode "$X")
)
(VariableNode "$X")
)
)
)
On Friday, December 14, 2018 at 6:59:41 AM UTC, Nil wrote:
Hi Johannes,
On 12/13/18 6:08 PM, Johannes Castner wrote:
> I have a question about predicates and truth values: How is it
said in
> PLN that if predicate p has (stv 0.6 1) then Not p should
obviously have
> (stv 0.4 1) right ...if it is true that being fast has certain
> probability 0.6 then not being fast should automatically be assigned
> certain probability 0.4 right? Or am I wrong?
Correct.
See
https://github.com/opencog/opencog/blob/master/opencog/pln/rules/wip/negation-introduction.scm
<https://github.com/opencog/opencog/blob/master/opencog/pln/rules/wip/negation-introduction.scm>
Soon you'll be able to use pln by loading the pln module in say scheme
```
(use-modules (opencog pln))
```
and choose amongst some predefined rule sets.
It's not there yet however, the Not rule would not be loaded for
instance, the best is to configure your rule base yourself. See
https://wiki.opencog.org/w/URE_Configuration_Format
<https://wiki.opencog.org/w/URE_Configuration_Format> for more
information (it's a bit outdated but still mostly relevant). See also
examples
https://github.com/opencog/atomspace/tree/master/examples/rule-engine
<https://github.com/opencog/atomspace/tree/master/examples/rule-engine>
https://github.com/opencog/opencog/tree/master/examples/pln
<https://github.com/opencog/opencog/tree/master/examples/pln>
Nil
>
> Johannes
>
> On Thursday, December 13, 2018 at 11:00:25 AM UTC, Nil wrote:
>
> On 12/13/18 9:18 AM, Linas Vepstas wrote:
> > So maybe use GPN's, but then "hide" them behind "well-known"
> > DefinedPredicateNodes.
> > Since they're defined, they could be used for reasoning. I
> dunno. I
> > still don't really
> > know how to do reasoning ...
>
> In principle reasoning can be performed on anything, even
> GroundedPredicateNodes. All you need is to "axiomatize" them,
for
> instance if you want to say that `near` is symmetric you'd write
>
> ImplicationScope (stv 1 1)
> VariableList
> Variable "$X"
> Variable "$Y"
> Evaluation
> GroundedPredicate "near"
> List
> Variable "$X"
> Variable "$Y"
> Evaluation
> GroundedPredicate "near"
> List
> Variable "$Y"
> Variable "$X"
>
> or if you already have higher knowledge about symmetry, maybe
you'd
> just write
>
> Member (stv 1 1)
> GroundedPredicate "near"
> Concept "symmetric"
>
> In practice I don't know how well the URE would chew on
> GroundedPredicate though, as they have a special meaning to the
> pattern matcher, as virtual clauses. Would need to try and
fix what
> needs to be fixed, quote what needs to be quoted, etc. Alexey
and his
> team have already stumbled on that kind of problems when
trying to
> incorporate neural nets to the URE.
>
> Nil
>
> --
> 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] <javascript:>
> <mailto:[email protected] <javascript:>>.
> To post to this group, send email to [email protected]
<javascript:>
> <mailto:[email protected] <javascript:>>.
> 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/217bfe32-13e2-4bc8-9b6d-8973350e0877%40googlegroups.com
<https://groups.google.com/d/msgid/opencog/217bfe32-13e2-4bc8-9b6d-8973350e0877%40googlegroups.com>
>
<https://groups.google.com/d/msgid/opencog/217bfe32-13e2-4bc8-9b6d-8973350e0877%40googlegroups.com?utm_medium=email&utm_source=footer
<https://groups.google.com/d/msgid/opencog/217bfe32-13e2-4bc8-9b6d-8973350e0877%40googlegroups.com?utm_medium=email&utm_source=footer>>.
> For more options, visit https://groups.google.com/d/optout
<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 [email protected]
<mailto:[email protected]>.
To post to this group, send email to [email protected]
<mailto:[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/a43ca4cd-12e0-4b30-b4bb-9b9924da46e4%40googlegroups.com
<https://groups.google.com/d/msgid/opencog/a43ca4cd-12e0-4b30-b4bb-9b9924da46e4%40googlegroups.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 [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/b22f9814-07d7-443f-e1f1-3a9232613ebd%40gmail.com.
For more options, visit https://groups.google.com/d/optout.