We introduce and experimentally demonstrate the utility of tag-based genetic regulation, a new genetic programming (GP) technique that allows programs to dynamically adjust which code modules to express. Tags are evolvable labels that provide a flexible mechanism for referencing code modules. Tag-based genetic regulation extends existing tag-based naming schemes to allow programs to "promote" and "repress" code modules in order to alter expression patterns. This extension allows evolution to structure a program as a gene regulatory network where modules are regulated based on instruction executions. We demonstrate the functionality of tag-based regulation on a range of program synthesis problems. We find that tag-based regulation improves problem-solving performance on context-dependent problems; that is, problems where programs must adjust how they respond to current inputs based on prior inputs. Indeed, the system could not evolve solutions to some context-dependent problems until regulation was added. Our implementation of tag-based genetic regulation is not universally beneficial, however. We identify scenarios where the correct response to a particular input never changes, rendering tag-based regulation an unneeded functionality that can sometimes impede adaptive evolution. Tag-based genetic regulation broadens our repertoire of techniques for evolving more dynamic genetic programs and can easily be incorporated into existing tag-enabled GP systems.
翻译:我们引入并实验地展示了基于标签的基因调控的效用,这是一种新的基因编程(GP)技术,使程序能够动态地调整要表达的代码模块。标签是可变标签,为参考代码模块提供一个灵活的机制。基于标签的基因调控扩展了现有的基于标签的命名计划,允许程序“促进”和“压缩”代码模块,以改变表达模式。这一扩展允许将一个方案结构演变成一个基因调控网络,其模块以指示执行为基础进行调控。我们展示了基于标签的监管功能,以对一系列方案综合问题进行调控。我们发现,基于标签的监管可以改善基于环境的问题解决绩效;这就是,方案必须调整如何根据先前的投入对当前投入作出反应的问题。事实上,在添加调控管之前,该系统不可能针对某些基于环境的问题制定解决办法。我们实施基于标签的基因调控管并非普遍受益,但是,我们发现对某项特定投入的正确反应永远不会改变,使基于标签的监管成为不必要功能,有时会阻碍适应性演变。基于标签的遗传调控管会将我们很容易地扩大现有基因化技术的变现为更动态的系统。