0

最近Prologについて学んでいて、質問を思いつきました。

どのように私は言いますか:

プロローグ条項で働くために車、徒歩、乗り物、飛行機を使用する従業員はいますか?

「任意」は私が問題を抱えているところです。


これが私の思考プロセスです。

Employee(tom).     %tom is an employee (fact)

drives(X) :- Employee(X).    
walks(X) :- Employee(X).    
rides(X) :- Employee(X).   
flies(X) :- Employee(X).

これは正しいアプローチですか?

4

1 に答える 1

1

私はそれが逆だと思います:

employee(X):- drives(X).
employee(X):- walks(X).
employee(X):- rides(X).
employee(X):- flies(X).

driveswalksなどのプラスの事実

それがどの従業員であっても、これらのいずれかを保持する必要があります。そうでない場合は、employee(X)失敗します。

これは、この Prolog データベースの下で、「すべての従業員が飛行機に乗ったり、乗ったりする」という意味です。

あなたが書いたことは、保持されるそのようなものを考えるXと、 、 などemployee(X)のそれぞれも同様に保持されることを意味します。つまり、「すべての従業員が歩いて、運転して、乗って、飛んで」仕事に行きます。(もちろん、述語は常に小文字で始めなければなりません)。drives(X)walks(X)

于 2013-04-02T20:55:26.110 に答える