Author: David
Company: Toshiba

NAL-Game-2
==========

1. Overall function

Initial goal:
//Make something that is an enemy gain the struck property!
(&&,<#1() --> [struck]>,<#1() --> enemy>)! 

Given knowledge:
//e001 is an enemy
<{e001} --> enemy>. 
//If anything is struck with something that is a weapon, then it will gain the struck property. 
<(&&,<#1 --> (/,^strike,#2(),_)>,<#2() --> weapon>) ==> <#1 --> [struck]>>. 
//w001 is a weapon.
<{w001} --> weapon>. %0.81;0.69%
//w002 is a weapon.
<{w002} --> weapon>. %0.93;0.82%
//w003 is a weapon.
<{w003} --> weapon>. %0.70;0.57%
//w004 is a weapon.
<{w004} --> weapon>. %0.56;0.50%

Executed operations:
EXECUTE: ^strike({w002},{e001})

While the initial goal in this system is the same as the previous version, the given knowledge adds variance to this model. Instead of only one weapon to use, there is now a set of weapons to choose from. This gives this system a key new step to determine which weapon will be used for the process. 

2. Step sequence
*1*
  IN: <{w001} --> weapon>. %0.81;0.69% {0 : 1} 
  IN: <{w002} --> weapon>. %0.93;0.82% {0 : 2} 
  IN: <{w003} --> weapon>. %0.70;0.57% {0 : 3} 
  IN: <{w004} --> weapon>. %0.56;0.50% {0 : 4} 
  IN: <{?1} --> weapon>?  {0 : 5}
47
OUT: <{w002} --> weapon>. %0.93;0.82% {0 : 2} 

*2*
  IN: (&&,<#1() --> [struck]>,<#1() --> enemy>)! %1.00;0.90% {0 : 1} 
  IN: <{e001} --> enemy>. %1.00;0.90% {0 : 2} 
8
 OUT: <{e001} --> [struck]>! %1.00;0.81% {8 : 2;1} 

*3*
  IN: <{e001} --> [struck]>! %1.00;0.81% {0 : 1} 
  IN: <(&&,<#1 --> (/,^strike,#2(#1),_)>,<#2(#1) --> weapon>) ==> <#1 --> [struck]>>. %1.00;0.90% {0 : 2} 
11
 OUT: (&&,<#1() --> weapon>,<{e001} --> (/,^strike,#1(),_)>)! %1.00;0.73%

*4*
  IN: (&&,<#1() --> weapon>,<{e001} --> (/,^strike,#1(),_)>)! %1.00;0.73% {0 : 1} 
  IN: <{w002} --> weapon>. %0.93;0.82% {0 : 2}
4
OUT: <{e001} --> (/,^strike,{w002},_)>! %0.93;0.56% {4 : 2;1}

*5*
  IN: <{e001} --> (/,^strike,{w002},_)>! %0.93;0.56% {4 : 2;1}
10
 OUT: (^strike,{w002},{e001})! %0.93;0.56% {10 : 1} 

*6*
  IN: (^strike,{w002},{e001})! %0.93;0.56% {0 : 1} 
[EXECUTE: ^strike({w002},{e001})]

3.  Description
This system is very similar to the previous version, except it also decides on the best weapon to use out of a list of four weapons. This also introduces the use truth and confidence values to the input. By declaring these objects with a truth and confidence value, this allows the system to figure out which object is to be most closely considered as a weapon. Once this weapon is decided upon, the truth and confidence values impact the credibility of the rest of the input.