Rikuro: Malsamoj inter versioj

[nekontrolita versio][nekontrolita versio]
Enhavo forigita Enhavo aldonita
SieBot (diskuto | kontribuoj)
Xqbot (diskuto | kontribuoj)
e roboto modifo de: vi:Đệ quy; cosmetic changes
Linio 3:
'''Rikuro''' (el [[latina lingvo|lat]]. ''recurrere'', kuri returne) en [[logiko]], [[matematiko]] kaj [[programado]] estas [[difino]] de funkcio, kiu inkluzivas la difinatan funkcion. Ĉiu rikura difino bezonas almenaŭ unu kazon ne rikuran. Pli ĝenerale oni uzas la terminon por iu sekvenco de objektoj, ripetiĝantaj je mem-simila maniero. Ekzemple, se oni aranĝas du [[spegulo]]jn paralele, la aro de reflektoj, reflektoj de reflektoj, reflektoj de reflektoj de reflektoj ktp estus ekzemplo de nifinia rikuro.
 
== Formalaj difinoj ==
'''Rikuro''' estas klaso de objektoj aŭ metodoj difinitaj per simpla '''baza kazo''' (almenaŭ unu) kaj aro de reguloj, kiuj reduktas ĉiujn sekvajn kazojn ĝis baza(j) kazo(j). La [[algoritmo]]n de rikuro oni povas esprimi jene:
# Ĉu estas fino? Rikura procedo kutime havas '''finan kondiĉon''', plej ofte kiam la problemo estas reduktita al la baza kazo. Se tiu kondiĉo ne estas difinita, temas pri '''nefinia rikuro'''.
Linio 11:
En [[matematiko]] rikuro estas vaste uzata por difini [[aro]]jn, [[funkcio]]jn kaj por pruvi [[teoremo]]jn.
 
=== Ekzemploj de rikure difinitaj aroj ===
==== Naturaloj ====
La plej klasika rikure difinita aro estas la plej konata - la aro de [[naturalo]]j:
Baza kazo:
Linio 21:
La aro de naturaloj estas la plej malgranda aro, kiu akordas al tiuj du ecoj.
 
==== Nombroj de Fibonaĉi ====
Alia klasika ekzemplo de rikura difino estas aro de [[fibonaĉi-nombroj]]:
:<math>
Linio 33:
En tiu ekzemplo ni havas du bazajn kazojn - 0 kaj 1.
 
=== Ekzemploj de rikure difinitaj funkcioj ===
==== Faktorialo ====
[[Faktorialo]] ''n!'' de [[natura nombro]] ''n'' estas la [[produto]] de ĉiuj [[pozitiva]]j [[entjero]]j malpliaj aŭ egalaj al ''n''. Formala difino estas jena:
:<math>n! = 1 \cdot 2 \cdot 3 \cdots (n-1) \cdot n = \prod_{k=1}^n k</math>
Linio 51:
</math>
 
==== Funkcio de Ackermann-Péter ====
Funkcio de Ackermann-Péter ([[akermana funkcio]]) estas klasika plej simpla ekzemplo de funkcio, kiu estas [[komputebla funkcio|komputebla]], sed ne [[primitive rikura funkcio|primitive rikura]] - t.e. oni ne povas difini ĝin sen rikuro (kvankam jam ekzistas pruvitaj manieroj esprimi ĝin per aliaj metodoj). La funkcio, por [[nenegativa]]j entjeroj ''m'' kaj ''n'', difiniĝas jene:
 
Linio 65:
 
==== Aliaj ekzemploj ====
* [[Katalanaj nombroj]]
* [[Polinomo de Hermite]]
* [[Polinomo de Legendre]]
* [[Simbolo de Newton]]
* [[Triangulo de Sierpinski]]
* Komputo de ekonomia [[interezo]]
 
=== Rikuraj solvoj kaj pruvoj ===
 
== Lingvaj notoj ==
Linio 132:
[[uk:Рекурсія]]
[[ur:Recursion]]
[[vi:Đệ quiquy]]
[[zh:递归]]