OnWorks favicon

bayesol - Online in the Cloud

Run bayesol in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command bayesol that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



bayesol - a Bayes solution calculator for use with dbacl.


bayesol [-DVNniv] -c riskspec [FILE]...

bayesol -V


bayesol is a Bayes solution calculator designed to combine the output of dbacl(1) with a
prior distribution and a risk specification, and calculate the optimal Bayesian decision
(which minimizes the posterior risk).

The risk specification is read from the text file riskspec and must be written in a simple
format described below. The dbacl(1) output can either be read from FILE or from STDIN.


On success, bayesol returns a positive integer corresponding to the category with the
lowest risk. In case of a problem, bayesol returns zero.


-c Classify using riskspec. See the section RISK SPECIFICATION.

-i Fully internationalized mode. Forces the use of wide characters internally, which
is necessary in some locales. This incurs a noticeable performance penalty.

-n Print risk scores for each category. Each score is (approximately) the logarithm
of the expected risk under that category. The lowest score (ie closest to
-infinity) is best, etc.

-N Print recursive risk scores for each category. Each score is (approximately) the
logarithm of the best score based on the remaining categories, after the previously
best scoring categories have been removed, and a normalizing factor was added. A
full description is given in the technical report listed at the end of this
manpange. The largest score (ie closest to +infinity) is best, etc.

-v Verbose mode. Prints to STDOUT the category with minimum posterior risk. In case
several categories are possible, prints the first category in the order in which
they appear in the categories section of riskpspec.

-D Print debug output. Do not use.

-V Print the program version number and exit.


bayesol needs to read a text file riskspec containing a risk specification. The format of
this text file is as follows

categories { cat1, cat2,..., catN}
prior { p1, p2,..., pN}
loss_matrix {
"regex1" c1 [ formula11, formula12,..., formula1N]
"regex2" c2 [ formula21, formula22,..., formula2N]
"regexM" cM [ formulaM1, formulaM2,..., formulaMN]

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 expressions.

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.


Typically, bayesol is used together with dbacl(1). An invocation looks like this:

% dbacl -c one -c two -c three sample.txt -vna | bayesol -c toy.risk -v

See /usr/share/doc/dbacl/costs.ps for a description of the algorithm used. See also
/usr/share/doc/dbacl/tutorial.html for a more detailed overview.


The source code for the latest version of this program is available at the following


Use bayesol online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    OfficeFloor provides inversion of
    coupling control, with its: - dependency
    injection - continuation injection -
    thread injection For more information
    visit the...
    Download OfficeFloor
  • 2
    DivKit is an open source Server-Driven
    UI (SDUI) framework. It allows you to
    roll out server-sourced updates to
    different app versions. Also, it can be
    used fo...
    Download DivKit
  • 3
    Utility to convert between various
    subscription format. Shadowrocket users
    should use ss, ssr or v2ray as target.
    You can add &remark= to
    Telegram-liked HT...
    Download subconverter
  • 4
    SWASH is a general-purpose numerical
    tool for simulating unsteady,
    non-hydrostatic, free-surface,
    rotational flow and transport phenomena
    in coastal waters as ...
    Download SWASH
  • 5
    VBA-M (Archived - Now on Github)
    VBA-M (Archived - Now on Github)
    Project has moved to
    Features:Cheat creationsave statesmulti
    system, supports gba, gbc, gb, sgb,
    Download VBA-M (Archived - Now on Github)
  • 6
    Linux System Optimizer and Monitoring
    Github Repository:
    Audience: End Users/Desktop. User
    interface: Qt. Programming La...
    Download Stacer
  • More »

Linux commands