Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,117 @@
|
|||
:- use_module('markov.pl').
|
||||
:- use_module(library(lambda)).
|
||||
|
||||
markov :-
|
||||
maplist(\X^(call(X), nl,nl), [markov_1, markov_2, markov_3, markov_4, markov_5]).
|
||||
|
||||
markov_1 :-
|
||||
A = ['# This rules file is extracted from Wikipedia:',
|
||||
'# http://en.wikipedia.org/wiki/Markov_Algorithm',
|
||||
'A -> apple',
|
||||
'B -> bag',
|
||||
'S -> shop',
|
||||
'T -> the',
|
||||
'the shop -> my brother',
|
||||
'a never used -> .terminating rule'],
|
||||
B = 'I bought a B of As from T S.',
|
||||
apply_markov(A, B, R),
|
||||
writeln(B),
|
||||
writeln(R).
|
||||
|
||||
|
||||
markov_2 :-
|
||||
A = ['# Slightly modified from the rules on Wikipedia',
|
||||
'A -> apple',
|
||||
'B -> bag',
|
||||
'S -> .shop',
|
||||
'T -> the',
|
||||
'the shop -> my brother',
|
||||
'a never used -> .terminating rule'],
|
||||
|
||||
B = 'I bought a B of As from T S.',
|
||||
|
||||
apply_markov(A, B, R),
|
||||
writeln(B),
|
||||
writeln(R).
|
||||
|
||||
|
||||
markov_3 :-
|
||||
A = ['# BNF Syntax testing rules',
|
||||
'A -> apple',
|
||||
'WWWW -> with',
|
||||
'Bgage -> ->.*',
|
||||
'B -> bag',
|
||||
'->.* -> money',
|
||||
'W -> WW',
|
||||
'S -> .shop',
|
||||
'T -> the',
|
||||
'the shop -> my brother',
|
||||
'a never used -> .terminating rule'],
|
||||
|
||||
B = 'I bought a B of As W my Bgage from T S.',
|
||||
|
||||
apply_markov(A, B, R),
|
||||
writeln(B),
|
||||
writeln(R).
|
||||
|
||||
|
||||
markov_4 :-
|
||||
A = ['### Unary Multiplication Engine, for testing Markov Algorithm implementations',
|
||||
'### By Donal Fellows.',
|
||||
'# Unary addition engine',
|
||||
'_+1 -> _1+',
|
||||
'1+1 -> 11+',
|
||||
'# Pass for converting from the splitting of multiplication into ordinary',
|
||||
'# addition',
|
||||
'1! -> !1',
|
||||
',! -> !+',
|
||||
'_! -> _',
|
||||
'# Unary multiplication by duplicating left side, right side times',
|
||||
'1*1 -> x,@y',
|
||||
'1x -> xX',
|
||||
'X, -> 1,1',
|
||||
'X1 -> 1X',
|
||||
'_x -> _X',
|
||||
',x -> ,X',
|
||||
'y1 -> 1y',
|
||||
'y_ -> _',
|
||||
'# Next phase of applying',
|
||||
'1@1 -> x,@y',
|
||||
'1@_ -> @_',
|
||||
',@_ -> !_',
|
||||
'++ -> +',
|
||||
'# Termination cleanup for addition',
|
||||
'_1 -> 1',
|
||||
'1+_ -> 1',
|
||||
'_+_ -> '],
|
||||
|
||||
B = '_1111*11111_',
|
||||
|
||||
apply_markov(A, B, R),
|
||||
writeln(B),
|
||||
writeln(R).
|
||||
|
||||
markov_5 :-
|
||||
A = ['# Turing machine: three-state busy beaver',
|
||||
'#',
|
||||
'# state A, symbol 0 => write 1, move right, new state B',
|
||||
'A0 -> 1B',
|
||||
'# state A, symbol 1 => write 1, move left, new state C',
|
||||
'0A1 -> C01',
|
||||
'1A1 -> C11',
|
||||
'# state B, symbol 0 => write 1, move left, new state A',
|
||||
'0B0 -> A01',
|
||||
'1B0 -> A11',
|
||||
'# state B, symbol 1 => write 1, move right, new state B',
|
||||
'B1 -> 1B',
|
||||
'# state C, symbol 0 => write 1, move left, new state B',
|
||||
'0C0 -> B01',
|
||||
'1C0 -> B11',
|
||||
'# state C, symbol 1 => write 1, move left, halt',
|
||||
'0C1 -> H01',
|
||||
'1C1 -> H11'],
|
||||
|
||||
B = '000000A000000',
|
||||
apply_markov(A, B, R),
|
||||
writeln(B),
|
||||
writeln(R).
|
||||
Loading…
Add table
Add a link
Reference in a new issue