Podstawy języka PROLOG
|
|
- Jarosław Wojciechowski
- 8 lat temu
- Przeglądów:
Transkrypt
1 Dariusz Banasiak Katedra Informatyki Technicznej Wydział Elektroniki
2 PROLOG akronim od PROgramming in LOGic Prolog został stworzony w 1971 przez Alaina Colmeraurera i Philipa Roussela. Podstawy teoretyczne sformułował Robert Kowalski. Prolog jest nazywany językiem programowania logicznego. Podstawą dla jego utworzenia była logika predykatów pierwszego rzędu oraz zasada rezolucji. Podstawowe implementacje: Turbo Prolog (firma Borland) SWI-Prolog (Jan Wielemaker) Visual Prolog (Prolog Development Center) Autor: Dariusz Banasiak Katedra Informatyki Technicznej 2
3 Język Prolog zalicza się do języków deklaratywnych program opisuje jedynie zadanie, które ma zostać rozwiązane (bez podania algorytmu). Program w języku Prolog składa się z następujących elementów: faktów (prawdziwe stwierdzenia) reguł (związki między faktami) celu (określa zadanie do wykonania). Pisząc program w Prologu określamy CO należy rozwiązać, zamiast JAK należy problem rozwiązać. Program napisany w języku Prologu różni się zasadniczo od programów w językach proceduralnych (Pascal, C, itd.), gdzie należy podać szczegółowy algorytm rozwiązania problemu. Autor: Dariusz Banasiak Katedra Informatyki Technicznej 3
4 Podstawowe zastosowania języka Prolog reprezentacja wiedzy przeszukiwanie przestrzeni stanów rozwiązywanie problemów logicznych dowodzenie twierdzeń przetwarzanie języka naturalnego realizacja systemów ekspertowych realizacja relacyjnych baz danych symboliczne rozwiązywanie równań różniczkowanie i całkowanie symboliczne Autor: Dariusz Banasiak Katedra Informatyki Technicznej 4
5 Reprezentacja faktów W Prologu fakty (bezwarunkowo prawdziwe twierdzenia) przedstawia się za pomocą predykatów pierwszego rzędu, których składnia wygląda następująco: nazwa_predykatu(ob_1, ob_2,..., ob_n). Powyższy predykat oznacza relację określoną przez nazwa_predykatu zachodzącą pomiędzy obiektami: ob_1, ob_2,..., ob_n, które są argumentami predykatu. Predykat: lubi(marta, mandarynki). przedstawia fakt, że Marta lubi mandarynki (obiektami są marta i mandarynki, zaś relacją lubi ). Autor: Dariusz Banasiak Katedra Informatyki Technicznej 5
6 Przy tworzeniu predykatów obowiązują następujące reguły: nazwa relacji (nazwa_pedykatu) jest pisana małymi literami, argumenty predykatu znajdują się w nawiasach i są oddzielone przecinkami, liczba argumentów predykatu, ich rodzaj i kolejność jest ściśle określona, argumentami predykatu mogą być stałe lub zmienne, stałe pisane są małymi literami, a zmienne zaczynają się dużą literą (stałe można umieścić również w cudzysłowie i wówczas mogą zawierać dowolne znaki), predykat jest zakończony kropką. Autor: Dariusz Banasiak Katedra Informatyki Technicznej 6
7 Uwaga: Dwa następujące predykaty: lubi(piotr, marta). lubi(marta, piotr). reprezentują zupełnie różne fakty. Autor: Dariusz Banasiak Katedra Informatyki Technicznej 7
8 Reprezentacja reguł Reguły są warunkowymi stwierdzeniami o istnieniu pewnych zależności między obiektami (faktami). Język Prolog akceptuje reguły o następującej składni: IF A 1 and A 2 and... and A n THEN B W notacji języka Prolog powyższą regułę można zapisać w jednej z dwóch postaci: B if A 1 and A 2 and... and A n. B :- A 1, A 2,..., A n. gdzie A 1, A 2,..., A n, B są predykatami. Autor: Dariusz Banasiak Katedra Informatyki Technicznej 8
9 Tworząc regułę należy pamiętać o następujących zasadach: nagłówek (konkluzja) reguły składa się tylko z jednego predykatu, część warunkową reguły stanowi koniunkcja (iloczyn) dowolnej liczby warunków, warunki oddzielone są słowem and (lub przecinkiem), reguła zakończona jest kropką. Jako argumenty predykatów mogą wystąpić zmienne. Przedstawiają one nazwy obiektów, które nie są w danej chwili znane. W Prologu nazwy zmiennych zaczynają się od dużej litery lub znaku _. Autor: Dariusz Banasiak Katedra Informatyki Technicznej 9
10 Regułę, że Marta lubi mężczyzn, którzy są przystojni i jeżdżą porsche można zapisać następująco: lubi(marta,x) :- mezczyzna(x), przystojny(x), jeżdzi(x,porsche). W regule tej X oznacza zmienną (nieznanego w danej chwili mężczyznę), który spełnia podane warunki. Regułę, że osoba S jest siostrą osoby X możemy zapisać następująco: siostra(s,x) :- kobieta(s), rodzice(matka,ojciec,s), rodzice(matka,ojciec,x). Reguła ta przedstawia prawidłowość: S jest siostrą X, jeżeli S jest kobietą oraz X i S mają tych samych rodziców. Autor: Dariusz Banasiak Katedra Informatyki Technicznej 10
11 Reguły i fakty w Prologu nazywa się klauzulami. Klauzule zawarte w programie tworzą tzw. bazę danych programu. W bazie może znajdować się większa liczba predykatów o takiej samej nazwie. Wówczas taki zbiór predykatów będziemy nazywać procedurą. Autor: Dariusz Banasiak Katedra Informatyki Technicznej 11
12 Cel Po wprowadzeniu do bazy faktów i reguł można zadawać pytania (stawiać cele do realizacji). Celem może być: pytanie o prawdziwość faktu, polecenia znalezienia nazw obiektów będących w relacji z innymi obiektami. Cel można określić przez podanie pojedynczego predykatu lub koniunkcji predykatów (tzw. cel złożony). W drugim przypadku predykaty składowe oddzielone są przecinkami (nazywamy je wówczas podcelami). Autor: Dariusz Banasiak Katedra Informatyki Technicznej 12
13 Jeżeli w predykacie (predykatach) celu występują tylko symbole (stałe), to wówczas jest to pytanie o prawdziwość faktów. Odpowiedzią jest wówczas PRAWDA lub FAŁSZ. Jeżeli w predykatach występują zmienne, to celem jest znalezienie wszystkich obiektów, które znajdują się w określonej relacji z innymi obiektami. Inaczej mówiąc mogą one zastąpić zmienną w predykacie celu nie prowadząc do sprzeczności z faktami zawartymi w bazie danych programu. Autor: Dariusz Banasiak Katedra Informatyki Technicznej 13
14 Przykład Baza wiedzy zawiera następujące fakty: lubi(jan, wino). lubi(jan, tenis). lubi(marta, jabłka). lubi(marta, wino). Zadane pytania i uzyskane odpowiedzi: lubi(marta, wino) lubi(marta, tenis) lubi(x, wino) lubi(jan, X), lubi(marta, X) lubi(x, wino), lubi(jan, X) odpowiedź: YES odpowiedź: NO odpowiedź: X=jan, X=marta odpowiedź: X=wino odpowiedź: NO Autor: Dariusz Banasiak Katedra Informatyki Technicznej 14
15 Mechanizm wnioskujący w Prologu Podstawą wnioskowania w Prologu jest uzgadnianie (dopasowanie) klauzul zawartych w bazie wiedzy z danym celem (lub podcelami). Klauzule próbuje się uzgadniać wtedy, gdy ich predykaty są takie same. Procesowi porównywania poddawane są argumenty predykatów. Ponieważ argumentem predykatu może być symbol (stała) lub zmienna mogą zachodzić dwa następujące przypadki: Autor: Dariusz Banasiak Katedra Informatyki Technicznej 15
16 na tej samej pozycji występuje w jednym predykacie stała, a w drugim zmienna (wówczas zmienna przyjmuje wartość symbolu) operacja ukonkretniania, na tej samej pozycji występują dwie zmienne (wówczas następuje powiązanie zmiennych tzn. jeżeli któraś z nich w pewnym momencie zostanie ukonkretniona, to druga zmienna automatycznie przyjmie tą samą wartość) operacja powiązania. Operacje ukonkretniania i powiązania są bardzo istotne w procesie wnioskowania realizowanym przez mechanizm wnioskowania języka Prolog. Autor: Dariusz Banasiak Katedra Informatyki Technicznej 16
17 Przykłady uzgadniania klauzul: Fakt Pytanie Uzgadnianie Rodzaj lubi(jan, wino) lubi(x, wino) X = jan ukonkretnienie lubi(marta, tenis) lubi(marta, Y) Y = tenis ukonkretnienie lubi(piotr, maria) lubi(v, Z) V = piotr Z = maria ukonkretnienie lubi(jan, Cos) lubi(jan, X) Cos = X powiązanie Autor: Dariusz Banasiak Katedra Informatyki Technicznej 17
18 Przykład Baza wiedzy zawiera następujące fakty (tekst zawarty między symbolami /*... */ oznacza komentarz): matka(alicja, maria). /* k1 - alicja jest matką maria */ matka(ewa, piotr). /* k2 */ matka(teresa, maria). /* k3 */ matka(olga, jan). /* k4 */ Mamy podany cel: matka(x, maria). Cel ten oznacza zadanie znalezienia tych matek, których córki mają na imię Maria. Autor: Dariusz Banasiak Katedra Informatyki Technicznej 18
19 Proces wnioskowania polega na kolejnym uzgadnianiu celu z kolejnymi klauzulami znajdującymi się w bazie wiedzy. W danym przypadku proces ten przebiega następująco: w wyniku dopasowywania celu z klauzulą 1 zmienna X zostanie ukonkretniona stałą alicja (cel został osiągnięty i następuje wyświetlenie wartości zmiennej X = alicja). Następuje też ustawianie tzw. znacznika powrotu na klauzulę 1, program próbuje dopasować cel z pierwszą klauzulą znajdującą za znacznikiem - jest to klauzula nr 2 (klauzuli tej nie da się uzgodnić z celem), Autor: Dariusz Banasiak Katedra Informatyki Technicznej 19
20 w wyniku uzgodnienia klauzuli 3 z celem otrzymamy nową wartość zmiennej X (zostanie ona ukonkretniona stałą teresa ) - program wyświetli, a znacznik pozycji zostanie przesunięty na klauzulę nr 3, następną klauzulą jest klauzula 4 (ponieważ nie można uzgodnić celu i jest to ostatnia klauzula w bazie wiedzy przeszukiwanie zostaje zakończone). Zostały więc znalezione dwa rozwiązania: X = alicja X = teresa Autor: Dariusz Banasiak Katedra Informatyki Technicznej 20
21 Kolejny przykład ilustruje rolę znaczników w procesie wnioskowania. Przykład Baza wiedzy zawiera następujące fakty i reguły: /* 1 */ ojciec(karol,edward). /* ojciec(o,d) - o jest ojcem d */ /* 2 */ ojciec(karol,august). /* 3 */ dziadek(x,y) :- ojciec(x,z),dziecko(y,z). /* 4 */ dziadek(karol,maurycy). /* dziadek(d,w) - d jest dziadkiem w */ /* 5 */ dziecko(henryk,edward). /* dziecko(d,r) - d jest dzieckiem r */ /* 6 */ dziecko(teofil,august). Autor: Dariusz Banasiak Katedra Informatyki Technicznej 21
22 Celem niech będzie znalezienie wszystkich wnuków Karola, co zapisujemy w sposób formalny: goal dziadek(karol,w). Proces wnioskowania w języku Prolog polega na próbie uzgodnienia celu po kolei z klauzulami występującymi w bazie wiedzy: uzgodnienie celu głównego z klauzulą 3 dziadek(karol,w). dziadek(x,y) :- ojciec(x,z), dziecko(y,z). X = karol (ukonkretnienie), W = Y (powiązanie) podcel 1: ojciec(karol,z) zn 1 = klauzula 3 (znacznik nawracania) u Autor: Dariusz Banasiak Katedra Informatyki Technicznej 22
23 uzgodnienie podcelu 1 z klauzulą 1 u ojciec(karol,z) ojciec(karol,edward). Z = edward (ukonkretnienie) podcel 2: dziecko(w,edward) - drugi podcel klauzuli 3 zn 2 = klauzula 1 (znacznik nawracania) uzgodnienie podcelu 2 z klauzulą 5 u dziecko(w,edward) dziecko(henryk,edward). W = henryk (ukonkretnienie) rozwiązanie: W = henryk udowodniono oba podcele klauzuli 3 zn 3 = klauzula 5 (znacznik nawracania) Autor: Dariusz Banasiak Katedra Informatyki Technicznej 23
24 szukanie kolejnych klauzul dla podcelu 2 Podcel 2 próbujemy uzgodnić z kolejnymi klauzulami w bazie (od miejsca wskazywanego przez znacznik zn 3 ). Znajdujemy klauzulę 6: dziecko(w,edward) dziecko(teofil,august). Ponieważ próba uzgodnienia kończy się niepowodzeniem i klauzula 6 jest ostatnią klauzulą w bazie należy: usunąć znacznik zn 3 i wrócić do znacznika zn 2 (podcel 1: ojciec(karol,z), zn 2 = klauzula 1) uzgodnienie podcelu 1 z klauzulą 2 u ojciec(karol,z) ojciec(karol,august). Z = august (ukonkretnienie) podcel 2: dziecko(w,august) - drugi podcel klauzuli 3 zn 2 = klauzula 2 (znacznik nawracania) u Autor: Dariusz Banasiak Katedra Informatyki Technicznej 24
25 uzgodnienie podcelu 2 z klauzulą 6 dziecko(w,august) dziecko(teofil,august). W = teofil (ukonkretnienie) rozwiązanie: W = teofil udowodniono oba podcele klauzuli 3 zn 3 = klauzula 6 (znacznik nawracania) u szukanie kolejnych klauzul dla podcelu 2 Podcel 2 próbujemy uzgodnić z kolejnymi klauzulami w bazie. Ponieważ klauzula 6 jest ostatnią klauzulą w bazie należy: usunąć znacznik zn 3 i wrócić do znacznika zn 2 (podcel 1: ojciec(karol,z), zn 2 = klauzula 2) Autor: Dariusz Banasiak Katedra Informatyki Technicznej 25
26 szukanie kolejnych klauzul dla podcelu 1 Podcel 1 próbujemy uzgodnić z kolejnymi klauzulami (od znacznika zn 2 ). Ponieważ próba uzgodnienia kończy się niepowodzeniem należy: usunąć znacznik zn 2 i wrócić do znacznika zn 1 (cel główny: dziadek(karol,w), zn 1 = klauzula 3). uzgodnienie celu głównego z klauzulą 4 dziadek(karol,w). W = maurycy (ukonkretnienie) rozwiązanie: W = maurycy dziadek(karol,maurycy). zn 1 = klauzula 4 (znacznik nawracania) u Autor: Dariusz Banasiak Katedra Informatyki Technicznej 26
27 szukanie kolejnych klauzul dla celu głównego Cel główny próbujemy uzgodnić z kolejnymi klauzulami (od znacznika zn 1 ). Ponieważ próba uzgodnienia kończy się niepowodzeniem należy usunąć znacznik zn 1. Ponieważ nie ma już żadnych znaczników powrotu proces przeszukiwania zostaje zakończony. W wyniku procesu wnioskowania znaleziono następujące rozwiązania: W = henryk W = teofil W = maurycy Autor: Dariusz Banasiak Katedra Informatyki Technicznej 27
28 Modyfikatory procesu wnioskowania Operator odcięcia ( cut ) jest to bezargumentowy predykat, który zawsze jest prawdziwy i służy do ograniczania nawrotów. Występuje przeważnie jako jeden z podcelów w części warunkowej reguły i uniemożliwia nawrót do któregokolwiek z poprzedzających go podcelów przy próbie znajdowania rozwiązań alternatywnych: dziadek(x,y) :- ojciec(x,z), dziecko(y,z),!. /* znajduje tylko pierwsze rozwiązanie W = henryk */ dziadek(x,y) :-!, ojciec(x,z), dziecko(y,z). /* zapobiega nawrotom do kolejnych predykatów tego samego typu W = henryk, W = teofil */ Autor: Dariusz Banasiak Katedra Informatyki Technicznej 28
29 Operator odcięcia wykorzystywany jest również przy definicjach rekurencyjnych. Przykład Procedura obliczająca silnię dowolnej liczby: silnia(0,1) :-!. silnia(x,y) :- N is X-1, /* operator podstawienia N = X-1 */ silnia(n,b), Y is X*B. Drugim operatorem modyfikującym proces wnioskowania jest predykat fail. Predykat ten jest zawsze fałszywy. Najczęściej jest używany do wymuszenia nawrotów. Autor: Dariusz Banasiak Katedra Informatyki Technicznej 29
30 Listy Lista jest podstawową strukturą danych w Prologu. Jest ona uporządkowanym zbiorem dowolnej liczby elementów, którymi mogą być: stałe, zmienne lub struktury (np. inne listy). Przykłady list: [ ] - lista pusta [1,2,5,4,7] [[1,2],[5,4],7] - lista zawiera inne listy Listę można podzielić na dwa elementy: głowę (head) oraz ogon (tail). Głową jest pierwszy element listy, a ogonem pozostała część listy. Autor: Dariusz Banasiak Katedra Informatyki Technicznej 30
31 Wybrane operacje na listach [X Y] podział listy na głowę (X) i ogon (Y) member(x,l) sprawdzenie czy element X należy do listy L np. member(2,[1,2,3,4,5,6,]) append(l1,l2,l3) utworzenie listy L3 przez dołączenie listy L2 na koniec listy L1 np. append([1,2],[5,6],x) Autor: Dariusz Banasiak Katedra Informatyki Technicznej 31
32 Operacje arytmetyczne w Prologu Prolog jest językiem służącym przede wszystkim do wykonywania operacji na symbolach. Posiada on jednak również możliwości wykonywania operacji arytmetycznych na liczbach całkowitych. Służą do tego wbudowane operatory arytmetyczne: * (mnożenie), / (dzielenie), - (odejmowanie), + (dodawanie) i mod (reszta z dzielenia). Dostępne są również operatory relacyjne: = (równy), \ (różny), < (mniejszy), > (większy), <= (mniejszy lub równy) i >= (większy lub równy). Autor: Dariusz Banasiak Katedra Informatyki Technicznej 32
33 Przykład W bazie danych mamy następujące fakty: urodzony(jan,1974). urodzony(ludwik,1979). urodzony(andrzej,1980). urodzony(marcin,1970). Aby porównać wiek osób (kto jest starszy od kogo) można zdefiniować następujący predykat: starszy(x,y):- urodzony(x,r1), urodzony(y,r2), R1>R2. Autor: Dariusz Banasiak Katedra Informatyki Technicznej 33
34 Operacje wejścia i wyjścia Operacje wejścia i wyjścia umożliwiają komunikację z użytkownikiem podczas wykonywania programu. Wbudowane predykaty wejścia-wyjścia: read(x) odczytuje term z bieżącego strumienia wejściowego write(x) zapisuje term X do bieżącego strumienia wyjściowego nl przejście do nowego wiersza Przykład: pytanie1(dziecko) :- read(x), rodzic(x, Dziecko). Autor: Dariusz Banasiak Katedra Informatyki Technicznej 34
Dariusz 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.
Programowanie 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,
Programowanie 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). ------------------------------------------------------------------------
Laboratorium 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
PROLOG. 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,
PODSTAWY 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
Programowanie 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
Wprowadzenie 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
Programowanie 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
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.
Prolog 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
Ję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
Prolog (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
Programowanie 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
Programowanie 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
Dana 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,
Programowanie 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]
Paradygmaty 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
Celem ć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
Projekt 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
Definicje. Algorytm to:
Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi
Programowanie 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
Programowanie 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
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
Ję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
Reprezentacja wiedzy i wnioskowanie
i wnioskowanie Dariusz Banasiak Katedra Informatyki Technicznej Wydział Elektroniki Wiedza AI to nauka o komputerowych modelach wiedzy umożliwiających rozumienie, wnioskowanie i działanie. Inteligentne
Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie
Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których
Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++
Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu
Programowanie w logice Wykład z baz danych dla
Programowanie w logice Wykład z baz danych dla studentów matematyki 18 maja 2015 Programowanie w logice Programowanie w logice to podejście do programowania, w którym na program patrzymy nie jak na opis
Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.
Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Typy c.d. 2 Typy zmiennych Instrukcja typedef -
Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
programowania Wykład: 4 Instrukcje sterujące, operatory 1 programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe ; instrukcja_krok ) tresc_petli ; instrukcja_ini
Logika stosowana. Ćwiczenia Programowanie w logice i PROLOG. Marcin Szczuka. Instytut Informatyki, Uniwersytet Warszawski
Logika stosowana Ćwiczenia Programowanie w logice i PROLOG Marcin Szczuka Instytut Informatyki, Uniwersytet Warszawski Wykład monograficzny w semestrze letnim 2018/2019 Marcin Szczuka (MIMUW) Logika stosowana
LOGIKA 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
SZTUCZNA INTELIGENCJA
SZTUCZNA INTELIGENCJA WYKŁAD 10. WNIOSKOWANIE W LOGICE ROZMYTEJ Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska WNIOSKOWANIE W LOGICE DWUWARTOŚCIOWEJ W logice
Np. 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
Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu.
Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu. 1 Logika Klasyczna obejmuje dwie teorie:
Wprowadzenie 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
Algorytm. a programowanie -
Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik
Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych
1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie
JAVAScript 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
Elementy logiki. Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń
Elementy logiki Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń 1 Klasyczny Rachunek Zdań 1.1 Spójniki logiczne Zdaniem w sensie logicznym nazywamy wyrażenie, które jest
Języki programowania zasady ich tworzenia
Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie
1. Wstęp do logiki. Matematyka jest nauką dedukcyjną. Nowe pojęcia definiujemy za pomocą pojęć pierwotnych lub pojęć uprzednio wprowadzonych.
Elementy logiki i teorii zbiorów. 1. Wstęp do logiki. Matematyka jest nauką dedukcyjną. Nowe pojęcia definiujemy za pomocą pojęć pierwotnych lub pojęć uprzednio wprowadzonych. Pojęcia pierwotne to najprostsze
MATEMATYKA DYSKRETNA, PODSTAWY LOGIKI I TEORII MNOGOŚCI
MATEMATYKA DYSKRETNA, PODSTAWY LOGIKI I TEORII MNOGOŚCI Program wykładów: dr inż. Barbara GŁUT Wstęp do logiki klasycznej: rachunek zdań, rachunek predykatów. Elementy semantyki. Podstawy teorii mnogości
Wprowadzenie do logiki Zdania, cz. III Język Klasycznego Rachunku Predykatów
Wprowadzenie do logiki Zdania, cz. III Język Klasycznego Rachunku Predykatów Mariusz Urbański Instytut Psychologii UAM Mariusz.Urbanski@amu.edu.pl Plan na pytanie o odniesienie przedmiotowe zdań odpowiedź
1 Wprowadzenie do algorytmiki
Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności
Programowanie 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 ;
Internet 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
JĘ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.
Prezentacja 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
Operatory w C++ Operatory arytmetyczne. Operatory relacyjne (porównania) Operatory logiczne. + dodawanie - odejmowanie * mnożenie / dzielenie % modulo
Operatory w C++ Operatory arytmetyczne + dodawanie - odejmowanie * mnożenie / dzielenie % modulo Operatory relacyjne (porównania) < mniejszy niż większy niż >= większy lub równy
Programowanie 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
PROLOG. Programmation en Logique. Michał Bereta
PROLOG Programmation en Logique Michał Bereta Programmation en Logique Stworzony w 1971 roku przez Alaina Colmeraurera i Phillipe'a Roussela na Uniwersytecie w Marsylii Podczas pracy nad zastosowaniem
Adam Meissner.
Instytut Automatyki i Inżynierii Informatycznej Politechniki Poznańskiej Adam Meissner Adam.Meissner@put.poznan.pl http://www.man.poznan.pl/~ameis SZTUCZNA INTELIGENCJA Podstawy logiki pierwszego rzędu
Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.
Podstawy programowania Programowanie wyrażeń 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. W językach programowania są wykorzystywane
Wykład 2. Relacyjny model danych
Wykład 2 Relacyjny model danych Wymagania stawiane modelowi danych Unikanie nadmiarowości danych (redundancji) jedna informacja powinna być wpisana do bazy danych tylko jeden raz Problem powtarzających
Systemy 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
Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory
Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.
opisuje 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
1 Podstawowe oznaczenia
Poniżej mogą Państwo znaleźć skondensowane wiadomości z wykładu. Należy je traktować jako przegląd pojęć, które pojawiły się na wykładzie. Materiały te nie są w pełni tożsame z tym co pojawia się na wykładzie.
Warto też w tym miejscu powiedzieć, że w C zero jest rozpoznawane jako fałsz, a wszystkie pozostałe wartości jako prawda.
Nazwa implementacji: Nauka języka C wyrażenia warunkowe if- Autor: Piotr Fiorek Opis implementacji: Poznanie struktury oraz zastosowania wyrażeń warunkowych if- w języku C. W programie realizującym jakiś
Temat 1: Podstawowe pojęcia: program, kompilacja, kod
Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,
Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje
Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Opracował: Zbigniew Rudnicki Powtórka z poprzedniego wykładu 2 1 Dokument, regiony, klawisze: Dokument Mathcada realizuje
Programowanie w języku Python. Grażyna Koba
Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i
Podstawy programowania 2. Temat: Funkcje i procedury rekurencyjne. Przygotował: mgr inż. Tomasz Michno
Instrukcja laboratoryjna 6 Podstawy programowania 2 Temat: Funkcje i procedury rekurencyjne Przygotował: mgr inż. Tomasz Michno Wstęp teoretyczny Rekurencja (inaczej nazywana rekursją, ang. recursion)
Algebra Boole a i jej zastosowania
lgebra oole a i jej zastosowania Wprowadzenie Niech dany będzie zbiór dwuelementowy, którego elementy oznaczymy symbolami 0 oraz 1, tj. {0, 1}. W zbiorze tym określamy działania sumy :, iloczynu : _ oraz
Programowanie w Logice
Programowanie w Logice Wejście i wyjście Przemysław Kobylański na podstawie [CM2003] Term czyta się ze standardowego wejścia predykatem read/1. Każdy wczytywany term powinien być zakończony kropką. Predykat
Struktura pliku projektu Console Application
Struktura pliku projektu Console Application #include #include using namespace std; int main(int argc, char *argv[]) // to jest komentarz system("pause"); return EXIT_SUCCESS; Na początku
Przeszukiwanie 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
SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL
Wprowadzenie do SQL SQL - Structured Query Language -strukturalny język zapytań Światowy standard przeznaczony do definiowania, operowania i sterowania danymi w relacyjnych bazach danych Powstał w firmie
Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.
Instrukcje warunkowe i skoku. Spotkanie 2 Dr inż. Dariusz JĘDRZEJCZYK Wyrażenia i operatory logiczne Instrukcje warunkowe: if else, switch Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania
Warunki logiczne instrukcja if
Warunki logiczne instrukcja if Prowadzący: Łukasz Dunaj, strona kółka: atinea.pl/kolko 1. Wejdź na stronę kółka, uruchom edytor i wpisz: use console; def test::main() { var y; y = 1; while (y
Prolog 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,
Arytmetyka 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
Składnia rachunku predykatów pierwszego rzędu
Początek Gramatyka Kwantyfikatory Poprawność Logika obliczeniowa Instytut Informatyki Początek Gramatyka Kwantyfikatory Poprawność Plan wykładu 1 Na (dobry) początek Zrozumieć słowa Oswoić znaki 2 Gramatyka
Bash - wprowadzenie. Bash - wprowadzenie 1/39
Bash - wprowadzenie Bash - wprowadzenie 1/39 Bash - wprowadzenie 2/39 Czym jest bash? Rysunek : Zadanie powłoki to ukrycie wywołań systemowych Bash - wprowadzenie 3/39 Czym jest bash? Przykład polecenia:
Ję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/.
Pascal - wprowadzenie
Pascal - wprowadzenie Ogólne informacje o specyfice języka i budowaniu programów Filip Jarmuszczak kl. III c Historia Pascal dawniej jeden z najpopularniejszych języków programowania, uniwersalny, wysokiego
Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI
Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Wyrażenia 2 Wyrażenia w języku C są bardziej elastyczne niż wyrażenia w jakimkolwiek innym języku
Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ
Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ 1 Inferencyjna równoważność formuł Definicja 9.1. Formuła A jest
Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).
Algorytmy definicja, cechy, złożoność. Algorytmy napotykamy wszędzie, gdziekolwiek się zwrócimy. Rządzą one wieloma codziennymi czynnościami, jak np. wymiana przedziurawionej dętki, montowanie szafy z
Prolog 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
Logika binarna. Prawo łączności mówimy, że operator binarny * na zbiorze S jest łączny gdy (x * y) * z = x * (y * z) dla każdego x, y, z S.
Logika binarna Logika binarna zajmuje się zmiennymi mogącymi przyjmować dwie wartości dyskretne oraz operacjami mającymi znaczenie logiczne. Dwie wartości jakie mogą te zmienne przyjmować noszą przy tym
Teoretyczne podstawy programowania liniowego
Teoretyczne podstawy programowania liniowego Elementy algebry liniowej Plan Kombinacja liniowa Definicja Kombinacja liniowa wektorów (punktów) x 1, x 2,, x k R n to wektor x R n k taki, że x = i=1 λ i
5. 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ć.
Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu
Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji
Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017
Logika Stosowana Wykład 1 - Logika zdaniowa Marcin Szczuka Instytut Informatyki UW Wykład monograficzny, semestr letni 2016/2017 Marcin Szczuka (MIMUW) Logika Stosowana 2017 1 / 30 Plan wykładu 1 Język
Logika predykatów pierwszego rzędu PROLOG. Zarządzanie wiedzą. Wykład Reprezentacja wiedzy logika predykatów. Joanna Kołodziejczyk.
Wykład Reprezentacja wiedzy logika predykatów maj 2010 Logika predykatów pierwszego rzędu Plan wykładu Logika predykatów pierwszego rzędu Porównanie z rachunkiem zdań Rachunek zdań ograniczona ekspresja
Wstęp do informatyki- wykład 2
MATEMATYKA 1 Wstęp do informatyki- wykład 2 Systemy liczbowe Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy
INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE
Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby
Aproksymacja funkcji a regresja symboliczna
Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem
Wprowadzenie 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
1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE
Temat: Podstawowe pojęcia z logiki rozmytej Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE Dr inż. Barbara Mrzygłód KISiM, WIMiIP, AGH mrzyglod@ agh.edu.pl 1 Wprowadzenie Sterowanie
Przedrostkowa i przyrostkowa inkrementacja i dekrementacja
Część VIII C++ Przedrostkowa i przyrostkowa inkrementacja i dekrementacja W poprzednim ćwiczeniu operatory inkrementacji i dekrementacji występowały w wersji przyrostkowej. Istnieje inny sposób zapisu
Rekurencja (rekursja)
Rekurencja (rekursja) Rekurencja wywołanie funkcji przez nią samą wewnątrz ciała funkcji. Rekurencja może być pośrednia funkcja jest wywoływana przez inną funkcję, wywołaną (pośrednio lub bezpośrednio)
Elementy języków programowania
Elementy języków programowania Olsztyn 2007-2012 Wojciech Sobieski Języki programowania wymyślono po to, by można było dzięki nim tworzyć różnorodne programy komputerowe. Oczekuje się również, że tworzone
PROLOG 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
Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.
Plan Procedura decyzyjna Reguły α i β - algorytm Plan Procedura decyzyjna Reguły α i β - algorytm Logika obliczeniowa Instytut Informatyki 1 Procedura decyzyjna Logiczna konsekwencja Teoria aksjomatyzowalna