Rulegolfing: Difference between revisions
create glossary page |
Unname4798 (talk | contribs) https://conwaylife.com/forums/viewtopic.php?p=189192#p189192 Tag: Manual revert |
||
| (4 intermediate revisions by 3 users not shown) | |||
| Line 2: | Line 2: | ||
'''Rulegolfing''' is an activity of constructing new rules or looking for variants of [[rule]]s via successive incremental modifications to the rule definition, for example by adding or removing birth/survival conditions in the [[rulestring]] written using [[Hensel notation]], or by changing lines in a [[rule table]]. Rulegolfing may involve multiple modifications of a rule, for example attempting to understand which changes make the rule explosive/chaotic, and trying to reach a rule with some desired properties. In general, any given "syntactic" change in the rule definition (such as adding a certain birth condition, or removing a certain survival condition, or adding/removing a line in a [[rule table]]) may have very different effects when the "syntactic" change is applied to different rules.<ref name="post124466" /><ref name="post136675" /><ref name="post142177" /><ref name="post148993" /><ref name="post154009" /> | '''Rulegolfing''' is an activity of constructing new rules or looking for variants of [[rule]]s via successive incremental modifications to the rule definition, for example by adding or removing birth/survival conditions in the [[rulestring]] written using [[Hensel notation]], or by changing lines in a [[rule table]]. Rulegolfing may involve multiple modifications of a rule, for example attempting to understand which changes make the rule explosive/chaotic, and trying to reach a rule with some desired properties. In general, any given "syntactic" change in the rule definition (such as adding a certain birth condition, or removing a certain survival condition, or adding/removing a line in a [[rule table]]) may have very different effects when the "syntactic" change is applied to different rules.<ref name="post124466" /><ref name="post136675" /><ref name="post142177" /><ref name="post148993" /><ref name="post154009" /> | ||
An example of a rule that was found via rulegolfing is the {{rl|Langton's Ant simulator}} (B3-cjkq4knqy5cnr7/S02-cn3-ak4eiq5kq6e7e) | An example of a rule that was found via rulegolfing is the {{rl|Langton's Ant simulator}} (B3-cjkq4knqy5cnr7/S02-cn3-ak4eiq5kq6e7e) <ref name="post156294" /> which came first in the 2021 [[OCA Discovery of the Year]]. | ||
Existence of a well-recognised widespread notation to define rules from a given [[rulespace]] can be a powerful tool for rulegolfing, when the notation splits the rule definition into intuitively understandable parts that can be modified independently from each other.<ref name="post130117" /><ref name="post154009" /> | Existence of a well-recognised widespread notation to define rules from a given [[rulespace]] can be a powerful tool for rulegolfing, when the notation splits the rule definition into intuitively understandable parts that can be modified independently from each other.<ref name="post130117" /><ref name="post154009" /> | ||
Strategies for selecting 'interesting' rules from a large rulespace were discussed as early as 1994:<ref name="threads_natural_0007" /> | |||
{{cquote | |||
|author = Dr. Robert Andreen | |||
|source = Re: CA rules (04 Apr 94)<ref name="threads_natural_0007" /> | |||
|quote = {{...}} The real difficulty lies in *visualizing* what you are doing when you change values in the tables and drawing inferences about what values to change to produce what results. {{...}} a strategy might be as follows. From randomized transition tables with random initial configurations, look for `interesting' small scale structures, such as gliders, blinkers, quasars, rotators, etc. Isolate these structures and analytically or experimentally determine their minimal transition tables, ie, the array of *necessary* transitions to produce the structure along with indications of the "Don't Care" transitions. Repeat until you have a decent library of these tables in a database. Now automate a search, compare and integrate process that will combine compatible transition tables. Investigate these new transition tables with random initial configurations. At a minimum, all compatible structures will be preserved and there will be the possibility of new, perhaps more complex structures. Isolate them and repeat the process until, at a limit, all "Don't Care" transitions are filled. This is more or less what I do, but I really haven't thought out the automated part of it. {{...}}}} | |||
==See also== | ==See also== | ||
| Line 12: | Line 19: | ||
==References== | ==References== | ||
<references> | <references> | ||
<ref name="threads_natural_0007">{{cite web | |||
|url = https://web.archive.org/web/19990224055744/http://alife.santafe.edu/alife/topics/cas/threads/natural/0007.html | |||
|title = Re: CA rules | |||
|author = Dr. Robert Andreen | |||
|date = April 4, 1994 | |||
|work = archives of [https://web.archive.org/web/19990128072237/http://alife.santafe.edu/alife/topics/cas/threads/natural/index.html alife/topics/cas/threads/natural/] | |||
}}</ref> | |||
<ref name="post124466">{{LinkForumThread | <ref name="post124466">{{LinkForumThread | ||
|format = ref | |format = ref | ||
| Line 62: | Line 76: | ||
}}</ref> | }}</ref> | ||
</references> | </references> | ||
==External links== | |||
* {{LinkForumThread|format=ref|f=11|t=2718|title=Request a Rule to be "Tamed"}} | |||
* {{LinkForumThread|format=ref|f=9|t=5773|title=Rulegolfer script}} -- a Python script based on [[qfind]] for finding spaceship-friendly rules | |||
* {{LinkForumThread|format=ref|f=9|p=124483|title=Re: Golly scripts}} -- an automated rulegolfing script for 2-state INT rules | |||
__NOTOC__ | |||
Latest revision as of 15:21, 6 July 2024
| This article is a stub. You can help LifeWiki by expanding it. |
Rulegolfing is an activity of constructing new rules or looking for variants of rules via successive incremental modifications to the rule definition, for example by adding or removing birth/survival conditions in the rulestring written using Hensel notation, or by changing lines in a rule table. Rulegolfing may involve multiple modifications of a rule, for example attempting to understand which changes make the rule explosive/chaotic, and trying to reach a rule with some desired properties. In general, any given "syntactic" change in the rule definition (such as adding a certain birth condition, or removing a certain survival condition, or adding/removing a line in a rule table) may have very different effects when the "syntactic" change is applied to different rules.[1][2][3][4][5]
An example of a rule that was found via rulegolfing is the Langton's Ant simulator (B3-cjkq4knqy5cnr7/S02-cn3-ak4eiq5kq6e7e) [6] which came first in the 2021 OCA Discovery of the Year.
Existence of a well-recognised widespread notation to define rules from a given rulespace can be a powerful tool for rulegolfing, when the notation splits the rule definition into intuitively understandable parts that can be modified independently from each other.[7][5]
Strategies for selecting 'interesting' rules from a large rulespace were discussed as early as 1994:[8]
| “ | […] The real difficulty lies in *visualizing* what you are doing when you change values in the tables and drawing inferences about what values to change to produce what results. […] a strategy might be as follows. From randomized transition tables with random initial configurations, look for `interesting' small scale structures, such as gliders, blinkers, quasars, rotators, etc. Isolate these structures and analytically or experimentally determine their minimal transition tables, ie, the array of *necessary* transitions to produce the structure along with indications of the "Don't Care" transitions. Repeat until you have a decent library of these tables in a database. Now automate a search, compare and integrate process that will combine compatible transition tables. Investigate these new transition tables with random initial configurations. At a minimum, all compatible structures will be preserved and there will be the possibility of new, perhaps more complex structures. Isolate them and repeat the process until, at a limit, all "Don't Care" transitions are filled. This is more or less what I do, but I really haven't thought out the automated part of it. […] | ” |
| — Dr. Robert Andreen, Re: CA rules (04 Apr 94)[8] | ||
See also
References
- ↑ Moosey (March 4, 2021). Re: Miscellaneous Discoveries in Other Cellular Automata (discussion thread) at the ConwayLife.com forums
- ↑ Tropylium (October 15th, 2021). Re: Thread For Your Unrecognised CA (discussion thread) at the ConwayLife.com forums
- ↑ hotcrystal0 (February 25, 2022). Re: Reflectorless Rotating Oscillators (RRO) (discussion thread) at the ConwayLife.com forums
- ↑ Period1GliderGun (July 31, 2022). Re: Miscellaneous Discoveries in Other Cellular Automata (discussion thread) at the ConwayLife.com forums
- ↑ 5.0 5.1 Heav (November 22, 2022). Re: Why so little interest in multistate rules? (discussion thread) at the ConwayLife.com forums
- ↑ silversmith (January 21, 2023). Re: Thread for basic non-CGOL questions (discussion thread) at the ConwayLife.com forums
- ↑ praosylen (May 12, 2021). Re: 3-state range-1 outer-totalistic rulespace (discussion thread) at the ConwayLife.com forums
- ↑ 8.0 8.1 Dr. Robert Andreen (April 4, 1994). "Re: CA rules". archives of alife/topics/cas/threads/natural/.
External links
- Request a Rule to be "Tamed" (discussion thread) at the ConwayLife.com forums
- Rulegolfer script (discussion thread) at the ConwayLife.com forums -- a Python script based on qfind for finding spaceship-friendly rules
- Re: Golly scripts (discussion thread) at the ConwayLife.com forums -- an automated rulegolfing script for 2-state INT rules