% Logik og sprog, Modul 2, datalogi RUC Henning Christiansen % % % Turing-maskiner i Prolog; % kapitel 10 i "Sprog og abstrakte maskiner" % % (c) 2000, Henning Christiansen % FORUDS®TTER Turing.xtx eller TuringTrace.txt consultet. %%%%%%%%%%%%%%%%%%%%% % % Eksempel pŒ transitionsregler til Turingmaskine, % 'Sprog og abstrakte maskiner' afsnit 10.1 % % - simpel t¾lleopgave % Tilstande: % % q1: Vi k¿rer mod h¿jre for at finde og initialisere % et t¾llefelt % q2: Vi k¿rer mod venstre i hŒb om at finde et 'a' % q3: Vi k¿rer mod h¿jre for at for¿ge t¾llefeltet % q4: Slut, alle 'a'-er er talt med. start(q1). slut(q4). t(q1, ' ', q2, nul, <--). t(q1, a, q1, a, -->). t(q1, b, q1, b, -->). t(q2, b, q2, b, <--). t(q2, a, q3, b, -->). t(q2, ' ', q4, ' ', ---). t(q3, b, q3, b, -->). t(q3, nul, q2, et, <--). t(q3, et, q2, to, <--). t(q3, to, q2, tre, <--). t(q3, tre, q2, fire, <--). t(q3, fire, q2, mange, <--). t(q3, mange, q2, mange, <--). % Eksempel pŒ kald: % koer(tape('...',a, [a,b,a,b,a,a,a,a,a,b,b|'...']), S).