Introduction to Functional Dependencies

Ma kēia ʻatikala e kamaʻilio mākou e pili ana i nā hilinaʻi hana i nā ʻikepili - he aha lākou, kahi i hoʻohana ʻia ai a he aha nā algorithm e loaʻa ai iā lākou.

E noʻonoʻo mākou i nā hilinaʻi hana i ka pōʻaiapili o nā ʻikepili pili. No ka hoʻohālikelike ʻana, mālama ʻia ka ʻike ma ke ʻano o nā papa. Ma hope aʻe, hoʻohana mākou i nā manaʻo like ʻole i hoʻololi ʻole ʻia i ke kumumanaʻo relational koʻikoʻi: e kapa mākou i ka papaʻaina ponoʻī he pilina, nā kolamu - nā ʻano (ʻo kā lākou hoʻonohonoho - kahi schema pili), a me ka hoʻonohonoho o nā waiwai lālani ma kahi ʻāpana o nā ʻano. - he tuple.

Introduction to Functional Dependencies

No ka laʻana, ma ka papa ma luna, (Benson, M, M okana) he tuple o nā ʻano (Ma'i, Paul, Kauka).
ʻOi aku ke kūlana, ua kākau ʻia penei: Introduction to Functional Dependencies[ʻO ka maʻi, ke kāne, ke kauka] = (Benson, M, M organ).
I kēia manawa hiki iā mākou ke hoʻolauna i ka manaʻo o ka hilinaʻi hana (FD):

Wehewehe 1. Hoʻokō ka pilina R i ke kānāwai federal X → Y (kahi X, Y ⊆ R) inā a inā no kekahi mau tuple. Introduction to Functional Dependencies, Introduction to Functional Dependencies ∈ R paa: ina Introduction to Functional Dependencies[X] = Introduction to Functional Dependencies[X], a laila Introduction to Functional Dependencies[Y] = Introduction to Functional Dependencies[Y]. I kēia hihia, ʻōlelo mākou ua hoʻoholo pono ʻo X (ka mea hoʻoholo, a i ʻole ka hoʻonohonoho ʻana o nā ʻano) i ka Y (ka hoʻonohonoho hilinaʻi).

ʻO ia hoʻi, ka noho ʻana o kahi kānāwai federal X → Y ʻo ia hoʻi inā loaʻa iā mākou ʻelua tuple i loko R a ua kūlike lākou i nā ʻano X, a laila e kū like lākou i nā ʻano Y.
A i kēia manawa, i ka hoʻonohonoho. E nānā kākou i nā ʻano Hoomanawanui и ʻAe no laila mākou e makemake ai e ʻike inā he mau hilinaʻi ma waena o lākou a ʻaʻole paha. No kēlā ʻano hoʻonohonoho o nā ʻano, hiki ke loaʻa nā mea hilinaʻi penei:

  1. Hoʻomanawanui → Ke kāne
  2. Ke kāne → Hoʻomanawanui

E like me ka mea i wehewehe ʻia ma luna, i mea e paʻa ai ka hilinaʻi mua, kēlā me kēia kolamu waiwai kūʻokoʻa Hoomanawanui hoʻokahi wale nō kolamu waiwai pono e kūlike ʻAe. A no ka papa laʻana ʻo ia nō ka hihia. Eia naʻe, ʻaʻole hana kēia i ka ʻaoʻao ʻē aʻe, ʻo ia hoʻi, ʻaʻole i māʻona ka lua o ka hilinaʻi, a ʻo ke ʻano. ʻAe ʻaʻole ia he mea hoʻoholo no Hoomanawanui. Pēlā nō, inā mākou e lawe i ka hilinaʻi Kauka → Hoʻomanawanui, hiki iā ʻoe ke ʻike ua uhaki ʻia, ʻoiai ka waiwai Robin He mau manaʻo like ʻole kēia ʻano - ʻO Ellis lāua ʻo Graham.

Introduction to Functional Dependencies

Introduction to Functional Dependencies

No laila, hiki i nā hilinaʻi hana ke hoʻoholo i nā pilina e kū nei ma waena o nā pūʻulu o nā ʻano papa. Mai kēia manawa e noʻonoʻo mākou i nā pilina hoihoi loa, a i ʻole X → Yhe aha lākou:

  • non-trivial, ʻo ia hoʻi, ʻo ka ʻaoʻao ʻākau o ka hilinaʻi ʻaʻole ia he subset o ka hema (Y ̸⊆ X);
  • liʻiliʻi, ʻo ia hoʻi, ʻaʻohe mea hilinaʻi Z → Y,ʻo ia Z ⊂ X.

ʻO nā mea hilinaʻi i manaʻo ʻia a hiki i kēia manawa he koʻikoʻi, ʻo ia hoʻi, ʻaʻole lākou i hāʻawi i nā hewa ma ka papaʻaina, akā i ka hoʻohui ʻana iā lākou, aia kekahi mau mea e ʻae i ka like ʻole ma waena o nā waiwai o nā tuple. Hoʻokomo ʻia kēlā mau hilinaʻi i kahi papa ʻokoʻa, i kapa ʻia ʻo approximate, a ua ʻae ʻia e uhaki ʻia no kekahi helu o nā tuple. Hoʻoponopono ʻia kēia nui e ka emax hōʻailona kuhi hewa. No ka laʻana, ka helu kuhi Introduction to Functional Dependencies = 0.01 hiki ke hōʻino ʻia ka hilinaʻi e ka 1% o nā tuple i loaʻa ma nā ʻano o nā ʻano i manaʻo ʻia. ʻO ia hoʻi, no nā moʻolelo 1000, hiki i ka nui o 10 tuples ke uhaki i ke kānāwai Federal. E noʻonoʻo mākou i kahi metric ʻokoʻa, e pili ana i nā waiwai like ʻole o nā tuple i hoʻohālikelike ʻia. No ka addiction X → Y ma ka manao r ua manaoia penei:

Introduction to Functional Dependencies

E helu kākou i ka hewa no Kauka → Hoʻomanawanui mai ka laana maluna. Loaʻa iā mākou ʻelua tuple i ʻokoʻa nā waiwai i ka ʻano Hoomanawanui, aka, kulike ma Kauka: Introduction to Functional Dependencies[Kauka, Hoomanawanui] = (Robin, Ellis) a Introduction to Functional Dependencies[Kauka, Hoomanawanui] = (ʻO Robin, Graham). Ma hope o ka wehewehe ʻana i kahi hewa, pono mākou e noʻonoʻo i nā paio paio a pau, ʻo ia hoʻi, ʻelua o lākou: (Introduction to Functional Dependencies, Introduction to Functional Dependencies) a me kona inverse (Introduction to Functional Dependencies, Introduction to Functional Dependencies). E hoʻololi iā ia i loko o ke ʻano a loaʻa:

Introduction to Functional Dependencies

I kēia manawa e ho'āʻo kākou e pane i ka nīnau: "No ke aha ia mea a pau?" ʻOiaʻiʻo, ʻokoʻa nā kānāwai federal. ʻO ke ʻano mua, ʻo ia nā mea hilinaʻi i hoʻoholo ʻia e ka luna hoʻomalu ma ka pae hoʻolālā waihona. He liʻiliʻi lākou i ka helu, koʻikoʻi, a ʻo ka noi nui ʻo ka hoʻoponopono ʻikepili a me ka hoʻolālā schema relational.

ʻO ke ʻano ʻelua he mau hilinaʻi, e hōʻike ana i ka ʻikepili "huna" a me nā pilina ʻike ʻole ma waena o nā ʻano. ʻO ia hoʻi, ʻaʻole i noʻonoʻo ʻia kēlā mau hilinaʻi i ka manawa o ka hoʻolālā ʻana a ua ʻike ʻia lākou no ka hoʻonohonoho ʻikepili i kēia manawa, no laila, ma muli o nā kānāwai federal i ʻike ʻia, hiki ke huki ʻia nā hopena e pili ana i ka ʻike i mālama ʻia. ʻO kēia mau hilinaʻi mākou e hana pū ai. Hoʻopili ʻia lākou e kahi kahua holoʻokoʻa o ka ʻimi ʻikepili me nā ʻano ʻimi like ʻole a me nā algorithms i kūkulu ʻia ma luna o lākou. E noʻonoʻo pehea e hoʻohana pono ai nā hilinaʻi hana i loaʻa (pololei a kokoke paha) i kekahi ʻikepili.

Introduction to Functional Dependencies

I kēia lā, ʻo kekahi o nā noi nui o nā hilinaʻi ʻo ka hoʻomaʻemaʻe ʻikepili. Hoʻopili ia i ka hoʻomohala ʻana i nā kaʻina hana no ka ʻike ʻana i nā "ʻikepili lepo" a laila hoʻoponopono. ʻO nā hiʻohiʻona koʻikoʻi o ka "ʻikepili lepo" he mau kope, nā hewa ʻikepili a i ʻole typos, nā waiwai i nalowale, nā ʻikepili kahiko, nā hakahaka hou, a me nā mea like.

Ka laʻana o ka hewa ʻikepili:

Introduction to Functional Dependencies

Ka laʻana o nā kope i ka ʻikepili:

Introduction to Functional Dependencies

No ka laʻana, loaʻa iā mākou kahi papaʻaina a me kahi hoʻonohonoho o nā kānāwai federal e pono e hoʻokō ʻia. ʻO ka hoʻomaʻemaʻe ʻikepili i kēia hihia e pili ana i ka hoʻololi ʻana i ka ʻikepili i pololei nā kānāwai Federal. I kēia hihia, pono e liʻiliʻi ka helu o nā hoʻololi (ʻo kēia kaʻina hana i kāna mau algorithms, ʻaʻole mākou e nānā i kēia ʻatikala). Aia ma lalo kahi laʻana o ia hoʻololi ʻikepili. Aia ma ka ʻaoʻao hema ka pilina kumu, kahi, maopopo, ʻaʻole i hoʻokō ʻia nā FL e pono ai (kahi hiʻohiʻona o ka hōʻino ʻana i kekahi o nā FL i hōʻike ʻia i ka ʻulaʻula). Aia ma ka ʻākau ka pilina hou, me nā ʻōmaʻomaʻo e hōʻike ana i nā waiwai i hoʻololi ʻia. Ma hope o kēia kaʻina hana, hoʻomaka ka mālama ʻana i nā hilinaʻi pono.

Introduction to Functional Dependencies

ʻO kekahi noi kaulana ʻo ia ka hoʻolālā waihona. Maanei pono e hoʻomanaʻo i nā ʻano maʻamau a me ka normalization. ʻO ka Normalization ke kaʻina hana o ka lawe ʻana i kahi pilina e kūlike me kekahi mau koi, ʻo kēlā me kēia mea i wehewehe ʻia e ke ʻano maʻamau i kona ʻano ponoʻī. ʻAʻole mākou e wehewehe i nā koi o nā ʻano maʻamau like ʻole (hana ʻia kēia i loko o kekahi puke ma kahi papa waihona waihona no ka poʻe hoʻomaka), akā e hoʻomaopopo wale mākou e hoʻohana kēlā me kēia o lākou i ka manaʻo o nā hilinaʻi hana i kona ʻano ponoʻī. Ma hope o nā mea a pau, ʻo nā FL he mau mea paʻa pono i mālama ʻia i ka wā e hoʻolālā ai i kahi waihona (ma ke ʻano o kēia hana, kapa ʻia nā FL i kekahi manawa he superkey).

E noʻonoʻo kākou i kā lākou noi no nā ʻano maʻamau ʻehā i ke kiʻi ma lalo nei. E hoʻomanaʻo, ʻoi aku ka koʻikoʻi o ke ʻano maʻamau o Boyce-Codd ma mua o ke kolu o ke ʻano, akā ʻoi aku ka liʻiliʻi ma mua o ka hā. ʻAʻole mākou e noʻonoʻo i ka mea hope i kēia manawa, no ka mea e pono ana ka hoʻokumu ʻana i ka hoʻomaopopo ʻana i nā hilinaʻi waiwai nui, ʻaʻole hoihoi iā mākou i kēia ʻatikala.

Introduction to Functional Dependencies
Introduction to Functional Dependencies
Introduction to Functional Dependencies
Introduction to Functional Dependencies

ʻO kahi ʻē aʻe i loaʻa ai i nā mea hilinaʻi i kā lākou noi ke hōʻemi i ka dimensionality o ke kikowaena hiʻona i nā hana e like me ke kūkulu ʻana i kahi classifier naive Bayes, ʻike i nā hiʻohiʻona koʻikoʻi, a me ka hoʻoponopono hou ʻana i kahi kumu hoʻohālikelike. Ma nā ʻatikala kumu, kapa ʻia kēia hana ʻo ka hoʻoholo ʻana o ka redundant and feature relevancy [5, 6], a ua hoʻoholo ʻia me ka hoʻohana ikaika ʻana i nā manaʻo waihona. Me ka hiki ʻana mai o ia mau hana, hiki iā mākou ke ʻōlelo i kēia lā he koi no nā hoʻonā e hiki ai iā mākou ke hoʻohui i ka waihona, analytics a me ka hoʻokō ʻana i nā pilikia optimization i luna i hoʻokahi mea hana [7, 8, 9].

Nui nā algorithms (no kēia wā a ʻaʻole hoʻi i kēia manawa) no ka ʻimi ʻana i nā kānāwai federal i kahi pūʻulu ʻikepili. Hiki ke māhele ʻia ia mau algorithm i ʻekolu pūʻulu:

  • Algorithms e hoʻohana ana i ka hele ʻana o nā lattice algebraic (Lattice traversal algorithms)
  • Algorithms e pili ana i ka ʻimi ʻana i nā waiwai i ʻae ʻia (Difference- and agree-set algorithms)
  • Algorithms e pili ana i ka hoʻohālikelike pālua (Dependency induction algorithms)

Hōʻike ʻia kahi wehewehe pōkole o kēlā me kēia ʻano algorithm ma ka papa ma lalo nei:
Introduction to Functional Dependencies

Hiki iā ʻoe ke heluhelu hou aʻe e pili ana i kēia hoʻohālikelike [4]. Aia ma lalo nā laʻana o nā algorithms no kēlā me kēia ʻano:

Introduction to Functional Dependencies

Introduction to Functional Dependencies

I kēia manawa, ʻike ʻia nā algorithm hou e hoʻohui i kekahi mau ala e ʻimi ai i nā hilinaʻi hana. ʻO nā laʻana o ia mau algorithms ʻo Pyro [2] a me HyFD [3]. Manaʻo ʻia kahi loiloi o kā lākou hana ma nā ʻatikala aʻe o kēia moʻo. Ma kēia ʻatikala e nānā wale mākou i nā manaʻo kumu a me nā lemma e pono ai e hoʻomaopopo i nā ʻenehana ʻike hilinaʻi.

E hoʻomaka kākou me kahi mea maʻalahi - ʻokoʻa- a hoʻonohonoho ʻae, hoʻohana ʻia ma ke ʻano ʻelua o nā algorithms. ʻO ka hoʻonohonoho ʻokoʻa he pūʻulu o nā tuple i like ʻole nā ​​waiwai, ʻoiai ʻo ka hoʻonohonoho ʻae ʻana, ʻo ia hoʻi, he mau tuple i loaʻa nā waiwai like. He mea pono e hoʻomaopopo i kēia hihia ke noʻonoʻo nei mākou i ka ʻaoʻao hema o ka hilinaʻi.

ʻO kekahi manaʻo koʻikoʻi i ʻike ʻia ma luna nei ka lattice algebraic. No ka mea he nui nā algorithms hou e hana nei i kēia manaʻo, pono mākou e manaʻo i ke ʻano.

No ka hoʻolauna ʻana i ka manaʻo o kahi lattice, pono e wehewehe i kahi ʻāpana i kauoha ʻia (a i ʻole ʻāpana i kauoha ʻia, i hoʻopau ʻia e like me poset).

Wehewehe 2. Ua ʻōlelo ʻia ka hoʻonohonoho S ua hoʻonohonoho ʻāpana ʻia e ka pilina binary ⩽ inā no nā a, b, c ∈ S ua māʻona kēia mau waiwai:

  1. ʻO ka hoʻololi ʻana, ʻo ia hoʻi, he ⩽ a
  2. Antisymmetry, ʻo ia hoʻi, inā he ⩽ b a me b ⩽ a, a laila a = b
  3. ʻO ka Transitivity, ʻo ia hoʻi, no kahi ⩽ b a me b ⩽ c ma muli o kahi ⩽ c


Ua kapa ʻia kēlā pilina he pili ʻāpana ʻāpana (loose), a ʻo ka hoʻonohonoho ponoʻī ʻia i kapa ʻia he ʻāpana kauoha ʻāpana. Ka helu ʻana: ⟨S, ⩽⟩.

Ma ke ʻano he laʻana maʻalahi loa o kahi hoʻonohonoho ʻāpana, hiki iā mākou ke lawe i ka pūʻulu o nā helu kūlohelohe a pau N me ka pilina maʻamau ⩽. He mea maʻalahi ka hōʻoia ʻana ua māʻona nā axioms pono a pau.

ʻO kahi laʻana ʻoi aku ka manaʻo. E noʻonoʻo i ka pūʻulu o nā ʻāpana ʻāpana a pau {1, 2, 3}, i kauoha ʻia e ka pilina hoʻokomo ⊆. ʻOiaʻiʻo, hoʻokō kēia pilina i nā kūlana hoʻonohonoho ʻāpana, no laila ⟨P ({1, 2, 3}), ⊆⟩ he pūʻulu i kauoha ʻia. Hōʻike ka kiʻi ma lalo nei i ke ʻano o kēia pūʻulu: inā hiki ke kiʻi ʻia kekahi mea e nā pua i kekahi ʻeleʻele, a laila aia lākou i kahi pilina pili.

Introduction to Functional Dependencies

Pono mākou i ʻelua mau wehewehe maʻalahi mai ke kahua o ka makemakika - supremum a infimum.

Wehewehe 3. E hoʻonohonoho ʻia ʻo ⟨S, ⩽⟩ i hoʻonohonoho ʻāpana, A ⊆ S. ʻO ka palena luna o A he mea u ∈ S e like me ∀x ∈ S: x ⩽ u. E hoʻonoho ʻia ʻo U ka hoʻonohonoho o nā palena luna a pau o S. Inā he ʻāpana liʻiliʻi loa ma ka U, a laila ua kapa ʻia ʻo ia ka supremum a ua kapa ʻia ka sup A.

Hoʻokomo ʻia ka manaʻo o kahi palena haʻahaʻa pololei.

Wehewehe 4. E hoʻonoho ʻia ʻo ⟨S, ⩽⟩ i hoʻonohonoho ʻāpana, A ⊆ S. ʻO ka infimum o A he ʻāpana l ∈ S e like me ∀x ∈ S: l ⩽ x. E hoʻonoho ʻia ʻo L i ka hoʻonohonoho o nā palena haʻahaʻa a pau o S. Inā loaʻa ka mea nui ma L, a laila ua kapa ʻia ʻo ia he infimum a ua kapa ʻia ʻo ia he inf A.

E noʻonoʻo ma ke ʻano he laʻana i ka hoʻonohonoho ʻāpana ʻāpana ⟨P ({1, 2, 3}), ⊆⟩ a loaʻa ka mea kiʻekiʻe a me ka infimum i loko:

Introduction to Functional Dependencies

I kēia manawa hiki iā mākou ke hana i ka wehewehe ʻana o kahi lattice algebraic.

Wehewehe 5. E hoʻonoho ʻia ʻo ⟨P,⩽⟩ i hoʻonohonoho ʻāpana i loaʻa i kēlā me kēia ʻāpana ʻāpana ʻelua ka palena luna a me lalo. A laila kapa ʻia ʻo P he lattice algebraic. I kēia hihia, ua kākau ʻia ka sup{x, y} me x ∨ y, a me inf {x, y} me x ∧ y.

E nānā i kā mākou laʻana hana ⟨P ({1, 2, 3}), ⊆⟩ he lattice. ʻOiaʻiʻo, no kekahi a, b ∈ P ({1, 2, 3}), a∨b = a∪b, a a∧b = a∩b. No ka laʻana, e noʻonoʻo i nā pūʻulu {1, 2} a me {1, 3} a e ʻike i ko lākou infimum a me ke kiʻekiʻe. Inā mākou e ʻoki iā lākou, e loaʻa iā mākou ka set {1}, ʻo ia ka infimum. Loaʻa iā mākou ka mea kiʻekiʻe ma ka hoʻohui ʻana iā lākou - {1, 2, 3}.

I nā algorithms no ka ʻike ʻana i nā pilikia kino, hōʻike pinepine ʻia ka wahi huli ma ke ʻano o kahi lattice, kahi i hoʻonohonoho ʻia o hoʻokahi mea (heluhelu i ka pae mua o ka lattice hulina, kahi i loaʻa i ka ʻaoʻao hema o nā mea hilinaʻi i hoʻokahi ʻano) o ka pili kumu.
ʻO ka mea mua, e noʻonoʻo mākou i nā hilinaʻi o ke ʻano ∅ → ʻAno hoʻokahi. ʻO kēia kaʻina hiki iā ʻoe ke hoʻoholo i nā ʻano he kī nui (no kēlā mau ʻano ʻaʻohe mea hoʻoholo, a no laila ua nele ka ʻaoʻao hema). Eia kekahi, ke neʻe nei kēlā mau algorithm i luna ma ka lattice. He mea pono e hoʻomaopopo ʻaʻole hiki ke hele i ka lattice holoʻokoʻa, ʻo ia hoʻi, inā hāʻawi ʻia ka nui o ka nui o ka ʻaoʻao hema i ka hoʻokomo, a laila ʻaʻole e hele ka algorithm ma mua o kahi pae me kēlā nui.

Hōʻike ke kiʻi ma lalo nei pehea e hoʻohana ʻia ai ka lattice algebraic i ka pilikia o ka loaʻa ʻana o kahi FZ. Eia kēlā me kēia ʻaoʻao (X, XY) hōʻike i kahi hilinaʻi X → Y. No ka laʻana, ua hala mākou i ka pae mua a ʻike mākou e mālama ʻia ka addiction A → B (e hōʻike mākou i kēia ma ke ʻano he pilina ʻōmaʻomaʻo ma waena o nā vertices A и B). ʻO ke ʻano kēia, ke neʻe mākou i luna ma ka lattice, ʻaʻole hiki iā mākou ke nānā i ka hilinaʻi A, C → B, no ka mea, ʻaʻole e liʻiliʻi hou. Pēlā nō, ʻaʻole mākou e nānā inā paʻa ka hilinaʻi C → B.

Introduction to Functional Dependencies
Introduction to Functional Dependencies

Eia kekahi, ma ke ʻano he lula, hoʻohana nā algorithm hou a pau no ka ʻimi ʻana i nā kānāwai federal i kahi hoʻolālā ʻikepili e like me kahi ʻāpana (ma ke kumu kumu - stripped partition [1]). Penei ka wehewehe pono ana o ka mahele.

Wehewehe 6. E hoʻolilo iā X ⊆ R i pūʻulu o nā ʻano no ka pilina r. ʻO ka pūʻulu he pūʻulu helu o nā tuple ma r i like ka waiwai no X, ʻo ia hoʻi, c(t) = {i|ti[X] = t[X]}. ʻO ka ʻāpana he pūʻulu o nā pūʻulu, me ka ʻole o nā pūʻulu o ka lōʻihi o ka ʻāpana:

Introduction to Functional Dependencies

I nā huaʻōlelo maʻalahi, kahi ʻāpana no kahi ʻano X he papa inoa, kahi i loaʻa i kēlā me kēia papa inoa nā helu laina me nā waiwai like no X. I loko o nā puke moʻolelo hou, ua kapa ʻia ke ʻano e hōʻike ana i nā ʻāpana i ka papa inoa papa inoa (PLI). Hoʻokaʻawale ʻia nā pūʻulu ʻāpana lōʻihi no nā kumu hoʻoemi PLI no ka mea he mau pūʻulu i loaʻa i kahi helu moʻolelo wale nō me kahi waiwai kūʻokoʻa e maʻalahi mau ke ʻike.

E nānā kākou i kekahi laʻana. E hoʻi kākou i ka papaʻaina hoʻokahi me nā maʻi a kūkulu i nā ʻāpana no nā kolamu Hoomanawanui и ʻAe (Ua puka mai he kolamu hou ma ka hema, kahi i kahaia ai na helu lalani papa):

Introduction to Functional Dependencies

Introduction to Functional Dependencies

Eia kekahi, e like me ka wehewehe ʻana, ka ʻāpana no ke kolamu Hoomanawanui e nele maoli no, no ka mea, ua kāpae ʻia nā pūʻulu hoʻokahi mai ka pā.

Hiki ke loaʻa nā ʻāpana e kekahi mau ʻano. A ʻelua mau ala e hana ai i kēia: ma ka hele ʻana i ka papaʻaina, kūkulu i kahi pā me ka hoʻohana ʻana i nā ʻano pono āpau i ka manawa hoʻokahi, a i ʻole kūkulu ʻia me ka hoʻohana ʻana i ka intersection o nā ʻāpana me ka hoʻohana ʻana i kahi ʻāpana o nā ʻano. Hoʻohana nā algorithms hulina kānāwai Federal i ka koho lua.

Ma nā huaʻōlelo maʻalahi, no ka laʻana, e kiʻi i kahi ʻāpana ma nā kolamu ABC, hiki iā ʻoe ke lawe i nā ʻāpana no AC и B (a i ʻole nā ​​ʻāpana ʻokoʻa ʻē aʻe) a hui pū kekahi me kekahi. ʻO ka hana o ka hui ʻana o nā ʻāpana ʻelua e koho i nā pūʻulu o ka lōʻihi loa i maʻa mau i nā ʻāpana ʻelua.

E nānā kākou i kekahi laʻana:

Introduction to Functional Dependencies

Introduction to Functional Dependencies

I ka hihia mua, ua loaʻa iā mākou kahi ʻāpana hakahaka. Inā ʻoe e nānā pono i ka papaʻaina, a laila, ʻaʻohe waiwai like no nā ʻano ʻelua. Inā hoʻololi iki mākou i ka papaʻaina (ka hihia ma ka ʻaoʻao ʻākau), e loaʻa iā mākou kahi ʻāpana ʻole. Eia kekahi, aia nā laina 1 a me 2 i nā waiwai like no nā ʻano ʻAe и Kauka.

A laila, pono mākou i kahi manaʻo e like me ka nui o ka partition. Ma keʻano kūlana:

Introduction to Functional Dependencies

ʻO ka waiho wale ʻana, ʻo ka nui o ka ʻāpana ʻo ia ka helu o nā puʻupuʻu i hoʻokomo ʻia i ka pā (e hoʻomanaʻo ʻaʻole i hoʻokomo ʻia nā pūʻulu hoʻokahi i ka pā!):

Introduction to Functional Dependencies

Introduction to Functional Dependencies

I kēia manawa hiki iā mākou ke wehewehe i kekahi o nā lema kī, no nā ʻāpana i hāʻawi ʻia e hiki ai iā mākou ke hoʻoholo inā paʻa ka hilinaʻi a ʻaʻole paha:

Lema 1. Paʻa ka hilinaʻi A, B → C inā a inā wale nō

Introduction to Functional Dependencies

Wahi a ka lemma, no ka hoʻoholo ʻana inā paʻa ka hilinaʻi, pono e hana ʻia ʻehā mau ʻanuʻu:

  1. E helu i ka ʻāpana no ka ʻaoʻao hema o ka hilinaʻi
  2. E helu i ka ʻāpana no ka ʻaoʻao ʻākau o ka hilinaʻi
  3. E helu i ka hua o ka hana mua a me ka lua
  4. E hoʻohālikelike i ka nui o nā ʻāpana i loaʻa i ka ʻanuʻu mua a me ke kolu

Aia ma lalo kahi hiʻohiʻona o ka nānā ʻana inā paʻa ka hilinaʻi e like me kēia lemma:

Introduction to Functional Dependencies
Introduction to Functional Dependencies
Introduction to Functional Dependencies
Introduction to Functional Dependencies

Ma kēia ʻatikala, ua nānā mākou i nā manaʻo e like me ka hilinaʻi hana, pili pili i ka hana, nānā i kahi i hoʻohana ʻia ai, a me nā algorithm no ka ʻimi ʻana i nā hana kino. Ua nānā nui mākou i nā manaʻo kumu akā koʻikoʻi i hoʻohana ikaika ʻia i nā algorithm hou no ka ʻimi ʻana i nā kānāwai federal.

Kuhikuhi:

  1. Huhtala Y. et al. TANE: He algorithm kūpono no ka ʻike ʻana i nā hilinaʻi hana a kokoke //Ka puke pai kamepiula. – 1999. – T. 42. – No. 2. – pp. 100-111.
  2. Kruse S., Naumann F. ʻIke kūpono o nā mea hilinaʻi kokoke // Nā hana o ka VLDB Endowment. – 2018. – T. 11. – No. 7. – pp. 759-772.
  3. Papenbrock T., Naumann F. A hybrid approach to functional dependency discovery //Proceedings of the 2016 International Conference on Management of Data. – ACM, 2016. – pp. 821-833.
  4. Papenbrock T. et al. Loaʻa ka hilinaʻi hana: He loiloi hoʻokolohua o ʻehiku algorithms //Proceedings of the VLDB Endowment. – 2015. – T. 8. – No. 10. – pp. 1082-1093.
  5. Kumar A. et al. No ka hui ʻana a ʻaʻole paha?: Noʻonoʻo ʻelua e pili ana i ka hui ʻana ma mua o ke koho ʻana i nā hiʻohiʻona //Proceedings of the 2016 International Conference on Management of Data. – ACM, 2016. – pp. 19-34.
  6. Abo Khamis M. et al. ʻO ke aʻo ʻana i loko o ka waihona me nā tensors liʻiliʻi // Nā hana o ka 37th ACM SIGMOD-SIGACT-SIGAI Symposium ma nā Kumu o nā Pūnaehana Pūnaewele. – ACM, 2018. – pp. 325-340.
  7. Hellerstein J. M. et al. ʻO ka waihona ʻikepili MADlib: a i ʻole nā ​​mākau MAD, ka SQL //Proceedings of the VLDB Endowment. – 2012. – T. 5. – No. 12. – pp. 1700-1711.
  8. Qin C., Rusu F. Hoʻohālikelike kuhi no ka hoʻokaʻawale ʻana i ka gradient descent optimization no terascale //Proceedings of the Fourth Workshop on Data analytics in the Cloud. – ACM, 2015. – P. 1.
  9. ʻO Meng X. et al. Mllib: ʻO ke aʻo ʻana i ka mīkini ma ka apache spark //Ka Nūpepa o ka ʻimi noiʻi aʻo mīkini. – 2016. – T. 17. – No. 1. – pp. 1235-1241.

Nā mea kākau ʻatikala: Anastasia Birillo, mea noiʻi ma ʻImi ʻo JetBrains, haumana kikowaena CS и Nikita Bobrov, mea noiʻi ma ʻImi ʻo JetBrains

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka