Lista 2. - Pierwsza - Uniwersytet Opolski

Transkrypt

Lista 2. - Pierwsza - Uniwersytet Opolski
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.
2.
3.
4.
5.
6.
7.
8.
stan(0,0)
stan(0,3)
stan(3,0)
stan(3,3)
stan(5,1)
stan(0,1)
stan(1,0)
stan(1,3)
stan(4,0)
stan początkowy.
NW…
NW…
NW…
NW…
NW…
NW…
NW…
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

Podobne dokumenty