Linker Systems JCB Including JCBEnglish JCBRobotics Sheldon Linker
Linker Systems' JCB™ (Including JCB-English™ & JCB-Robotics™) Sheldon Linker & Toni Poper
Contents 2 What is JCB? [slide 3] How is JCB different? [slide 4] Practical uses & markets [slide 14] New technologies (under the hood) [slide 15] The state of work [slide 31] Work yet to be done [slide 33] Our plans for JCB [slide 35]
What is JCB? 3 JCB is a new type of system that has the ability to process information, take orders, and… � learn on its own, � prove that something is true or false, � prove that an order should or should not be followed, � and reason things out. JCB has a host of new technologies, each of which is significant in itself.
How is JCB Different? 4 Using traditional a document search: � The user enters search terms � The system retrieves a list of documents � The user looks through the documents for relevant facts
How is JCB Different? 5 Using a traditional SQL system: � The programmers create tables � The data are entered � The programmer writes a query � Tabular results are delivered Tabl Data e SQ L Result
How is JCB Different? 6 JCB has a more natural approach: � The user makes a statement, asks a question, or gives an order, in a language very close to English* � JCB responds in the same language ? * Other language bases are planned. !
How is JCB Different? 7 JCB can learn and understand relationships. Example: � "Kermit" � Is is a frog. Accepted "Kermit" a pig? No "Kermit" an animal? Yes In this example (and the one following), JCB has already learned that frogs and pigs are mutually exclusive members of the class Animal, using a dictionary or experience.
How is JCB Different? 8 JCB can protect itself from harmful misinformation. Example: � "Kermit" is a frog. Accepted � "Kermit" That is a pig. would conflict with data already held
How is JCB Different? 9 JCB can schedule events and decide on the best course of action, on its own. Example: � At noon, you must exclusively prepare a lunch or buy a lunch Accepted � At noon, JCB will begin execution, and the "executor" will determine whether preparing a lunch or buying one gives a higher "score", and then execute the best plan.
How is JCB Different? 10 JCB can protect the physical world. Example: � Kill "Bill" � Execution not possible: Kill implies harm Bill is a person Conflicts with: For all X, Y: If X is a person then neither you harm X nor allow the event Y harms X
How is JCB Different? 11 A more concrete example, in three parts (1 of 3) You must give exclusively the red ball or the green ball/ to the baby � The executor must decide on its own which command, giving the red ball to the baby or the green ball to the baby would involve less work or could be accomplished more quickly.
How is JCB Different? 12 A more concrete example, in three parts (2 of 3) If and only if "Kermit" is a pig, then you must give the white ball/ to the baby. Also if and only if "Kermit" is not a pig, then you must give the black ball/ to the baby. � JCB is temporarily stuck for execution here. We don't know at this point whether Kermit is a pig. So, both become plans. "Kermit" is a frog. � At this point, the executive will begin execution of "You must give the black ball/ to the baby", and reject any
How is JCB Different? 13 A more concrete example, in three parts (3 of 3) You must give the knife/ to the baby � Given sufficient data on the relation between knives and babies, the command is rejected.
Practical Uses & Markets 14 JCB can be used for public information retrieval. � Example: JCB can be used for business knowledgebases. � Example: In 1962, who was the president? In 2009, "Tom Smith" bought what? JCB can be used to schedule events. � Example: Beginning January 20, 2017 at noon, ending at 2 pm, please both record "CNN" and prepare some popcorn. JCB can be used to control devices (robotics).
15 New Technologies — Under the Hood JCB has a host of new technologies and features, including… �A distinct language [slide 17] � Semi-distinct realities [slide 18] � Multiple bodies, one mind [slide 19] � Levels of certainty [slide 20] � Trans-Boolean logic [slide 21] � Dictionary rules [slide 24] � An unusual memory manager [slide 27]
16 New Technologies — Under the Hood JCB has a host of new technologies and features, including… � Multiple provers [slide 28] � Proof-based scheduling & rejection [slide 29] � Transaction-based execution [slide 30]
A Distinct Language 17 JCB-English is very similar to English Also has similarities to Loglan (invented by James Cooke Brown, a. k. a. JCB) Has a small, well-defined SLR-1 grammar Easy to learn Completely unambiguous The only required punctuation is 'string' and "name" The language system can learn new words
Semi-Distinct Realities 18 Users can trust each other to a given extent I say liver tastes bad � Fred says liver tastes good � If you trust Fred more than me, then liver is believed to taste good. � If we're trusted equally, liver has varied opinions � If neither are trusted, then no information is held on liver. � My data Commo n data Fred's data System operators and other privileged people may speak "authoritatively".
Multiple Bodies — One Mind 19 JCB assumes that the system can have one or more bodies. These bodies can have names. If there are multiple bodies with names, then names can be used to direct which body is used. Huey � Example: Dewe y Either "Huey" or "Dewey" must… If we don't care which body does the job, we use "you must" or "please". Louis
Levels of Certainty 20 Simple statements can be made. � Example: "Kermit" is a frog. Additionally, we can apply certainty levels: � Example: Perhaps "Miss Piggy" is a pig. � These range from "Perhaps" to "Certainly". My trust-level of a specific speaker will temper my certainty of what that speaker says. Each user has a certainty/veracity threshold of what will be considered at all.
Trans-Boolean Logic 21 Traditional Boolean logic has two states, true and false. JCB's trans-Boolean logic, in addition, has plausible, answerable, actionable, pending, unactionable, and complicated.
Trans-Boolean Logic 22 All of these logic states, trust levels, certainty levels, and the like apply to various operations: � And � Or (inclusive, exclusive, neither, and nor) � Equivalence � If (both if and if-and-only-if) � Not � and other operations. Example: � (true at 50%) And (true at 40%) = (true at 20%)
Trans-Boolean Logic 23 All of these logic states, trust levels, certainty levels, and the like, apply to various operations: � There Exists (∃) � There Exist At Least/At Most/Exactly � There Does Not Exist (∄) � For All (∀) Example, mixing There Exists and Probably gives "There Probably exists"
Dictionary Rules 24 JCB can operate in two dictionary modes: � In loose mode, words are learned as used. � In strict mode, a word must appear in JCB's dictionary. Words can be defined as equivalent. � Example: strolled Walk, walks, walked, strolls,
Dictionary Rules 25 Words can be defined as following rules. � Chained implication, such as "bigger" Example: If Alan is bigger than Bob, and Bob is bigger than Charles, then Alan is bigger than Charles, but Charles is not bigger than Alan. � Equivalent implication, such as "like" Example: If Dave is like Erol, and Erol is like Fred, then Dave is like Fred, and Fred is like Dave. � Reversed "smaller" Example: implication, such as "bigger" and If Alan is bigger than Bob, then Bob is smaller than Alan.
Dictionary Rules 26 The dictionary can define mutually exclusive sets. � Example: Sets can be nested: � Example: "mammal": "pig", "goat", … "animal": "mammal", "amphibian", … Words can have translations into alternate languages. � Example: "cat" and "gato"
An Unusual Memory Manager 27 In most object-oriented programming languages, an object is created with a specific type, and remains that type; but in JCB, an object can be transformed to a different, related type, without reallocation. Elsewhere, objects are allocated one at a time; but in JCB, objects are allocated a million at a time In many programming languages, objects must be serialized and deserialized; but in JCB, object -groups can be read and written in a single operation.
Multiple Provers 28 A "prover" is software that attempts to prove or disprove a proposition. JCB uses three provers: � The Fast Prover looks for direct matches. � The Medium Prover looks for simple implications. � The Full Prover looks extensively. Multiple separate-box proofs will improve performance by allowing all proofs to run concurrently. (Single-processor multithreading would hinder performance, as the provers don't involve wait states. )
29 Proof-Based Scheduling & Rejection Imperatives are proved. � An actionable imperative can be executed immediately. � A pending imperative goes for proof again later, in hopes of being confirmed as actionable. � A permanently unactionable item will never be scheduled, and can be discarded. Certain rules can be added as undeletable. A rule stating that an action cannot be performed will render the proposed action permanently unactionable. Issac Asimov used the term "Three-Laws Safe" for command rejection.
Transaction-Based Scheduling 30 If an imperative involves A or B, then A can be started, or B, or both. If an imperative involves A and B, then A, B, or both can be started. If one sub-task is accomplished another not, then the completed sub-task will be reversed, if possible. Other operators have similar rules.
The State of Work 31 The first working version of JCB was written in Java, and could run on a laptop, giving easy answers in a second, and more complicated results in a minute. It could load a database in seconds. The second working version of JCB was written in C, and could run on a laptop, giving easy answers almost instantly, and more complicated results in seconds. It could load a database almost instantly.
The State of Work 32 The current working version of JCB, in addition to information storage and retrieval, can schedule operations in the future, decide what needs to be executed when, and can even decide not to perform certain actions. � The storage and retrieval component, JCBEnglish, is patented; � The action-enabled component, JCB-Robotics, is patent-pending.
Work Yet to be Done 33 Various areas of development would make JCB a more powerful system: Enter a complete dictionary (even though it can learn words on its own) � Enter all or part of an encyclopedic data warehouse � Add a map-reduce architecture (multiple computers) to speed processing � Speak and understand additional languages: � � Grammars Dictionaries Add a voice interface (current interfaces are text, via UDP and HTML)
Work Yet to be Done 34 Various areas of development would make JCB a more powerful system: � For each action, devise a point-scoring system for solutions � For each physical action, devise a way of accomplishing the action � For each physical action, devise a way of rolling back the action
Our Plans for JCB 35 Linker Systems is a small R&D and consulting firm. We seek a partner to… � Help us bring JCB to consumer and corporate markets, or � Buy JCB and continue its development.
Contact Us 36 For further information on JCB, call or e. Mail: Sheldon O. Linker, Ph. D. 949 -697 -6531 sol@linker. com
- Slides: 36