Programowaie dyamice i modele rekurecyje w ekoomii Wykład 3 Michał Ramsa sierpia 0 Stresceie Wykład treci bauje główie a [, ro 7] i dotycy wykorystaia fukcji tworacych do rowiaywaia rekurecji Materiał awiera jedyie podstawowe techiki uupełioe ewetualie o drobe elemety iebęde do roumieia istoty agadieia Notacja użyta w tym wykładie pochodi [] Fragmety dotycace ułamków prostych pochoda [, str 7 3] Fukcje tworace Ciagi i fukcje tworace Postacie warte Rówaie rekurecyje postaci g f(g, ) raem warukiem pocatkowym adaje am ciag licb g 0, g, g Powyżsy ciag apisujemy w skrócie g To co chcemy osiag ać to aleźć postać warta wyrau g Dla dowolego ciagu g możemy stworyć fukcję postaci G() g 0 + g + g + g Tak stworoa fukcję aywamy fukcja tworac a ciagu g Fukcja ta rówież może mieć swoja postać warta 0 Notacja i rosereia Prede wsystkim wygode jest rosereie akresu mieości licika do bioru licb całkowitych Z Robimy to pryjmujac g ujeme 0, a więc g 0, g 0 itd Wprowadamy astępujac a otację [ k] { dla k, 0 w preciwym prypadku
Dopuscajac pewe adużycie będiemy rówież stosowali astępujaco otację Niech G() będie dowola fukcja Pre [ ]G() będiemy roumieli -ty wyra rowiięcia G() w sereg potęgowy w 0 0 Ściśle mamy atem W scególości możemy mieć apisy typu [ ]G() G () (0) [ ] Warto auważyć, że jeżeli G() jest fukcja tworac a dla ciagu g to achodi [ ]G() g Ta własość ostaie dalej wykorystaa do ajdowaia postaci wartych dla rekurecji 3 Prykład trywialy ale motywujacy Roważmy prykład trywialej rekurecji Niech g 0 ora iech g g () Nie ulega watpliwości, że tak wygeeroway ciag jest postaci,,, Jego postacia warta jest g, dla 0,,, W pierwsej kolejości roseramy akres mieości licika do bioru licb całkowitych pre pryjęcie g ujeme 0 Warto wrócić uwagę, że rówaie () ie jest poprawe dla dowolego Z musimy je prekstałcić do postaci tak aby było prawdiwe dla 0 Mamy astępujace prekstałceia g g + [ 0] () g g + [ 0] (możymy obie stroy pre ) g g + [ 0] (sumujemy po Z) g g + [ 0] g g + G() G() + (rowiaujemy e wględu a G()) G() Otrymaliśmy atem postać warta fukcji tworacej dla ciagu g
Rowijamy fukcję w sereg Taylora w otoceiu puktu 0 otrymujac G() + dg(0)! d +! d G(0)! d 0!! ( ) 0!! 0 0 0 d G(0) + d Zatem koleje współcyiki w rowiięciu potęgowym fukcji wyosa g co daje am warta postać dla rekurecji () 4 Diałaia a fukcjach tworacych Operacje liiowe Mamy αf () + βg() α f + β g (αf + βg ) Presuwaie w prawo Jeżeli mamy fukcję tworac a G() dla ciagu g i chcemy wypisać fukcję tworac a dla ciagu 0,, 0, g 0, g, gdie a pocatku dodaliśmy m er wystarcy premożyć m G() Mamy m G() g +m g m Presuwaie w lewo Sytuacja idetyca ja powyżej ale tera presuać ciag o m miejsc w lewo usuwajac pierwse m wyraów W takiej sytuacji musimy odjać od fukcji tworacej pierwse m wyraów i podielić pre m Mamy G() g 0 g g m m m m g m 0 g +m Możeie argumetu pre stała G(c) g (c) c g atem jest to fukcja tworaca dla ciagu c g Jest to scególie prydate dla c Różickowaie Chcemy wypisać fukcję tworac a dla ciagu g Mamy G () g + g + 3g 3 + ( + ) g + (możymy obie stroy pre ) G () g
Całkowaie Chcemy wypisać fukcję tworac a dla ciagu g Mamy 0 G(t)dt g 0 + g + 3 g 3 + g Jeżeli chcemy uyskać wyik dla ciagu g / to musimy w powyżsym wore amiast G(t) wykorystać (G(t) g 0 ) /t Możeie fukcji tworacych Mamy F ()G() ( f 0 + f + f + ) ( g 0 + g + g + ) (f 0 g ) + (f 0 g + f g 0 ) + (f 0 g + f g + f g 0 ) + ( ) f k g k k Możeie dwóch fukcji tworacych jest scególie waże i użytece gdy jeda tych fukcji jest aa am fukcja Prykładowo mamy + + + a więc f Dla takiej fukcji uyskujemy atem G() ( ) g k k 0 ( ) g, k gdie warto pamiętać, że g ujeme 0 Uyskae współcyiki twora ciag sum cęściowych dla ciagu g Tabela acerpięta [, str 37] awiera prykłady podstawowych fukcji tworacych, ob rys Seregi potęgowe dla fukcji wymierych Fukcje wymiere bardo cęsto pojawiaja się w agadieiach rekurecji, tak jak p w prykładie 3 Fukcje takie moga być łatwo rołożoe a ułamki proste, dla których moża łatwo aleźć współcyiki w rowiięciu a sereg potęgowy Ułamki proste Każda fukcja wymiera R() może ostać rołożoa a skońcoa sumę ułamków prostych postaci a, ( a), M + N k + p + q, M + N ( + p + q) k, gdie wielomia + p + q ie ma pierwiastków recywistych Pierwse dwa typy ułamków prostych możemy prekstałcić do postaci ( a) k ( )k (a ) ( )k k a k ( /a) ( )k ( ) k + ( ) k a k a 0
Rysuek : Prykładowe fukcje tworace Z ródło: [, str 37] Dla ostatich dwóch typów ułamków ale ałoby wypisac sereg dla ułamka postaci + p + q co w ogólos ci jest trude a otrymywae wyra eia sa a ogół bardo skomplikowae ale w scególych prypadkach ie jest to a takie skomplikowae Prykładowo dla fukcji G() mo emy apisac + G() X (( i) + i ) 4 6 8 0 + + + + 0 Warto dodac, e rówaia ró icowe, które geeruja takie wyra eia sa rówie skomplikowae
Zastosowaie do rowiaywaia rekurecji Zastosowaie fukcji geerujacych do rowiaywaia rekurecji składa się kilku podstawowych kroków, które obraujemy a prykładie licb Fibboaciego Ciag licb Fibboaciego jest aday astępujacym rówaiem rekurecyjym Chcemy aleźć postać warta ciagu g g g + g, g 0 0, g (3) Krok : rówaie W pierwsym kroku wypisujemy rówaie rekurecyje w taki sposób, aby było oo spełioe dla Z W prypadku rówaia (3) musimy dopisać jede elemet otrymujac które to rówaie jest poprawe dla dowolego Z g g + g + [ ], (4) Krok : rówaie dla fukcji geerujacych Rówaie rekurecyje otrymae w popredim kroku posłuży am do wyaceia rówaia dla fukcji geerujacych i ostatecie aleieia wartej postaci fukcji geerujacej dla roważaego ciagu g W tym celu możymy obie stroy rówaia (4) pre i sumujemy obie stroy po Z W prypadku rówaia (4) otrymujemy g g + g + [ ] g g + g + [ ] g g + g + [ ] G() G() + G() + () Korystajac rówaia () jesteśmy w staie aleźć warta postać fukcji geerujacej ciagu g Mamy G() (6) 3 Krok 3: sereg potęgowy fukcji geerujacej Ostati krok polega a aleieiu współcyików w rowiięciu fukcji geerujacej w sereg potęgowy Te krok jest awycaj ajtrudiejsy W prypadku fukcji wymierych pierwsym krokiem jest robicie a ułamki proste W prypadku fukcji (6) mamy dwa pierwiastki miaowika Φ + i ˆΦ
Chcemy apisać fukcję G() w postaci + B ( ) B( ) ( )( ) ( + B) + + B ( )( ) Porówaie licików daje am układ dwóch rówań liiowych postaci { + B skad otrymujemy + B 0 Φ i B ˆΦ Zgodie worami wyprowadoymi w pukcie mamy więc a a ( ) a Wstawiajac ase dae do powyżsej formuły otrymujemy 0 G() Φ/ + ˆΦ/ Φ/ ( ) ˆΦ/ ( 0 0 0 uciażliwe prekstałceia Φ ˆΦ ) Zatem postać warta dla ciagu g licb Fibboaciego jest astępujaca g Φ ˆΦ Prosę wrócić uwagę, że a pierwsy rut oka ie jest awet jase, że tak defiiowae licby sa całkowite UWG: Wykład obejmuje tylko bardo podstawowe metody Osoby aiteresowae moga precytać (fatastyca) ksiażkę [] ora odwołać się do literatury tam cytowaej Literatura [] G M Fichtehol Rachuek różickowy i całkowy Tom Państwowe Wydawictwo Naukowe, 97 [] R L Graham, D E Kuth, ad O Patashiik Matematyka kokreta Wydawictwo Naukowe PWN, 998