Page 36 - Read Online
P. 36
Ernest et al. Complex Eng Syst 2023;3:4 I http://dx.doi.org/10.20517/ces.2022.54 Page 17 of 22
Table 3. Counterexample for Spec 3 failure prior to modification
Variable Value
CombinedEnemySplash 0.75
CombinedFriendlySplash 0.35
EnemyHealth 0.583
SplashedFriendlyLowestHealth 0.25
ShotEffectiveness 0.5
ShotPriority 0.55
ShotSafety 0.5
there are likely solutions that would be similarly adherent. This specification may be joined by others in the
future though, and attempting to modify this FIS tree while maintaining reasonable semantic logic is ideal;
thus modifying the safety evaluation FIS was selected.
A scenario was developed to demonstrate this issue which contains one siege tank, two marines, and six zer-
glings. Readers familiar with Starcraft 2 may be aware that siege tanks within the game do not natively have
the ability to hold their fire. Modifications to, or deeper usage of the API can allow a unit to be ”paused”. In the
example scenario created for the tank specifications however, a simple off-screen stationary structure served
as a possible target for the tank to attack, rather than the zergling if it chose to not fire at the hostile troops.
Figure 14 shows the post-training FIS in this new scenario. Four specific frames are present in this image,
with the upper row being frames 1 and 2, and the bottom being 3 and 4. In the first frame, the tank does take
an effective shot at the zerglings before they enter splash range with the top marine. The tank is not able to
take another shot again until Frame 2, which is not against the spec as the top marine has very low health at
this time and is surrounded by three zerglings. That shot defeats two zerglings, as well as the top marine, but
adhered to the specification. The remaining zergling then approaches a full health bottom marine in Frame 3.
Unfortunately, in Frame 4, the tank is ready to fire again, and kills a now wounded bottom marine just before
he could defeat the zergling and still be alive. However, the tank did survive so the friendly forces secured a
victory, just not an ideal or adherent one.
In Figure 15 the engagement plays out almost entirely the same in frames 1 through 3. However, come frame
4, the tank is opting to not attack, allowing the bottom marine to secure the final kill, completing the mission
with only 1 marine loss.
Specification 4 is essentially a much more conservative option than specification 3 and states ”Never cause
splash damage to any friendly unit, regardless of their health”. This is represented in natural language in Equa-
tion 8 and in LTL in Equation 9.
4 = ( ℎ > 0.0)
(8)
ℎ ( < 0.50)
4 = ( ℎ > 0.0)
(9)
→ ( < 0.50)
The failure case presented to this system from our trained chromosome is the exact same from JKIND, which
is as we expect given the fact that this specification is more conservative. Many solutions exist to create a set
of FISs that adhere to this specification, including modifying both the Shot Safety FIS to have much lower