HELP с преобразованием в логику первого порядка - PullRequest
0 голосов
/ 30 сентября 2010

Использование только этих предикатов .....

child(X)            X is a child
unwell(X,Y) X is unwell on day Y
location(X,Y,Z)     Location of X on day Y is Z (school, park, home)
sunny(X)            X is a sunny day

Generally, children do not go to school whenever they are unwell
∄x [Child(x) ∧ location(X,y,home) → Child(x) ∧ unwell(X,y)]

Не уверен, что написанное мной правильно или нет

Также не уверен, как конвертировать эту строку ...

On sunny days Julie goes to the park, otherwise she stays at home.

Буду признателен за помощь ... Спасибо ...

Ответы [ 2 ]

0 голосов
/ 27 декабря 2010

Ваш первый ответ не верен, но на самом деле его нельзя перевести на FOL, потому что он описывает не строгое правило, а только то, что обычно имеет место.Чтобы описать такие вещи, вам нужна некая монотонная логика.

Но даже если мы оставим это, и просто предположим, что это строгое правило и игнорируется все исключительное поведение, вы говорите, что здесь нет сущности х, которая, если она ребенок и дома больна иребенок.я думаю, что вы хотели быть вторым прецедентом импликации: $ location (X, Y, school) $

рендеринг второго предложения Sagar V выглядит неплохо, но, возможно, вы хотите изменить импликацию (зависит от того, какое причинно-следственное отношение вы хотите иметь) и его предложение заставляет Джули быть ребенком, которого нет в вашей постановке задачи

0 голосов
/ 30 сентября 2010

Может быть, что-то вроде этого:

 ((child(Julie) ^ location(Julie,Y,park)) -> sunny(Y)) ^ ((child(Julie) ^ location(Julie,Y,home)) -> ~sunny(Y))

Я буду редактировать это дальше, если смогу что-нибудь придумать. Прошло некоторое время с тех пор, как я коснулся логики первого порядка:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...