ISSN2083-9774
[MACIERZATOR48]
Miesięcznik redagowany przez Koło Naukowe Matematyków Uniwersytetu Śląskiego
Witamy w czerwcowym numerze [MACIERZATORa]!
To już ostatni numer [Macierzatora] przed wakacjami. Można w nim zna- leźć kolejną część Kącika TEXowego (tym razem opowiemy o pakiecie tikz służącym do tworzenia grafik wektorowych w formacie PGF (Portable Gra- phics Format)), artykuł o tym, czy publikacje naukowe muszą być tworzone tylko na poważne tematy oraz rozważania o trochę innych pochodnych – produktowych. Życząc wszystkim Czytelnikom udanych, pełnych wrażeń, ale i odpoczynku wakacji, zachęcamy jednocześnie studentów do zapoznania się z możliwością uczestniczenia w dwutygodniowym, sfinansowanym przez Unię Europejską matematycznym kursie intensywnym, który odbędzie się we wrześniu w Freudenstadt w ramach programu ACAMiMM, w którym uczestniczy nasza uczelnia. Warto rozważyć tę propozycję.
Dobrych wakacji życzy redakcja
[ACAMiMM 2012
Wakacyjny intensywny kurs matematyczny]
We wrześnie ubiegłego roku dziewięcioro członków Koła Naukowego Ma- tematyków UŚ brało udział w wakacyjnym intensywnym kursie matema- tycznym – Analytical and Computer Assisted Methods in Mathematicals Models. Przez dwa tygodnie nie tylko uczyli- śmy się intensywnie matematyki, ale też nawią- zaliśmy wiele nowych znajomości ze studentami i wykładowcami z kilku europejskich uczelni, zwiedzaliśmy, poznawaliśmy kulturę i obyczaje osób innych narodowości, stworzyliśmy świetną, zgraną, wielokulturową grupę. To tam właśnie poznaliśmy Profesora Wolfganga Reichela, który gościł u nas przez tydzień w maju. Projekt ACAMiMM jest trzyletni; niestety dla nas, ubiegłorocz- nych uczestników – każdy student może w nim uczestniczyć tylko raz.
W tym roku kurs intensywny odbywa się w Niemczech, w Schwarzwal- dzie, w mieście o nazwie Freudenstadt, od 9 do 23 września 2012. Jego uczestnicy zapoznają się z wiadomościami z
czterech dziedzin: rachunku wariacyjnego (z za- stosowaniami w elastyczności i optymalizacji), równań i nierówności funkcyjnych, uogólnionej wypukłości oraz kryształów fotonicznych. Wy- kładowcami są wybitni specjaliści z tych dzie-
dzin, profesorowie z kilku krajów europejskich. Kurs kończy się egzaminem, ale nie ma się co go obawiać – w ubiegłym roku wszyscy uczestnicy z na- szej uczelni zdali go z najwyższą możliwą notą. Dodatkowo studenci wy- kazują się praktycznym zastosowaniem zdobytych umiejętności przez przy- gotowanie w grupach projektu na wybrany temat. Wszystkie osoby, które otrzymają pozytywny wynik z egzaminu, otrzymują honorowany przez UŚ certyfikat, że zaliczyły przedmiot warty aż 6 punktów ECTS.
Czy warto pojechać na taki kurs? Z pewnością warto. Nie tylko ze względów matematycznych (choć nauczyć się można sporo i zdobyć w dwa tygodnie sześć punktów ECTS): to wspaniałe doświaczenie, możliwość prze- testowania swojego angielskiego w praktyce, okazja do poznania wielu fan- tastycznych osób... Długo by wymieniać. Co ważne, kurs jest dofinanso- wany przez Unię Europejską – według ostatnich informacji, studenci mają mieć pokryty koszt noclegów, dojazdów oraz przynajmniej części wyżywie- nia (najaktualniejsze informacje na temat można znaleźć na stronie Koła.
Tam też umieściliśmy ponad tysiąc zdjęć z kursu ubiegłorocznego – można
się przekonać na własne oczy, że atmosfera podczas wyjazdu była wspa- niała). W ramach atrakcji pozamatematycznych przewidziane są wieczory z prezentacją kultury, kuchni i muzyki czy weekend w Strasbourgu połą- czony z wycieczką do Parlamentu Europejskiego.
Gorąco zachęcam do uczestnictwa studentów, także młodszych lat – w kursie brali udział też studenci pierwszego roku (i świetnie sobie ra- dzili). Więcej informacji o kursie można znaleźć na stronie Koła Naukowego Matematyków (www.knm.katowice.pl). Wszelkie pytania można przesyłać na mój adres mailowy (j.zwierzynska@knm.katowice.pl); na ten sam adres można od razu przesyłać zgłoszenia. Termin wysyłania zgłoszeń to 8 lipca 2012. Wyniki rekrutacji zostaną ogłoszone niewiele później. Warto!
Kandydaci powinni wysłać na wskazany adres e-mailowy następujące dane:
– imię i nazwisko
– numer i serię dokumentu tożsamości (paszportu/dowodu osobistego);
– datę urodzenia;
– obywatelstwo;
– kierunek i rok studiów;
– średnią ocen*;
– poziom znajomości języka angielskiego**.
* Jako że mamy czerwiec, pojawia się naturalne pytanie - jaką średnią ocen? Przyjmu- jemy więc, że chodzi o średnią ze wszystkich zaliczonych lat studiów tego stopnia, który realizowało się w tym roku akademickim.
** Powinien on być weryfikowany przez jakiś certyfikat językowy, ale nie wszyscy go mają. Należy więc przesłać informację o posiadanych cetryfikatach dotyczących języka angielskiego i drugą: szacowany przez uczestnika poziom płynności jego języka w chwili obecnej (w skali A2, B1, B2, C1, C2). Uwaga! Sztuczne zawyżenie jego poziomu zdecy- dowanie nie jest opłacalne!
Joanna Zwierzyńska
[Całki i pochodne produktowe]
Zapewnie wielu studentów bardzo by chciało, by niezbyt prosty wzór na iloczyn pochodnych można było zastąpić poniższą równością:
(f · g)0 (!)= f0· g0
O ileż prostsze stałoby się rachowanie! Możemy pokusić się o zdefinio- wanie takiej pochodnej, dla której spełniona jest powyższa równość. Roz- ważmy pochodną produktową, która niesie ze sobą nieco inne informacje niż tradycyjna różniczka:
f∗(x) = lim
h→0
f (x + h) f (x)
1h
Czasami będziemy używać synonimu: pochodna geometryczna. Definicja wydaje się dosyć naturalna – działanie różnicy przeszło na iloraz a dzielenie na pierwiastek odpowiedniego stopnia. Warto sobie zadać pytanie: jaki jest sens tak zdefiniowanej pochodnej? Poprowadźmy rozumowanie per ana- logiam: pochodna klasyczna określa tempo przyrostu addytywnie, innymi słowy jak wielki jest przyrost funkcji. Natomiast nasza pochodna multi- plikatywna określa nie różnicę, a iloraz. Jeżeli mamy funkcję f , która dla x = 2 przyjmuje wartość y = 10, a dla x = 4 y = 40, to nietrudno wyka- zać, iż iloraz różnicowy będzie równy 40−104−2 = 15. Natomiast nasze nowe wyrażenie mówi nam o tym, że dana funkcja ma tempo geometrycznego przyrostu równe
q40
10 = 2, czyli średnio co jedną jednostkę wartość funkcji się podwaja. W dalszej części będziemy żądać ciągłości funkcji, by uniknąć
„patologicznych” przykładów, jak np. funkcji zadanej poniższym wzorem:
f (x) =
2 x = 0 1 x 6= 0
dla której powyższa granica istnieje dla wszystkich x i w punkcie niecią- głości jest równa 0, w przeciwnym razie 1. Gdy już to zrobimy, możemy pokazać szczegółowo, kiedy pochodna produktowa w danym punkcie x ist- nieje i ile wynosi w stosunku do klasycznej pochodnej:
Twierdzenie 1. Jeżeli f (x) 6= 0, to f∗(x) istnieje wtedy i tylko wtedy, gdy istnieje f0(x). Zachodzi wtedy (dla klarowności zapisu ex= exp x):
f∗(x) = exp (ln |f (x)|)0
Dowód. Przypuśćmy, iż funkcja f∗istnieje i jest niezerowa. Zachodzi nawet silniejszy fakt: jeżeli funkcja f∗ istnieje, to jest dodatnia (wprost z defini- cji). Wtedy, na podstawie różniczkowalności funkcji logarytmicznej, można przeprowadzić poniższe równoważne kroki:
ln f∗(x) = ln lim
h→0
f (x + h) f (x)
1h!
= lim
h→0ln |f (x + h)|
|f (x)|
h1
= lim
h→0
ln |f (x + h)| − ln |f (x)|
h
1h
= (ln |f (x)|)0
Wtedy, oczywiście f∗(x) = exp (ln |f (x)|)0. Dowód w drugą stronę jest trywialny.
Jeżeli dalsze pochodne istnieją, to wyrażają się one analogicznie prze- prowadzoną zależnością:
f[n]= exp (ln |f (x)|)(n),
gdzie f[n]to pochodna produktowa stopnia n, natomiast f(n)jest klasyczną pochodną tego samego stopnia. Głównym „problemem” pochodnej produk- towej są osobliwości w miejsach zerowych funkcji do niej pierwotnej – tam pochodne geometryczne są nieokreślone.
O ile pochodna addytywna „traciła” informację o wyrazie wolnym funk- cji, tak pochodna multiplikatywna „gubi” współczynniki postaci cf (x). Mo- żemy wywnioskować nawet silniejszą prawidłowość. Jeżeli pochodna w punk- cie x istnieje, to zachodzi:
∀c6=0|cf (x)|∗= f∗(x)
Pozostawiam ten fragment do samodzielnego zweryfikowania. Również warto się zastanowić, czy rzeczywiście tak zdefiniowa pochodna jest opera- torem multiplikatywnym.
Funkcja stała, jak łatwo przypuszczać, ma pochodną równą elementowi neutralnemu mnożenia – 1 (dotyczy do także funkcji stale równej 0). Jest jeszcze funkcja, która jest stała w procesie różniczkowania geometrycznego.
Czyżby ex? Otóż nie, stałą operacji różniczkowania produktowego jest...
eex. Możemy sobie to wyliczyć chociażby z definicji. Swoją drogą, każda funkcja wykładnicza, zgodnie z definicją, powinna mieć stałą pochodną geo- metryczną równą swojej podstawie wykładniczej:
Twierdzenie 2. Dla każdego a > 0 funkcja f (x) = ax ma swoją pochodną produktową równą f∗(x) = a.
Dowód. Funkcje wykładnicze dodatnie są nieujemne, więc z twierdzenia 1 mamy iż:
f∗(x) = e(ln f (x))0 = e(ln ax)0 = e(x ln a)0 = eln a= a Co było do pokazania. W szczególności (ex)∗= e.
Ćwiczenie 1. Wyznaczyć pochodne produktowe funkcji f (x) = xn, g(x) = cos x, h(x) = xx
By lepiej sobie zobrazować „działanie” pochodnej geometrycznej, roz- ważmy pewien przykład. Przyjrzyjmy się bliżej funkcji f (x) = sin x.
x y
Zauważmy, że pochodna produktowa funkcji, f∗(x) = ectg x, ma okres dwukrotnie krótszy niż funkcja wyjściowa. Nie możemy bez dodatkowej wie- dzy rozstrzygać, kiedy funkcja rośnie; wiemy natomiast, jak rośnie i kiedy przechodzi przez miejsca zerowe (wiemy? :)). Przypuszczamy, że funkcja będzie mieć ekstremum, gdy wartość pochodnej będzie równa 1 i będzie tam ściśle monotoniczna. Zwróćmy także, uwagę, iż pochodna produktowa jest dodatnia na całej swojej dziedzinie.
Przejdźmy do kolejnej części – w końcu rachunek różniczkowy to nie tylko pochodne. Przez kolejną analogię możemy dostać iloczynowy odpo- wiednik szeregu Taylora:
Twierdzenie 3. Niech f będzie funkcją geometrycznie różniczkowalną n + 1-krotnie w przedziale otwartym I, w którym istnieje taki punkt c ∈ I, że f[i](c) 6= 0 dla wszystkich i ∈ {0, 1, . . . , n}, wtedy dla każdego takiego x ∈ I, że x > c, zachodzi:
f (x) = f (c)f∗(c)(x−c)f∗∗(c)(x−c)22! · · · f[n](c)(x−c)nn! Rn(x) gdzie Rn(x) = f[n+1](ξ)(x−c)n+1(n + 1)! dla pewnego c < ξ < x.
Ten, jak i następne dowody zostaną pominięte; przeprowadza się według tej samej reguły, jaką można znaleźć w podręcznikach przy wykazywaniu prawdziwości powyższego twierdzenia dla klasycznego rachunku różniczko- wego. O rozwinięciu pełnym w produkt możemy powiedzieć nieco więcej:
Twierdzenie 4. Jeżeli f : I → R jest ciągła na przedziale otwartym I, a f[n](x) istnieje dla każdego n ∈ N, oraz limn→∞Rn(x) = 1, wtedy dla każdego x ∈ I, x > c zachodzi:
f (x) =
∞
Y
k=0
f[k](c)(x−c)kk!
Powyższy produkt Taylora ściśle wiąże się z szeregiem Taylora. Niech f będzie funkcją analityczną określoną na pewnym przedziale otwartym oraz niech fn0 będzie n-tym wyrazem rozwinięcia w szereg funkcji ln f , a fn∗
n-tym czynnikiem rozwinięcia w produkt1. Wtedy zachodzi:
∞
Y
n=0
exp (fn∗) = exp
∞
X
n=0
fn0
!
Ten fakt zachodzi także dla funkcji, które są ujemne na pewnych swoich przedziałach, jednak wtedy niezbędne jest skorzystanie z uogólnienia loga- rytmu naturalnego, by móc wnieść, iż ln(−1) = iπ, gdzie i jest jednostką urojoną2. Reszta jest już tylko prostą konsekwencją wcześniej podanych twierdzeń i samej definicji pochodnej produktowej. Rozwińmy przykładowo w produkt funkcję f (x) = x na podstawie powyższej zależności w punkcie c = 1:
exp (ln n) = exp
∞
X
k=1
(−1)k+1(x − 1)k k
!
=
∞
Y
k=1
exp (−1)k+1(x − 1)k k
Możemy obliczać także całki produktowe:
b
Ra
f (x)dx= lim
h→0
Yf (xi)h= exp
b
Z
a
ln f (x)dx
Tutaj niezbędne jest słowo komentarza. Symbol R oznacza tutaj multi- plikatywny operator całki produktowej (nieoznaczonej, jeżeli nie występują odpowiednie granice całkowania), natomiast xijest punktem podziału nor- malnego odcinka [a, b], analogicznie jak w przypadku sum Riemanna. Za- chodzi także:
f (x) =
Rf (x)dx∗
przy czym w odwrotnej kolejności uzyskuje się:
f (x) Rf∗(x)dx
= c, c ∈ (0, +∞)
1Dla wygody przyjmijmy, iż f00 = f0∗= f .
2Wtedy eiπ= −1. Formalnie lnk(−1) = iπ(2k + 1) dla pewnego k całkowitego; dla k = 0 otrzymujemy gałąź główną logarytmu naturalnego.
Czemuż by nie odtworzyć twierdzenia Newtona-Leibniza dla rachunku iloczynowego? Jak nietrudno zgadnąć, twierdzenie jest poniższej postaci:
Twierdzenie 5. Jeżeli f : [a, b] → R jest ciągła na przedziale [a, b], a F jest funkcją geometrycznie pierwotną funkcji f , wtedy zachodzi:
b
Ra
f (x)dx= F (b) F (a)
Ćwiczenie 2. Wyznaczyć produktowe całki nieoznaczone:P edxx,P xndx, Pe0 x1dx
.
O kolejnych analogiach (reguła de l’Hospitala, całkowanie przez części, reguła łańcuchowa, równania różniczkowe etc.) można byłoby mówić wiele.
Resztę pozostawiam do rozważenia Czytelnikowi. A nuż ktoś zainspirowany przedstawi pochodne harmoniczne w którymś z kolejnych numerów? A może pójdzie w inną stronę i zdefiniuje np. metrykę produktową na bazie modułu produktowego3? :)
[Literatura]
[1] John D. Dollard, Charles N. Friedman Product Integration, with Appli- cations to Differential Equations. Addison-Wesley, 1979.
2.P e
dx
=x x
,P
nd x
=e x
x −nx
,P xn e 0 1 x
=1 dx
.
∗ 1.f
(x )=
n/x e
∗ ,g
(x )=
−tg e
,h x
(x ∗
)=
ex,
Odpo wiedzido zadań:
Mateusz Szymański
[Informatycy na karaoke]
Wakacje idą! Jakkolwiek dla studentów mieszkających w akademikach oznacza to początek racjonalnej diety i spokojniejszego życia po powro- cie do rodziców, dla większości społeczności studenckiej wakacje to dopiero początek najbardziej szalonych zabaw, których wyniku nierzadko nie bę- dziemy chcieli sobie przypominać4. Jak jednak przemycić kawałek naszych
3Rozważmy dla x > 0 funkcję zdefiniowaną następująco:
∗
|a| =
x x > 1
1
x x < 1 . Narzucającym się uogólnieniem dla liczb ujemnych oraz zespolonych jest oczywiście
∗
|a| = e|ln x|.
4I, na szczęście, w większości przypadków nie będziemy w stanie.
ukochanych nauk ścisłych do zabaw? Czy na temat zabaw i imprez wszela- kich dałoby się napisać artykuł? Publikację naukową?
Zastanówmy się na początek, co mogłoby być jej tematem. Jako że znakomita większość naszych Czytelników to matematycy lub informatycy, pozostańmy, dla ustalenia uwagi, w tych dwóch dziedzinach nauk. Niero- zerwalnie wiążą się one z liczbami, obliczeniami. Co można liczyć na zaba- wach? Wiele rzeczy, zdecydowanie, ale z samych obliczeń publikacja nie po- wstanie. Potrzebne są jeszcze związki, korelacje, które niekoniecznie każdy zauważy, których ekspozycja w świetle dziennym powiększyłaby wiedzę ro- dzaju ludzkiego o jakiś istotny szczegół.
I siedzi nasz hipotetyczny informatyk przy komputerze, puszczając ko- lejne pliki mp3 i myśląc, jakie związki mógłby tu wskazać. I nagle – eureka!
W dobie kompresji i chęci zapisywania wszystkiego w komputerze pojawia się naturalne pytanie: ile miejsca potrzeba, by zapisać piosenkę? No, dla uproszczenia, tekst piosenki, nie martwmy się muzyką. Wraz ze wzrasta- jącą długością piosenki, jak wiele danych musimy przekazać komputerowi, by był on w stanie podać nam cały tekst?
Wprowadźmy tutaj trochę oznaczeń, potrzebnych nam dla płynniejszej komunikacji w dalszej części artykułu. Powiemy, że funkcja rzeczywista f należy do O(g(n)), gdzie g również jest funkcją rzeczywistą, jeżeli istnieje taka stała A, że dla dostatecznie dużych n f (n) 6 Ag(n). Innymi słowy, w nieskończoności funkcja f rośnie nie szybciej niż g. Oznaczenie to po- znaje każdy student matematyki na zajęciach z informatyki; mianowicie:
powiemy, że program ma złożoność (czasową) O(n), jeżeli zależność mię- dzy ilością wprowadzonych danych a czasem potrzebnym na wykonanie programu jest liniowa; O(n2) jeżeli jest kwadratowa, i tak dalej. Wiemy, że duże potęgi n nie są własnością pożądaną w takiej złożoności, bowiem oznacza to że, w przypadku n2, dziesięciokrotne zwiększenie ilości danych oznacza stukrotny wzrost czasu potrzebnego do uzyskania wyniku – a tak ogromny skok w zastosowaniach, na przykład, biznesowych jest w naturalny sposób trudny do przełknięcia. Poza złożonością czasową możemy też mówić o złożoności pamięciowej, kiedy to zamiast czasu potrzebnego na uzyska- nie wyniku interesuje nas ilość pamięci potrzebna naszemu hipotetycznemu programowi. I znowu, złożoność O(n2) oznaczałaby tu, dla przykładu, że dziesięć razy więcej danych oznacza sto razy więcej potrzebnej pamięci.
Drugim oznaczeniem będzie tzw. działanie konkatenacji: jeżeli R i S oznaczają pewne ciągi znaków, to RS oznacza ciąg znaków uzyskany przez połączenie ciągów R i S. Dla przykładu, jeżeli R = Koń i S = Rafał, to RS = KońRafał. Poprzez ε oznaczać będziemy pusty ciąg znaków. W szcze- gólności Rε = R dla każdego ciągu znaków R.
Na tym etapie możemy postawić sobie pytanie, które stanie się bazą dla naszej mini publikacyjki: jeżeli n jest długością piosenki, to czy da się stworzyć program drukujący jej tekst o złożoności pamięciowej mniejszej niż O(n)? (stworzenie programu o złożoności O(n) jest, oczywiście, try- wialne).
Problem ten, wbrew pozorom, ma całkiem długą historię – w końcu jakąż inną motywację mogli mieć nasi przodkowie, wymyślając instytucję refrenu? Istotnie, refren pozwala nam poznać cały tekst piosenki, jako dane wejściowe posiadając tylko pewną jego część; formalniej rzecz biorąc, za- chodzi następujący lemat:
Lemat 1. Jeżeli S jest taką piosenką o m zwrotkach długości Z i refrenie o długości R, że refren jest śpiewany na początku i końcu piosenki oraz pomiędzy każdymi dwiema zwrotkami, to złożoność pamięciowa piosenki S wynosi Z+RZ n+O(1) dla ustalonych Z i R i zmiennego m. Symbol n oznacza tu całkowitą długość piosenki.
Dowód. Całkowita długość piosenki wynosi n = R + (Z + R)m. Oczywiście w danych wejściowych refren musi pojawić się tylko raz, stąd złożoność pamięciowa piosenki dana jest wzorem c = R + Zm. Stąd łatwo widać, że
c = R + Zm = n − Rm 6 Z
Z + Rn + A dla A = V +RR2 .
Oczywiście w przyjętej notacji dużego O nasza złożoność pamięciowa ciągle wynosi O(n); czy da się ją zmniejszyć w sposób istotny, na przykład do O(√
n)? Istotnie – zachodzi następujące twierdzenie:
Twierdzenie 1. Istnieje piosenka o złożoności O(√ n).
Dowód. Rozważmy następujący schemat:
V0= „Kaczor Donald farmę miał”R1 R1= „I-ja i-ja ooo!”
R2(x) = V0„Na niej x hodował”R1„i”
U1(x) = „x-x tu i „x-x tam, i tu x i tam x wszędzie x-xR1” Vk= U1(Wk)Vk−1.
Tutaj W1 = ko, W2 = gę, W3 = mu, W4 = hau (konstrukcję tę da się uogólnić dla większych k). Piosenkę rzędu m definiujemy jako
S0= ε
Sm= R2(Wm0 )VmSm−1.
Tutaj W10 = kury, W20 = gęsi, W30 = krowy, W40 = psy (i znowu, konstruk- cję da się prowadzić dla większych k). Żmudne przeliczenia, do których zachęcamy zainteresowanych Czytelników, doprowadziłyby nas do wnio- sku, że długość naszej piosenki rośnie kwadratowo w stosunku do ilości danych wejściowych. Przykład ten został podany przez szkockiego farmera O. MacDonalda, oryginalnie w języku angielskim. Niektórzy badacze sądzą jednak, że piosenki podobnego typu o złożoności O(√
n) pojawiały się już wcześniej.
Ten przykład daje nam nadzieję na dalsze ulepszanie naszej złożono- ści pamięciowej. Klasyczna angielska piosenka „Twelve Days of Christmas”
jest przykładem piosenki o złożoności O(q n
log n). Konstrukcję z niej da się uogólnić w piękny sposób, co po raz pierwszy uczynił J.W. Blatz z Milwau- kee, Wisconsin, odkrywając klasę piosenek znaną jako „m bottles of beer on the wall”. Dzięki temu prawdziwe jest następujące twierdzenie:
Twierdzenie 2. Istnieje piosenka o złożoności O(log n).
Dowód. Definiujemy
Vk = TkBW TkB If one of those bottles should happen to fall, Tk−1BW, gdzie B = bottles of beer, W = on the wall oraz Tk jest po prostu ciągiem znaków oznaczającym liczbę k w języku angielskim, np. T23= twenty three.
Zdefiniowanie Tk dla wszystkich k < 10m wymaga jedynie O(m) pamięci, bowiem
Tq·10m+r= Tq times 10 to the Tm plus Tr
dla 1 6 q 6 9, 0 6 r 6 10m−1. Wówczas piosenka rzędu k, zdefiniowana przez S0= ε, Sk = VkSk−1 ma wymaganą złożoność O(log n).
Wydaje się, że jest to twierdzenie koronujące naszą teorię złożoności pamięciowej piosenek. Prawda jest taka, że jedynym możliwym dalszym (znaczącym) ulepszeniem byłoby podanie przykładu piosenki o stałej zło- żoności pamięciowej; wydaje się, że jest to w oczywisty sposób niemożliwe.
A jednak, przykład Casey and the Sunshine Band udowadnia prawdziwość następującego twierdzenia:
Twierdzenie 3. Istnieje piosenka o złożoności O(1).
Dowód. Niech Vk = That’s the way U I like it U, U = uh huh uh huh dla wszystkich k oraz S0 = ε, Sk = VkSk−1. Wówczas Sk jest wymaganym przykładem.
Malejące możliwości pamięciowe dzisiejszych imprezowiczów dają na- dzieję na dalszy rozwój tej pięknej teorii, mimo faktu, że obecnie wydaje się że powyższe twierdzenie jest jej ostatecznym ukoronowaniem. Odpo- wiedzmy sobie jednak na pytanie, które zapewne pali wszystkich naszych Czytelników od początku niniejszego artykułu: Czy ja mówię poważnie?
Czy to naprawdę mógłby być materiał na publikację? Co najwyżej na sa- tyryczną, czyż nie?
Powyższe rozumowanie pojawiło się w artykule The Complexity of Songs, opublikowanym w Communications of the ACM w kwietniu 1984 roku.
Artykuł został napisany przez Donalda E. Knutha, informatyka znanego głównie ze swego wielkiego dzieła Sztuka programowania oraz ze stworze- nia systemu składu drukarskiego, w którym piszemy niniejszą gazetkę. Data ukazania się artykułu – kwiecień – oczywiście sugeruje odpowiedź na pyta- nie, na ile poważnie powinniśmy traktować podobne rozważania, pomimo ich pełnej matematycznej poprawności i precyzji (w oryginalnym artykule zamieszczone są wszelkie przeliczenia, które tu pozwoliłem sobie pominąć).
Czy zatem publikacje powstają jedynie na poważne tematy? Czy bada- cze nie mogą się nimi trochę zabawić? Cóż, przy powstających publikacjach o najlepszej drużynie baseballu na świecie (ach, te metody statystyczne), o prominentnej roli pingwinich diagramów w fizyce kwantowej czy algo- rytmie Coxa-Zuckera, powiedziałbym, że odpowiedź brzmi – oczywiście, że badacze potrafią się bawić. I miejmy nadzieję, że gdy my już nimi zosta- niemy, również tę własność zachowamy.
Miłych wakacji!
Niewinny Rosomak
[Stopka redakcyjna]
Redaktor naczelna: Joanna Zwierzyńska Autorzy artykułów: Mateusz Jurczyński, Beata Łojan,
Mateusz Szymański, Joanna Zwierzyńska Skład i łamanie w LATEX: Beata Łojan
Kontakt z redakcją bezpośrednio w pokoju KNM (p.524) lub elektronicznie:
macierzator@knm.katowice.pl.
Wszystkie archiwalne numery [Macierzatora] dostępne są również w wydaniu elek- tronicznym na stronie internetowej KNM UŚ: www.knm.katowice.pl.
Wydanie elektroniczne [Macierzatora] posiada numer ISSN: 2083-9774.
czerwiec 2012