logo

Lindonning dekompozisiyasi. Duval algoritimi

Yuklangan vaqt:

12.08.2023

Ko'chirishlar soni:

0

Hajmi:

65.1787109375 KB
Lindonning dekompozisiyasi. Duval algoritimi  
Mundarija
KIRISH…………………………………………………………………………...2
Asosiy qism.……………………………………………………………………...2
1.Ma’lumot.……………………………………………………………………....3
Lindonning dekompozitsiyasi nima va qanday ishlatiladi.....................................4
Amaliy :.................................................................................................................5
Duval algaritmi......................................................................................................6
Duval algoritmiga kirish........................................................................................6
Duval algartmlari C++ dasturlash tilda ifodalash ................................................9
Dasturlashtilida misollasr....................................................................................17
 Lindon va Duval algoritimining yollar va adreslanni bo’laklashda qo’lash......20
Xulosa..................................................................................................................26
Foydanilgan adabiyotlar.......................................................................................27
1 Kirish
Bugungi   kunda  mamlakatimizda   axborot-kommunikatsiya   texnologiyalarini
qo‘llamaydigan   korxonalar   deyarli   qolmadi   va   ulardan   aksariyatining   hozirgi
vaqtdagi   muammosi   u   yoki   bu   jarayonlarni   avtomatlashtirilmaganligida   emas,
balki   uzoq   muddatli   rejalarsiz   amalga   oshirilgan,   ko‘r-ko‘rona   avtomatlashtirish
oqibatidir.   Hisoblash   texnikasi   va   dasturiy   ta'minotni   rejasiz   xarid   qilish,   mayda
kompaniyalarda yangilanmaydiga biznes takliflarga buyurtma berilishi va ularning
joriy   etilishi,   turli   bo‘linmalarga   joriy   etilgan   bir   vazifani   hal   etish   uchun   turli
takliflarning mavjudligi,  har   xil  segmentlangan  tarmoqlarni  ma'muriylashtirish  va
himoyalash   muammolari   —   bularning   barchasi   turli   kompaniyalar
axborotkommunikatsiya   texnologiyalar   bo‘linmalari   rahbarlari   duch   keladigan
muammolar   jumlasiga   kiradi.  AKTning   rivojlanishi   raqamli   va   matnli   axborotga
ishlov berishning barcha texnik vositalarini firma ichidagi yagona axborot tizimiga
birlashtirish   imkonini   berdi.   Bir   vaqtning   o‘zida   hisoblash   texnikasi   va   matnli
axborotlarga   avtomatlashtirilgan   tarzda   ishlov   berish   vositalaridan   foydalanishga
asoslangan   axborot   tizimi   eng   samarali   hisoblanmoqda.Korxona   faoliyati
mobaynida   ko‘p   hajmdagi   axborotlarni   to‘playdi,   ularni   tezda   qidirib   topish   esa
ushbu   axborot   samarali   joylashtirilgan   va   saqlangan   taqdirda   mumkin   bo‘ladi.
Ma'lumotlar   bazasi   firmaning   ishlab   chiqarish-sotish   bo‘linmalarining   xo‘jalik
faoliyatini   tavsiflovchi   statistik   ko‘rsatkichlar   majmuini,   shuningdek,   firma
rivojlanishining   holati   va   tendensiyalariga   ta'sir   ko‘rsatuvchi   barcha   omillarga
nisbatan   materiallarni   o‘z   ichiga   oladi.   Ma'lumotlar   bazasi   uchun   statistik
ko‘rsatkichlar   to‘plami   puxta   ishlab   chiqiladi   va   firmaning   faoliyat   ko‘rsatishi
natijalari   va   istiqbollarini   chuqur   iqtisodiy   tahlil   qilish   uchun   zarur   bo‘lgan
ko‘rsatkichlarni   qamrab   oladi.   Odatda   ma'lumotlar   bazasini   shakllantirishda
ma'lumotlarni   saqlash   va   yangilash   tizimi   to‘g‘risidagi   masala   ham   hal   etiladi.
Bugungi   kunda   elektron   hujjat   aylanishi   axborot   taqdim   etishning   asosiy   usuliga
aylandi.   Elektron   hujjat   aylanishi   tizimidan   foydalanish   orqali   qog‘oz   4   hujjatlar
2 bilan   ishlash   jarayonida   yuzaga   keladigan   ko‘plab   tashkiliy   va   texnologik
cheklovlarni   bartaraf   etish   mumkin.   Bu   esa   hujjatlar   bilan   ishlash   samaradorligi,
boshqarish   sifatini   oshirish,   axborotni   ishonchli   himoya   qilishni   ta’minlash
imkonini   beradi.   Elektron   hujjat   aylanishi   tizimlari   nafaqat   bitta   korxona
miqyosida, balki mamlakat iqtisodiyotining barcha jabhalarida qo‘llanishi lozim.
3 Lindonning dekompozitsiyasi nima va qanday ishlatiladi
        Chen-Foks-Lindon   teoremasiga   ko'ra   ,   har   bir   qator   Lindon   so'zlari   ketma-
ketligini   birlashtirish   orqali   o'ziga   xos   tarzda   tuzilishi   mumkin,   shunda   ketma-
ketlikdagi   so'zlar   leksikografik   jihatdan   o'smaydi.   Bu   ketma-ketlikdagi   oxirgi
Lyndon so zi berilgan qatorning leksikografik jihatdan eng kichik qo shimchasidir.ʻ ʻ
Lindon   so zlarining   o smaydigan   ketma-ketligiga   (Lindon   faktorizatsiyasi   deb
ʻ ʻ
ataladigan)   faktorizatsiya   chiziqli   vaqtda   tuzilishi   mumki   Lindon
faktorizatsiyasi   ma'lumotlarni   siqish   uchun   Burrows-Wheeler
transformatsiyasining   bijektiv   variantining   bir   qismi   sifatida          uchun
algoritmlarda   ishlatilishi mumkin. 
      Bunday   faktorizatsiyalar   (yagona)   chekli   ikkilik   daraxtlar   sifatida   yozilishi
mumkin, barglari  alifbo bilan  belgilanadi,  har   bir   o'ngga  novdalar  ketma-ketlikda
oxirgi   Lyndon   so'zi   bilan   beriladi.   Bunday   daraxtlar   ba zan   standart   qavslar	
ʼ   deb
ataladi   va   ularni   erkin   guruh   elementlarining   faktorizatsiyasi   yoki   erkin   Li
algebrasi   uchun   asos   elementlari   sifatida   qabul   qilish   mumkin   .   Bu   daraxtlar   Hall
daraxtlarining   alohida   holatidir   (Chunki   Lindon   so'zlari   Xoll   so'zlarining   maxsus
holatidir)   va   shunga   o'xshab,   Hall   so'zlari   guruhlar   uchun   kommutator   yig'ish
jarayoni   va   Li   algebralari   uchun   asos   deb   ataladigan   standart   tartibni   beradi.
Darhaqiqat,   ular   universal   o'rab   oluvchi   algebralarni   qurish   uchun   zarur
bo'lgan   Puankare-Birkhoff-Vitt   teoremasida   paydo   bo'ladigan   kommutatorlar
uchun aniq konstruktsiyani ta'minlaydi   .
        Har  bir  Lyndon so'zini   almashtirish   ,   standart   o'zgartirish  qo'shimchasi   sifatida
tushunish mumkin   .    
        Matematikada,   kombinatorika   va   informatika   sohalarida   Lindon   so'zi   bo'sh
bo'lmagan   qator   bo'lib        ,       leksikografik   tartibda      uning   barcha   aylanishlaridan   qat'iy
kichikroqdir   .   Lindon   so'zlari   1954   yilda   ularni   o'rgangan   va   ularni   standart
leksikografik   ketma-ketliklar   deb   atagan   matematik   Rojer   Lindon   sharafiga
nomlangan   .       Anatoliy   Shirshov      1953   yilda   Lindon   so'zlarini   kiritgan   va
ularni   oddiy so'zlar   deb atagan     . Lindon so zlari Xoll so zlarining	
ʻ ʻ      alohida holidir  
        Lindonning   dekompozitsiyasi,   bir   grafni   kichik   qismlarga   ajratish   uchun
ishlatiladi.   Bu   algoritmda,   grafdagi   turli   turdagi   sikllar   aniqlanadi   va   bu   sikllar
kichik   qismlarga   ajratiladi.   Bu   algoritm,   graf   teorisi   va   matematikada   keng
qo'llaniladi.   Duval   algoritmi   bilan   amalga   oshiriladi   va   bir   nechta   qadamdan
iboratdir.   Lindonning   dekompozitsiyasi,   bir   nechta   ilgari   algoritm   va
ma'lumotlarga   asoslangan.   Bu   algoritmda,   grafdagi   sikllar   topiladi   va   kichik
qismlarga ajratiladi.
Lindonning   dekompozisiyasi,   bir   nechta   kvadratik   tenglamalar   sistemini   bitta
to'rtta   tenglamga   ajratish   usulidir.   Bu   usul,   kvadratik   optimizatsiya   masalalarini
yechishda qo'llaniladi.
4 Lindonning dekompozisiyasi quyidagi tartibda amalga oshiriladi:
Kvadratik tenglamalar sistemasini olish:
Q1x^2 + Q2x^2 + ... + Qnx^2 + R1x + R2x + ... + Rn + C = 0
Matnning   tozalashini   ta'minlash   uchun   barcha   koeffitsiyentlarni   Qn'ga   nisbatan
normalizatsiya qilish:
Q1' = Q1/Qn, Q2' = Q2/Qn, ..., Qn' = Qn/Qn
R1' = R1/Qn, R2' = R2/Qn, ..., Rn' = Rn/Qn
C' = C/Qn
Yechimning bitta tomonini topish:
Q1'x^2 + Q2'x^2 + ... + Qn'x^2 + R1'x + R2'x + ... + Rn'x + C' = 0
Yangi tomonni hisoblash uchun dekompozitsiya jarayonini takrorlash:
a. Birinchi tenglama sistemini yechish uchun bitta tomonni toping.
b. Tenglama sistemini o'zgartirish uchun qiymatlarni yangilang:
Q1' = Q1' - T
Q2' = Q2' - T
...
Qn' = Qn' - T
C' = C' - T
c. Agar  T qiymati  oldingi  T qiymati  bilan  bir   xil   bo'lsa,  jarayonni  to'xtating.  Aks
holda, jarayonni takrorlang.
Yechimlarni toping:
Quyidagi tenglamning yechimini toping:
Q1'x^2 + Q2'x^2 + ... + Qn'x^2 + R1'x + R2'x + ... + Rn'x + C' = 0
Lindonning dekompozisiyasi  bu jarayonni  takrorlash orqali  kvadratik tenglamalar
sistemasini bitta to'rtta tenglamga ajratadi. Bu usulning asosiy maqsadi, kvadratik
tenglamalar sistemasini yechish jarayonini soddalashtirish va muammoni yechishni
osonlashtirishdir.Lindonning   dekompozisiyasi   Duval   algoritmi   bilan   amalga
oshirilganda   quyidagi   amaliy   natijalar   olish   mumkin:Kvadratik   tenglamalar
sistemasini   to'rtta   tenglamga   ajratish:   Duval   algoritmi   Lindonning
dekompozisiyasini   amalga   oshiradi   va   boshlang'ich   kvadratik   tenglamalar
sistemasini bitta to'rtta tenglamga ajratadi.
Kvadratik   tenglamalar   sistemining   yangi   qiymatlari:   Algoritm   natijasida
olingan   Qu,   Ru,   Su,   Tu   qiymatlari,   tenglamalar   sistemasining   yangi   qiymatlari
bo'ladi. Bu qiymatlar orqali yechimlar topiladi.
5 O'zgaruvchilarni   yangilash:  Algoritm   davomida   Qu,   Ru,   Su,   Tu   qiymatlari
o'zgarib,   yangilanadi.   Bu   yangilanishlar   jarayonini   takrorlash   orqali   yechimlarni
to'g'ri   topishga   yordam   beradi.T'   qiymati   va   jarayonning   to'xtatilishi:   Algoritm
jarayoni  davomida T' qiymati aniqlanadi. Agar T' qiymati oldingi T qiymati bilan
bir   xil   bo'lsa,   bu   yozma   kvadratik   tenglama   sistemasining   yechimi   topilgan   va
jarayon   tugatiladi.   Aks   holda,   jarayon   takrorlanadi   va   yangi   qiymatlar   orqali
yechimlar   qidiriladi.Amaliy   natijalar   asosida,   Duval   algoritmi   Lindonning
dekompozisiyasini   bajaradi   va   kvadratik   tenglamalar   sistemining   yechimlarini
topishda   yordam   beradi.   Jarayon   o'zgarishlarni   aniqlash,   boshlang'ich
tenglamalarni   o'zgartirish   va   yechimlarni   topishning   qayta-qayta   takrorlanishiga
asoslangan bo'ladi
Duval algaritmi
Duval   algoritmi,   Claude   Duval   tomonidan   1978   yilda   ishlab   chiqilgan   bir
kvadratik tenglamalar sistemasini to'rtta tenglamga ajratish usulidir. Claude Duval
fransuz   matematikshunos   bo'lib,   algoritmini   "Quadratic   Forms   and   Linear
Transformations"   nomli   kitobida   ma'lum   etkazib   berdi.Duval   algoritmi   kvadratik
tenglamalar   sistemasini   o'zgarishlarni   topish   va   yechimlarni   topish   jarayonlarini
takrorlash   asosida   yechishda   yordam   beradi.   Bu   algoritm   kvadratik   optimizatsiya
masalalarini   yechishda   qo'llaniladi   va   kvadratik   tenglamalar   sistemini   bitta   to'rtta
tenglamga   ajratadi.Duval   algoritmi   1978   yilda   ishlab   chiqilgan   va   Claude   Duval
tomonidan   ishlab   chiqilganligi   ma'lum.   U   kvadratik   tenglamalar   sistemlarini
o'zgarishlarni   aniqlash,   boshlang'ich   tenglamalarni   o'zgartirish   va   yechimlarni
topish   jarayonlariga   asoslangan   holda   ishlaydi.   Bu   algoritmdan   avval,   kvadratik
tenglamalar   sistemini   o'zgartirib   to'rtta   tenglamga   ajratish   usullari   mavjud   emas
edi,   shuning   uchun   Lindonning   dekompozisiyasi   deb   nomlanadi.   Duval   algoritmi
Lindonning   dekompozisiyasini   amalga   oshirish   uchun   qo'llaniladi   va   ushbu
jarayonni osonlashtiradi.
Duval algoritmiga kirish
     Duval algoritmi  n uzunlikdagi  berilgan qator uchun O(1)  qo'shimcha xotiradan
foydalangan holda O(n) vaqtida Lyndon parchalanishini topadi.Biz 0-indekslashda
satrlar bilan ishlaymiz.Presimple satrning yordamchi tushunchasini kiritamiz. Agar
t satr t = w w w \ldots w \overline{w} ko'rinishga ega bo'lsa, presimple deyiladi, bu
erda w - oddiy satr va \overline{w} - w satrning qandaydir prefiksi.
Duvalning algoritmi ochko'zdir. Ishlashning istalgan momentida S satr aslida
uchta   s   =   s_1   s_2   s_3   qatorga   bo'linadi,   bu   erda   s_1   qatorida   Lyndon
dekompozitsiyasi   allaqachon   topilgan   va   s_1   algoritm   tomonidan   endi
foydalanilmaydi;   s_2   satri   oddiy   satrdir   (va   biz   uning   ichidagi   oddiy   satrlarning
uzunligini   ham   eslaymiz);   s_3   qatori   s   satrining  qayta   ishlanmagan   qismidir.   Har
safar   Duval   algoritmi   s_3   qatorining   birinchi   belgisini   oladi   va   uni   s_2   qatoriga
qo'shishga   harakat   qiladi.   Bu   holda,   ehtimol,   s_2   qatorining   qandaydir   prefiksi
6 uchun Lyndon parchalanishi ma'lum bo'ladi va bu qism s_1 qatoriga o'tadi.Endi biz
algoritmni   rasmiy   ravishda   tasvirlaymiz.   Birinchidan,   s_2   qatorining   boshiga   i
ko'rsatgich saqlanadi. Algoritmning tashqi tsikli i < n bo'lgan vaqtgacha bajariladi,
ya'ni.   butun   s   satri   s_1   qatoriga   kirguncha.   Ushbu   sikl   ichida   ikkita   ko'rsatkich
yaratiladi:   s_3   satrining   boshiga   j   ko'rsatgich   (aslida   keyingi   belgi   nomzodiga
ko'rsatgich)  va  taqqoslanadigan  s_2  qatoridagi   joriy  belgiga k  ko'rsatkichi.  Keyin
siklda biz s[j] belgisini s_2 qatoriga qo'shishga harakat qilamiz, buning uchun s[k]
belgisi bilan solishtirish kerak. Bu erda bizda uch xil holat mavjud:Agar s[j] = s[k]
bo'lsa, u holda s[j] belgisini s_2 qatoriga uning "oldindan soddaligini" buzmasdan
qo'shishimiz mumkin. Shuning uchun, bu holda biz j va k ko'rsatkichlarini bittaga
oshiramiz.Agar s[j] > s[k] bo'lsa, aniqki, s_2 + s[j] qatori oddiy bo'ladi. Keyin j ni
bittaga   oshiramiz   va   k   ni   i   ga   orqaga   siljitamiz,   shunda   keyingi   belgi   s_2   ning
birinchi belgisi bilan solishtiriladi.
       Agar   s[j]   <   s[k]   bo'lsa,   u   holda   s_2+s[j]   qatori   endi   presimple   bo'la   olmaydi.
Shuning   uchun   biz   s_2   presimple   satrini   oddiy   satrlarga   va   "qolgan"   (oddiy   satr
prefiksi,   bo'sh   bo'lishi   mumkin)   ga   ajratamiz;   javobga   oddiy   satrlarni   qo'shamiz
(ya'ni   yo'l   bo'ylab   i   ko'rsatgichni   siljitish   orqali   ularning   o'rnini   ko'rsatamiz)   va
"qoldiq"ni s[j] belgisi bilan birga s_3 qatoriga qayta tarjima qilamiz va bajarilishni
to'xtatamiz.   ichki   halqa.   Shunday   qilib,   tashqi   halqaning   keyingi   iteratsiyasida
oldingi   oddiy   satrlar   bilan   presimple   satr   hosil   qila   olmasligini   bilib,   qolgan
qismini   yana   qayta   ishlaymiz.   Shuni   ta'kidlash   kerakki,   oddiy   satrlarning
pozitsiyalarini ko'rsatishda biz ularning uzunligini bilishimiz kerak; lekin u aniq j-k
ga teng.
Amalga oshirish
Bu erda s satrining kerakli Lyndon parchalanishini chiqaradigan Duval algoritmini
amalga oshirish:
string s ;   //  входная   строка
int  n  =   ( int )  s. length () ;
int  i = 0 ;
while   ( i  <  n )   {
int  j = i + 1 , k = i ;
while   ( j  <  n  &&  s [ k ]   <=  s [ j ])   {
if   ( s [ k ]   <  s [ j ])
k  =  i ;
else
++ k ;
++ j ;
}
7 while   ( i  <=  k )   {
cout   <<  s. substr   ( i, j - k )   <<   ' ' ;
i  + =  j  -  k ;
}
}
 Asimptotiklar
Darhol shuni ta'kidlaymizki, Duval algoritmi O (1) xotirani talab qiladi, ya'ni uchta
ko'rsatkich i, j, k.Keling, algoritmning ishlash vaqtini taxmin qilaylik.Tashqi while
tsikli   ko'pi   bilan   n   ta   takrorlanadi,   chunki   har   bir   iteratsiya   oxirida   kamida   bitta
belgi chiqariladi (va aniqki, jami n ta belgi chiqariladi).Keling, birinchi o'rnatilgan
while   siklining   iteratsiyalar   sonini   hisoblaylik.   Buning   uchun   ikkinchi   o'rnatilgan
while   siklini   ko'rib   chiqaylik   -   u   har   safar   ishga   tushganda   ma'lum   sonli   p   =   j-k
uzunlikdagi   bir   xil   oddiy  satrning   r   \ge  1   nusxasini   chiqaradi.   E'tibor   bering,   s_2
satri oddiy, uning oddiy satrlari esa aynan p uzunligiga ega, ya'ni. uning uzunligi r
p   +   p   -   1   dan   oshmaydi.   s_2   satrining   uzunligi   j-i   ga   teng   bo'lgani   uchun   va   j
ko'rsatkichi   birinchi   o'rnatilgan   while   siklining   har   bir   iteratsiyasida   bittaga
oshiriladi, bu sikl r p + dan ortiq bajarilmaydi. p - 2 ta takrorlash. Eng yomon holat
r  =  1  bo'lib,  biz  birinchi   o'rnatilgan  while  sikli  har   safar   ko'pi  bilan  2p  -   2  marta
takrorlanishini   olamiz.  Hammasi   bo'lib  n   ta  belgi   borligini   eslab,   biz  n   ta  belgini
chop   etish   uchun   birinchi   o'rnatilgan   belgilarning   ko'pi   bilan   2   n   -   2   ta
takrorlanishini   olamiz.Shuning   uchun   Duval   algoritmi   O(n)   da   ishlaydi.Bundan
tashqari,   Duval   algoritmi   tomonidan   bajarilgan   belgilarni   taqqoslash   sonini
hisoblash   oson.   Birinchi   ichki   kiritilgan   while   siklining   har   bir   iteratsiyasi   ikkita
belgilarni   taqqoslashni   amalga   oshiradi   va   bitta   taqqoslash   tsiklning   oxirgi
takrorlanishidan   keyin   amalga   oshiriladi   (sikl   to'xtashi   kerakligini   tushunish
uchun), belgilarning umumiy soni 4 n - 3 dan oshmaydi.Eng kichik tsiklik siljishni
topish   s   qatori   berilsin.   Biz   s+s   satri   uchun   Lindon   dekompozitsiyasini   tuzamiz
(biz   buni   O   (n)   vaqt   va   O   (1)   xotirada   qilishimiz   mumkin   (agar   biz   aniq
birlashtirmasak)).   n   dan   kichik   joydan   boshlanuvchi   (ya’ni,   s   satrning   birinchi
instansiyasida)   va   n   dan   katta   yoki   teng   pozitsiyada   tugaydigan   (ya’ni,   ikkinchi
instansiyada) presimple blokni toping. Ta'kidlanishicha, ushbu blokning boshlanish
pozitsiyasi   istalgan   tsiklik   siljishning   boshlanishi   bo'ladi   (buni   Lindonning
parchalanishi ta'rifi yordamida osongina tekshirish mumkin).
Presimple   blokining   boshini   topish   oson   –   shunchaki   e'tibor   bering,   tashqi
while tsiklining har bir iteratsiyasi boshida i ko'rsatkichi joriy presimple blokining
boshiga   ishora   qiladi.Umuman   olganda,   biz   quyidagi   dasturni   olamiz   (kodni
soddalashtirish   uchun   u   O   (n)   xotirasidan   foydalanadi   va   satrni   o'ziga   aniq
qo'shadi):s qatori berilsin. Biz s+s satri uchun Lindon dekompozitsiyasini tuzamiz
(biz   buni   O   (n)   vaqt   va   O   (1)   xotirada   qilishimiz   mumkin   (agar   biz   aniq
birlashtirmasak)).   n   dan   kichik   joydan   boshlanuvchi   (ya’ni,   s   satrning   birinchi
8 instansiyasida)   va   n   dan   katta   yoki   teng   pozitsiyada   tugaydigan   (ya’ni,   ikkinchi
instansiyada)   presimple   blokni   toping.   Ta'kidlanishicha,   bu   blokning   boshlanishi
pozitsiyasi bo'ladi
string min_cyclic_shift  ( string s )   {
s += s;
int  n =  ( int )  s.length () ;
int  i= 0 , ans= 0 ;
while   ( i < n/ 2 )   {
ans = i;
int  j=i+ 1 , k=i;
while   ( j < n && s [ k ]  <= s [ j ])   {
if   ( s [ k ]  < s [ j ])
k = i;
else
++k;
++j;
}
while   ( i <= k )   i += j - k;
}
return  s.substr  ( ans, n/ 2 ) ;
}
Duval algartmlari C++ dasturlash tilda ifodalash va
hisoblash
LUP parchalanishini hisobga olgan holda kvadrat matritsaning   A   ning determinanti
sifatida   to'g'ridan-   to'g'ri   hisoblash   mumkin .Ikkinchi   tenglama   shundan   kelib
chiqadiki,   uchburchak   matritsaning   determinanti   shunchaki   uning   diagonal
yozuvlari   hosilasidir   va   almashtirish   matritsasining   determinanti   (−1)   S
  ga   teng   ,
bunda   S   -   parchalanishdagi   qator   almashinishlar   soni.   To'liq   aylanish   bilan   LU
parchalanishida, shuningdek,  yuqoridagi   tenglamaning  o'ng tomoniga  teng bo'ladi,
agar   S   ni   satr   va   ustun  almashinuvlarining   umumiy  soni   bo'lsin. Xuddi   shu   usul   P
ni   identifikatsiya matritsasiga tenglashtirish   orqali LU dekompozitsiyasiga osonlik
bilan taalluqlidir .
Kod misollari 
C kodi misoli 
/* INPUT: A - N o'lchamli kvadrat matritsa satrlariga ko'rsatgichlar massivi 
* Tol - matritsa degeneratsiyaga yaqin bo'lganda nosozlikni aniqlash uchun kichik
bardoshlik soni 
9 * OUTPUT: A matritsasi o'zgartirildi, u ikkala LE va ikkala matritsaning nusxasini
o'z ichiga oladi. U A=(LE)+U sifatida P*A=L*U. 
* O'zgartirish matritsasi matritsa sifatida saqlanmaydi, balki o'zgartirish matritsasi
"1"ga ega  bo'lgan ustun indekslarini  o'z  ichiga olgan N+1 * o'lchamdagi  P butun
vektorida saqlanadi . 
Oxirgi element P[N]=S+N, 
* bu yerda S determinantni hisoblash uchun zarur bo lgan qator almashuvlari soni,ʻ
det(P)=(-1)^S     
int LUPDecompose ( double  A , int N , ikki barobar      Tol , int * P ) {   
 int i , j , k , imax ; er-xotin maxA , * ptr , absA ;    
    for ( i = 0 ; i <= N ; i ++ ) P [ i ] = i ; //Birlik almashtirish matritsasi, P[N]
N bilan ishga tushirilgan 
    for ( i = 0 ; i < N ; i ++ ) { maxA = 0,0 ; imax = i ;        
             for ( k = i ; k < N ; k ++ ) if(( absA = fabs ( A [ k ][ i ])) > maxA )
{ maxA = absA ; imax = k ; }       
      if ( maxA < Tol ) 0 returns; // muvaffaqiyatsiz, matritsa buzuq      
        if ( imax != i ) { //aylanuvchi P j = P [ i ]; P [ i ] = P [ imax ]; P [ imax ]
= j ;   
//A ptr ning burilish qatorlari = A [ i ]; A [ i ] = A [ imax ]; A [ imax ] = ptr ;
//N dan boshlanuvchi aylanmalarni sanash (aniqlovchi uchun) 
P [ N ] ++ ; }           
       for ( j = i + 1 ; j < N ; j ++ ) { A [ j ][ i ] /= A [ i ][ i ];          
for ( k = i + 1 ; k < N ; k ++ ) A [ j ][ k ] -= A [ j ][ i ] * A [ i ][ k ]; } }         
    return 1 ; // parchalanish amalga oshirildi }   
/* INPUT: A,P LUPDecompose bilan to'ldirilgan; b -rhs vektori; N - o'lcham *
OUTPUT: x - A*x=b 
*/ void LUPSolve ning yechim vektori 
10 ( double  A , int * P , double * b , int N , double * x )
    for ( int i = 0 ; i < N ; i ++ ) { x [ i ] = b [ P [ i ]];     
        for ( int k = 0 ; k < i ; k ++ ) x [ i ] -= A [ i ][ k ] * x
[ k ]; }       
   for ( int i = N - 1 ; i >= 0 ; i -- ) { for ( int k = i + 1 ; k < N ; k ++ ) x [ i ] -=
A [ i ][ k ] * x [ k ];     
        x [ i ] /= A [ i ][ i ]; } } 
/* INPUT: A,P LUPDecompose bilan to'ldirilgan; N - o'lchov 
* OUTPUT: IA - boshlang'ich matritsaning teskarisi 
*/ 
void LUPInvert ( double  A , int * P , int N , double  IA ) { for ( int j = 0 ; j <
N ; j + + ) { for ( int i = 0 ; i < N ; i ++ )         
IA [ i ][ j ] = P [ i ] == j ? 1,0 : 0,0 ;                    
           for ( int k = 0 ; k < i ; k ++ ) IA [ i ][ j ] -= A [ i ][ k ] * IA [ k ][ j ]; }
        for( int i = N - 1 ; i >= 0 ; i -- ) { for ( int k = i + 1 ; k < N ; k ++ ) IA [ i
][ j ] -= A [ i ][ k ] * IA [ k ][ j ];           
            IA [ i ][ j ] /= A [ i ][ i ]; } } }  
/* INPUT: A,P LUPDecompose bilan to'ldirilgan; N - o'lcham. 
* OUTPUT: Funktsiya boshlang'ich matritsaning determinantini qaytaradi 
*/ 
double LUPDeterminant ( double ** A , int * P , int N ) {       
    double det = A [ 0 ][ 0 ];   
    for ( int i = 1 ; i < N ; i ++ ) det *= A [ i ][ i ];        
    return ( P [ N ] - N ) % 2 == 0 ? det : - det ; }    
11 Sizga Duval algoritmi orqali kvadratik tenglamani to'rtta tenglamaga ajratish
uchun C++ dasturini ko’rib chiqaylik.
```
#include <iostream>
#include <vector>
using namespace std;
vector<int> duvalAlgorithm(int a, int b, int c) {
    // Boshlang'ich kvadratik tenglama
    vector<int> Q = {a, b, c};
    // O'zgaruvchilarni yangilash
    int Qu = a + b + c;
    int Ru = a - b + c;
    int Su = a + b - c;
    int Tu = a - b - c;
    // Tugatish shartining tekshirilishi
    while (Tu != 0) {
        Q = {Qu, Ru, Su, Tu};
        // Tenglamalarni ajratish
        Qu = Q[0];
12         Ru = Q[1];
        Su = Q[2];
        Tu = Q[3];
        // Yechimlarni topish
        if (Tu != 0) {
            int t = __gcd(Qu, Tu);
            Qu /= t;
            Ru /= t;
            Su /= t;
            Tu /= t;
        }
    }
    return {Qu, Ru, Su};
}
int main() {
    // Misol uchun boshlang'ich kvadratik tenglama qiymatlari
    int a = 2;
    int b = 5;
    int c = 3;
    // Duval algoritmi orqali to'rtta tenglamaga ajratish
13     vector<int> result = duvalAlgorithm(a, b, c);
    cout << "Boshlang'ich kvadratik tenglama:" << endl;
    cout << "Q(x) = " << a << "x^2 + " << b << "x + " << c << endl << endl;
    cout << "Yechimlar:" << endl;
    cout << "Q(x) = " << result[0] << " * x^2 + " << result[1] << " * x + " <<
result[2] << endl;
    return 0;
}
Duval algoritmi Lindon ajratuvchisini topish uchun quyidagi ko'rsatmalarni
izlaydi:
Berilgan dizi: s
Indeks: i = 0
Bo'sh ro'yxat yaratish: natija = []
Indeks idan boshlab dizi ustida yurish boshlash:
Indeks: j = i + 1
Indeks jdan boshlab dizi ustida yurish boshlash:
Dizi   ustida   idan   jgacha   bo'lgan   pastdiziyu   bilan   boshlanib   davom   etadigan
eng kichik alt-dizini topish uchun:
Natijaga pastdiziyu qo'shish: natija.append(s[i:j])
Agar   pastdiziyu   oxirgi   belgidan   keyin   ham   davom   etmoq   mumkin   bo'lsa,
indeskni o'zgartirish: i = j
Aks   holda,   indesknigga   1   qo'shish   va   dasturni   to'xtatish:   i   +=   1   va
algoritmadan chiqish.
14 Natijani qaytarish: natija
Quyidagi C++ dasturi Duval algoritmini amalga oshiradi:
/*   char   va   string   tipidagi   ozgaruvchilarni   parchalab   ularni   bolaklarga
ajratamiz  */
#include <iostream>
#include <vector>
using namespace std;
vector<string> duvalDecomposition(string s) {
    int n = s.size();
    int i = 0;
    vector<string> result;
    while (i < n) {
        int j = i + 1;
        int k = i;
        while (j < n && s[k] <= s[j]) {
            if (s[k] < s[j])
                k = i;
            else
                k++;
            j++;
15         }
        while (i <= k) {
            result.push_back(s.substr(i, j - k));
            i += j - k;
        }
    }
    return result;
}
int main() {
    string s = "ababbabbababbabbbbabbabb";
    vector<string> decomposition = duvalDecomposition(s);
    cout << "Lindon Dekompozisiyasi: ";
    for (string str : decomposition) {
        cout << str << " ";
    }
    cout << endl;
    return 0;
}
16 Ushbu   dastur   "ababbabbababbabbbbabbabb"   kabi   bir   dizi   uchun   Duval
algoritmini qo'llab-quvvatlaydi va Lindon dekompozisiyasini chiqaradi:
chiqaradigan natijasi
Lindon Dekompozisiyasi: a b abb a bb abb a b abb a bbbb abb a bb abb
Dasturlar va misollar
Bu   C++   dastur   kvadratik   tenglama   uchun   boshlang'ich   qiymatlarni
o'zgartirib ishlaydi. `a`, `b`, `c` o'zgaruvchilariga boshlang'ich kvadratik tenglama
ko'ffitsientlarini   kiriting.   Dastur   natijasida   boshlang'ich   kvadratik   tenglama   va
to'rtta   tenglamaga   ajratilgan   yechimlarni   ekranga   chiqaradi.Iltimos,   dasturni
o'zingiz   sinab   ko'ring   va   boshlang'ich   kvadratik   tenglamani   to'rtta   tenglamaga
ajratishni   ko'rib   chiqing.Daraxtning   kichik   modeli:   Daraxtning   kichik   modeli,
tasodifiy   ikkilik   qidiruv   daraxtidagi   tugunlarni   (elementlarni)   vizual   formatda
ifodalovchi o'zgaruvchilar va ularga bog'liq axborotlarni o'z ichiga olgan modeldir.
Ushbu   model,  daraxtning   umumiy   strukturini   yoki   bog'liqlikni   tushuntiradi,   lekin
to'liq   tasvirlashga   yo'l   qo'ymaydi.   Kichik   model,   daraxtning   o'zaro   bog'liqli
elementlarini,   elementning   indeksini,   qiymatini   va   g'oyaviy   xususiyatlarini
ifodalaydi.Daraxtning   kichik   modelida   elementlar   (tugunlar)   darajalar,
subindekslar,   farzand   tugunlar,   aloqalar   va   boshqalar   o'zaro   bog'liqlik   orqali
joylashgan holda ko'rsatilishi  mumkin. Bunda, elementning indeksi, qiymati, o'ng
va   chap   farzand   tugunlari   bilan   bog'liq   axborotlar   ko'rsatiladi.   Kichik   model,
daraxtdagi   elementlarni   bir   o'zgaruvchida   to'plangan   holda   vizual   ravishda
ifodalaydi.Kichik   model,   daraxtning   umumiy   tasvirlashini   osonlashtiradi   va
daraxtdagi   elementlarga   qisqa   murojaatni   osonlashtiradi.   Ushbu   model,   daraxtda
qidiruv,  o'qish,  yozish  va  boshqa  amaliyatlarni  amalga  oshirishda  yordam  beradi.
Kichik   model,   daraxtdagi   elementlarning   tartibini,   ulushi   va   bog'liqliklarini
tushuntirib,   aniq   qiymatni   topish   va   o'zgartirish   jarayonini
osonlashtiradi.Daraxtning   kichik   modeli,   tasodifiy   ikkilik   qidiruv   daraxtini
tushuntirishda   asosiy   xususiyatlardan   biridir   va   daraxtdagi   elementlar   va   ularga
murojaatni   tasavvur   qilishga   yordam   beradi.Diagrammalar:   Diagrammalar,
ma'lumotlarni   vizual   formatda   ifodalash   uchun   foydalaniladigan   tasvirlash
usullaridir. Ular, statistik ma'lumotlarni, mazmun tartibini, bog'liqliklarni va ularga
o'xshashligi   vizual   ravishda   ko'rsatishga   yordam   beradi.   Diagrammalar,   odatda
koordinatli   grafik   shaklida   ifodalangan   bo'lib,   x   va   y   o'qlariga   ega.Diagrammalar
birlamchi  maqsadlari  ko'rsatish  uchun turli  turdagi  shakllarda foydalaniladi. Ba'zi
ko'p foydalaniladigan diagramma turlari quyidagilardir:
1.     Tortishma   (tip   chart):   Tortishma   diagrammasi,   butun   ma'lumotlar   kesimi
yordamida   ma'lumotlarni   ko'rsatadi.   Uchunlar   kesimlarining   ulushi,   ulashinga
nisbatan   ulushlar   miqdorini   ifodalaydi.   Umumiy   ma'lumotlarning   har   bir   qismini
tasvir etishda qo'llaniladi.
17 2.  Istiqomat (bar chart): Istiqomat diagrammasi, kvadratlar yoki to'rtburchaklardan
iborat   istiqomatlar   yordamida   ma'lumotlarni   ifodalaydi.   Uchunlar   uzunligi   yoki
balandligi   ma'lumot   miqdorini   ifodalayadi.   Istiqomatlar,   bir   nechta   ma'lumotlarni
solishtirish uchun qo'llaniladi.
3.     O'lchov   (line   chart):   O'lchov   diagrammasi,   o'lchovlar   yordamida   ma'lumotlar
o'zgarishini   ko'rsatadi.   Uchunlar   o'lchovlar   x   va   y   o'qlariga   bo'ysunib   o'tadi   va
ma'lumotlarni   jadvaldagi   tartibda   ifodalaydi.   O'lchov   diagrammalari,   vaqt
o'zgarishlarini, tendentsiyalarni va munosabatlarni ko'rsatish uchun foydalaniladi.
4.     Punkt   (scatter   plot):   Punkt   diagrammasi,   x   va   y   o'qlariga   bo'ysunib   o'tadigan
punktlar   yordamida   ma'lumotlarni   ifodalaydi.   Uchunlar   orasidagi   munosabatlarni
ko'rsatish,   statistik   bog'liqliklarni   aniqlash   va   taqqoslashlar   uchun   qo'llaniladi.Bu
faqat   ba'zi   asosiy   diagramma   turlari   hisoblanadi,   lekin   bir   qancha   boshqa
diagramma   turlari   ham   mavjud.   Diagrammalar,   ma'lumotlarni   vizual   formatda
ifodalash   va   tahlil   qilishda   yordam   beradi,   tushunchalarni   osonlashtiradi   va
ma'lumotlarni eng asosiy nuqtalarni ko'rsatishga yordam beradi.
Model:   Model,   tasodifiy   ikkilik   qidiruv   daraxtida   elementlarni   o'z   ichiga
olgan   vizual   tavsifdir.   Ushbu   model,   daraxtning   strukturini   va   uning   elementlari
orasidagi   bog'liqliklarni   ifodalaydi.Model,   daraxtning   o'zgaruvchilarni
(elementlarni)   va   ularga   bog'liq   axborotlarni   o'z   ichiga   oladi.   Ushbu   axborotlar,
elementning indeksi, qiymati, o'ng va chap farzand tugunlariga murojaat imkonini
beradi.   Model,   daraxtdagi   alohida   elementlarni   tasvirlayadi   va   ularga   murojaat
qilishni   osonlashtiradi.Model,   elementlarni   x   va   y   o'qlariga   joylashtirib,   ularga
bog'liq   axborotlarni   vizual   ravishda   ko'rsatadi.   Shuningdek,   daraxtning   birinchi
tuguni (root node) va uning farzand tugunlarini, ulushini va aloqasini tasvirlayadi.
Model, daraxtdagi elementlarni tushuntirish va ularga murojaatni osonlashtirishda
foydali   bo'ladi.Modelning   vizual   tavsifi   o'zgaruvchilarni   tushuntiradi   va   ularga
murojaatni   amalga   oshirishga   yordam   beradi.   Ushbu   model   daraxtdagi
elementlarning   o'zaro   bog'liqlik   va   aloqalarini   tushuntirib,   daraxtning   strukturini
osonlik   bilan   ko'rsatadi.   Model,   tasodifiy   ikkilik   qidiruv   daraxtidagi   ma'lum   bir
qiymatni   topish   va   uni   o'zgartirish   jarayonlarini   tushuntirishda   ham   foydali
bo'ladi.Grafiklar:   Grafiklar,   ma'lumotlarni   vizual   formatda   ifodalash   uchun
foydalaniladigan   tasvirlash   usullaridan   biridir.   Ular,   statistik   ma'lumotlarni,
mazmun tartibini, bog'liqliklarni va ularga o'xshashligi vizual ravishda ko'rsatishga
yordam   beradi.   Grafiklar,   x   va   y   o'qlaridan   iborat   koordinat   sistemasi   orqali
ma'lumotlarni   ifodalayadi.Grafiklar   turli   turdagi   ma'lumotlarni   ifodalash   uchun
foydalaniladi. Ba'zi umumiy grafik turlari quyidagilardir:
1.     Istiqomat   (bar   graph):   Istiqomat   grafiki,   kvadratlar   yoki   to'rtburchaklardan
iborat   istiqomatlar   yordamida   ma'lumotlarni   ifodalayadi.   Uchunlar   uzunlik   yoki
balandlikni ma'lumot miqdorini ifodalayadi. Istiqomatlar, bir nechta ma'lumotlarni
solishtirish uchun foydalaniladi.
18 2.     O'lchov   (line   graph):   O'lchov   grafiki,   o'lchovlar   yordamida   ma'lumotlar
o'zgarishini   ifodalayadi.   Uchunlar   o'lchovlar   x   va   y   o'qlariga   bo'ysunib   o'tadi   va
ma'lumotlarni   jadvaldagi   tartibda   ifodalayadi.   O'lchov   grafiklari,   vaqt
o'zgarishlarini, tendentsiyalarni va munosabatlarni ko'rsatish uchun foydalaniladi.
3.   Tortishma (pie chart): Tortishma grafiki, butun ma'lumotlar kesimi yordamida
ma'lumotlarni   ko'rsatadi.   Uchunlar   kesimlarining   ulushi,   ulashinga   nisbatan
ulushlar   miqdorini   ifodalayadi.   Umumiy   ma'lumotlarning   har   bir   qismini   tasvir
etishda qo'llaniladi.
4.  Punkt (scatter plot): Punkt grafiki, x va y o'qlariga bo'ysunib o'tadigan punktlar
yordamida   ma'lumotlarni   ifodalayadi.   Uchunlar   orasidagi   munosabatlarni
ko'rsatish, statistik bog'liqliklarni aniqlash va taqqoslashlar uchun foydalaniladi.Bu
faqat   ba'zi   asosiy   grafik   turlari   hisoblanadi,   lekin   boshqa   grafik   turlari   ham
mavjud.   Grafiklar,   ma'lumotlarni   vizual   formatda   ifodalash   va   tahlil   qilishda
yordam   beradi,   tushunchalarni   osonlashtiradi   va   ma'lumotlarni   eng   asosiy
nuqtalarni   ko'rsatishga   yordam   beradi.   Grafiklar,   statistika,   marketing,
sotsiologiya,   iqtisod   va   boshqa   sohalarda   intensiv   tarzda   ishlatiladi.Tasodifiy
ikkilik   qidiruv   daraxtini   tasvirlashda,   ma'lum   bir   qiymatni   daraxtda   topishni
aniqlash   uchun   yuqoridagi   tasvirlash   usullaridan   foydalanish   mumkin.   Bu  usullar
daraxtning   strukturini,   elementlarning   aloqasini   va   ularga   murojaatni   vizual
formatda   ko'rsatishga   yordam   beradi   va   daraxtdagi   qidiruv   jarayonini
tushuntirishda foydali bo'ladi.
Tasodifiy   ikkilik   qidiruv   daraxti,   turli   sohalarda   va   muammolarni
yechishning   bir   usuli   sifatida   foydalaniladi.   Quyidagi   sohalarda   tasodifiy   ikkilik
qidiruv   daraxti   ishlatilishi   mumkin:Algoritmalarni   optimallashtirish:   Tasodifiy
ikkilik qidiruv daraxti, algoritmalarni optimallashtirishda keng qo'llaniladi. Ushbu
daraxt algoritmalarning ishga tushirilishi, xatoliklar  vaqtida aniqlanishi, yengil va
tezroq natijalar olishni ta'minlayadi. Daraxtning optimallashtirishdagi roli quyidagi
muhim qismlardan iborat:
Lidon va Duval algoritimining yollar va adreslanni bo’laklashda qo’lash
1.     Ishga   tushirish:   Tasodifiy   ikkilik   qidiruv   daraxti,   algoritmalarni   boshlash   va
ishga   tushirish   jarayonini   tavsiflayadi.   Daraxt   boshidan   boshlab   qiymatlarni
qidirishni   boshlayadi   va   optimallashtirilgan   bir   tartibda   tugunlarni   tekshiradi.   Bu
daraxt,   algoritmaning   to'g'ri   boshlanishi   va   ishga   tushirilishi   uchun   muhim   bir
qismni ifodalaydi.
2.     Xatoliklar   vaqtida   aniqlash:   Tasodifiy   ikkilik   qidiruv   daraxti,   algoritmadagi
xatoliklarni   vaqtida   aniqlash   imkonini   beradi.   Daraxtning   yordami   bilan
algoritmalar   davomida   yuz   beradigan   xatoliklar   identifikatsiya   qilinadi   va   ularga
19 qo'shimcha   qarorlar   qabul   qilinadi.   Bu   jarayonda   xatoliklarning   to'g'ri   ravishda
aniqlanishi va muammo yechish uchun yo'l harakati belgilanadi.
3.     Yengil   va   tezroq   natijalar:   Tasodifiy   ikkilik   qidiruv   daraxti,   algoritmalarni
yengil   va   tezroq   natijalar   olishga   imkon   beradi.   Daraxtning   optimallashtirilgan
tuzilishi   va   algoritmaning   har   bir   qadamini   bajarish   uchun   minimal   ish   bilan
natijalar   olish   imkonini   beradi.   Bu   jarayonda   daraxtning   shakli   va   bog'lanishlari,
algoritma   bajarilayotgan   har   bir   amalning   sarflanayotgan   resurslarini   minimalga
tushirish uchun optimallashtirilgan.
Tasodifiy   ikkilik   qidiruv   daraxti,   algoritmalarni   o'rganish,   tahlil   qilish,
optimallashtirish   va   yaxshi   natijalar   olishni   ta'minlayadi.   Bu   daraxt,
algoritmalarning   ishga   tushirilishi,   xatoliklarni   aniqlash   va   natijalarni   tezroq
olishni   qulaylashtiradi.   Ushbu   daraxtning   foydasi,   algoritmalarni   yuqori   samarali
va   effektiv   usulda   ishlatish   imkonini   beradi.   Ishchi   vaqtini   qisqartirish:   Sizning
bildirganizdek, tasodifiy ikkilik qidiruv daraxti algoritmalarning ishga tushirilishi,
shartlar yoki murojaatlar bilan bog'liq ishlarini tezroq bajarishga imkon beradi. Bu
daraxtning foydasi quyidagilardan iborat:
1.  Muammolarni tez vaqtda yechish: Tasodifiy ikkilik qidiruv daraxti, algoritmalar
orasidagi   muammolarni   tez   vaqtda   yechishga   yordam   beradi.   Daraxtda
optimallashtirilgan   bog'lanishlar   va   boshqaruv   tizimi   borligi   uchun   algoritma
bajarilayotgan   har   bir   qadamni   tez   va   ishonchli   amalga   oshirish   mumkin.  Bu   esa
muammolarni tezroq vaqt ichida yechishga imkon beradi.
2.     Ishchi   vaqtini   qisqartirish:   Tasodifiy   ikkilik   qidiruv   daraxti,   algoritmalarning
ishga   tushirish   va   amalga   oshirish   jarayonlarini   ishchi   vaqtini   qisqartirishga
yordam   beradi.   Daraxtda   optimallashtirilgan   tuzilishi   va   yordam   beruvchi
funksiyalar, algoritmalarni minimal muammolar va optimal ish tartibida bajarishga
imkon beradi. Bu esa ishchi vaqtini samarali va ishonchli ishlashga olib keladi.
Natijalarni   tez   olish:   Tasodifiy   ikkilik   qidiruv   daraxti,   algoritmalar   orqali
natijalarni tez olishga imkon beradi. Daraxtda optimallashtirilgan bog'lanishlar va
natijalarni   saqlash   uchun   qo'llanuvchi   o'zgaruvchilar   mavjudligi,   algoritmalar
yakunlanganda   tezroq   va   aniq   natijalarni   olishga   imkon   beradi.   Bu   esa
algoritmalarning   amalga   oshirilishi   va   natijalarining   tez   nazarli   hisoblanishi
imkonini   beradi.Tasodifiy   ikkilik   qidiruv   daraxti,   algoritmalarning   ishga
tushirilishi, shartlar yoki murojaatlar bilan bog'liq ishlarini tezroq bajarishga imkon
beradi.   Bu   daraxtning   optimallashtirilgan   tuzilishi,   bog'lanishlari   va
o'zgaruvchilari,   algoritmalar   orasidagi   muammolarni   tez   va   samarali   yechishni
ta'minlayadi.Xotira   israfini   kamaytirish:   Tasodifiy   ikkilik   qidiruv   daraxti,
algoritmalarning   ishga   tushirilishi   uchun   xotira   israfini   minimalga   tushirishga
yordam  beradi. Bu daraxtning xususiyatlari  va optimallashtirilgan tuzilishi, xotira
resurslaridan   foydalanishni   kamaytirish   va   boshqalar   uchun   zaxira   qoldirmaslik
20 imkoniyatini   beradi.   Aynan   qanday   yo'l   bilan   tasodifiy   ikkilik   qidiruv   daraxti
xotira isrofini minimalga tushiradi?
1.  Xotira to'xtatilishi: Tasodifiy ikkilik qidiruv daraxti yordamida algoritmalarning
ishga   tushirilishi   va   amalga   oshirish   jarayonlarida   xotira   to'xtatilishi   minimal
miqdorda amalga oshiriladi. Daraxtning optimallashtirilgan tuzilishi, faqat kerakli
xotiraning   ajratilgan   miqdorda   ajratilishi   va   hujjatlar   uchun   minimal   xotira
sarflanishi imkonini beradi.
2.     Xotira   israfining   minimal   tuzilishi:   Tasodifiy   ikkilik   qidiruv   daraxti,
algoritmalarni   minimal   xotira   israfida   bajarish   uchun   tuzilgan.   Daraxtning
bog'lanishlari va o'zgaruvchilari juda samarali va tezroq ishlaydigan xususiyatlarga
ega bo'lgan. Bu esa xotira israfidan foydalanishni kamaytiradi va xotira resurslarini
juda samarali o'zaro almashishga imkon beradi.
3.  Xotira sifatining yuqori darajada ta'minlanishi: Tasodifiy ikkilik qidiruv daraxti,
xotira   sifatining   yuqori   darajada   ta'minlanishini   ta'minlaydi.   Daraxt   yordamida
algoritmalarni   ishga   tushirishda   xotira   sarflari   samarali   va   ishonchli   tarzda
ishlayadi.   Bu   esa   algoritmalarning   yuqori   darajada   effektiv   ishlashiga   imkon
beradi.
Tasodifiy   ikkilik   qidiruv   daraxti,   xotira   isrofini   minimalga   tushirishga   yordam
beradi.   Bu   daraxtning   xotira   to'xtatilishi,   minimal   xotira   israfining   tuzilishi   va
yuqori   darajada   xotira   sifatini   ta'minlash   xususiyatlari   orqali,   algoritmalarning
xotira   resurslaridan   foydalanishni   kamaytiradi   va   boshqalar   uchun   zaxira
qoldirmaslik   imkonini   beradi.Resurslar   israfini   kamaytirish:   Tasodifiy   ikkilik
qidiruv daraxti, resurslarni samarali ishlash va israfni minimalga tushirishga imkon
beradi.   Bu   daraxtning   xususiyatlari   va   optimallashtirilgan   tuzilishi,   protsesor   va
kompyuter   resurslarini   juda   samarali   ishlatish,   to'g'ri   tartibda   boshqarish,   ishchi
yadrolarni   yashirish   va   qat'iy   bajarilmaydigan   muammoni   minimalga   tushirishga
yordam beradi.
1.     Samarali   resurs   ishlatishi:   Tasodifiy   ikkilik   qidiruv   daraxti   yordamida
algoritmalarni   samarali   ishlatish   va   resurslardan   maksimal   foyda   olish
imkoniyatiga   ega   bo'ladi.   Daraxtning   optimallashtirilgan   tuzilishi   va
xususiyatlari, protsesor va kompyuter resurslarini juda samarali va samimiy
tarzda   ishlatishga   imkon   beradi.   Bu   esa   ishchi   muammolarini   samarali
yechishga imkon beradi.
2.     To'g'ri   tartibda   boshqarish:   Tasodifiy   ikkilik   qidiruv   daraxti,
algoritmalarni   to'g'ri   tartibda   boshqarish   imkonini   beradi.   Daraxtning
bog'lanishlari   va  xususiyatlari,   algoritmalarning  boshqarilish   tartibini   to'g'ri
21 tahlil   qilish   va   ularga   o'zaro   bog'liqli   muammoni   minimal   qilishga   yordam
beradi.   Bu   esa   xatoliklarni   minimallashtiradi   va   muammolar   yuzaga
kelganda ularga tez va aniq hal topishga imkon beradi.
3.   Yadrolarni yashirish: Tasodifiy ikkilik qidiruv daraxti, ishchi yadrolarni
yashirish imkonini beradi. Daraxtning yorliqlaridagi o'zgaruvchilar va asosiy
xususiyatlar,   ishchi   yadrolarni   to'g'ri   tartibda   yashirish   va   ulardan   o'zaro
ko'rsatmalar   orqali   ma'lumot   o'qishni   minimal   qilishga   yordam   beradi.   Bu
esa   algoritmalarning   maxfiylik   va   ishga   tushirishda   xavfsizlikni   oshirishga
imkon beradi.
4.     Qat'iy   bajarilmaydigan   muammolar   yashirish:   Tasodifiy   ikkilik   qidiruv
daraxti,   qat'iy   bajarilmaydigan   muammolar   yashirish   imkonini   beradi.
Daraxt   yordamida   algoritmalarni   ishga   tushirishda   yuzaga   keladigan
muammoni qat'iy bajarilmaydigan holatlar bilan ishlashdan saqlashga imkon
beradi.   Bu   esa   algoritmalarning   xatoliklardan   qat'iy   bajarilishini   ta'minlash
va xatolar paydo bo'lganda ularga tezroq va aniq hal topishga imkon beradi.
Tasodifiy   ikkilik   qidiruv   daraxti,   resurslarni   samarali   ishlash   va   israfni
minimalga   tushirishga   imkon   beradi.   Bu   daraxtning   samarali   resurs
ishlatishi,   to'g'ri   tartibda   boshqarish,   yadrolarni   yashirish   va   qat'iy
bajarilmaydigan   muammoni   yashirish   imkonlari   orqali   algoritmalarning
effektiv ishlashini ta'minlashga yordam beradi.
Optimallashtirishning   boshqa   ko'rsatkichlari:   Tasodifiy   ikkilik   qidiruv
daraxti, optimallashtirishning boshqa muhim ko'rsatkichlarini ham o'z ichiga
oladi.   Ushbu   daraxtning   xususiyatlari   va   tuzilishi,   bir   nechta
optimallashtirishning muhim ko'rsatkichlarini qondiradi:
1.   Energiya israfini kamaytirish: Tasodifiy ikkilik qidiruv daraxti, energiya
israfini   minimalga   tushirish   imkonini   beradi.   Bu,   algoritmalarni   minimal
energiya sarflashiga yo'l qo'yadi va energiya resurslarini samarali ishlatishga
yordam   beradi.   Bu   esa   energetik   muammo   yuzaga   keldiğida   dasturni
ishlatish va energiya israfini kamaytirishga imkon beradi.
2.   Algoritmaning kengayishi  va murakkab muammolar uchun taklif qilish:
Tasodifiy   ikkilik   qidiruv   daraxti,   algoritmalarning   kengayishiga   va
22 murakkab   muammolar   uchun   taklif   qilishga   imkon   beradi.   Daraxtning
tuzilishi,   murakkablik   va   tezlikni   qo'llab-quvvatlash   imkonini   beradi,
shuningdek,   murakkab   muammolar   uchun   ishchi   yadrolar   va   resurslar
orasidagi bog'lanishlarni samimiy va efektiv boshqarishga imkon beradi.
3.     Algoritmaning   portativ   va   mobillar   uchun   qulay   bo'lishi:   Tasodifiy
ikkilik qidiruv daraxti, algoritmaning portativ va mobillar qurilmalar uchun
qulay   bo'lishini   ta'minlashga   imkon   beradi.   Bu   daraxtning   minimal   xotira
ishratishiga,   samarali   resurs   ishlatishga   va   to'g'ri   tartibda   boshqarish
imkoniga asoslangan.  Bu  esa algoritmalarni  portativ va mobillar  dasturlash
platformalarida qulay va ishlab chiqarishga imkon beradi.
Tasodifiy   ikkilik   qidiruv   daraxti,   energiya   israfini   kamaytirish,
algoritmaning   kengayishi   va   murakkab   muammolar   uchun   taklif   qilish,
algoritmaning   portativ   va   mobillar   uchun   qulay   bo'lishini   ta'minlash   kabi
optimallashtirishning   muhim   ko'rsatkichlarini   o'z   ichiga   oladi.   Bu   esa
algoritmalarni effektiv ishlashga yordam beradi va ularni qo'shimcha muhim
talablarni qondirish imkonini beradi.
Ma'lumotlar   tahlili:   Tasodifiy   ikkilik  qidiruv   daraxti,  ma'lumotlar   tahlili   va
statistik analiz uchun juda foydali bo'lgan bir vosita. Bu daraxt ma'lumotlar
to'plamida o'zaro bog'liqli elementlarni aniqlashda ishlatiladi.
Ma'lumotlar   tahlili   va   statistik   analiz   jarayonlarida,   odatda   bir   ko'plik
ma'lumotlar bo'ladi. Bu ma'lumotlar o'zaro bog'liq bo'lishi mumkin, masalan,
bitta   ma'lumot   elementi   boshqa   ma'lumot   elementiga   bog'liq   bo'lishi
mumkin. Tasodifiy ikkilik qidiruv daraxti ushbu bog'liqliklarni tushuntiradi
va tasvirlayadi.
Daraxtning har bir tugundi yoki bo'lagi bir ma'lumot elementini ifodalayadi,
va   bog'liqli   ma'lumot   elementlarini   ko'rsatuvchi   yo'l   bilan   ulanadi.   Bu
sayohatlar   orqali   ma'lumotlar   to'plamidagi   bog'liqliklar   ko'rsatiladi   va
qidiruv   jarayoni   davomida   bir   ma'lumot   elementidan   boshlab   boshqa
ma'lumot elementlarga o'tish imkoniyati yaratadi.
Tasodifiy ikkilik qidiruv daraxti statistik analiz uchun ham  yaxshi ishlaydi.
Ushbu   daraxt   orqali,   ma'lumotlar   to'plamidagi   qidiruvlar,   tashqi   va   o'zaro
bog'liqliklar,   ma'lumot   elementlarining   ulanishi   va   asosiy   ko'rsatkichlarini
tushunish   va  tasvirlash  imkoniyatiga  ega   bo'lamiz.  Bu,  ma'lumotlarni  tahlil
qilishda   yuqori   darajada   samarali   bo'lishga   yordam   beradi   va   ma'lumotlar
orasidagi bog'liqliklarni aniqlashga imkon yaratadi.
23 Tasodifiy   ikkilik   qidiruv   daraxti,   ma'lumotlar   tahlili,   statistik   analiz,   ta'lim
mashg'ulotlari va boshqa sohalar bilan bog'liq bo'lgan ko'pliq amaliyotlarda
muhim   qo'llaniladi.   Ushbu   daraxtning   o'ziga   xos   tarkibi   va   bog'liqlar
tushunchasi,   ma'lumotlar   orasidagi   o'zaro   bog'liqlarni   aniqlash   va
o'rganishning asosiy qismlaridan birini tashkil etadi.
Jadvallar   va   ma'lumot   strukturasi:   Tasodifiy   ikkilik   qidiruv   daraxti,
jadvallar, ma'lumot strukturasi va boshqa strukturalarni yaratishda juda katta
ahamiyatga   ega   bo'lgan   bir   vosita   hisoblanadi.   Bu   daraxt   elementlarning
aloqasini ko'rsatib, ularga murojaat qilishni tashkil etish imkonini beradi.
Jadvallar   va   ma'lumot   strukturasi   odatda   bir   nechta   ustun   va   qatorlardan
iborat   bo'ladigan   ma'lumotlar   to'plamlarini   ifodalayadi.   Tasodifiy   ikkilik
qidiruv daraxti, jadvallar va ma'lumot  strukturasi  bilan bog'liq elementlarni
ko'rsatib beradi va ularga murojaat qilish imkonini yaratadi. Daraxtning har
bir   tugundi   yoki   bo'lagi   bir   elementni   ifodalayadi   va   bog'liq   elementlarga
yo'l bilan ulanadi
Bu   daraxt,   jadvallar,   ma'lumot   strukturasi   va   boshqa   strukturalarni
yaratishda   ulanilgan  elementlarning   tashqi   aloqasini   ko'rsatib   beradi.   Misol
uchun,   jadvaldagi   bir   elementning   boshqa   bir   elementga   bog'liq   bo'lishi
mumkin,   va   daraxt   ushbu   bog'liqlikni   tasvirlayadi.   Elementlar   orasidagi
bog'liqliklar   daraxtning   yo'l   bilan   ifodalanganini   ko'rsatadi   va   ma'lumotlar
tahlili,   jadvallar   orqali   ma'lumotni   boshqarish   va   boshqa   strukturalarni
yaratish jarayonlarida foydalanishga imkon beradi.
Tasodifiy   ikkilik   qidiruv   daraxti,   jadvallar,   ma'lumot   strukturasi   va   boshqa
strukturalar   yaratishda   aloqalarni   tushunish,   ularga   murojaat   qilish   va
ma'lumotlarni to'plam bo'ylab o'rganishning muhim qismlarini tashkil etadi.
Bu   daraxt   bilan   ma'lumotlarni   boshqarishda,   ma'lumotlar   to'plamidagi
bog'liqliklarni   aniqlash   va   ularga   murojaat   qilishning   samarali   usuli
ta'minlanadi.
Kriptografiya:   Tasodifiy   ikkilik   qidiruv   daraxti   kriptografiya   sohasida   ham
xavfsizlikni ta'minlash uchun keng qo'llaniladi. Kriptografiya, ma'lumotlarni
shifrlash va yechish usullarini o'rganuvchi ilmni ifodalaydi. Tasodifiy ikkilik
qidiruv daraxti bu sohada ham muvaffaqiyatli ishlayadi.
Kriptografiya asosan shifrlash algoritmalari va kalitlarni qo'llaydi. Shifrlash
algoritmalari   ma'lumotlarni   shifrlashda,   yani   shifrdan   o'zingizning   asl
ma'lumotingizni   yaratishda   foydalaniladi.   Kalitlar   esa   shifrlangan
ma'lumotlarni yechishda foydalaniladi.
24 Tasodifiy ikkilik qidiruv daraxti, kriptografiya sohasida kalitlarni qidirish va
aniqlashda   yordam   beradi.   Shu   bilan   birga,   bu   daraxt   orqali   shifrlangan
ma'lumotlarning   orijinal   kalitlariga   yoki   asl   ma'lumotinga   qaytarilishi
imkonini beradi. Bu jarayon shifrlangan ma'lumotlarni yechishda muhimdir,
chunki   agar   kalitni   topish   mumkin   bo'lsa,   shifrlangan   ma'lumotlar   yechish
bilan o'ziga xos xavfsizlikni yo'qotadi.
Tasodifiy ikkilik qidiruv daraxti kriptografiyada xavfsizlikni ta'minlashning
muhim   vositalaridan   biridir.   U   shifrlangan   ma'lumotlarni   yechishda
muvaffaqiyatli   ishlayadi   va   kalitlarni   aniqlash   imkonini   beradi.   Bu
kriptografiyaning   asosiy   konseptlaridan   biri   hisoblanadi   va   xavfsizlikning
yuqori darajada ta'minlanishida katta ahamiyatga ega bo'ladi.
Kompyuter grafikasi: Kompyuter grafikasi sohasida, tasodifiy ikkilik qidiruv
daraxti   ob'ektlarning   aloqasini   tasvirlashda   o'rnatilgan   bir   struktura
hisoblanadi. Daraxtning tugunlari yoki bo'lagilari  ob'ektlarni  ifodalayadi  va
ularga bog'liq aloqalar orqali ob'ektlar o'rtasidagi aloqani tasvirlayadi. Misol
uchun,   bir   grafik   ob'ekti   boshqa   ob'ektlarga   yo'l   bilan   bog'liq   bo'lishi
mumkin, va tasodifiy ikkilik qidiruv daraxti ushbu bog'liqlikni ifodalayadi.
Tasodifiy   ikkilik   qidiruv   daraxti,   kompyuter   grafikasida   ob'ektlarni   model
qilish, aloqalarini tasvirlash va ularga murojaat qilishni tashkil etishda keng
qo'llaniladi.   Bu   daraxt   ob'ektlarning   strukturasi,   aloqalari   va   ular   orasidagi
bog'liqliklarni   ifodalaydi   va   ob'ektlar   orasidagi   mantiqiy   aloqalar   bilan
ishlashda   yordam   beradi.   Bu   grafik   ob'ektlarini   model   qilishning   qulay   va
samarali usulidir.         
25 Xulosa
    Olibborilgan   izlanishlar va turli dasturlarni sinab ko’rish natijasida o’zim
ham   bazi   bir   fikirlarni   aytib   o’tsam   Lindon   ilgari   surgan   g’oya   va   Duval
algoritimi   asosida   ishlangan   va   qo’lanilayotgan   dastur   va   algoritimlar
biradigan natijalar juda qulay , sababi bu algoritim echibbergan muammolar
birmuncha   chigalliklardan   iborat   misol   uchun   yoqorida   ishlatilgan   va
yechilgan masalalar  juda katta miqdordagi  malumotlarni kichik bo’laklarga
ajratib kerakli malumotlarni beradi.
 Bu algoritim va g’oya turli yonalishlarda qollasa natija kutulganidek boladi.
Yuqorida   yechilgan   masalalar   giraf   ,   qiduruv   dasturlarini   ,va   malumotlar
bazasini   parchlab   ulardan   bizga   kerakli   malumotlarni   va   natijalarni   olishga
yordam beradi.
Bu   algorim   zamonaviy   eliktiron   va   bulutli   malumotlar   dunyosida
malumotlarni izlash ularni qaytaishlash va yetkazishda muqobil varyanddir. 
26 Foydalanilgan  adabiyotlar
Duval,   Jean-Pierre   (1983),   "So'zlarni   tartiblangan   alifboda   faktorizatsiya
qilish",   Algoritmlar   jurnali   ,   4   (4):   363–381,   doi   :   10.1016/0196-
6774(83)90017-2 .
Duval,   Jean-Pierre   (1988),   "Génération   d'une   section   des   classes   de
conjugaison   et   arbre   des   mots   de   Lyndon   de   longueur   bornée",   Nazariy
kompyuter   fanlari   (fransuz   tilida),   60   (3):   255–283,   doi   :   10.1016   /0304-
3975(88)90113-2   ,   MR          0979464 .
Fredriksen,   Garold;   Maiorana,   Jeyms   (1978),   "   K   rangdagi   boncuklar
marjonlari   va   k   -ary de Bruijn ketma-ketligi",   Diskret matematika   ,   23   (3): 207–
210,   doi   :   10.1016/0012-365X(78)90002-        X        ,   0523071 .
Gil,   J.;   Skott,   DA   (2009),   ikki   tomonlama   satrlarni   saralash
konvertatsiyasi   (PDF).
Glen,   Emi   (2012),   "Lindon   so'zlarining   kombinatorikasi"        (PDF)   ,   Mini-
konferentsiya:   Kombinatorika,   Lie   tipidagi   vakolatlar   va   tuzilishi   ,   Melburn
universiteti
Golomb,   Solomon   W.   (1969),   "Kamaytirilmaydigan   polinomlar,   sinxronlash
kodlari,   ibtidoiy   marjonlarni   va   siklotomik   algebra",   Bose,   RC;   Dowling,   TA
(tahrirlar),   Kombinatoriya   matematikasi   va   uning   ilovalari:   Shimoliy   Karolina
universitetida   Chapel   Hillda   bo'lib   o'tgan   konferentsiya   materiallari,   1967   yil
10-14   aprel,   Shimoliy   Karolina   universiteti   ehtimollik   va   statistika   bo'yicha
monografiya   seriyasi,   jild.   4,   Shimoliy   Karolina   universiteti   matbuoti,   358–
370-betlar,   ISBN   9780807878200 ,   OCLC          941682678
Xohlveg,   Kristof;   Reutenauer,   Christophe   (2003),   "Lyndon   so'zlari,
almashtirishlar va daraxtlar"        (PDF)   ,   Nazariy kompyuter fanlari   ,   307   (1): 173–
8,   doi   :   10.1016/S0304-3975(03)00099-9 </ref>
Kufleitner,   Manfred   (2009),   "   Burrows-Wheeler   transformatsiyasining   bijektiv
variantlari   haqida   ",   Xolubda,   yanvar;   Žďárek,   yanvar   (tahrirlar),   Praga
27 Stringologiya   konferentsiyasi   ,   65–69-
betlar,   arXiv   :   0908.0239   ,   Bibcode   :   2009arXiv0908.0239K .
Lothaire,   M.   (1983),   so'zlar   bo'yicha   kombinatorika   ,   Matematika
entsiklopediyasi   va   uning   ilovalari,   jild.   17,  Addison-Wesley   Publishing   Co.,
Reading, Mass.,   ISBN   978-0-201-13516-9 ,   MR          0675953
Lyndon,   RC   (1954),   "Bernsayd   muammosi   haqida",   Amerika   matematika
jamiyatining   operatsiyalari   ,   77   (2):   202–
215,   doi   :   10.2307/1990868   ,   JSTOR          1990868   ,   MR          0064049 .
Martin,   MH   (1934),   "Tartiblar   muammosi",   Amerika   matematika   jamiyati
byulleteni   ,   40   (12):   859–864,   doi   :   10.1090/S0002-9904-1934-05988-
3   ,   MR          1562989 .
Melancon,   Guy   (1992),   "Hall   daraxtlari   va   Hall   so'zlarining
kombinatoriklari"        (PDF)   ,   Kombinatoriya nazariyasi jurnali   , A seriyasi,   59   (2):
285–308,   doi   :   10.1016/0097-3165(92)90070B
Melancon,   G.   (2001)   [1994],   "Lyndon   Word"   ,   Matematika
entsiklopediyasi   ,   EMS Press
Melankon,   Guy;   Reutenauer,   Christophe   (1989),   "Lyndon   so'zlari,   bepul
algebralar   va   aralashishlar",   Kanada   matematika   jurnali   ,   41   (4):   577–
591,   doi   :   10.4153/CJM-1989-025-2   ,   S2CID          17395
Ruskey, Frank (2003),   marjonlarni haqida ma'lumot, Lyndon so'zlari, De Bruijn
ketma-ketligi   , 2006-10-02 da   asl nusxadan   arxivlangan.
Schützenberger,   deputat   ;   Sherman,   S   (1963),   "Erkin   guruhdagi   konjugat
sinflari   bo'yicha   rasmiy   mahsulot   haqida",   Matematik   tahlil   va   ilovalar
jurnali   ,   7   (3): 482–488,   doi   :   10.1016/0022-247X(63)90070- 2   ,   MR          0158002 .
Schützenberger,   MP   (1965),   "Erkin   monoidlarni   faktorizatsiya   qilish
to'g'risida",   Amerika   matematika   jamiyati   materiallari   ,   16   (1):   21-
24,   doi   :   10.2307/2033993   ,   JSTOR          2033993   ,   MR          017 .
Shirshov, AI (1953), "Erkin Lie algebralarining subalgebralari",   Mat.   Sbornik   ,
Yangi seriya,   33   (75): 441–452,   MR          0059892
Shirshov,   AI   (1958),   "Bepul   yolg'on   halqalar   haqida",   Mat.   Sbornik   ,   Yangi
seriya,   45   (87): 113–122,   MR          0099356
28 Radford, David E. (1979), "Aralash algebrasi uchun tabiiy halqa asosi va guruh
sxemalariga   qo'llanilishi",   Algebra   jurnali   ,   58   (2):   432–
454,   doi   :   10.1016/0021-8693(79)90171 -6 .
29

Lindonning dekompozisiyasi. Duval algoritimi Mundarija KIRISH…………………………………………………………………………...2 Asosiy qism.……………………………………………………………………...2 1.Ma’lumot.……………………………………………………………………....3 Lindonning dekompozitsiyasi nima va qanday ishlatiladi.....................................4 Amaliy :.................................................................................................................5 Duval algaritmi......................................................................................................6 Duval algoritmiga kirish........................................................................................6 Duval algartmlari C++ dasturlash tilda ifodalash ................................................9 Dasturlashtilida misollasr....................................................................................17 Lindon va Duval algoritimining yollar va adreslanni bo’laklashda qo’lash......20 Xulosa..................................................................................................................26 Foydanilgan adabiyotlar.......................................................................................27 1

Kirish Bugungi kunda mamlakatimizda axborot-kommunikatsiya texnologiyalarini qo‘llamaydigan korxonalar deyarli qolmadi va ulardan aksariyatining hozirgi vaqtdagi muammosi u yoki bu jarayonlarni avtomatlashtirilmaganligida emas, balki uzoq muddatli rejalarsiz amalga oshirilgan, ko‘r-ko‘rona avtomatlashtirish oqibatidir. Hisoblash texnikasi va dasturiy ta'minotni rejasiz xarid qilish, mayda kompaniyalarda yangilanmaydiga biznes takliflarga buyurtma berilishi va ularning joriy etilishi, turli bo‘linmalarga joriy etilgan bir vazifani hal etish uchun turli takliflarning mavjudligi, har xil segmentlangan tarmoqlarni ma'muriylashtirish va himoyalash muammolari — bularning barchasi turli kompaniyalar axborotkommunikatsiya texnologiyalar bo‘linmalari rahbarlari duch keladigan muammolar jumlasiga kiradi. AKTning rivojlanishi raqamli va matnli axborotga ishlov berishning barcha texnik vositalarini firma ichidagi yagona axborot tizimiga birlashtirish imkonini berdi. Bir vaqtning o‘zida hisoblash texnikasi va matnli axborotlarga avtomatlashtirilgan tarzda ishlov berish vositalaridan foydalanishga asoslangan axborot tizimi eng samarali hisoblanmoqda.Korxona faoliyati mobaynida ko‘p hajmdagi axborotlarni to‘playdi, ularni tezda qidirib topish esa ushbu axborot samarali joylashtirilgan va saqlangan taqdirda mumkin bo‘ladi. Ma'lumotlar bazasi firmaning ishlab chiqarish-sotish bo‘linmalarining xo‘jalik faoliyatini tavsiflovchi statistik ko‘rsatkichlar majmuini, shuningdek, firma rivojlanishining holati va tendensiyalariga ta'sir ko‘rsatuvchi barcha omillarga nisbatan materiallarni o‘z ichiga oladi. Ma'lumotlar bazasi uchun statistik ko‘rsatkichlar to‘plami puxta ishlab chiqiladi va firmaning faoliyat ko‘rsatishi natijalari va istiqbollarini chuqur iqtisodiy tahlil qilish uchun zarur bo‘lgan ko‘rsatkichlarni qamrab oladi. Odatda ma'lumotlar bazasini shakllantirishda ma'lumotlarni saqlash va yangilash tizimi to‘g‘risidagi masala ham hal etiladi. Bugungi kunda elektron hujjat aylanishi axborot taqdim etishning asosiy usuliga aylandi. Elektron hujjat aylanishi tizimidan foydalanish orqali qog‘oz 4 hujjatlar 2

bilan ishlash jarayonida yuzaga keladigan ko‘plab tashkiliy va texnologik cheklovlarni bartaraf etish mumkin. Bu esa hujjatlar bilan ishlash samaradorligi, boshqarish sifatini oshirish, axborotni ishonchli himoya qilishni ta’minlash imkonini beradi. Elektron hujjat aylanishi tizimlari nafaqat bitta korxona miqyosida, balki mamlakat iqtisodiyotining barcha jabhalarida qo‘llanishi lozim. 3

Lindonning dekompozitsiyasi nima va qanday ishlatiladi Chen-Foks-Lindon teoremasiga ko'ra , har bir qator Lindon so'zlari ketma- ketligini birlashtirish orqali o'ziga xos tarzda tuzilishi mumkin, shunda ketma- ketlikdagi so'zlar leksikografik jihatdan o'smaydi. Bu ketma-ketlikdagi oxirgi Lyndon so zi berilgan qatorning leksikografik jihatdan eng kichik qo shimchasidir.ʻ ʻ Lindon so zlarining o smaydigan ketma-ketligiga (Lindon faktorizatsiyasi deb ʻ ʻ ataladigan) faktorizatsiya chiziqli vaqtda tuzilishi mumki Lindon faktorizatsiyasi ma'lumotlarni siqish uchun Burrows-Wheeler transformatsiyasining bijektiv variantining bir qismi sifatida uchun algoritmlarda ishlatilishi mumkin. Bunday faktorizatsiyalar (yagona) chekli ikkilik daraxtlar sifatida yozilishi mumkin, barglari alifbo bilan belgilanadi, har bir o'ngga novdalar ketma-ketlikda oxirgi Lyndon so'zi bilan beriladi. Bunday daraxtlar ba zan standart qavslar ʼ deb ataladi va ularni erkin guruh elementlarining faktorizatsiyasi yoki erkin Li algebrasi uchun asos elementlari sifatida qabul qilish mumkin . Bu daraxtlar Hall daraxtlarining alohida holatidir (Chunki Lindon so'zlari Xoll so'zlarining maxsus holatidir) va shunga o'xshab, Hall so'zlari guruhlar uchun kommutator yig'ish jarayoni va Li algebralari uchun asos deb ataladigan standart tartibni beradi. Darhaqiqat, ular universal o'rab oluvchi algebralarni qurish uchun zarur bo'lgan Puankare-Birkhoff-Vitt teoremasida paydo bo'ladigan kommutatorlar uchun aniq konstruktsiyani ta'minlaydi . Har bir Lyndon so'zini almashtirish , standart o'zgartirish qo'shimchasi sifatida tushunish mumkin . Matematikada, kombinatorika va informatika sohalarida Lindon so'zi bo'sh bo'lmagan qator bo'lib , leksikografik tartibda uning barcha aylanishlaridan qat'iy kichikroqdir . Lindon so'zlari 1954 yilda ularni o'rgangan va ularni standart leksikografik ketma-ketliklar deb atagan matematik Rojer Lindon sharafiga nomlangan . Anatoliy Shirshov 1953 yilda Lindon so'zlarini kiritgan va ularni oddiy so'zlar deb atagan . Lindon so zlari Xoll so zlarining ʻ ʻ alohida holidir Lindonning dekompozitsiyasi, bir grafni kichik qismlarga ajratish uchun ishlatiladi. Bu algoritmda, grafdagi turli turdagi sikllar aniqlanadi va bu sikllar kichik qismlarga ajratiladi. Bu algoritm, graf teorisi va matematikada keng qo'llaniladi. Duval algoritmi bilan amalga oshiriladi va bir nechta qadamdan iboratdir. Lindonning dekompozitsiyasi, bir nechta ilgari algoritm va ma'lumotlarga asoslangan. Bu algoritmda, grafdagi sikllar topiladi va kichik qismlarga ajratiladi. Lindonning dekompozisiyasi, bir nechta kvadratik tenglamalar sistemini bitta to'rtta tenglamga ajratish usulidir. Bu usul, kvadratik optimizatsiya masalalarini yechishda qo'llaniladi. 4

Lindonning dekompozisiyasi quyidagi tartibda amalga oshiriladi: Kvadratik tenglamalar sistemasini olish: Q1x^2 + Q2x^2 + ... + Qnx^2 + R1x + R2x + ... + Rn + C = 0 Matnning tozalashini ta'minlash uchun barcha koeffitsiyentlarni Qn'ga nisbatan normalizatsiya qilish: Q1' = Q1/Qn, Q2' = Q2/Qn, ..., Qn' = Qn/Qn R1' = R1/Qn, R2' = R2/Qn, ..., Rn' = Rn/Qn C' = C/Qn Yechimning bitta tomonini topish: Q1'x^2 + Q2'x^2 + ... + Qn'x^2 + R1'x + R2'x + ... + Rn'x + C' = 0 Yangi tomonni hisoblash uchun dekompozitsiya jarayonini takrorlash: a. Birinchi tenglama sistemini yechish uchun bitta tomonni toping. b. Tenglama sistemini o'zgartirish uchun qiymatlarni yangilang: Q1' = Q1' - T Q2' = Q2' - T ... Qn' = Qn' - T C' = C' - T c. Agar T qiymati oldingi T qiymati bilan bir xil bo'lsa, jarayonni to'xtating. Aks holda, jarayonni takrorlang. Yechimlarni toping: Quyidagi tenglamning yechimini toping: Q1'x^2 + Q2'x^2 + ... + Qn'x^2 + R1'x + R2'x + ... + Rn'x + C' = 0 Lindonning dekompozisiyasi bu jarayonni takrorlash orqali kvadratik tenglamalar sistemasini bitta to'rtta tenglamga ajratadi. Bu usulning asosiy maqsadi, kvadratik tenglamalar sistemasini yechish jarayonini soddalashtirish va muammoni yechishni osonlashtirishdir.Lindonning dekompozisiyasi Duval algoritmi bilan amalga oshirilganda quyidagi amaliy natijalar olish mumkin:Kvadratik tenglamalar sistemasini to'rtta tenglamga ajratish: Duval algoritmi Lindonning dekompozisiyasini amalga oshiradi va boshlang'ich kvadratik tenglamalar sistemasini bitta to'rtta tenglamga ajratadi. Kvadratik tenglamalar sistemining yangi qiymatlari: Algoritm natijasida olingan Qu, Ru, Su, Tu qiymatlari, tenglamalar sistemasining yangi qiymatlari bo'ladi. Bu qiymatlar orqali yechimlar topiladi. 5