Navigation Bar (see also links at bottom of page)Home PageContactsNewsSiteIndexTrainingSupportPricesResearchSoftware


RAMAS Risk Calc
version 4.0

  RAMAS Risk Calc

What is Risk Calc used for?

Risk Calc supports probability bounds analysis, standard fuzzy arithmetic, and classical interval analysis. Its applications are like those of Monte Carlo packages such as @Risk or Crystal Ball, but Risk Calc does not require you to specify precise details of statistical distributions and their dependency relationships when empirical data are lacking. Risk Calc makes new methods available for conducting distribution-free or nonparametric risk analyses. You decide what information or assumptions should be used, and the software calculates bounding estimates of risks. Often these bounds can be shown to be the best possible. Using Risk Calc, you can do quality assurance reviews for probabilistic risk and safety assessments.

Without perfect knowledge, we can never be sure about the exact values of numbers used as input. Virtually all real-world calculations harbor some uncertainty. RAMAS Risk Calc 4.0 uses both traditional methods such as probability theory and interval analysis and the newest techniques such as probability bounds analysis and fuzzy arithmetic to represent uncertainty. It provides a convenient environment for computing with numbers in which all uncertainties are carried forward automatically. Risk Calc for Microsoft Windows brings sophisticated methods of uncertainty analysis into reach of anyone who can do arithmetic on a calculator.

Risk Calc lets you do whatever calculations you need with a flexible Windows-based interface. You can enter numbers directly in the Listener window and have Risk Calc perform calculations immediately. If you include units with the numbers, they will be carried through computations and checked for dimensional conflict. The standard mathematical functions (including + , - , ×, ÷, exp, log, min, max, sqrt, power, ±, <, ≤, >, ≥, =, ¹, and, or, not, Î, Í, etc.), are supported. You can also define variables and, if you need to, you can employ loops, conditionals, and functions you define yourself, to evaluate arbitrarily complex expressions. The results are displayed graphically or numerically in automatic watch windows during the calculations.

Software requirements

RAMAS Risk Calc 4.0 runs under Microsoft Windows. Risk Calc requires about 6 megabytes of disk space to install and at least 64 MB of RAM to run. The software is distributed with demonstration programs that run in DOS boxes.

Licensing RAMAS Risk Calc 4.0

A single-user license are available for RAMAS Risk Calc 4.0. Special pricing is available for U.S. Government employees and Universities or educators. Classroom or site licenses which allow 25 simultaneous users are twice the single-user license price. See the RAMAS price list and order form.

Frequently asked questions

Can you calculate with uncertain numbers?

Sure, you just need the right methods. Risk Calc supports both traditional interval analysis and classical probabilistic arithmetic. It also provides comprehensive implementations of fuzzy arithmetic and probability bounds analysis. These methods are especially useful when empirical data are of mixed quality and when uncertainty encompasses both variability and incertitude.

How is uncertainty defined?

Risk Calc allows you to specify uncertainty in several ways. You can enter variables as scalars with no uncertainty, such as A = 5, or with ranges as interval uncertainty, such as B = [2,6]. Alternatively, you can represent uncertainty as a range along with a single best estimate, such as C = [2,3,6], or as a range along with a best estimate expressed as a range, such as D = [2,2.5,3,6], or something more complex. You can also specify a probability distribution like E = normal(5,1) or bounds on one when parameters are uncertain like F = pareto([60,80], [15,25]), or even distribution-free bounds like G = minmaxmean (0,1,0.3) which represents all possible distributions whose range is [0,1] and whose mean is 0.3. You can also specify units to accompany any of these numeric quantities, for example, density=[1,2,4] g per cm² or length=[8 ft, 6 m].

What can Risk Calc do?

Risk Calc computes with scalars, intervals, fuzzy numbers, probability distributions, and interval bounds on probability distributions. It carries all the uncertainties through calculations automatically. You can enter numbers directly and perform calculations immediately, or you can create files with sequences of calculations, and run these files like programs. Risk Calc supports standard arithmetic operations (+ , - , ×, ÷), mathematical functions (exp, log, min, max, sqrt, etc.), comparison operations (<, ≤, >, ≥, =, ¹), basic logical connectives (or, and, not, xor), several deconvolution operators, and string manipulation. Risk Calc also has many functions to characterize the features of uncertain numbers. You can freely mix scalars, intervals, probability distributions, and probability bounds in calculations. Scalars, intervals and fuzzy numbers can also be be freely combined. (Fuzzy numbers and probabilistic numbers can be mixed together with special operations.) Risk Calc also accepts units that accompany numbers, checks that units entered balance dimensionally, and automatically handles unit conversions when necessary. In Risk Calc you can define variables, and you can automate complex expressions using loops, conditional statements, user-defined functions and procedures and other programming constructs. Risk Calc can also import and export data to disk files and Excel spreadsheets.

What is probability bounds analysis?

Probability bounds analysis is a marriage of probability theory and interval analysis that handles uncertainty and variability more comprehensively than either one can alone. Risk Calc supports over 30 named distributions (normal, lognormal, binomial, Poisson, Weibull, Pareto, etc.). But with Risk Calc you can also describe distributions using whatever information is available even if it’s insufficient to specify any standard distribution precisely. Risk Calc lets you do calculations with these probability bounds without making any assumption about the shape of the distribution. If your inputs are independent, Risk Calc will get you a result faster than Monte Carlo methods, and it’s guaranteed to be accurate since it doesn’t involve random sampling. If they’re not independent—or if you’re worried about assuming they are without empirical evidence—Risk Calc will compute bounds on the result (usually mathematically the best possible) that circumscribe all possibilities. With Risk Calc you can use whatever information and assumptions you trust to get the best answer possible, instead of being forced to make assumptions and specifications you don’t believe just to get any answer at all.

What is probabilistic arithmetic?

Probabilistic arithmetic lets you make calculations with probability distributions as conveniently as with ordinary numbers. For instance, if you know body weights are lognormally distributed and intake rates are uniformly distributed, what is the distribution of doses (intake/body weight)? Such problems are usually solved with Monte Carlo methods, but Risk Calc uses faster, semi-analytic algorithms to get the answers without random sampling. It can add, subtract, multiply, and divide distributions. If you tell it the distributions are independent of one another, it’ll use that information to get the best estimates possible. If you don’t want to make this assumption, it will get bounds that are guaranteed to enclose the true answer. The software can also do a variety of other operations like take powers, logarithms, etc. Risk Calc knows these distributions:


chi squared
discrete uniform
double exponential
extreme value
power function
Student’s t

What’s the difference between probability bounds analysis and Monte Carlo?

The following table synoptically contrasts probability bounds analysis with Monte Carlo simulation for uncertainty propagation.

What is known empirically Monte Carlo analysis Probability bounds analysis
Know only range of variable Assume uniform distribution Assume interval
Know some constraints about random variable Select distribution with largest entropy from class of distributions matching constraints Form envelope around class of distributions matching constraints
Uncertainty about distribution family or shape Repeat analysis for other plausible distribution shapes Form distribution-free p-box as envelope of all plausible distribution shapes
Sample data Form empirical distribution function (EDF) Form Kolmogorov-Smirnov confidence limits around EDF
Variable follows known marginal distribution Sample from particular distribution Use particular distribution
Measurement uncertainty Ignore it (usually), or perform sensitivity analysis Express it in intervals and incorporate it into analysis
Non-detects Replace non-detect with point value ½DL (detection limit) Replace non-detect with interval [0, DL]
Know variables are independent Assume independence Assume (random-set) independence
Know magnitude of correlation Simulate correlation from particular (but usually unspecified) copula Simulate correlation if copula is also known, or bound result from all possible copulas with given correlation
Know only the general sign (+ or -) of dependence Assume some correlation of appropriate sign, or repeat analysis for different correlations Bound result assuming only the sign of the dependence and specific or all possible copulas
Do not know the nature of the dependence Assume independence (usually), or repeat analysis for different correlations Bound result for all possible dependencies (Fréchet case)
Model uncertainty Form stochastic mixture (vertical average) of distribution functions Form envelope of distribution functions

What is interval analysis?

The simplest method for propagating uncertainty through arithmetic calculations is to use interval (range) analysis. For example, suppose we want to add two numbers whose values we’re unsure about. If we know that the first number, say A, has a value somewhere between 4 and 6, and the other number, B, is between 8 and 10, then the result of A+B is between 12 and 16, as shown at left. The difference between these numbers, B-A, is the interval [2,6]. Risk Calc makes it easy to compute with intervals and it supports popular conventions for specifying intervals. You can enter intervals as [12.5± 0.5], as [2,3], or you can let Risk Calc interpret significant digits to create intervals automatically from your input. For example, [5.0] will be interpreted by Risk Calc as [4.95,5.05], and [5.00] will be interpreted as [4.995, 5.005].

What is fuzzy arithmetic?

Fuzzy arithmetic is a generalization of interval analysis that treats uncertainty far more comprehensively. Instead of representing a number with a single interval, it uses a ‘fuzzy number’, a family of intervals stacked atop one another which together represent our estimate of the number for each of infinitely many levels of conservativism and optimism about uncertainty. Fuzzy arithmetic is a simple and potentially very useful way to propagate uncertainty through the cascade of calculations that forecasting and risk analysis typically involve because it yields both ‘worst case’ results and ‘best estimates’ at the same time. Fuzzy arithmetic is based on a theory with less stringent axioms than probability theory uses so it is applicable in a wider array of circumstances with different kinds of uncertainty. For instance, it is appropriate for handling non-statistical uncertainty including that due to inability to make accurate measurements. The methodology is logically consistent, computationally inexpensive and does not require extensive empirical sampling. Fuzzy numbers can be specified directly to reflect your subjective impression of uncertainty or may be estimated as the consensus of opinions of diverse observers. There are several advantages (but also disadvantages) to using fuzzy arithmetic rather than Monte Carlo simulation in risk assessments. The slides from a shortcourse on using fuzzy arithmetic in risk analysis can be found in the Power Point presentation The complementary Power Point presentation contains a counterexample that shows that fuzzy arithmetic risk analysis does not always yield conservative answers in the face of uncertainty about dependencies. RAMAS Risk Calc supports all the basic arithmetic operations and standard mathematical functions (including trigonometric) for fuzzy numbers as well as other functions needed for characterizing uncertainty, backcalculations, etc.

What’s the difference between fuzzy arithmetic and fuzzy logic?

There are several related ideas that have arisen from Zadeh’s theory of fuzzy sets. Fuzzy arithmetic is a formalism for making calculations with numerical quantities that are imprecisely known. These quantites are known as fuzzy numbers and are defined as fuzzy sets on the real numbers having a unimodal distribution that reaches unity for some value or values. They include ordinary scalar numbers and intervals as special cases. Fuzzy logic is the generalization of ordinary logic and allows truth values other than absolute truth and utter falsity. It’s fair to say that fuzzy logic is comparable to fuzzy arithmetic in the same way that logic is comparable to arithmetic. In other words, they don’t have much in common in terms of the kinds of problems they’re used to address. Fuzzy set theory is also used in other areas of science and engineering, including, for instance, fuzzy cluster analysis and fuzzy control theory. In particular, fuzzy arithmetic is a proper subset of possibility theory which handles general fuzzy sets of the real numbers (which could be multimodal or might not reach unity) called possibility distributions.

When is fuzzy arithmetic better than analogous Monte Carlo methods?

There are several reasons why one might be interested in using fuzzy methods. Consider the following list.

Reasons to use fuzzy arithmetic
  1. Fuzzy arithmetic requires less data. The following table indicates the requirements for various methods of uncertainty propagation.
    Methods   Required Data
    Worst Case   extreme values
    Interval Analysis   ranges
    Fuzzy Arithmetic   ranges or distributions
    Monte Carlo   distributions and dependencies
  2. Fuzzy arithmetic is applicable to all kinds of uncertainty, no matter what its source or nature. Although probability theory makes a similar claim, one is required to adopt a subjectivist interpretation of probability to get this generality. I believe that a subjectivist interpretation is inappropriate for public health risk assessments. No matter how well trained and nobly motivated an analyst is, I don’t want his or her feelings or beliefs to be incorporated into the assessment without hard empirical support. If you disallow subjectivism, then Monte Carlo methods cannot be used on all forms of uncertainty and using them anyway can lead to non-protective conclusions. Fuzzy arithmetic is more general because it is a weaker theory.
  3. Like Monte Carlo methods, fuzzy arithmetic provides a comprehensive distribution that characterizes results of all possible magnitudes, rather than just specifying upper or lower bounds. For this reason it should be preferred over worst case or interval analysis.
  4. Fuzzy methods are fast and easy to compute. The following table gives the relative calculation speeds where M=[20,100] and N=[100,50000].
    Method Speed
    Deterministic calculation   F
    Interval analysis   4F
    Fuzzy arithmetic   2KF
    Probability bounds analysis   K ²F
    Monte Carlo   NF
    Second-order Monte Carlo   N ²F
    Some people assert that you can get by with a small number of Monte Carlo replicates by using Latin hypercube sampling. While this may be true for problems in which you want to estimate the mean, if you need to estimate the full distribution, you are going to need many more replicates.
  5. Fuzzy arithmetic is more conservative than Monte Carlo simulations that assume independence. Although many analysts seem to believe it is okay to assume all the input variables are independent of one another, it is easy to show this is false and can have a substantial effect on the results of a risk assessment. Although there are Monte Carlo methods that can be used when correlations are known, such empirical information is often unavailable.
  6. Although conservative, fuzzy arithmetic is not hyperconservative like worst case or interval analysis. In this sense, fuzzy arithmetic is in between worst case and probability theory.
  7. In fuzzy arithmetic, deconvolutions (which are required for back-calculations and remediation planning) are easy to solve. Deconvolutions are generally pretty difficult or even impossible with Monte Carlo methods.
  8. Fuzzy arithmetic is easy to explain to lay people. Well, easier than probability theory anyway. It is just interval analysis done at many levels of confidence about uncertainty.

Reasons not to use fuzzy arithmetic

Despite its several advantages in a risk analysis, fuzzy arithmetic may not be appropriate for routine applications. The following are serious concerns about using the method.

  1. Fuzzy methods are controversial. Many probabilists insist that they are errant or incorrect. Although some of this criticism seems to misunderstand that the approach is based a consistent axiomatic system that is different from that used in probability theory, assessments based on fuzzy methods will often engender mindless criticisms (in addition to the thoughtful criticisms it deserves).
  2. Fuzzy arithmetic is certainly not optimal for risk analysis when there’re a lot of data that could be used to inform a Monte Carlo analysis.
  3. The alpha levels which index fuzziness may not be comparable for different variables. It makes sense that my best estimate of A at, say, the top of a triangular fuzzy number ought be arithmetically combined with my best estimate of B. It also seems to make some sense that my most conservative estimates of A and B, at the bottoms of the fuzzy numbers, should be combined together. What doesn’t always seem to make sense is that as the possibilistic level of presumption [alpha] ranges from 1 to 0 for A, it exactly corresponds to the change in the level of presumption for B. What if the two fuzzy numbers were measured by different people who had different opinions about uncertainty? I can’t see any way to tie the two scales together except by an arbitrary convention. Fuzzy arithmetic insists on this and I don’t really have a defensible justification for it.
  4. Fuzzy arithmetic does not yield conservative results when the dependencies among variables are unknown. See for a Power Point presentation of a counterexample that shows why this is true.
  5. Fuzzy arithmetic cannot make use of knowledge about correlations among input variables to tighten bounds on risk estimates (although there has been some promising recent research in this area).
  6. As in interval analysis and probability methods not implemented with Monte Carlo sampling, repeated variables in risk expressions make calculations cumbersome. The results are guaranteed to enclose the true answer, but they may not be as tight as possible. If they aren’t, they overestimate uncertainty.

What about model uncertainty?

In the past, when people disagreed about which model should be used, or differed widely about which assumptions should go into it, you’d probably end up repeating the analysis for every possible combination of model choices and wading through the mountain of results. Risk Calc is the first software environment to provide comprehensive tools for handling model uncertainty, including uncertainty about the input distributions and their interrelationships. It provides consensus, envelope and imposition functions to synthesize several opinions into a single estimate. Risk Calc lets you account for a diversity of opinions in a way that doesn’t average incompatible opinions together.

Can I work with arrays of numbers in Risk Calc?

Yes, but the structure is a compound variable rather than an array. A compound variable is just two variable names joined together with a period, or a variable and a constant joined together with a period. For instance, entering

a.2 = 4
i = 2
print a.i

prints the answer 4. Compound variables do much of the work arrays do, such as in this code fragment.

for i = 1 to 4 do stem.i = i * 3
for i = 0 to 5 do print stem.i

The following 6 lines are the output from this little program:


where the first and last illustrate that the default value of a variable is its own name.

In principle, the second part of a compound variable could evaluate to a real number or even a string rather than an integer, so compound variables are actually even more flexible than arrays. Two- or higher-dimensional compounding is possible by using multiple periods (e.g., stem.i.j). Formal parameter references can also be compounded so, for instance, you can refer to $1.i inside a function or procedure.

Why are logical and set operators different?

Logical and set-theoretic operations are not always compatible in the realm of uncertain numbers the way they are for real numbers. For example, set-theoretical union and logical disjunction are two formally distinct operations. It is only in special cases that they can be identified with each other. These special cases become rarer when we go from real numbers to uncertain numbers. In Risk Calc, the operators

not   !
or   |   ||   |||
and   &   &&   |&|

denote logical operators. These logical operators act on truth values, not sets or arbitrary numerical values. For instance, the expression

x | y

asks Risk Calc to evaluate the truth value of a disjunction. The arguments of this disjunction are presumed to be truth values themselves. Under ordinary logic, the arguments could only have values of zero (false) or one (true). In traditional fuzzy logic and probability theory, they could have values anywhere on the unit interval (between zero and one) representing graded degrees of falsity and truth, or frequency. In Risk Calc, truth values may be any kind of certain or uncertain number, so long as it is dimensionless and lies entirely within the unit interval [0,1].

Classical Boolean logic defines the truth value of a disjunction to be the greater of the truth values of the two arguments, so if at least one of the arguments is true, the disjunction is too. Traditional fuzzy logic defines the truth value of a disjunction to be the maximum of the truth values of the two terms so that fuzzy logic subsumes classical logic as a special case when the arguments are Boolean (i.e., either zero or one). In Risk Calc, we generalize traditional fuzzy logic to be compatible with probabilistic logic defined by the Fréchet inequalities. Risk Calc also provides the set-theoretic functions to compute unions and intersections of intervals. For instance, when you enter the expression

union( [0.4, 2], [1, 3])

you’ll get the answer [0.4, 3]. There are also set-theoretic functions provided for computing widths of intervals, whether intervals overlap each other, membership and containment. Complementation, however, is not defined.

How do the units help me?

Risk Calc knows about 600 units in 60 dimensions used in science and engineering. It knows how to convert among them automatically to get answers without your bothering to look up conversion parameters or worrying about handling them correctly. For instance, if you enter the expression

 normal(5 kg, 2 g) * [8 ft, 3 m] / [2.3 seconds] ^ 2 + 2 newtons

Risk Calc will give you the right answer (which is 4 to 5 newtons). And it gives this answer immediately without any extra work on your part. What may be even more useful is that it traps unit and dimensional errors for you. For example, if you’d entered

normal(5 kg, 2 cm) * [3 m, 8 ft] / [2.3 seconds] + 2 newtons

Risk Calc will tell you that such an expression is meaningless. It recognizes all three errors (1) the standard deviation of the normal distribution cannot be in centimeters if the mean is in kilograms; (2) 8 feet is shorter than 3 meters, so the interval is inverted; and (3) the divisor must be in squared time units if the first term is to be added to something in newtons. If you’d left out the units, or used other software to make the calculations, you’d get a completely different answer and might have never noticed it was gibberish.

Features of RAMAS Risk Calc 4.0

  • probabilistic arithmetic (30 distributions),
  • probability bounds analysis,
  • fuzzy arithmetic,
  • naive interval arithmetic,
  • dimensional checking and units conversions,
  • standard arithmetic functions supported for intervals and distributions,
  • account for arbitrary correlations,
  • conservative results when dependencies are not known,
  • magnitude comparisons between uncertain numbers,
  • envelopes, intersections and stochastic mixtures,
  • uncertainty characterization (width, breadth, etc.) ,
  • pinching functions (middle, spanning, leftside, dispersive, etc.),
  • backcalculation functions (decon, core, etc.),
  • constraint updating,
  • histograms that account for sampling uncertainty,
  • convert Excel spreadheet to Risk Calc,
  • import data from Excel,
  • export uncertain numbers and their graphs to Excel,
  • over 70 example scripts and function libraries,
  • recursive syntax wizard,
  • variable list editor,
  • automatic first and second moment propagation,
  • color coded graphical displays,
  • graphs easy to capture and print,
  • checking for logical variables,
  • fuzzy logic consistent with probability theory,
  • hybrid methods to combine probabilistic and fuzzy numbers,
  • editor for standard risk assessment tables,
  • programming (for, if, else, blocking, user-defined functions, comments, arrays, etc.),
  • extensive documentation and help files,
  • demonstration version software, and
  • compatible with Windows 95, 98, 2000, NT.

Future developments

If there’s something in particular it lacks that would be useful for your work, feel free to let us know by email at

Methodological research is needed on several topics, including

  • robust strategies to handle repeated uncertain variables,
  • using qualitative information about dependencies to reduce uncertainty in answers,
  • notions of dependence in the context of interval arithmetic,
  • deconvolutions (solving equations expressed in terms of uncertain numbers),
  • influence of decisions about support ranges on tail probabilities,
  • tail-emphasizing algorithms to track bounds at order-of-magnitude probability levels,
  • sample theory for probability bounds analysis,
  • proper inference of intervals from empirical observations, and
  • basic mathematical research on uncertainty algebra and its axiomatics.

Our research in this area is on-going and we are currently seeking support. We would be interested to chat with anyone about these and related research topics.

Related software

RAMAS Constructor

This software will let you specify probability boxes interactively. Software is now available that will accept the empirical information you may have about a parameter, including constraints, moments, order statistics, percentiles, shape or distribution family, modality, symmetry, etc., and synthesize bounds on the probability distribution. You can specify whatever empirical information is known, and can even draw constraints on the parameter graphically with a mouse. The software solves the implied cascade of inequalities to construct bounds on the parameter. In many cases, the resulting bounds will be best-possible expressions of the state of knowledge. For more information and, for a limited time, free downloadable copies of the Constructor program and manual, see

Probability Bounds Demonstration (PBDemo)

PBDemo is old DOS demonstration software that illustrates elementary probability bounds analysis. Risk Calc is vastly superior to PBDemo, but PBDemo may be useful in some situations.

In PBDemo, two probability distributions appear in cumulative form on graphs at the right of the screen. The top one is A and second one is B. In each graph, a red line is used to mark the upper bound on the distribution and a green line indicates the lower bound on the distribution. When PBDemo first starts, these are the same and the lines overlap. By selecting an operation from the list on the left and pressing the enter key you will make PBDemo perform the operation on these two inputs. The operation is done without an assumption of independence between the two variables A and B. The result is displayed on a third graph below the other two. In this graph, the red and green lines are generally not coincident. Notice that not all operations are possible. For instance, trying to superimpose precise but non-identical probability distributions will produce no answer. In this demonstration software, the deconvolution operations aren’t supported.

Press the function key F1 to bring up a list of unary operations including negative image, reciprocal, integer part, exponential, and logarithm. Although listed, the square, square root, absolute value operations are not supported in this software demonstration and may yield strange results. The function key F2 restores the list of binary operations.

You can change the inputs A or B by pressing function key F3 or F4. Doing so brings up a list of canonical probability distributions and probability bounds to choose from. Not all the listed distributions are supported by this demonstration software. For instance, selecting beta or chi square distributions will be ignored. Use the up or down arrow keys or mouse to traverse the list. Move the highlighting bar to the distribution you wish to use as an input and press the enter key to select it. After selecting a distribution, you’ll then need to enter its parameters. Type in the required parameters as specified in the table below.
Continuous distributions Required parameters
Cauchy low, high, mode, scale parameter
Dirac delta value
exponential low, high, mean
geometric low, high, trials
Gumbel low, high, mode, scale parameter
Laplace low, high, mean, scale parameter
logistic low, high, mean, scale parameter
normal low, high, mean, standard deviation
Pareto low, high, mode, shape parameter
power function low, high, scale parameter, shape parameter
Rayleigh low, high, scale parameter
triangular minimum, maximum, mode
uniform minimum, maximum, mode
Weibull low, high, scale parameter, shape parameter
Discrete distributions Required parameters
binomial low, high, trials, probability
Poisson low, high, mean
Probability bounds Required parameters
{min, max} minimum, maximum
{min, max, mean} minimum, maximum, mean
{min, mean} minimum, mean
{min, max, median} minimum, maximum, median
{min, max, mode} minimum, maximum, mode
{min, max, mean=median} minimum, maximum, mean
{min, max, mean=mode} minimum, maximum, mean
{min, max, median=mode} minimum, maximum, median
{min, max, percentile} minimum, maximum, level (as a fraction), percentile
{mean, var} low, high, mean, variance
{symmetric, mean, std} low, high, mean, standard deviation
{unimodal, mean, std} low, high, mean, standard deviation

Generally, all distributions require bounds on the variable’s range as the first two parameters. Type in the lowest possible value the variable can have and the highest possible value the variable can have. Make sure they’re in increasing order! This demonstration software does not verify your inputs are sensible. For many of the distributions you’ll have to specify more parameters according to the kind of probability distribution you’ve chosen. For instance, the distribution in variable A when PBDemo first started was specified by selecting "normal" from the list of distributions and entering the sequence of numbers "1, 10, 5, 1" on the line . This says the distribution is to range between one and ten like the normal distribution having a mean of five and a standard deviation of one. Variable B’s assignment was "uniform" and "1, 3". To specify a scalar, choose Dirac’s delta and enter a single value on the line. To specify an interval, choose "{min, max}" and enter a pair of numbers on the line. When you’re though editing the line, press the enter key to have PBDemo interpret what you’ve typed. It should display the input in the graph on the right. (If the red line is below the green line at any point, something is wrong.) You may then need to press F2 to bring back up the list of arithmetical operations.

Use the F5 function key to bring up options to swap the inputs or to swap a result with one of the inputs. Press the F10 key to exit the program.

For more information or for licensing details about PBDemo, contact Scott Ferson at or Applied Biomathematics, 100 North Country Road, Setauket, New York 11733, 1-631-751-4350; fax -3435.

Fuzzy Arithmetic Demonstration (FADemo)

FADemo is old DOS demonstration software that illustrates basic fuzzy arithmetic. Risk Calc is vastly superior to PBDemo, but FADemo may be useful in some situations.

Two fuzzy numbers appear in graphs on the right. The top one is A and second one is B. By selecting an operation from the list on the left and pressing the enter key you will make FADEMO perform the operation on these two inputs. The result is displayed on a third graph below the other two. Note that not all operations are meaningful within a strict definition of fuzzy arithmetic. For instance, the superimposition of fuzzy numbers that don't overlap will produce no answer. Likewise, not all deconvolutions exist.

Press the function key F1 to bring up a list of unary operations including negative image, reciprocal, square, square root, absolute value, integer part, exponential, and logarithm. The function key F2 restores the list of binary operations, which includes addition, subtraction, multiplication, division, minimum, maximum, power, envelope, superimposition, and various deconvolutions. Similarly, the function keys F7 and F8 bring up lists of various triangular norms and triangular conorms that can operate on the two inputs.

You can change the fuzzy numbers used as inputs A or B by pressing the function key F3 or F4. To specify a triangular fuzzy number, type three numeric values, separated by commas and enclosed in square brackets. Make sure the numbers are in increasing order! The demonstration version does not check your inputs. To specify a trapezoidal fuzzy number, enter four values within the brackets. Entering only two numbers on the line assigns the corresponding interval to the parameter. Entering a single number assigns that scalar value to the parameter. When you're though editing the line, press the enter key to have FADemo interpret what you've typed. It should display the input in the graph on the right. You may then need to press F2 to bring back up the list of arithmetical operations.

Use the F5 function key to bring up options to exchange the fuzzy numbers or to swap the result for one of them. Pressing the F9 function key brings all three graphs to the same scale. Press the F10 key to exit.

For more information or for licensing details about FADemo, contact Scott Ferson at or Applied Biomathematics, 100 North Country Road, Setauket, New York 11733, 1-631-751-4350; fax -3435.


The capabilities of the software have been described in the following (the first of which is the Risk Calc user manual):

  1. Ferson, S. 2002 RAMAS Risk Calc 4.0 Software: Risk Assessment with Uncertain Numbers. Lewis Publishers, Boca Raton, Florida.
  2. Ferson, S. 2001. Probability bounds analysis solves the problem of incomplete specification in probabilistic risk and safety assessements. Risk-Based Decisionmaking in Water Resources IX, Y.Y. Haimes, D.A. Moser and E.Z. Stakhiv (eds.), American Society of Civil Engineers, Reston, Virginia, page 173-188.
  3. Ferson, S. 1997. Probability bounds analysis software. Computing in Environmental Resource Management. Proceedings of the Conference, A. Gertler (ed.), Air and Waste Management Association and the U.S. Environmental Protection Agency, Pittsburgh, Pennsylvania. pp. 669-678.
  4. Ferson, S. and R. Kuhn 1994. Interactive microcomputer software for fuzzy arithmetic. Proceedings of the High Consequence Operations Safety Symposium, Sandia National Laboratories, SAND94-2364, J.A. Cooper (ed.), pp. 493-506.

There are also several references for papers describing applications of the methods used in Risk Calc and the theoretical underpinnings of the methods.

Background references

There is a truly vast literature on uncertainty propagation, probability theory, interval analysis and fuzzy sets. The following sources provide the theoretical foundations for the methods employed in Risk Calc.

    Uncertainty logic
  1. Hailperin, T. 1986. Boole’s Logic and Probability. North-Holland, Amsterdam.
  2. Fréchet, M., 1935 Généralisations du théorème des probabilités totales. Fundamenta Mathematica 25: 379-387.
  3. Boole, G. 1854 An Investigation of the Laws of Thought, On Which Are Founded the Mathematical Theories of Logic and Probability. Walton and Maberly, London.

    Interval analysis
  4. Moore, R.E. 1966 Interval Analysis. Prentice-Hall, Englewood Cliffs, New Jersey.
  5. Neumaier, A. 1990 Interval Methods for Systems of Equations. Cambridge University Press, Cambridge.

    Probabilistic arithmetic
  6. Ferson, S., V. Kreinovich, L. Ginzburg, D.S. Myers and K. Sentz. 2003. Constructing Probability Boxes and Dempster-Shafer Structures, SAND2002-4015, Sandia National Laboratories, Albuquerque, New Mexico.
  7. Ferson, S., R. Nelsen, J. Hajagos, D. Berleant, J. Zhang, W.T. Tucker, L. Ginzburg and W.L. Oberkampf. 2004. Dependence in Probabilistic Modeling, Dempster-Shafer Theory, and Probability Bounds Analysis. Sandia National Laboratories, SAND2004-3072, Sandia National Laboratories, Albuquerque, New Mexico.
  8. Williamson, R.C., and T. Downs 1990 Probabilistic arithmetic I: numerical methods for calculating convolutions and dependency bounds. International Journal of Approximate Reasoning 4:89-158.
  9. Frank, M.J., R.B. Nelsen and B. Schweizer 1987 Best-possible bounds for the distribution of a sum—a problem of Kolmogorov. Probability Theory and Related Fields 74:199-211.

    Backcalculation and deconvolution
  10. Ferson, S. and T.F. Long. 1998. Deconvolution can reduce uncertainty in risk analyses. Risk Assessment: Measurement and Logic, M. Newman and C. Strojan (eds.), Ann Arbor Press.
  11. Regan, H.M., B.E. Sample and S. Ferson.2002. Comparison of deterministic and probabilistic calculation of ecological soil screening levels. Environmental Toxicology and Chemistry 21:882-890.
  12. Tucker, W.T. and S. Ferson 2003. Setting cleanup targets in a probabilistic assessment. Proceedings of the World Water & Environmental Resources Congress, ASCE, Reston, Virginia.

  13. Moment propagation
  14. Ferson, S., L. Ginzburg, V. Kreinovich and M. Aviles. 2002. Exact bounds on sample variance of interval data. Extended Abstracts of the 2002 SIAM Workshop on Validated Computing, Toronto, Canada, May 23-25, 2002, pp. 67-69.

  15. Fuzzy arithmetic and possibility theory
  16. Kaufmann, A. and M.M. Gupta 1985 Introduction to Fuzzy Arithmetic: Theory and Applications. Van Nostrand Reinhold, New York.
  17. Dubois, D. and H. Prade 1988 Possibility Theory: An Approach to Computerized Processing of Uncertainty. Plenum Press, New York.
  18. Zadeh, L. 1978 Fuzzy sets as a basis for a theory of possibility. Fuzzy Sets and Systems 1: 3-28.

  19. Dimensions and units
  20. Hart, G.W. 1994. Multidimensional Analysis: Algebra and Systems for Science and Engineering. Springer-Verlag, New York.
  21. Wildi, T. 1988. Units and Conversion Charts: A Handbook for Engineers and Scientists. Sperika Enterprises, Québec.
  22. Ferson, S. 2001. Checking for errors in calculations and software: dimensional balance and conformance of units. Accountability in Research: Policies and Quality Assurance 8:261-279.


There’ve been many applications of interval, fuzzy and probabilistic methods to engineering, human and ecological risk analysis. Here are some examples.

  1. Kriegler, E. and H. Held 2005. Utilizing belief functions for the estimation of future climate change International Journal of Approximate Reasoning 39:185-209.
  2. There have been several documents written between 2002 and 2005 describing the U.S. EPA’s use of probability bounds analysis in the "rest of river" component of the assessment for the GE/Housatonic River Site in New England, including both the Ecological Risk Assessment and the Human Health Risk Assessment. See also a strongly critical review of probability bounds analysis by Owen Hoffman of Senes Oak Ridge.
  3. MacDonald, D.D. et al. 2002. Calcasieu Estuary Remedial Investigation/Feasibility Study (RI/FS): Baseline Ecological Risk Assessment (BERA). Report to U.S. Environmental Protection Agency, Region 6, Dallas, Texas. Document control number 3282-941-RTZ-RISKZ-14858. See also the general website for the Calcasieu Estuary Initiative.
  4. Ferson, S. and J. Hajagos. 2004. Arithmetic with uncertain numbers: rigorous and (often) best-possible answers. Reliability and Engineering and System Safety 85: 135-152.
  5. Ferson, S. and W.T. Tucker 2003. Reliability of risk analyses for contaminated groundwater. Proceedings of the World Water & Environmental Resources Congress. ASCE, Reston, Virginia.
  6. Regan, H.M., B.K. Hope and S. Ferson. 2002. Analysis and portrayal of uncertainty in a food web exposure model. Human and Ecological Risk Assessment 8:1757-1777. (Named a best HERA paper of the year for 2002)
  7. Burgman, M.A., D.R. Breininger, B.W. Duncan and S. Ferson. 2001. Setting reliability bounds on habitat suitability indicies. Ecological Applications 11: 70-78.
  8. Spencer, M., N.S. Fisher, W.-X. Wang, S. Ferson. 2001. Temporal variability and ignorance in Monte Carlo contaminant bioaccumulation models: a case study with selenium in Mytilus edulis. Risk Analysis 21: 383-394.
  9. Moore, D.R.J. and S. Ferson. Probabilistic exposure analysis: possible approaches when information is limited (as it always is). [in review].
  10. Ferson, S. 1996. What Monte Carlo methods cannot do. Human and Ecological Risk Assessment 2:990-1007.
  11. Ferson, S. and L.R. Ginzburg. 1996. Different methods are needed to propagate ignorance and variability. Reliability Engineering and Systems Safety 54:133-144.
  12. Cooper, J.A., S. Ferson and L.R. Ginzburg. 1996. Hybrid processing of stochastic and subjective uncertainty data. Risk Analysis 16: 785-791.
  13. Ginzburg, L.R., C. Janson, and S. Ferson. 1996. Judgment under uncertainty: evolution may not favor a probabilistic calculus. Behavioral and Brain Sciences 19: 24f.
  14. Ferson, S. 1996. Automated quality assurance checks on model structure in ecological risk assessments. Human and Environmental Risk Assessment 2:558-569.
  15. Cooper, J.A., S. Ferson and L.R. Ginzburg. 1995. Hybrid processing of stochastic and subjective uncertainty data. Sandia National Laboratories, SAND95-2450, Albuquerque, New Mexico.
  16. Millstein, J.A. 1995 Simulating extremes in pesticide misapplication from backpack sprayers. International Journal of Pest Management 41:36-45.
  17. Ferson, S. 1995. Quality assurance for Monte Carlo risk assessments. Proceedings of the 1995 Joint ISUMA/NAFIPS Conference, IEEE Computer Society Press, Los Alamitos, California, pp. 14-19.
  18. Ferson, S. and L. Ginzburg. 1995. Hybrid arithmetic. Proceedings of the 1995 Joint ISUMA/NAFIPS Conference, IEEE Computer Society Press, Los Alamitos, California, pp. 619-623.
  19. Ferson, S. and M. Burgman. 1995. Correlations, dependency bounds and extinction risks. Biological Conservation 73:101-105.
  20. Ferson, S. 1995. Using approximate deconvolution to estimate cleanup targets in probabilistic risk analyses, pages 239-248 in Hydrocarbon Contaminated Soils, P. Kostecki (ed). Amherst Scientific Press, Amherst, Massachusetts.
  21. Ferson, S. and T.F. Long. 1995. Conservative uncertainty propagation in environmental risk assessments. Environmental Toxicology and Risk Assessment - Third Volume, ASTM STP 1218, J.S. Hughes, G.R. Biddinger and E. Mones (eds.), American Society for Testing and Materials, Philadelphia, pp. 97-110.
  22. Ozbek, M.M. and G.F. Pinder. 1995. Design of groundwater contamination remediation using fuzzy sets and systems. Proceedings of Fuzzy Logic ’95, November 7-9, 1995, Burlingame, California.
  23. Ferson, S. 1994. Naive Monte Carlo methods yield dangerous underestimates of tail probabilities. Proceedings of the High Consequence Operations Safety Symposium, Sandia National Laboratories, SAND94-2364, J.A. Cooper (ed.), pp. 507-514.
  24. Millstein, J.A. 1994 Propagation of measurement errors in pesticide application computations. International Journal of Pest Management 40:149-165.
  25. Ferson, S. 1994. Using fuzzy arithmetic in Monte Carlo simulation of fishery populations. Management Strategies for Exploited Fish Populations, G. Kruse et al. (eds.), proceedings of the International Symposium on Management Strategies for Exploited Fish Populations, Anchorage, 1992, Alaska Sea Grant College Program, AK-SG-93-02, pp. 595-608.
  26. Ferson, S. 1993 Using fuzzy arithmetic in Monte Carlo simulation of fishery populations. Management Strategies for Exploited Fish Populations, T.J. Quinn II (ed.), Alaska Sea Grant College Program, AK-SG-93-02, pp. 595-608.
  27. Ferson, S. and R. Kuhn. 1992. Propagating uncertainty in ecological risk analysis using interval and fuzzy arithmetic. Computer Techniques in Environmental Studies IV, P. Zannetti (ed.), Elsevier Applied Science, London, pp. 387-401.
  28. Bardossy, A., I. Bogardi and L. Duckstein 1991 Fuzzy set and probabilistic techniques for health-risk analysis. Applied Mathematics and Computation 45:241-268.
  29. Duckstein, L., A. Bardossy, T. Barry and I. Bogardi 1990 Health risk assessment under uncertainty: a fuzzy risk methodology. Risk-based Decision Making in Water Resources. Y.Y. Haimes and E.Z. Stakhiv (eds.), American Society of Engineers, New York.


Technical support

It may be most convenient to first consult the list of the most frequently asked questions or access the free updates of the Risk Calc libraries. If you need help installing or running Risk Calc, or if you can’t figure out how to make it do what you need, or, heaven forbid, the software misbehaves in some way, feel free to contact us. Write down the problem you’re having and try to provide as complete a description as possible of what you did and what happened. Include the serial number from the Risk Calc distribution disk, and be sure to mention your telephone and fax numbers, email and regular mail addresses. Send the description and your coordinates to

      Risk Calc Technical Support
      Applied Biomathematics
      100 North Country Road
      Setauket, New York 11733 USA
      Telephone 1-631-751-4350
      Facsimile 1-631-751-3435

Email queries generally enjoy the quickest response. We cannot guarantee that we’ll always know the answer to your questions, but most things are pretty simple to resolve. Let us hear from you. We’re interested in your suggestions and would like to hear your ideas about Risk Calc and about wrangling uncertainty in general. We would especially appreciate receiving (p)reprints of analyses or papers developed using Risk Calc.


The methods in Risk Calc were developed with support under a Small Business Innovation Research grant (1R43ES06857-02) from the National Institute of Environmental Health Sciences, a component of the National Institutes of Health. Implementation was also supported by the Electric Power Research Institute in collaboration with Southern California Edison, a division of Edison International. The first version of Risk Calc was implemented by Rüdiger Kuhn whose participation was supported in part by Deutscher Akademischer Austaschdienst (German Academic Exchange Service). The software has been improved by thoughtful comments by Sunil Donald, Jeffrey Millstein and J. Arlin Cooper.


  Top of Page
Software · Prices · Training · What’s New · Forum
  Research · Support · Index · Contact Us · Home
©1999-2015 by Applied Biomathematics