Академиялык изилдөөлөр, түшүнүктүү тил

Verianla | Кыргызча академиялык изилдөөлөр жана илим

27 сентябрь 2026, Жекшемби
VERİANLAКөз карандысыз илимий басма
Менюну ачуу же жабуу
...
Башкы бет / Колдонмо илимдер / MATLAB / MATLAB менен Чектөөсүз Оптималдаштыруу: Эң Тик Түшүү жана Жаңы βk Параметрлүү Конъюгат Градиент Ыкмасы
MATLAB

MATLAB менен Чектөөсүз Оптималдаштыруу: Эң Тик Түшүү жана Жаңы βk Параметрлүү Конъюгат Градиент Ыкмасы

Функциянын мүмкүн болгон эң кичине маанисин табуу; инженердик долбоорлоодон машиналык үйрөнүүгө, робототехникадан маалымат талдоого чейин көптөгөн эсептөө маселелеринин негизин түзөт.

07/09/2026  Veri Anla 138 көрүү
MATLAB менен Чектөөсүз Оптималдаштыруу: Эң Тик Түшүү жана Жаңы βk Параметрлүү Конъюгат Градиент Ыкмасы

Функциянын мүмкүн болгон эң кичине маанисин табуу; инженердик долбоорлоодон машиналык үйрөнүүгө, робототехникадан маалымат талдоого чейин көптөгөн эсептөө маселелеринин негизин түзөт. Эгер өзгөрмөлөргө теңдик же теңсиздик түрүндө кошумча чектөөлөр коюлбаса, мындай маселе адатта чектөөсүз оптималдаштыруу деп аталат. Мындай маселеде алгоритмдин милдети — максат функциясынын эңишин ээрчип, функциянын төмөнүрөөк маанилерине жеткирген өзгөрмө векторун табуу.

Huda H. Al-Zobiadi жана Adawiya A. Mahmood Al-Nuaimi'нин эмгеги ушул максатта колдонулган эки классикалык ыкманы MATLAB чөйрөсүндө салыштырат: Steepest Descent (SD; Эң Тик Түшүү) жана Conjugate Gradient (CG; Конъюгат Градиент). Изилдөөчүлөр ошондой эле CG ыкмасынын жаңы издөө багытын аныктаган \(\beta_k\) коэффициенти үчүн өзгөртүлгөн бир туюнтма сунушташат.

Үч эки-өзгөрмөлүү тест функциясында жүргүзүлгөн MATLAB иштетүүлөрүндө биринчи мисалда эки алгоритм тең бирдей итерация санында токтосо, экинчи мисалда SD 10, жаңы \(\beta_k\)'луу CG 9 итерация; үчүнчү мисалда болсо SD 4, CG 3 итерация колдонгон. Ошол эле учурда макалада график түзүүнү кошо эсептеген бардык отчеттолгон иштөө убакыттарында SD кыскараак болгон.

Бул жыйынтыктар CG каралган эки мисалда берилген толеранска азыраак итерация менен жеткенин көрсөтөт; бирок болгону үч чакан тест маселеси колдонулгандыктан, ыкманын чоң масштабдуу, жогорку өлчөмдүү же жалпы сызыктуу эмес оптималдаштыруу маселелериндеги артыкчылыгы азырынча көрсөтүлгөн эмес. Мындан тышкары, булакта колдонулган үчүнчү тест функциясы глобалдык түрдө төмөндөн чексиз. Ошондуктан ал мисалда табылган чекит глобалдык эмес, баштапкы чекиттин тартылуу аймагындагы жергиликтүү минимум болуп саналат.

Чектөөсүз минималдаштыруу маселеси деген эмне?

Оптималдаштыруу маселесинин негизги формасы

\[ \min_x f(x) \]

түрүндө болот. Бул жерде \(x\) — оптималдаштырылуучу өзгөрмөлөрдү камтыган вектор; \(f(x)\) болсо кичирейтилүүгө тийиш болгон максат функциясын көрсөтөт.

Булак маселени

\[ \operatorname{Minimize} f(x), \qquad x\in\Omega \]

түрүндө жазат. Текст ошондой эле чечимдин бар экенин талкуулаганда \(f\)'тин үзгүлтүксүз жана \(\Omega\)'нын компакт болушу шартын колдонот. Техникалык жактан бул туюнтма жалпы “чектөөсүз” маселени бир аз кеңирээк көптүккө байланыштырган форма болуп саналат; классикалык толук чектөөсүз маселеде көбүнчө

\[ \Omega=\mathbb{R}^n \]

алынат жана \(\mathbb{R}^n\) компакт эмес. Ошондуктан компакттык аркылуу берилген бар болуу жыйынтыгы бардык чектөөсүз оптималдаштыруу маселелерине автоматтык түрдө колдонулбайт.

Жергиликтүү Минимум менен Глобалдык Минимумдун Айырмасы Эмне?

Жергиликтүү минимум белгилүү бир кошуналыкта гана функциянын эң кичине маанисин билдирет, ал эми глобалдык минимум бүткүл аныкталуу аймагындагы бардык талапкерлерден кичине же аларга барабар мааниге ээ; градиенттик алгоритмдин стационардык чекитке жетиши ал чекит автоматтык түрдө глобалдык минимум экенин билдирбейт.

Бир \(x^\ast\) чекити үчүн жакын аймакта

\[ f(x)\geq f(x^\ast) \]

болсо, \(x^\ast\) жергиликтүү минимум болуп саналат.

Бүткүл аныкталуу аймагында

\[ f(x)\geq f(x^\ast) \qquad \forall x \]

болсо, глобалдык минимум жөнүндө сөз болот.

Бул айырма айрыкча сызыктуу эмес оптималдаштырууда маанилүү. Алгоритм градиент нормасын кичирейтип стационардык чекитке жетиши мүмкүн; бирок максат функциясынын геометриясына жараша бул чекит жергиликтүү минимум, максимум же ээр чекити болушу мүмкүн.

Градиент эмне үчүн түшүү багытын көрсөтөт?

Булак градиент векторун \(m\) менен белгилейт:

\[ m_k=\nabla f(x_k). \]

Градиент функция турган чекитте эң тез өсө турган багытты берет. Ошондуктан

\[ -\nabla f(x_k) \]

багыты жетиштүү кичине кадамдар үчүн функция эң тез азая турган жергиликтүү багыт болуп саналат.

Экинчи туунду маалыматтары болсо Hessian матрицасында топтолот:

\[ H(x)= \begin{bmatrix} \frac{\partial^2f}{\partial x_1^2} & \frac{\partial^2f}{\partial x_1\partial x_2}\\ \frac{\partial^2f}{\partial x_2\partial x_1} & \frac{\partial^2f}{\partial x_2^2} \end{bmatrix}. \]

Hessian эңиштин кандай экенин гана эмес, беттин тиешелүү багытта канчалык ийилерин да камтыйт.

Steepest Descent Алгоритми Кантип Иштейт?

Steepest Descent ар бир итерацияда учурдагы градиенттин терс багытын издөө багыты катары тандайт; эмгекте кадам узундугу градиент жана Hessian колдонулуп эсептелет, андан соң жаңы чекитте градиент нормасы толеранстан төмөн түшкөндө итерация токтотулат.

Булакта колдонулган SD жаңыртуусу

Баштапкы чекит \(x_0\), градиент

\[ m_0=\nabla f(x_0) \]

жана жакындашуу толерансы аныкталгандан кийин булак кадам узундугун

\[ \alpha_k= \frac{m_k^Tm_k} {m_k^TH_km_k} \]

деп аныктайт.

Жаңы чекит

\[ x_{k+1}=x_k-\alpha_km_k \]

жана жаңы градиент

\[ m_{k+1}=\nabla f(x_{k+1}) \]

түрүндө эсептелет.

Токтотуу шарты

\[ \|m_{k+1}\|<\text{tol} \]

деп тандалган.

Бул шарттын маанилүү бир маңызы бар: MATLAB чыгышында “minimum point” түрүндө берилген чекит математикалык жактан толук минимум болууга милдеттүү эмес. Ал болгону градиент нормасы авторлор белгилеген толеранс деңгээлинен төмөн түшкөн чекит.

Эң Тик Түшүү эмне үчүн зигзаг кыла алат?

Тар жана созулган оптималдаштыруу өрөөнүндө терс градиент минимумга түз баруунун ордуна өрөөндүн бир капталынан экинчисине багыт алууга ыкташы мүмкүн. Ошентип алгоритм минимумга жакындаган сайын улам багытын өзгөртөт.

Бул жүрүм-турум айрыкча Hessian ар башка багыттарда өтө ар түрдүү ийриликке ээ болгон начар шартталган маселелерде SDнин жайлашына негизги себептердин бири.

Conjugate Gradient Ыкмасы SDден Эмнеси менен Айырмаланат?

Conjugate Gradient учурдагы терс градиентти гана колдонбостон, мурдагы издөө багытынан да маалымат алып жүрөт; муну менен катар багыттардын бир эле оптималдаштыруу өрөөнүн кайра-кайра кесип өтүшүн азайтууну жана айрыкча квадраттык маселелерде минимумга натыйжалуураак илгерилөөнү көздөйт.

Булакта колдонулган CG алгоритми

Алгачкы багыт

\[ d_0=-m_0 \]

деп тандалат.

Булак колдонгон кадам узундугу

\[ \alpha_k= - \frac{m_k^Td_k} {d_k^TH_kd_k} \]

түрүндө берилет.

Жаңы өзгөрмө вектору

\[ x_{k+1}=x_k+\alpha_kd_k \]

жана градиент

\[ m_{k+1}=\nabla f(x_{k+1}) \]

менен эсептелет.

Издөө багытынын жалпы жаңыртылышы болсо

\[ d_{k+1} = -m_{k+1}+\beta_kd_k \]

түрүндө болот.

Макалада сунушталган жаңы beta параметри

Эмгектин негизги өзгөртүүсү CG багыт жаңыртуусунда колдонулган коэффициенттин

\[ \beta_k= \frac{ m_{k+1}^{T}H_km_{k+1} }{ d_k^{T}H_km_k } \]

деп аныкталышы болуп саналат.

Бул мүчө жаңы терс градиент багытын мурдагы издөө багыты менен бирге кийинки \(d_{k+1}\) багытына айлантат.

Булак жаңы \(\beta_k\) CG ыкмасынын натыйжалуулугун жогорулатат деп сунуштайт. Бирок бул доомат макалада болгону үч эки-өзгөрмөлүү тест функциясы менен гана сыналган.

Глобалдык жакындашуу дооматын эмне үчүн этият окуу керек?

Эмгекте жаңы CG үчүн

\[ m_k^Td_k \leq -c\|m_k\|^2, \qquad c>0 \]

түрүндөгү түшүү шарты талкууланат.

Далилдин маанилүү кадамында exact line search натыйжасында

\[ m_{k+1}^Td_k=0 \]

болору колдонулат жана мунун натыйжасында

\[ m_{k+1}^Td_{k+1} = -\|m_{k+1}\|^2 \]

алынат.

Бирок жалпы сызыктуу эмес функцияларда Hessian аркылуу эсептелген

\[ \alpha_k= - \frac{m_k^Td_k}{d_k^TH_kd_k} \]

туюнтмасы ар дайым чыныгы exact line search менен бирдей боло бербейт. Квадраттык функцияларда бул түзүлүш толук сызыктуу издөө менен абдан табигый дал келет; жалпы сызыктуу эмес максат функцияларында болсо кошумча божомолдор талап кылынат.

Ошондуктан булакта берилген жакындашуу аргументи көрсөтүлгөн exact-line-search шартынан көз карандысыз жалпы глобалдык жакындашуу кепилдиги катары чечмеленбеши керек.

Эмгектин Ыкмасы жана Жыйынтыктары

MATLAB тажрыйба түзүлүшү

Авторлор SD жана жаңы \(\beta_k\) параметрлүү CG алгоритмин MATLAB 2024 чөйрөсүндө үч эки-өзгөрмөлүү функция үстүндө иштетишкен.

Салыштырууда негизинен үч чоңдук отчеттолгон:

  • жакындашуу үчүн керектелген итерация саны,
  • жеткен \(x_k\) жана \(f(x_k)\) маанилери,
  • график чыгарууну кошо алган аткаруу убактысы.
МисалФункцияТолерансSD итерацияCG итерацияSD убакытCG убакыт
1\(x_1^2+x_2^2+e^{-x_1}\)0,1220,630929 s0,700708 s
2\(x_1^2+x_2^2+x_1x_2+4x_2\)0,011090,633336 s0,956773 s
3\(5x_1^2+5x_2^2-8x_2-e^{x_1}\)0,01430,505912 s0,674644 s

Мисал 1: Экспоненциалдык мүчөсү бар конвекс функция

Биринчи функция

\[ f(x_1,x_2) = x_1^2+x_2^2+e^{-x_1} \]

жана баштапкы чекит

\[ x_0=(0,0)^T \]

деп тандалган.

Толеранс

\[ \text{tol}=0.1 \]

болгондуктан эки алгоритм тең биринчи жаңыртуудан кийин болжол менен

\[ x=(0.333333,0)^T \]

чекитинде токтогон.

Булак бул чекитте

\[ f(x)\approx0.827642 \]

жана

\[ \|\nabla f(x)\| \approx0.049865 \]

деп отчеттойт.

Бирок бул жерде толеранстын таасири абдан айкын. Чыныгы минимум шарты

\[ 2x_1-e^{-x_1}=0, \qquad x_2=0 \]

болгондуктан

\[ x_1e^{x_1}=\frac12 \]

жана демек

\[ x_1=W(1/2) \approx0.351734 \]

алынат.

Чыныгы минимум мааниси болжол менен

\[ f_{\min}\approx0.827184 \]

болот.

Бул салыштыруу булак жыйынтыктары туура эмес дегенди эмес, \(0.1\) сыяктуу салыштырмалуу бош толеранстын айынан алгоритм чыныгы стационардык чекитке жетпей эле ийгилик критерийин аткарды деп кабыл алынганын көрсөтөт.

Мисал 2: Оң аныкталган квадраттык бет

Экинчи максат функциясы

\[ f(x_1,x_2) = x_1^2+x_2^2+x_1x_2+4x_2 \]

түрүндө берилет.

Градиент

\[ \nabla f= \begin{bmatrix} 2x_1+x_2\\ x_1+2x_2+4 \end{bmatrix} \]

болгондуктан толук стационардык чекит

\[ 2x_1+x_2=0 \]

жана

\[ x_1+2x_2+4=0 \]

теңдемелер системасынан табылат:

\[ x^\ast= \left( \frac43, -\frac83 \right). \]

Hessian

\[ H= \begin{bmatrix} 2&1\\ 1&2 \end{bmatrix} \]

оң аныкталган. Ошондуктан бул чекит жалгыз глобалдык минимум жана

\[ f(x^\ast) = -\frac{16}{3} \approx-5.333333 \]

алынат.

SD \(0.01\) толерансы алдында 10 итерацияда

\[ x_9 \approx (1.328125,-2.66406) \]

жана

\[ f(x_9)\approx-5.333313 \]

натыйжасына жеткен.

Жаңы \(\beta_k\)'луу CG болсо 9 итерацияда

\[ x_8 \approx (1.3298,-2.6651) \]

жана

\[ f(x_8)\approx-5.333324 \]

натыйжасын берген.

Бул мисалда CG чындап эле SDден бир итерация аз колдонуп, ошол эле толеранс астында толук минимумга бир аз жакыныраак функция маанисин чыгарган.

Бирок өлчөнгөн убакыттар тескери багытта:

\[ t_{\mathrm{SD}} = 0.633336\ \mathrm{s} \]

жана

\[ t_{\mathrm{CG}} = 0.956773\ \mathrm{s}. \]

Ошондуктан бул чакан MATLAB тажрыйбасында “азыраак итерация” түз эле “кыскараак иштөө убактысы” дегенди билдирген эмес.

Мисал 3: Маанилүү математикалык чек

Үчүнчү максат функциясы

\[ f(x_1,x_2) = 5x_1^2+5x_2^2-8x_2-e^{x_1} \]

деп аныкталган.

Булак SD менен болжол менен

\[ (0.111686,0.8) \]

чекитине төрт итерацияда; жаңы CG менен болжол менен

\[ (0.1118,0.7997) \]

чекитине үч итерацияда жетилгенин билдирет.

Эки учурда тең

\[ f(x) \approx-4.255793 \]

алынган.

Бирок функциянын глобалдык жүрүм-турумуна караганда

\[ 5x_1^2-e^{x_1} \]

мүчөсү \(x_1\rightarrow+\infty\) үчүн

\[ -\infty \]

маанисине кетет. Демек

\[ \inf f=-\infty \]

жана бул функциянын бүтүндөй \(\mathbb{R}^2\) үстүндө глобалдык минимуму жок.

Градиент шарттары

\[ 10x_1-e^{x_1}=0 \]

жана

\[ 10x_2-8=0 \]

берет.

Баштапкы чекит \(x_0=(0,0)^T\)'ге жакын стационардык чечим болжол менен

\[ x_1\approx0.111833, \qquad x_2=0.8 \]

болуп, Hessian бул аймакта оң аныкталган. Демек MATLAB жеткен чекит чыныгы жергиликтүү минимум.

Бул айырма маанилүү: алгоритмдер өз баштапкы аймактарында жергиликтүү минимумга ийгиликтүү жакындашы мүмкүн; бирок бул тажрыйба глобалдык минималдаштыруу ийгилиги катары берилбеши керек.

Итерация саны жагынан жыйынтык кандай?

МисалSDЖаңы CGСалыштыруу
12 итерация2 итерацияБирдей
210 итерация9 итерацияCG бир итерация аз
34 итерация3 итерацияCG бир итерация аз

Демек, булакта айтылган “CG азыраак итерация талап кылат” жыйынтыгы каралган мисалдардын экөөндө туура; биринчи мисалда эки ыкма бирдей.

Иштөө убактысы жагынан жыйынтык кандай?

Булакта графиктер кошулган убакыттар салыштырылганда үч мисалда тең SD кыскараак көрүнөт:

МисалSD убактысыCG убактысыКыскараак
10.630929 s0.700708 sSD
20.633336 s0.956773 sSD
30.505912 s0.674644 sSD

Ошол эле учурда макала убакыттар канча жолу кайталанганын, процессордун өзгөчөлүктөрүн, JIT warm-up таасирин, plotting убактысынын үлүшүн же убакыт өлчөөлөрүнүн вариациясын бербейт. Миллисекунд–секунд масштабындагы бул жалгыз өлчөөлөр ыкмалардын жалпы эсептөө татаалдыгы боюнча күчтүү benchmark катары колдонулбашы керек.

Жаңы beta чындап натыйжалуураакпы?

Булактын тажрыйбалары сунушталган CG жаңыртуусу экинчи жана үчүнчү тестте берилген толеранска SDден бир итерация эрте жеткенин көрсөтөт. Бул ыкма үчүн оң баштапкы жыйынтык.

Бирок жалпы натыйжалуулук дооматын күчтүү текшерүү үчүн жок дегенде жогорку өлчөмдүү тест маселелери, ар түрдүү condition number'лар, nonconvex benchmark функциялары, башка баштапкы чекиттер, ар башка толеранстар жана Fletcher–Reeves, Polak–Ribière–Polyak же Hager–Zhang сыяктуу калыптанган nonlinear-CG жаңыртуулары менен түз салыштыруулар керек.

Бул салыштыруулар булак эмгекте жүргүзүлгөн эмес.

Эмгек колдогон жыйынтыктар

  • SD жана жаңы \(\beta_k\) параметрлүү CG алгоритмдери MATLAB менен ишке ашырылган.
  • Үч булак мисалынын баарында алгоритмдер тандалган баштапкы чекиттен стационардык аймакка жылган.
  • Мисал 1де SD менен CG бирдей сандагы итерация колдонгон.
  • Мисал 2 жана 3тө жаңы CG SDден бир итерация азыраак колдонуп толеранс шартын аткарган.
  • Үч булак тажрыйбасында тең графиктер кошо отчеттолгон runtime SD үчүн кыскараак.
  • Мисал 2де эки алгоритм тең белгилүү глобалдык минимумга кыйла жакын жыйынтык берген.
  • Мисал 3тө эки алгоритм тең баштапкы чекитке жакын жергиликтүү минимум аймагына жакындаган.

Эмгек далилдебеген жыйынтыктар

  • Жаңы \(\beta_k\)'луу CG бардык nonlinear unconstrained optimization маселелеринде SDден артык экендиги көрсөтүлгөн эмес.
  • Азыраак итерация кыскараак иштөө убактысын берет деген нерсе көрсөтүлгөн эмес; булак жыйынтыктары мунун тескерисин көрсөтөт.
  • Болгону үч эки-өзгөрмөлүү мисал жогорку өлчөмдүү масштабдалуунун далили эмес.
  • Runtime маалыматтары кайталанган статистикалык benchmark эмес.
  • Мисал 3тө глобалдык минимум табылган эмес; функция төмөндөн чексиз.
  • Exact line search божомолу жок берилген global convergence аргументи бардык nonlinear максат функцияларына түз жалпылана албайт.
  • Булак жаңы \(\beta_k\)'ны негизги заманбап nonlinear-CG формулалары менен системалуу benchmark ичинде салыштырбайт.

Булак жана Ыкма Эскертүүсү

Толук түпнуска аталышы:Using MATLAB for Steepest Descent Algorithm (SD) with Conjugate Gradient Algorithm (CG) For Minimizing Unconstrained problems.

Авторлор: Huda H. Al-Zobiadi жана Adawiya A. Mahmood Al-Nuaimi.

Мекеме: Department of Mathematics, College of Science, University of Diyala, Diyala, Iraq.

Журнал: Academic Science Journal (ASJ).

Том / сан / беттер: Vol. 4, No. 2, 94–103.

DOI: 10.24237/04.02.871.

Жөнөтүү / ревизия / кабыл алуу / жарыялоо: 29-декабрь 2025 / 7-январь 2026 / 11-март 2026 / 30-апрель 2026.

Рецензия: Academic Science Journal эки тараптуу сокур рецензия жүргүзөрүн билдирет.

Лицензия: CC BY 4.0.

Ыкма: Steepest Descent жана өзгөртүлгөн \(\beta_k\) параметрлүү Conjugate Gradient алгоритмдерин үч эки-өлчөмдүү nonlinear максат функциясында MATLAB 2024 менен ишке ашыруу жана итерация саны, болжолдуу минимум мааниси жана аткаруу убактысын салыштыруу.

Каржылоо: Булак “No funding” билдирүүсүн берет.

Кызыкчылыктардын кагылышы: Авторлор кызыкчылыктардын кагылышы жок экенин билдиришет.

Этика: Эмгек теориялык математика тармагында болгондуктан этикалык кеңештин уруксаты талап кылынбай турганы айтылган.

Математикалык текшерүү эскертүүсү: Булакта Мисал 1 үчүн берилген \(x=(0.333333,0)\) чекити \(tol=0.1\) себебинен пайда болгон эрте токтоо чекити; функциянын толук стационардык минимуму болжол менен \(x=(0.351734,0)\). Мисал 2нин толук глобалдык минимуму \((4/3,-8/3)\) жана \(f=-16/3\). Мисал 3 болсо \(x_1\rightarrow+\infty\) үчүн \(f\rightarrow-\infty\) болгондуктан глобалдык минимумга ээ эмес; булакта табылган болжолдуу \((0.1118,0.8)\) чекити жергиликтүү минимум.

Жакындашуу эскертүүсү: Булактагы CG descent далили exact-line-search ортогоналдуулугун колдонот. Иш жүзүндөгү Hessian негизиндеги кадам формуласы жалпы nonlinear функцияларда ар дайым exact line search экендиги өзүнчө далилденбегендиктен global convergence дооматы ушул божомол эске алынып окулушу керек.

Verianla Live: Абдан ылайыктуу. Үч максат функциясы түз математикалык формада берилгендиктен SD жана CG жолдору кайра эсептелиши мүмкүн. Эң күчтүү Live Figure — ошол эле үч өлчөмдүү бет үстүндө кызгылт сары SD жана көк CG жолдорун ар бир кадамда \(x_k\), \(\|\nabla f(x_k)\|\), \(\alpha_k\), \(\beta_k\) жана \(f(x_k)\) маанилери менен бирге көрсөтүү. Мисал 3тө камера талаасы кеңейтилгенде беттин \(x_1\) багытында төмөндөн чексиз болуп кеткени көрсөтүлүп, “жергиликтүү минимум ≠ глобалдык минимум” айырмасы үйрөтүүчү түрдө түшүндүрүлүшү мүмкүн.


Бөлүшүү:

Пикирлер текшерилгенден кийин жарыяланат.Пикириңиз жактыруу процессине жөнөтүлүп, ылайыктуу деп табылганда көрүнөт.

Пикир калтырыңыз

E-mail дарегиңиз жарыяланбайт. Милдеттүү талаалар * менен белгиленген

Бул сайтта кукилерге уруксат берүү тажрыйбаңызды жакшыртат. Куки саясаты