Matematyka Dyskretna, Egzamin 2008 (1inf) u dr W. KraÅ›kiewicza WstÄ™p Zadania podam razem z poleceniami, które zapisywać bÄ™dÄ™ kursywÄ…. Dodatkowo czasem kolorem szarym dodam jakieÅ› komentarze pomagajÄ…ce zrozumieć dlaczego jest tak, a nie inaczej ^^. Nie gwarantujÄ™ także, że odpowiedzi sÄ… w 100% poprawne. Gdyby nie byÅ‚y dajcie znać: moriturius(at)gmail.com Zadania Zad. 1 Zdefiniuj NWD pary liczb caÅ‚kowitych. Przedstaw algorytm Euklidesa. Co możesz powiedzieć o efektywnoÅ›ci algorytmu? Definicja NWD to trochÄ™ jak masÅ‚o maÅ›lane dlatego najpierw trzeba sobie zdefiniować pojÄ™cia pomocnicze: Dzielnikiem liczby a nazywamy liczbÄ™ d wtedy i tylko wtedy, gdy a przy dzieleniu przez d daje resztÄ™ równÄ… 0. Wspólnym dzielnikiem liczb a i b nazywamy liczbÄ™ d wtedy i tylko wtedy, gdy d jest dzielnikiem a oraz d jest dzielnikiem b. Skoro już mamy podstawowe definicje teraz Å‚atwo bÄ™dzie zdefiniować NWD: NWD(a, b) to najwiÄ™kszy ze wspólnych dzielników liczb a oraz b. * * * Algorytm Euklidesa opiera siÄ™ na spostrzeżeniu, że: a , gdy b=0 NWDśą a , bźą= { } NWDśąb , a mod bźą , gdy be"1 W praktyce przedstawia siÄ™ to tak: 1. Oblicz c jako resztÄ™ z dzielenia a przez b. 2. a := b b := c 3. JeÅ›li b=0 to szukane NWD(a,b) = b. W przeciwnym wypadku przejdz do punktu 1. 2Å"log2śą aƒÄ…bźą Pesymistyczna zÅ‚ożoność tego algorytmu wynosi i efektywność taka może siÄ™ zdarzyć na przykÅ‚ad gdy chcemy obliczyć NWD dwóch kolejnych wyrazów ciÄ…gu Fibonacciego. Jest to jednak bardzo szczególny przypadek i w ogólnoÅ›ci algorytm ten daje wynik już po kilku krokach. Zad. 2 Zdefinjuj liczby pierwsze i uzasadnij, że jest ich nieskoÅ„czenie wiele. SformuÅ‚uj zasadnicze twierdzenie arytmetyki. Liczba p jest liczbÄ… pierwszÄ… wtedy i tylko wtedy, gdy posiada dokÅ‚adnie dwa dzielniki. CzujÄ™ potrzebÄ™ zwórenia uwagi na różnicÄ™ miÄ™dzy tÄ… definicjÄ…, a tÄ…, która podawana byÅ‚a w szkolach. NieprawdÄ… jest, że liczba pierwsza to taka, która dzieli siÄ™ przez 1 i przez siebie bo wtedy 1 byloby liczbÄ… pierwszÄ…, a normalnie nie jest (bo ma jeden dzielnik równy 1). Dowód, że liczb pierwszych jest nieskoÅ„czenie wiele: Niech p1, p2, p3, ..., pn bÄ™dÄ… wszystkimi liczbami pierwszymi. Stwórzmy liczbÄ™: p= p1Å"p2Å"p3Å"...Å"pnƒÄ…1 Aatwo zauważyć, że liczba p nie dzieli siÄ™, przez żadnÄ… z liczb pierwszych zatem nie jest to liczba zÅ‚ożona. Stad liczba p jest również liczbÄ… pierwszÄ…. I sprzeczność z twierdzeniem, że liczb pierwszych jest skoÅ„czenie wiele. W dowodzie chodzi o to, że każda liczba zÅ‚ożona daje siÄ™ podzielić przez jakÄ…Å› liczbÄ™ pierwszÄ…. Widać to po rozkÅ‚adzie liczby na czynniki. Tutaj konstruujemy nowÄ… liczbÄ™ ze wszystkich liczb pierwszych (bo zaÅ‚ożyliÅ›my sobie że jest ich dokÅ‚adnie n) i do iloczynu dodajemy 1. W ten sposób stworzyliÅ›my liczbÄ™, która przy podzieleniu przez jakÄ…kolwiek liczbÄ™ pierwszÄ… (p1,...,pn) da resztÄ™ 1. StÄ…d wnioskujemy, że jak p nie dzili siÄ™ przez żadnÄ… liczbÄ™ pierwszÄ… to też jest liczbÄ… pierwszÄ… i tutaj mamy sprzeczność bo podobno p1,...,pn to byÅ‚y wszystkie, a tu wyszÅ‚o, że jest jeszcze jedna ;) Zasadnicze twierdzenie arytmetyki Dla dowolnych caÅ‚kowitych a, b, c jeÅ›li a|bc oraz NWD(a,b)=1 to a|c. Twiedzenie jest raczej oczywiste. JeÅ›li a|bc to znaczy, że musi dzielić co najmniej jednÄ… z liczb b, c. JeÅ›li NWD(a,b)=1 to znaczy, że a nie dzieli b. Dlatego musi dzielić c. Zad 3. SformuÅ‚uj i udowodnij ChiÅ„skie Twierdzenie o Resztach. Znajdz wszystkie x dla których: xa"5 śąmod 7źą xa"10 śąmod 25źą m1,m2,... , mn ChiÅ„skie Twierdzenie o Resztach mówi, że dla dowolnych caÅ‚kowitych dodatnich y1, y2,... , yn ukÅ‚ad kongruencji parami wzglÄ™dnie pierwszych oraz dowolnych caÅ‚kowitych xa" y1śąmod m1źą xa" y2śąmod m2źą î" xa" yn śąmod mnźą x ")#1, m1Å"m2Å"...Å"mn*# ma dokÅ‚adnie jedno rozwiÄ…zanie . Dowodu siÄ™ nie podejmÄ™ ;) PrzejdÄ™ od razu do rozwiÄ…zania kongruencji. Najpierw trzeba zbadać czy moduÅ‚y (tutaj 7 i 25) sÄ… wzglÄ™dnie pierwsze (jeÅ›li zadanie jest z razem z CTR to pewnie bÄ™dÄ… one wzglÄ™dnie pierwsze). Tu 7 jest liczbÄ… pierwszÄ… wiÄ™c tym bardziej jest wzglÄ™dnie peirwsza z 25. Mnożymy teraz kazdÄ… kongruencjÄ™ wszystkimi trzema stronami przez iloczyn pozostaÅ‚ych modułów. WiÄ™c: 25Å"xa"5Å"25 śąmod 7Å"25źą 25xa"125 śąmod 35źą = { } { } 7Å"xa"10Å"7 śąmod 7Å"25źą 7xa"70śąmod 35źą W ten sposób otrzymaliÅ›my uklad kongruencji, z takimi samymi moduÅ‚ami. Teraz można odjÄ…c drugie od pierwszego i wten sposób otrzymamy kongruencjÄ™: 18xa"55śąmod 35źą Dla uÅ‚atwienia rozwiÄ…zania tej kongruencji warto policzyć sobie resztÄ™ z dzielenia 55 przez 35. Wynosi ona 20 zatem: 18xa"20 śąmod 35źą Teraz wystarczy już tylko sprawdzić dla jakich x liczba 18x daje przy dzieleniu przez 35 resztÄ™ 20. Co prawda sÄ… na to skomplikowane wzory, ale Å‚atwiej po prostu dodać do siebie kilka razy 18 i śą18Å"2źą mod 35=36 mod 35=1 posprawdzać. Tak wiÄ™c startujemy od x=2 czyli: zatem nie jest to liczba, o którÄ… chodzi. Teraz x=3: 54 mod 35=19 - też klapa. Dalej sprawdzamy 72 i 90. Okazuje siÄ™ że 90=35Å"2ƒÄ…20 zatem dokladnie to o co nam chodziÅ‚o. Ale warto pamiÄ™tać, że szukamy x ;) Nasz x wynosi 5. Aatwo go też wyliczyć: 90/18=5 . ZnalezliÅ›my jedno rozwiÄ…zanie kongruencji ale mamy znalezć wszystkie. Na szczęście wiemy, że wszystkie pozostaÅ‚e rozwiÄ…zania różniÄ… siÄ™ od tego dokÅ‚adnie o 35 (moduÅ‚). Zatem ostateczny zapis rozwiÄ…zania wyglÄ…da tak: x=5ƒÄ…35Å"k , gdzie k "$! Zad. 4 SformuÅ‚uj zasadÄ™ wÅ‚Ä…czeÅ„ i wyÅ‚Ä…czeÅ„. Ile jest naturalnych rozwiÄ…zaÅ„ równania: x1ƒÄ… x2ƒÄ…x3ƒÄ…x ƒÄ…x5=40 0d"xid"9, i=1, 2, ... , 5 speÅ‚niajÄ…cych nierówność ? 4 Zasada wÅ‚Ä…czeÅ„ i wyÅ‚Ä…czeÅ„: A1, A2,... , An bÄ™dÄ… dowolnymi zbiorami zaÅ› i , j , k"{1, 2,... , n} Niech . Wówczas: n #"A1*" A2*" A3*"...*" An#"= #"Ai#"- #"Ai)" Aj#"ƒÄ… #"Ai)"A )"Ak#"-...ƒÄ… " " " j i=1 i , j : i"Ä… j i , j , k :i"Ä… j"Ä…k ƒÄ…śą-1źąn-1Å" #"A1)"A2)"...)"An#" x1ƒÄ… x2ƒÄ…x3ƒÄ…x ƒÄ…x5=40 0d"xid"9, i=1,2, ... , 5 RozwiÄ…zanie równania dla : 4 A={śąx1, x2, x3, x4, x5źą: x1ƒÄ…x2ƒÄ…x3ƒÄ…x4ƒÄ…x5=40} Niech . Aatwo zauważyć, że istnieje bijekcjja pomiÄ™dzy elementami zbioru A oraz drogami w prostokÄ…cie o wymiarach 4x40. StÄ…d: 44! 44 ! 41Å"42Å"43Å"44=41Å"7Å"43Å"11=135751 44 #"A#"= = = = śą źą 40!śą 44-40źą! 40!Å"4! 2Å"3Å"4 4 Jest to ilość wszystkich rozwiÄ…zaÅ„. Teraz musimy wyrzucić rozwiÄ…zania nie speÅ‚niajÄ…ce naszych 0d"xid"9, i=1, 2,... ,5 zaÅ‚ożeÅ„ (czyli ). W tym celu tworzymy sobie nowe zbiory które bÄ™dÄ… zawieraÅ‚y tylko zÅ‚e rozwiÄ…zania: Ai={śą x1, x2, x3, x4, x5źą: x1ƒÄ… x2ƒÄ…x3ƒÄ… x4ƒÄ… x5=40 oraz xie"10} Niech dla i=1, 2, ... , 5 . y1=x1,... , yi-1= xi -1 , yi=xi-10, yiƒÄ…1=xiƒÄ…1 ,... , y5= x5 Zastosujmy podstawienie: oraz Ai '={śą y1, y2, y3, y4, y5źą: y1ƒÄ… y2ƒÄ… y3ƒÄ… y4ƒÄ… y5=30 oraz xie"10} zdefiniujmy zbiór: . Ai Ai ' Aatwo zauważyć, że podstawienie to zadaje bijekcjÄ™ pomiÄ™dzy oraz . StÄ…d: 34! 31Å"32Å"33Å"34 34 #"Ai#"= = = =31Å"8Å"11Å"17=46376 śą źą 30 !Å"śą34-30źą! 2Å"3Å"4 4 xie"10 W powyższym kroku chodzi o to żeby obliczyć ile jest zÅ‚ych rozwiÄ…zaÅ„ takich, że . Na szczęście ograniczenie dla każdego x jest takie samo wiÄ™c nie trzeba robić osobnych zbiorów dla xi każdego . Aby obliczyć ilość elementów w tym zbiorze zauwazamy, że rozwiÄ…zaÅ„ równania x1ƒÄ… x2ƒÄ…x3ƒÄ…x ƒÄ…x5=40 x2e"10 gdy na przykÅ‚ad jest tyle samo co rozwiÄ…zaÅ„ 4 y1ƒÄ… y2ƒÄ… y3ƒÄ… y4ƒÄ… y5=30 . Dzieki temu możemy znów użyć wzoru na ilość dróg w prostokÄ…cie. Teraz abyÅ›my mogli skorzystać ze wzoru wÅ‚Ä…czeÅ„ i wyÅ‚Ä…czeÅ„ potrzebna jest jeszcze ilość Ai elementów we wszystkich możliwych przekrojach zbiorów . PostÄ™pujemy podobnie Aij xi x zakÅ‚adajÄ…c że dla elementy z oraz bÄ™dÄ… wiÄ™ksze od 10. StÄ…d otrzymujemy zbiór: j Aij={śą x1, x2, x3, x4, x5źą: x1ƒÄ… x2ƒÄ…x3ƒÄ… x4ƒÄ…x5=40 oraz xie"10i x e"10} a ten z kolei jest równoliczny j ze zbiorem: Aij '={śą y1, y2, y3, y y5źą: y1ƒÄ… y2ƒÄ… y3ƒÄ… y4ƒÄ… y5=20 } . 4, 24 #"Ai)"A #"= =7Å"11Å"23Å"6=10626 Zatem: j . śą źą 4 14 #"Ai)"A )"Ak#"= =1001 PostÄ™pujÄ…c analogicznie dochodzimy do tego, że: j oraz śą źą 4 4 #"Ai)"A )"Ak)"Al#"= =1 xie"10 j . Nietrudno zauważyć, że gdy wszystkie to ich minimalna śą źą 4 #"Ai)"A )"Ak)"Al)" Am#"=0 suma bÄ™dzie 50 zatem liczność zbioru: . j Teraz możemy już zastosować wzór wÅ‚Ä…czeÅ„ i wyÅ‚Ä…czeÅ„: Ilość rozwiÄ…zaÅ„ wynosi: 5 #"A#"-śą #"Ai#"- #"Ai)"A #"ƒÄ… #"Ai)"A )"Ak#"- #"Ai)" A )" Ak)" Al#"źą= " " " " j j j i =1 i"Ä… jd"5 i"Ä… j"Ä… kd"5 i"Ä… j "Ä…k"Ä…ld"5 . =135751-śą5Å"46376-10Å"10626ƒÄ…10Å"1001-5Å"1źą=126 Zad. 5 an Niech oznacza liczbÄ™ ciÄ…gów ternarnych (tj. o wartoÅ›ciach 0, 1 lub 2) dÅ‚ugoÅ›ci n, w których każde dwa symbole niezerowe sÄ… przedzielone co najmniej jednym zerem. Znajdz wzór rekurencyjny a10 oraz zwarty dla ciÄ…gu an " . Czemu jest równe . śą źą n=0 Najpierw trzeba sobie przeanalizować opis. Zdanie o przedzieleniu co najmniej jednym zerem jest doÅ›c kluczowe dla tego ciÄ…gu gdyż mówi to, że co najmniej na co drugim miejscu stojÄ… zera. PrawidÅ‚owe ciÄ…gi wyglÄ…dajÄ… wiÄ™c tak: 102001 lub 010200. a0 W tej chwili warto pomysleć nad poczÄ…tkowymi wyrazami. Jako że zawsze budzi emocje a1 zacznijmy od . Ile jest ciÄ…gów dÅ‚ugoÅ›ci 1? To raczej proste pytanie dokÅ‚adnie 3 (0, 1 oraz 2). a2=5 a3=11 PrzydadzÄ… siÄ™ jeszcze z dwa wyrazy: oraz . Można je policzyć zwyczajnie wypisujÄ…c je sobie na kartce. Teraz trzeba siÄ™ zastanowić co możemy dostawić na koÅ„cu ciÄ…gu dÅ‚ugoÅ›ci n tak aby powstaÅ‚ ciÄ…g o dÅ‚ugoÅ›ci n+1 speÅ‚niajÄ…cy podane warunki. JeÅ›li ciÄ…g koÅ„czy siÄ™ na 0 to nie ma problemu można dostawić 0, 1 lub 2. W innym przypadku, gdy ciÄ…g koÅ„czy siÄ™ na 1 lub 2, można dostawic tylko jedno 0. an-1 . Dlaczego? Warto zauważyć, że w ciÄ…gów dÅ‚ugoÅ›ci n które majÄ… 0 na koÅ„cu jest dokÅ‚adnie Ano dlatego, że do każdego wyrazu możemy dopisać sobie bezkarnie 0. Teraz zobaczmy ile jest ciÄ…gów z wyrazami różnymi od 0 na koÅ„cu. Wiemy, że do ciÄ…gu koÅ„czÄ…cego siÄ™ na 0 możemy dopisać cokolwiek (0, 1 lub 2). CiÄ…gi do których dopisaliÅ›my 0 już sobie policzyliÅ›my. Pytanie powstaje wiÄ™c ile jest takich ciÄ…gów dÅ‚ugoÅ›ci n-1 do których można dopisać 1 lub 2. Jest ich dokÅ‚adnie tyle ile jest ciÄ…gów z zerami na koÅ„cu o dÅ‚ugoÅ›ci n-2 (wyjaÅ›nione na poczÄ…tku akapitu). 2Å"an-2 nowych ciÄ…gów. Zatem jeÅ›li i dopiszemy do każdego 1 lub 2 to otrzymamy Jak siÄ™ okazuje policzyliÅ›my już wszystkie. StÄ…d wzór rekurencyjny wyglÄ…da tak: an=an-1ƒÄ…2Å"an-2 a1=3, a2=5 a3=11 Warto teraz sprawdzić czy dla danych poczÄ…tkowych wyraz . a3=a2ƒÄ…2Å"a1=5ƒÄ…2Å"3=5ƒÄ…6=11 O! Nawet wyszÅ‚o ;) No to najtrudniejsze za nami. Teraz trzeba znalezć wzór zwarty. Wykorzystamy oczywiÅ›cie znaleziony wzór rekurencyjny. Najpierw wykonajmy maÅ‚e przeindeksowanie. PrzesuÅ„my n o 2. Tak anƒÄ…2 anƒÄ…2=anƒÄ…1ƒÄ…2Å"an . aby wyraz byÅ‚ wyznaczony w zależnoÅ›ci od poprzednich: Teraz zapiszmy równanie charakterystyczne dla tego wzoru. NajproÅ›ciej mówiÄ…c należy przenieść wszystkie wyrazy na jednÄ… stronÄ™, zamienić indeksy dolne na potÄ™gi oraz a na jakÄ…kolwiek literkÄ™. Na wykÅ‚adzie przyjęło siÄ™ używać t. Na koÅ„cu trzeba podzielić przez i otrzymamy w tym tn przypadku równanie kwadratowe: . t2-t-2=0 t1=-1, t2=2 Wyznaczamy miejsca zerowe tego równania: . NastÄ™pnie trzeba już zapamiÄ™tać, że wzór zwarty (w przypadku gdy mamy dwa pierwiastki) jest zawsze postaci: an=c1Å"tnƒÄ…c2Å"tn . 1 2 W naszym przypadku bÄ™dzie to an=c1Å"śą-1źąnƒÄ…c2Å"2n . Teraz już pozostaÅ‚o jedynie wyznaczyć staÅ‚e c1 , c2 . Robi siÄ™ to podstawiajÄ…c do wzoru wartoÅ›ci poczÄ…tkowe wzoru rekurencyjnego i rozwiÄ…zujÄ…c powstaÅ‚y w ten sposób ukÅ‚ad równaÅ„: 3=-c1ƒÄ…2c2 4 c1=-1 , c2= . Nie sÄ… to może liczby piÄ™kne { } 5=c1ƒÄ…4c2 Po rozwiÄ…zaniu otrzymujemy: 3 3 i nie sprawiajÄ… wrażenia dziaÅ‚ajÄ…cych dla naszego wzoru ale trzeba siÄ™ przekonoać. Ostatecznie nasz 4Å"2 n an=-1Å"śą-1źąnƒÄ… wzór miaÅ‚by postać: . 3 3 1Å"śą-1źą ƒÄ… 4Å"2 = 1 32 3 3 a3=- ƒÄ… =33=11 Po podstawieniu n=3 otrzymujemy: . Zatem okazuje siÄ™, 3 3 3 3 3 że wzór jest poprawny mimo tego, że nie wyglÄ…da ;) a0 Na sam koniec pozostaje kwestia wyrazu . Teraz jednak skoro mamy wzór zwarty nie ma 1ƒÄ… 4 3 a0=- = =1 problemu z jego wyznaczeniem: . Można też dobrać ten wyraz tak aby 3 3 3 zgadzaÅ‚ siÄ™ z wzorem rekurencyjnym, ale i tak wyjdzie to samo ;) Wniosek z tego taki, że ciÄ…gów ternarnych o dÅ‚ugoÅ›ci 0 jest dokÅ‚adnie... 1... Zad. 6 Jest to dość zÅ‚ożone wyjaÅ›nieniowo zadanie i nie chce mi siÄ™ go aktualnie pisać zatem może pózniej dorzuce w dodatkowym pliku ;) Zad. 7 Zdefiniuj pojÄ™cie wielomianu wieżowego (szachowego) i oblicz ten wielomian dla szachownicy: X X X X X X X X Definicja: rB Niech B bÄ™dzie szachownicÄ… oraz bÄ™dzie oznaczać ilość rozstawieÅ„ i wzajemnie nie i atakujÄ…cych siÄ™ wież na polach dozwolonych szachownicy B ( zakÅ‚adamy, że rB=1 ). 0 rB śątźą Wielomian generujÄ…cy dla ciÄ…gu śąriBźąi=1,2, ... nazywamy wielomianem wieżowym B. " rB śątźą= riBÅ"ti " i=0 Obliczenie podanego wielomianu zajmuje troche miejsca i byÅ‚oby bardzo niewygodne pisanie tego na komputerze wiÄ™c wrzucÄ™ to rozwiÄ…zanie w osobnym pliku jako dokument ze skanami i moimi komentarzami oczywiÅ›cie ;)