Advertisement
kokusz19

Fejlett következtetési módszerek v2 - Egyetem - Clips

May 6th, 2020
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.72 KB | None | 0 0
  1. (deffacts init
  2. (h 0 0 0 0 0 x 0 0 0 0 0 x 0 0 0 0 0 x 0 0 0 0 0)
  3. (vezeteknev egressy)
  4. (vezeteknev fenyvesi)
  5. (vezeteknev gallyas)
  6. (vezeteknev jeney)
  7. (vezeteknev vadkerti)
  8. (keresztnev edina)
  9. (keresztnev frida)
  10. (keresztnev gabriella)
  11. (keresztnev jozsef)
  12. (keresztnev vince)
  13. (egyetem budapest)
  14. (egyetem debrecen)
  15. (egyetem miskolc)
  16. (egyetem pecs)
  17. (egyetem szeged)
  18. (szak biologia)
  19. (szak informatika)
  20. (szak jog)
  21. (szak kemia)
  22. (szak magyar)
  23. )
  24.  
  25. (defrule remove-duplicated-vezeteknev (declare (salience 10)) (vezeteknev ?v) ?f <- (h $? ?v $? ?v $?) => (retract ?f))
  26. (defrule remove-duplicated-keresztnev (declare (salience 10)) (keresztnev ?v) ?f <- (h $? ?v $? ?v $?) => (retract ?f))
  27. (defrule remove-duplicated-egyetem (declare (salience 10)) (egyetem ?v) ?f <- (h $? ?v $? ?v $?) => (retract ?f))
  28. (defrule remove-duplicated-szak (declare (salience 10)) (szak ?v) ?f <- (h $? ?v $? ?v $?) => (retract ?f))
  29.  
  30. (defrule add-vezeteknev0
  31. (vezeteknev ?v)
  32. (h 0 $?r x $?a1 x $?a2 x $?a3) =>
  33. (assert (h $?v $?r x $?a1 x $?a2 x $?a3))
  34. )
  35. (defrule add-vezeteknev
  36. (vezeteknev ?v)
  37. (h $?l 0 $?r x $?a1 x $?a2 x $?a3)
  38. (test (neq $l 0))
  39. =>
  40. (assert (h $?l $?v $?r x $?a1 x $?a2 x $?a3))
  41. )
  42.  
  43. (defrule remove-nullaV ?f <- (h $?a 0 $?b x $?c x $?d x $?e) => (retract ?f))
  44.  
  45. (defrule add-keresztnev0
  46. (keresztnev ?v)
  47. (h $?a0 x 0 $?r x $?a1 x $?a2) =>
  48. (assert (h $?a0 x $?v $?r x $?a1 x $?a2))
  49. )
  50. (defrule add-keresztnev
  51. (keresztnev ?v)
  52. (h $?a0 x $?l 0 $?r x $?a1 x $?a2)
  53. (test (neq $l 0))
  54. =>
  55. (assert (h $?a0 x $?l $?v $?r x $?a1 x $?a2))
  56. )
  57.  
  58. (defrule remove-nullaK ?f <- (h $?a x $?b 0 $?c x $?d x $?e) => (retract ?f))
  59.  
  60. (defrule add-egyetem0
  61. (egyetem ?v)
  62. (h $?a0 x $?a1 x 0 $?r x $?a2) =>
  63. (assert (h $?a0 x $?a1 x $?v $?r x $?a2))
  64. )
  65. (defrule add-egyetem
  66. (egyetem ?v)
  67. (h $?a0 x $?a1 x $?l 0 $?r x $?a2)
  68. (test (neq $l 0))
  69. =>
  70. (assert (h $?a0 x $?a1 x $?l $?v $?r x $?a2))
  71. )
  72.  
  73. (defrule remove-nullaE ?f <- (h $?a x $?b x $?d 0 $?e x $?g) => (retract ?f))
  74.  
  75. (defrule add-szak0
  76. (szak ?v)
  77. (h $?a0 x $?a1 x $?a2 x 0 $?r) =>
  78. (assert (h $?a0 x $?a1 x $?a2 x $?v $?r))
  79. )
  80. (defrule add-szak
  81. (szak ?v)
  82. (h $?a0 x $?a1 x $?a2 x $?l 0 $?r)
  83. (test (neq $l 0))
  84. =>
  85. (assert (h $?a0 x $?a1 x $?a2 x $?l $?v $?r))
  86. )
  87.  
  88. (defrule remove-nullaS ?f <- (h $?a x $?b x $?d x $?e 0 $?g) => (retract ?f))
  89.  
  90. ; 1. a fenyvesi vezeteknevu lany jogot tanul, de nem debrecenben
  91. (defrule remove-1a (declare (salience 20))
  92. ?f <- (h $?a fenyvesi $?b x $?c x $?d x $?e jog $?)
  93. (test (neq (length$ $?a) (length $?e)))
  94. =>
  95. (retract ?f)
  96. )
  97. (defrule remove-1b (declare (salience 20))
  98. ?f <- (h $?a fenyvesi $?b x $?c x $?d debrecen $?)
  99. (test (eq (length$ $?a) (length $?d)))
  100. =>
  101. (retract ?f)
  102. )
  103. (defrule remove-1c (declare (salience 20))
  104. ?f <- (h $?a fenyvesi $?b x $?c vince $?)
  105. (test (eq (length$ $?a) (length $?c)))
  106. =>
  107. (retract ?f)
  108. )
  109. (defrule remove-1d (declare (salience 20))
  110. ?f <- (h $?a fenyvesi $?b x $?c jozsef $?)
  111. (test (eq (length$ $?a) (length $?c)))
  112. =>
  113. (retract ?f)
  114. )
  115. ; 2. jozsef (nem o gallyas) az egyik fővárosi egyetemen tanul, de nem biologiat
  116. (defrule remove-2a (declare (salience 10))
  117. ?f <- (h $?a gallyas $?b x $?c jozsef $?d x $?)
  118. (test (eq (length$ $?a) (length $?c)))
  119. =>
  120. (retract ?f)
  121. )
  122. (defrule remove-2b (declare (salience 10))
  123. ?f <- (h $?a x $?b jozsef $?c x $?d budapest $?)
  124. (test (neq (length$ $?b) (length $?d)))
  125. =>
  126. (retract ?f)
  127. )
  128. (defrule remove-2c (declare (salience 10))
  129. ?f <- (h $?a x $?b jozsef $?c x $?d x $?e biologia $?)
  130. (test (eq (length$ $?b) (length $?e)))
  131. =>
  132. (retract ?f)
  133. )
  134.  
  135. ; 3. vadkerti gabriella nem a szegedi kemiaszakos hallgato
  136. (defrule remove-3a (declare (salience 10))
  137. ?f <- (h $?a vadkerti $?b x $?c gabriella $?d x $?)
  138. (test (neq (length$ $?a) (length $?c)))
  139. =>
  140. (retract ?f)
  141. )
  142. (defrule remove-3b (declare (salience 10))
  143. ?f <- (h $?a x $?b gabriella $?c x $?d szeged $?)
  144. (test (eq (length$ $?b) (length $?d)))
  145. =>
  146. (retract ?f)
  147. )
  148. (defrule remove-3c (declare (salience 10))
  149. ?f <- (h $?a x $?b gabriella $?c x $?d x $?e kemia $?)
  150. (test (eq (length$ $?b) (length $?e)))
  151. =>
  152. (retract ?f)
  153. )
  154. (defrule remove-3d (declare (salience 10))
  155. ?f <- (h $?a x $?b x $?c szeged $?d x $?e kemia $?)
  156. (test (neq (length$ $?c) (length $?e)))
  157. =>
  158. (retract ?f)
  159. )
  160.  
  161. ; 4. jeney (o pecsett tanul) keresztneve nem vince
  162. (defrule remove-4a (declare (salience 10))
  163. ?f <- (h $?a jeney $?b x $?c vince $?d x $?)
  164. (test (eq (length$ $?a) (length $?c)))
  165. =>
  166. (retract ?f)
  167. )
  168. (defrule remove-4b (declare (salience 10))
  169. ?f <- (h $?a jeney $?b x $?c x $?d pecs $?)
  170. (test (neq (length$ $?a) (length $?d)))
  171. =>
  172. (retract ?f)
  173. )
  174.  
  175. ; 5. frida magyartanár szeretne lenni
  176. (defrule remove-5a (declare (salience 10))
  177. ?f <- (h $?a x $?b frida $?c x $?d x $?e magyar $?)
  178. (test (neq (length$ $?b) (length $?e)))
  179. =>
  180. (retract ?f)
  181. )
  182.  
  183. ; 6. edina vezetekneve vagy egressy vagy miskolcon tanul
  184. (defrule remove-6a (declare (salience 10))
  185. ?f <- (h $?a egressy $?b x $?c edina $?d x $?e miskolc $?)
  186. (and (test (not(and (eq (length$ $a) (length $c)) (neq (length$ $c) (length $e))))) (test (not(and (neq (length$ $a) (length $c)) (eq (length$ $c) (length $e))))))
  187. =>
  188. (retract ?f)
  189. )
  190.  
  191. ; 7. az informatikusnak keszulo egyetemista nemreg nosult
  192. (defrule remove-7a (declare (salience 10))
  193. ?f <- (h $?a x $?b edina $?c x $?e x $?g informatika $?)
  194. (test (eq (length$ $?b) (length $?g)))
  195. =>
  196. (retract ?f)
  197. )
  198. (defrule remove-7b (declare (salience 10))
  199. ?f <- (h $?a x $?b frida $?c x $?e x $?g informatika $?)
  200. (test (eq (length$ $?b) (length $?g)))
  201. =>
  202. (retract ?f)
  203. )
  204. (defrule remove-7c (declare (salience 10))
  205. ?f <- (h $?a x $?b gabriella $?c x $?e x $?g informatika $?)
  206. (test (eq (length$ $b) (length $g)))
  207. =>
  208. (retract ?f)
  209. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement