This morning I’m working out an interesting algorithm. Here’s the triggering Event:

Subject tells DirObject that 4Actor’s aura count of 5ActorTrait is 6Quantifier, with confidence of 7Quantifier.

The problem is, how does DirObject alter his perceived value of 4Actor’s 5ActorTrait? Five factors bear on this algorithm: DirObject’s existing perceived value, DirObject’s confidence in that perceived value, the declared value 6Quantifier, the declared confidence 7Quantifier, and the degree to which DirObject trusts Subject.

To make this easier to understand, I’ll present it in graphical form:

The lowest scale shows the BNumber line with the values of what DirObject already thinks and what the new information tells him. Those two values establish the smaller BNumber line just above it. We need to find the location on that BNumber line that will represent our final result in magenta. That requires a third BNumber line, shown as the middle line, which is rather short. The two ends of this third BNumber line are positioned by the DirObject’s confidence (in red) and the result of the fourth Blend, also in red. Note that I’m simply averaging the two values together with a scaling factor of 0.0.

The top BNumber line uses the values of DirObject’s trust in Subject at one end and the Subject’s declared confidence as the other end, both in green. Again, I simply average these two values together using a scaling factor of 0.0.

I doubt that any reader will fully grasp this algorithm; the Blend operator is just something you have to use for a while to get a grip on. But I believe this solves the problem. Here’s the resulting Script: