Post on 28-Feb-2019
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Programowanie w logicePoczątki
Piotr Fulmański
Wydział Matematyki UŁ
2 marca 2007
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Plan prezentacji
1 Prolog – czym jest?Krótka charakterystykaNiespodzianka
2 Obiekty i relacjeCzyli kiedy obiekty nie są obiektamiRelacje
3 Na czym polega programowanie w PROLOGU?No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
4 PodsumowanieDo zapamiętania
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Krótka charakterystykaNiespodzianka
• PROLOG = fr. PROgrammation en LOGigue• Powstał na przełomie lat 60 i 70 jako efekt prac nad narzędziem
pozwalającym na przetwarzanie języka naturalnego, w tymprzypadku francuskiego (autorzy: Alain Colmerauer we współpracy zPhilippe Roussel)
• Używany w przetwarzaniu symbolicznym w takich dziedzinach jak:• logika matematyczna• przetwarzanie języka naturalnego• symboliczne rozwiązywanie równań• zagadnienia z dziedziny sztucznej inteligencji• bazy danych
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Krótka charakterystykaNiespodzianka
• PROLOG = fr. PROgrammation en LOGigue• Powstał na przełomie lat 60 i 70 jako efekt prac nad narzędziem
pozwalającym na przetwarzanie języka naturalnego, w tymprzypadku francuskiego (autorzy: Alain Colmerauer we współpracy zPhilippe Roussel)
• Używany w przetwarzaniu symbolicznym w takich dziedzinach jak:• logika matematyczna• przetwarzanie języka naturalnego• symboliczne rozwiązywanie równań• zagadnienia z dziedziny sztucznej inteligencji• bazy danych
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Krótka charakterystykaNiespodzianka
• PROLOG = fr. PROgrammation en LOGigue• Powstał na przełomie lat 60 i 70 jako efekt prac nad narzędziem
pozwalającym na przetwarzanie języka naturalnego, w tymprzypadku francuskiego (autorzy: Alain Colmerauer we współpracy zPhilippe Roussel)
• Używany w przetwarzaniu symbolicznym w takich dziedzinach jak:• logika matematyczna• przetwarzanie języka naturalnego• symboliczne rozwiązywanie równań• zagadnienia z dziedziny sztucznej inteligencji• bazy danych
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Krótka charakterystykaNiespodzianka
• PROLOG = fr. PROgrammation en LOGigue• Powstał na przełomie lat 60 i 70 jako efekt prac nad narzędziem
pozwalającym na przetwarzanie języka naturalnego, w tymprzypadku francuskiego (autorzy: Alain Colmerauer we współpracy zPhilippe Roussel)
• Używany w przetwarzaniu symbolicznym w takich dziedzinach jak:• logika matematyczna• przetwarzanie języka naturalnego• symboliczne rozwiązywanie równań• zagadnienia z dziedziny sztucznej inteligencji• bazy danych
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Krótka charakterystykaNiespodzianka
• PROLOG = fr. PROgrammation en LOGigue• Powstał na przełomie lat 60 i 70 jako efekt prac nad narzędziem
pozwalającym na przetwarzanie języka naturalnego, w tymprzypadku francuskiego (autorzy: Alain Colmerauer we współpracy zPhilippe Roussel)
• Używany w przetwarzaniu symbolicznym w takich dziedzinach jak:• logika matematyczna• przetwarzanie języka naturalnego• symboliczne rozwiązywanie równań• zagadnienia z dziedziny sztucznej inteligencji• bazy danych
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Krótka charakterystykaNiespodzianka
• PROLOG = fr. PROgrammation en LOGigue• Powstał na przełomie lat 60 i 70 jako efekt prac nad narzędziem
pozwalającym na przetwarzanie języka naturalnego, w tymprzypadku francuskiego (autorzy: Alain Colmerauer we współpracy zPhilippe Roussel)
• Używany w przetwarzaniu symbolicznym w takich dziedzinach jak:• logika matematyczna• przetwarzanie języka naturalnego• symboliczne rozwiązywanie równań• zagadnienia z dziedziny sztucznej inteligencji• bazy danych
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Krótka charakterystykaNiespodzianka
• PROLOG = fr. PROgrammation en LOGigue• Powstał na przełomie lat 60 i 70 jako efekt prac nad narzędziem
pozwalającym na przetwarzanie języka naturalnego, w tymprzypadku francuskiego (autorzy: Alain Colmerauer we współpracy zPhilippe Roussel)
• Używany w przetwarzaniu symbolicznym w takich dziedzinach jak:• logika matematyczna• przetwarzanie języka naturalnego• symboliczne rozwiązywanie równań• zagadnienia z dziedziny sztucznej inteligencji• bazy danych
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Krótka charakterystykaNiespodzianka
• PROLOG = fr. PROgrammation en LOGigue• Powstał na przełomie lat 60 i 70 jako efekt prac nad narzędziem
pozwalającym na przetwarzanie języka naturalnego, w tymprzypadku francuskiego (autorzy: Alain Colmerauer we współpracy zPhilippe Roussel)
• Używany w przetwarzaniu symbolicznym w takich dziedzinach jak:• logika matematyczna• przetwarzanie języka naturalnego• symboliczne rozwiązywanie równań• zagadnienia z dziedziny sztucznej inteligencji• bazy danych
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Krótka charakterystykaNiespodzianka
UWAGAPisanie programu w PROLOGU nie polega na opisywaniu algorytmu!
Zamiast opisu algorytmu opisujemy obiekty związane z problemem irelacje pomiędzy tymi obiektami.
Stąd PROLOG często określany jest jako język opisowy i deklaratywny.
Rozwiązanie problemu polega na „odpytywaniu” komputera o obiekty irelacje pomiędzy nimi, które można wywnioskować z programu.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Krótka charakterystykaNiespodzianka
UWAGAPisanie programu w PROLOGU nie polega na opisywaniu algorytmu!
Zamiast opisu algorytmu opisujemy obiekty związane z problemem irelacje pomiędzy tymi obiektami.
Stąd PROLOG często określany jest jako język opisowy i deklaratywny.
Rozwiązanie problemu polega na „odpytywaniu” komputera o obiekty irelacje pomiędzy nimi, które można wywnioskować z programu.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Krótka charakterystykaNiespodzianka
UWAGAPisanie programu w PROLOGU nie polega na opisywaniu algorytmu!
Zamiast opisu algorytmu opisujemy obiekty związane z problemem irelacje pomiędzy tymi obiektami.
Stąd PROLOG często określany jest jako język opisowy i deklaratywny.
Rozwiązanie problemu polega na „odpytywaniu” komputera o obiekty irelacje pomiędzy nimi, które można wywnioskować z programu.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Krótka charakterystykaNiespodzianka
UWAGAPisanie programu w PROLOGU nie polega na opisywaniu algorytmu!
Zamiast opisu algorytmu opisujemy obiekty związane z problemem irelacje pomiędzy tymi obiektami.
Stąd PROLOG często określany jest jako język opisowy i deklaratywny.
Rozwiązanie problemu polega na „odpytywaniu” komputera o obiekty irelacje pomiędzy nimi, które można wywnioskować z programu.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Czyli kiedy obiekty nie są obiektamiRelacje
• Programowanie zorientowane obiektowo (ang. OOP, object-orientedprogramming) to paradygmat (sposób) programowania posługującysię pojęciem obiektu jako metody reprezentacji danych w programie.
• Każdy obiekt, będący instancją pewnej klasy, posiada zbiór cech(będących zmiennymi pewnych typów) go opisujących oraz zbiórmetod (funkcji) których wywołanie na rzecz tego obiektu ma sens.
• W tym ujęciu, klasa zdefiniowana przez programistę, staje się nowymtypem, który może być używany na równi z typami wbudowanymi.
• Z OOP nierozerwalnie związane są pojęcia enkapsulacjidanych,dziedziczenia,polimorfizmu.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Czyli kiedy obiekty nie są obiektamiRelacje
• Programowanie zorientowane obiektowo (ang. OOP, object-orientedprogramming) to paradygmat (sposób) programowania posługującysię pojęciem obiektu jako metody reprezentacji danych w programie.
• Każdy obiekt, będący instancją pewnej klasy, posiada zbiór cech(będących zmiennymi pewnych typów) go opisujących oraz zbiórmetod (funkcji) których wywołanie na rzecz tego obiektu ma sens.
• W tym ujęciu, klasa zdefiniowana przez programistę, staje się nowymtypem, który może być używany na równi z typami wbudowanymi.
• Z OOP nierozerwalnie związane są pojęcia enkapsulacjidanych,dziedziczenia,polimorfizmu.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Czyli kiedy obiekty nie są obiektamiRelacje
• Programowanie zorientowane obiektowo (ang. OOP, object-orientedprogramming) to paradygmat (sposób) programowania posługującysię pojęciem obiektu jako metody reprezentacji danych w programie.
• Każdy obiekt, będący instancją pewnej klasy, posiada zbiór cech(będących zmiennymi pewnych typów) go opisujących oraz zbiórmetod (funkcji) których wywołanie na rzecz tego obiektu ma sens.
• W tym ujęciu, klasa zdefiniowana przez programistę, staje się nowymtypem, który może być używany na równi z typami wbudowanymi.
• Z OOP nierozerwalnie związane są pojęcia enkapsulacjidanych,dziedziczenia,polimorfizmu.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Czyli kiedy obiekty nie są obiektamiRelacje
• Programowanie zorientowane obiektowo (ang. OOP, object-orientedprogramming) to paradygmat (sposób) programowania posługującysię pojęciem obiektu jako metody reprezentacji danych w programie.
• Każdy obiekt, będący instancją pewnej klasy, posiada zbiór cech(będących zmiennymi pewnych typów) go opisujących oraz zbiórmetod (funkcji) których wywołanie na rzecz tego obiektu ma sens.
• W tym ujęciu, klasa zdefiniowana przez programistę, staje się nowymtypem, który może być używany na równi z typami wbudowanymi.
• Z OOP nierozerwalnie związane są pojęcia enkapsulacjidanych,dziedziczenia,polimorfizmu.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Czyli kiedy obiekty nie są obiektamiRelacje
class Punkt{private:
double x;double y;
public:Punkt(double x, double y);void Przesun(Wektor w);
};
class Wektor{
...};
Punkt p(1.0,2.0);Wektor w(2.5,-1.5);
p.Przesun(w);
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Czyli kiedy obiekty nie są obiektamiRelacje
class Punkt{private:
double x;double y;
public:Punkt(double x, double y);void Przesun(Wektor w);
};
class Wektor{
...};
Punkt p(1.0,2.0);Wektor w(2.5,-1.5);
p.Przesun(w);
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Czyli kiedy obiekty nie są obiektamiRelacje
• Obiekt w sensie PROLOG-a jest czymś, co możemy sobie nazwaćbytem.
• Nie definiujemy z czego się on składa i co można z nim zrobić (coma miejsce w OOP), ale jaki jest.
• Dla każdego obiektu definiujemy relacje jakim obiekt ten podlega.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Czyli kiedy obiekty nie są obiektamiRelacje
• Obiekt w sensie PROLOG-a jest czymś, co możemy sobie nazwaćbytem.
• Nie definiujemy z czego się on składa i co można z nim zrobić (coma miejsce w OOP), ale jaki jest.
• Dla każdego obiektu definiujemy relacje jakim obiekt ten podlega.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Czyli kiedy obiekty nie są obiektamiRelacje
• Obiekt w sensie PROLOG-a jest czymś, co możemy sobie nazwaćbytem.
• Nie definiujemy z czego się on składa i co można z nim zrobić (coma miejsce w OOP), ale jaki jest.
• Dla każdego obiektu definiujemy relacje jakim obiekt ten podlega.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Czyli kiedy obiekty nie są obiektamiRelacje
• Obiekt w sensie PROLOG-a jest czymś, co możemy sobie nazwaćbytem.
• Nie definiujemy z czego się on składa i co można z nim zrobić (coma miejsce w OOP), ale jaki jest.
• Dla każdego obiektu definiujemy relacje jakim obiekt ten podlega.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Czyli kiedy obiekty nie są obiektamiRelacje
Relacja – związek pomiędzy pewną liczbą obiektów.
PrzykładJasio ma grzechotkę
obiekty: Jasio, grzechotkarelacje: posiadanie
PrzykładLesio jest ciemny
obiekty: Lesio, ciemnyrelacje: być
• Nie wszystkie relacje jawnie określają wszystkie obiekty, którychdotyczą.
• Relacje (reguły) zwykle są uproszczone, ale wystarczająco precyzyjneaby mogły być definicjami w problemie jaki rozwiązujemy.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Czyli kiedy obiekty nie są obiektamiRelacje
Relacja – związek pomiędzy pewną liczbą obiektów.
PrzykładJasio ma grzechotkę
obiekty: Jasio, grzechotkarelacje: posiadanie
PrzykładLesio jest ciemny
obiekty: Lesio, ciemnyrelacje: być
• Nie wszystkie relacje jawnie określają wszystkie obiekty, którychdotyczą.
• Relacje (reguły) zwykle są uproszczone, ale wystarczająco precyzyjneaby mogły być definicjami w problemie jaki rozwiązujemy.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Czyli kiedy obiekty nie są obiektamiRelacje
Relacja – związek pomiędzy pewną liczbą obiektów.
PrzykładJasio ma grzechotkę
obiekty: Jasio, grzechotkarelacje: posiadanie
PrzykładLesio jest ciemny
obiekty: Lesio, ciemnyrelacje: być
• Nie wszystkie relacje jawnie określają wszystkie obiekty, którychdotyczą.
• Relacje (reguły) zwykle są uproszczone, ale wystarczająco precyzyjneaby mogły być definicjami w problemie jaki rozwiązujemy.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Czyli kiedy obiekty nie są obiektamiRelacje
Relacja – związek pomiędzy pewną liczbą obiektów.
PrzykładJasio ma grzechotkę
obiekty: Jasio, grzechotkarelacje: posiadanie
PrzykładLesio jest ciemny
obiekty: Lesio, ciemnyrelacje: być
• Nie wszystkie relacje jawnie określają wszystkie obiekty, którychdotyczą.
• Relacje (reguły) zwykle są uproszczone, ale wystarczająco precyzyjneaby mogły być definicjami w problemie jaki rozwiązujemy.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Czyli kiedy obiekty nie są obiektamiRelacje
Relacja – związek pomiędzy pewną liczbą obiektów.
PrzykładJasio ma grzechotkę
obiekty: Jasio, grzechotkarelacje: posiadanie
PrzykładLesio jest ciemny
obiekty: Lesio, ciemnyrelacje: być
• Nie wszystkie relacje jawnie określają wszystkie obiekty, którychdotyczą.
• Relacje (reguły) zwykle są uproszczone, ale wystarczająco precyzyjneaby mogły być definicjami w problemie jaki rozwiązujemy.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Czyli kiedy obiekty nie są obiektamiRelacje
Relacja – związek pomiędzy pewną liczbą obiektów.
PrzykładJasio ma grzechotkę
obiekty: Jasio, grzechotkarelacje: posiadanie
PrzykładLesio jest ciemny
obiekty: Lesio, ciemnyrelacje: być
• Nie wszystkie relacje jawnie określają wszystkie obiekty, którychdotyczą.
• Relacje (reguły) zwykle są uproszczone, ale wystarczająco precyzyjneaby mogły być definicjami w problemie jaki rozwiązujemy.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Czyli kiedy obiekty nie są obiektamiRelacje
Relacja – związek pomiędzy pewną liczbą obiektów.
PrzykładJasio ma grzechotkę
obiekty: Jasio, grzechotkarelacje: posiadanie
PrzykładLesio jest ciemny
obiekty: Lesio, ciemnyrelacje: być
• Nie wszystkie relacje jawnie określają wszystkie obiekty, którychdotyczą.
• Relacje (reguły) zwykle są uproszczone, ale wystarczająco precyzyjneaby mogły być definicjami w problemie jaki rozwiązujemy.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Czyli kiedy obiekty nie są obiektamiRelacje
Relacja – związek pomiędzy pewną liczbą obiektów.
PrzykładJasio ma grzechotkę
obiekty: Jasio, grzechotkarelacje: posiadanie
PrzykładLesio jest ciemny
obiekty: Lesio, ciemnyrelacje: być
• Nie wszystkie relacje jawnie określają wszystkie obiekty, którychdotyczą.
• Relacje (reguły) zwykle są uproszczone, ale wystarczająco precyzyjneaby mogły być definicjami w problemie jaki rozwiązujemy.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Czyli kiedy obiekty nie są obiektamiRelacje
Relacja – związek pomiędzy pewną liczbą obiektów.
PrzykładJasio ma grzechotkę
obiekty: Jasio, grzechotkarelacje: posiadanie
PrzykładLesio jest ciemny
obiekty: Lesio, ciemnyrelacje: być
• Nie wszystkie relacje jawnie określają wszystkie obiekty, którychdotyczą.
• Relacje (reguły) zwykle są uproszczone, ale wystarczająco precyzyjneaby mogły być definicjami w problemie jaki rozwiązujemy.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
• Definiowanie obiektów poprzez definiowanie faktów dotyczącychobiektów i związków między nimi.
• Definiowanie reguł dotyczących obiektów i związków między nimi.• Zapytania o obiekty i związki między nimi.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
• Definiowanie obiektów poprzez definiowanie faktów dotyczącychobiektów i związków między nimi.
• Definiowanie reguł dotyczących obiektów i związków między nimi.• Zapytania o obiekty i związki między nimi.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
• Definiowanie obiektów poprzez definiowanie faktów dotyczącychobiektów i związków między nimi.
• Definiowanie reguł dotyczących obiektów i związków między nimi.• Zapytania o obiekty i związki między nimi.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
Fakt: Ala lubi kotalubi(ala,kota).
• Nazwy relacji i obiektów muszą zaczynać się małymi literami.• Najpierw zapisujemy relację, a potem, rozdzielone przecinkami i
ujęte w nawias okrągły, obiekty których ona dotyczy.• Fakt kończymy znakiek kropki.• Kolejność obiektów umieszczonych w nawiasie jest dowolna, ale
trzeba stosować ją konsekwentnie. O ile bowiem dobrze znanymfaktem jest to, że Ala lubi swojego kota, to nie oznacza to, że kotten lubi Alę.
• Nazwy obiektów występujących w nawiasach nazywamyargumentami.
• Nazwę relacji znajdującej się przed nawiasem nazywamy predykatem.• Zbiór faktów nazywamy bazą danych.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
Fakt: Ala lubi kotalubi(ala,kota).
• Nazwy relacji i obiektów muszą zaczynać się małymi literami.• Najpierw zapisujemy relację, a potem, rozdzielone przecinkami i
ujęte w nawias okrągły, obiekty których ona dotyczy.• Fakt kończymy znakiek kropki.• Kolejność obiektów umieszczonych w nawiasie jest dowolna, ale
trzeba stosować ją konsekwentnie. O ile bowiem dobrze znanymfaktem jest to, że Ala lubi swojego kota, to nie oznacza to, że kotten lubi Alę.
• Nazwy obiektów występujących w nawiasach nazywamyargumentami.
• Nazwę relacji znajdującej się przed nawiasem nazywamy predykatem.• Zbiór faktów nazywamy bazą danych.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
Fakt: Ala lubi kotalubi(ala,kota).
• Nazwy relacji i obiektów muszą zaczynać się małymi literami.• Najpierw zapisujemy relację, a potem, rozdzielone przecinkami i
ujęte w nawias okrągły, obiekty których ona dotyczy.• Fakt kończymy znakiek kropki.• Kolejność obiektów umieszczonych w nawiasie jest dowolna, ale
trzeba stosować ją konsekwentnie. O ile bowiem dobrze znanymfaktem jest to, że Ala lubi swojego kota, to nie oznacza to, że kotten lubi Alę.
• Nazwy obiektów występujących w nawiasach nazywamyargumentami.
• Nazwę relacji znajdującej się przed nawiasem nazywamy predykatem.• Zbiór faktów nazywamy bazą danych.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
Fakt: Ala lubi kotalubi(ala,kota).
• Nazwy relacji i obiektów muszą zaczynać się małymi literami.• Najpierw zapisujemy relację, a potem, rozdzielone przecinkami i
ujęte w nawias okrągły, obiekty których ona dotyczy.• Fakt kończymy znakiek kropki.• Kolejność obiektów umieszczonych w nawiasie jest dowolna, ale
trzeba stosować ją konsekwentnie. O ile bowiem dobrze znanymfaktem jest to, że Ala lubi swojego kota, to nie oznacza to, że kotten lubi Alę.
• Nazwy obiektów występujących w nawiasach nazywamyargumentami.
• Nazwę relacji znajdującej się przed nawiasem nazywamy predykatem.• Zbiór faktów nazywamy bazą danych.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
Fakt: Ala lubi kotalubi(ala,kota).
• Nazwy relacji i obiektów muszą zaczynać się małymi literami.• Najpierw zapisujemy relację, a potem, rozdzielone przecinkami i
ujęte w nawias okrągły, obiekty których ona dotyczy.• Fakt kończymy znakiek kropki.• Kolejność obiektów umieszczonych w nawiasie jest dowolna, ale
trzeba stosować ją konsekwentnie. O ile bowiem dobrze znanymfaktem jest to, że Ala lubi swojego kota, to nie oznacza to, że kotten lubi Alę.
• Nazwy obiektów występujących w nawiasach nazywamyargumentami.
• Nazwę relacji znajdującej się przed nawiasem nazywamy predykatem.• Zbiór faktów nazywamy bazą danych.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
Fakt: Ala lubi kotalubi(ala,kota).
• Nazwy relacji i obiektów muszą zaczynać się małymi literami.• Najpierw zapisujemy relację, a potem, rozdzielone przecinkami i
ujęte w nawias okrągły, obiekty których ona dotyczy.• Fakt kończymy znakiek kropki.• Kolejność obiektów umieszczonych w nawiasie jest dowolna, ale
trzeba stosować ją konsekwentnie. O ile bowiem dobrze znanymfaktem jest to, że Ala lubi swojego kota, to nie oznacza to, że kotten lubi Alę.
• Nazwy obiektów występujących w nawiasach nazywamyargumentami.
• Nazwę relacji znajdującej się przed nawiasem nazywamy predykatem.• Zbiór faktów nazywamy bazą danych.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
Fakt: Ala lubi kotalubi(ala,kota).
• Nazwy relacji i obiektów muszą zaczynać się małymi literami.• Najpierw zapisujemy relację, a potem, rozdzielone przecinkami i
ujęte w nawias okrągły, obiekty których ona dotyczy.• Fakt kończymy znakiek kropki.• Kolejność obiektów umieszczonych w nawiasie jest dowolna, ale
trzeba stosować ją konsekwentnie. O ile bowiem dobrze znanymfaktem jest to, że Ala lubi swojego kota, to nie oznacza to, że kotten lubi Alę.
• Nazwy obiektów występujących w nawiasach nazywamyargumentami.
• Nazwę relacji znajdującej się przed nawiasem nazywamy predykatem.• Zbiór faktów nazywamy bazą danych.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
Fakt: Ala lubi kotalubi(ala,kota).
• Nazwy relacji i obiektów muszą zaczynać się małymi literami.• Najpierw zapisujemy relację, a potem, rozdzielone przecinkami i
ujęte w nawias okrągły, obiekty których ona dotyczy.• Fakt kończymy znakiek kropki.• Kolejność obiektów umieszczonych w nawiasie jest dowolna, ale
trzeba stosować ją konsekwentnie. O ile bowiem dobrze znanymfaktem jest to, że Ala lubi swojego kota, to nie oznacza to, że kotten lubi Alę.
• Nazwy obiektów występujących w nawiasach nazywamyargumentami.
• Nazwę relacji znajdującej się przed nawiasem nazywamy predykatem.• Zbiór faktów nazywamy bazą danych.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
Zosia jest matką Gienia. matka(zosia,gienio).Pomidor jest warzywem. warzywo(pomidor).Hania drapie Piotra. drapie(hania,piotr).Hania zjada ciastko Piotrowi. zjada(ciastko,hania,piotr).
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
Zosia jest matką Gienia. matka(zosia,gienio).Pomidor jest warzywem. warzywo(pomidor).Hania drapie Piotra. drapie(hania,piotr).Hania zjada ciastko Piotrowi. zjada(ciastko,hania,piotr).
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
Zosia jest matką Gienia. matka(zosia,gienio).Pomidor jest warzywem. warzywo(pomidor).Hania drapie Piotra. drapie(hania,piotr).Hania zjada ciastko Piotrowi. zjada(ciastko,hania,piotr).
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
Zosia jest matką Gienia. matka(zosia,gienio).Pomidor jest warzywem. warzywo(pomidor).Hania drapie Piotra. drapie(hania,piotr).Hania zjada ciastko Piotrowi. zjada(ciastko,hania,piotr).
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
Zapytanie?-?- posiada(piotr,ksiazka).Czy Piotr ma książkę?Czy istnieje fakt mówiący, że Piotr ma książkę?Jeśli zostanie znaleziony pasujący do zapytania fakt, wówczas zostaniezwrócona odpowiedź yes; w przeciwnym razie no.no nie oznacza „nie” , ale „nie wiem”.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
Zapytanie?-?- posiada(piotr,ksiazka).Czy Piotr ma książkę?Czy istnieje fakt mówiący, że Piotr ma książkę?Jeśli zostanie znaleziony pasujący do zapytania fakt, wówczas zostaniezwrócona odpowiedź yes; w przeciwnym razie no.no nie oznacza „nie” , ale „nie wiem”.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
Zapytanie?-?- posiada(piotr,ksiazka).Czy Piotr ma książkę?Czy istnieje fakt mówiący, że Piotr ma książkę?Jeśli zostanie znaleziony pasujący do zapytania fakt, wówczas zostaniezwrócona odpowiedź yes; w przeciwnym razie no.no nie oznacza „nie” , ale „nie wiem”.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
Zapytanie?-?- posiada(piotr,ksiazka).Czy Piotr ma książkę?Czy istnieje fakt mówiący, że Piotr ma książkę?Jeśli zostanie znaleziony pasujący do zapytania fakt, wówczas zostaniezwrócona odpowiedź yes; w przeciwnym razie no.no nie oznacza „nie” , ale „nie wiem”.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
Zapytanie?-?- posiada(piotr,ksiazka).Czy Piotr ma książkę?Czy istnieje fakt mówiący, że Piotr ma książkę?Jeśli zostanie znaleziony pasujący do zapytania fakt, wówczas zostaniezwrócona odpowiedź yes; w przeciwnym razie no.no nie oznacza „nie” , ale „nie wiem”.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
Zapytanie?-?- posiada(piotr,ksiazka).Czy Piotr ma książkę?Czy istnieje fakt mówiący, że Piotr ma książkę?Jeśli zostanie znaleziony pasujący do zapytania fakt, wówczas zostaniezwrócona odpowiedź yes; w przeciwnym razie no.no nie oznacza „nie” , ale „nie wiem”.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
ZapytanieZamiast: Czy Piotr ma książkę?chcemy zapytać: Co ma Piotr?Czyli szukamy odpowiedzi na zapytanie:Wypisz wszystko co ma Piotrlub inaczej:Szukam tego wszystkiego co ma Piotri jeszcze inaczej:Jeśli Piotr ma X, to X jest tym czego szukam.?- posiada(piotr,X)X to nazwa zmiennej
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
ZapytanieZamiast: Czy Piotr ma książkę?chcemy zapytać: Co ma Piotr?Czyli szukamy odpowiedzi na zapytanie:Wypisz wszystko co ma Piotrlub inaczej:Szukam tego wszystkiego co ma Piotri jeszcze inaczej:Jeśli Piotr ma X, to X jest tym czego szukam.?- posiada(piotr,X)X to nazwa zmiennej
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
ZapytanieZamiast: Czy Piotr ma książkę?chcemy zapytać: Co ma Piotr?Czyli szukamy odpowiedzi na zapytanie:Wypisz wszystko co ma Piotrlub inaczej:Szukam tego wszystkiego co ma Piotri jeszcze inaczej:Jeśli Piotr ma X, to X jest tym czego szukam.?- posiada(piotr,X)X to nazwa zmiennej
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
ZapytanieZamiast: Czy Piotr ma książkę?chcemy zapytać: Co ma Piotr?Czyli szukamy odpowiedzi na zapytanie:Wypisz wszystko co ma Piotrlub inaczej:Szukam tego wszystkiego co ma Piotri jeszcze inaczej:Jeśli Piotr ma X, to X jest tym czego szukam.?- posiada(piotr,X)X to nazwa zmiennej
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
ZapytanieZamiast: Czy Piotr ma książkę?chcemy zapytać: Co ma Piotr?Czyli szukamy odpowiedzi na zapytanie:Wypisz wszystko co ma Piotrlub inaczej:Szukam tego wszystkiego co ma Piotri jeszcze inaczej:Jeśli Piotr ma X, to X jest tym czego szukam.?- posiada(piotr,X)X to nazwa zmiennej
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
. . . i . . .lubi(jas,piernik).lubi(jas,malgosia).lubi(malgosia,cukierek).lubi(malgosia,piernik).
?- lubi(jas,malgosia), lubi(malgosia,jas).
Szukam tego wszystkiego co lubi zarówno Jas jak i Małgosia.
?- lubi(jas,X), lubi(malgosia,X).
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
. . . i . . .lubi(jas,piernik).lubi(jas,malgosia).lubi(malgosia,cukierek).lubi(malgosia,piernik).
?- lubi(jas,malgosia), lubi(malgosia,jas).
Szukam tego wszystkiego co lubi zarówno Jas jak i Małgosia.
?- lubi(jas,X), lubi(malgosia,X).
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
. . . i . . .lubi(jas,piernik).lubi(jas,malgosia).lubi(malgosia,cukierek).lubi(malgosia,piernik).
?- lubi(jas,malgosia), lubi(malgosia,jas).
Szukam tego wszystkiego co lubi zarówno Jas jak i Małgosia.
?- lubi(jas,X), lubi(malgosia,X).
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
. . . i . . .lubi(jas,piernik).lubi(jas,malgosia).lubi(malgosia,cukierek).lubi(malgosia,piernik).
?- lubi(jas,malgosia), lubi(malgosia,jas).
Szukam tego wszystkiego co lubi zarówno Jas jak i Małgosia.
?- lubi(jas,X), lubi(malgosia,X).
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
. . . lub . . .lubi(jas,piernik).lubi(jas,malgosia).lubi(malgosia,cukierek).lubi(malgosia,piernik).
?- lubi(jas,malgosia); lubi(malgosia,jas).
Szukam tego wszystkiego co lubi Jas lub Małgosia.
?- lubi(jas,X); lubi(malgosia,X).
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
. . . lub . . .lubi(jas,piernik).lubi(jas,malgosia).lubi(malgosia,cukierek).lubi(malgosia,piernik).
?- lubi(jas,malgosia); lubi(malgosia,jas).
Szukam tego wszystkiego co lubi Jas lub Małgosia.
?- lubi(jas,X); lubi(malgosia,X).
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
. . . lub . . .lubi(jas,piernik).lubi(jas,malgosia).lubi(malgosia,cukierek).lubi(malgosia,piernik).
?- lubi(jas,malgosia); lubi(malgosia,jas).
Szukam tego wszystkiego co lubi Jas lub Małgosia.
?- lubi(jas,X); lubi(malgosia,X).
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
. . . lub . . .lubi(jas,piernik).lubi(jas,malgosia).lubi(malgosia,cukierek).lubi(malgosia,piernik).
?- lubi(jas,malgosia); lubi(malgosia,jas).
Szukam tego wszystkiego co lubi Jas lub Małgosia.
?- lubi(jas,X); lubi(malgosia,X).
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
nielubi(jas,piernik).lubi(jas,malgosia).lubi(malgosia,cukierek).lubi(malgosia,piernik).
?- lubi(jas,malgosia)?- \+ lubi(malgosia,jas).
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
nielubi(jas,piernik).lubi(jas,malgosia).lubi(malgosia,cukierek).lubi(malgosia,piernik).
?- lubi(jas,malgosia)?- \+ lubi(malgosia,jas).
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
Jaś lubi WSZYSTKIE pieski.
lubi(jas,azorka).lubi(jas,burka).lubi(jas,cyryla)....
Jaś lubi WSZYSTKIE obiekty, które są psami.X jest psem jeśli:
• X jest zwierzęciem i• X ma cztery łapy i• X ma ogon.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
Jaś lubi WSZYSTKIE pieski.
lubi(jas,azorka).lubi(jas,burka).lubi(jas,cyryla)....
Jaś lubi WSZYSTKIE obiekty, które są psami.X jest psem jeśli:
• X jest zwierzęciem i• X ma cztery łapy i• X ma ogon.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
Jaś lubi WSZYSTKIE pieski.
lubi(jas,azorka).lubi(jas,burka).lubi(jas,cyryla)....
Jaś lubi WSZYSTKIE obiekty, które są psami.X jest psem jeśli:
• X jest zwierzęciem i• X ma cztery łapy i• X ma ogon.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
Jaś lubi WSZYSTKIE pieski.
lubi(jas,azorka).lubi(jas,burka).lubi(jas,cyryla)....
Jaś lubi WSZYSTKIE obiekty, które są psami.X jest psem jeśli:
• X jest zwierzęciem i• X ma cztery łapy i• X ma ogon.
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
RegułaReguła to ogólne stwierdzenie dotyczące obiektów i ich powiązań.
Jaś lubi X jeśli:• X jest zwierzęciem i• X ma cztery łapy i• X ma ogon.
lubi(jas,X) :- zwierze(X), ma(X,lapy,4), ma(X,ogon).
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
RegułaReguła to ogólne stwierdzenie dotyczące obiektów i ich powiązań.
Jaś lubi X jeśli:• X jest zwierzęciem i• X ma cztery łapy i• X ma ogon.
lubi(jas,X) :- zwierze(X), ma(X,lapy,4), ma(X,ogon).
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
RegułaReguła to ogólne stwierdzenie dotyczące obiektów i ich powiązań.
Jaś lubi X jeśli:• X jest zwierzęciem i• X ma cztery łapy i• X ma ogon.
lubi(jas,X) :- zwierze(X), ma(X,lapy,4), ma(X,ogon).
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
RegułaReguła to ogólne stwierdzenie dotyczące obiektów i ich powiązań.
Jaś lubi X jeśli:• X jest zwierzęciem i• X ma cztery łapy i• X ma ogon.
lubi(jas,X) :- zwierze(X), ma(X,lapy,4), ma(X,ogon).
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
RegułaReguła to ogólne stwierdzenie dotyczące obiektów i ich powiązań.
Jaś lubi X jeśli:• X jest zwierzęciem i• X ma cztery łapy i• X ma ogon.
lubi(jas,X) :- zwierze(X), ma(X,lapy,4), ma(X,ogon).
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
No właśnie, na czym?!FaktyZapytaniai, lub, nieReguły
RegułaReguła to ogólne stwierdzenie dotyczące obiektów i ich powiązań.
Jaś lubi X jeśli:• X jest zwierzęciem i• X ma cztery łapy i• X ma ogon.
lubi(jas,X) :- zwierze(X), ma(X,lapy,4), ma(X,ogon).
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Do zapamiętania
Do zapamiętania• Co oznacza programowanie w logice?• Jak należy rozumieć pojęcie obiektu występujące w PROLOGU? Tak
samo jak w OOP?• Co nazywamy relacją, faktem, regułą?• Jak zapisujemy koniunkcję, alternatywę i negację?
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Do zapamiętania
Do zapamiętania• Co oznacza programowanie w logice?• Jak należy rozumieć pojęcie obiektu występujące w PROLOGU? Tak
samo jak w OOP?• Co nazywamy relacją, faktem, regułą?• Jak zapisujemy koniunkcję, alternatywę i negację?
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Do zapamiętania
Do zapamiętania• Co oznacza programowanie w logice?• Jak należy rozumieć pojęcie obiektu występujące w PROLOGU? Tak
samo jak w OOP?• Co nazywamy relacją, faktem, regułą?• Jak zapisujemy koniunkcję, alternatywę i negację?
Piotr Fulmański Programowanie w logice
Prolog – czym jest?Obiekty i relacje
Na czym polega programowanie w PROLOGU?Podsumowanie
Do zapamiętania
Do zapamiętania• Co oznacza programowanie w logice?• Jak należy rozumieć pojęcie obiektu występujące w PROLOGU? Tak
samo jak w OOP?• Co nazywamy relacją, faktem, regułą?• Jak zapisujemy koniunkcję, alternatywę i negację?
Piotr Fulmański Programowanie w logice