söndag, februari 11, 2007

Rekursion

När jag var ute och strövade på nätet efter en lösning till ett problem som jag har snubblade jag över en genialisk bild på IBMs sajt. Jag minns att Nils Dåverhög som är lärare vid KaU beskrev rekursion som tre steg:

  1. Anrop
  2. Rekursivt anrop
  3. Slut kondition
Det fungerar bra om man vet vad man gör (vilket man sällan gör eftersom rekursionen ibland löper amok och inte bör användas). För att mer åskådligt se vad som händer skulle jag rekommendera den här bilden:

I bilden kan man klart och tydligt se hur funktionsanropen och deras resultat är tänkta att fungera. Om inte annat kan man visa hur rekursion fungerar i teorin och är tänkt att fungera i praktiken.

För att binda ihop de två varianterna kan man säga att anropet sker längst upp i trappan (på ovansidan), varje steg nedåt i trappan är ett rekursivt anrop och slutkonditionen motsvaras av hoppet där rekursionen övergår till att börja returnera resultat (ifrån ovansidan av trappan till undersidan, längst ner).

2 kommentarer:

admin sa...

Jätte intressant... hmmm vad är rekursion och när gör man det och hur?

// En något förvirrad sjuksköterska

Anonym sa...

Kul att du också hittat rekursioner broder, det använde jag mig av på maguppsatsen i form av ett Kalmanfilter. Jag hade en modell för att förutse vart räntan kan tänkas. med filtret kan man använda det senaste prognosfelet för att minimera nästa prognosfel genom att återkoppla felet till prognosmodellen. Den verkliga nyttan med filtret är dock att ta bort bruset i den observerade tidsserien för att se underliggande process. detta jämförs med prognosen. Tyvärr var den modell som användes för prognosticering inte lämplig då finansiella tidsserier ofta har hopklumpad volatilitet och därför föreligger behov för en mer avancerad prognosmodell med flera variabler än de modeller som är allmänt kända för räntemodellering.


broder H.