Previous: , Up: test   [Contents][Index]


How to Reproduce Plots Represented in the Paper

The root of the package distribution contains the subdirectory scripts with bash scripts described below. The command make install does not install these scripts.

qsmm-test-multi.sh

A script for collecting data for the plots of dependency of actual efficiency of interaction with deterministic finite automatons on the number of steps in a test pass for the case of a system comprised of two subsystems. The paper “An Approach to Optimal Action Generation for a System that Interacts with the Environment” accessible from the project home page includes such plots. This script runs the test program in a loop producing a new file with test results and incrementing the number of steps in a test pass for each subsequent iteration. The script fills a directory specified by a script argument with files containing test results. The name of each file is the number of steps in each test pass used when running the test program.

qsmm-mk-plot-dataset.sh

A script for generating a dataset to create a plot by the program gnuplot. The script processes a directory with test result files generated by the qsmm-test-multi.sh script and prints to stdout a dataset containing two columns: the number of steps in a test pass and corresponding actual efficiency (in percents) of interaction with deterministic finite automatons.

The method of reproducing a plot of dependency of actual efficiency of interaction with automatons on the number of steps in a test pass consists of the following stages:

  1. Choose a new or empty directory out_dir to store files with test results for a selected test mode.
  2. Run multiple tests in a selected mode using the qsmm-test-multi.sh script to populate out_dir with test result files. The name of each file in out_dir is the number of steps in each test pass used when running the test program. Invoke the script using the command line
    $ ./qsmm-test-multi.sh -d out_dir [ -C VAL ]                \
      [ additional options ] num_in_sig num_out_sig num_states
    

    For one-letter options, a space after an option letter is obligatory. The script only supports the case of a system comprised of two subsystems and passing additional options -C VAL, -s num_model_states, and -t num_passes to the test program. On omitting the option -s, the script uses num_states multiplied by two for num_model_states. Options controlling the numbers of steps in test passes are the following:

    --ni=INT

    The initial number of steps in test passes. This is the name of the first file written to out_dir. The default value is 100.

    --nf=INT

    The final number of steps in test passes. This is the name of the last file written to out_dir. The default value is 100000.

    --nd=INT

    An increment in the number of steps in test passes for each subsequent invocation of test program to create the next file in out_dir. This increment can be negative, in which case the argument of --ni option should be greater than the argument of --nf option. You can use such negative value for the second of two simultaneous runs of this script on a dual-core processor to reduce computing time twice. The default value is 100.

  3. Extract a dataset for the gnuplot (or another) program from files in out_dir. The qsmm-mk-plot-dataset.sh script performs this extraction. That script prints the coordinates of points for the plot to stdout. The script supports the options --ni, --nf, and --nd to determine the names of files to read from out_dir. Invoke the script using the command line
    $ ./qsmm-mk-plot-dataset.sh [ options ] out_dir | tee data_set_file
    
  4. Process the dataset by the gnuplot program to draw the plot with data points and a regression line. The file scripts/gnuplot.script contains a sample gnuplot script to perform this task. You may wish to draw the plot or obtain a function for the regression line by a different program.

Note: created plots shall slightly differ from the plots represented in the paper “An Approach to Optimal Action Generation for a System that Interacts with the Environment” because of corrections made to the initial algorithm implementation.


Previous: , Up: test   [Contents][Index]