2012-02-23 63 views
2

我在数学堆栈excahnge上发布了这个,但由于它的编程相关,我想知道是否有人可以在这里帮忙。L系统:替换顺序

我正在通过涉及L系统的主题指南并具有以下字母表A = {a,b,c}。发起者是字符串“a”和替换规则a→ba,b→ccb,c→a。

研究导向给人的第一五代为:

[A]→[BA]→[CCBA]→[ACBA]→[AABA]→[aaccba]

我不能为我的生活弄清楚这是如何工作的。没有提供关于替代顺序的规则,我的讲师说可以做到这一点。

有没有人有任何想法?

回答

3

在您的示例中,它看起来像每个步骤只进行一次替换,后面的规则优先于以前的规则。这可能是经典L系统的变体,但我从来没有见过这种方式。 L系统中的规则应该适用于每一代的所有符号。这些规则的正确扩展(添加空格以显示下一代来自哪些符号)将是

a 
ba 
ccb ba 
a a ccb ccb ba 
ba ba a a ccb a a ccb ccb ba 
ccb ba ccb ba ba ba a a ccb ba ba a a ccb a a ccb ccb ba 
+0

“看起来他们只是每步执行一次替换,后面的规则优先于以前。” - 就是这个!谢谢。 – 2012-02-23 19:37:36