Ռեկուրսիա (անգլ.՝ Recursion), մի բան, որը պարունակում է իրեն (նմանին), որակվում է ռեկուրսիվ (ինքնիրք), պարզ ռեկուրսիա։ Սա վերաբերվում է ինչպես օբյեկտներին (տվյալներին), այնպես էլ՝ գործողություններին (ալգորիթմներին)։ Օրինակ, ինքն իրեն պարունակող իմաստուն Ֆուկուրամայի ճապոնական խաղալիքը, նրա ռուսական տարբերակ հայտնի «մատրյոշկան», իրար մեջ դրվող զատիկի ձվերի կամ չինական տուփերի հավաքածուն։

«Դրոսթի» անվանումով կակաոյի փոշու հայտնի տուփը, որի վրա պատկերված սկուտեղին դրված տուփի և բաժակի վրա պատկերված են էլի նույն տուփի և բաժակի պատկերները։
Մատրյոշկաներ
Մատրյոշկայի մեջ էլի մատրյոշկան է։

Այս խաղալիքների իմաստը հենց ռեկուրսիվ, ինքնիրք լինելն է՝ ինքը պարունակում է իրեն, մատրյոշկայի մեջ էլի մատրյոշկան է։

Երբ տարբեր բաներ փոխադարձ պարունակում են իրար (նմանների), ապա որակվում են որպես բարդ ռեկուրսիվ (իրարք)։ Այնպես, ինչպես «Դրոսթի» անվանումով կակաոյի փոշու շատ հայտնի տուփի դեպքում, որի վրա պատկերված սկուտեղին դրված տուփի և բաժակի վրա պատկերված են էլի նույն տուփի և բաժակի պատկերները։

Ռեկուրսիա խմբագրել

կամ ծանոթություն ու սեր առաջին իսկ հայացքից

Բերենք ռեկուրսիվ օբյեկտների օրինակներ.

Հայելին հայելու մեջ խմբագրել

 
Հայելին հայելու մեջ։[1]
 
Նկարող ձեռքեր, Մ.Կ. Էշեր, 1948

Դասական օրինակ է, երբ հայելին տեղադրված է մի այլ հայելու դիմաց կամ էլ նկարում ենք այն, ինչ նկարում ենք։

Փաստորեն պատկերի մեջ նկարվող պատկերն է, որի մեջ նկարվող պատկերի մեջ նկարվող պատկերն է, որի մեջ նկարվող պատկերի մեջ նկարվող պատկերի մեջ նկարվող պատկերն է, որի մեջ ....։ Նմանապես, եթե փորձեք բջջայինով լուսանկարել հայելու մեջ արտացոլված նույն բջջայինի պատկերը։

Մ․Կ․ Էշերի «Նկարող ձեռքեր» նկարում՝ ձախը նկարում է աջին, որը նկարում է աջը նկարող ձախին, որը նկարում է ձախը նկարող աջը նկարող ձախը նկարող աջին, որը նկարում է ...։ Էշերի նկարը իրար կուլ տված օձերի պատմության նման է։ Այս դեպքում էլ մի օձը կուլ է տվել մեկ ուրիշ օձի պոչի կողմից, որն էլ, հակառակի պես, կուլ է տվել հենց առաջինին նրա պոչի կողմից։ Ստացվում է, որ օձերը կուլ են տվել ոչ միայն իրարք, այլև՝ իքնիրք։ Ահա այդ օձերի ռեկուրսիվ ագահության արդյունքը վեջին նկարում։

Տերտերն ու իր շունը խմբագրել

Մանկուց ծանոթ հայտնի բանաստեղծությունը տերտերի ու իր շան դժբախտ սիրո մասին՝

Տերտերն ուներ մի լավ շուն։
Նա իր շանը շատ էր սիրում։
Մի օր շունը միս գողացավ,
Տերտերը վրան խիստ բարկացավ։
Քարով զարկեց՝ շունը սատկեց։
Տարավ թաղեց, վրան գրեց.–
Տերտերն ուներ մի լավ շուն
Նա իր շանը շատ էր սիրում
Մի օր շունը միս գողացավ
Տերտերը վրան խիստ բարկացավ
Քարով զարկեց՝ շունը սատկեց
Տարավ թաղեց, վրան գրեց.–
Տերտերն ուներ մի լավ շուն ...

Այս բանաստեղծության ցանկացած քառյակից հետո սկսվում է էլի նույն բանաստեղծությունը։

Հիմա ես գիտեմ, որ դու արդեն գիտես, թե ինչ բան է ռեկուրսիան։ Ես նաև գիտեմ, որ դու գիտես, որ ես գիտեմ, որ դու գիտես, որ ես գիտեմ, որ դու գիտես, ..., թե ինչ է ռեկուրսիան։

Ծառ, ճյուղ, տոհմածառ խմբագրել

 
Անգլիայի թագուհի Վիկտորիայի (1840-1901) և արքայազն Ալբերտի (1831-1888) տոհմածառը

Ծառը կամ ճյուղը նույնպես ռեկուրսիվ են։ Ճյուղի ամեն ոստից աճում են նոր ճյուղեր, որոնց ամեն մի ոստից ևս աճում են ճյուղեր, և այդպես շարունակ։

Ձևականորեն ծառերը կարող են տարբեր գրաֆիկական ներկայացում ունենալ՝ ինչպես բնական աճող ծառ հիշեցնող պատկերով, այնպես էլ հարմար ձևով հարթությունը կամ տարածությունը համաչափ լցված ոստերը միացնող գծերի տեսքով։

Մարդկության կողմից ամենահայտնի և լայնորեն կիրառվող ամենահին ռեկուրսիվ բանը դա տոհմածառն է։ Անունն արդեն իսկ հուշում է, որ սա տոհմի սերունդների ծառի ճյուղերով ներկայացնումն է։

Տեսեք, թե ինչպես է պատկերված Անգլիայի թագուհի Վիկտորիայի (1840-1901) և արքայազն Ալբերտի (1831-1888) տոհմածառը։

Ներկայացված են նրանց տոհմի 9-ը ճյուղերը (երեխաները), ամեն մի ճյուղի ճյուղավորումները (թոռները) և այդ ճյուղավորումների որոշ շարունակությունները (ծոռները)։ Անմիջապես ճյուղերին, ոստերում պատկերված են տոհմի անդամները, իսկ կից՝ ամուսինները։

Գեն։ Բոլոր բիոլոգիական գոյացությունները՝ բույսերն ու կենդանիները, իրենց մեջ պարունակում են մի բան, որում պահվում է տվյալ բիոլոգիական տեսակի ողջ նկարագիրը, իր պատճենը։ Դա գենն է։ Գենով է պայմանավորած տվյալ բիոլոգիական տեսակի բազմացումն ու շարունակական վերարտադրությունը։

Բոլոր բիոլոգիական գոյացությունները ռեկուրսիվ են։

Տոհմածառը (մի զույգի, ամուսինների) գենետիկ ծառի պարզ տեսակն է։ Մարդկային ցեղի (աֆրիկացի Ադամի ու Եվայի) տոհմածառը դա մարդկության գենետիկ ծառն է։

Բառարան խմբագրել

 
Բառարանի ներկայացումը ծառի տեսքով

Ծառի տեսքով է ներկայացվում նաև բառարանը։ Օրինակ, դիտարկենք բառերի հետևյալ ցանկը.

ձևել, ղազ, քարտաշ, ագարակ, ձույլ, քարտարան, ալազան, ձևական, ղազան, ձու, ալագյազ, ագռա, ձեթ, քարտ, ձուկ, ագռավ, քար, ձոն, ղազախ, ձի, ալ։

Բառարանը կարող է ներկայացվել, օրինակ, հետևյալ ծառի տեսքով (ընդգծված քառակուսին ցանկի բառ է)։

Ուշադրություն դարձրեք, որ ծառը կառուցված է այնպես, որ եթե բառարանը կարդաք սլաքներով առաջինը ձախից սկզբունքով, ապա բառերը կդասավորվեն ըստ այբբենական կարգի.

ագարակ ագռա ագռավ ալ ալագյազ ալազան ձեթ ձեւական ձեւել ձի ձոն ձու ձուկ ձույլ ձրի ղազ ղազախ ղազան քար քարտ քարտաշ քարտարան

Շղթայական կոտորակներ խմբագրել

Ստորև բերված շղթայական կոտորակները ռեկուրսիվ են

 
 

Իսկապես, առաջինի դեպքում, նշանակելով կոտորակը x-ով և նկատելով, որ արտահայտության առաջին կոտորակի հայտարարը (նշված է կարմիրով) նույն x-ն է,

 

կունենանք

 

Ստացվածը նույնպես ռեկուրսիվ է՝ x-ը ներկայացված է մի արտահայտությամբ, որը պարունակում է x-ը։ Սա մարդկային առումով ավելի հեշտ ընկալելի, հաճախ հանդիպող և պարզ տեսք ունի։ Կոտորակի, այն է x-ի արժեքը հավասար է (1+√5)/2։ Սա հանրահայտ ոսկե հատման ճշգրիտ արժեքն է, իսկ մոտավորապես՝ 1.61803398875։

Հակադարձ գործողությունները (1+√5)/2-ը ներկայացնում են որպես ռեկուրսիվ, այնուհետև՝ շղթայական կոտորակի տեսքով։ Տեսեք.

 

Այժմ հավասարության աջ մասի կոտորակի հայտարարում գրված x-ը կարող ենք փոխարինել հենց իրենով՝ ձախ մասում գտնվող x-ին վերագրվող և նորից ինքն իրեն պարունակող 1+1/x արտահայտությամբ

 

Շարունակաբար, ամեն նոր ստացված արտահայտությունում փոխարինելով x-ը 1+1/x կամ արդեն նոր ստացված արտահայտությամբ, կունենանք

 

Նույնը ավելի ընդհանուր դեպքում՝

 

Որտեղից և

 

Եւ հակառակը՝

 

Ռադիոտեխնիկական անվերջ, այն է՝ ռեկուրսիվ շղթաներ խմբագրել

Ստորև բերված են դիմադրությունների այդպիսի շղթաների երկու օրինակ։

 

Առաջինի դեպքում, եթե նշանակենք շղթայի դիմադրությունը Z-ով և նկատենք, որ շղթայի առաջին հատվածից հետո եղած շղթան դիմադրությունների էլի նույն անվերջ շղթան է

 

կարող ենք փոխարինել այդ շարունակությունը հենց Z-ին հավասար դիմադրությամբ։ Արդյունքում կստանանք հասարակ միացման մի սխեմա, որի Z դիմադրությունը կներկայացվի հետևյալ բանաձևով

 

Եթե նշանակենք x = Z/R, ապա առաջին բանաձևը կարելի է ներկայացնել արդեն ծանոթ շղթայական կոտորակի տեսքով։ Իսկապես,

 

Երևի թե հիմա ավելի իմաստալից է հնչում «շղթայական կոտորակ» արտահայտությունը։

Հաջորդ, իրար մեջ ներդրված եռանկյուն միացումներով դիմադրությունների անվերջ շղթան կարելի է ներկայացնել երեք, եռանկյունաձև միացված Z դիմադրությունների համարժեք սխեմայով։

 

Ստացված եռանկյան գագաթների միջև դիմադրությունը հավասար է 2Z/3։ Քանի որ շղթայի ներսում էլի նույն շղթան է, ապա ներքին շղթան կարելի է փոխարինել եռանկյունաձև միացված Z դիմադրություններով։ Ստացված սխեմայի մեծ եռանկյան գագաթների միջև դիմադրությունը էլի 2Z/3 է, այնպես որ կարող ենք գրել

 

Բանաձևերը հատուկ բերված են այս տեսքով, որպեսզի հուշեն ստացման եղանակը (պետք է կիսվի կենտրոնում միացված Z դիմադրությունը և միացվեն համապոտենցիալ կետերը)։ Ի վերջո գագաթների միջև դիմադրության համար կստանանք 2Z/3 = 2R/√3 կամ Z = √3·R։

Ռեկուրսիվ կորեր խմբագրել

Որպես օրինակ ներկայացնենք քառակուսուց ստացվող այդպիսի մի կոր։ Ակնառու լինելու համար քառակուսու կողմերը ներկայացնենք վեկտորներով (սլաքներով) և համարակալենք 1-4։ Այժմ ներկայացնենք քառակուսու 1-ին կողմը մյուս 1-4 կողմերի միջոցով՝ կցելով կողմերն իրար ինչ որ հերթականությամբ։ Ասենք 1→2→1→4→1 հերթականությամբ, որի պատկերը ներկայացված է հարակից նկարում։

 

Հիմա, 1-ին կողմի այս նոր ներկայացման բոլոր հատվածները նույնպես փոխարինենք 1→2→1→4→1 կողմերի հաջորդականությամբ, ինչպես պատկերված է ստորև բերված նկարում։

 

Ի վերջո, այս 2-րդ փոխարկումից հետո կստանանք հարակից պատկերը։ Նույն սկզբունքով, 3-րդ անգամ, ստացված պատկերում կատարենք նույն փոխարկումները։ Այս 3-րդ և 4-6-րդ կարգի փոխարկումների արդյունքները հաջորդիվ պատկերված են ստորև՝

 
 
 
 

Եթե մենք կատարենք նկարագրված գործողությունները քառակուսու բոլոր կողմերի հետ, ապա առաջին փոխարկումից հետո, 1-ին կարգում քառակուսին կներկայացվեր ստորև բերված տեսքով։ Այս պատկերի ամեն մի հատվածը նորից փոխարինելով տրված ներկայացումով, 2-րդ կարգում կստանանք հարակից պատկերը՝

 
 

3-6-րդ կարգի փոխարկումների արդյունքները հաջորդիվ բերված են ստորև՝

 
 
 
 

Սույն հոդվածում ներկայացված ռեկուրսիվ կորերը կառուցված են   Recursive Curve Maker ծրագրով[2], իսկ hաջորդիվ բերված են նաև այդ ծրագրով կառուցված որոշ կորերի պատկերները։ Եթե խոշորացնեք պատկերները 4-10 անգամ, ապա կտեսնեք այդ կորերի կառուցման բոլոր մանրամասները։

Հիլբերտի փակ կորի 1-8 կարգերը (գծագրության ցուցադրությունը՝ այս տեսագրությունում)

 
Հիլբերտի փակ կորի 1-ին կարգը
 
Հիլբերտի փակ կորի 2-րդ կարգը
 
Հիլբերտի փակ կորի 3-րդ կարգը
 
Հիլբերտի փակ կորի 4-րդ կարգը
 
Հիլբերտի փակ կորի 5-րդ կարգը
 
Հիլբերտի փակ կորի 6-րդ կարգը
 
Հիլբերտի փակ կորի 7-րդ կարգը
 
Հիլբերտի փակ կորի 8-րդ կարգը

Սերպինսկու քառանիստ կորի 1-8 կարգերը

 
Սերպինսկու քառանիստ կորի 1-ին կարգը
 
Սերպինսկու քառանիստ կորի 2-րդ կարգը
 
Սերպինսկու քառանիստ կորի 3-րդ կարգը
 
Սերպինսկու քառանիստ կորի 4-րդ կարգը
 
Սերպինսկու քառանիստ կորի 5-րդ կարգը
 
Սերպինսկու քառանիստ կորի 6-րդ կարգը
 
Սերպինսկու քառանիստ կորի 7-րդ կարգը
 
Սերպինսկու քառանիստ կորի 8-րդ կարգը

Սահմանային դեպքում, երբ կառուցման կարգը ձգտում է անվերջության, ստացվում են ռեկուրսիվ կորեր՝ ինքնիրք, որի ամեն մի մասը էլի ինքն է։ Տեսեք, թե սահմանային դեպքում ինչպիսին է Սերպինսկու եռանիստ ռեկուրսիվ կորը։

 
Սերպինսկու եռանիստ կորի 1-ին կողմի կառուցումը եռանկյան կաղմերից
 
Սերպինսկու եռանիստ կորի 1-ին կարգը
 
Սերպինսկու եռանիստ կորի 2-րդ կարգը
 
Սերպինսկու եռանիստ կորի 3-րդ կարգը
 
Սերպինսկու եռանիստ կորի 4-րդ կարգը
 
Սերպինսկու եռանիստ կորի 5-րդ կարգը
 
Սերպինսկու եռանիստ կորի 6-րդ կարգը
 
Սերպինսկու եռանիստ ռեկուրսիվ կորի կառուցվածքը

Ռեկուրսիան ծրագրային համակարգերում խմբագրել

Ֆրակտալ խմբագրել

Ռեկուրսիվ բնույթի այս և նման պատկերները մոդայիկ անուն ունեն՝ ֆրակտալներ։ Ամենահայտնի ֆրակտալները ստեղծել և գովազդել է Մանդելբրոտը, որոնց մասին նույնիսկ ֆիլմեր են նկարահանվել։ Նկարում պատկերված ֆրակտալով կարող եք 10 րոպե ճանապարհորդել դիտելով այս ֆիլմը՝ ։ Այս պատկերների խոշորացման չափն արդեն հասել է 10-ի 288 աստիճանի (!)։

Ռեկուրսիան այլ ոլորտներում խմբագրել

«Գտնված երազը» մուլտֆիլմում աղջնակը հայտնվում է պատից կախված նկարում, որտեղ անքուն ծերուկի տանը կախված է նկար, ուր ևս կարող է մտնել և ․․․։

Ռեկուրսիայի հնարքն իր ստեղծագործություններում շատ է օգտագործել Ռոբերտ Սահակյանցը։ Օրինակ, «Խոսող ձուկը» ֆիլմում Էխ-էխի ձևափոխումներն ու խոսող ձկան իրար ներառող պատասխանները տարատեսակ ռեկուրսիաների մի ողջ շարք են ներկայացնում[3]։

 
Իսկ դուք կերե՞լ եք ռեկուրսիվ ծաղկակաղամբ (Romanesco broccoli) ...: Նրա ամեն մի կտորը էլի նույն ծաղկակաղամբի տեսքն ու կառուցվածքն ունի։ Հետաքրքիր է, նրա համն է՞լ է ռեկուրսիվ ...


 
Էլ ինչ Դոնալդ Կնուտ առանց ռեկուրսիայի՝ Դոնալդ Կնուտ — Յակոբ Ապելբաում — Դոնալդ Կնուտ — ․ ․ ․

Ռեկուրսիայի հաճախ հանդիպող սխալ օրինակներ խմբագրել

կամ ռեկուրենտը միշտ չէ, որ ռեկուրսիվ է

Շատ դեպքերում ռեկուրսիվ օբյեկտները կարելի է ներկայացնել որպես գործողությունների կամ օբյեկտների այնպիսի հաջորդականություն, երբ հաջորդը ներկայացվում է նախորդի միջոցով։ Այդպիսի ներկայացումը կոչվում է ռեկուրենտ։ Շղթայական կոտորակների դեպքում, ասենք

 

նրա x արժեքը կարելի է հաշվել հաջորդական քայլերով, ներկայացնելով այն հետևյալ կերպ՝

xn+1 = 1 + 1/(1 + xn)

Սա շղթայական կոտորակի ռեկուրենտ, հաջորդական քայլերով ներկայացումն է։ Սահմանային անցման դեպքում, երբ xnx և xn+1x, էլի ստանում ենք նախորդը՝

 
 

մի բան, որը պարունակում է ինքն իրեն և չի հանդիսանում նույնություն՝ x ≡ x։

Սակայն, միշտ չէ, որ ռեկուրենտ բանաձևը, օբյեկտի ռեկուրենտ, հաջորդական ներկայացումը համարժեք է ռեկուրսիվ ներկայացմանը։ Եթե սահմանային անցումով չի ստացվում ռեկուրսիվ օբյեկտ, ապա այն ռեկուրենտ էլ կմնա։

Օրինակ ֆակտորիալը՝ N! = 1·2·3·...N հաճախ ներկայացվում է որպես ռեկուրսիվ օբյեկտ։ Ֆակտորիալը հաշվելու (N+1)! = N!·(N+1) ռեկուրենտ բանաձևի աջ մասը դիտարկվում է որպես էլի ֆակտորիալ պարունակող արտահայտություն և, այդ իսկ պատճառով, ռեկուրսիվ։ Սակայն, հասկանալի է, որ սահմանային դեպքում ֆակտորիալը ռեկուրսիվ ներկայացում N! = F(N!) չունի, այն ինքն իրենով չի ներկայացվում։

Այս առումով պետք է ուշադիր լինել. եթե ռեկուրենտ ներկայացումը սահմանային անցումով չի դառնում ռեկուրսիվ ներկայացում, ապա այն ռեկուրսիվ օբյեկտի ռեկուրենտ ներկայացում չէ։ X = F(X) ռեկուրսիվ ներկայացումը շատ դեպքերում կարելի է ներկայացնել որպես Xn+1 = F(Xn) հաջորդականություն, ռեկուրենտ արտահայտություն։ Սակայն հակառակը, կամայական Xn+1 = F(Xn) ռեկուրենտ ներկայացում միշտ չէ, որ կարող է ներկայացվել որպես ռեկուրսիվ՝ X = F(X)։

Նրբություններ կան նաև ինքնին ռեկուրսիվ օբյեկտի, և նրա փուլային ներկայացումների արժեքների հետ կապված հարցերում։ Օրինակ, տոհմածառում ճյուղերը տարբեր են արժեքի, տարբեր մարդկանց ներկայացնելու իմաստով, սակայն ռեկուրսիվ է կառուցվածքային, ֆունկցիոնալ իմաստով։ «Մատրյոշկայի» մեջ եղած նման առարկան գուցե և նկարազարդված լինի որպես «իվանուշկա» կամ փիսիկի տեսք ունենա, սակայն կառուցվածքային, ֆունկցիոնալ առումով բոլորն էլ «մատրյոշկա» են (սեղմ արտապատկերումներ են)։

Ինչպես և բոլոր նախնական հասկացությունները, ռեկուրսիան նույնպես ճշգրիտ և լրիվ սահմանում չունի։ Այնպես, ինչպես բազմության կամ այլ նախնական հասկացություններ մաթեմատիկայում, ֆիզիկայում և լեզվում ընդհանրապես՝ քանզի սկզբունքորեն ոչ մի համակարգ չի կարող լրիվ լինել։ Բացատրական բառարանը չի կարող բացատրել (սահմանել) բոլոր հասկացությունները, քանի որ մի հասկացություն պետք է բացատրվի մի այլ, ուրիշ հասկացությունով, եթե դա մաթեմատիկական նույնություն (տաֆտոլոգիա) չէ (տես Գյոդելի թեորեմը լրիվության մասին)։

Ռեկուրսիան ծրագրավորման մեջ խմբագրել

Բազմաթիվ ծրագրավորման ֆունկցիաներում և ալգորիթմներում ևս օգտագործվում է ռեկուրսիվ մեթոդը։

 struct element_of_list
 {
   struct element_of_list *next; /* հաջորդ նույն տեսքն ունեցող ֆունկցիային անցնող կոդ */
   int data; /* Տվյալներ պարունակող փոփոխական */
 };

Գրականություն խմբագրել

  • Wirth, Niklaus (1976). Citation. Algorithms + Data Structures = Programs. Prentice-Hall. ISBN 978-0-13-022418-7. 0130224189. {{cite book}}: Check |url= value (օգնություն) (անգլ.)
    Նիկլաուս Վիրտի այս գրքում արտակարգ շարադրված են ծրագրավորման հիմնարար հասկացությունները, մասնավորապես տվյալների կառուցվածքային ներկայացումը և կառուցվածքային տվյալների մշակման ալգորիթմները։ Օրինակները բերված են այդ պահին հեղինակի կողմից ստեղծված և մինչ այժմ էլ մեծ տարածում ունեցող ծրագրավորման Պասկալ լեզվով, որում և առաջին անգամ լիարժեք սկսեց օգտագործվել ռեկուրսիայի գաղափարը որպես տվյալների ներկայացման և ալգորիթմների իրականացման հիմնարար եղանակ։ Թարգմանված է բազմաթիվ լեզուներով և ծրագրավորման դասընթացի գրականության ցանկում մինչ այժմ էլ պարտադիր ընթերցանության գիրք է։
  • Dijkstra, Edsger W. (1960). «Recursive Programming». Numerische Mathematik. 2 (1): 312–318. doi:10.1007/BF01386232. (անգլ.)
  • Johnsonbaugh, Richard (2004). Discrete Mathematics. Prentice Hall. ISBN 0-13-117686-2. (անգլ.)
  • Hofstadter, Douglas (1999). Gödel, Escher, Bach: an Eternal Golden Braid. Basic Books. ISBN 0-465-02656-7. (անգլ.)
  • Shoenfield, Joseph R. (2000). Recursion Theory. A K Peters Ltd. ISBN 1-56881-149-7.
  • Causey, Robert L. (2001). Logic, Sets, and Recursion. Jones & Bartlett. ISBN 0-7637-1695-2. (անգլ.)
  • Cori, Rene; Lascar, Daniel; Pelletier, Donald H. (2001). Recursion Theory, Gödel's Theorems, Set Theory, Model Theory. Oxford University Press. ISBN 0-19-850050-5.{{cite book}}: CS1 սպաս․ բազմաթիվ անուններ: authors list (link) (անգլ.)
  • Barwise, Jon; Moss, Lawrence S. (1996). Vicious Circles. Stanford Univ Center for the Study of Language and Information. ISBN 0-19-850050-5.{{cite book}}: CS1 սպաս․ բազմաթիվ անուններ: authors list (link) - offers a treatment of corecursion. (անգլ.)
  • Rosen, Kenneth H. (2002). Discrete Mathematics and Its Applications. McGraw-Hill College. ISBN 0-07-293033-0. (անգլ.)
  • Cormen, Thomas H., Charles E. Leiserson, Ronald L. Rivest, Clifford Stein (2001). Introduction to Algorithms. Mit Pr. ISBN 0-262-03293-7.{{cite book}}: CS1 սպաս․ բազմաթիվ անուններ: authors list (link) (անգլ.)
  • Kernighan, B.; Ritchie, D. (1988). The C programming Language. Prentice Hall. ISBN 0-13-110362-8.{{cite book}}: CS1 սպաս․ բազմաթիվ անուններ: authors list (link) (անգլ.)
  • Stokey, Nancy,; Robert Lucas; Edward Prescott (1989). Recursive Methods in Economic Dynamics. Harvard University Press. ISBN 0-674-75096-9.{{cite book}}: CS1 սպաս․ բազմաթիվ անուններ: authors list (link) (անգլ.)
  • Hungerford (1980). Algebra. Springer. ISBN 978-0-387-90518-1., first chapter on set theory. (անգլ.)

Ծանոթագրություններ խմբագրել

  1. Այսպիսի լուսանկար իրականում գոյություն չունի՝ այն պատրաստվել է բացատրելու համար, թե ինչ կտեսներ աղջիկը, եթե իսկապես իր դիմաց լիներ մի այլ հայելի։ Իրականում հայելու մեջ արտացոլված են լուսանկարիչի և սենյակի այդ մասի պատկերը, իսկ հայելու շրջանակի մեջ եղած պատկերը բազմաթիվ փոխարինումներով (ռեկուրսիվ) ներկայացվել է նույն պատկերով։
  2.   Recursive Curve Maker, Վահրամ Մխիթարյան, 2011 թ․
    Ծրագրով կարելի է ստեղծել 3-16 սիմետրիայի կամայական ռեկուրսիվ կորեր, խմբագրել և պահպանել BMP ֆորմատի սև-սպիտակ կամ գունավոր նկարների տեսքով։ Այն գրված է Pascal-ով Delphi միջավայրում, Windows համակարգում աշխատելու համար։ Ծրագիրը ներառում է 3-16 կարգի սիմետրիայով, ներառյալ Հիլբերտի և Սերպինսկու ռեկուրսիվ կորերի կառուցման 90(180) ցուցադրական օրինակներ։ Ռեկուրսիվ կորեր կարող են գեներացվել նաև պատահական օրինաչափությամբ։ Ծրագիրն ունի կորի կառուցման գծագրությունը դանդաղ ցուցադրելու հնարավորություն։ Օգտվելիս շատ մի ոգևորվեք բարձր կարգի կորերի կառուցմամբ, քանի որ կողմերի թիվը և, համապատասխանաբար, կառուցման ժամանակը կտրուկ էքսպոնենտով աճում է։
  3. Վատ չէր լինի, եթե վերը հիշատակված տերտերի ու նրա շան դժբախտ սիրո մասին ևս Սահակյանցի ոգով մի ռեկուրսիվ մուլտֆիլմ նկարվեր։

Արտաքին հղումներ խմբագրել

Տես՝ recursion or recursivity Վիքիբառարան, բառարան և թեզաուրուս