Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:dydaktyka:krr:lab_baza_wiedzy [2013/02/27 09:29]
gjn [Źródła]
pl:dydaktyka:krr:lab_baza_wiedzy [2019/06/27 15:50] (aktualna)
Linia 186: Linia 186:
 </​code>​ </​code>​
  
 +Proszę zdefiniować reguły opisujące: brata, siostrę, dziadka i babcię. Proszę dokładnie sprawdzić ich działanie.
 +
 +Jaki pojawia się problem przy bracie/​siostrze?​ Uwaga na operator: ''​\=''​
 +
 +Proszę się zastanowić nad własnymi regułami opisującymi relacje w rodzinie.
  
 pf2.pl pf2.pl
Linia 321: Linia 326:
 ===== Dla zaawansowanych ===== ===== Dla zaawansowanych =====
  
-liczby-send+liczby-send.pl 
 +<code prolog>​ 
 +% Fakty: definicja dostępnych cyfr.  
 +   ​cyfra(0). 
 +   ​cyfra(1). 
 +   ​cyfra(2). 
 +   ​cyfra(3). 
 +   ​cyfra(4). 
 +   ​cyfra(5). ​   
 +   ​cyfra(6). 
 +   ​cyfra(7). 
 +   ​cyfra(8). 
 +   ​cyfra(9). 
 + 
 +% Skrót nazwy predykatu cyfra/1. 
 +   c(X) :- cyfra(X). 
 + 
 +% Rozwiązanie dla problemu SEND + MORE = MONEY 
 +solve(S,​E,​N,​D,​M,​O,​R,​E,​Y) :- 
 +    c(M),M > 0, c(S),​c(E), ​ c(N), c(D),  c(M),  c(O),   ​c(R), ​  c(Y),  
 +      S \= E, S \= N, S \= D, S \= M, S \= O, S \= R, S \= Y, 
 +              E \= N, E \= D, E \= M, E \= O, E \= R, E \= Y, 
 +                      N \= D, N \= M, N \= O, N \= R, N \= Y, 
 +                              D \= M, D \= O, D \= R, D \= Y, 
 +                                      M \= O, M \= R, M \= Y, 
 +                                              O \= R, O \= Y, 
 +                                                      R \= Y, 
 +     L1 is S*1000 + E*100 + N*10 + D,  
 +     L2 is M*1000 + O*100 + R*10 + E,  
 +     L3 is M*10000 + O*1000 + N*100 + E*10 + Y, 
 +     Q is (L1 + L2) - L3, % write(Q),​nl,​ 
 +     Q = 0. 
 +      
 +sm : - solve(S,​E,​N,​D,​M,​O,​R,​E,​Y),​ 
 +     ​write('​ '​),​write(S),​write(E),​write(N),​write(D),​nl,​ 
 +     ​write('​+'​),​write(M),​write(O),​write(R),​write(E),​nl,​ 
 +     ​write(M),​write(O),​write(N),​write(E),​write(Y). 
 + 
 +</​code>​
  
 Dalsza rozbudowa bazy wiedzy PF, przepisz treść i zadaj pytania podane w Dalsza rozbudowa bazy wiedzy PF, przepisz treść i zadaj pytania podane w
Linia 330: Linia 373:
   * [[http://​ai.ia.agh.edu.pl/​wiki/​pl:​prolog:​prolog_lab|Prolog Lab]]   * [[http://​ai.ia.agh.edu.pl/​wiki/​pl:​prolog:​prolog_lab|Prolog Lab]]
   * [[http://​www.learnprolognow.org/​lpnpage.php?​pagetype=html&​pageid=lpn-htmlch1|Learn Prolog Now]]   * [[http://​www.learnprolognow.org/​lpnpage.php?​pagetype=html&​pageid=lpn-htmlch1|Learn Prolog Now]]
-  * [[www.amzi.com/​AdventureInProlog|Adventure in Prolog]]+  * [[http://www.amzi.com/​AdventureInProlog|Adventure in Prolog]] 
 +  * [[http://​ai.ia.agh.edu.pl/​wiki/​pl:​prolog:​prolog_lab:​constraint_satisfaction_problems|Opisywanie problemów za pomocą ograniczeń]]
  
pl/dydaktyka/krr/lab_baza_wiedzy.1361953780.txt.gz · ostatnio zmienione: 2019/06/27 15:52 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0