Rulegolfing: Difference between revisions

From LifeWiki
Jump to navigation Jump to search
Confocal (talk | contribs)
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).<ref name="post156294" />
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]

See also

References

  1. ↑ Moosey (March 4, 2021). Re: Miscellaneous Discoveries in Other Cellular Automata (discussion thread) at the ConwayLife.com forums
  2. ↑ Tropylium (October 15th, 2021). Re: Thread For Your Unrecognised CA (discussion thread) at the ConwayLife.com forums
  3. ↑ hotcrystal0 (February 25, 2022). Re: Reflectorless Rotating Oscillators (RRO) (discussion thread) at the ConwayLife.com forums
  4. ↑ Period1GliderGun (July 31, 2022). Re: Miscellaneous Discoveries in Other Cellular Automata (discussion thread) at the ConwayLife.com forums
  5. ↑ 5.0 5.1 Heav (November 22, 2022). Re: Why so little interest in multistate rules? (discussion thread) at the ConwayLife.com forums
  6. ↑ silversmith (January 21, 2023). Re: Thread for basic non-CGOL questions (discussion thread) at the ConwayLife.com forums
  7. ↑ praosylen (May 12, 2021). Re: 3-state range-1 outer-totalistic rulespace (discussion thread) at the ConwayLife.com forums
  8. ↑ 8.0 8.1 Dr. Robert Andreen (April 4, 1994). "Re: CA rules". archives of alife/topics/cas/threads/natural/.
  • 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