CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.

| Download

GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it

Views: 418346
1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2
%%
3
%W strategies.tex ACE documentation - strategies Alexander Hulpke
4
%W Joachim Neub"user
5
%W Greg Gamble
6
%%
7
%H $Id$
8
%%
9
%Y Copyright (C) 2000 Centre for Discrete Mathematics and Computing
10
%Y Department of Information Tech. & Electrical Eng.
11
%Y University of Queensland, Australia.
12
%%
13
14
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15
\Chapter{Strategy Options for ACE}
16
17
It can be difficult to select appropriate options when presented with
18
a new enumeration. The problem is compounded by the fact that no
19
generally applicable rules exist to predict, given a presentation,
20
which option settings are ``good''. To help overcome this problem,
21
{\ACE} contains various commands which select particular enumeration
22
strategies. One or other of these strategies may work and, if not, the
23
results may indicate how the options can be varied to obtain a
24
successful enumeration.
25
26
If no strategy option is passed to {\ACE}, the `default' strategy is
27
assumed, which starts out presuming that the enumeration will be easy,
28
and if it turns out not to be so, {\ACE} switches to a strategy
29
designed for more difficult enumerations. The other straightforward
30
options for beginning users are `easy' and `hard'. Thus, `easy' will
31
quickly succeed or fail (in the context of the given resources);
32
`default' may succeed quickly, or if not will try the `hard' strategy;
33
and `hard' will run more slowly, from the beginning trying to succeed.
34
35
Strategy options are merely options that set a number of the options
36
seen in Chapter~"Options for ACE", all at once; they are parsed in
37
*exactly* the same way as other options; order *is* important. It is
38
usual to specify one strategy option and possibly follow it with a
39
number of options defined in Chapter~"Options for ACE", some of which
40
may over-ride those options set by the strategy option. Please refer
41
to the introductory sections of Chapter~"Options for ACE", paying
42
particular attention to Sections "Warnings regarding Options", "What
43
happens if no ACE Strategy Option or if no ACE Option is passed",
44
and~"Interpretation of ACE Options", which give various warnings,
45
hints and information on the interpretation of options.
46
47
There are eight strategy options. Each is passed without a value (see
48
Section~"Interpretation of ACE Options") except for `sims' which
49
expects one of the integer values: 1, 3, 5, 7, or 9; and, `felsch' can
50
accept a value of 0 or 1, where 0 has the same effect as passing
51
`felsch' with no value. Thus the eight strategy options define
52
thirteen standard strategies; these are listed in the table below,
53
along with all but three of the options (of Chapter~"Options for ACE")
54
that they set. Additionally, each strategy sets `path = 0', `psize =
55
256', and `dsize = 1000'. Recall `mend', `look' and `com' abbreviate
56
`mendelsohn' (see~"option mendelsohn"), `lookahead' (see~"option
57
lookahead") and `compaction' (see~"option compaction"), respectively.
58
59
% \begin{table}
60
% \hrule
61
% \caption{The Predefined Strategies}
62
% \label{tab:pred}
63
% \smallskip
64
% \renewcommand{\arraystretch}{0.875}
65
% \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lrrrrrrrrrrrrr}
66
% \hline\hline
67
% & \multicolumn{13}{c}{parameter} \\
68
% \cline{2-14}
69
% strategy & path & row & mend & no & look & com & ct & rt & fill &
70
% pmode & psize & dmode & dsize \\
71
% \hline
72
% default & 0 & 1 & 0 & -1 & 0 & 10 & 0 & 0 & 0 & 3 & 256 & 4 & 1000 \\
73
% easy & 0 & 1 & 0 & 0 & 0 & 100 & 0 & 1000 & 1 & 0 & 256 & 0 & 1000 \\
74
% felsch:0& 0 & 0 & 0 & 0 & 0 & 10 & 1000 & 0 & 1 & 0 & 256 & 4 & 1000 \\
75
% felsch:1 & 0 & 0 & 0 & -1 & 0 & 10 & 1000 & 0 & 0 & 3 & 256 & 4 & 1000 \\
76
% hard & 0 & 1 & 0 & -1 & 0 & 10 & 1000 & 1 & 0 & 3 & 256 & 4 & 1000 \\
77
% hlt & 0 & 1 & 0 & 0 & 1 & 10 & 0 & 1000 & 1 & 0 & 256 & 0 & 1000 \\
78
% purec & 0 & 0 & 0 & 0 & 0 & 100 & 1000 & 0 & 1 & 0 & 256 & 4 & 1000 \\
79
% purer & 0 & 0 & 0 & 0 & 0 & 100 & 0 & 1000 & 1 & 0 & 256 & 0 & 1000 \\
80
% sims:1 & 0 & 1 & 0 & 0 & 0 & 10 & 0 & 1000 & 1 & 0 & 256 & 0 & 1000 \\
81
% sims:3 & 0 & 1 & 0 & 0 & 0 & 10 & 0 & -1000 & 1 & 0 & 256 & 4 & 1000 \\
82
% sims:5 & 0 & 1 & 1 & 0 & 0 & 10 & 0 & 1000 & 1 & 0 & 256 & 0 & 1000 \\
83
% sims:7 & 0 & 1 & 1 & 0 & 0 & 10 & 0 & -1000 & 1 & 0 & 256 & 4 & 1000 \\
84
% sims:9 & 0 & 0 & 0 & 0 & 0 & 10 & 1000 & 0 & 1 & 0 & 256 & 4 & 1000 \\
85
% \hline\hline
86
% \end{tabular*}
87
% \end{table}
88
89
\begintt
90
option
91
---------------------------------------------------------
92
strategy row mend no look com ct rt fill pmode dmode
93
---------------------------------------------------------------------
94
default 1 0 -1 0 10 0 0 0 3 4
95
easy 1 0 0 0 100 0 1000 1 0 0
96
felsch := 0 0 0 0 0 10 1000 0 1 0 4
97
felsch := 1 0 0 -1 0 10 1000 0 0 3 4
98
hard 1 0 -1 0 10 1000 1 0 3 4
99
hlt 1 0 0 1 10 0 1000 1 0 0
100
purec 0 0 0 0 100 1000 0 1 0 4
101
purer 0 0 0 0 100 0 1000 1 0 0
102
sims := 1 1 0 0 0 10 0 1000 1 0 0
103
sims := 3 1 0 0 0 10 0 -1000 1 0 4
104
sims := 5 1 1 0 0 10 0 1000 1 0 0
105
sims := 7 1 1 0 0 10 0 -1000 1 0 4
106
sims := 9 0 0 0 0 10 1000 0 1 0 4
107
---------------------------------------------------------------------
108
\endtt
109
110
Note that we explicitly (re)set all of the listed enumerator options
111
in all of the predefined strategies, even though some of them have no
112
effect. For example, the `fill' value is irrelevant in HLT-type
113
enumeration (see Section~"Enumeration Style"). The idea behind this is
114
that, if you later change some options individually, then the
115
enumeration retains the ``flavour'' of the last selected predefined
116
strategy.
117
118
Note also that other options which may effect an enumeration are left
119
untouched by setting one of the predefined strategies; for example,
120
the values of `max' (see~"option max") and `asis' (see~"option asis").
121
These options have an effect which is independent of the selected
122
strategy.
123
124
Note that, apart from the `felsch := 0' and `sims := 9' strategies,
125
all of the strategies are distinct, although some are very similar.
126
127
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
128
\Section{The Strategies in Detail}
129
130
\atindex{C style}{@C style}\atindex{Cr style}{@Cr style}
131
\atindex{CR style}{@CR style}\atindex{R style}{@R style}
132
\atindex{R\* style}{@R\* style}\atindex{Rc style}{@Rc style}
133
\atindex{R/C style}{@R/C style}
134
\atindex{Defaulted R/C style}{@Defaulted R/C style}
135
\atindex{R/C (defaulted) style}{@R/C (defaulted) style}
136
Please note that the strategies are based on various *enumeration
137
styles*: *C style*, *Cr style*, *CR style*, *R style*, *R\* style*,
138
*Rc style*, *R/C style* and *defaulted R/C style*, all of which are
139
described in detail in Section~"Enumeration Style".
140
141
\beginitems
142
143
\>`default'{option default}@{option `default'}&
144
Selects the default strategy. (Shortest abbreviation: `def'.)
145
146
This strategy is based on the *defaulted R/C style* (see
147
Section~"Enumeration Style"). The idea here is that we assume that the
148
enumeration is ``easy'' and start out in *R style*. If it turns out
149
not to be easy, then we regard it as ``hard'', and switch to *CR
150
style*, after performing a `lookahead' (see~"option lookahead") on the
151
entire table.
152
153
\>`easy'{option easy}@{option `easy'}&
154
Selects an ``easy'' R style strategy.
155
156
If this strategy is selected, we follow a HLT-type enumeration style,
157
i.e. *R style* (see Section~"Enumeration Style"), but turn `lookahead'
158
(see~"option lookahead") and `compaction' (see~"option compaction")
159
off. For small and/or easy enumerations, this strategy is likely to be
160
the fastest.
161
162
\>`felsch'{option felsch}@{option `felsch'}
163
\>`felsch:=<val>'{option felsch}@{option `felsch'}&
164
Selects a Felsch strategy; <val> should be 0 or 1.
165
(Shortest abbreviation: `fel'.)
166
167
Here a *C style* (see Section~"Enumeration Style") enumeration is
168
selected. Assigning `felsch' 0 or no value selects a pure Felsch
169
strategy, and a value of 1 selects a Felsch strategy with all relators
170
in the subgroup, i.e.~`no'${}=-1$ (see~"option no"), and turns
171
gap-`fill'ing (see "option fill") on.
172
173
\>`hard'{option hard}@{option `hard'}&
174
Selects a mixed *R style* and *C style* strategy.
175
176
In many ``hard'' enumerations, a mixture of *R style* and *C style*
177
(see Section~"Enumeration Style") definitions, all tested in all
178
essentially different positions, is appropriate. This option selects
179
such a mixed strategy. The idea here is that most of the work is done
180
C style (with the relators in the subgroup, i.e.~`no'${}=-1$
181
(see~"option no"), and with gap-`fill'ing (see "option fill") on), but
182
that every $1000$ C style definitions a further coset number is
183
applied to all relators.
184
185
*Guru Notes:*
186
The $1000/1$ mix is not necessarily optimal, and some experimentation
187
may be needed to find an acceptable balance (see, for example,
188
\cite{HR01}). Note also that, the longer the total length of the
189
presentation, the more work needs to be done for each coset number
190
application to the relators; one coset number application can result
191
in more than $1000$ definitions, reversing the balance between R style
192
and C style definitions.
193
194
\>`hlt'{option hlt}@{option `hlt'}&
195
Selects {\ACE}'s standard HLT strategy.
196
197
Unlike Sims' \cite{Sim94} default HLT strategy, `hlt' sets the
198
`lookahead' option (see~"option lookahead"). However, the option
199
sequence ```hlt, lookahead := 0''' easily achieves Sims' default HLT
200
strategy (recall, the ordering of options is respected; see
201
Section~"Honouring of the order in which ACE Options are passed").
202
203
This is an *R style* (see Section~"Enumeration Style") strategy.
204
205
\>`purec'{option purec}@{option `purec'}&
206
Sets the strategy to basic *C style* (see Section~"Enumeration Style").
207
208
In this strategy there is no `compaction' (see~"option compaction"),
209
no gap-`fill'ing (see "option fill") and no relators in subgroup,
210
i.e.~`no'${}=0$ (see~"option no").
211
212
\>`purer'{option purer}@{option `purer'}&
213
Sets the strategy to basic *R style* (see Section~"Enumeration Style").
214
215
In this strategy there is no `mendelsohn' (see "option mendelsohn"),
216
no `compaction' (see~"option compaction"), no `lookahead' (see~"option
217
lookahead") and no `row'-filling (see "option row").
218
219
\>`sims:=<val>'{option sims}@{option `sims'}&
220
Sets a Sims strategy; <val> should be one of 1, 3, 5, 7 or 9.
221
222
In his book~\cite{Sim94}, Sims discusses (and lists in Table 5.5.1)
223
ten standard enumeration strategies. The Sims' strategies are
224
effectively `hlt' (see~"option hlt") without `lookahead' (see~"option
225
lookahead"), with or without `mendelsohn' (see~"option mendelsohn")
226
set, in R (`rt' positive, `ct := 0') or R\* style (`rt' negative, `ct
227
:= 0'); and `felsch' (see~"option felsch"); all either with or without
228
(`lenlex') table standardisation (see Section~"Coset Table
229
Standardisation Schemes" and~"ACEStandardCosetNumbering" or~"option
230
standard") as the enumeration proceeds. {\ACE} does not implement
231
table standardisation during an enumeration, and so only provides the
232
odd-numbered strategies of Sims ({\ACE}'s numbering coincides with
233
that of Sims).
234
235
With care, it is often possible to duplicate the statistics given
236
in~\cite{Sim94} for his odd-numbered strategies and it is also
237
possible (using the interactive facilities) to approximate his
238
even-numbered strategies. Examples and a more detailed exposition of
239
the Sims strategies are given in Section~"Emulating Sims".
240
241
\enditems
242
243
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
244
%%
245
%E
246
247