Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
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
Project: cocalc-sagemath-dev-slelievre
Views: 418346%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1%%2%W strategies.tex ACE documentation - strategies Alexander Hulpke3%W Joachim Neub"user4%W Greg Gamble5%%6%H $Id$7%%8%Y Copyright (C) 2000 Centre for Discrete Mathematics and Computing9%Y Department of Information Tech. & Electrical Eng.10%Y University of Queensland, Australia.11%%1213%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%14\Chapter{Strategy Options for ACE}1516It can be difficult to select appropriate options when presented with17a new enumeration. The problem is compounded by the fact that no18generally applicable rules exist to predict, given a presentation,19which option settings are ``good''. To help overcome this problem,20{\ACE} contains various commands which select particular enumeration21strategies. One or other of these strategies may work and, if not, the22results may indicate how the options can be varied to obtain a23successful enumeration.2425If no strategy option is passed to {\ACE}, the `default' strategy is26assumed, which starts out presuming that the enumeration will be easy,27and if it turns out not to be so, {\ACE} switches to a strategy28designed for more difficult enumerations. The other straightforward29options for beginning users are `easy' and `hard'. Thus, `easy' will30quickly succeed or fail (in the context of the given resources);31`default' may succeed quickly, or if not will try the `hard' strategy;32and `hard' will run more slowly, from the beginning trying to succeed.3334Strategy options are merely options that set a number of the options35seen in Chapter~"Options for ACE", all at once; they are parsed in36*exactly* the same way as other options; order *is* important. It is37usual to specify one strategy option and possibly follow it with a38number of options defined in Chapter~"Options for ACE", some of which39may over-ride those options set by the strategy option. Please refer40to the introductory sections of Chapter~"Options for ACE", paying41particular attention to Sections "Warnings regarding Options", "What42happens if no ACE Strategy Option or if no ACE Option is passed",43and~"Interpretation of ACE Options", which give various warnings,44hints and information on the interpretation of options.4546There are eight strategy options. Each is passed without a value (see47Section~"Interpretation of ACE Options") except for `sims' which48expects one of the integer values: 1, 3, 5, 7, or 9; and, `felsch' can49accept a value of 0 or 1, where 0 has the same effect as passing50`felsch' with no value. Thus the eight strategy options define51thirteen standard strategies; these are listed in the table below,52along with all but three of the options (of Chapter~"Options for ACE")53that they set. Additionally, each strategy sets `path = 0', `psize =54256', and `dsize = 1000'. Recall `mend', `look' and `com' abbreviate55`mendelsohn' (see~"option mendelsohn"), `lookahead' (see~"option56lookahead") and `compaction' (see~"option compaction"), respectively.5758% \begin{table}59% \hrule60% \caption{The Predefined Strategies}61% \label{tab:pred}62% \smallskip63% \renewcommand{\arraystretch}{0.875}64% \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lrrrrrrrrrrrrr}65% \hline\hline66% & \multicolumn{13}{c}{parameter} \\67% \cline{2-14}68% strategy & path & row & mend & no & look & com & ct & rt & fill &69% pmode & psize & dmode & dsize \\70% \hline71% default & 0 & 1 & 0 & -1 & 0 & 10 & 0 & 0 & 0 & 3 & 256 & 4 & 1000 \\72% easy & 0 & 1 & 0 & 0 & 0 & 100 & 0 & 1000 & 1 & 0 & 256 & 0 & 1000 \\73% felsch:0& 0 & 0 & 0 & 0 & 0 & 10 & 1000 & 0 & 1 & 0 & 256 & 4 & 1000 \\74% felsch:1 & 0 & 0 & 0 & -1 & 0 & 10 & 1000 & 0 & 0 & 3 & 256 & 4 & 1000 \\75% hard & 0 & 1 & 0 & -1 & 0 & 10 & 1000 & 1 & 0 & 3 & 256 & 4 & 1000 \\76% hlt & 0 & 1 & 0 & 0 & 1 & 10 & 0 & 1000 & 1 & 0 & 256 & 0 & 1000 \\77% purec & 0 & 0 & 0 & 0 & 0 & 100 & 1000 & 0 & 1 & 0 & 256 & 4 & 1000 \\78% purer & 0 & 0 & 0 & 0 & 0 & 100 & 0 & 1000 & 1 & 0 & 256 & 0 & 1000 \\79% sims:1 & 0 & 1 & 0 & 0 & 0 & 10 & 0 & 1000 & 1 & 0 & 256 & 0 & 1000 \\80% sims:3 & 0 & 1 & 0 & 0 & 0 & 10 & 0 & -1000 & 1 & 0 & 256 & 4 & 1000 \\81% sims:5 & 0 & 1 & 1 & 0 & 0 & 10 & 0 & 1000 & 1 & 0 & 256 & 0 & 1000 \\82% sims:7 & 0 & 1 & 1 & 0 & 0 & 10 & 0 & -1000 & 1 & 0 & 256 & 4 & 1000 \\83% sims:9 & 0 & 0 & 0 & 0 & 0 & 10 & 1000 & 0 & 1 & 0 & 256 & 4 & 1000 \\84% \hline\hline85% \end{tabular*}86% \end{table}8788\begintt89option90---------------------------------------------------------91strategy row mend no look com ct rt fill pmode dmode92---------------------------------------------------------------------93default 1 0 -1 0 10 0 0 0 3 494easy 1 0 0 0 100 0 1000 1 0 095felsch := 0 0 0 0 0 10 1000 0 1 0 496felsch := 1 0 0 -1 0 10 1000 0 0 3 497hard 1 0 -1 0 10 1000 1 0 3 498hlt 1 0 0 1 10 0 1000 1 0 099purec 0 0 0 0 100 1000 0 1 0 4100purer 0 0 0 0 100 0 1000 1 0 0101sims := 1 1 0 0 0 10 0 1000 1 0 0102sims := 3 1 0 0 0 10 0 -1000 1 0 4103sims := 5 1 1 0 0 10 0 1000 1 0 0104sims := 7 1 1 0 0 10 0 -1000 1 0 4105sims := 9 0 0 0 0 10 1000 0 1 0 4106---------------------------------------------------------------------107\endtt108109Note that we explicitly (re)set all of the listed enumerator options110in all of the predefined strategies, even though some of them have no111effect. For example, the `fill' value is irrelevant in HLT-type112enumeration (see Section~"Enumeration Style"). The idea behind this is113that, if you later change some options individually, then the114enumeration retains the ``flavour'' of the last selected predefined115strategy.116117Note also that other options which may effect an enumeration are left118untouched by setting one of the predefined strategies; for example,119the values of `max' (see~"option max") and `asis' (see~"option asis").120These options have an effect which is independent of the selected121strategy.122123Note that, apart from the `felsch := 0' and `sims := 9' strategies,124all of the strategies are distinct, although some are very similar.125126%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%127\Section{The Strategies in Detail}128129\atindex{C style}{@C style}\atindex{Cr style}{@Cr style}130\atindex{CR style}{@CR style}\atindex{R style}{@R style}131\atindex{R\* style}{@R\* style}\atindex{Rc style}{@Rc style}132\atindex{R/C style}{@R/C style}133\atindex{Defaulted R/C style}{@Defaulted R/C style}134\atindex{R/C (defaulted) style}{@R/C (defaulted) style}135Please note that the strategies are based on various *enumeration136styles*: *C style*, *Cr style*, *CR style*, *R style*, *R\* style*,137*Rc style*, *R/C style* and *defaulted R/C style*, all of which are138described in detail in Section~"Enumeration Style".139140\beginitems141142\>`default'{option default}@{option `default'}&143Selects the default strategy. (Shortest abbreviation: `def'.)144145This strategy is based on the *defaulted R/C style* (see146Section~"Enumeration Style"). The idea here is that we assume that the147enumeration is ``easy'' and start out in *R style*. If it turns out148not to be easy, then we regard it as ``hard'', and switch to *CR149style*, after performing a `lookahead' (see~"option lookahead") on the150entire table.151152\>`easy'{option easy}@{option `easy'}&153Selects an ``easy'' R style strategy.154155If this strategy is selected, we follow a HLT-type enumeration style,156i.e. *R style* (see Section~"Enumeration Style"), but turn `lookahead'157(see~"option lookahead") and `compaction' (see~"option compaction")158off. For small and/or easy enumerations, this strategy is likely to be159the fastest.160161\>`felsch'{option felsch}@{option `felsch'}162\>`felsch:=<val>'{option felsch}@{option `felsch'}&163Selects a Felsch strategy; <val> should be 0 or 1.164(Shortest abbreviation: `fel'.)165166Here a *C style* (see Section~"Enumeration Style") enumeration is167selected. Assigning `felsch' 0 or no value selects a pure Felsch168strategy, and a value of 1 selects a Felsch strategy with all relators169in the subgroup, i.e.~`no'${}=-1$ (see~"option no"), and turns170gap-`fill'ing (see "option fill") on.171172\>`hard'{option hard}@{option `hard'}&173Selects a mixed *R style* and *C style* strategy.174175In many ``hard'' enumerations, a mixture of *R style* and *C style*176(see Section~"Enumeration Style") definitions, all tested in all177essentially different positions, is appropriate. This option selects178such a mixed strategy. The idea here is that most of the work is done179C style (with the relators in the subgroup, i.e.~`no'${}=-1$180(see~"option no"), and with gap-`fill'ing (see "option fill") on), but181that every $1000$ C style definitions a further coset number is182applied to all relators.183184*Guru Notes:*185The $1000/1$ mix is not necessarily optimal, and some experimentation186may be needed to find an acceptable balance (see, for example,187\cite{HR01}). Note also that, the longer the total length of the188presentation, the more work needs to be done for each coset number189application to the relators; one coset number application can result190in more than $1000$ definitions, reversing the balance between R style191and C style definitions.192193\>`hlt'{option hlt}@{option `hlt'}&194Selects {\ACE}'s standard HLT strategy.195196Unlike Sims' \cite{Sim94} default HLT strategy, `hlt' sets the197`lookahead' option (see~"option lookahead"). However, the option198sequence ```hlt, lookahead := 0''' easily achieves Sims' default HLT199strategy (recall, the ordering of options is respected; see200Section~"Honouring of the order in which ACE Options are passed").201202This is an *R style* (see Section~"Enumeration Style") strategy.203204\>`purec'{option purec}@{option `purec'}&205Sets the strategy to basic *C style* (see Section~"Enumeration Style").206207In this strategy there is no `compaction' (see~"option compaction"),208no gap-`fill'ing (see "option fill") and no relators in subgroup,209i.e.~`no'${}=0$ (see~"option no").210211\>`purer'{option purer}@{option `purer'}&212Sets the strategy to basic *R style* (see Section~"Enumeration Style").213214In this strategy there is no `mendelsohn' (see "option mendelsohn"),215no `compaction' (see~"option compaction"), no `lookahead' (see~"option216lookahead") and no `row'-filling (see "option row").217218\>`sims:=<val>'{option sims}@{option `sims'}&219Sets a Sims strategy; <val> should be one of 1, 3, 5, 7 or 9.220221In his book~\cite{Sim94}, Sims discusses (and lists in Table 5.5.1)222ten standard enumeration strategies. The Sims' strategies are223effectively `hlt' (see~"option hlt") without `lookahead' (see~"option224lookahead"), with or without `mendelsohn' (see~"option mendelsohn")225set, in R (`rt' positive, `ct := 0') or R\* style (`rt' negative, `ct226:= 0'); and `felsch' (see~"option felsch"); all either with or without227(`lenlex') table standardisation (see Section~"Coset Table228Standardisation Schemes" and~"ACEStandardCosetNumbering" or~"option229standard") as the enumeration proceeds. {\ACE} does not implement230table standardisation during an enumeration, and so only provides the231odd-numbered strategies of Sims ({\ACE}'s numbering coincides with232that of Sims).233234With care, it is often possible to duplicate the statistics given235in~\cite{Sim94} for his odd-numbered strategies and it is also236possible (using the interactive facilities) to approximate his237even-numbered strategies. Examples and a more detailed exposition of238the Sims strategies are given in Section~"Emulating Sims".239240\enditems241242%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%243%%244%E245246247