User Tools

Site Tools


predmeti:ppj:negacija

Rez & negacija

  1. Rez (!)
    • preprečuje vračanje (backtracking)
    • primer
      • parent(thomas, X), parent(X, Y)
      • parent(thomas, X), parent(X, Y), !
      • parent(thomas, X), !, parent(X, Y)
      • !, parent(thomas, X), parent(X, Y)
    • v min/2 uporabimo rez, da se izognemo pogoju v drugi rekurzivni veji
    • skupaj naredimo count/3
  2. Negacija
    • negacija kot neuspeh (negation-as-failure)
    • not(P) :- P, !, fail ; true.
    • uporabimo lahko tudi operator \+
    • predpostavka zaprtega sveta (closed-world assumption)
      • not(female(xy))
    • spremenljivke pod negacijo ne dobijo vrednosti
      • \+ female(X), parent(thomas, X)
      • parent(thomas, X), \+ female(X)
  3. Naloge
    • union(A, B, U)
      • U = AB
    • intersect(A, B, I)
      • I = AB
    • diff(A, B, D)
      • D = A - B
    • is_superset/2
      • AB
    • is_subset(A, B)
      • AB
    • subset/2
      • generiraj vse podmnožice
    • powerset/2
      • razloži findall/3
predmeti/ppj/negacija.txt · Last modified: 2016/04/12 12:25 by timotej