Skip to content

ccoughlin/javamut

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

javamut - permutations in Java

javamut generates all the permutations (possible combinations) of a set of conditions (also known as factors). By specifying the levels (the number of values) for each condition, javamut can create a table that contains every possible combination of the conditions, known as a full factorial design. The table can then be used in an experiment to examine how each condition affects the results.

For example, suppose you're about to conduct a traffic study and want to break the results down by season and time of day. Your first condition might be Season with four levels Spring, Summer, Autumn, Winter; your second condition might be Time Of Day with two levels Day and Night. The full factorial design in this case would look something like

Season Time Of Day
Spring Day
Summer Day
Autumn Day
Winter Day
Spring Night
Summer Night
Autumn Night
Winter Night

With only two conditions and a few levels per condition this table is easy to generate by hand, but the complexity rises quickly as you add conditions. If we add a third condition Vehicle with three levels Car, Truck/SUV, and Commercial there are (2x4x3) 24 combinations; if we add a fourth condition Speed Limit with three levels 30, 40, and 50 now there are (2x4x3x3) 72 combinations, and so on.

Credits

The full factorial expansion algorithm is based on the PyDOE Design of Experiments for Python project, itself based on the full factorial code provided in the Scilab SciDOE package by the following authors:

  • Copyright (C) 2012-2013 - Michael Baudin
  • Copyright (C) 2012 - Maria Christopoulou
  • Copyright (C) 2009 - Yann Collette
  • Copyright (C) 2001 - Per A. Brodtkorb

About

Full factorial Design of Experiments in Java

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages