Study first the puzzle itself, the solution approach and the actual model. It is assumed that you are familiar with basic use of the Pro/3 system. Particular to the Einstein Puzzle model is the need to use a knowledge base (KB) cluster to avoid cycles in the knowledge dependency graph.

SOURCE FILES

You need the following four source files:

  • Terminology.3nl
  • SentenceModel.3nl
  • clues_Facts.3nl
  • clues_Rules.3nl

CREATING THE KNOWLEDGE BASE

Make sure that your SQL server is running, and then start pro3.exe and create a new KB called einstein.einstein.sql (the SQL database will be created in this operation). (Keep the default initialization parameters). Select All ex. functions when prompted to load the standard knowledge files. Validate that the displayed File, Directories and SQL Preferences-window shows the appropriate settings for your installation.

LOADING TERMINOLOGY AND SENTENCE MODEL

Now open the Einstein-model terminology source file in a Pro/3 editor window (File-Open and then select Terminology.3nl from the approriate directory). Then press the green process-button in the tool bar [=>] to load the terminology into the KB. This could take several minutes. When completed close the editor window and press the terminology cache toggle-switch in the tool bar [T] (to speed up the next step). Then follow the same procedure for the sentence model source file (the file is called SentenceModel.3nl). Press sentence model cache toggle-switch in the tool bar [S] (to speed up subsequent processing). The small field beside the two toggle-switches should now display TS.

You now have a complete Einstein-puzzle knowledge base, however without any application facts or rules.

CREATING THE KNOWLEDGE STREAM

The model's facts and rules need to be transferred into a knowledge stream (from the two source files). Select Create/write to knowledge stream in the Files-menu:

The knowledge stream is called clues, and is created in the einstein SQL database (since the clues-table was not qualified with another database name - the knowledge stream is implemented as one SQL table). Repeat for the rules source file (clues_Rules.3nl). This time do not check (Re-)create table and select the Sentence Rules radio button:

DEFINING THE PUBLISHING NETWORK

The KB cluster is sharing/exchanging sentences via an open share. A publishing net needs to be defined for this purpose. This is done via the Publications and Subscriptions-window (Sentences-menu).

First create the SQL database needed for all publications and subscriptions in your installation - simply press the (Re-)create p3publications database-button. Then press the Open p3publications-button, and you can now set up a publishing network for the Einstein Puzzle-model:

Enter the name of the new publishing network (e.g. einstein_net), the default publishing database (use the einstein database), check Open share with NL knowledge format (i.e. the KBs will exchange knowledge in natural language format) and finally enter a name for the open share table (e.g. einstein_share). Then press Create new publishing network-button.

Do not close the window - you now need to check the radio buttons for incremental publication and subscription. An appropriate publishing network for the Einstein Puzzle model has now been defined and you can now close the window.

DEFINING THE CLUSTER

Open the Create/View/Update Cluster-window (Knowledge base-menu), and define the cluster as follows:

Press the Create-button and close the window. You are now ready to process the cluster and finally find out who keeps the fish!

PROCESSING THE CLUSTER

Select the Process cluster-command in the Sentences-menu. Cluster processing involves the derivation of all possible sentences in the cluster. This can take more than five minutes depending the performance of your installation.