.


:




:

































 

 

 

 





- , . , , . () , .

, . , , .

21. 521


, ? . , , , , , . .

, . ; , . , DCG. Prolog. , , , . .

. "John paints" ( ). ( Prolog) : paints(john)

, "" , paints .

"John likes Annie" { ). : likes (john, annie)

"" , likes . DCG. , . , , .

sentence --> noun_phrase, verb_phrase. %

*
noun phra3e -> proper noun. %

verb _ phrase -> intrans verb. % :

verb_phxase --> trans_verb, noun_phrase, %

intransverb --> [ paints]. trans verb --> [ likes]. propernoun -- > [ john]. propernoun --> [ annie).

. ( ), . , . -, . john - john: proper_noun (john) --> [ john].

-, , "". . : paints(X)

522 II, Prolog


X , , , . DCG paints : intrans_verb{ paints(X)) --> [ paints].

: , john paints { X), paints (john)? , X paints john.

, . 21.5. , . () , noun_phrase verb_phrase propernoun intransverb, ,

palnts(jolin>



paints! X)

paliils(X)

John

 


. 21.5. "John paints", - , . , . ,

. . sentence; S) -> noun_phrase{ HP), verb_phrase(V?), {compose(NP, VP, S)}.

compose! NP, VP, 3) john paints [ X), , X paints { X), : actor(VP, Actor)

21. 523


Actor VP. actor :

actor! paints(X), X).

actor :

compose(NP, VP, VP):- % VP,
actor(VP, NP). % ^ VP NP

, , . compose actor, paints [ X) "" , . , verb_phrase intrans_verb , X , .

intrans verb(Actor, paints{ Actor)) --> [ paints]. verb_phrase[ Actor, VP) -> intrans^verb(Actor, VP).

Actor : sentence! VP) -> noun_phrase(Actor), verb_phrase(Actor, VP).

"" (Actor) .

, , , DCG. , . "" , paints (SorrieActor). , - ( SomeActor). - ( ""), . Prolog. , . , , " " , ; verb_phrase (Actor, VPMeaning).

. "" likes (Somebody, Something) (- -), Sorr.ebody Something - , . , : trans_verb(Somebody, Something, likes(Somebody, Something)) -> [ likes].

, Something, : verb_phrase(Somebody, VP) -->

trar.s_verb(Somebody, Something, VP), noun_phrase (Something). , DCG .

524 II. Prolog


, "" { ) "every" ( ""), . .

21.3.2. "" "every"

, , "", , . : "A man paints" ( ). , paints (man), : " , ", " ". : X, , X - X .

X, , , ( ""). , , Prolog: exists! x, man(X) and paints! X)}

X, , and. ::- (100, xfyr and>.

, , , "". "" . , , "a man". : ' X, , X - .

, "a man", "a man paints", - ( , , ). "a man" : exists! X, man! X) and Assertion!

Assertion X. , X, , .. , "a man". Assertion , , .

"". :

X, ,

X ( , man (X)) - , X (, paints(X)).

Prolog : exists! X, Property and Assertion)

, Property Assertion, , .

21. 525


"", . DCG "" . determiner[ X, Prop, Assn, exists (X, Prop and Assn)1 --> [ a].

"" . , "every", . "Every woman dances" ( ). . X, X . X .

Prolog: all I Xr woman(X) -> dances{ XI)

"=>" - , . , "every" , : all (X, Property ~> Assertion)

DCG, "every" , , determiner! X, Prop, Assn, all{ X, Prop -> Assn)) --> [ every].

, , . , "A man paints", :

exists! X, man[ X) and p a i n t s [ X))

"" : exists[ X, Prop and Assn)

, . , . 21.6; , "" : exists (X, Prop and Assn)

Prop , a Assn . . , , , . , , , . 21.6, DCG:

sentence! S) -> noun_phrase(X, Assn, S), verb_phrase(X, Assn).

no-un phrase [ X, Assn, S) --> determiner; X, Prop, Assn, S), noun (X, Prop).

verb_phrase(X, Assn) --> intrans_verb(X, Assn).

intrans_verb(X, paints[ X)) --> [ paints].

determiner< X, Prop, Assn, exists! X, Prop and Assn)) -> [ a!.

noun(X, man(X]) --> [ man].

Prolog " paints", .

?- sentence! S, [ a, man, paints), []). = exists! X, man { X) and paints! X))

Prolog , 123, Prolog, X

526 II. Prolog


exists) X, man[X) and paints X])



r exists! X. man[ X! and )

sxistsj X, Prop and Assn) delarmliier noun \ manfX] inirons vi-irh

paints(X)

 


 


 


. 21,6. "A man paints". "". ,

, , , "John paints". , , "A man paints", "John paints". . , . pcoper_noun(John) --> [ John]. noun_phrase (X, Assn., Assnl --> proper_noun j X).

, " ", .. Assn. ( ), :

?- sentence(S, [ John, paints], []). S = paints i John)





:


: 2015-10-01; !; : 796 |


:

:

, .
==> ...

817 - | 658 -


© 2015-2024 lektsii.org - -

: 0.028 .