Python logic

Här diskuteras programmering och utveckling
gnomefoot
Inlägg: 4
Blev medlem: 10 jan 2008, 14:28

Python logic

Inlägg av gnomefoot »

Sitter med lite pythonprogrammering, ska ha prov i detta om typ en vecka. Med ett stort jäkla kompendie är det dessa tre repetitionsuppgifter jag inte får rätt på. Någon här som har hjärta att hjälpa lite?

ska skriva satser som kontrollerar om det är sant eller falskt. Vad gör jag fel?

denna om den är symmetrisk

Kod: Markera allt

ia1 = Interpretation([knows(bob,john),knows(john,bob),knows(mary,alice),knows(alice,mary)],[bob,john,mary,alice])
f1a1 = forall(x, knows(x, bob)) > forall(y, knows(bob, y)) & forall(x, knows(x, mary)) > forall(y, knows(mary, y))
print 'This Is symmetric:', f1a1.val(ia1)

transitiv.

Kod: Markera allt

ia2 = Interpretation([knows(bob,john),knows(john,bob),knows(mary,alice),knows(alice,mary)],[bob,john,mary,alice])
f1a2 = forall(z, forall(y, forall(x, (knows(x, y) & forall(x, knows(y,z)) > forall(x, knows(x, z))))))
print 'This Is Transitive:', f1a2.val(ia2)
och symmetrisk igen.

Kod: Markera allt

ia5 = Interpretation([loves(bob,mary),loves(john,john),loves(mary,alice),loves(bob,alice)],[bob,john,mary,alice])
f1a5 = forall(x, forall(y, forall(z, loves(x, y) & loves(y, z) > loves(x, z))))
print 'This is symmetric', f1a5.val(ia4)
har helt kört fast på dessa. några ideer?
Användarvisningsbild
per9000
Inlägg: 931
Blev medlem: 07 maj 2007, 11:06
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster
Ort: Västerås
Kontakt:

SV: Python logic

Inlägg av per9000 »

Vad är knows och vad är interpretation? och vad returnerar de?

Personligen hatar jag oneliners, testa om du kan veckla ur dina rader med forall och få något som går att läsa lite bättre, jag ser verkligen inte vad det står.

Ska man tänka connectivity-matrix, venn-diagram eller något liknande?

/Per
--
Per Erik Strandberg
Yet Another IT Consultant
Användarvisningsbild
gasol
Inlägg: 405
Blev medlem: 27 jul 2007, 14:57
Kontakt:

SV: Python logic

Inlägg av gasol »

Symetrin skulle du kunna beskriva med en sorts dubbellänkad lista

knows(x,y) antar jag är ett predikat. hur avgör det om bob känner john finns det någon underliggande modell?


håller även med per rekursiva funktioner på en rad är inte lätta att läsa...
The Black Mountain Scorpion Hoedown Bluegrass Experience Gang
From Left to Right: Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle, Wizard on Bicycle.
Skriv svar

Återgå till "Programmering och webbdesign"