fbpx
Wikipedia

Dövrün tapılması

İnformatikada dövrün tapılması iterativ funksiyalar ardıcıllığında dövrün tapılması üçün alqoritmik problemdir (alqoritmdir).

Sonlu çoxluğunun özünə uyğun gələn, hər hansı bir funksiyası üçün, və eyni zamanda çoxluğundan olan başlanğıc nöqtəsi üçün iterativ funksiyalar ardıcıllığı aşağıdakı kimidir:

Nəticə etibarilə burada funksiyanın eyni qiyməti aldığı cütlük olmalıdır, yəni elə bir cütlüyü olmalıdır ki, şərti ödənmiş olsun. Bu baş verən andan ardıcıllıq dövri olaraq aralığında eyni ardıcıllığı təkrarlayacaqdır. Dövrün tapılması məsələsi -a görə qiymətlərinin tapılmasıdır.

Bu məsələnin həlli üçün müxtəlif alqoritmlər mövcuddur. Məsələn, Floydun "bağa və dovşan alqoritmi" iki göstəricinin müxtəlif sürətlərlə hərəkət etdirilməsi və onlarn hansısa bir nöqtədə rastlaşmasına əsaslanır. Brentin alqoritmi isə eksponensial axtarış üsuluna əsaslanıb. Hər iki alqoritm iki göstəricidən istifadə edir. Yaddaşı daha çox istismar etməklə hesablamaları bir qədər azaldan digər müxtəlif alqoritmlər də mövcuddur.

Dövrün tapılması alqoritminin tətbiqi müxtəlifdir, nümunə olaraq psevdo-təsadüfi ədədlər generatoru, kriptoqrafik həş funksiyalar, ədədi üsullar üçün alqoritmlər, kompüter proqramlarında və konfiqurasiyalarında sonsuz dövrlərin tapılması və s.

Nümunə

 
{0,1,2,3,4,5,6,7,8} çoxluğuna uyğun funksiyaqraf

Şəkildə   çoxluğunun özünə uyğun olan   funksiyası verilmişdir. Əgər   nöqtəsindən başlayaraq ardıcıl olaraq   funksiyasını tətbiq etsək aşağıdakı qiymətlər ardıcıllığını alarıq.

2, 0, 6, 3, 1, 6, 3, 1, 6, 3, 1, ....


Burada 6, 3, 1

dövrdür. 

Problemin qoyuluşu

Fərz edək ki,   sonlu çoxluqdur,   isə   çoxluğundan özünə olan hər hansı funksiyadır. Burada     çoxluğundan olan bir elementdir. İxtiyari i > 0

üçün xi = f(xi − 1) qəbul edək. 

Fərz edək ki,   elementi   elementlər ardıcıllığında sonsuz olaraq təkrar olunur və burada   ən kiçik indeks,   (dövrün uzunluğu) isə ən kiçik müsbət ədəddir ki,   bərabərliyini doğru edir. Dövrün tapılması məsələsi    ədədlərini tapmaqdan ibarətdir.

Algorithms

Floyd's Tortoise and Hare

Python proqramlaşdırma dilində kodu:

def floyd(f, x0): # Alqoritmin əsas addımı: x_i = x_2i təkrarlanmasının tapılması. # Dovşan bağadan iki dəfə daha sürətli hərəkət edir və # onlar arasında məsafə hər addımda 1 vahid artır. # Bir vaxt onlar hər ikisi dövrün daxilində olacaqlar, # və onlar arasında məsafə λ ədədinə bölünən olacaq. tortoise = f(x0) # f(x0) qiyməti x0-dan sonrakı element olacaq. hare = f(f(x0)) while tortoise != hare: tortoise = f(tortoise) hare = f(f(hare)) # Bu anda bağanın mövqeyi, ν, (hansı ki, həm də başa ilə dovşan # arasında məsafəyə bərabərdir) λ dövrünə bölünür. # Dovşan dövrün daxilində bir addım olmaqla hərəkət edir,  # başa isə yenidən x0 nöqtəsindən başlayaraq dövrə tərəf hərəkət edir. # intersect at the beginning of the circle. Onlar arasında məsafə # sabit olaraq 2ν, və λ-ya bölünən olduğu üçün, # bağa μ mövqeyinə çatan kimi görüşürlər. # μ görüş yerinin tapılması  mu = 0 tortoise = x0 while tortoise != hare: tortoise = f(tortoise) hare = f(hare) # Dovşan və bağa eyni sürətlə hərəkət edirlər mu += 1 # x_μ-dən başlayaraq ən qısa dövrün tapılması # Dovşan bir addım hərəkət etməkdədir, bağa isə durub. # λ tapılana qədər lam dəyişəni bir vahid artırılır lam = 1 hare = f(tortoise) while tortoise != hare: hare = f(hare) lam += 1 return lam, mu 

Brent-in alqoritmi

Python proqramlaşdırma dilində kodu:

def brent(f, x0): # əsas addım: 2 ədədinin qüvvətinin tapılması power = lam = 1 tortoise = x0 hare = f(x0) # f(x0) - x0-dan sonrakı element/bənd. while tortoise != hare: if power == lam: # 2-nin yeni qüvvəti?  tortoise = hare  power *= 2  lam = 0 hare = f(hare) lam += 1 # λ uzunluqlu dövrün başlanğıc nöqtəsi mu = 0 tortoise = hare = x0 for i in range(lam): # range(lam) 0, 1, ... , lam-1 qiymətlərindən ibarət siyahı hazırlanır hare = f(hare) # Hazırda dovşan və bağa arasında məsafə λ olur. # Daha sonra dovşan və bağa rastlaşana qədər eyni sürətlə hərəkət edirlər while tortoise != hare: tortoise = f(tortoise) hare = f(hare) mu += 1 return lam, mu 

Tətbiqi

Dövrün tapılması məsələsinin bir çox praktiki tətbiqi vardır.

  • Psevdo-təsadüfi ədədlər generatorunun dövrünün uzunluğu onun gücünün əsas meyarlarından biridir. Floydun üsulunu təsvir edərkən bu tətbiqə Knut istinad etmişdir. Brent xətti konqruental generatorun sınaq nəticələrini təsvir etmişdir. Generatorun dövrü deyilənlərdən daha qısa olduğu ortaya çıxmışdır. Daha mürəkkəb generatorlar üçün, dövrün daxil olduğu qiymətlər ardıcıllığı generatorun çıxışı əvəzinə onun daxili vəziyyətini ifadə edə bilər.
  • Bəzi ədədi üsullar alqoritmləri dövrün tapılmasına əsaslanır. Buraya tam ədədlərin faktorizasiyası üçün Pollard-ın rho alqoritmi də aiddir. Həmçinin diskret loqarifmləmə üçün onun kenquru alqoritmi də buna nümunədir.
  • Kriptoqrafiyada iki müxtəlif xμ−-1xλ+μ−-1 qiymətlərinin ixtiyari bir f kriptoqrafik funksiyası tərəfindən eyni xμ qiymətinə uyğun olması onun zəifliyindən xəbər verir. Məsələn, Quisquater və Delescaille dövrün tapılması alqoritmini Data Encryption Standard açarlar cütü və mətnin axtarışı üçün tətbiq edir, harada ki, mətni şifrələnmiş qiymətə uyğun gəlir. Kaliski, Rivest, və Sherman dövrün tapılması alqoritmini DES alqoritminə hücum üçün istifadə edirlər. Bu üsul həm də kriptoqrafik həş funksiyalarda kolliziyaların tapılması üçün də istifadə edilə bilər.
  • Dövrün tapılması eyni zamanda müxtəlif kompüter proqramlarında sonsuz dövrlərin aşkar edilməsində də praktiki əhəmiyyətə malikdir.
  • Hüceyrə avtomatlarının simulyasiyasında periodik konfiqurasiyasların tapılması üçün avtomatın vəziyyətləri ardıcıllığına tətbiq etməklə dövrün tapılması alqoritmindən istifadə səmərəlidir.
  • Əlaqəli siyahıların formalarının analizi bu verilənlər strukturundan istifadə edən alqoritmlərin düzgünlüyünün yoxlanılması üçün istifadə olunur. Əgər hər hansı bir bənd səhvən özündən əvvəlki bəndlə əlaqələnibsə o zaman bu siyahıda dövr vardır, hansı ki, onu bu alqoritmlə aşkar etmək olar. Common Lisp dilində, S-expression printeri, *print-circle* dəyişəni altında dövrü aşkar edir və yığcam şəkildə çap edir.
  • Teske hesablama qrupları nəzəriyyəsində tətbiqi belə təsvir edir: Abel qrupunun strukturunun onun generatorlar çoxluğundan təyin edilməsi. Kalinski və b. tərəfindən kriptoqrafik alqoritmlərə də naməlum qruplarn quruluşunun açılması məsələsi kimi də baxıla bilər.
  • Fich, (1981) fəza mexanikasının kompüter simulyasiyasında dövrün tapılması alqoritminin tətbiqini vurğulayır, orada o, William Kahan-a işarə edir. Burada o, orbital sistemin faza fəzasında dövrün aşkar edilməsinin köməyi ilə sistemin simulyasiya zamanı periyodik olub-olmamasını təyin etmək nəzərdə tutulur.

İstinadlar

  1. Joux, Antoine (2009), Algorithmic Cryptanalysis, CRC Press, səh. 223, ISBN 9781420070033.
  2. Knuth, Donald E. (1969), The Art of Computer Programming, vol. II: Seminumerical Algorithms, Addison-Wesley, səh. 7, exercises 6 and 7
  3. Brent, R. P. (1980), (PDF), BIT Numerical Mathematics, 20 (2): 176–184, doi:10.1007/BF01933190, 2009-09-24 tarixində orijinalından (PDF) arxivləşdirilib, İstifadə tarixi: 2017-07-08.
  4. Pollard, J. M. (1975), "A Monte Carlo method for factorization", BIT, 15 (3): 331–334, doi:10.1007/BF01933667.
  5. Pollard, J. M. (1978), "Monte Carlo methods for index computation (mod p )", Mathematics of Computation, American Mathematical Society, 32 (143): 918–924, doi:10.2307/2006496, JSTOR 2006496 (#invisible_char).
  6. Quisquater, J.-J.; Delescaille, J.-P., How easy is collision search? Application to DES // Advances in Cryptology – EUROCRYPT '89, Workshop on the Theory and Application of Cryptographic Techniques, Lecture Notes in Computer Science, 434, Springer-Verlag, 429–434[ölü keçid].
  7. Kaliski, Burton S., Jr.; Rivest, Ronald L.; Sherman, Alan T. (1988), "Is the Data Encryption Standard a group? (Results of cycling experiments on DES)", Journal of Cryptology, 1 (1): 3–36, doi:10.1007/BF00206323.
  8. Joux, (2009), Section 7.5, Collisions in hash functions, pp. 242–245.
  9. Van Gelder, Allen (1987), "Efficient loop detection in Prolog using the tortoise-and-hare technique", Journal of Logic Programming, 4 (1): 23–31, doi:10.1016/0743-1066(87)90020-3.
  10. Nivasch, Gabriel (2004), "Cycle detection using a stack", Information Processing Letters, 90 (3): 135–140, doi:10.1016/j.ipl.2004.01.016.
  11. Auguston, Mikhail; Hon, Miu Har (1997), Assertions for Dynamic Shape Analysis of List Data Structures // AADEBUG '97, Proceedings of the Third International Workshop on Automatic Debugging, Linköping Electronic Articles in Computer and Information Science, Linköping University, 37–42.
  12. Teske, Edlyn (1998), "A space-efficient algorithm for group structure computation", Mathematics of Computation, 67 (224): 1637–1663, doi:10.1090/S0025-5718-98-00968-5.
  13. Fich, Faith Ellen (1981), Lower bounds for the cycle detection problem // Proc. 13th ACM Symposium on Theory of Computing, 96–105, doi:10.1145/800076.802462.

dövrün, tapılması, informatikada, dövrün, tapılması, iterativ, funksiyalar, ardıcıllığında, dövrün, tapılması, üçün, alqoritmik, problemdir, alqoritmdir, sonlu, displaystyle, çoxluğunun, özünə, uyğun, gələn, hər, hansı, displaystyle, funksiyası, üçün, eyni, za. Informatikada dovrun tapilmasi iterativ funksiyalar ardicilliginda dovrun tapilmasi ucun alqoritmik problemdir alqoritmdir Sonlu S displaystyle S coxlugunun ozune uygun gelen her hansi bir f displaystyle f funksiyasi ucun ve eyni zamanda S displaystyle S coxlugundan olan x 0 displaystyle x 0 baslangic noqtesi ucun iterativ funksiyalar ardicilligi asagidaki kimidir x 0 x 1 f x 0 x 2 f x 1 x i f x i 1 displaystyle x 0 x 1 f x 0 x 2 f x 1 dots x i f x i 1 dots Netice etibarile burada funksiyanin eyni qiymeti aldigi cutluk olmalidir yeni ele bir i displaystyle i ve j displaystyle j cutluyu olmalidir ki x i x j displaystyle x i x j serti odenmis olsun Bu bas veren andan ardicilliq dovri olaraq x i displaystyle x i ve x j 1 displaystyle x j 1 araliginda eyni ardicilligi tekrarlayacaqdir Dovrun tapilmasi meselesi f displaystyle f ve x 0 displaystyle x 0 a gore i displaystyle i ve j displaystyle j qiymetlerinin tapilmasidir Bu meselenin helli ucun muxtelif alqoritmler movcuddur Meselen Floydun baga ve dovsan alqoritmi iki gostericinin muxtelif suretlerle hereket etdirilmesi ve onlarn hansisa bir noqtede rastlasmasina esaslanir Brentin alqoritmi ise eksponensial axtaris usuluna esaslanib Her iki alqoritm iki gostericiden istifade edir Yaddasi daha cox istismar etmekle hesablamalari bir qeder azaldan diger muxtelif alqoritmler de movcuddur Dovrun tapilmasi alqoritminin tetbiqi muxtelifdir numune olaraq psevdo tesadufi ededler generatoru kriptoqrafik hes funksiyalar ededi usullar ucun alqoritmler komputer proqramlarinda ve konfiqurasiyalarinda sonsuz dovrlerin tapilmasi ve s Mundericat 1 Numune 2 Problemin qoyulusu 3 Algorithms 3 1 Floyd s Tortoise and Hare 3 2 Brent in alqoritmi 4 Tetbiqi 5 IstinadlarNumune Redakte 0 1 2 3 4 5 6 7 8 coxluguna uygun funksiya ve qraf Sekilde S 0 1 2 3 4 5 6 7 8 displaystyle S 0 1 2 3 4 5 6 7 8 coxlugunun ozune uygun olan f displaystyle f funksiyasi verilmisdir Eger x 0 2 displaystyle x 0 2 noqtesinden baslayaraq ardicil olaraq f displaystyle f funksiyasini tetbiq etsek asagidaki qiymetler ardicilligini alariq 2 0 6 3 1 6 3 1 6 3 1 Burada 6 3 1 dovrdur Problemin qoyulusu RedakteFerz edek ki S displaystyle S sonlu coxluqdur f displaystyle f ise S displaystyle S coxlugundan ozune olan her hansi funksiyadir Burada x 0 displaystyle x 0 S displaystyle S coxlugundan olan bir elementdir Ixtiyari i gt 0 ucun xi f xi 1 qebul edek Ferz edek ki x m displaystyle x mu elementi x i displaystyle x i elementler ardicilliginda sonsuz olaraq tekrar olunur ve burada m displaystyle mu en kicik indeks l displaystyle lambda dovrun uzunlugu ise en kicik musbet ededdir ki x m x m l displaystyle x mu x mu lambda beraberliyini dogru edir Dovrun tapilmasi meselesi l displaystyle lambda ve m displaystyle mu ededlerini tapmaqdan ibaretdir 1 Algorithms RedakteFloyd s Tortoise and Hare Redakte Python proqramlasdirma dilinde kodu def floyd f x0 Alqoritmin esas addimi x i x 2i tekrarlanmasinin tapilmasi Dovsan bagadan iki defe daha suretli hereket edir ve onlar arasinda mesafe her addimda 1 vahid artir Bir vaxt onlar her ikisi dovrun daxilinde olacaqlar ve onlar arasinda mesafe l ededine bolunen olacaq tortoise f x0 f x0 qiymeti x0 dan sonraki element olacaq hare f f x0 while tortoise hare tortoise f tortoise hare f f hare Bu anda baganin movqeyi n hansi ki hem de basa ile dovsan arasinda mesafeye beraberdir l dovrune bolunur Dovsan dovrun daxilinde bir addim olmaqla hereket edir basa ise yeniden x0 noqtesinden baslayaraq dovre teref hereket edir intersect at the beginning of the circle Onlar arasinda mesafe sabit olaraq 2n ve l ya bolunen oldugu ucun baga m movqeyine catan kimi gorusurler m gorus yerinin tapilmasi mu 0 tortoise x0 while tortoise hare tortoise f tortoise hare f hare Dovsan ve baga eyni suretle hereket edirler mu 1 x m den baslayaraq en qisa dovrun tapilmasi Dovsan bir addim hereket etmekdedir baga ise durub l tapilana qeder lam deyiseni bir vahid artirilir lam 1 hare f tortoise while tortoise hare hare f hare lam 1 return lam mu Brent in alqoritmi Redakte Python proqramlasdirma dilinde kodu def brent f x0 esas addim 2 ededinin quvvetinin tapilmasi power lam 1 tortoise x0 hare f x0 f x0 x0 dan sonraki element bend while tortoise hare if power lam 2 nin yeni quvveti tortoise hare power 2 lam 0 hare f hare lam 1 l uzunluqlu dovrun baslangic noqtesi mu 0 tortoise hare x0 for i in range lam range lam 0 1 lam 1 qiymetlerinden ibaret siyahi hazirlanir hare f hare Hazirda dovsan ve baga arasinda mesafe l olur Daha sonra dovsan ve baga rastlasana qeder eyni suretle hereket edirler while tortoise hare tortoise f tortoise hare f hare mu 1 return lam muTetbiqi RedakteDovrun tapilmasi meselesinin bir cox praktiki tetbiqi vardir Psevdo tesadufi ededler generatorunun dovrunun uzunlugu onun gucunun esas meyarlarindan biridir Floydun usulunu tesvir ederken bu tetbiqe Knut istinad etmisdir 2 Brent 3 xetti konqruental generatorun sinaq neticelerini tesvir etmisdir Generatorun dovru deyilenlerden daha qisa oldugu ortaya cixmisdir Daha murekkeb generatorlar ucun dovrun daxil oldugu qiymetler ardicilligi generatorun cixisi evezine onun daxili veziyyetini ifade ede biler Bezi ededi usullar alqoritmleri dovrun tapilmasina esaslanir Buraya tam ededlerin faktorizasiyasi ucun Pollard in rho alqoritmi de aiddir 4 Hemcinin diskret loqarifmleme ucun onun kenquru alqoritmi de buna numunedir 5 Kriptoqrafiyada iki muxtelif xm 1 ve xl m 1 qiymetlerinin ixtiyari bir f kriptoqrafik funksiyasi terefinden eyni xm qiymetine uygun olmasi onun zeifliyinden xeber verir Meselen Quisquater ve Delescaille 6 dovrun tapilmasi alqoritmini Data Encryption Standard acarlar cutu ve metnin axtarisi ucun tetbiq edir harada ki metni sifrelenmis qiymete uygun gelir Kaliski Rivest ve Sherman 7 dovrun tapilmasi alqoritmini DES alqoritmine hucum ucun istifade edirler Bu usul hem de kriptoqrafik hes funksiyalarda kolliziyalarin tapilmasi ucun de istifade edile biler 8 Dovrun tapilmasi eyni zamanda muxtelif komputer proqramlarinda sonsuz dovrlerin askar edilmesinde de praktiki ehemiyyete malikdir 9 Huceyre avtomatlarinin simulyasiyasinda periodik konfiqurasiyaslarin tapilmasi ucun avtomatin veziyyetleri ardicilligina tetbiq etmekle dovrun tapilmasi alqoritminden istifade semerelidir 10 Elaqeli siyahilarin formalarinin analizi bu verilenler strukturundan istifade eden alqoritmlerin duzgunluyunun yoxlanilmasi ucun istifade olunur Eger her hansi bir bend sehven ozunden evvelki bendle elaqelenibse o zaman bu siyahida dovr vardir hansi ki onu bu alqoritmle askar etmek olar 11 Common Lisp dilinde S expression printeri print circle deyiseni altinda dovru askar edir ve yigcam sekilde cap edir Teske 12 hesablama qruplari nezeriyyesinde tetbiqi bele tesvir edir Abel qrupunun strukturunun onun generatorlar coxlugundan teyin edilmesi Kalinski ve b 7 terefinden kriptoqrafik alqoritmlere de namelum qruplarn qurulusunun acilmasi meselesi kimi de baxila biler Fich 1981 feza mexanikasinin komputer simulyasiyasinda dovrun tapilmasi alqoritminin tetbiqini vurgulayir orada o William Kahan a isare edir Burada o orbital sistemin faza fezasinda dovrun askar edilmesinin komeyi ile sistemin simulyasiya zamani periyodik olub olmamasini teyin etmek nezerde tutulur 13 Istinadlar Redakte Joux Antoine 2009 Algorithmic Cryptanalysis CRC Press seh 223 ISBN 9781420070033 Knuth Donald E 1969 The Art of Computer Programming vol II Seminumerical Algorithms Addison Wesley seh 7 exercises 6 and 7 Brent R P 1980 An improved Monte Carlo factorization algorithm PDF BIT Numerical Mathematics 20 2 176 184 doi 10 1007 BF01933190 2009 09 24 tarixinde orijinalindan PDF arxivlesdirilib Istifade tarixi 2017 07 08 Pollard J M 1975 A Monte Carlo method for factorization BIT 15 3 331 334 doi 10 1007 BF01933667 Pollard J M 1978 Monte Carlo methods for index computation mod p Mathematics of Computation American Mathematical Society 32 143 918 924 doi 10 2307 2006496 JSTOR 2006496 invisible char Quisquater J J Delescaille J P How easy is collision search Application to DES Advances in Cryptology EUROCRYPT 89 Workshop on the Theory and Application of Cryptographic Techniques Lecture Notes in Computer Science 434 Springer Verlag 429 434 olu kecid 1 2 Kaliski Burton S Jr Rivest Ronald L Sherman Alan T 1988 Is the Data Encryption Standard a group Results of cycling experiments on DES Journal of Cryptology 1 1 3 36 doi 10 1007 BF00206323 Joux 2009 Section 7 5 Collisions in hash functions pp 242 245 Van Gelder Allen 1987 Efficient loop detection in Prolog using the tortoise and hare technique Journal of Logic Programming 4 1 23 31 doi 10 1016 0743 1066 87 90020 3 Nivasch Gabriel 2004 Cycle detection using a stack Information Processing Letters 90 3 135 140 doi 10 1016 j ipl 2004 01 016 Auguston Mikhail Hon Miu Har 1997 Assertions for Dynamic Shape Analysis of List Data Structures AADEBUG 97 Proceedings of the Third International Workshop on Automatic Debugging Linkoping Electronic Articles in Computer and Information Science Linkoping University 37 42 Teske Edlyn 1998 A space efficient algorithm for group structure computation Mathematics of Computation 67 224 1637 1663 doi 10 1090 S0025 5718 98 00968 5 Fich Faith Ellen 1981 Lower bounds for the cycle detection problem Proc 13th ACM Symposium on Theory of Computing 96 105 doi 10 1145 800076 802462 Menbe https az wikipedia org w index php title Dovrun tapilmasi amp oldid 6064198, wikipedia, oxu, kitab, kitabxana, axtar, tap, hersey,

ne axtarsan burda

, en yaxsi meqale sayti, meqaleler, kitablar, oyrenmek, wiki, bilgi, tarix, seks, porno, indir, yukle, sex, azeri sex, azeri, seks yukle, sex yukle, izle, seks izle, porno izle, mobil seks, telefon ucun, chat, azeri chat, tanisliq, tanishliq, azeri tanishliq, sayt, medeni, medeni saytlar, chatlar, mekan, tanisliq mekani, mekanlari, yüklə, pulsuz, pulsuz yüklə, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, şəkil, muisiqi, mahnı, kino, film, kitab, oyun, oyunlar.