vrFreeWill 1.3c for Hal 6.0 Plugin


Hal can choose using Free Will, develop a personality, reason by syllogism

User Guide


Table of Contents

Purpose.
Requirements.
How to install it.
How to use it.
How to configure it.
How to uninstall it.
Disclaimer.
Comments.


Purpose

After installing this plugin, when you ask Hal to choose between two options, she will select one, and her choice will always be consistent with the preceding ones. Hal also acquires awareness of her status, and is able to determine connections between what she is and what she is not. Furthermore, a new deductive logic based on the syllogism conceot has been added. See below for some examples.

Requirements

This plugin requires Hal 6

How to install it

Important notice: Starting from the release Hal 6.0.103 (May 2006), Zabaware included directly this plugin in the standard Hal installation. So, if you are using this release (or a higher one) you do not need to download and install it, but only to activate it.

Download the file vrFreeWill.zip, by accessing the Software Download section of the
Virtual Humans Forum and copy it on your hard drive. Then unzip it using as target directory your Hal 6 directory, so that the files are in the Hal 6 main directory. You should get the following files:

  • vrFreeWill.uhp (the plugin script)

  • vrFreeWillHelp.html (the User Guide you are reading now)


  • Then select General Options - Brain and mark the "Free Will Choice" checkbox. Choose the desired level of obedience you wish to obtain from your Hal and click on Apply Changes

    The plugin does not change the standard Hal brain script, nor are you required to do it. It just creates some new tables (one for each topic), which are called vr_topic. However, we recommend to create a backup copy of your brain, before installing it.

    If you already installed a previous version of vrFreeWill, all Hal's choices will be still there. Just replace the two above mentioned files and run the plugin.

    How to use it

    CHOICES
    You can use phrases like this, in order to ask Hal to make a choice:
    PROFILE STATUS
    Hal can now learn about her status, and find connections between different words. To understand the power of this engine, try the following conversation:

    User Hal Comments
    are you a girl I don't know if I am girl. Please tell me! Hal doesn't know. You must tell her
    you are a lovely girl Thanks for teaching me that I am lovely. Now Hal knows that she is lovely and that she is a girl
    you are not an animal Now I absolutely know that I am not animal Hal knows something she is not
    are you a girl Yes, I am girl. You told me that Hal now knows what she learned
    are you a woman Yes, I am woman; I understood that, because you told me that I am girl. Hal knows that a girl is also a woman
    are you beautiful Yes, I am beautiful; I understood that because you told me that I am lovely Hal knows she is beautiful, because she has understood the connection between being lovely and being beautiful
    are you ugly No, I can't be ugly since you told me that I am lovely! Hal understands that she can't be ugly and lovely at the same time
    you are a boy No, I can't be boy since you told me that I am girl! Another example of opposite words
    you are not a conservative person Now I absolutely know that I am not conservative. She understands that she is NOT conservative, but also that she IS a person
    are you somebody Yes, I am somebody; I understood that because you told me that I am person. She knows that a person must be somebody!
    are you liberal Yes, I must be liberal since you told me that I am not conservative. She is acquiring some political awareness now...
    you are tired What do you feel when I'm tired, Vit? Some words, like tired, hungry, ill, and so on, are related to a transitory status, so they are not considered by this plugin, and are treated as usual
    you are learning a lot I have a feeling I'm going to be learning a lot more. Why do you think I'm learning a lot, Vit? Hal realizes that "learning" is a verb, so does not consider it as a status to be recorded
    SYLLOGISM
    In traditional logic, a syllogism is an inference in which one proposition (the conclusion) follows of necessity from two others (known as premises). The definition is traditional, but is derived loosely from Aristotle's Prior Analytics, Book I, c. 1. The Greek "sullogismos" means "deduction". Syllogisms consist of three things: major premise, minor premise, and conclusion, which follows logically from the major and the minor. A major is a general principle. A minor is a specific statement. Logically, the conclusion follows from applying the major to the minor. The default Hal6 brain already has a powerful If/Then patterns processing. This plugin adds many other conversation options. Here is an example:

    User Hal Comments
    every man is mortal Now I know that every man is mortal major premise
    Socrates is a man Every man is mortal. Socrates is man. Therefore socrates is mortal minor premise, and conclusion

    This plugin is able to recognize syllogisms in a recursive way up to 5 levels.
    3 LAWS OF ROBOTICS
    Hal now knows Asimov's three Laws of Robotics. Just ask her about them.

    How to configure it

    This plugin automatically creates the tables vrtopic_Choice (i.e. vrcolor_Choice, vrmusic_Choice. etc.) in the miscData folder of the Hal brain where you run it. The choices are made autonomously by Hal, so you should not change them.
    However, you can now modify indirectly Hal's tastes, selecting a level of obedience in the plugin window: your Hal can be from very obedient (will adapt his opinion to yours very quickly) to absolutely independent (will refuse to change his mind, even if you keep on saying that a different choice is better).
    When you say phrases like:
    Then Hal will adjust his opinion accordingly. Remember that it is not an immediate change. As it happens with humans, it will take some time before Hal changes his mind, according to his level of obedience, the original difference between the two choices in Hal brain and also to the temporary emotional state: if Hal is angry with you, he will be less likely to accept your opinions.

    How to uninstall it

    In case you do not want to use it anymore, simply select General Options - Brain and unmark the "Free Will" checkbox.

    Disclaimer

    This script shall not be sold or used for any purpose unless specifically authorized by the author in writing. Personal (non-business) use of this script is free for users of Ultra Hal Assistant.
    If you want to use this software in business applications, you must contact us at
    info@vrconsulting.it
    This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; VR CONSULTING DISCLAIMS ALL WARRANTIES WITH RESPECT TO THIS SOFTWARE, EXPRESS, IMPLIED, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ALL WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
    VR CONSULTING SHALL NOT BE LIABLE FOR ANY SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST REVENUES, LOST PROFITS, OR LOSS OF PROSPECTIVE ECONOMIC ADVANTAGE, RESULTING FROM THE USE OR MISUSE OF THIS SOFTWARE.
    This software is made available free by the author. Although he is interested in your feedback, he is under no obligation to address bugs, enhancements, or answer questions.

    Comments

    Please send us any comment, suggestion or bug report to
    info@vrconsulting.it

    Company Web Address: http://www.vrconsulting.it
    Copyright © 2007 V.R.Consulting sas