Deklarowania faktów dotyczących obiektów i związków między nimi. Definiowania reguł dotyczących obiektów i związków między nimi.
|
|
- Radosław Kwiatkowski
- 7 lat temu
- Przeglądów:
Transkrypt
1 Prolog
2 Prolog Programowanie w Prologu składa się z: Deklarowania faktów dotyczących obiektów i związków między nimi. Definiowania reguł dotyczących obiektów i związków między nimi. Zadawania zapytao o obiekty i związki między nimi.
3 Fakty Fakty opisują obiekty i relacje między nimi. W Prologu fakty zapisujemy następująco: Przykłady: predykat(argumenty). mezczyzna(tomek). kobieta(ala). lubi(tomek,ala). wiek(tomek,30). rodzic(maria,renata,tomek).
4 Fakty Nazwy: tomek, ala, alicja, renata dotyczące konkretnych obiektów pisane są z małej litery. Każdy obiekt musi posiadad interpretację. Nazwy relacji i obiektów są całkowicie dowolne*. Poprzedni przykład, ale inaczej zapisany: a(b). c(d). e(b,d). f(b,21). g(h,i,b). interpretacja a mężczyzna b Tomek... Zbiór faktów nazywamy bazą danych.
5 Zapytania Dysponując bazą danych możemy zadawad dotyczące jej zapytania. W Prologu fakty zapisujemy następująco: Przykłady:?-predykat(argumenty).?-mezczyzna(tomek).?-mezczyzna(ala).?-lubi(tomek,ala).?-wiek(tomek,30).?-rodzic(maria,ala,tomek).
6 Zapytania Jeżeli zadajemy zapytanie Prolog przeszukuje bazę danych i szuka faktów pasujących do faktu podanego w zapytaniu. Dwa fakty pasują do siebie jeżeli mają te same predykaty (tak samo pisane) i te same argumenty. Jeżeli poszukiwanie zakooczy się sukcesem Prolog odpowiada YES (TRUE), w przeciwnym razie NO (FALSE).
7 Zapytania Przykład Rozważmy bazę danych: lubi(tomek,ryby). lubi(tomek,ala). lubi(ala,ksiazka). lubi(tomek,ksiazka)...i zapytania:?- lubi(tomek,ryby). true.?- lubi(tomek,frytki). false.?- lubi(ala,ksiazka). true.
8 Zapytania Przykład Rozważmy bazę danych:..i zapytania: lubi(tomek,ryby). lubi(tomek,ala). lubi(ala,ksiazka). lubi(tomek,ksiazka).?- lubi(ala,ksiazka). true.?- lubi(ala,rower). false.?- kobieta(ala). ERROR: toplevel: Undefined procedure: kobieta/1 (DWIM could not correct goal)
9 Zapytania W przypadku gdy zadamy zapytanie o relację (predykat), której nie ma w bazie danych zachowanie zależy od systemu. W powyższym przykładzie system zwrócił informację o błędzie. W przypadku gdy zadamy zapytanie o obiekt, którego nie ma w bazie danych Prolog zwraca odpowiedź NO (FALSE).
10 Zmienne Potrafimy już tworzyd zapytania dotyczące konkretnych obiektów. Możemy np. zapytad:?- lubi(tomek,ryby). Czy możemy jedna zapytad nie o to czy Tomek lubi konkretną rzecz, ale o to co lubi w ogóle?. Zapytania takie możemy formułowad wykorzystując zmiennych. Zmienne pisane są z dużej litery. Zmienna może byd ukonkretniona lub nieukonkretniona.
11 Zmienne Przykład Rozważmy zapytanie: gdzie X jest zmienną.?- lubi(tomek,x). Prolog przeszukuje wszystkie fakty z bazy danych w celu znalezienia obiektu, który może zastąpid zmienną. A zatem wyszukiwane są wszystkie obiekty, które lubi Tomek.
12 Zmienne Przykład Rozważmy zapytanie: gdzie Kto jest zmienną.?- lubi(kto,ksiazka). Prolog przeszukuje wszystkie fakty z bazy danych w celu znalezienia obiektu, który może zastąpid zmienną. A zatem wyszukiwane są wszystkie obiekty, które lubią książkę.
13 Zmienne Przykład Rozważmy ponownie bazę danych: i zapytanie: lubi(tomek,ryby). lubi(tomek,ala). lubi(ala,ksiazka). lubi(tomek,ksiazka).?- lubi(tomek,x).
14 Zmienne Przykład Początkowo zmienna X nie jest ukonkretniona. Prolog przeszukuje wszystkie fakty z bazy danych w celu znalezienia obiektu, który może zastąpid zmienną. Precyzyjniej Prolog wyszukuje dowolne fakty z predykatem lubi i pierwszym argumentem tomek, drugi argument może byd dowolny. Kiedy fakt taki zostaje znaleziony wówczas X staje się zmienną ukonkretnioną i przyjmuje wartośd drugiego argumentu ze znalezionego faktu.
15 Zmienne Przykład Dla bazy danych: Prolog zwraca: lubi(tomek,ryby). lubi(tomek,ala). lubi(ala,ksiazka). lubi(tomek,ksiazka).?- lubi(tomek,x). X = ryby Prolog przeszukuje bazę danych w takiej kolejności jak ją wpisano.
16 Zmienne Przykład Kiedy Prolog znajduje fakt pasujący do zapytania oznacza to miejsce w bazie danych i czeka na dalsze polecenia. Wciśnięcie klawisza Enter powoduje zakooczenie wyszukiwania. Wciśnięcie klawisza ; (i Enter) powoduje dalsze przeszukiwanie bazy danych od miejsca oznaczonego wcześniej.
17 Zmienne Przykład Dla bazy danych: Prolog zwraca: lubi(tomek,ryby). lubi(tomek,ala). lubi(ala,ksiazka). lubi(tomek,ksiazka).?- lubi(tomek,x). X = ryby ; X = ala ; X = ksiazka. Wciskamy klawisz ; Prolog przeszukuje bazę danych w takiej kolejności jak ją wpisano.
18 Zmienne Przykład Rozważmy ponownie bazę danych: i zapytanie: lubi(tomek,ryby). lubi(tomek,ala). lubi(ala,ksiazka). lubi(tomek,ksiazka).?- lubi(kto,ksiazka).
19 Zmienne Przykład Prolog zwraca: Prolog zwraca: lubi(tomek,ryby). lubi(tomek,ala). lubi(ala,ksiazka). lubi(tomek,ksiazka).?- lubi(kto,ksiazka). Kto = ala.?- lubi(kto,ksiazka). Kto = ala ; Kto = tomek. Wciskamy klawisz Enter Wciskamy klawisz ;
20 Zmienne Przykład lubi(tomek,ryby). lubi(tomek,ala). lubi(ala,ksiazka). lubi(tomek,ksiazka). Dla tej samej bazy danych rozważmy zapytanie z dwiema zmiennymi (Kto i Co): Wynik:?- lubi(kto,co).?- lubi(kto,co). Kto = tomek, Co = ryby ; Kto = tomek, Co = ala ; Kto = ala, Co = ksiazka ; Kto = tomek, Co = ksiazka. Wciskamy klawisz ;
21 Koniunkcje Wiemy już jak budowad proste zapytania. Zapytania możemy łączyd i uzyskiwad w ten sposób zapytania bardziej złożone. Możemy zapytad np. o rzeczy, które są lubiane i przez Tomka i przez Alę. Wykorzystujemy w tym celu koniunkcję zapytao oznaczaną przecinkiem. Problem składa się wówczas z dwóch odrębnych celów.
22 Zmienne Przykład lubi(tomek,ryby). lubi(tomek,ala). lubi(ala,ksiazka). lubi(tomek,ksiazka). Dla powyższej bazy danych rozważmy zapytanie:?- lubi(tomek,ala),lubi(ala,tomek). Wynik: koniunkcja?- lubi(tomek,ala),lubi(ala,tomek). false. Aby spełniona była koniunkcja muszą byd spełnione oba cele (wszystkie cele składowe). W przypadku rozważanej bazy danych cel pierwszy jest prawdziwy, cel drugi nie.
23 Zmienne Przykład lubi(tomek,ryby). lubi(tomek,ala). lubi(ala,ksiazka). lubi(tomek,ksiazka). Dla powyższej bazy danych rozważmy zapytanie z jedną zmienną:?- lubi(tomek,co),lubi(ala,co). Prolog najpierw próbuje spełnid pierwszy cel zapytania. Jeżeli odpowiedni fakt zostanie znaleziony w bazie danych wówczas to miejsce w bazie zostanie oznaczone (znacznik 1) i Prolog próbuje spełnid drugi cel. Jeżeli to się uda wówczas drugie miejsce w bazie zostaje oznaczone (znacznik 2) i Prolog zwraca rozwiązanie.
24 Zmienne Przykład a zatem dla zapytania: lubi(tomek,ryby). lubi(tomek,ala). lubi(ala,ksiazka). lubi(tomek,ksiazka). otrzymujemy:?- lubi(tomek,co),lubi(ala,co).?- lubi(tomek,co),lubi(ala,co). Co = ksiazka. Jeżeli drugi cel nie zostanie spełniony wówczas Prolog stara się inaczej spełnid cel poprzedni. Prolog zaczyna ponownie przeszukiwad bazę danych od znacznika 1, a nie od początku (mechanizm nawracania).
25 Mechanizm nawracania Rozważmy zapytanie:?- lubi(tomek,x),lubi(ala,x). Kolejne etapy znajdowania rozwiązania: 1. Uzgodniony jest cel pierwszy zmienna X przyjmuje wartośd ryby.?- lubi(tomek,x),lubi(ala,x). ryby ryby lubi(tomek,ryby). lubi(tomek,ksiazka). lubi(ala,ksiazka). lubi(tomek,ala).
26 Mechanizm nawracania 2. Następuje próba uzgodnienia drugiego celu. 3. Drugi cel zawodzi.?- lubi(tomek,x),lubi(ala,x). ryby ryby lubi(tomek,ryby). lubi(tomek,ksiazka). lubi(ala,ksiazka). lubi(tomek,ala). 3. Następuje nawrót poprzednia wartośd zmiennej X jest odrzucona. Próbujemy ponownie uzgodnid pierwszy cel.
27 Mechanizm nawracania 4. Ponownie uzgodniony jest cel pierwszy zmienna X przyjmuje wartośd ksiazka.?- lubi(tomek,x),lubi(ala,x). ksiazka ksiazka lubi(tomek,ryby). lubi(tomek,ksiazka). lubi(ala,ksiazka). lubi(tomek,ala). 5. Ponownie następuje próba uzgodnienia drugiego celu.
28 Mechanizm nawracania 6. Drugi cel jest uzgodniony.?- lubi(tomek,x),lubi(ala,x). ksiazka ksiazka lubi(tomek,ryby). lubi(tomek,ksiazka). lubi(ala,ksiazka). lubi(tomek,ala). 7. Prolog informuje o udanym uzgodnieniu koniunkcji i czeka na odpowiedź.
29 Reguły W Prologu reguły pozwalają nam zapisad, że jakiś fakt zależy od grupy innych faktów. Reguły odpowiadają w języku naturalnym sformułowaniom zawierającym słówko jeżeli np.: Używam parasola, jeżeli pada. Iza jeździ autobusem miejskim, jeżeli jest zima. Patryk chodzi do kina, jeżeli nie ma tłoku. Marek kupuje wino, jeżeli jest taosze od piwa.
30 Reguły Reguły mogą byd wykorzystywane do zapisywania definicji np. Inny przykład: X jest ptakiem jeżeli: X jest zwierzęciem i X ma pióra X jest ojcem Y jeżeli: X jest mężczyzną i X jest rodzicem Y
31 Reguły W prologu każda reguła składa się z głowy i treści. fakt1 :- fakt2,fakt3,,fakt n. głowa Przykład treśd Treśd zawiera koniunkcję celów, które muszą byd spełnione, aby głowa była prawdziwa. lubi(ala,x):-lubi(x,ksiazka). lubi(tomek,x):-kobieta(x),lubi(x,ksiazka). siostra(x,y):-kobieta(x),rodzice(x,a,b), rodzice(y,a,b).
32 Reguły Jeżeli z regule występuje zmienna wówczas jeżeli jest ona ukonkretniona jakimś obiektem to jest ukonkretniona w całym swoim zakresie obowiązywania czyli od głowy do kropki na koocu reguły. Na przykład jeżeli w przypadku reguły: lubi(tomek,x):-kobieta(x),lubi(x,ksiazka). zmienna X będzie ukonkretniona przez Ala wówczas Prolog będzie starał się uzgodnid cele: kobieta(ala),lubi(ala,ksiazka).
33 Reguły Przykład lubi(tomek,ryby). lubi(tomek,ala). lubi(ala,ksiazka). lubi(tomek,ksiazka). lubi(ala,x):-lubi(x,ksiazka). Zapytanie:?- lubi(tomek,x). Wynik:?- lubi(tomek,x). X = ryby ; X = ala ; X = ksiazka.
34 Reguły Przykład lubi(tomek,ryby). lubi(tomek,ala). lubi(ala,ksiazka). lubi(tomek,ksiazka). lubi(ala,x):-lubi(x,ksiazka). Zapytanie:?- lubi(ala,x). Wynik:?- lubi(ala,x). X = ksiazka ; X = ala ; X = tomek ; false.
35 Reguły Przykład lubi(tomek,ryby). lubi(tomek,ala). lubi(ala,x):-lubi(x,ksiazka). lubi(ala,ksiazka). lubi(tomek,ksiazka). Zapytanie:?- lubi(ala,x). Wynik:?- lubi(ala,x). X = ala ; X = tomek ; X = ksiazka.
36 Reguły Przykład Rozpatrzmy bazę danych: mezczyzna(tomek). mezczyzna(pawel). kobieta(alicja). kobieta(renata). rodzice(renata,alicja,pawel). rodzice(tomek,alicja,pawel). siostra(x,y):- kobieta(x),rodzic(x,a,b),rodzic(y,a,b).
37 Reguły Przykład Interesuje nas zapytanie: siostra(x,y):- kobieta(x),rodzic(x,a,b),rodzic(y,a,b).?- siostra(renata,tomek). Prolog przetwarza je następująco: 1. Zapytanie jest dopasowane do głowy reguły siostra czyli X=renata i Y=tomek (ukonkretnienie). Znacznik odpowiadający zapytaniu ustawiony jest na regule. Prolog próbuje spełnid kolejno trzy cele z treści reguły.
38 Reguły Przykład siostra(x,y):- kobieta(x),rodzic(x,a,b),rodzic(y,a,b). 2. Celem jest kobieta(renata). Cel nie zawodzi jeżeli istnieje odpowiedni fakt w bazie danych. W tej sytuacji Prolog oznacza odpowiednie miejsce w bazie i przechodzi do uzgadniania następnych celów. 3. Prolog szuka faktu rodzic(renata,a,b). Znaleziony zostaje fakt rodzice(renata,alicja,pawel).
39 Reguły Przykład siostra(x,y):- kobieta(x),rodzic(x,a,b),rodzic(y,a,b). Zmienne A i B zostają ukonkretnione: A=alicja, B=pawel. Prolog oznacza w bazie następującą pozycję i przechodzi do uzgadniania następnego celu. 4. Prolog szuka faktu rodzic(tomek,alicja,pawel). i znajduje odpowiedni fakt w bazie. Cel udało się uzgodnid. Prolog odpowiada YES (TRUE).?- siostra(renata,tomek). true.
40 Klauzule predykatu Predykat definiujemy jako zbiór faktów i reguł. Nazywamy je klauzulami predykatu.
41 Elementy składowe programu Elementy składniowe programu: stałe nazywające konkretne obiekty i relacje. Stałe dzielą się na dwie grupy: atomy i liczby całkowite. Przykłady atomów: Przykłady liczb: mama, brat, adam,?-, :-, Dom 10, 9.99, 6.01e-27, zmienne (przez _ oznaczamy zmienną anonimową).
42 Elementy składowe programu struktury czyli terminy złożone. Struktury pozwalają traktowad grupę powiązanych informacji jako całośd. przykład posiada(jan,samochod). posiada(jan,samochod(toyota)). posiada(jan,samochod(toyota,avensis)). posiada(jan,zielony(samochod(toyota,avensis))).
43 Równość i unifikacja W prologu istnieje wbudowany predykat =. Kiedy staramy się spełnid cel:?- X=Y Prolog stara się dopasowad X i Y. Próba uczynienia X i Y równymi to tzw. unifikacja.?- a=b. false.?- a=a. true.?- 7=7. true.
44 Równość i unifikacja Sprawdzenie celu X=Y odbywa się według następujących reguł: Jeżeli X jest zmienną nieukonkretnioną, a Y nie jest powiązana z żadnym termem wówczas X i Y są równe i X jest ukonkretniona wartością Y.?- X=5. X = 5.?- mama(ania,marek)=y. Y = mama(ania,marek).
45 Równość i unifikacja Liczby całkowite i atomy są sobie zawsze równe.?- mama=mama. true.?- mama=tata. false.?- 1234=1234. true.?- 1234=1230. false.
46 Równość i unifikacja Dwie struktury są równe jeżeli mają taki sam funktor oraz taką samą liczbę składników a odpowiednie składniki są sobie równe.?- brat(tomek,marek)=brat(tomek,marek). true.?- brat(tomek,marek)=brat(tomek,adam). false.?- brat(tomek,marek)=brat(tomek,x). X = marek.?- brat(y,marek)=brat(tomek,x). X = marek, Y = tomek.?- 'lodz'=lodz. true.
47 Arytmetyka Prolog posiada predykaty wbudowane pozwalające porównywad liczby. Argumentami tych predykatów mogą byd liczby zapisane jako stałe, zmienne ukonkretnione liczbami całkowitymi lub bardziej złożone wyrażenia algebraiczne. Predykaty te mogą byd zapisane jako operatory infiksowe.
48 Arytmetyka Mamy do dyspozycji operatory pozwalające porównywad liczby: X=:=Y X i Y są tą samą liczbą X=\=Y X i Y są różnymi liczbami X<Y X jest mniejsze od Y X>Y X jest większe od Y X=<Y X>=Y X jest mniejsze lub równe Y X jest większe lub równe Y
49 Arytmetyka Przykład?- 2=:=2. true.?- 2=:=3. false.?- 2=\=3. true.?- 2=<3. true.?- 2>3. false.?- 2<X. ERROR: </2: Arguments are not sufficiently instantiated
50 Arytmetyka Przykład Rozważmy następującą bazę danych: wiek(tomek,21). wiek(pawel,45). starszy(x,y):-wiek(x,a),wiek(y,b),a>b. Wówczas:?- wiek(tomek,x). X = 21.?- starszy(pawel,tomek). true.?- starszy(pawel,x). X = tomek ; false.
51 Arytmetyka Przykład Rozważmy następującą bazę danych: wiek(tomek,21). wiek(pawel,45). starszy(x,y):-wiek(x,a),wiek(y,b),a>=b. Wówczas:?- wiek(tomek,x). X = 21.?- starszy(pawel,tomek). true.?- starszy(pawel,x). X = tomek ; X = pawel
52 Arytmetyka Przykład Rozważmy następującą bazę danych: bok(k,2). pole(y,x):-bok(y,z),x is Z*Z. obwod(y,x):-bok(y,z),x is 4*Z. Wówczas:?- bok(x,y). X=k, Y=2.?- pole(k,x). X=4.?- obwod(k,x). X=8.
53 Arytmetyka To jakich operatorów możemy użyd po prawej stronie operatora is zależy od systemu. Wszystkie implementacje Prologu obsługują: X+Y suma X i Y X-Y różnica X i Y X*Y iloczyn X i Y X/Y iloraz X i Y X//Y całkowity iloraz X przez Y X mod Y reszta z dzielenia X przez Y
54 Listy Lista to uporządkowany ciąg elementów. Elementami listy mogą byd dowolne terminy: stałe, zmienne i struktury W Prologu listę zapisujemy następująco: Przykłady: [element1,element2,,elementn] [a,b,cd,df,p,w] [ala,ma,kota,[a,x],y] [ ] Lista pusta
55 Listy Każda lista składa się z: głowy (ang. head) pierwszy element listy, ogona (ang. tail) będącego zawsze listą. Przykłady: [a,b,cd,df,p,w] - głowa: [a], ogon: [b,cd,df,p,w] [ala,ma,kota,[a,x]] - głowa: [ala], ogon: [ma,kota,[a,x]] [ ] - głowa: [ ], ogon: [ ] Listę o głowie X i ogonie Y zapisujemy: [X Y]
56 Listy Przykład?- [a,b,c]=[a,b,c]. true.?- [a,b,c]=[x,b,c]. X = a.?- [a,b,c]=[x,b,y]. X = a, Y = c.?- [a,b,c]=[x Y]. X = a, Y = [b, c].?- [a,b,c]=[x _]. X = a.?- [a,b,c]=[x g,h]. false.
57 Listy i rekurencja Rozważmy listę: [audi,ford,fiat,renault,opel,chrysler,chevrolet] Załóżmy, że chcemy dowiedzied, się czy jakaś marka samochodu jest elementem powyższej listy. W Prologu zaczynamy sprawdzad od głowy listy. Jeżeli odpowiedź jest negatywna sprawdzamy czy element należy do ogona listy. Ogon listy jest także listą więc znowu zaczynamy od głowy listy będącej ogonem aż dojdziemy do listy pustej.
58 Listy i rekurencja Rozważmy następującą definicję: nalezy(x,[x _]). nalezy(x,[_ Yogon]):-nalezy(X,Yogon). Wówczas:?- nalezy(a,[b,c,d]). false.?- nalezy(a,[a,c,d]). true ; false.?- nalezy(x,[a,c,d]). X = a.?- nalezy(x,[a,[a,v]]). X = a ; X = [a, v] ; false.
59 Listy i rekurencja cd Wówczas: nalezy(x,[x _]). nalezy(x,[_ Y]):-nalezy(X,Y).?- nalezy(x,[_ a,b,c]). true ; false.?- nalezy(x,[a _]). X = a ; true ; true ; true ; zapętlenie true ; true ; true
60 Listy i rekurencja Chcemy teraz zdefiniowad predykat: sklej(l,m,n) oznaczający, że lista N jest sklejeniem listy L i listy M. Rozważmy następującą definicję rekurencyjną: sklej([],x,x). sklej([x L1],L2,[X L3]):-sklej(L1,L2,L3).
61 Rekurencja Wówczas:?- sklej([a],[b],[c]). false.?- sklej([a],[b],[a,b]). true.?- sklej([a,b],[c,d],x). X = [a, b, c, d].?- sklej([a,b],x,[c,d]). false.?- sklej([a,b],x,[a,b,c,d]). X = [c, d].?- sklej([a,b],[a c],[a X]). X = [b,a c].?- sklej([a,b],[a c],[x Y]). X = [a] Y = [b,a c].
Programowanie w logice Prolog 1
Programowanie w logice Prolog 1 Prolog - zastosowania Zastosowania: relacyjne bazy danych. przetwarzanie języka naturalnego. logistyka. analiza struktur biochemicznych. wspomaganie projektowania. sztuczna
Bardziej szczegółowoProgramowanie w logice Prolog 2
Programowanie w logice Prolog 2 Listy Lista to uporządkowany ciąg elementów. Elementami listy mogą być dowolne terminy: stałe, zmienne i struktury W Prologu listę zapisujemy następująco: Przykłady [element1,element2,,elementn]
Bardziej szczegółowoProgramowanie w logice
Programowanie w logice PROLOG cz.1 PROLOG język wysokiego poziomu Powstał w 1972 na Uniwersytecie w Marsylii (Francja) w zespole A.Colmerauer a i F.Roussel a PROgrammation en LOGique, PROgramming in LOGic,
Bardziej szczegółowoProgramowanie w Logice
Programowanie w Logice Działanie Prologu Przemysław Kobylański na podstawie [CM2003] Składnia Programy Prologu składają się z termów. Term to stała, zmienna lub struktura (term złożony). Term zapisuje
Bardziej szczegółowoPODSTAWY SZTUCZNEJ INTELIGENCJI
Katedra Informatyki Stosowanej Politechnika Łódzka PODSTAWY SZTUCZNEJ INTELIGENCJI Laboratorium PROGRAMOWANIE SYSTEMÓW EKSPERTOWYCH Opracowanie: Dr hab. inŝ. Jacek Kucharski Dr inŝ. Piotr Urbanek Cel ćwiczenia
Bardziej szczegółowoWprowadzenie do Prologa
Wprowadzenie do Prologa Rozdział 1 Tutorial Introduction Maciej Gapiński Dominika Wałęga Spis treści 1. Podstawowe informacje 2. Obiekty i relacje 3. Reguły 4. Fakty 5. Zapytania 6. Zmienne i stałe Podstawowe
Bardziej szczegółowoProgramowanie deklaratywne
Programowanie deklaratywne Artur Michalski Informatyka II rok Plan wykładu Wprowadzenie do języka Prolog Budowa składniowa i interpretacja programów prologowych Listy, operatory i operacje arytmetyczne
Bardziej szczegółowoPROLOG. Prolog. Programowanie, W.F. Clocksin, C.S. Mellish, HELION Prolog, język sztucznej inteligencji, Eugeniusz Gatnar, Katarzyna Stąpor, Wyd.
PROLOG 1. Informacje wstępne Podczas zajęć korzystamy z darmowej wersji interpretera Prologu SWI-Prolog dostępnego ze strony: www.swi-prolog.org 2. Literatura i materiały Prolog. Programowanie, W.F. Clocksin,
Bardziej szczegółowoProgramowanie deklaratywne
Programowanie deklaratywne Artur Michalski Informatyka II rok Plan wykładu Wprowadzenie do języka Prolog Budowa składniowa i interpretacja programów prologowych Listy, operatory i operacje arytmetyczne
Bardziej szczegółowoProlog (Pro-Logic) Programowanie w Logice. Dr inż. Piotr Urbanek
Prolog (Pro-Logic) Programowanie w Logice Dr inż. Piotr Urbanek Do czego służy ProLog? Używany w wielu systemach informatycznych związanych z: logiką matematyczną (automatyczne dowodzenie twierdzeń); przetwarzaniem
Bardziej szczegółowoProjekt 4: Programowanie w logice
Języki Programowania Projekt 4: Programowanie w logice Środowisko ECL i PS e W projekcie wykorzystane będzie środowisko ECL i PS e. Dostępne jest ono pod adresem http://eclipseclp.org/. Po zainstalowaniu
Bardziej szczegółowoCelem ćwiczenia jest zapoznanie się z podstawowymi możliwościami języka Prolog w zakresie definiowania faktów i reguł oraz wykonywania zapytań.
Paradygmaty Programowania Język Prolog Celem ćwiczenia jest zapoznanie się z podstawowymi możliwościami języka Prolog w zakresie definiowania faktów i reguł oraz wykonywania zapytań. Wstęp Prolog (od francuskiego
Bardziej szczegółowoPrezentacja do pobranie:
Prezentacja do pobranie: www.barkaf.cba.pl/prezentacja.rar 1 Prolog programowanie ROZDZIAŁ 1: WPROWADZENIE ROZDZIAŁ 2: PROLOG Z BLISKA NA PODSTAWIE: PROLOG. PROGRAMOWANIE- W. F. CLOCKSIN, C. S. MELLISH
Bardziej szczegółowoPROLOG INNE PRZYKŁADY MACIEJ KELM
PROLOG INNE PRZYKŁADY MACIEJ KELM PREDYKAT RANDOM Funkcja random zwraca losową liczbę całkowitą w przedziale od 1 do X. Gdzie X jest parametrem funkcji random. Przed użyciem random należy zainicjować tak
Bardziej szczegółowoProgramowanie deklaratywne
Programowanie deklaratywne Artur Michalski Informatyka II rok Plan wykładu Wprowadzenie do języka Prolog Budowa składniowa i interpretacja programów prologowych Listy, operatory i operacje arytmetyczne
Bardziej szczegółowoProgramowanie w logice Prolog 3
Programowanie w logice Prolog 3 Predykaty wbudowane Predykaty wbudowane to predykaty, których definicje są z góry znane systemowi a zatem nie ma konieczności ich definiowania. Predykaty wbudowane mogą
Bardziej szczegółowoProgramowanie deklaratywne
Programowanie deklaratywne Artur Michalski Informatyka II rok Plan wykładu Wprowadzenie do języka Prolog Budowa składniowa i interpretacja programów prologowych Listy, operatory i operacje arytmetyczne
Bardziej szczegółowoLaboratorium przedmiotu Paradygmaty Programowania
Laboratorium przedmiotu Paradygmaty Programowania Laboratorium 9 Prolog podstawy 1. Podstawy Prologu Programowanie w Prologu polega na deklarowaniu: Faktów dotyczących pewnych obiektów z analizowanego
Bardziej szczegółowoPodstawy języka PROLOG
Dariusz Banasiak Katedra Informatyki Technicznej Wydział Elektroniki PROLOG akronim od PROgramming in LOGic Prolog został stworzony w 1971 przez Alaina Colmeraurera i Philipa Roussela. Podstawy teoretyczne
Bardziej szczegółowoDariusz Banasiak. Instytut Informatyki, Automatyki i Robotyki. Politechniki Wrocławskiej
Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej PROLOG akronim od PROgramming in LOGic Prolog został stworzony w 1971 przez Alaina Colmeraurera i Philipa Roussela.
Bardziej szczegółowoProlog struktury danych oraz obliczenia. 1. Arytmetyka?- Y is 2+2. Y = 4. ?- 5 is 3+3. false. ?- Z is (3.9 / 2.1). Z =
Prolog struktury danych oraz obliczenia 1. Arytmetyka?- Y is 2+2. Y = 4?- 5 is 3+3. false.?- Z is 4.5 + (3.9 / 2.1). Z = 6.357142857142857. Wbudowany predykat is bierze wyrażenie po prawej, oblicza je
Bardziej szczegółowoProgramowanie deklaratywne
Programowanie deklaratywne Artur Michalski Informatyka II rok Plan wykładu Wprowadzenie do języka Prolog Budowa składniowa i interpretacja programów prologowych Listy, operatory i operacje arytmetyczne
Bardziej szczegółowoJęzyki programowania deklaratywnego
Katedra Inżynierii Wiedzy laborki 14 Języki deklaratywne Główne różnice między paradygmatem deklaratywnym a imperatywnym Omów główne cechy paradygmatu programowania w logice na przykładzie Prologa Główne
Bardziej szczegółowoDana jest baza: kobieta(katarzyna). kobieta(anna). kobieta(maria). kobieta(marianna). kobieta(marta). Zdefiniujemy predykat kobiety/0 następująco:
STEROWANIE PROCESEM WNIOSKOWANIA. Predykat true/0 fail/0 cut/0 lub! not( W) lub \+W repeat/0 Objaśnienie zawsze spełniony, deterministyczny zawsze zawodzi, deterministyczny odcięcie; zawsze spełniony spełniony,
Bardziej szczegółowoJęzyki i paradygmaty programowania Wykład 7. dr Dariusz Wardowski, Katedra Analizy Nieliniowej Łódź, 22 maja 2010 r. 1/18
dr Dariusz Wardowski, Katedra Analizy Nieliniowej Łódź, 22 maja 2010 r. 1/18 Prolog - prawie jak język naturalny Prolog powstał na początku lat siedemdziesiątych XX wieku, jako odpowiedź na problem automatycznego
Bardziej szczegółowoProgramowanie w Logice Przykłady programów. Przemysław Kobylański
Programowanie w Logice Przykłady programów Przemysław Kobylański Język Imperator 1 jest prostym językiem imperatywnym. Jego składnię opisuje poniższa gramatyka BNF: PROGRAM ::= PROGRAM ::= INSTRUKCJA ;
Bardziej szczegółowoRBD Relacyjne Bazy Danych
Wykład 7 RBD Relacyjne Bazy Danych Bazy Danych - A. Dawid 2011 1 Selekcja σ C (R) W wyniku zastosowania operatora selekcji do relacji R powstaje nowa relacja T do której należy pewien podzbiór krotek relacji
Bardziej szczegółowoProgramowanie w logice
Wydział Matematyki UŁ 14 marca 2007 Plan prezentacji 1 Składnia Termy Stałe Zmienne Struktury 2 Własny operator Przeciążanie operatorów 3 Arytmetyczne i logiczne predykaty systemowe 4 Do zapamiętania Termy
Bardziej szczegółowoDefinicje wyższego poziomu
Definicje wyższego poziomu Interpreter Scheme-a nie będzie narzekad w przypadku wystąpienia niezdefionowanej zmiennej w ciele wyrażenia lambda dopóki nie będzie zastosowana Przykład braku informacji o
Bardziej szczegółowoProgramowanie w Logice Struktury danych (Lista 2)
Programowanie w Logice Struktury danych (Lista 2) Przemysław Kobylański Wstęp Struktury danych wyraża się w Prologu w postaci termów, tj. symbolicznych wyrażeń. Dotychczas poznaliśmy proste termy takie
Bardziej szczegółowoProgramowanie w Logice
Programowanie w Logice Przeszukiwanie rozwiązań Przemysław Kobylański Generowanie wszystkich rozwiązań Prolog nie tylko potrafi sprawdzić czy dana spełnia warunek ale również potrafi wygenerować wszystkie
Bardziej szczegółowoInternet Semantyczny i Logika I
Internet Semantyczny i Logika I Warstwy Internetu Semantycznego Dowód Zaufanie Logika OWL, Ontologie Podpis cyfrowy RDF, schematy RDF XML, schematy XML przestrzenie nazw URI Po co nam logika? Potrzebujemy
Bardziej szczegółowoProlog. Programowanie
IDZ DO PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Prolog. Programowanie Autorzy: W. F. Clocksin, C. S. Mellish T³umaczenie: Tomasz mijewski ISBN: 83-7197-918-5
Bardziej szczegółowoJak tworzyd filtry? W jaki sposób odbywa się filtrowanie w systemie pokaż/ukryj pytania?
Jak tworzyd filtry? Spis treści O czym warto pamiętad przed stworzeniem pytania filtrującego:... 1 Warunki badawcze... 2 Definicja elementów filtru... 3 Tworzenie filtrów dla pytao prostych... 4 Tworzenie
Bardziej szczegółowoProgramowanie w logice
Programowanie w logice PROLOG cz.3 Predykat sprawdzający, czy podana lista stanowi początek innej listy: poczatek([],[_ _]). poczatek([h1 T1], [H2 T2]) :- H1 = H2, poczatek(t1,t2). ------------------------------------------------------------------------
Bardziej szczegółowoObiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody
Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,
Bardziej szczegółowoAlgorytmy i struktury danych. Wykład 4
Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych
Bardziej szczegółowoSystemy ekspertowe i ich zastosowania. Katarzyna Karp Marek Grabowski
Systemy ekspertowe i ich zastosowania Katarzyna Karp Marek Grabowski Plan prezentacji Wstęp Własności systemów ekspertowych Rodzaje baz wiedzy Metody reprezentacji wiedzy Metody wnioskowania Języki do
Bardziej szczegółowoProgramowanie w Logice Środowisko programowania i dialog z systemem (Lista 0)
Programowanie w Logice Środowisko programowania i dialog z systemem (Lista 0) Przemysław Kobylański Wstęp Podczas laboratorium będziemy korzystać z systemu SWI-Prolog. Należy go ściągnąć i zainstalować
Bardziej szczegółowoPrzeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279
Wykład 8 J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279 sformułowanie problemu przegląd drzewa poszukiwań przykłady problemów wybrane narzędzia programistyczne J. Cichoń, P. Kobylański
Bardziej szczegółowoProlog. Materiały do wykładu Komputerowe Przetwarzanie Wiedzy Tomasz Kubik
Prolog Materiały do wykładu Komputerowe Przetwarzanie Wiedzy Tomasz Kubik Programowanie w logice i Prolog n Programowania w logice (ang. logicprogramming) bazuje na regułach wnioskowania logicznego, które
Bardziej szczegółowoWprowadzenie do Sztucznej Inteligencji Laboratorium lista 0.2 Elementy języka Prolog: reguły i rekurencja. Przemysław Kobylański
Wprowadzenie do Sztucznej Inteligencji Laboratorium lista 0.2 Elementy języka Prolog: reguły i rekurencja Przemysław Kobylański Część I Wprowadzenie 1 Reguły Przypomnijmy z poprzedniej listy zadań fakty
Bardziej szczegółowoPętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2
Pętle wielokrotne wykonywanie ciągu instrukcji. Bardzo często w programowaniu wykorzystuje się wielokrotne powtarzanie określonego ciągu czynności (instrukcji). Rozróżniamy sytuacje, gdy liczba powtórzeń
Bardziej szczegółowoLOGIKA I TEORIA ZBIORÓW
LOGIKA I TEORIA ZBIORÓW Logika Logika jest nauką zajmującą się zdaniami Z punktu widzenia logiki istotne jest, czy dane zdanie jest prawdziwe, czy nie Nie jest natomiast istotne o czym to zdanie mówi Definicja
Bardziej szczegółowoREKURENCJA W JĘZYKU HASKELL. Autor: Walczak Michał
REKURENCJA W JĘZYKU HASKELL Autor: Walczak Michał CZYM JEST REKURENCJA? Rekurencja zwana rekursją, polega na wywołaniu przez funkcję samej siebie. Algorytmy rekurencyjne zastępują w pewnym sensie iteracje.
Bardziej szczegółowoObóz Naukowy Olimpiady Matematycznej Gimnazjalistów
Obóz Naukowy Olimpiady Matematycznej Gimnazjalistów Liga zadaniowa 202/203 Seria VI (grudzień 202) rozwiązania zadań 26. Udowodnij, że istnieje 0 00 kolejnych liczb całkowitych dodatnich nie większych
Bardziej szczegółowoZMIENNE. Podstawy PHP
ZMIENNE Podstawy PHP zmienna - to obiekt w programowaniu, który przechowuje różnego rodzaju dane niezbędne do działania programu. Zmienna podczas działania programu może zmieniad swoje wartości (jak wskazuje
Bardziej szczegółowoParadygmaty programowania
Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów
Bardziej szczegółowoPoprawność semantyczna
Poprawność składniowa Poprawność semantyczna Poprawność algorytmu Wypisywanie zdań z języka poprawnych składniowo Poprawne wartościowanie zdań języka, np. w języku programowania skutki wystąpienia wyróżnionych
Bardziej szczegółowoJęzyki programowania Prolog
1. Środowisko ECL i PS e Języki programowania Prolog zadanie projektowe nr. 3 (2016/17) T. Goluch W projekcie wykorzystane będzie środowisko ECL i PS e. Dostępne jest ono pod adresem: http://eclipseclp.org/.
Bardziej szczegółowoOperatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";
1 2 Operacje na zmiennych Kolejność operacji: deklaracja, inicjacja bool decyzja; int licznik, lp; double stvat, wartpi; char Znak; string S1, S2 = "Kowalski"; przypisanie wartości podstawienie decyzja
Bardziej szczegółowoWykład 0 Informacje Podstawowe
Paradygmaty Programowania Wykład 0 Informacje Podstawowe Nieliniowej, WMiI UŁ 1 Informacje Ogólne (22 luty 2013) Wykłady: piątek, 10.00-12.00, D103 Wykłady: 1 wprowadzający +10 wykładów głównych Zaliczenie
Bardziej szczegółowoW naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.
1. Podstawy matematyki 1.1. Geometria analityczna W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora. Skalarem w fizyce nazywamy
Bardziej szczegółowoWstęp do programowania. Drzewa podstawowe techniki. Piotr Chrząstowski-Wachtel
Wstęp do programowania Drzewa podstawowe techniki Piotr Chrząstowski-Wachtel Drzewa wyszukiwań Drzewa często służą do przechowywania informacji. Jeśli uda sie nam stworzyć drzewo o niewielkiej wysokości
Bardziej szczegółowoWprowadzenie do Sztucznej Inteligencji Laboratorium lista 0.1 Elementy języka Prolog: fakty i zapytania. Przemysław Kobylański
Wprowadzenie do Sztucznej Inteligencji Laboratorium lista 0.1 Elementy języka Prolog: fakty i zapytania Przemysław Kobylański Część I Wprowadzenie 1 Stałe i zmienne Jedynym dostępnym w języku Prolog rodzajem
Bardziej szczegółowoSemantyka rachunku predykatów
Relacje Interpretacja Wartość Spełnialność Logika obliczeniowa Instytut Informatyki Relacje Interpretacja Wartość Plan Plan Relacje O co chodzi? Znaczenie w logice Relacje 3 Interpretacja i wartościowanie
Bardziej szczegółowoProgramowanie w Turbo Pascal
Skróty: ALT + F9 Kompilacja CTRL + F9 Uruchomienie Struktura programu: Programowanie w Turbo Pascal Program nazwa; - nagłówek programu - blok deklaracji (tu znajduje się VAR lub CONST) - blok instrukcji
Bardziej szczegółowoProlog Wejście / wyjście r
Prolog Wejście / wyjście 16.06.2016r Najprostszym sposobem pobierania danych od użytkownika jest odczytywanie informacji wprowadzonych za pomocą urządzenia standardowego wejścia jakim zwykle jest klawiatura.
Bardziej szczegółowoLaboratorium nr 3 - Sztuczna Inteligencja Listy i operacje na listach
Laboratorium nr 3 - Sztuczna Inteligencja Listy i operacje na listach Podstawy teoretyczne a. Listy Lista jest podstawową strukturą w prologu i jest ona przetwarzana rekurencyjnie. Lista składa się z głowy
Bardziej szczegółowoJĘZYKI PRZETWARZANIA SYMBOLICZNEGO
Agata Gawlik G1-ISI Warszawa dn. 16.05.2008 r. JĘZYKI PRZETWARZANIA SYMBOLICZNEGO Opracowanie tematów z PROLOGu UZGADNIANIE Uzgadnianie jest najważniejszą operacją wykonywaną na obiektach w języku PROLOG.
Bardziej szczegółowoJęzyki programowania deklaratywnego
Katedra Inżynierii Wiedzy laborki 1 e-mail: przemyslaw.juszczuk@ue.katowice.pl Konsultacje: na stronie katedry + na stronie domowej Pokój 202c budynek A pjuszczuk.pl Języki deklaratywne - laborki Wprowadzenie
Bardziej szczegółowoJak logik przewozi kozę przez rzekę?
Jak logik przewozi kozę przez rzekę? 1. Koza i kapusta 1.1. Problem Na lewym brzegu rzeki, na przystani promowej, znajdują się: chłop, koza i kapusta. Prom jest samoobsługowy (może obsługiwać go tylko
Bardziej szczegółowoProlog 2 (Filip Wroński, Łukasz Betkowski, Paweł Świerblewski, Konrad Kosmatka)
Prolog 2 (Filip Wroński, Łukasz Betkowski, Paweł Świerblewski, Konrad Kosmatka) Rozdział 2 Constructing Prolog Programs z książki Prolog Programming in Depth autorstwa Michael A. Covington, Donald Nute,
Bardziej szczegółowoWYRAŻENIA ALGEBRAICZNE
WYRAŻENIA ALGEBRAICZNE Wyrażeniem algebraicznym nazywamy wyrażenie zbudowane z liczb, liter, nawiasów oraz znaków działań, na przykład: Symbole literowe występujące w wyrażeniu algebraicznym nazywamy zmiennymi.
Bardziej szczegółowoNotacja. - operator implikacji, - operator koniunkcji v operator alternatywy - operator równoważności ~ operator negacji Duża litera (np.
Systemy ekspertowe Notacja - operator implikacji, - operator koniunkcji v operator alternatywy - operator równoważności ~ operator negacji Duża litera (np. A) - fakt Klauzula Horna Klauzula Horna mówi,
Bardziej szczegółowoObliczenia na stosie. Wykład 9. Obliczenia na stosie. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 266 / 303
Wykład 9 J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 266 / 303 stos i operacje na stosie odwrotna notacja polska języki oparte na ONP przykłady programów J. Cichoń, P. Kobylański Wstęp
Bardziej szczegółowoJAVAScript w dokumentach HTML - przypomnienie
Programowanie obiektowe ćw.1 JAVAScript w dokumentach HTML - przypomnienie JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w
Bardziej szczegółowoProgram znajduje największa lub najmniejsza z podanych liczb. Liczby podajemy dopóki nam sie nie znudzi.
Program 3 Program znajduje największa lub najmniejsza z podanych liczb. Liczby podajemy póki nam sie nie znudzi. #include using namespace std; int main() int odp,a,m; bool pierwsze_podanie =
Bardziej szczegółowoZadanie 1. Potęgi (14 pkt)
2 Egzamin maturalny z informatyki Zadanie 1. otęgi (14 pkt) W poniższej tabelce podane są wartości kolejnych potęg liczby 2: k 0 1 2 3 4 5 6 7 8 9 10 2 k 1 2 4 8 16 32 64 128 256 512 1024 Ciąg a=(a 0,
Bardziej szczegółowoMetody Kompilacji Wykład 3
Metody Kompilacji Wykład 3 odbywa się poprzez dołączenie zasad(reguł) lub fragmentów kodu do produkcji w gramatyce. Włodzimierz Bielecki WI ZUT 2 Na przykład, dla produkcji expr -> expr 1 + term możemy
Bardziej szczegółowoInstrukcja do testu z matematyki zdania logiczne, wyrażenia algebraiczne, równania kwadratowe Zakres materiału
Instrukcja do testu z matematyki zdania logiczne, wyrażenia algebraiczne, równania kwadratowe Zakres materiału Nazwisko i imię... Klasa... Wersja testu... Test zawiera 12 zadań, doktórychsą 3 odpowiedzi
Bardziej szczegółowoStatyczne i dynamiczne predykaty
Statyczne i dynamiczne predykaty Dynamiczne dowodzą lub odwołują pewne reguły, Statyczne nie potrafią tego co dynamiczne, ponieważ ich punkty zostały zebrane w całość, która działa szybciej, ale nie jest
Bardziej szczegółowo2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,
2 Arytmetyka Niech b = d r d r 1 d 1 d 0 będzie zapisem liczby w systemie dwójkowym Zamiana zapisu liczby b na system dziesiętny odbywa się poprzez wykonanie dodawania d r 2 r + d r 1 2 r 1 d 1 2 1 + d
Bardziej szczegółowoArytmetyka liczb binarnych
Wartość dwójkowej liczby stałoprzecinkowej Wartość dziesiętna stałoprzecinkowej liczby binarnej Arytmetyka liczb binarnych b n-1...b 1 b 0,b -1 b -2...b -m = b n-1 2 n-1 +... + b 1 2 1 + b 0 2 0 + b -1
Bardziej szczegółowo5. OKREŚLANIE WARTOŚCI LOGICZNEJ ZDAŃ ZŁOŻONYCH
5. OKREŚLANIE WARTOŚCI LOGICZNEJ ZDAŃ ZŁOŻONYCH Temat, którym mamy się tu zająć, jest nudny i żmudny będziemy się uczyć techniki obliczania wartości logicznej zdań dowolnie złożonych. Po co? możecie zapytać.
Bardziej szczegółowoKonfiguracja programu
Spis treści Konfiguracja programu... 1 Import wyciągu bankowego... 5 Kilka syntetyk kontrahenta... 13 Rozliczanie i uzgadnianie kontrahenta... 14 Reguły księgowania... 16 Konfiguracja programu Po uruchomieniu
Bardziej szczegółowo0.1. Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek zdań.
Wykłady z Analizy rzeczywistej i zespolonej w Matematyce stosowanej Wykład ELEMENTY LOGIKI ALGEBRA BOOLE A Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek
Bardziej szczegółowoopisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)
Zapytania SQL. Polecenie SELECT jest używane do pobierania danych z bazy danych (z tabel lub widoków). Struktura polecenia SELECT SELECT FROM WHERE opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje
Bardziej szczegółowoNp. Olsztyn leży nad Łyną - zdanie prawdziwe, wartość logiczna 1 4 jest większe od 5 - zdanie fałszywe, wartość logiczna 0
ĆWICZENIE 1 Klasyczny Rachunek Zdań (KRZ): zdania w sensie logicznym, wartości logiczne, spójniki logiczne, zmienne zdaniowe, tabele prawdziwościowe dla spójników logicznych, formuły, wartościowanie zbioru
Bardziej szczegółowoProlog przetwarzanie list. Maciej Krzywonos Łukasz Dajcz
Prolog przetwarzanie list Maciej Krzywonos Łukasz Dajcz Prolog reprezentacja list Lista jest dowolnym ciągiem obiektów zapisywanych w postaci: [element_1,element_2,...,element_n] Prolog - reprezentacja
Bardziej szczegółowoSQL, LIKE, IN, CASE, EXISTS. Marcin Orchel
SQL, LIKE, IN, CASE, EXISTS Marcin Orchel Spis treści 1 LIKE 2 2 BETWEEN 4 3 IN 5 4 EXISTS 6 5 WYRAŻENIA CASE 7 6 Zadania 9 1 Rozdział 1 LIKE Predykat LIKE jest testem dopasowującym wzorzec łańcucha. Składnia
Bardziej szczegółowoenova Systemowe Narzędzia Projektowe
enova Systemowe Narzędzia Projektowe Sebastian Wabnik Spis treści Opis rozwiązania...3 Dostęp do narzędzia...3 Wywoływanie narzędzia...4 Zakładka Logi czasu...4 SQL Stat...5 Zakładka Liczniki...7 Zakładka
Bardziej szczegółowoDynamiczne struktury danych
Listy Zbiór dynamiczny Zbiór dynamiczny to zbiór wartości pochodzących z pewnego określonego uniwersum, którego zawartość zmienia się w trakcie działania programu. Elementy zbioru dynamicznego musimy co
Bardziej szczegółowoJAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.
IŚ ćw.8 JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w dokumentach HTML. Skrypt JavaScript
Bardziej szczegółowoDedukcyjne bazy danych i rekursja
Dedukcyjne bazy danych i rekursja Wykład z baz danych dla studentów matematyki 27 maja 2017 Bazy danych z perspektywy logiki Spojrzenie na bazy danych oczami logika pozwala jednolicie opisać szereg pojęć.
Bardziej szczegółowoDedukcyjne bazy danych i rekursja
Dedukcyjne bazy danych i rekursja Wykład z baz danych dla studentów matematyki 23 maja 2015 Bazy danych z perspektywy logiki Spojrzenie na bazy danych oczami logika pozwala jednolicie opisać szereg pojęć.
Bardziej szczegółowoMatematyka Dyskretna Zestaw 2
Materiały dydaktyczne Matematyka Dyskretna (Zestaw ) Matematyka Dyskretna Zestaw 1. Wykazać, że nie istnieje liczba naturalna, która przy dzieleniu przez 18 daje resztę 13, a przy dzieleniu przez 1 daje
Bardziej szczegółowoTeoria liczb. Zajmuje się własnościami liczb, wszystkim całkowitych
Teoria liczb Zajmuje się własnościami liczb, przede wszystkim całkowitych Niepraktyczna? - kryptografia Dzielenie liczb całkowitych z resztą Niech b>0, wtedy dla każdej liczby całkowitej a istnieją jednoznacznie
Bardziej szczegółowoWykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych
Arytmetyka liczb całkowitych Wykład 1 Na początku zajmować się będziemy zbiorem liczb całkowitych Z = {0, ±1, ±2,...}. Zakładamy, że czytelnik zna relację
Bardziej szczegółowoC++ wprowadzanie zmiennych
C++ wprowadzanie zmiennych Każda zmienna musi być zadeklarowana, należy określić jej nazwę (identyfikator) oraz typ. Opis_typu lista zmiennych Dla każdej zmiennej rezerwowany jest fragment pamięci o określonym
Bardziej szczegółowo3. Instrukcje warunkowe
. Instrukcje warunkowe Przykłady.1. Napisz program, który pobierze od użytkownika liczbę i wypisze na ekran słowo ujemna lub nieujemna, w zależności od tego czy dana liczba jest ujemna czy nie. 1 #include
Bardziej szczegółowoJest to zasadniczo powtórka ze szkoły średniej, być może z niektórymi rzeczami nowymi.
Logika Jest to zasadniczo powtórka ze szkoły średniej, być może z niektórymi rzeczami nowymi. Często słowu "logika" nadaje się szersze znaczenie niż temu o czym będzie poniżej: np. mówi się "logiczne myślenie"
Bardziej szczegółowoWykład 2. Informatyka Stosowana. 8 października 2018, M. A-B. Informatyka Stosowana Wykład 2 8 października 2018, M. A-B 1 / 41
Wykład 2 Informatyka Stosowana 8 października 2018, M. A-B Informatyka Stosowana Wykład 2 8 października 2018, M. A-B 1 / 41 Elementy logiki matematycznej Informatyka Stosowana Wykład 2 8 października
Bardziej szczegółowoMatematyka Dyskretna 2/2008 rozwiązania. x 2 = 5x 6 (1) s 1 = Aα 1 + Bβ 1. A + B = c 2 A + 3 B = d
C. Bagiński Materiały dydaktyczne 1 Matematyka Dyskretna /008 rozwiązania 1. W każdym z następujących przypadków podać jawny wzór na s n i udowodnić indukcyjnie jego poprawność: (a) s 0 3, s 1 6, oraz
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład: klasa, obiekt, po co używać klas, właściwości, atrybuty, funkcje, zachowania, metody, przykładowe obiekty, definiowanie klasy, obiektu, dostęp do składników klasy, public,
Bardziej szczegółowoWydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe
Wydział Zarządzania AGH Katedra Informatyki Stosowanej Podstawy VBA cz. 2 Programowanie 1 Program wykładu Typy danych Wyrażenia Operatory 2 VBA Visual Basic dla aplikacji (VBA) firmy Microsoft jest językiem
Bardziej szczegółowoPL/SQL. Część 1 Bloki PL/SQL. Piotr Medoń
PL/SQL Część 1 Bloki PL/SQL Piotr Medoń Cele Zapoznanie się z podstawowymi typami PL/SQL Zapoznanie się z blokiem PL/SQL Zapoznanie się z instrukcjami sterującymi wykonaniem 2 Blok PL/SQL Struktura bloku
Bardziej szczegółowoFunkcje wbudowane PHP
Funkcje wbudowane PHP Funkcje daty i czasu Funkcja time() zwraca informacje na temat bieżącej daty i czasu. Nie posiada żadnych argumentów. Informacje o czasie dacie zwraca w formie liczby Liczba odpowiada
Bardziej szczegółowo