Funktsional bog'liqliklarga kirish

Ushbu maqolada biz ma'lumotlar bazalaridagi funktsional bog'liqliklar haqida gapiramiz - ular nima, ular qayerda ishlatiladi va ularni topish uchun qanday algoritmlar mavjud.

Funktsional bog'liqliklarni relyatsion ma'lumotlar bazalari kontekstida ko'rib chiqamiz. Taxminan aytganda, bunday ma'lumotlar bazalarida ma'lumotlar jadval shaklida saqlanadi. Keyinchalik, biz qat'iy munosabatlar nazariyasida bir-birini almashtirib bo'lmaydigan taxminiy tushunchalardan foydalanamiz: biz jadvalning o'zini munosabat, ustunlarni - atributlar (ularning to'plami - munosabatlar sxemasi) va atributlar kichik to'plamidagi qator qiymatlari to'plamini chaqiramiz. - tup.

Funktsional bog'liqliklarga kirish

Masalan, yuqoridagi jadvalda (Benson, M, M organ) atributlar majmuasi (Bemor, Pol, Doktor).
Rasmiyroq aytganda, bu quyidagicha yoziladi: Funktsional bog'liqliklarga kirish[Bemor, jins, shifokor] = (Benson, M, M organi).
Endi biz funktsional bog'liqlik (FD) tushunchasini kiritishimiz mumkin:

Ta'rif 1. R munosabati X → Y federal qonunini (bu erda X, Y ⊆ R) qondiradi, agar har qanday kortejlar bo'lsa va faqat Funktsional bog'liqliklarga kirish, Funktsional bog'liqliklarga kirish ∈ R ushlab turadi: agar Funktsional bog'liqliklarga kirish[X] = Funktsional bog'liqliklarga kirish[X], keyin Funktsional bog'liqliklarga kirish[Y] = Funktsional bog'liqliklarga kirish[Y]. Bunday holda, X (aniqlovchi yoki belgilovchi xususiyatlar to'plami) Y (bog'liq to'plam) funktsional jihatdan aniqlaydi, deymiz.

Boshqacha qilib aytganda, federal qonunning mavjudligi X → Y degani, agar bizda ikkita kortej bo'lsa R va ular atributlarga mos keladi X, keyin ular atributlarda mos keladi Y.
Va endi, tartibda. Keling, atributlarni ko'rib chiqaylik Bemor и Paul buning uchun biz ular o'rtasida bog'liqliklar bor yoki yo'qligini aniqlamoqchimiz. Bunday atributlar to'plami uchun quyidagi bog'liqliklar mavjud bo'lishi mumkin:

  1. Bemor → jinsi
  2. Jins → Bemor

Yuqorida ta'riflanganidek, birinchi bog'liqlikni ushlab turish uchun har bir noyob ustun qiymati Bemor faqat bitta ustun qiymati mos kelishi kerak Paul. Va misol jadvali uchun bu haqiqatan ham shunday. Biroq, bu teskari yo'nalishda ishlamaydi, ya'ni ikkinchi bog'liqlik qanoatlanmaydi va atribut Paul uchun belgilovchi emas Bemor. Xuddi shunday, agar qaramlikni olsak Shifokor → Bemor, qiymati beri buzilganligini ko'rishingiz mumkin Robin bu atribut bir necha xil ma'noga ega - Ellis va Grem.

Funktsional bog'liqliklarga kirish

Funktsional bog'liqliklarga kirish

Shunday qilib, funktsional bog'liqliklar jadval atributlari to'plami o'rtasidagi mavjud munosabatlarni aniqlash imkonini beradi. Bu erdan boshlab biz eng qiziqarli aloqalarni ko'rib chiqamiz, aniqrog'i X → Yular nima:

  • ahamiyatsiz bo'lmagan, ya'ni bog'liqlikning o'ng tomoni chapning kichik to'plami emas (Y ̸⊆ X);
  • minimal, ya'ni bunday qaramlik yo'q Z → Y, deb Z ⊂ X.

Shu paytgacha ko'rib chiqilgan bog'liqliklar qat'iy edi, ya'ni ular jadvalda hech qanday qoidabuzarliklarni nazarda tutmagan, ammo ularga qo'shimcha ravishda, kortejlar qiymatlari o'rtasida nomuvofiqlikka yo'l qo'yadiganlar ham mavjud. Bunday bog'liqliklar taxminiy deb ataladigan alohida sinfga joylashtiriladi va ma'lum miqdordagi kortejlar uchun buzilishiga ruxsat beriladi. Bu miqdor maksimal xato indikatori emax bilan tartibga solinadi. Masalan, xato darajasi Funktsional bog'liqliklarga kirish = 0.01 qaramlik ko'rib chiqilayotgan atributlar to'plamiga mavjud bo'lgan kortejlarning 1% tomonidan buzilishi mumkinligini anglatishi mumkin. Ya'ni, 1000 ta yozuv uchun maksimal 10 ta kortej Federal qonunni buzishi mumkin. Taqqoslanayotgan kortejlarning har xil qiymatlariga asoslangan bir oz boshqacha ko'rsatkichni ko'rib chiqamiz. Giyohvandlik uchun X → Y munosabat bo'yicha r quyidagicha hisoblanadi:

Funktsional bog'liqliklarga kirish

Keling, xatoni hisoblaylik Shifokor → Bemor yuqoridagi misoldan. Bizda qiymatlari atribut bo'yicha farq qiladigan ikkita kortej bor Bemor, lekin mos keladi Doktor: Funktsional bog'liqliklarga kirish[Doktor, bemor] = (Robin, Ellis) va Funktsional bog'liqliklarga kirish[Doktor, bemor] = (Robin, Grem). Xatoning ta'rifidan so'ng, biz barcha qarama-qarshi juftlarni hisobga olishimiz kerak, ya'ni ulardan ikkitasi bo'ladi: (Funktsional bog'liqliklarga kirish, Funktsional bog'liqliklarga kirish) va uning inversiyasi (Funktsional bog'liqliklarga kirish, Funktsional bog'liqliklarga kirish). Keling, uni formulaga almashtiramiz va olamiz:

Funktsional bog'liqliklarga kirish

Keling, savolga javob berishga harakat qilaylik: "Bularning barchasi nima uchun?" Aslida, federal qonunlar boshqacha. Birinchi tur - ma'lumotlar bazasini loyihalash bosqichida ma'mur tomonidan belgilanadigan bog'liqliklar. Ular odatda kam sonli, qat'iy va asosiy dastur ma'lumotlarni normallashtirish va relyatsion sxemani loyihalashdir.

Ikkinchi tur - bu "yashirin" ma'lumotlarni va atributlar orasidagi ilgari noma'lum munosabatlarni ifodalovchi bog'liqliklar. Ya'ni, dizayn vaqtida bunday bog'liqliklar haqida o'ylamagan va ular mavjud ma'lumotlar to'plami uchun topilgan, shuning uchun keyinchalik ko'plab aniqlangan federal qonunlarga asoslanib, saqlangan ma'lumotlar haqida har qanday xulosalar chiqarish mumkin. Biz aynan shu bog'liqliklar bilan ishlaymiz. Ular bilan turli xil qidiruv texnikasi va ularning asosida qurilgan algoritmlar bilan ma'lumotlarni qazib olishning butun sohasi shug'ullanadi. Keling, har qanday ma'lumotlarda topilgan funktsional bog'liqliklar (aniq yoki taxminiy) qanday foydali bo'lishi mumkinligini aniqlaylik.

Funktsional bog'liqliklarga kirish

Bugungi kunda bog'liqliklarning asosiy ilovalaridan biri ma'lumotlarni tozalashdir. Bu "iflos ma'lumotlar" ni aniqlash va keyin ularni tuzatish jarayonlarini ishlab chiqishni o'z ichiga oladi. "Nopok ma'lumotlar" ning ko'zga ko'ringan misollari dublikatlar, ma'lumotlar xatolari yoki matn terish xatolari, etishmayotgan qiymatlar, eskirgan ma'lumotlar, qo'shimcha bo'shliqlar va boshqalar.

Ma'lumotlar xatosiga misol:

Funktsional bog'liqliklarga kirish

Ma'lumotlardagi dublikatlarga misol:

Funktsional bog'liqliklarga kirish

Misol uchun, bizda bajarilishi kerak bo'lgan jadval va federal qonunlar to'plami mavjud. Bu holda ma'lumotlarni tozalash Federal qonunlar to'g'ri bo'lishi uchun ma'lumotlarni o'zgartirishni o'z ichiga oladi. Bunday holda, o'zgartirishlar soni minimal bo'lishi kerak (bu protsedura o'z algoritmlariga ega, biz ushbu maqolada e'tibor bermaymiz). Quyida bunday ma'lumotlarni o'zgartirishga misol keltirilgan. Chap tomonda asl munosabatlar mavjud bo'lib, unda zaruriy FL talablari bajarilmagani aniq (FLlardan birining buzilishi misoli qizil rang bilan ta'kidlangan). O'ng tomonda yangilangan munosabatlar mavjud bo'lib, yashil hujayralar o'zgartirilgan qiymatlarni ko'rsatadi. Ushbu protseduradan so'ng kerakli bog'liqliklar saqlana boshladi.

Funktsional bog'liqliklarga kirish

Yana bir mashhur dastur ma'lumotlar bazasi dizayni. Bu erda oddiy shakllar va normalizatsiyani esga olish kerak. Normallashtirish - bu munosabatlarni ma'lum talablar to'plamiga muvofiqlashtirish jarayoni bo'lib, ularning har biri o'ziga xos tarzda normal shakl bilan belgilanadi. Biz har xil oddiy shakllarning talablarini tasvirlamaymiz (bu yangi boshlanuvchilar uchun ma'lumotlar bazasi kursi bo'yicha har qanday kitobda amalga oshiriladi), lekin biz faqat ularning har biri funktsional bog'liqliklar tushunchasidan o'ziga xos tarzda foydalanishini ta'kidlaymiz. Oxir oqibat, FL - bu ma'lumotlar bazasini loyihalashda hisobga olinadigan yaxlitlik cheklovlari (bu vazifa kontekstida FL ba'zan superkeys deb ataladi).

Keling, quyidagi rasmdagi to'rtta oddiy shakl uchun ularning arizasini ko'rib chiqaylik. Eslatib o'tamiz, Boyce-Codd normal shakli uchinchi shaklga qaraganda qattiqroq, ammo to'rtinchisiga qaraganda kamroq qattiqroq. Biz hozircha ikkinchisini ko'rib chiqmayapmiz, chunki uni shakllantirish ushbu maqolada biz uchun qiziq bo'lmagan ko'p qiymatli bog'liqliklarni tushunishni talab qiladi.

Funktsional bog'liqliklarga kirish
Funktsional bog'liqliklarga kirish
Funktsional bog'liqliklarga kirish
Funktsional bog'liqliklarga kirish

Bog'liqlar o'z qo'llanilishini topgan yana bir soha - sodda Bayes klassifikatorini yaratish, muhim xususiyatlarni aniqlash va regressiya modelini qayta parametrlash kabi vazifalarda xususiyatlar maydonining o'lchamini kamaytirishdir. Asl maqolalarda bu vazifa ortiqcha va xususiyatlarning dolzarbligini aniqlash deb ataladi [5, 6] va u ma'lumotlar bazasi tushunchalaridan faol foydalanish bilan hal qilinadi. Bunday ishlarning paydo bo'lishi bilan aytishimiz mumkinki, bugungi kunda ma'lumotlar bazasini, analitikani va yuqoridagi optimallashtirish muammolarini amalga oshirishni bitta vositaga birlashtirishga imkon beradigan echimlarga talab mavjud [7, 8, 9].

Ma'lumotlar to'plamida federal qonunlarni qidirish uchun ko'plab algoritmlar mavjud (ham zamonaviy, ham unchalik zamonaviy emas).Bunday algoritmlarni uch guruhga bo'lish mumkin:

  • Algebraik panjaralarning o'tish algoritmlari (Qafas o'tish algoritmlari)
  • Kelishilgan qiymatlarni qidirishga asoslangan algoritmlar (farqli va kelishilgan algoritmlar)
  • Juftlik taqqoslashga asoslangan algoritmlar (qaramlik induksiyasi algoritmlari)

Algoritmning har bir turining qisqacha tavsifi quyidagi jadvalda keltirilgan:
Funktsional bog'liqliklarga kirish

Ushbu tasnif haqida ko'proq o'qishingiz mumkin [4]. Quyida har bir turdagi algoritmlarga misollar keltirilgan:

Funktsional bog'liqliklarga kirish

Funktsional bog'liqliklarga kirish

Hozirgi vaqtda funktsional bog'liqliklarni topish uchun bir nechta yondashuvlarni birlashtirgan yangi algoritmlar paydo bo'lmoqda. Bunday algoritmlarga Pyro [2] va HyFD [3] misol bo'la oladi. Ularning ishlarini tahlil qilish ushbu turkumning keyingi maqolalarida kutilmoqda. Ushbu maqolada biz faqat qaramlikni aniqlash usullarini tushunish uchun zarur bo'lgan asosiy tushunchalar va lemmalarni ko'rib chiqamiz.

Keling, oddiy biridan boshlaylik - ikkinchi turdagi algoritmlarda qo'llaniladigan farq va rozilik to'plami. Farq to'plami - bu qiymatlari bir xil bo'lmagan kortejlar to'plami, rozilik to'plami esa, aksincha, bir xil qiymatlarga ega bo'lgan kortejlardir. Shuni ta'kidlash kerakki, bu holda biz qaramlikning faqat chap tomonini ko'rib chiqamiz.

Yuqorida uchragan yana bir muhim tushuncha algebraik panjaradir. Ko'pgina zamonaviy algoritmlar ushbu kontseptsiyada ishlaganligi sababli, biz uning nima ekanligini tushunishimiz kerak.

Panjara tushunchasini kiritish uchun qisman tartiblangan to'plamni (yoki qisman tartiblangan to'plamni, qisqartma poset deb ataladi) aniqlash kerak.

Ta'rif 2. Agar barcha a, b, c ∈ S uchun quyidagi xossalar qanoatlansa, S to‘plam ikkilik munosabat ⩽ bo‘yicha qisman tartiblangan deyiladi:

  1. Reflektorlik, ya'ni a ⩽ a
  2. Antisimmetriya, ya'ni a ⩽ b va b ⩽ a bo'lsa, a = b
  3. O'tish qobiliyati, ya'ni a ⩽ b va b ⩽ c uchun a ⩽ c


Bunday munosabat (bo'sh) qisman tartibli munosabat, to'plamning o'zi esa qisman tartiblangan to'plam deyiladi. Rasmiy belgi: ⟨S, ⩽⟩.

Qisman tartiblangan to'plamning eng oddiy misoli sifatida biz odatdagi tartib munosabati ⩽ bo'lgan barcha natural sonlar N to'plamini olishimiz mumkin. Barcha kerakli aksiomalarning bajarilishini tekshirish oson.

Yana mazmunli misol. ⊆ inklyuziya munosabati bilan tartiblangan {1, 2, 3} barcha kichik to'plamlar to'plamini ko'rib chiqing. Darhaqiqat, bu munosabat barcha qisman tartib shartlarini qondiradi, shuning uchun ⟨P ({1, 2, 3}), ⊆⟩ qisman tartiblangan to'plamdir. Quyidagi rasmda ushbu to'plamning tuzilishi ko'rsatilgan: agar bir elementga boshqa elementga o'qlar orqali erishish mumkin bo'lsa, u holda ular tartib munosabatlarida.

Funktsional bog'liqliklarga kirish

Bizga matematika sohasidan yana ikkita oddiy ta'rif kerak bo'ladi - supremum va infimum.

Ta'rif 3. ⟨S, ⩽⟩ qisman tartiblangan toʻplam boʻlsin, A ⊆ S. A ning yuqori chegarasi u ∈ S element boʻlib, ∀x ∈ S: x ⩽ u boʻlsin. U S ning barcha yuqori chegaralari to'plami bo'lsin. Agar U tarkibida eng kichik element bo'lsa, u holda u yuqori element deb ataladi va yuqori A bilan belgilanadi.

Xuddi shunday pastki chegara tushunchasi ham kiritilgan.

Ta'rif 4. ⟨S, ⩽⟩ qisman tartiblangan toʻplam boʻlsin, A ⊆ S. A ning infimumi l ∈ S element boʻlib, ∀x ∈ S: l ⩽ x boʻlsin. S ning barcha quyi chegaralari to‘plami L bo‘lsin. Agar Lda eng katta element bo‘lsa, u infimum deyiladi va inf A deb belgilanadi.

Misol tariqasida yuqoridagi qisman tartiblangan ⟨P ({1, 2, 3}), ⊆⟩ toʻplamini koʻrib chiqing va undagi supremum va infimumni toping:

Funktsional bog'liqliklarga kirish

Endi biz algebraik panjara ta'rifini shakllantirishimiz mumkin.

Ta'rif 5. ⟨P,⩽⟩ qisman tartiblangan toʻplam boʻlsin, shunda har ikki elementli kichik toʻplam yuqori va pastki chegaraga ega boʻladi. U holda P ga algebraik panjara deyiladi. Bunda sup{x, y} x ∨ y, inf {x, y} esa x ∧ y shaklida yoziladi.

Bizning ish misolimiz ⟨P ({1, 2, 3}), ⊆⟩ panjara ekanligini tekshiramiz. Haqiqatan ham, har qanday a uchun b ∈ P ({1, 2, 3}), a∨b = a∪b va a∧b = a∩b. Masalan, {1, 2} va {1, 3} to'plamlarni ko'rib chiqing va ularning infimum va supremumini toping. Agar biz ularni kesib o'tsak, biz infimum bo'lgan {1} to'plamni olamiz. Biz ularni birlashtirib supremumni olamiz - {1, 2, 3}.

Jismoniy muammolarni aniqlash algoritmlarida qidiruv maydoni ko'pincha panjara shaklida taqdim etiladi, bu erda bitta element to'plamlari (qidiruv panjarasining birinchi darajasini o'qing, bu erda bog'liqliklarning chap tomoni bitta atributdan iborat) har bir atributni ifodalaydi. asl munosabatdan.
Birinchidan, ∅ → ko'rinishdagi bog'liqliklarni ko'rib chiqamiz Yagona atribut. Bu qadam qaysi atributlar birlamchi kalitlar ekanligini aniqlash imkonini beradi (bunday atributlar uchun determinantlar mavjud emas, shuning uchun chap tomon bo'sh). Bundan tashqari, bunday algoritmlar panjara bo'ylab yuqoriga qarab harakatlanadi. Shuni ta'kidlash kerakki, butun panjarani bosib o'tib bo'lmaydi, ya'ni agar chap tomonning kerakli maksimal o'lchami kirishga o'tkazilsa, u holda algoritm bu o'lchamdagi darajadan uzoqqa chiqmaydi.

Quyidagi rasmda FZni topish masalasida algebraik panjaradan qanday foydalanish mumkinligi ko'rsatilgan. Bu erda har bir chekka (X, XY) tobelikni ifodalaydi X → Y. Misol uchun, biz birinchi darajadan o'tdik va giyohvandlik saqlanib qolganligini bilamiz A → B (buni cho'qqilar orasidagi yashil aloqa sifatida ko'rsating A и B). Bu shuni anglatadiki, biz panjara bo'ylab yuqoriga ko'tarilganimizda, biz qaramlikni tekshirmasligimiz mumkin A, C → B, chunki u endi minimal bo'lmaydi. Xuddi shunday, agar qaramlik saqlanib qolgan bo'lsa, biz buni tekshirmaymiz C → B.

Funktsional bog'liqliklarga kirish
Funktsional bog'liqliklarga kirish

Bundan tashqari, qoida tariqasida, federal qonunlarni qidirish uchun barcha zamonaviy algoritmlar bo'lim kabi ma'lumotlar strukturasidan foydalanadi (asl manbada - ajratilgan qism [1]). Bo'limning rasmiy ta'rifi quyidagicha:

Ta'rif 6. X ⊆ R r munosabati uchun atributlar to‘plami bo‘lsin. Klaster - bu X uchun bir xil qiymatga ega bo'lgan r dagi kortejlar indekslari to'plami, ya'ni c(t) = {i|ti[X] = t[X]}. Bo'lim - bu birlik uzunligidagi klasterlardan tashqari klasterlar to'plami:

Funktsional bog'liqliklarga kirish

Oddiy so'zlar bilan aytganda, atribut uchun bo'lim X ro'yxatlar to'plami bo'lib, unda har bir ro'yxatda bir xil qiymatlarga ega qator raqamlari mavjud X. Zamonaviy adabiyotda bo'limlarni ifodalovchi tuzilma pozitsiyalar ro'yxati indeksi (PLI) deb ataladi. Birlik uzunlikdagi klasterlar PLI siqish maqsadlari uchun chiqarib tashlanadi, chunki ular har doim aniqlash oson bo'ladigan noyob qiymatga ega bo'lgan rekord raqamni o'z ichiga olgan klasterlardir.

Keling, bir misolni ko'rib chiqaylik. Keling, bemorlar bilan bir xil jadvalga qaytaylik va ustunlar uchun bo'limlarni quraylik Bemor и Paul (chapda yangi ustun paydo bo'ldi, unda jadval qatorlari raqamlari belgilangan):

Funktsional bog'liqliklarga kirish

Funktsional bog'liqliklarga kirish

Bundan tashqari, ta'rifga ko'ra, ustun uchun bo'lim Bemor aslida bo'sh bo'ladi, chunki bitta klasterlar bo'limdan chiqarib tashlangan.

Bo'limlarni bir nechta atributlar bo'yicha olish mumkin. Va buni amalga oshirishning ikkita usuli bor: jadvalni ko'rib chiqish orqali bir vaqtning o'zida barcha kerakli atributlardan foydalangan holda bo'limni yarating yoki uni atributlar kichik to'plamidan foydalangan holda bo'limlarni kesish operatsiyasidan foydalanib yarating. Federal qonunni qidirish algoritmlari ikkinchi variantdan foydalanadi.

Oddiy so'zlar bilan aytganda, masalan, ustunlar bo'yicha bo'lim olish ABC, uchun bo'limlarni olishingiz mumkin AC и B (yoki boshqa har qanday ajratilgan kichik to'plamlar) va ularni bir-biri bilan kesishadi. Ikki bo'limning kesishishi operatsiyasi ikkala bo'lim uchun umumiy bo'lgan eng katta uzunlikdagi klasterlarni tanlaydi.

Keling, bir misolni ko'rib chiqaylik:

Funktsional bog'liqliklarga kirish

Funktsional bog'liqliklarga kirish

Birinchi holda, biz bo'sh bo'lim oldik. Agar siz jadvalga diqqat bilan qarasangiz, ikkita atribut uchun bir xil qiymatlar yo'q. Agar jadvalni biroz o'zgartirsak (o'ngdagi holat), biz allaqachon bo'sh bo'lmagan chorraha olamiz. Bundan tashqari, 1 va 2-satrlar aslida atributlar uchun bir xil qiymatlarni o'z ichiga oladi Paul и Doktor.

Keyinchalik, bizga bo'lim o'lchami kabi tushuncha kerak bo'ladi. Rasmiy ravishda:

Funktsional bog'liqliklarga kirish

Oddiy qilib aytganda, bo'lim hajmi - bu bo'limga kiritilgan klasterlar soni (yagona klasterlar bo'limga kiritilmaganligini unutmang!):

Funktsional bog'liqliklarga kirish

Funktsional bog'liqliklarga kirish

Endi biz asosiy lemmalardan birini aniqlashimiz mumkin, bu esa berilgan bo'limlar uchun bog'liqlik mavjudmi yoki yo'qligini aniqlashga imkon beradi:

Lemma 1. A, B → C bog'liqligi, agar va faqat bo'lsa, amal qiladi

Funktsional bog'liqliklarga kirish

Lemmaga ko'ra, qaramlikning mavjudligini aniqlash uchun to'rtta qadam bajarilishi kerak:

  1. Bog'lanishning chap tomoni uchun bo'limni hisoblang
  2. Bog'liqlikning o'ng tomoni uchun bo'limni hisoblang
  3. Birinchi va ikkinchi bosqichning mahsulotini hisoblang
  4. Birinchi va uchinchi bosqichlarda olingan bo'limlarning o'lchamlarini solishtiring

Quyida qaramlikning ushbu lemmaga muvofiqligini tekshirishga misol keltirilgan:

Funktsional bog'liqliklarga kirish
Funktsional bog'liqliklarga kirish
Funktsional bog'liqliklarga kirish
Funktsional bog'liqliklarga kirish

Ushbu maqolada biz funktsional bog'liqlik, taxminiy funktsional bog'liqlik kabi tushunchalarni ko'rib chiqdik, ular qayerda ishlatilishini, shuningdek, fizik funktsiyalarni qidirish uchun qanday algoritmlar mavjudligini ko'rib chiqdik. Shuningdek, biz federal qonunlarni qidirish uchun zamonaviy algoritmlarda faol qo'llaniladigan asosiy, ammo muhim tushunchalarni batafsil ko'rib chiqdik.

Adabiyotlar:

  1. Huhtala Y. va boshqalar. TANE: Funktsional va taxminiy bog'liqliklarni aniqlashning samarali algoritmi // Kompyuter jurnali. – 1999. – T. 42. – Yoʻq. 2. – 100-111-betlar.
  2. Kruse S., Naumann F. Taxminiy bog'liqliklarning samarali kashfiyoti // VLDB jamg'armasi materiallari. – 2018. – T. 11. – Yoʻq. 7. – 759-772-betlar.
  3. Papenbrok T., Naumann F. Funktsional bog'liqlikni aniqlashga gibrid yondashuv // Ma'lumotlarni boshqarish bo'yicha 2016 yilgi xalqaro konferentsiya materiallari. – ACM, 2016. – 821-833-betlar.
  4. Papenbrock T. va boshqalar. Funktsional bog'liqlikni aniqlash: ettita algoritmni eksperimental baholash //VLDB jamg'armasi materiallari. – 2015. – T. 8. – Yoʻq. 10. – 1082-1093-betlar.
  5. Kumar A. va boshqalar. Qo'shilish yoki qo'shilmaslik?: Xususiyatlarni tanlashdan oldin qo'shilish haqida ikki marta o'ylab ko'ring // Ma'lumotlarni boshqarish bo'yicha 2016 yilgi xalqaro konferentsiya materiallari. – ACM, 2016. – 19-34-betlar.
  6. Abo Xamis M. va boshqalar. Ma'lumotlar bazasida siyrak tensorlar bilan o'rganish // Ma'lumotlar bazasi tizimlari tamoyillari bo'yicha 37-ACM SIGMOD-SIGACT-SIGAI simpoziumining materiallari. – ACM, 2018. – 325-340-betlar.
  7. Hellerstein JM va boshqalar. MADlib tahliliy kutubxonasi: yoki MAD ko'nikmalari, SQL //VLDB jamg'armasi materiallari. – 2012. – T. 5. – Yoʻq. 12. – 1700-1711-betlar.
  8. Qin C., Rusu F. Teraskali taqsimlangan gradient tushishini optimallashtirish uchun spekulyativ taxminlar // Bulutdagi ma'lumotlar tahlili bo'yicha to'rtinchi seminar materiallari. – ACM, 2015. – B. 1.
  9. Meng X. va boshqalar. Mllib: Apache uchqunida mashinani o'rganish // Mashina o'rganish tadqiqotlari jurnali. – 2016. – T. 17. – Yoʻq. 1. – 1235-1241-betlar.

Maqola mualliflari: Anastasiya Birillo, tadqiqotchi JetBrains tadqiqoti, CS markazi talabasi и Nikita Bobrov, tadqiqotchi JetBrains tadqiqoti

Manba: www.habr.com

a Izoh qo'shish