私はプロローグにかなり慣れていないので、宿題のために変更するコードを与えられました。しかし、私は刺し傷を入力することに固執しています。prolgo に入力された文字列が ASCII コードのリストであることは承知しています。つまり、「abc」= [97、98、99]
これは与えられたコードです
accept(W) :- start(S), path(S, W).
path(S, []) :- final(S).
path(S, [H|T]) :- arc(S, H, N), path(N, T).
start(1).
final(3).
arc(1, a, 1).
arc(1, b, 2).
arc(2, a, 2).
arc(2, b, 3).
arc(3, a, 3).
これは、文字列がどのように実装されているかを知っている非決定論的なマシンです。
arc(1, 97, 1).
arc(1, 98, 2).
arc(2, 97, 2).
arc(2, 98, 3).
arc(3, 97, 3).
a と b の文字列を入力できるようにしますが、うまくいきませんでした。ありがとうございました