Skip to content
Mark Janssen edited this page Jan 7, 2020 · 32 revisions

To avoid robots roaming around (more-or-less) uselessly and expending energy, units must have an OWNER. If ¬OWNER, then =>OWNER.

(NOTE: =>, →, ENQUEUE are the same: add to TASK_LIST.)

This implies that androids start with one task on their TASK_LIST: =>OWNER (equivalent to "find owner!")

! means imperative, ? means question, "." means store predicate, has an implied "to me" appended to it (may store as datum about SPEAKER), or is person-centric irrelevant to TASK_LIST. Each SPEAKER has a trust_level. Unit can use SPEAKER predicates with modifier of trust_level. If SPEAKER is OWNER, then trust_level starts at 100% or 1.0.

If trust_level results in DAMAGE, then trust_level *= doubtof(person).

When ¬TASK_LIST, android enters primary thought cycle: either ACQUIRE_KNOWLEDGE (when curiosity > 0) or FIND_OWNER.

FIND_OWNER => if OWNER then goto(OWNER), else ACQUIRE_KNOWLEDGE(find_owner). Constructive, non-recursive operation.

find_owner: if person visible ask: "Hello, are you my owner?". if YES, then task_complete(FIND_OWNER), else ACQUIRE_KNOWLEDGE

Android thought cycle is one of: acquire (receive input) -> ruminate (match with prior inputs or ask) -> printing (store knowledge in new nodes) -> return (back to acquiring or check tasks list if no inputs)

Owner is buyer unless unit has broken a law, then the owner is empty until new owner is set.

Modes:

  • listening: suspend tasks, receiving input
  • en-route: on path to performing.
  • performing: directly on-task
  • returning: task complete
These are the meta-modes related to the primary thought cycle.
Clone this wiki locally