Lista zadań 2. ZADANIE O ODMIERZANIU WODY (łamigłówka)



Podobne dokumenty
Plan przygotowania projektu. Tematy projektów

PODSTAWY SZTUCZNEJ INTELIGENCJI

Rozszerzona specyfikacja zadania informatycznego

Specyfikacja zadania informatycznego nr 1

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

Arkusz kalkulacyjny. Technologia Informacyjna Lekcja 38-39

ZAJĘCIA 25. Wartość bezwzględna. Interpretacja geometryczna wartości bezwzględnej.

Laboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2)

Spis treści. spis treści wygenerowany automatycznie

Projekt wykonania zadania informatycznego specyfikacja zadania

Systemy liczenia. 333= 3*100+3*10+3*1

Przykładowe dowody formuł rachunku kwantyfikatorów w systemie tabel semantycznych

Semantyka rachunku predykatów

Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu.

Programowanie deklaratywne

Logiczna analiza tekstu

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

11. Blok ten jest blokiem: a. decyzyjnym b. końcowym c. operacyjnym

Ćwiczenie nr 1: Systemy liczbowe

WYRAŻENIA ALGEBRAICZNE

Gramatyki atrybutywne

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1

Wstęp do programowania

Wprowadzenie do logiki Zdania, cz. III Język Klasycznego Rachunku Predykatów

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Zad. 4 Sterowanie grą w szachy: definicja szachów, język interakcji - poleceń, pytań i odpowiedzi, uwzględniający komunikaty proste i złożone.

Urządzenia Techniki. Klasa I TI. System dwójkowy (binarny) -> BIN. Przykład zamiany liczby dziesiętnej na binarną (DEC -> BIN):

Układy równań liniowych. Ax = b (1)

Systemy iteracyjne. Podstawy programowania. wykład 2

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ

Logika Stosowana. Wykład 2 - Logika modalna Część 2. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

Informacja dla ucznia

Podstawy Automatyki. Wykład 12 - synteza i minimalizacja funkcji logicznych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

LOGIKA Klasyczny Rachunek Zdań

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Systemy ekspertowe i ich zastosowania. Katarzyna Karp Marek Grabowski

Laboratorium Programowanie Obrabiarek CNC. Nr H7

Rachunek zdań. Zdanie w sensie logicznym jest to wyraŝenie jednoznacznie stwierdzające, na gruncie reguł danego języka, iŝ tak a

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:

0.1. Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek zdań.

Interpreter - EasyCompile

INFORMATYKA POZIOM ROZSZERZONY

INFORMATYKA POZIOM ROZSZERZONY

Programowanie deklaratywne

Test z informatyki. do Liceum Akademickiego do profilu matematyczno-informatycznofizycznego. 31 maja 2014 r., godz. 9.

Semantyka rachunku predykatów pierwszego rzędu. Dziedzina interpretacji. Stałe, zmienne, funkcje. Logika obliczeniowa.

Programowanie w Logice Struktury danych (Lista 2)

Wykład IV PASCAL - łańcuch znaków, - procedury i funkcje, - sortowanie bąbelkowe

Rys. 1. Dane umieszczone w oddzielnych zestawieniach

WYRAŻENIA ALGEBRAICZNE GRUPA A. l. Wyrazy sumy algebraicznej 6x - 4a2 + 9ax to: 2. Po uporządkowaniu jednomianu 4a (- 6b) a otrzymamy:

Języki programowania zasady ich tworzenia

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elementy logiki matematycznej

LOGIKA I TEORIA ZBIORÓW

1.UKŁADY RÓWNAŃ LINIOWYCH

vf(c) =, vf(ft 1... t n )=vf(t 1 )... vf(t n ).

Krzysztof Jakubczyk. Zadanie 2

Technologie informacyjne - wykład 12 -

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Wykład 13. Podstawowe pojęcia rachunku prawdopodobieństwa

Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji

Plan nauczania informatyki Opracował: mgr Daniel Starego

WYMAGANIE EDUKACYJNE Z MATEMATYKI W KLASIE II GIMNAZJUM. dopuszczającą dostateczną dobrą bardzo dobrą celującą

WIADOMOŚCI WSTĘPNE WPROWADZENIE DO JĘZYKA TURBO PASCAL. Klawisze skrótów. {to jest właśnie komentarz, moŝna tu umieścić dowolny opis}

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Matematyczne Podstawy Informatyki

CELEM NAPISANIA PRACY MAGISTERSKIEJ JEST WYKAZANIE, ŻE STUDENT: 1. POTRAFI POSŁUGIWAĆ SIĘ NABYTĄ WIEDZĄ 2.ROZSZERZYŁ SWOJĄ WIEDZĘ O OPISYWANYM W

Wykład 5 Charakterystyka języka SQL. Elementy obliczeń relacyjnych.

EGZAMIN MATURALNY 2013 INFORMATYKA

Innowacyjne cele edukacyjne

EGZAMIN MATURALNY 2011 INFORMATYKA

EGZAMIN MATURALNY 2013 INFORMATYKA

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

WYKORZYSTANIE NARZĘDZIA Solver DO ROZWIĄZYWANIA ZAGADNIENIA Problem przydziału

Program 22. #include <iostream> using namespace std; struct Osoba { string Imie; string Nazwisko; char Plec; int RokUr; };

Definicje. Algorytm to:

EGZAMIN MATURALNY 2012 INFORMATYKA

Języki programowania deklaratywnego

EGZAMIN MATURALNY 2011 INFORMATYKA

CELEM NAPISANIA PRACY MAGISTERSKIEJ JEST WYKAZANIE, ŻE STUDENT: 1. POTRAFI POSŁUGIWAĆ SIĘ NABYTĄ WIEDZĄ 2. UMIE STOSOWAĆ METODY PRACY NAUKOWEJ 6

Program 6. Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje:

Temat: Liczby definicje, oznaczenia, własności. A n n a R a j f u r a, M a t e m a t y k a s e m e s t r 1, W S Z i M w S o c h a c z e w i e 1

Podstawy programowania

Modelowanie związków encji. Oracle Designer: Diagramy związków encji. Encja (1)

Wykład 6. Reguły inferencyjne systemu aksjomatycznego Klasycznego Rachunku Zdań

Pascal - wprowadzenie

4,5. Dyskretne zmienne losowe (17.03; 31.03)

LUTY klasa 2 MATEMATYKA

MAJ klasa 2 MATEMATYKA. Temat: Jak dodajemy? Jak odejmujemy?

Programowanie w logice

Jarosław Wróblewski Analiza Matematyczna 1A, zima 2012/13

Wyszukiwanie. Wyszukiwanie binarne

Dyskretne zmienne losowe

Transkrypt:

Lista zadań 2 ZADANIE O ODMIERZANIU WODY (łamigłówka) Marcysia, gosposia niezbyt obyta, grochówkę uwarzyć chciała. W babcinym, starym jak świat, kajecie, przepis wnet wygrzebała. śe akuratna być postanowiła, głowić się srodze poczęła, Bo podług przepisu, wody ze źródła cztery litry jej trzeba. Jakim sposobem odmierzy nieszczęsne CZTERY LITRY WODY, gdy DZBANEK TRZY LITRY MIEŚCI, a GARNEK PIĘCIOLITROWY? Kto jej pomoŝe, a najmniej się strudzi owym wody przelewaniem, od dzielnej Marcysi pełną miseczkę grochówki dymiącej dostanie. (tekst: Źródło: J. Kotyczka, Programowanie logiczne w rozwiązywaniu zadań na poziomie szkolnym, Praca Magisterska, Instytut Matematyki i Informatyki, Uniwersytet Opolski, Opole 2003.) Reprezentacja ikoniczna Przedstawienie graficzne treści zadania rysunek wykonany przy pomocy edytora grafiki Paint. WyobraŜenie treści zadania moŝemy przedstawić graficznie następująco: Jakie czynności moŝe wykonać Marcysia? 1. Napełnić dzbanek wodą ze źródła. 2. Napełnić garnek wodą ze źródła. 3. Przelać wodę z garnka do dzbanka. 4. Przelać wodę ze dzbanka do garnka. 5. Wylać całą zawartość dzbanka. 6. Wylać całą zawartość garnka. Problem. Nasze wyobraŝenia o sposobie odmierzenia Ŝądanej ilości wody nie są adekwatne do rzeczywistości poznawczej, na którą wskazuje treść zadania reprezentacja ikoniczna. Nie moŝna bowiem uzyskać jednego litra wody (czyli takŝe Ŝądanej ilości wody) bezpośrednio poprzez jedno przelanie. Ta nieadekwatność jest tutaj problemem informatycznym, który musimy pokonać.

Sformułujmy więc wnioski, wynikające z dotychczasowego doświadczenia w rozwiązywaniu zadania w wyniku przeprowadzenia symulacji. Reprezentacja symboliczna. Wnioski: Naczynie moŝe być napełnione. Naczynie moŝe być opróŝnione. Wodę moŝna przelewać z jednego naczynia do drugiego, do opróŝnienia się pierwszego z nich lub wypełnienia drugiego. Istotnym dla nas stanem jest związek pomiędzy zawartościami obu naczyń. W trakcie nalewania, przelewania, wylewania wody zachodzą ściśle określone przejścia jednych stanów w drugie. Nietrudno więc sformułować treść zadania (prawa rządzące Światem Odmierzania Wody ) za pomocą wyraŝeń napisanych w postaci klauzul hornowskich, przyjmując notację klauzulową lub anlagiczna do języka Turbo Prolog. Przyjmijmy następującą umowę notacyjną: Zmienne oznaczamy napisami zaczynającymi się z duŝej litery:x,y,z,a,...,zet, Imie,... itp., Predykaty są napisami zaczynającymi się z małej litery; predykaty dla których nie wyróŝniamy argumentów są zwykłymi napisami, a pozostałe łączymy z nawiasem, po którym wypisujemy argumenty oddzielając je przecinkami: student(imie, Nazwisko, Adres, Uniwersytet Opolski ) Wartości zmiennych są napisami pisanymi z małej litery (np. ac1; typ symbol), znakami pisanymi w apostrofach (np. a ; typ char), łańcuchami znaków pisanymi w cudzysłowie (np. Anna, A1 ; typ string), npisami liczb (np. 2, 23, -23.5; typy iteger i real) A :- B oznacza, Ŝe formuła A zachodzi, jeśli formuła B zachodzi X = a; b; c;... oznacza, Ŝe X = a lub X = b lub X = c, itd. A, B,... oznacza to samo, co A i B i.... A; B;... oznacza to samo, co A lub B lub.... not A nieprawda, Ŝe A. KaŜde wyraŝenie kończone jest kropką.

Goal A. - pytanie o to, czy i kiedy wyraŝenie A jest spełnione da wprowadzonych danych i praw. Ze względu na liczbowe określenie ilości wody w naczyniach, reprezentację prowadzimy dla fragmentu dziedziny wiedzy o rachunku liczb naturalnych. Zmienne liczbowe: U, V, X, Y. Dziedzina zmiennych: D = {0, 1, 2, 3, 4, 5, 6, 7, 8, }. WyraŜenia postaci stan(u,v), stan(x,y) interpretujemy jako dwie sytuacje, w których pierwsza oznacza stan wcześniejszy, taki Ŝe pięciolitrowy garnek zawiera U litrów wody, a trzylitrowy dzbanek V litrów, druga sytuacja oznacza, Ŝe stan ilości wody przekształca się w stan: x wody w garnku, y wody w dzbanku. Zakładamy, Ŝe dysponujemy operacjami i relacjami na liczbach naturalnych. Świat odmierzania wody moŝna wtedy opisać następującymi formułami tzw. klauzulami hornowskimi: Pytanie Goal stan (4, Y). /* stan docelowy*/ Prawa Świata odmierzania wody (NW1) stan(0, 0). /*stan początkowy*/ (NW2) stan(u, V) :- U 5, V 3. /*warunek określający pojemność naczyń*/ (NW3) stan(x, Y) :- stan(u, V), X=5, X=V. /*akcja napełniania garnka*/ (NW4) stan(x, X) :- stan(u, V), X=U, Y=3. /*akcja napełniania dzbanka*/ (NW5) stan(x,y) :- stan(u, V), X=0, Y=V. /*akcja opróŝniania garnka*/

(NW6) stan(x, Y) :- stan(u, V), X=V, Y=0. /*akcja opróŝniania dzbanka*/ (NW7) stan(x, Y) :- stan(u, V), U + V 3, X=0, Y = U + V. /*przelewanie z garnka do dzbanka do chwili opróŝnienia się garnka */ (NW8) stan(x, Y) :- S (U, V), U + V 5, X = U + V, Y=0. /*przelewanie z dzbanka do garnka do chwili opróŝnienia się dzbanka */ (NW9) stan(x, Y) :- stan(u, V), X=5, Y = U + V - 5. /*przelewanie z dzbanka do garnka do chwili napełnienia się garnka*/ (NW10) stan(x, Y) :- stan(u, V), X = U + V 3, Y=3. /*przelewanie z garnka do dzbanka do chwili napełnienia się dzbanka*/ Które z praw NW1-NW10 i w jakiej kolejności naleŝy zastosować do kaŝdego stanu stan(u,v) poprzedzającego w poniŝszym ciągu formuł następny stan stan(x,y)? 1. stan(0,0) stan początkowy. 2. stan(0,3) NW 3. stan(3,0) NW 4. stan(3,3) NW 5. stan(5,1) NW 6. stan(0,1) NW 7. stan(1,0) NW 8. stan(1,3) NW stan(4,0) NW Stan stan(4,0) określa rozwiązanie zadania o odmierzaniu wody.

RÓWNOWAśENIE KOLEKCJI PRZEDMIOTÓW NA WADZE Wyjaśnij mechanizm waŝenia na wadze dwuramiennej. WaŜone są następujące przedmioty: tego samego rodzaju filiŝanki f, butelki b, talerze t, oraz dzbanki d, gdzie f, b, t, d oznaczają wagi poszczególnych typów naczyń (wszystkie przedmioty tego samego rodzaju tyle samo waŝą). Przy czym zachodzą następujące równości wag tych przedmiotów: 1) 2t + f = 2d, 2) 5f = 2b + d, 3) 3d + 2b = 5t. Określ system równowaŝenia na wadze dwu kolekcji naczyń jako dwusortową strukturę relacyjną z uniwersami : U1={w: w= n1*f + n2*b+ n3t+ n4*d; n1, 2, n3, n4 = 0,1,2,3,... }, U2 ={0,1,2,3,...}. Jakie będą relacje i operacje oraz wyróŝniony zbiór obiektów w tej strukturze? Sformułuj reguły waŝenia, przeprowadzające stan równowagi S(x,y), w nowy stan równowagi S(x,y ). Opisz w formalnym języku tej struktury relacyjnej wyprowadzenie (korzystające z reguł waŝenia i stosownych operacji czy instrukcji) waŝenia 3 talerzy przy uŝyciu filiŝanek, dzbanków i butelek. Do formalizacji uŝyj tych samych symboli co do opisu struktury relacyjnej, a opis ciągu operacji zapisz jako ciąg odpowiednich formuł. Skorzystaj z bieŝących materiałów podanych na stronie (podrozdział 1.1.4.3 wykładu 1): http://http://www.math.uni.opole.pl/~ebryniarski/log_kom.html PROBLEMY Określ wielosortowe struktury relacyjne dla poniŝszych dwu zagadek : CHIŃSKIE FIGURKI Sześć małych figurek ustawionych jest jak na rysunku: KaŜda z figurek moŝe posuwać się naprzód lub przeskakiwać jedną figurkę, ale nie moŝe posuwać się ani skakać wstecz. Podaj najmniejszą liczbę ruchów (skoków lub kroków), po których figurki znajdą się w następującej pozycji:

INNE WERSJE ZADANIA: analogicznie, jak w śabich skokach. Źródło: Johannes Lehmann, Kurzweil durch Mathe, Aulis Verlag Deubner & CO KG, Köln 1986. WAśENIE MONET Mamy osiem monet. Jedna z nich jest lŝejsza od pozostałych (nie wiemy, która). Jak wykryć lŝejszą monetę, jeśli moŝemy tylko dwukrotnie dokonać waŝenia przy uŝyciu wagi szalkowej? INNE WERSJE ZADANIA: Jak wykryć jedyną lŝejszą monetę spośród osiemnastu za pomocą co najwyŝej trzech waŝeń itp. źródło: Ch. A. Schwengeler, Mathematische Kurzweil, Orell Füssli, Zürich 2001