The characters after the final colon in a GMString describe how much each input should be weighted. The standard format for this description uses the nth character in the sequence to specify the weighting for the nth input variable:
Thus we now see that the function approximator given by our example GMString, L24:SN:93-9, ignores the third and fourth inputs entirely, weakly weights the second input, and fully weights inputs one and five.
We have now almost completed our survey of GMStrings. The one remaining detail is that curly brackets may be used to shorten the description of the input weightings. Suppose we had a large number of inputs and a GMString of:
E35:FN:90000000000000090000000000000000009000000000002000000000000000000We would like a shorter notation for the lengthy sequence after the second colon. We notice that the characters in this sequence are all zeroes except for 9's in positions 0, 15, and 34, and a 2 in position 46 (we count from zero in the coming short-hand). This can be denoted by the following notation: {0}9[0,15,34]2[46]. The value enclosed in the curly brackets is the default weighting to be given to inputs. Any inputs with a non-default weighting are specified afterwards by listing the value they take, then, within square brackets, all the inputs that take that value.
Hence a shorter legal notation for the lengthy GMString we saw above would be: E35:FN:{0}9[0,15,34]2[46].
We have now finished our survey of GMStrings. Phew!
Note that the EYE function Predict makes its prediction in accordance with the current GMString. See section 6.2.