Ebben a cikkben az adatbĂĄzisok funkcionĂĄlis fĂŒggĆsĂ©geirĆl fogunk beszĂ©lni - mik ezek, hol hasznĂĄljĂĄk Ćket, Ă©s milyen algoritmusok lĂ©teznek ezek megtalĂĄlĂĄsĂĄra.
A funkcionĂĄlis fĂŒggĆsĂ©geket a relĂĄciĂłs adatbĂĄzisok kontextusĂĄban fogjuk megvizsgĂĄlni. Nagyon durvĂĄn fogalmazva, az ilyen adatbĂĄzisokban az informĂĄciĂłkat tĂĄblĂĄzatok formĂĄjĂĄban tĂĄroljĂĄk. EzutĂĄn közelĂtĆ fogalmakat hasznĂĄlunk, amelyek a szigorĂș relĂĄciĂłelmĂ©letben nem felcserĂ©lhetĆk: magĂĄt a tĂĄblĂĄt relĂĄciĂłnak, az oszlopokat - attribĂștumokat (halmazuk - relĂĄciĂłs sĂ©ma) Ă©s a sorĂ©rtĂ©kek halmazĂĄt az attribĂștumok egy rĂ©szhalmazĂĄn. - egy tuple.

PĂ©ldĂĄul a fenti tĂĄblĂĄzatban (Benson, M, M orgona) attribĂștumok sorozata (beteg, Paul, orvos).
FormĂĄlisabban ez Ăgy van leĂrva:
[Beteg, nem, orvos] = (Benson, M, M orgona).
Most bevezethetjĂŒk a funkcionĂĄlis fĂŒggĆsĂ©g (FD) fogalmĂĄt:
1. definĂciĂł. Az R relĂĄciĂł akkor Ă©s csak akkor teljesĂti az X â Y szövetsĂ©gi törvĂ©nyt (ahol X, Y â R) akkor Ă©s csak akkor, ha bĂĄrmely sorra
,
â R teljesĂŒl: ha
[X] =
[X] akkor
[Y] =
[Y]. Ebben az esetben azt mondjuk, hogy X (az attribĂștumok meghatĂĄrozĂł vagy meghatĂĄrozĂł halmaza) funkcionĂĄlisan meghatĂĄrozza Y-t (a fĂŒggĆ halmazt).
MĂĄs szĂłval, egy szövetsĂ©gi törvĂ©ny jelenlĂ©te X â Y azt jelenti, hogy ha kĂ©t sorunk van R Ă©s attribĂștumokban egyeznek X, akkor attribĂștumokban egybe fognak esni Y.
Ăs most sorrendben. NĂ©zzĂŒk az attribĂștumokat beteg Đž Neme amelyekhez azt szeretnĂ©nk kiderĂteni, hogy vannak-e köztĂŒk fĂŒggĆsĂ©gek vagy sem. Egy ilyen attribĂștumkĂ©szlet esetĂ©n a következĆ fĂŒggĆsĂ©gek lĂ©tezhetnek:
- Beteg â Nem
- Nem â Beteg
A fent meghatĂĄrozottak szerint, hogy az elsĆ fĂŒggĆsĂ©g megmaradjon, minden egyedi oszlopĂ©rtĂ©ket beteg csak egy oszlopĂ©rtĂ©knek kell egyeznie Neme. Ăs a pĂ©ldatĂĄblĂĄzat esetĂ©ben ez valĂłban Ăgy van. Ez azonban nem mƱködik az ellenkezĆ irĂĄnyba, vagyis a mĂĄsodik fĂŒggĆsĂ©g nem teljesĂŒl, Ă©s az attribĂștum Neme szĂĄmĂĄra nem meghatĂĄrozĂł Beteg. HasonlĂłkĂ©ppen, ha a fĂŒggĆsĂ©get vesszĂŒk Orvos â Beteg, lĂĄthatĂł, hogy megsĂ©rtettĂ©k, hiszen az Ă©rtĂ©k vörösbegy ennek az attribĂștumnak többfĂ©le jelentĂ©se van - Ellis Ă©s Graham.


Ăgy a funkcionĂĄlis fĂŒggĆsĂ©gek lehetĆvĂ© teszik a tĂĄblaattribĂștumkĂ©szletek közötti meglĂ©vĆ kapcsolatok meghatĂĄrozĂĄsĂĄt. InnentĆl kezdve a legĂ©rdekesebb összefĂŒggĂ©seket, vagy inkĂĄbb ilyeneket fogjuk figyelembe venni X â Ymik Ćk:
- nem triviĂĄlis, vagyis a fĂŒggĆsĂ©g jobb oldala nem a bal rĂ©szhalmaza (Y Ìžâ X);
- minimĂĄlis, vagyis nincs ilyen fĂŒggĆsĂ©g Z â YHogy Z â X.
Az eddig figyelembe vett fĂŒggĆsĂ©gek szigorĂșak voltak, vagyis nem Ărtak elĆ semmilyen szabĂĄlysĂ©rtĂ©st az asztalon, de rajtuk kĂvĂŒl vannak olyanok is, amelyek nĂ©mi inkonzisztenciĂĄt engednek meg a sorok Ă©rtĂ©kei között. Az ilyen fĂŒggĆsĂ©gek egy kĂŒlön osztĂĄlyba kerĂŒlnek, amelyet hozzĂĄvetĆlegesnek neveznek, Ă©s bizonyos szĂĄmĂș sor esetĂ©n megsĂ©rthetĆk. Ezt az összeget az emax maximĂĄlis hibajelzĆ szabĂĄlyozza. PĂ©ldĂĄul a hibaarĂĄnyt
= 0.01 azt jelentheti, hogy a fĂŒggĆsĂ©get a rendelkezĂ©sre ĂĄllĂł sorok 1%-a megsĂ©rtheti az adott attribĂștumkĂ©szleten. Vagyis 1000 rekordnĂĄl legfeljebb 10 sor sĂ©rtheti a szövetsĂ©gi törvĂ©nyt. Egy kissĂ© eltĂ©rĆ mĂ©rĆszĂĄmot fogunk figyelembe venni, az összehasonlĂtott sorok pĂĄronkĂ©nt eltĂ©rĆ Ă©rtĂ©kei alapjĂĄn. A fĂŒggĆsĂ©g miatt X â Y a hozzĂĄĂĄllĂĄsrĂłl r Ăgy tekintendĆ:

SzĂĄmĂtsuk ki a hibĂĄt Orvos â Beteg a fenti pĂ©ldĂĄbĂłl. KĂ©t sorunk van, amelyek Ă©rtĂ©ke eltĂ©r az attribĂștumban beteg, de egybeesik Orvos:
[Orvos, beteg] = (Robin, Ellis) Ăs
[Orvos, beteg] = (Robin, Graham). A hiba definĂciĂłjĂĄt követĆen minden ĂŒtközĆ pĂĄrt figyelembe kell vennĂŒnk, ami azt jelenti, hogy kettĆ lesz: (
,
) és inverze (
,
). HelyettesĂtsĂŒk be a kĂ©pletbe, Ă©s kapjuk:

Most prĂłbĂĄljunk meg vĂĄlaszolni a kĂ©rdĂ©sre: âMiĂ©rt van mindez?â ValĂłjĂĄban a szövetsĂ©gi törvĂ©nyek mĂĄsok. Az elsĆ tĂpus azok a fĂŒggĆsĂ©gek, amelyeket az adminisztrĂĄtor hatĂĄroz meg az adatbĂĄzis tervezĂ©si szakaszĂĄban. ĂltalĂĄban kevĂ©s, szigorĂșak, Ă©s fĆ alkalmazĂĄsuk az adatnormalizĂĄlĂĄs Ă©s a relĂĄciĂłs sĂ©matervezĂ©s.
A mĂĄsodik tĂpus a fĂŒggĆsĂ©gek, amelyek ârejtettâ adatokat Ă©s az attribĂștumok közötti korĂĄbban ismeretlen kapcsolatokat kĂ©pviselik. Vagyis ilyen fĂŒggĆsĂ©gekre a tervezĂ©skor nem gondoltak, Ă©s a meglĂ©vĆ adathalmazra megtalĂĄljĂĄk azokat, Ăgy kĂ©sĆbb a sok azonosĂtott szövetsĂ©gi törvĂ©ny alapjĂĄn bĂĄrmilyen következtetĂ©st le lehet vonni a tĂĄrolt informĂĄciĂłkrĂłl. Pontosan ezekkel a fĂŒggĆsĂ©gekkel dolgozunk. Az adatbĂĄnyĂĄszat egĂ©sz terĂŒlete foglalkozik velĂŒk, kĂŒlönfĂ©le keresĂ©si technikĂĄkkal Ă©s ezekre Ă©pĂŒlĆ algoritmusokkal. NĂ©zzĂŒk meg, hogyan lehetnek hasznosak a talĂĄlt funkcionĂĄlis fĂŒggĆsĂ©gek (pontos vagy közelĂtĆ) bĂĄrmely adatban.

Ma a fĂŒggĆsĂ©gek egyik fĆ alkalmazĂĄsa az adattisztĂtĂĄs. Ez magĂĄban foglalja a âpiszkos adatokâ azonosĂtĂĄsĂĄra, majd azok kijavĂtĂĄsĂĄra szolgĂĄlĂł eljĂĄrĂĄsok kidolgozĂĄsĂĄt. A âpiszkos adatokâ szembetƱnĆ pĂ©ldĂĄi az ismĂ©tlĆdĂ©sek, adat- vagy elĂrĂĄsi hibĂĄk, hiĂĄnyzĂł Ă©rtĂ©kek, elavult adatok, extra szĂłközök Ă©s hasonlĂłk.
Példa adathibåra:

PĂ©lda ismĂ©tlĆdĂ©sekre az adatokban:

PĂ©ldĂĄul van egy tĂĄblĂĄzatunk Ă©s egy sor szövetsĂ©gi törvĂ©nyĂŒnk, amelyeket vĂ©gre kell hajtani. Az adattisztĂtĂĄs ebben az esetben magĂĄban foglalja az adatok mĂłdosĂtĂĄsĂĄt, hogy a szövetsĂ©gi törvĂ©nyek helyesek legyenek. Ebben az esetben a mĂłdosĂtĂĄsok szĂĄmĂĄnak minimĂĄlisnak kell lennie (ennek az eljĂĄrĂĄsnak megvannak a maga algoritmusai, amelyekre ebben a cikkben nem foglalkozunk). Az alĂĄbbiakban egy pĂ©lda lĂĄthatĂł egy ilyen adatĂĄtalakĂtĂĄsra. A bal oldalon az eredeti kapcsolat lĂĄthatĂł, amelyben nyilvĂĄnvalĂłan nem teljesĂŒlnek a szĂŒksĂ©ges FL-ek (az egyik FL megsĂ©rtĂ©sĂ©nek pĂ©ldĂĄja pirossal van kiemelve). A jobb oldalon a frissĂtett kapcsolat lĂĄthatĂł, a zöld cellĂĄk a megvĂĄltozott Ă©rtĂ©keket mutatjĂĄk. Ezt az eljĂĄrĂĄst követĆen megkezdĆdött a szĂŒksĂ©ges fĂŒggĆsĂ©gek fenntartĂĄsa.

Egy mĂĄsik nĂ©pszerƱ alkalmazĂĄs az adatbĂĄzistervezĂ©s. Itt Ă©rdemes felidĂ©zni a normĂĄlformĂĄkat Ă©s a normalizĂĄlĂĄst. A normalizĂĄlĂĄs az a folyamat, amikor egy relĂĄciĂłt összhangba hoznak egy bizonyos követelmĂ©nyrendszerrel, amelyek mindegyikĂ©t a normĂĄlforma hatĂĄrozza meg a maga mĂłdjĂĄn. Nem Ărjuk le a kĂŒlönfĂ©le normĂĄlformĂĄk követelmĂ©nyeit (ezt minden kezdĆknek szĂłlĂł adatbĂĄzis-tanfolyam könyve megteszi), de csak annyit jegyezĂŒnk meg, hogy mindegyik a funkcionĂĄlis fĂŒggĆsĂ©gek fogalmĂĄt a maga mĂłdjĂĄn hasznĂĄlja. VĂ©gtĂ©re is, az FL-k eredendĆen integritĂĄsi megszorĂtĂĄsok, amelyeket figyelembe vesznek az adatbĂĄzis tervezĂ©sekor (ennek a feladatnak az összefĂŒggĂ©sĂ©ben az FL-ket nĂ©ha szuperkulcsoknak nevezik).
TekintsĂŒk az alĂĄbbi kĂ©pen lĂĄthatĂł nĂ©gy normĂĄlforma alkalmazĂĄsĂĄt. EmlĂ©kezzĂŒnk vissza, hogy a Boyce-Codd normĂĄl forma szigorĂșbb, mint a harmadik forma, de kevĂ©sbĂ© szigorĂș, mint a negyedik. Ez utĂłbbival egyelĆre nem foglalkozunk, mivel annak megfogalmazĂĄsa megköveteli a többĂ©rtĂ©kƱ fĂŒggĆsĂ©gek megĂ©rtĂ©sĂ©t, amelyek ebben a cikkben nem Ă©rdekesek szĂĄmunkra.




Egy mĂĄsik terĂŒlet, ahol a fĂŒggĆsĂ©gek alkalmazĂĄsra talĂĄltak, a jellemzĆtĂ©r dimenziĂłjĂĄnak csökkentĂ©se olyan feladatokban, mint egy naiv Bayes-osztĂĄlyozĂł felĂ©pĂtĂ©se, jelentĆs jellemzĆk azonosĂtĂĄsa Ă©s egy regressziĂłs modell ĂșjraparamĂ©terezĂ©se. Az eredeti cikkekben ezt a feladatot a redundĂĄns Ă©s a jellemzĆ relevancia meghatĂĄrozĂĄsĂĄnak nevezik [5, 6], Ă©s adatbĂĄzis-koncepciĂłk aktĂv hasznĂĄlatĂĄval oldjĂĄk meg. Az ilyen mƱvek megjelenĂ©sĂ©vel elmondhatĂł, hogy ma mĂĄr olyan megoldĂĄsokra van igĂ©ny, amelyek lehetĆvĂ© teszik, hogy a fenti optimalizĂĄlĂĄsi problĂ©mĂĄk adatbĂĄzisĂĄt, elemzĂ©sĂ©t Ă©s megvalĂłsĂtĂĄsĂĄt egyetlen eszközben egyesĂtsĂŒk [7, 8, 9].
SzĂĄmos (modern Ă©s kevĂ©sbĂ© modern) algoritmus lĂ©tezik a szövetsĂ©gi törvĂ©nyek adathalmazban törtĂ©nĆ keresĂ©sĂ©re. Az ilyen algoritmusok hĂĄrom csoportra oszthatĂłk:
- Algebrai rĂĄcsok bejĂĄrĂĄsĂĄt hasznĂĄlĂł algoritmusok (rĂĄcs bejĂĄrĂĄsi algoritmusok)
- MegĂĄllapodott Ă©rtĂ©kek keresĂ©sĂ©n alapulĂł algoritmusok (KĂŒlönbsĂ©g- Ă©s egyetĂ©rtĂ©si algoritmusok)
- PĂĄronkĂ©nti összehasonlĂtĂĄson alapulĂł algoritmusok (FĂŒggĆsĂ©gindukciĂłs algoritmusok)
Az egyes algoritmustĂpusok rövid leĂrĂĄsa az alĂĄbbi tĂĄblĂĄzatban talĂĄlhatĂł:

ErrĆl az osztĂĄlyozĂĄsrĂłl bĆvebben olvashat [4]. Az alĂĄbbiakban pĂ©ldĂĄk talĂĄlhatĂłk az egyes tĂpusokhoz tartozĂł algoritmusokra:


Jelenleg Ășj algoritmusok jelennek meg, amelyek többfĂ©le megközelĂtĂ©st kombinĂĄlnak a funkcionĂĄlis fĂŒggĆsĂ©gek megtalĂĄlĂĄsĂĄra. Ilyen algoritmusok pĂ©ldĂĄul a Pyro [2] Ă©s a HyFD [3]. MunkĂĄjuk elemzĂ©se a sorozat következĆ cikkeiben vĂĄrhatĂł. Ebben a cikkben csak azokat az alapfogalmakat Ă©s lemmĂĄkat vizsgĂĄljuk meg, amelyek a fĂŒggĆsĂ©gi kimutatĂĄsi technikĂĄk megĂ©rtĂ©sĂ©hez szĂŒksĂ©gesek.
KezdjĂŒk egy egyszerƱ - kĂŒlönbsĂ©g- Ă©s egyetĂ©rthalmazzal -, amelyet a mĂĄsodik tĂpusĂș algoritmusok hasznĂĄlnak. A Difference-set olyan sorok halmaza, amelyek nem rendelkeznek azonos Ă©rtĂ©kkel, mĂg az egyetĂ©rtĂ©s-halmaz viszont olyan sorok, amelyek azonos Ă©rtĂ©kekkel rendelkeznek. Ărdemes megjegyezni, hogy ebben az esetben csak a fĂŒggĆsĂ©g bal oldalĂĄt vesszĂŒk figyelembe.
Egy måsik fontos fogalom, amellyel fentebb talålkoztunk, az algebrai råcs. Mivel sok modern algoritmus mƱködik ezen a koncepción, tudnunk kell, mi is ez.
A rĂĄcs fogalmĂĄnak bevezetĂ©sĂ©hez szĂŒksĂ©ges egy rĂ©szben rendezett halmaz (vagy rĂ©szben rendezett halmaz, rövidĂtve poset) definiĂĄlĂĄsa.
2. definĂciĂł. Egy S halmazt rĂ©szlegesen rendezettnek mondunk a ⩜ binĂĄris relĂĄciĂłval, ha minden a, b, c â S esetĂ©n teljesĂŒlnek a következĆ tulajdonsĂĄgok:
- ReflexivitĂĄs, azaz a ⩜ a
- Antiszimmetria, vagyis ha a ⩜ b Ă©s b ⩜ a, akkor a = b
- A tranzitivitĂĄs, azaz a ⩜ b Ă©s b ⩜ c esetĂ©n az következik, hogy a ⩜ c
Az ilyen relĂĄciĂłt (laza) rĂ©szleges rendƱ relĂĄciĂłnak, magĂĄt a halmazt pedig rĂ©szlegesen rendezett halmaznak nevezzĂŒk. FormĂĄlis jelölĂ©s: âšS, ⩜â©.
A rĂ©szlegesen rendezett halmaz legegyszerƱbb pĂ©ldĂĄjakĂ©nt felvehetjĂŒk az összes N termĂ©szetes szĂĄm halmazĂĄt a szokĂĄsos ⩜ sorrendi összefĂŒggĂ©ssel. Könnyen ellenĆrizhetĆ, hogy az összes szĂŒksĂ©ges axiĂłma teljesĂŒl-e.
Ărtelmesebb pĂ©lda. TekintsĂŒk az összes {1, 2, 3} rĂ©szhalmaz halmazĂĄt, a â befogadĂĄsi relĂĄciĂł szerint rendezve. ValĂłjĂĄban ez az összefĂŒggĂ©s minden rĂ©szleges rendezettsĂ©gi feltĂ©telt teljesĂt, Ăgy âšP ({1, 2, 3}), ââ© egy rĂ©szlegesen rendezett halmaz. Az alĂĄbbi ĂĄbra ennek a halmaznak a felĂ©pĂtĂ©sĂ©t mutatja: ha egy elemet nyilakkal lehet elĂ©rni egy mĂĄsik elemhez, akkor azok sorrendi kapcsolatban ĂĄllnak.

MĂ©g kĂ©t egyszerƱ definĂciĂłra lesz szĂŒksĂ©gĂŒnk a matematika terĂŒletĂ©rĆl - supremum Ă©s infimum.
3. definĂciĂł. Legyen âšS, ⩜⩠rĂ©szlegesen rendezett halmaz, A â S. A felsĆ korlĂĄtja egy u â S elem, amelyre âx â S: x ⩜ u. Legyen U az S összes felsĆ hatĂĄrĂĄnak halmaza. Ha U-ban van egy legkisebb elem, akkor azt szuprĂ©mumnak nevezzĂŒk, Ă©s sup A-val jelöljĂŒk.
HasonlĂłan vezetjĂŒk be a pontos alsĂł korlĂĄt fogalmĂĄt.
4. definĂciĂł. Legyen âšS, ⩜⩠rĂ©szlegesen rendezett halmaz, A â S. A infimuma olyan l â S elem, hogy âx â S: l ⩜ x. Legyen L az S összes alsĂł hatĂĄrĂĄnak halmaza. Ha L-ben van egy legnagyobb elem, akkor azt infimumnak nevezzĂŒk, Ă©s inf A-kĂ©nt jelöljĂŒk.
TekintsĂŒk pĂ©ldakĂ©nt a fenti rĂ©szben rendezett âšP ({1, 2, 3}), ââ© halmazt, Ă©s keressĂŒk meg benne a felsĆ Ă©s infimumot:

Most meg tudjuk fogalmazni az algebrai rĂĄcs definĂciĂłjĂĄt.
5. definĂciĂł. Legyen âšP,⩜⩠egy rĂ©szlegesen rendezett halmaz Ășgy, hogy minden kĂ©telemƱ rĂ©szhalmaznak van felsĆ Ă©s alsĂł korlĂĄtja. Ekkor P-t algebrai rĂĄcsnak nevezzĂŒk. Ebben az esetben a sup{x, y} mint x âš y, az inf {x, y} pedig x â§ y-kĂ©nt van felĂrva.
EllenĆrizzĂŒk, hogy a âšP ({1, 2, 3}), ââ© munkapĂ©ldĂĄnk egy rĂĄcs. ValĂłjĂĄban bĂĄrmely a, b â P ({1, 2, 3}) esetĂ©n aâšb = aâȘb, Ă©s aâ§b = aâ©b. VegyĂŒk pĂ©ldĂĄul az {1, 2} Ă©s {1, 3} halmazokat, Ă©s keressĂŒk meg az infimumjukat Ă©s a felsĆbb Ă©rtĂ©kĂŒket. Ha metszi Ćket, akkor a {1} halmazt kapjuk, ami az infimum lesz. A szuprĂ©mumot Ășgy kapjuk meg, hogy összevonjuk Ćket - {1, 2, 3}.
A fizikai problĂ©mĂĄk azonosĂtĂĄsĂĄra szolgĂĄlĂł algoritmusokban a keresĂ©si teret gyakran rĂĄcs formĂĄjĂĄban ĂĄbrĂĄzoljĂĄk, ahol egy elem halmazai (a keresĂ©si rĂĄcs elsĆ szintje, ahol a fĂŒggĆsĂ©gek bal oldala egy attribĂștumbĂłl ĂĄll) kĂ©pviselik az egyes attribĂștumokat. az eredeti viszonyrĂłl.
ElĆször is megvizsgĂĄljuk a â
â alakĂș fĂŒggĆsĂ©geket Egyetlen attribĂștum. Ez a lĂ©pĂ©s lehetĆvĂ© teszi annak meghatĂĄrozĂĄsĂĄt, hogy mely attribĂștumok az elsĆdleges kulcsok (az ilyen attribĂștumokhoz nincsenek meghatĂĄrozĂłk, ezĂ©rt a bal oldal ĂŒres). TovĂĄbbĂĄ az ilyen algoritmusok felfelĂ© mozognak a rĂĄcs mentĂ©n. Ărdemes megjegyezni, hogy nem lehet a teljes rĂĄcsot bejĂĄrni, vagyis ha a bal oldal kĂvĂĄnt maximĂĄlis mĂ©retĂ©t ĂĄtadjuk a bemenetnek, akkor az algoritmus ezzel a mĂ©rettel nem megy tovĂĄbb egy szintnĂ©l.
Az alĂĄbbi ĂĄbra bemutatja, hogyan hasznĂĄlhatĂł egy algebrai rĂĄcs az FZ megtalĂĄlĂĄsĂĄnak problĂ©mĂĄjĂĄban. Itt minden Ă©l (X, XY) fĂŒggĆsĂ©get jelent X â Y. PĂ©ldĂĄul tĂșljutottunk az elsĆ szinten, Ă©s tudjuk, hogy a fĂŒggĆsĂ©g megmarad A â B (ezt zöld kapcsolatkĂ©nt fogjuk megjelenĂteni a csĂșcsok között A Đž B). Ez azt jelenti, hogy ha tovĂĄbb haladunk a rĂĄcs mentĂ©n, nem biztos, hogy ellenĆrizzĂŒk a fĂŒggĆsĂ©get A, C â B, mert mĂĄr nem lesz minimĂĄlis. HasonlĂłkĂ©ppen nem ellenĆriznĂ©nk, ha a fĂŒggĆsĂ©g fennĂĄllna C â B.


EzenkĂvĂŒl a szövetsĂ©gi törvĂ©nyek keresĂ©sĂ©re szolgĂĄlĂł összes modern algoritmus ĂĄltalĂĄban olyan adatstruktĂșrĂĄt hasznĂĄl, mint pĂ©ldĂĄul egy partĂciĂł (az eredeti forrĂĄsban - lecsupaszĂtott partĂciĂł [1]). A partĂciĂł formĂĄlis meghatĂĄrozĂĄsa a következĆ:
6. definĂciĂł. Legyen X â R attribĂștumok halmaza r relĂĄciĂłhoz. A klaszter az r-beli sorok indexeinek halmaza, amelyek X-hez azonos Ă©rtĂ©kƱek, azaz c(t) = {i|ti[X] = t[X]}. A partĂciĂł fĂŒrtök halmaza, kivĂ©ve az egysĂ©gnyi hosszĂșsĂĄgĂș klasztereket:

EgyszerƱ szavakkal, partĂciĂł egy attribĂștum szĂĄmĂĄra X egy listĂĄk halmaza, ahol minden lista sorszĂĄmokat tartalmaz, amelyek azonos Ă©rtĂ©kekkel rendelkeznek X. A modern irodalomban a partĂciĂłkat reprezentĂĄlĂł struktĂșrĂĄt pozĂciĂłlista indexnek (PLI) nevezik. Az egysĂ©ghosszĂșsĂĄgĂș fĂŒrtök nem hasznĂĄlhatĂłk PLI-tömörĂtĂ©si cĂ©lokra, mivel ezek olyan fĂŒrtök, amelyek csak egy rekordszĂĄmot tartalmaznak egyedi Ă©rtĂ©kkel, amely mindig könnyen azonosĂthatĂł.
NĂ©zzĂŒnk egy pĂ©ldĂĄt. TĂ©rjĂŒnk vissza ugyanahhoz a tĂĄblĂĄzathoz a betegekkel, Ă©s Ă©pĂtsĂŒnk partĂciĂłkat az oszlopokhoz beteg Đž Neme (bal oldalon egy Ășj oszlop jelent meg, amelyben a tĂĄblĂĄzat sorszĂĄmai vannak jelölve):


SĆt, a definĂciĂł szerint az oszlop partĂciĂłja beteg valĂłjĂĄban ĂŒres lesz, mivel az egyes klaszterek ki vannak zĂĄrva a partĂciĂłbĂłl.
A partĂciĂłk többfĂ©le attribĂștummal szerezhetĆk be. Ăs ennek kĂ©t mĂłdja van: a tĂĄblĂĄn vĂ©gighaladva kĂ©szĂtsen egy partĂciĂłt az összes szĂŒksĂ©ges attribĂștum hasznĂĄlatĂĄval egyszerre, vagy Ă©pĂtse fel a partĂciĂłk metszĂ©spontja mƱvelettel az attribĂștumok egy rĂ©szhalmazĂĄval. A szövetsĂ©gi törvĂ©ny keresĂ©si algoritmusai a mĂĄsodik lehetĆsĂ©get hasznĂĄljĂĄk.
EgyszerƱ szavakkal, pĂ©ldĂĄul oszlopok szerinti partĂciĂł beszerzĂ©sĂ©hez ABC, partĂciĂłkat vehet igĂ©nybe AC Đž B (vagy bĂĄrmely mĂĄs diszjunkt rĂ©szhalmazok halmazĂĄt), Ă©s metszi Ćket egymĂĄssal. A kĂ©t partĂciĂł metszĂ©spontjĂĄnak mƱvelete a legnagyobb hosszĂșsĂĄgĂș klasztereket vĂĄlasztja ki, amelyek mindkĂ©t partĂciĂłban közösek.
NĂ©zzĂŒnk egy pĂ©ldĂĄt:


Az elsĆ esetben egy ĂŒres partĂciĂłt kaptunk. Ha alaposan megnĂ©zi a tĂĄblĂĄzatot, akkor valĂłban nincs azonos Ă©rtĂ©ke a kĂ©t attribĂștumnak. Ha kissĂ© mĂłdosĂtjuk a tĂĄblĂĄzatot (a jobb oldali esetet), mĂĄris egy nem ĂŒres keresztezĆdĂ©st kapunk. EzenkĂvĂŒl az 1. Ă©s 2. sor valĂłjĂĄban ugyanazokat az attribĂștumĂ©rtĂ©keket tartalmazza Neme Đž Orvos.
EzutĂĄn szĂŒksĂ©gĂŒnk lesz egy olyan fogalomra, mint a partĂciĂł mĂ©rete. FormĂĄlisan:

EgyszerƱen fogalmazva, a partĂciĂł mĂ©rete a partĂciĂłban lĂ©vĆ fĂŒrtök szĂĄma (ne feledje, hogy az egyes fĂŒrtök nem szerepelnek a partĂciĂłban!):


Most meghatĂĄrozhatjuk az egyik kulcslemmĂĄt, amely adott partĂciĂłk esetĂ©n lehetĆvĂ© teszi annak meghatĂĄrozĂĄsĂĄt, hogy fennĂĄll-e a fĂŒggĆsĂ©g vagy sem:
1. lemma. Az A, B â C fĂŒggĆsĂ©g akkor Ă©s csak akkor Ă©rvĂ©nyesĂŒl

A lemma szerint annak megĂĄllapĂtĂĄsĂĄhoz, hogy fennĂĄll-e egy fĂŒggĆsĂ©g, nĂ©gy lĂ©pĂ©st kell vĂ©grehajtani:
- SzĂĄmĂtsa ki a partĂciĂłt a fĂŒggĆsĂ©g bal oldalĂĄn
- SzĂĄmĂtsa ki a partĂciĂłt a fĂŒggĆsĂ©g jobb oldalĂĄhoz
- SzĂĄmĂtsa ki az elsĆ Ă©s a mĂĄsodik lĂ©pĂ©s szorzatĂĄt!
- HasonlĂtsa össze az elsĆ Ă©s harmadik lĂ©pĂ©sben kapott vĂĄlaszfalak mĂ©retĂ©t
Az alĂĄbbiakban egy pĂ©lda annak ellenĆrzĂ©sĂ©re, hogy a fĂŒggĆsĂ©g fennĂĄll-e e lemma szerint:




Ebben a cikkben olyan fogalmakat vizsgĂĄltunk meg, mint a funkcionĂĄlis fĂŒggĆsĂ©g, a hozzĂĄvetĆleges funkcionĂĄlis fĂŒggĆsĂ©g, megvizsgĂĄltuk, hol hasznĂĄljĂĄk Ćket, valamint hogy milyen algoritmusok lĂ©teznek a fizikai fĂŒggvĂ©nyek keresĂ©sĂ©re. RĂ©szletesen megvizsgĂĄltuk azokat az alapvetĆ, de fontos fogalmakat is, amelyeket a szövetsĂ©gi törvĂ©nyek keresĂ©sĂ©re szolgĂĄlĂł modern algoritmusok aktĂvan hasznĂĄlnak.
ReferenciĂĄk:
- Huhtala Y. et al. TANE: HatĂ©kony algoritmus funkcionĂĄlis Ă©s közelĂtĆ fĂŒggĆsĂ©gek felfedezĂ©sĂ©re //A szĂĄmĂtĂłgĂ©pes naplĂł. â 1999. â T. 42. â Sz. 2. â 100-111.
- Kruse S., Naumann F. KözelĂtĆ fĂŒggĆsĂ©gek hatĂ©kony felfedezĂ©se // Proceedings of the VLDB Endowment. â 2018. â T. 11. â Sz. 7. â 759-772.
- Papenbrock T., Naumann F. A funkcionĂĄlis fĂŒggĆsĂ©g felfedezĂ©sĂ©nek hibrid megközelĂtĂ©se //Proceedings of the 2016 International Conference on Management of Data. â ACM, 2016. â 821-833.
- Papenbrock T. et al. FunkcionĂĄlis fĂŒggĆsĂ©g felfedezĂ©se: hĂ©t algoritmus kĂsĂ©rleti kiĂ©rtĂ©kelĂ©se //Proceedings of the VLDB Endowment. â 2015. â T. 8. â Sz. 10. â 1082-1093.
- Kumar A. et al. Csatlakozni vagy nem csatlakozni?: KĂ©tszer meggondolva a csatlakozĂĄst a funkciĂłk kivĂĄlasztĂĄsa elĆtt //A 2016-os adatkezelĂ©si nemzetközi konferencia elĆadĂĄsai. â ACM, 2016. â 19-34.
- Abo Khamis M. et al. AdatbĂĄzison belĂŒli tanulĂĄs ritka tenzorokkal //Proceedings of the 37th ACM SIGMOD-SIGACT-SIGAI Symposium on Principles of Database Systems. â ACM, 2018. â 325-340.
- Hellerstein J. M. et al. A MADlib analitikai könyvtĂĄr: vagy MAD-kĂ©szsĂ©gek, az SQL //Proceedings of the VLDB Endowment. â 2012. â T. 5. â Sz. 12. â 1700-1711.
- Qin C., Rusu F. Speculative approximations for terascale elosztott gradiens sĂŒllyedĂ©s optimalizĂĄlĂĄs //Proceedings of the Fourth Workshop on Data analytics in the Cloud. â ACM, 2015. â 1. o.
- Meng X. et al. Mllib: GĂ©pi tanulĂĄs az apache sparkjĂĄban //The Journal of Machine Learning Research. â 2016. â T. 17. â Sz. 1. â 1235-1241.
A cikk szerzĆi: , kutatĂł a , Đž , kutatĂł a
ForrĂĄs: will.com
