Cyflwyniad i Ddibyniaethau Swyddogaethol

Yn yr erthygl hon byddwn yn siarad am ddibyniaethau swyddogaethol mewn cronfeydd data - beth ydyn nhw, ble maen nhw'n cael eu defnyddio a pha algorithmau sy'n bodoli i ddod o hyd iddynt.

Byddwn yn ystyried dibyniaethau swyddogaethol yng nghyd-destun cronfeydd data perthynol. I'w roi yn fras iawn, mewn cronfeydd data o'r fath mae gwybodaeth yn cael ei storio ar ffurf tablau. Nesaf, rydym yn defnyddio cysyniadau bras nad ydynt yn ymgyfnewidiol mewn theori berthynol gaeth: byddwn yn galw'r tabl ei hun yn berthynas, y colofnau - priodoleddau (eu set - sgema perthynas), a'r set o werthoedd rhes ar is-set o briodoleddau - tuple.

Cyflwyniad i Ddibyniaethau Swyddogaethol

Er enghraifft, yn y tabl uchod, (Benson, M, M organ) yn tuple o briodoleddau (Claf, Paul, Doctor).
Yn fwy ffurfiol, caiff hwn ei ysgrifennu fel a ganlyn: Cyflwyniad i Ddibyniaethau Swyddogaethol[Claf, Rhyw, Meddyg] = (Benson, M, M organ).
Nawr gallwn gyflwyno'r cysyniad o ddibyniaeth swyddogaethol (FD):

Diffiniad 1 . Mae'r berthynas R yn bodloni'r gyfraith ffederal X → Y (lle X, Y ⊆ R) os a dim ond os ar gyfer unrhyw tuples Cyflwyniad i Ddibyniaethau Swyddogaethol, Cyflwyniad i Ddibyniaethau Swyddogaethol ∈ R dal: os Cyflwyniad i Ddibyniaethau Swyddogaethol[X] = Cyflwyniad i Ddibyniaethau Swyddogaethol[X], yna Cyflwyniad i Ddibyniaethau Swyddogaethol[Y] = Cyflwyniad i Ddibyniaethau Swyddogaethol[Y]. Yn yr achos hwn, rydym yn dweud bod X (y penderfynydd, neu'r set ddiffiniol o briodoleddau) yn pennu Y (y set ddibynnol) yn swyddogaethol.

Mewn geiriau eraill, presenoldeb cyfraith ffederal X →Y yn golygu os oes gennym ddau tuple i mewn R ac y maent yn cyfateb mewn priodoliaethau X, yna byddant yn cyd-daro mewn priodoleddau Y.
Ac yn awr, mewn trefn. Gadewch i ni edrych ar y priodoleddau Claf и Rhyw ar gyfer yr hyn yr ydym am gael gwybod a oes dibyniaethau rhyngddynt ai peidio. Ar gyfer set o briodoleddau o'r fath, gall y dibyniaethau canlynol fodoli:

  1. Claf → Rhyw
  2. Rhyw → Claf

Fel y diffinnir uchod, er mwyn i'r ddibyniaeth gyntaf ddal, gwerth pob colofn unigryw Claf dim ond gwerth un golofn sy'n gorfod cyfateb Rhyw. Ac ar gyfer y tabl enghreifftiol mae hyn yn wir. Fodd bynnag, nid yw hyn yn gweithio yn y cyfeiriad arall, hynny yw, nid yw'r ail ddibyniaeth yn fodlon, a'r priodoledd Rhyw nid yw'n benderfynydd ar gyfer Claf. Yn yr un modd, os byddwn yn cymryd y dibyniaeth Meddyg → Claf, gallwch weld ei fod yn cael ei sathru, ers y gwerth Robin mae gan y nodwedd hon sawl ystyr gwahanol - Ellis a Graham.

Cyflwyniad i Ddibyniaethau Swyddogaethol

Cyflwyniad i Ddibyniaethau Swyddogaethol

Felly, mae dibyniaethau swyddogaethol yn ei gwneud hi'n bosibl pennu'r perthnasoedd presennol rhwng setiau o briodoleddau tabl. O hyn ymlaen byddwn yn ystyried y cysylltiadau mwyaf diddorol, neu yn hytrach y cyfryw X →Ybeth ydyn nhw:

  • nad yw'n ddibwys, hynny yw, nid yw ochr dde'r ddibyniaeth yn is-set o'r chwith (Y ̸⊆ X);
  • lleiaf, hynny yw, nid oes dibyniaeth o'r fath Z →YBod Z ⊂ X.

Roedd y dibyniaethau a ystyriwyd hyd at y pwynt hwn yn llym, hynny yw, nid oeddent yn darparu ar gyfer unrhyw droseddau ar y bwrdd, ond yn ogystal â hwy, mae yna hefyd rai sy'n caniatáu rhywfaint o anghysondeb rhwng gwerthoedd y tuples. Rhoddir dibyniaethau o'r fath mewn dosbarth ar wahân, a elwir yn fras, a chaniateir eu torri ar gyfer nifer penodol o tuples. Mae'r swm hwn yn cael ei reoleiddio gan yr uchafswm gwall dangosydd emax. Er enghraifft, y gyfradd gwallau Cyflwyniad i Ddibyniaethau Swyddogaethol = Gall 0.01 olygu y gall y ddibyniaeth gael ei thorri gan 1% o'r tuples sydd ar gael ar y set o briodoleddau a ystyriwyd. Hynny yw, ar gyfer 1000 o gofnodion, gall uchafswm o 10 tuple dorri'r Gyfraith Ffederal. Byddwn yn ystyried metrig ychydig yn wahanol, yn seiliedig ar werthoedd gwahanol pairwise y tuples sy'n cael eu cymharu. Am gaethiwed X →Y ar agwedd r fe'i hystyrir fel hyn:

Cyflwyniad i Ddibyniaethau Swyddogaethol

Gadewch i ni gyfrifo'r gwall ar gyfer Meddyg → Claf o'r enghraifft uchod. Mae gennym ddau tuples y mae eu gwerthoedd yn wahanol ar y priodoledd Claf, ond cyd-daro ar Meddyg: Cyflwyniad i Ddibyniaethau Swyddogaethol[Doctor, Claf] = (Robin, Ellis) A Cyflwyniad i Ddibyniaethau Swyddogaethol[Doctor, Claf] = (Robin, Graham). Yn dilyn diffiniad gwall, rhaid inni ystyried yr holl barau sy'n gwrthdaro, sy'n golygu y bydd dau ohonynt: (Cyflwyniad i Ddibyniaethau Swyddogaethol, Cyflwyniad i Ddibyniaethau Swyddogaethol) a'i wrthdroad (Cyflwyniad i Ddibyniaethau Swyddogaethol, Cyflwyniad i Ddibyniaethau Swyddogaethol). Gadewch i ni ei amnewid yn y fformiwla a chael:

Cyflwyniad i Ddibyniaethau Swyddogaethol

Nawr, gadewch i ni geisio ateb y cwestiwn: "Pam mae'r cyfan i fod?" Mewn gwirionedd, mae cyfreithiau ffederal yn wahanol. Y math cyntaf yw'r dibyniaethau hynny a bennir gan y gweinyddwr yn ystod y cam dylunio cronfa ddata. Maent fel arfer yn brin o ran nifer, yn llym, a'r prif gymhwysiad yw normaleiddio data a dylunio sgema perthynol.

Yr ail fath yw dibyniaethau, sy'n cynrychioli data “cudd” a pherthnasoedd anhysbys o'r blaen rhwng priodoleddau. Hynny yw, ni feddyliwyd am ddibyniaethau o'r fath ar adeg eu dylunio ac fe'u canfyddir ar gyfer y set ddata bresennol, fel y gellir dod i unrhyw gasgliadau yn ddiweddarach, yn seiliedig ar y nifer o gyfreithiau ffederal a nodwyd, am y wybodaeth sydd wedi'i storio. Yr union ddibyniaethau hyn yr ydym yn gweithio gyda nhw. Ymdrinnir â hwy gan faes cyfan o gloddio data gyda thechnegau chwilio ac algorithmau amrywiol wedi'u hadeiladu ar eu sail. Gadewch i ni ddarganfod sut y gall y dibyniaethau swyddogaethol a ddarganfuwyd (union neu fras) mewn unrhyw ddata fod yn ddefnyddiol.

Cyflwyniad i Ddibyniaethau Swyddogaethol

Heddiw, un o brif gymwysiadau dibyniaethau yw glanhau data. Mae’n golygu datblygu prosesau ar gyfer adnabod “data budr” ac yna ei gywiro. Enghreifftiau amlwg o “ddata budr” yw dyblygiadau, gwallau data neu deipos, gwerthoedd coll, data sydd wedi dyddio, bylchau ychwanegol, ac ati.

Enghraifft o wall data:

Cyflwyniad i Ddibyniaethau Swyddogaethol

Enghraifft o ddyblygiadau mewn data:

Cyflwyniad i Ddibyniaethau Swyddogaethol

Er enghraifft, mae gennym fwrdd a set o gyfreithiau ffederal y mae'n rhaid eu gweithredu. Mae glanhau data yn yr achos hwn yn golygu newid y data fel bod y Deddfau Ffederal yn dod yn gywir. Yn yr achos hwn, dylai nifer yr addasiadau fod yn fach iawn (mae gan y weithdrefn hon ei algorithmau ei hun, na fyddwn yn canolbwyntio arnynt yn yr erthygl hon). Isod mae enghraifft o drawsnewid data o'r fath. Ar y chwith mae'r berthynas wreiddiol, lle, yn amlwg, nid yw'r FLs angenrheidiol yn cael eu bodloni (amlygir enghraifft o dorri un o'r FLs mewn coch). Ar y dde mae'r berthynas wedi'i diweddaru, gyda'r celloedd gwyrdd yn dangos y gwerthoedd newydd. Ar ôl y driniaeth hon, dechreuwyd cynnal y dibyniaethau angenrheidiol.

Cyflwyniad i Ddibyniaethau Swyddogaethol

Cymhwysiad poblogaidd arall yw dylunio cronfa ddata. Yma mae'n werth cofio ffurfiau arferol a normaleiddio. Normaleiddio yw'r broses o ddod â pherthynas i gydymffurfio â set benodol o ofynion, y mae pob un ohonynt wedi'i ddiffinio gan y ffurf arferol yn ei ffordd ei hun. Ni fyddwn yn disgrifio gofynion gwahanol ffurfiau arferol (gwneir hyn mewn unrhyw lyfr ar gwrs cronfa ddata i ddechreuwyr), ond byddwn ond yn nodi bod pob un ohonynt yn defnyddio'r cysyniad o ddibyniaethau swyddogaethol yn ei ffordd ei hun. Wedi'r cyfan, mae FLs yn eu hanfod yn gyfyngiadau uniondeb sy'n cael eu hystyried wrth ddylunio cronfa ddata (yng nghyd-destun y dasg hon, weithiau gelwir FLs yn superkeys).

Gadewch i ni ystyried eu cais am y pedair ffurf arferol yn y llun isod. Dwyn i gof bod ffurf arferol Boyce-Codd yn fwy llym na'r drydedd ffurf, ond yn llai llym na'r bedwaredd. Nid ydym yn ystyried yr olaf ar hyn o bryd, gan fod ei ffurfiad yn gofyn am ddealltwriaeth o ddibyniaethau aml-werth, nad ydynt yn ddiddorol i ni yn yr erthygl hon.

Cyflwyniad i Ddibyniaethau Swyddogaethol
Cyflwyniad i Ddibyniaethau Swyddogaethol
Cyflwyniad i Ddibyniaethau Swyddogaethol
Cyflwyniad i Ddibyniaethau Swyddogaethol

Maes arall lle mae dibyniaethau wedi canfod eu cymhwysiad yw lleihau dimensiwn y gofod nodwedd mewn tasgau fel adeiladu dosbarthwr Bayes naïf, nodi nodweddion arwyddocaol, ac ailbaramedroli model atchweliad. Yn yr erthyglau gwreiddiol, gelwir y dasg hon yn pennu perthnasedd diangen a nodweddion [5, 6], a chaiff ei datrys trwy ddefnyddio cysyniadau cronfa ddata yn weithredol. Gyda dyfodiad gwaith o'r fath, gallwn ddweud bod galw heddiw am atebion sy'n ein galluogi i gyfuno'r gronfa ddata, y dadansoddiadau a gweithrediad y problemau optimeiddio uchod yn un offeryn [7, 8, 9].

Mae llawer o algorithmau (modern ac nid mor fodern) ar gyfer chwilio am gyfreithiau ffederal mewn set ddata. Gellir rhannu algorithmau o'r fath yn dri grŵp:

  • Algorithmau sy'n defnyddio llwybro delltiau algebraidd (algorithmau tramwyo dellt)
  • Algorithmau yn seiliedig ar y chwiliad am werthoedd y cytunwyd arnynt (algorithmau gwahaniaeth-a-set-cytuno)
  • Algorithmau yn seiliedig ar gymariaethau pâr (algorithmau sefydlu dibyniaeth)

Rhoddir disgrifiad byr o bob math o algorithm yn y tabl isod:
Cyflwyniad i Ddibyniaethau Swyddogaethol

Gallwch ddarllen mwy am y dosbarthiad hwn [4]. Isod mae enghreifftiau o algorithmau ar gyfer pob math:

Cyflwyniad i Ddibyniaethau Swyddogaethol

Cyflwyniad i Ddibyniaethau Swyddogaethol

Ar hyn o bryd, mae algorithmau newydd yn ymddangos sy'n cyfuno sawl dull o ddod o hyd i ddibyniaethau swyddogaethol. Enghreifftiau o algorithmau o'r fath yw Pyro [2] a HyFD [3]. Disgwylir dadansoddiad o'u gwaith yn yr erthyglau canlynol o'r gyfres hon. Yn yr erthygl hon dim ond y cysyniadau a'r lema sylfaenol sy'n angenrheidiol i ddeall technegau canfod dibyniaeth y byddwn yn eu harchwilio.

Gadewch i ni ddechrau gydag un syml - set-gwahaniaeth a chytuno, a ddefnyddir yn yr ail fath o algorithmau. Set o tuples nad oes ganddyn nhw'r un gwerthoedd yw set wahaniaeth, tra bod set-cytundeb, i'r gwrthwyneb, yn tuples sydd â'r un gwerthoedd. Mae'n werth nodi mai dim ond ochr chwith y ddibyniaeth yr ydym yn ei ystyried yn yr achos hwn.

Cysyniad pwysig arall y daethpwyd ar ei draws uchod yw'r dellt algebraidd. Gan fod llawer o algorithmau modern yn gweithredu ar y cysyniad hwn, mae angen inni gael syniad o'r hyn ydyw.

Er mwyn cyflwyno'r cysyniad o dellt, mae angen diffinio set wedi'i threfnu'n rhannol (neu set wedi'i threfnu'n rhannol, wedi'i dalfyrru fel poset).

Diffiniad 2 . Dywedir bod set S wedi'i threfnu'n rhannol gan y berthynas ddeuaidd ⩽ os yw'r priodweddau canlynol wedi'u bodloni am y cyfan a, b, c ∈ S:

  1. Adweithedd, hynny yw, a ⩽ a
  2. Anghymesuredd, hynny yw, os yw a ⩽ b a b ⩽ a, yna a = b
  3. Transitivity, hynny yw, ar gyfer a ⩽ b a b ⩽ c mae'n dilyn bod a ⩽ c


Gelwir perthynas o'r fath yn berthynas trefn rannol (rhydd), a gelwir y set ei hun yn set wedi'i threfnu'n rhannol. Nodiant ffurfiol: ⟨S, ⩽⟩.

Fel yr enghraifft symlaf o set wedi'i threfnu'n rhannol, gallwn gymryd y set o'r holl rifau naturiol N gyda'r berthynas trefn arferol ⩽. Mae'n hawdd gwirio bod yr holl axiomau angenrheidiol wedi'u bodloni.

Enghraifft fwy ystyrlon. Ystyriwch set yr holl is-setiau {1, 2, 3}, a orchmynnwyd gan y perthynas cynhwysiant ⊆. Yn wir, mae'r berthynas hon yn bodloni'r holl amodau gorchymyn rhannol, felly mae ⟨P ({1, 2, 3}), ⊆⟩ yn set wedi'i archebu'n rhannol. Mae'r ffigur isod yn dangos strwythur y set hon: os gellir cyrraedd un elfen trwy saethau i elfen arall, yna maent mewn perthynas trefn.

Cyflwyniad i Ddibyniaethau Swyddogaethol

Bydd angen dau ddiffiniad symlach arall o faes mathemateg - goruchaf ac infimum.

Diffiniad 3 . Gadewch i ⟨S, ⩽⟩ fod yn set wedi'i threfnu'n rhannol, A ⊆ S. Mae ffin uchaf A yn elfen u ∈ S fel bod ∀x ∈ S: x ⩽ u. Bydded U yn set o holl derfynau uchaf S. Os oes elfen leiaf yn U, yna fe'i gelwir yn oruchaf ac fe'i dynodir yn ad A.

Cyflwynir y cysyniad o arffin is union yn yr un modd.

Diffiniad 4 . Gadewch i ⟨S, ⩽⟩ fod yn set wedi'i threfnu'n rhannol, A ⊆ S. Elfen l ∈ S yw infimum A fel bod ∀x ∈ S: l ⩽ x. Bydded L yn set o holl derfynau isaf S. Os oes elfen fwyaf yn L, yna fe'i gelwir yn infimum ac fe'i dynodir fel inf A.

Ystyriwch fel enghraifft y set rannol-drefnedig uchod ⟨P ({1, 2, 3}), ⊆⟩ a darganfyddwch y goruchaf a'r infimum ynddi:

Cyflwyniad i Ddibyniaethau Swyddogaethol

Nawr gallwn ffurfio diffiniad dellten algebraidd.

Diffiniad 5 . Gadewch i ⟨P,⩽⟩ fod yn set wedi'i threfnu'n rhannol fel bod gan bob is-set dwy elfen arffin uchaf ac isaf. Yna gelwir P yn dellt algebraidd. Yn yr achos hwn, ysgrifennir sup{x, y} fel x ∨ y, ac inf {x, y} fel x ∧ y.

Gadewch i ni wirio bod ein hesiampl weithredol ⟨P ({1, 2, 3}), ⊆⟩ yn dellt. Yn wir, ar gyfer unrhyw a, b ∈ P ({1, 2, 3}), a∨b = a∪b, ac a∧b = a∩b. Er enghraifft, ystyriwch y setiau {1, 2} a {1, 3} a darganfyddwch eu eiddil a'u goruchaf. Os byddwn yn eu croestorri, byddwn yn cael y set {1}, sef yr infimum. Cawn y goruchaf trwy eu cyfuno — {1, 2, 3}.

Mewn algorithmau ar gyfer nodi problemau corfforol, mae'r gofod chwilio yn aml yn cael ei gynrychioli ar ffurf dellt, lle mae setiau o un elfen (darllenwch lefel gyntaf y dellt chwilio, lle mae ochr chwith y dibyniaethau yn cynnwys un nodwedd) yn cynrychioli pob priodoledd o'r berthynas wreiddiol.
Yn gyntaf, rydym yn ystyried dibyniaethau'r ffurf ∅ → Priodoledd sengl. Mae'r cam hwn yn caniatáu ichi benderfynu pa briodweddau yw'r allweddi sylfaenol (nid oes unrhyw benderfynyddion ar gyfer priodoleddau o'r fath, ac felly mae'r ochr chwith yn wag). Ymhellach, mae algorithmau o'r fath yn symud i fyny ar hyd y dellt. Mae'n werth nodi na ellir croesi'r dellt cyfan, hynny yw, os yw maint mwyaf dymunol yr ochr chwith yn cael ei drosglwyddo i'r mewnbwn, yna ni fydd yr algorithm yn mynd ymhellach na lefel gyda'r maint hwnnw.

Mae'r ffigur isod yn dangos sut y gellir defnyddio dellt algebraidd yn y broblem o ddod o hyd i FZ. Yma mae pob ymyl (X, XY) yn cynrychioli dibyniaeth X →Y. Er enghraifft, rydym wedi pasio'r lefel gyntaf ac yn gwybod bod y caethiwed yn cael ei gynnal A → B (byddwn yn dangos hwn fel cysylltiad gwyrdd rhwng y fertigau A и B). Mae hyn yn golygu, ymhellach, pan fyddwn yn symud i fyny ar hyd y dellt, efallai na fyddwn yn gwirio'r ddibyniaeth A, C → B, oherwydd ni fydd yn fach iawn mwyach. Yn yr un modd, ni fyddem yn ei wirio a oedd y ddibyniaeth yn cael ei chynnal C → B.

Cyflwyniad i Ddibyniaethau Swyddogaethol
Cyflwyniad i Ddibyniaethau Swyddogaethol

Yn ogystal, fel rheol, mae pob algorithm modern ar gyfer chwilio am gyfreithiau ffederal yn defnyddio strwythur data fel rhaniad (yn y ffynhonnell wreiddiol - rhaniad wedi'i dynnu [1]). Mae diffiniad ffurfiol rhaniad fel a ganlyn:

Diffiniad 6 . Gadewch i X ⊆ R fod yn set o briodoleddau ar gyfer perthynas r. Mae clwstwr yn set o fynegeion tuples yn r sydd â'r un gwerth ar gyfer X, hynny yw, c(t) = {i|ti[X] = t[X]}. Set o glystyrau yw rhaniad, heb gynnwys clystyrau o hyd uned:

Cyflwyniad i Ddibyniaethau Swyddogaethol

Mewn geiriau syml, rhaniad ar gyfer priodoledd X yn set o restrau, lle mae pob rhestr yn cynnwys rhifau llinell gyda'r un gwerthoedd ar gyfer X. Mewn llenyddiaeth fodern, gelwir y strwythur sy'n cynrychioli rhaniadau yn fynegai rhestr safle (PLI). Mae clystyrau hyd uned wedi'u heithrio at ddibenion cywasgu PLI oherwydd eu bod yn glystyrau sy'n cynnwys dim ond y nifer uchaf erioed gyda gwerth unigryw a fydd bob amser yn hawdd ei adnabod.

Gadewch i ni edrych ar enghraifft. Gadewch i ni ddychwelyd i'r un tabl gyda chleifion ac adeiladu rhaniadau ar gyfer y colofnau Claf и Rhyw (mae colofn newydd wedi ymddangos ar y chwith, lle mae rhifau rhes y tabl wedi'u marcio):

Cyflwyniad i Ddibyniaethau Swyddogaethol

Cyflwyniad i Ddibyniaethau Swyddogaethol

Ar ben hynny, yn ôl y diffiniad, y rhaniad ar gyfer y golofn Claf mewn gwirionedd yn wag, gan fod clystyrau sengl yn cael eu heithrio o'r rhaniad.

Gellir cael rhaniadau trwy nifer o briodoleddau. Ac mae dwy ffordd o wneud hyn: trwy fynd trwy'r bwrdd, adeiladu rhaniad gan ddefnyddio'r holl briodoleddau angenrheidiol ar unwaith, neu ei adeiladu gan ddefnyddio croestoriad rhaniadau gan ddefnyddio is-set o briodoleddau. Mae algorithmau chwilio cyfraith ffederal yn defnyddio'r ail opsiwn.

Mewn geiriau syml, er mwyn, er enghraifft, cael rhaniad fesul colofn ABC, gallwch gymryd rhaniadau ar gyfer AC и B (neu unrhyw set arall o is-setiau datgymalog) a'u croestorri â'i gilydd. Mae gweithrediad croestoriad dau raniad yn dewis clystyrau o'r hyd mwyaf sy'n gyffredin i'r ddau raniad.

Edrychwn ar enghraifft:

Cyflwyniad i Ddibyniaethau Swyddogaethol

Cyflwyniad i Ddibyniaethau Swyddogaethol

Yn yr achos cyntaf, cawsom raniad gwag. Os edrychwch yn ofalus ar y tabl, yna yn wir, nid oes unrhyw werthoedd union yr un fath ar gyfer y ddau briodoledd. Os byddwn yn addasu'r tabl ychydig (yr achos ar y dde), byddwn eisoes yn cael croestoriad nad yw'n wag. Ar ben hynny, mae llinellau 1 a 2 mewn gwirionedd yn cynnwys yr un gwerthoedd ar gyfer y priodoleddau Rhyw и Meddyg.

Nesaf, bydd arnom angen cysyniad o'r fath fel maint rhaniad. Yn ffurfiol:

Cyflwyniad i Ddibyniaethau Swyddogaethol

Yn syml, maint y rhaniad yw nifer y clystyrau sydd wedi'u cynnwys yn y rhaniad (cofiwch nad yw clystyrau sengl wedi'u cynnwys yn y rhaniad!):

Cyflwyniad i Ddibyniaethau Swyddogaethol

Cyflwyniad i Ddibyniaethau Swyddogaethol

Nawr gallwn ddiffinio un o'r lemaâu allweddol, sydd ar gyfer rhaniadau penodol yn ein galluogi i benderfynu a yw dibyniaeth yn cael ei chynnal ai peidio:

Lema 1. Mae'r ddibyniaeth A, B → C yn dal os a dim ond os

Cyflwyniad i Ddibyniaethau Swyddogaethol

Yn ôl y lema, i benderfynu a yw dibyniaeth yn dal, rhaid cyflawni pedwar cam:

  1. Cyfrifwch y rhaniad ar gyfer ochr chwith y ddibyniaeth
  2. Cyfrifwch y rhaniad ar gyfer ochr dde'r ddibyniaeth
  3. Cyfrifwch gynnyrch y cam cyntaf a'r ail gam
  4. Cymharwch faint y rhaniadau a gafwyd yn y cam cyntaf a'r trydydd cam

Isod mae enghraifft o wirio a yw'r ddibyniaeth yn dal yn ôl y lema hwn:

Cyflwyniad i Ddibyniaethau Swyddogaethol
Cyflwyniad i Ddibyniaethau Swyddogaethol
Cyflwyniad i Ddibyniaethau Swyddogaethol
Cyflwyniad i Ddibyniaethau Swyddogaethol

Yn yr erthygl hon, fe wnaethom archwilio cysyniadau megis dibyniaeth swyddogaethol, dibyniaeth swyddogaethol fras, edrych ar ble maent yn cael eu defnyddio, yn ogystal â pha algorithmau ar gyfer chwilio am swyddogaethau corfforol sy'n bodoli. Gwnaethom hefyd archwilio'n fanwl y cysyniadau sylfaenol ond pwysig sy'n cael eu defnyddio'n weithredol mewn algorithmau modern ar gyfer chwilio am gyfreithiau ffederal.

Cyfeiriadau:

  1. Huhtala Y. et al. TANE: Algorithm effeithlon ar gyfer darganfod dibyniaethau swyddogaethol a bras // Y dyddlyfr cyfrifiadurol. – 1999. – T. 42. – Rhif. 2. – tt 100-111.
  2. Kruse S., Naumann F. Darganfod dibyniaethau bras yn effeithlon // Proceedings of the VLDB Endowment. — 2018. — T. 11. — Rhif. 7. – tt 759-772.
  3. Papenbrock T., Naumann F. Dull hybrid o ddarganfod dibyniaeth swyddogaethol // Trafodion Cynhadledd Ryngwladol 2016 ar Reoli Data. – ACM, 2016. – tt. 821-833.
  4. Papenbrock T. et al. Darganfod dibyniaeth swyddogaethol: Gwerthusiad arbrofol o saith algorithm //Proceedings of the VLDB Endowment. – 2015. – T. 8. – Rhif. 10. – tt 1082-1093.
  5. Mae Kumar A. et al. I ymuno neu beidio ag ymuno?: Meddwl ddwywaith am ymuno cyn dewis nodwedd //Proceedings of the International Conference on Management of Data 2016. – ACM, 2016. – tt. 19-34.
  6. Abo Khamis M. et al. Dysgu o fewn cronfa ddata gyda thenorau gwasgaredig //Trafodion 37ain Symposiwm ACM SIGMOD-SIGACT-SIGAI ar Egwyddorion Systemau Cronfa Ddata. – ACM, 2018. – tt. 325-340.
  7. Hellerstein JM et al. Llyfrgell ddadansoddeg MADlib: neu sgiliau MAD, y SQL //Proceedings of the VLDB Endowment. – 2012. – T. 5. – Rhif. 12. – tt. 1700-1711.
  8. Qin C., Rusu F. Brasamcanion hapfasnachol ar gyfer optimeiddio disgyniad graddiant dosranedig terascale // Trafodion y Pedwerydd Gweithdy ar ddadansoddeg Data yn y Cwmwl. – ACM, 2015. – P. 1 .
  9. Meng X. et al. Mllib: Dysgu peirianyddol mewn apache spark // The Journal of Machine Learning Research. – 2016. – T. 17. – Rhif. 1. – tt 1235-1241.

Awduron yr erthygl: Anastasia Birillo, ymchwilydd yn Ymchwil JetBrains, Myfyriwr canolfan CS и Nikita Bobrov, ymchwilydd yn Ymchwil JetBrains

Ffynhonnell: hab.com

Ychwanegu sylw