[ACE] A The Meanings of ACE's output messages

[Up] [Previous] [Next] [Index]

# A The Meanings of ACE's output messages

### Sections

1. Progress Messages
2. Results Messages

In this chapter, we discuss the meanings of the messages that appear in output from the ACE binary, the verbosity of which is determined by the `messages` option (see option messages). Actually our aim here is to concentrate on describing those ``messages'' that are controlled by the `messages` option, namely the progress and results messages; other output from ACE is fairly self-explanatory. (We describe some other output to give points of reference.)

Both interactively and non-interactively, ACE output is `Info`-ed at `InfoACE` level 3. To see the `Info`-ed ACE output, set the `InfoLevel` of `InfoACE` to at least 3, e.g.

    gap> SetInfoLevel(InfoACE, 3);

This causes each line of ACE output to be prepended with ```#I` ''. Below, we describe the `Info`-ed output observed when each of `ACECosetTableFromGensAndRels`, `ACECosetTable`, `ACEStats` or `ACEStart` is called with three arguments, and presume that users will be able to extend the description to explain output observed from other ACE interface functions. The first-observed (`Info`-ed) output from ACE, is ACE's banner, e.g.

    #I  ACE 3.001        Sat Feb 27 11:44:12 2016
    #I  =========================================
    #I  Host information:
    #I    name = banksia
    #I  ***

If there were any errors in the directives put to ACE, or output from the options described in Appendix Other ACE Options, they will appear next. Then, the next observed output is a row of three asterisks:

    #I  ***

Guru note: The three asterisks are generated by a ```text:***`'' (see option text) directive, emitted to ACE, so that ACE's response can be used as a sentinel to flush out any user errors, or any output from a user's use of Appendix Other ACE Options options.

Next, if the `messages` option (see option messages) is set to a non-zero value, what is observed is a heading like:

    #I    #--- ACE 3.001: Run Parameters ---

(where `3.001` may be replaced be some later version number of the ACE binary) followed by the ``input parameters'' developed from the arguments and options passed to `ACECosetTableFromGensAndRels`, `ACEStats` or `ACEStart`. After these appears a separator:

    #I    #---------------------------------

followed by any progress messages (progress messages only occur if `messages` is non-zero; recall that by default `messages` = 0), followed by a results message.

In the case of `ACECosetTableFromGensAndRels`, the results message is followed by a compaction (`CO` or `co`) progress message and a coset table.

ACE's exit banner which should look something like:

    =========================================
    ACE 3.001        Sat Feb 27 11:44:17 2016

is only seen when running ACE as a standalone.

Both progress messages and the results message consist of an initial tag followed by a list of statistics. All messages have values for the statistics `a`, `r`, `h`, `n`, `h`, `l` and `c` (excepting that the second `h`, the one following the `n` statistic, is only given if hole monitoring has been turned on by setting `messages` < 0, which as noted above is expensive and should be avoided unless really needed). Additionally, there may appear the statistics: `m` and `t` (as for the results message); `d`; or `s`, `d` and `c` (as for the `DS` progress message). The meanings of the various statistics and tags will follow later. The following is a sample progress message:

    #I  AD: a=2 r=1 h=1 n=3; h=66.67% l=1 c=+0.00; m=2 t=2

with tag `AD` and values for the statistics `a`, `r`, `h`, `n`, `h` (appears because `messages` < 0), `l`, `c`, `m` and `t`. The following is a sample results message:

    #I  INDEX = 12 (a=12 r=16 h=1 n=16; l=3 c=0.01; m=14 t=15)

which, in this case, declares a successful enumeration of the coset numbers of a subgroup of index 12 within a group, and, as it turns out, values for the same statistics as the sample progress message.

You should see all the above (and a little more), except that your dates and host information will no doubt differ, by running:

    gap> ACEExample("A5-C5" : echo:=0, messages:=-1);

In the following table we list the statistics that can follow a progress or results message tag, in order:

    --------------------------------------------------------------------
    statistic   meaning
    --------------------------------------------------------------------
    a           number of active coset numbers
    r           number of applied coset numbers
    h           first (potentially) incomplete row
    n           next coset number definition
    h           percentage of holes in the table (if `messages'$ \< 0$)
    l           number of main loop passes
    c           total CPU time
    m           maximum number of active coset numbers
    t           total number of coset numbers defined
    s           new deduction stack size (with DS tag)
    d           current deduction stack size, or
                  no. of non-redundant deductions retained (with DS tag)
    c           no. of redundant deductions discarded (with DS tag)
    --------------------------------------------------------------------

Now that we have discussed the various meanings of the statistics, it's time to discuss the various types of progress and results messages possible. First we describe progress messages.

## A.1 Progress Messages

A progress message (and its tag) indicates the function just completed by the enumerator. In the following table, the possible message `tag`s appear in the first column. In the `action` column, a `y` indicates the function is aggregated and counted. Every time this count reaches the value of `messages`, a message line is printed and the count is zeroed. Those tags flagged with a `y*` are only present if the appropriate option was included when the ACE binary was compiled (a default compilation includes the appropriate options; so normally read `y*` as `y`). Tags with an `n` in the `action` column indicate the function is not counted, and cause a message line to be output every time they occur. They also cause the action count to be reset.

    ------------------------------------------------------------------
    tag   action      meaning
    ------------------------------------------------------------------
    AD         y      coset 1 application definition (`SG'/`RS' phase)
    RD         y      R-style definition
    RF         y      row-filling definition
    CG         y      immediate gap-filling definition
    CC         y*     coincidence processed
    DD         y*     deduction processed
    CP         y      preferred list gap-filling definition
    CD         y      C-style definition
    Lx         n      lookahead performed (type `x')
    CO         n      table compacted
    co         n      compaction routine called, but nothing recovered
    CL         n      complete lookahead (table as deduction stack)
    UH         n      updated completed-row counter
    RA         n      remaining coset numbers applied to relators
    SG         n      subgroup generator phase
    RS         n      relators in subgroup phase
    DS         n      stack overflowed (compacted and doubled)
    ------------------------------------------------------------------

## A.2 Results Messages

The possible results are given in the following table; any result not listed represents an internal error and should be reported to the ACE authors.

    result tag           meaning
    -------------------------------------------------------------------
    INDEX = x            finite index of `x' obtained
    OVERFLOW             out of table space
    SG PHASE OVERFLOW    out of space (processing subgroup generators)
    ITERATION LIMIT      `loop' limit triggered
    TIME LIMT            `ti' limit triggered
    HOLE LIMIT           `ho' limit triggered
    INCOMPLETE TABLE     all coset numbers applied, but table has holes
    MEMORY PROBLEM       out of memory (building data structures)
    -------------------------------------------------------------------

Notes: Recall that hole monitoring is switched on by setting a negative value for the `messages` (see option messages) option, but note that hole monitoring is expensive, so don't turn it on unless you really need it. If you wish to print out the presentation and the options, but not the progress messages, then set `messages` non-zero, but very large. (You'll still get the `SG`, `DS`, etc. messages, but not the `RD`, `DD`, etc. ones.) You can set `messages` to 1, to monitor all enumerator actions, but be warned that this can yield very large output files.

[Up] [Previous] [Next] [Index]