forked from andkok/MWS_2021
32 lines
1.3 KiB
Plaintext
32 lines
1.3 KiB
Plaintext
|
#axiom
|
||
|
A
|
||
|
#rules
|
||
|
#komentarz
|
||
|
#podstawowe przekształcenie
|
||
|
X-> AX
|
||
|
# instrukcja z rozgałęzieniem
|
||
|
Y->A[A]A
|
||
|
#parametryczne symbola są rozpoznawane po literze i liczbie argumentów czyli B, B(0) i B(0,0) to różne symbole
|
||
|
#w regułach dla parametrycznych symboli w poprzedniku definiuje się nazwę parametru. ta instrukcja zamieni C(1) na C(1.1) a C(2) na C(2.1)
|
||
|
C(a) -> C(a+0.1)
|
||
|
# ta instrukcja wykona się, jeżeli a>1 i a<2 przecinek oznacza iloczyn logiczny
|
||
|
B(a) : a>1,a<2 -> C(a)B(0)
|
||
|
# ta instrukcja wykona się, jeżeli poprzednia się nie wykonała i gdy a<=1
|
||
|
B(a) : a<=1 -> B(2*a)
|
||
|
# ta instrukcja się wykona, jeżeli poprzednie 2 się nie wykonają
|
||
|
B(a) -> B(0)
|
||
|
# instrukcja się wykona, jeżeli następnikiem A jest B(a) i a>0
|
||
|
A > B(a) : a>0 -> B(a)[A]
|
||
|
|
||
|
# instrukcja się wykona, jeżeli poprzednikiem A jest B(a) i a>0 (i jeżeli poprzednia się nie wykonała)
|
||
|
B(a) < A a>0 -> B(a)[A]
|
||
|
# instrukcja się wykona, jeżeli poprzednikiem A jest B(a), następnikiem jest C(b) oraz a+b>0 (i jeżeli poprzednia się nie wykonała)
|
||
|
B(a) < A > C(b) a+b>0 -> CC
|
||
|
|
||
|
# wykona się jedna z trzech opcji z wagami odpowiednio 0.2, 0.6 i 0.3 - wagi nie muszą się sumować do 1. można stochastyczność łączyć z powyższymi rozszerzeniami.
|
||
|
C(a) -> #stochastic
|
||
|
p=0.2 AB(1)
|
||
|
p=0.6 B(1)A
|
||
|
p=0.3 AA
|
||
|
#stochastic end
|
||
|
#rules end
|