Agent Walkthrough - Settings
In the previous step we decided what kind of agent we wanted, and set up the inputs and the algorithm.
Now we need to fill in the settings for this agent, to make the actual decision behind the AI.
Data/Settings
The Data section gives the 'PropertyPattern' brain we've chosen some parameters. You can find out which parameters a pre-made algorithm supports by viewing its page on this wiki.
In this case, the PropertyPattern algorithm returns a 0 or a 1, depending on if a particular pattern has been found in your inputs.
It has the following parameters…
Parameter | Meaning |
---|---|
pattern | A comma-separated list of rules that must be true for each input |
invert | if '1' or 'true', the output will be inverted. |
We only have one input, so there's only one entry in the pattern. Each entry is in the form of “<comparison><value>”, for example '>0.5' means 'greater than 0.5'.
Note that by default, agency works with normalised numbers, scaling your numbers between -1 and +1. This is designed to help connect to AIs, which benefit from normalised inputs.
Since we want to work in real-world measurements, we need to tell ARDI that we don't want our values normalised.
"normalise": "*"
Now, we specify the pattern we want to use…
"data": { "pattern": ">100" }
Outputs
We only need one output from this AI - the status, which will be an on/off (or boolean) signal.
"outputs": [ { "name": "Status", "style": "boolean", "threshold": "=1" } ]
In the above section, we've created a single output called 'Status' with a 'boolean' (digital) type.
It turns 'on' when the algorithm produces a value equal to 1.
Some machine-learning models - particularly neural networks - produce analogue values that represent how confident they are. In these cases, your threshold expression might instead be '>0.6' to capture any results that have high confidence.
Next
That sets up the rules, the inputs and the outputs - the basic structure of our AI.
Next is the plumbing - how we connect it to ARDI, through attachments and bindings.