Jos minulla on faktat...
asuu(taina,turku).
asuu(lasse,helsinki).
asuu(tiina,helsinki).
...niin miten listata kaikki kaupungit, joissa jokin asuu. Aluksi tulee mieleen tämä tyypillinen kysymys:
̎[1] 17 ?- asuu(_,X).
X = turku ;
X = helsinki ;
X = helsinki.
Mutta tuossa ei kysytä kaupunkeja, vaan asumisia, relaatioita. Helsingissä asutaan kahdesti.
Kuuluuko prologissa edes ajatella "vakiokeskeisesti", eli kysellä vakiota, jolla on tietynlaisia suhteita.
Prologin ajatusmaailma
KN$
2
215
Vastaukset
- dx
Mites tällainen:
kaupungit(U) :- findall(X,asuu(_,X),L), sort(L,U).
nimet(U) :- findall(X,asuu(X,_),L), sort(L,U).
jolloin saadaan:
?- kaupungit(U).
U = [helsinki, turku].
?- nimet(U).
U = [lasse, taina, tiina].- KN$
Noinhan se onnistuu. Vähän näyttää imperatiiviselta ratkaisulta. Ajattelin että on tuohon on prologissa yksinkertaisempi keino...
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Naiset miltä kiihottuminen teissä tuntuu
Kun miehellä tulee seisokki ja ja sellainen kihmelöinti sinne niin mitä naisessa köy? :)1108346- 402545
- 1212263
- 221929
Miksi kohtelit minua kuin tyhmää koiraa?
Rakastin sinua mutta kohtelit huonosti. Tuntuu ala-arvoiselta. Miksi kuvittelin että joku kohtelisi minua reilusti. Hais151664- 111489
Kyllä poisto toimii
Esitin illan suussa kysymyksen, joka koska palstalla riehuvaa häirikköä ja tiedustelin, eikö sitä saa julistettua pannaa161452"Joka miekkaan tarttuu, se siihen hukkuu"..
"Joka miekkaan tarttuu, se siihen hukkuu".. Näin puhui jo aikoinaan Jeesus, kun yksi hänen opetuslapsistaan löi miekalla141389- 151272
Kristityt "pyhät"
Painukaa helvettiin, mä tulen sinne kans. Luetaan sitten raamattua niin Saatanallisesti. Ehkä Piru osaa opetta?!.121183