What Ben said. And some other remarks

On Sun, Mar 12, 2017 at 4:31 AM, <[email protected]> wrote:

> Hi!
>
> There can be modalities (which are usually expressed as diamonds or boxes
> (operators) in modal logic):
> DUTY_TO_PERFORM_ACTION(agent, action, time horizone) - agent should
> perform action within time horizon
> BELIEF(agent, statement, time instant) - agent believes in statement at
> the time instant
>
> Such modalities are important in robotics (e.g. AGI safety - what duties
> and permissions robots have) and in communication (modelling other agent
> believes, knowledge and reasoning styles).
>
> Important point is, that by introducing modalities we also introduce
> additional axioms/meta-rules that connect modal statements (statements
> under modal operator) with the nonmodal statements and with the statements
> of other modalities (modal conversion). Example list of such metarules are
> available in https://en.wikipedia.org/wiki/Modal_logic. Such metarules
> sometimes are debatable, e.g. rule in deontic logic:
> DUTY_TO_PERORM_ACTION(agent, action)->PERMISSION_TO_PERFORM_ACTION(agent,
> action) and such metarules sometimes lead to paradoxes (classical deontic
> logic is full of them), nevertheless, such metarules expresses additional
> knowledge about reality. And such metarules can be mined and used for
> constraining inference process (inference control)!
>

we don't distinguish between metarules and rules. The point of the
hypergraph is to allow rules can act on rules can act on rules, ad
infinitum,

we want to mine rules, but in practice have very limited experience in this.

>
> I have two questions regarding expression of modalities in OpenCog?:
> *1) how we can express modalities in Scheme/atomspace? *
> -- One solution is to introduce new link types. Is such introduction
> possible?
>

yes but strongly discouraged, mostly because the C++ infrastructure has
trouble with this.  As Ben points out, new link types are (conceptually)
equivalent to new PredicateNodes; we only create new link types to simplify
and compactify certain types of processing.   Unless you plan to also
create special-purpose C++ code, adding new link types is a bad idea.


> Maybe OpenCog have GenericLink for which the user can form derivation and
> for the derivation the user can define syntax (how many Nodes and of what
> Type are allowed in the new Link) and semantics (what processes are done,
> what is output and strenght values of the output)? I have not heard about
> such option;
> -- Another solution is to use PredicateNode, e.g. belief can be expressed:
>    PredicateNode "agent_believe"
>       ConceptNode "Erving"
>       ConceptNode "Door is open"
>

Actually its this:

EvaluationLink
    PredicateNode "agent_believe"
    ListLink
         ConceptNode "Erving"
         ConceptNode "Door is open"

The question is - *can we use other Node, Link, result of SatisfyingSetLink
> etc. in place of the literal "agent_believes"?*
>

Its not a literal.  The string "agent believes" is just some random string
which has no meaning except in relation to other Nodes and Links.  It could
have been the string "pqwerqwer" and that would not change anything.


> Or we are bounded for using literal constants in the PredicateNode? If
> former is true, then the system is open for the arbitrary set of modalities
> and the system can generate new modalities!
>

There's no bound on modalities.

>
> *2) how we can express metarules for modalities in OpenCog?*:
> My proposal is to use rules that accepts some patterns of predicates and
> that generates new predicates:
>    rule_body(obligation_predicate_type_nodes)->rule_
> head(new_permission_predicate_type_nodes)
>

At the lowest level, we use BindLink for this.  The syntax for BindLink is
not very compact, but then, it was not intended to be hand-authored by
humans.

The psi-rules infrastructure offers a higher-level API for rules, but it...
has certain other complexities; its not yet fully defined.


> Again - the question is about flexibility of the system: *if the system
> allows generation of new link types or new predicate then the system can
> mine/generate the relevant rules for the newly generate modalities!*
>

It allows for this, to arbitrary depth. Due to the equivalence of
Predicates and link types, it is programmatically just easier to create new
predicates instead of new links.

--linas

>
>
> Of course, I am studying literature, experimenting, thinking about this,
> but maybe someone also has thought about those questions and has already
> something done - it would be nice to hear thoughts, proposals and
> experience!
>
> Thanks!
>
> p.s. I am sorry for sending this from new account, I don't know why Google
> groups do not show message from my regular account?
>
> --
> 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/7a0255ac-5d6c-41a8-aa7f-a967c9534381%40googlegroups.com
> <https://groups.google.com/d/msgid/opencog/7a0255ac-5d6c-41a8-aa7f-a967c9534381%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/CAHrUA36z1ZJqSSOpNsqv3kWpf-2P5m%2BS9PKRU7jzAmTSVJ_WPA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to