### Post by chriscrawford on Oct 18, 2016 10:42:12 GMT -8

Here is the script for calculating the Quantifier to use in revealing another character's auragon count:

It's a short script, but it's rather difficult to understand. The first thing we do is choose between two strategies. Who's the greater threat to me? If it's Chosen4Actor, then I want to present a truthful answer (the first Suitability term). But if I think that DirObject is the greater threat, then I want to lie to DirObject by making him think that Chosen4Actor has fewer auragons than he actually has (using the Blend term to scale down the true value of the auragon count.)

I think that this overdoes the action. The threat value is coming out very high. Perhaps I need to adjust that calculation. Threat is a BSum3 of three positive values, which tends to make it especially large. Shouldn't I scale it down to something with a normal BNumber range? How can I accomplish that? Here's the Script for calculating Threat:

I think that, in order to normalize this value to a proper BNumber range, I need to make each of the three terms a proper BNumber.

The P___Auragon and ___Auragon values are all UNumbers: BNumbers that are always greater than zero. I have an operator UNumber2BNumber; applying that to each of the individual values would convert them to proper BNumbers. But then converting them to regular Numbers would lead to negative numbers, which when multiplied together could yield contradictory results. Here's an example of what I mean:

Suppose that I have 3R, 2G, and 1B, while Koopie has 2R, 2G, and 2B. The current calculation would yield these three terms: 4, 2, 6, which would add together to obtain a net Number threat of 12, which converts to a high BNumber value. If I used UNumber2BNumber on them first, then the calculation would yield a threat of zero for any pair in which my auragon count is 1. That's because Number2BNumber stores it as a 0.5, while UNumber2BNumber converts 0.5 to 0.0, which when multiplied by any other number yields zero.

Nope, this isn't working.

Is this stuff simply too difficult? Is the entire Storytronics technology too difficult for anybody to master? Is it usable? Should I throw it away and start all over? I can't bear that thought.

`Desirable`

PickUpperIf

TopGreaterThanBottom(BNumber)

Threat

ReactingActor

Chosen4Actor

Threat

ReactingActor

ThisDirObject

Suitability

CandidateQuantifier

PRedAuragon

ThisDirObject

Chosen4Actor

Suitability

CandidateQuantifier

Blend

PRedAuragon

ThisDirObject

Chosen4Actor

0.0

Threat

ReactingActor

Chosen4Actor

It's a short script, but it's rather difficult to understand. The first thing we do is choose between two strategies. Who's the greater threat to me? If it's Chosen4Actor, then I want to present a truthful answer (the first Suitability term). But if I think that DirObject is the greater threat, then I want to lie to DirObject by making him think that Chosen4Actor has fewer auragons than he actually has (using the Blend term to scale down the true value of the auragon count.)

I think that this overdoes the action. The threat value is coming out very high. Perhaps I need to adjust that calculation. Threat is a BSum3 of three positive values, which tends to make it especially large. Shouldn't I scale it down to something with a normal BNumber range? How can I accomplish that? Here's the Script for calculating Threat:

` Returned value`

BSum3

Number2BNumber

product

BNumber2Number

PRedAuragon

ToWhom

ByWhom

BNumber2Number

GreenAuragon

ToWhom

Number2BNumber

product

BNumber2Number

PGreenAuragon

ToWhom

ByWhom

BNumber2Number

BlueAuragon

ToWhom

Number2BNumber

product

BNumber2Number

PBlueAuragon

ToWhom

ByWhom

BNumber2Number

RedAuragon

ToWhom

I think that, in order to normalize this value to a proper BNumber range, I need to make each of the three terms a proper BNumber.

The P___Auragon and ___Auragon values are all UNumbers: BNumbers that are always greater than zero. I have an operator UNumber2BNumber; applying that to each of the individual values would convert them to proper BNumbers. But then converting them to regular Numbers would lead to negative numbers, which when multiplied together could yield contradictory results. Here's an example of what I mean:

Suppose that I have 3R, 2G, and 1B, while Koopie has 2R, 2G, and 2B. The current calculation would yield these three terms: 4, 2, 6, which would add together to obtain a net Number threat of 12, which converts to a high BNumber value. If I used UNumber2BNumber on them first, then the calculation would yield a threat of zero for any pair in which my auragon count is 1. That's because Number2BNumber stores it as a 0.5, while UNumber2BNumber converts 0.5 to 0.0, which when multiplied by any other number yields zero.

Nope, this isn't working.

Is this stuff simply too difficult? Is the entire Storytronics technology too difficult for anybody to master? Is it usable? Should I throw it away and start all over? I can't bear that thought.