In the above, cat1, cat2,..., catN,
are category names, p1, p2,..., pN, are
non-negative numbers, regex1, regex2,...,
regexM, are (possibly empty) regular expression
strings, c1, c2,..., cM, are instances
of the category names cat1, cat2,...,
catN, and the formulas are numbers or mathematical
Every category which appears in the categories section
must appear at least once in the loss_matrix section, with
an empty "" regular expression. To construct the
actual loss matrix used in the decision calculations,
bayesol selects, for each category appearing in the
categories section, the first row whose regular expression
is matched within FILE or STDIN, or the first row with empty
regular expression if there are no matches.
Each formula can be either a single number, or an
algebraic combination of the operators exp(), log(), +, -,
*, /, ^ and parentheses (). The string "inf" is
parsed as the value infinity. Also, the string
"complexity" is recognized, and converted to the
complexity for that category as reported by dbacl(1).
Finally, if the corresponding regular expression contains
submatches delimited by parentheses, their numerical values
can be used inside the formulas as the special variables $1,
..., $9. Note that submatches which aren’t numerical
are converted to the value zero.
Case is important. Spaces and newlines can be liberally
inserted. Comments must start with a # and extend to the end
of the line.