Skip to content
Marxos edited this page Jun 18, 2022 · 10 revisions

Our droids will probably be most interesting and useful as droids, rather than imitating humans. This means that rather than training a much larger neural network with human-like experience, we'll use a knowledge base that they can accumulate knowledge in a human-readable and queriable way.

This language to populate the knowledge base, either pre-emptively (before the android has found out for themselves and received the bonus), or by the droid itself can be based on a predicate language like Prolog or like that used in math.

A predicate can be something like:

  • Friends = {"Squirly", "Marcos de Lune", "R2D2"}
  • Owner = "Marxosans"
  • Politeness = 0.43
  • Odd_numbers = {3,1,11}
  • Odd_numbers = {all(x)|(x mod 2)=1}
Together, these predicates form a knowledge base and, thereby, a constraint system. The android access and utilizes this system separately from the supervisor (manufacturer or specialized programmer) who programs them. A constraint system is a "physics of knowledge" setting the rules for the flow of inquiry, while the predicate language set the structure for knowledge to combine with other knowledge.

This predicate language should have these (projected) minimal primitives:

  • android: Assign variable names (to a string, a set?, or another variable name)
  • android: Create a set which can take, as members, atomic elements (name-strings (the name of a set or an undefined name) or numbers) or other sets.
  • supervisor: a set of operators on which to combine and manipulate sets (intersect, union, outer-join, and not),
  • android:
  • a symbol for the null set and infinity (representing: cannot be answered, refine your question)
Further:
  • No unnamed sets allowed, each set created must have a name.
Clone this wiki locally