áá±áá¬ááœá²ááŒááºážá
áááºááŒá¬ááŸá¯á á¡áá»áá¯ážáá»áá¯ážáá±á¬ áááºáááºáá»á¬ážááœáẠáá¯ááºáá±á¬ááºááá¯ááºáá±á¬ ááŸá®ááá¯ááŸá¯áá»á¬ážá¡á¬áž ááŸá¬ááœá±ááŒááºáž- áá±áá¬áá±á·á
áºá
á®áá¶ááá·áºááœá²ááŸá¯á áá±áá¬ááŸááºážáááºážááŒááºážá áá±áá¬áá±á·á
áºááŒá±á¬ááºážááŒááºá¡ááºáá»ááºáá®áá¬ááŸáá·áº áá±áá¬ááŸá¬ááœá±áá±ážááá¯á·ááᯠá¡áá¯á¶ážááŒá¯áááºá ááŸá®ááá¯ááŸá¯áá»á¬ážá¡ááŒá±á¬ááºáž áá»áœááºá¯ááºááá¯á·ááá¯ááºááá¯áẠáá¯ááºááŒááºáá¬ážááŒá®ážááŒá
áºáááºá
á¡áá¯ááºááœá±ážáá»ááºááŸá¯
CS á
ááºáá¬ááœáẠáá±á·áá¬áá±á
ááºá á¡áááºá¡áááá¹áá«ááºááŸá¬á á¡áá¯ááºáá¯ááºáá¯á¶ááŸáá·áº ááŒá¬ážáá¬ážáá±á¬ ááŸá®ááá¯ááŸá¯áá»á¬ážá¡ááœáẠááŸá¬ááœá±ááŒááºáž áá±áá¬áá±á·á
áºáá»á¬ážááᯠáááºááŸáá¯ááºážá
áœá¬ á
áááºáá±á·áá¬áá²á·áááºá á€á¡ááŒá±á¬ááºážá¡áá¬ááẠááá¹áááá¯ááºááŸá áá»áœááºá¯ááºá áááºááá¯ážááœáŸááºážáááºáž áá±á«ááºážá
ááºááŸáá·áº áááºá
ááºáá±áá±á¬ááŒá±á¬áá·áº áááºáááºážááᯠáá¯ááºáá±á¬ááºáá±á
ááºááœáẠdatabases ááœáẠááŸá®ááá¯ááŸá¯á¡áá»áá¯ážáá»áá¯ážá¡ááŒá±á¬ááºáž áá±á¬ááºážáá«ážáá»á¬ážááᯠá
áááºáááºááŸá¯áá²á·áá«áááºá á€áááºáááºááᯠááŒááºáááºáá¯á¶ážáááºáá±ážáá¬ážáá²á·ááẠ- áá»áœááºá¯ááºá ááááá¯á¶ážáá±á¬ áá
áºáá¯ááŒá
áºáááºá
á ááºáá¬ááœááºáá»áœááºá¯ááºááá¯áááá á¬áááºáá¬áááœááºá áá»áœááºá¯ááºááẠfunctional dependencies ááá¯ááŸá¬ááœá±áááºá¡ááœáẠalgorithms ááá¯ááá¯ážáááºá á±áááºá¡ááœááºáá¯áá±ááááá±á¬áá»ááºáá áºáá¯ááá¯á áááºáá²á·áááºá JetBrains Research á០á ááá·áºáá®áá¬á áááºááŒááºááẠááá¹áááá¯ááºá០ááœá²á·ááá»á±á¬ááºážáá¬áž Nikita Bobrov ááŸáá·áº ááœá²áá¯ááºáá²á·áááºá
áá¯ááºáááºážááá¯ááºáᬠááŸá®ááá¯ááŸá¯áá»á¬ážááᯠááŸá¬ááœá±áá¬ááœáẠááœááºáá»ááºááŸá¯ááá¯ááºáᬠááŸá¯ááºááœá±ážááŸá¯
á¡áááááŒá¿áá¬ááŸá¬ ááœááºáá»ááºááŸá¯ááá¯ááºáᬠááŸá¯ááºááœá±ážááŸá¯ááŒá áºáááºá ááŒá áºááá¯ááºáá»á± á¡áááºážáá¯á¶ážááŸáá·áº á¡áá±ážá¡ááœá²ááá¯ááºáá±á¬ ááŸá®ááá¯ááŸá¯á¡áá±á¡ááœááºááᯠáááºááá¯ážá¡á¬ážááŒáá·áº á¡áááºááœáẠááá·áºáááºáá¬ážáááºá áááºááŸá¬ - ááá¬ážá¡áááºá¡ááœá±ážáá»á¬ážá algorithms ááááºáááºáá»áááºááẠattribute á¡áá±á¡ááœááºáá±á«áºááœááºáá¬áá á¡áááºážá¡áá±á¡ááœááºáá±á«áºááœááºáááºážáá°áááºáááºá 90 áá¯ááŸá áºáá»á¬ážááœáẠááŒááºáá±á¬ááºá á¯á¥ááá±ááŸá¬ááœá±áá±áž á¡ááºáááá¯áá®áááºáá»á¬áž ááẠáá¯á¶ááŸáẠdesktop PC ááœáẠáááºááœáŸááºážáá»áẠ20 á¡ááááŸáá·áº á¡áááºážáá±á¬ááºáá±á«ááºážáá»á¬ážá áœá¬ áá«áááºáá±á¬ áá±áá¬á¡ááœá²áá»á¬ážááᯠáá¬áá®áá±á«ááºážáá»á¬ážá áœá¬á¡áá áá¯ááºáá±á¬ááºááá¯ááºáááºá Multi-core áááá¯áááºáá¬áá»á¬ážáá±á«áºááœáẠáá¯ááºáá±á¬ááºáá±ááá·áº áá±ááºáá® á¡ááºáááá¯áá®áááºáá»á¬ážááẠáá°áá®áá±á¬á¡áá»áááºá áá¬ááŸáá·áºáá»á®áá±á¬ áááºááœáŸááºážáá»ááºáá»á¬áž (200 á¡áá) áá«áááºáá±á¬ áá±áá¬á¡ááœá²áá»á¬ážá¡ááœáẠááŸá®ááá¯ááŸá¯ááᯠááŸá¬ááœá±ááœá±á·ááŸááááºá ááá¯á·áá±á¬áºá áááºážááẠááá¯á¶áá±á¬ááºáá«- á€á¡áá»áááºááẠáááºááœá±á·ááá¹áá¬á¡áá¯á¶ážáá»ááŸá¯á¡áá»á¬ážá á¯á¡ááœáẠáááºááá¶ááá¯ááºáá«á ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááẠááŸáááŒá®ážáá¬áž algorithms áá»á¬ážááᯠá¡ááŸáááºááŒáŸáá·áºááẠáááºážáááºážáá»á¬ážááᯠáá®ááœááºáá²á·áááºá
á¡ááá¯ááºážááá¯ááºážáááºážáá¯á¶áá»á¬ážá¡ááœáẠááááºážáááºážááŒááºážá¡á á®á¡á ááºáá»á¬áž
á¡áá¯ááºááááá¡ááá¯ááºážááœááºá partition áááºážáá¯á¶áááºážáááºážááá¯á¡áá¯á¶ážááŒá¯ááá·áº algorithms á¡áááºážáá»á¬ážá¡ááœáẠáááºááŸáºá¡á á®á¡áá¶áá»á¬ážááᯠáá®ááœááºáá²á·áááºá áááºááœáŸááºážáá»ááºáá áºáá¯á¡ááœáẠá¡ááá¯ááºážáá áºáá¯ááẠá á¬áááºážáá»á¬ážá¡á á¯áá áºáá¯ááŒá áºááŒá®ážá á á¬áááºážáá áºáá¯á á®ááœáẠáá±ážáá¬ážáá±á¬ á¡áááºá¡áá»ááºážáá áºáá¯á¡ááœáẠáá°áá®áá±á¬áááºááá¯ážáá»á¬ážááŸáá·áº ááá¯ááºážáá¶áá«ááºáá»á¬ážáá«ááŸááááºá ááá¯ááá¯á·áá±á¬á á¬áááºážáá áºáá¯á á®ááᯠá¡á á¯á¡ááœá²á·áá¯áá±á«áºáááºá áá±ááºáá® á¡ááºáááá¯áá®áááºáá»á¬ážá áœá¬ááẠááŸá®ááá¯ááŸá¯áá áºáá¯á¡á¬áž áá¯ááºááá¯ááºáá¬ážááŒááºáž ááŸáá áááŸá áá¯á¶ážááŒááºááẠá¡ááá¯ááºážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áááºá á¡ááá¡áá»ááŒá±á¬ááá»áŸááºá áááºážááá¯á·ááẠáááºáá¬ááᯠááá¯ááºáá¬áááº- ááŸá®ááá¯ááŸá¯ áá»ááºážááááºááá¯áá«á ... áá®ááŸá¬ partition áá áºáá¯ááᯠáááºááŸááºááŒá®áž partition size á concept ááá¯á¡áá¯á¶ážááŒá¯ááẠ- áááºážááœááºááŸááá±á¬ clusters á¡áá±á¡ááœááºá ááœá²áááºážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááá·áº á¡ááºáááá¯áá®áááºáá»á¬ážá ááŸá®ááá¯ááŸá¯á¡á¬áž áá»áá¯ážáá±á¬ááºááá·áºá¡áá«á ááŸá®ááá¯ááŸá¯á áááºáááºá¡ááŒááºážááœáẠá¡ááá¯áá¯ááºááá¹áááá»á¬ážááᯠáá±á«ááºážááá·áºáᬠáááºážááᯠááŒááºáááºááœááºáá»ááºáᬠá¡ááá¯ááºážááœá²áá»á¬ážá áááºážáá¯á¶ááᯠáá¯ááºáá±á¬ááºááŸá¯ááᯠáá¯ááºáá±á¬ááºáááºá á€áá¯ááºáá±á¬ááºáá»ááºááᯠáá±á¬ááºážáá«ážáá»á¬ážááœáẠá¡áá°ážááŒá¯áá¯áá±á«áºáááºá ááá¯á·áá±á¬áº á¡áá°ážááŒá¯ááŸá¯á¡áááºážáááºááŒá¯áá¯ááºááŒá®ážááŸáᬠáááºáááºááááºážááááºážáá¬ážááá·áº ááŸá®ááá¯ááŸá¯áá»á¬ážá¡ááœáẠá¡ááá¯ááºážááœá²áá»á¬ážááᯠáááºááŒáœá áœá¬ááŒááºáááºá¡áá¯á¶ážááŒá¯ááá¯ááºáááºááᯠáá»áœááºá¯ááºááá¯á·áááááŒá¯ááááŒá®áž áááºážáá¯á¶áá¯ááºáá±á¬ááºááŸá¯ááŸá¬ á á»á±ážááŒá®ážáá±á¬ááŒá±á¬áá·áº algorithms ááááºáááºáá»áááºááᯠáááááá¬áá¬áá»áŸá±á¬á·áá»ááá¯ááºáááºááᯠáá»áœááºá¯ááºááá¯á·áááááŒá¯áááá«áááºá
ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááẠShannon Entropy ááŸáá·áº Ginny Uncertainty ááá¯á·á¡ááŒáẠReverse Entropy áá¯áá±á«áºáá±á¬ áá»áœááºá¯ááºááá¯á·ááááºááá áºá¡áá±á«áºá¡ááŒá±áá¶ááá·áº ááœá±ážáá±á«áºááŸá¯áá áºáá¯ááᯠá¡ááá¯ááŒá¯áá²á·áááºá áááºážááẠShannon Entropy á á¡áááºážáááºááœááºážáá¶ááŸá¯ááŒá áºááŒá®áž áá±áá¬á¡á á¯á¶ááá°ážááŒá¬ážááŸá¯ ááá¯ážáá¬áááºááŸáá·áºá¡áá»áŸ ááá¯ážáá¬áááºá á¡ááá¯ááŒá¯áá¬ážáá±á¬ heuristic ááŸá¬ á¡á±á¬ááºáá«á¡ááá¯ááºážááŒá áºáááºá
áá«áá¬ááŒá áºáá«ááẠ- áááŒá¬áá±ážáá®áááœááºáá»ááºáá¬ážáá±á¬ partition ááá°ážááŒá¬ážááŸá¯á¡ááá¯ááºážá¡áᬠááŸáá·áº áá áºáŠážáá»ááºážá á® á¡áááºá¡áá»ááºážáá»á¬ážá¡ááœáẠáá°ážááŒá¬ážááŸá¯ áá®ááá®áá»á¬ážá áá»ááºážáá»áŸááŒá áºáááºá á¡áááºááœááºáá±á¬áºááŒáá¬ážáá±á¬ áááºááá áºáá¯á¶ážáá¯á áá¯á¶ážááᯠáá°ážááŒá¬ážááŸá¯áááºááá áºá¡ááŒá Ạá ááºážáááºáá¬ážáááºá heuristic ááœáẠááŒá¯ááŒááºááœááºážáá¶ááŸá¯ ááŸá áºáá¯ááŸáááŒá±á¬ááºážááá¯áááºáž áááááŒá¯ááááá¯ááºáá«áááºá áááá¡áá»ááºá áááºááŸá partition ááẠá¡ááááá±á¬á·ááŸáá·áº áááºáá»áŸáá®ážáááºáááºááᯠááœáŸááºááŒááŒá®áž ááŒá áºááá¯ááºáá»á±ááŸááá±á¬ áá±á¬á·ááŸáá·áºáá±ážáá±á¬ partitions áá»á¬ážááᯠááá¯ááá¯á¡ááá¯ááºážá¡áá¬á¡áá áááºááŸáºáá¯ááºááœáá·áºááŒá¯áááºá áá¯áááááœááºážáá¶ááŸá¯ááẠááá·áºá¡á¬áž áááºááŸáºáá±ááá¯ááºááŸá¯ááᯠá á±á¬áá·áºááŒáá·áºááẠááœáá·áºááŒá¯ááŒá®áž áá±áá¬ááœááºáá»á¬ážááŸááá«á áááºááŸáºááœáẠá¡ááá¯ááºážááœá²áá»á¬áž áááºááá·áºááẠá¡á¬ážáá±ážáááºá á€ááŒá¿áá¬áá¡á±á¬ááºááŒááºáá±á¬ááŒá±ááŸááºážáá»ááºááẠdataset áá±á«áºáá°áááºá PYRO algorithm ááᯠ10-40% á¡ááŸáááºááŒáŸáá·áºááá¯ááºá á±áá«áááºá PYRO algorithm ááẠá€áááºáááºááœáẠá¡á¡á±á¬ááºááŒááºáá¯á¶ážááŒá áºáááºááᯠáááááŒá¯ááá·áºáááºá
á¡á±á¬ááºáá«áá¯á¶ááœáẠá¡ááŒá±áᶠcoin-flip caching áááºážáááºážááŸáá·áº ááŸáá¯ááºážááŸááºáá¬ážáá±á¬ á¡ááá¯ááŒá¯áá¬ážáá±á¬ heuristic ááᯠáá»áá·áºáá¯á¶ážááŒááºážá ááááºáá»á¬ážááᯠáááºááœá±á·ááŒááºááá¯ááºáá«áááºá X áááºááá¯ážááẠáá±á¬á·ááá áºáááºááŒá áºáááºá
Partitions áá»á¬ážááᯠááááºážáááºážááẠá¡ááŒá¬ážáááºážáááºážáá áºáá¯
ááá¯á·áá±á¬áẠpartitions áá»á¬ážááá¯ááááºážáááºážááẠá¡ááŒá¬ážáááºážáááºážáá áºáá¯ááᯠá¡ááá¯ááŒá¯áá²á·áááºá Partitions áá»á¬ážááẠá¡áá»áá¯á·áá±á¬ attribute áá»á¬ážá¡ááœáẠáá°áá®áá±á¬áááºááá¯ážáá»á¬ážááŒáá·áº tuples áá¶áá«ááºáá»á¬ážááᯠááááºážáááºážáá±ážááá·áº á¡á á¯á¡áá±ážáá áºáá¯á á®ááŒá áºáááºá á€á¡á á¯á¡áá±ážáá»á¬ážááẠááá¬ážáá áºáá¯ááŸááá±áá¬ááᯠá á®á á¥áºáá¬ážáá»áŸáẠá¥ááᬠtuple áá¶áá«ááºáá»á¬ážá ááŸááºáá»á¬ážáá±á¬áá¶áá«ááºáá»á¬ážáá«áááºááá¯ááºáááºá ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááẠpartitions áá»á¬ážááᯠááááºážáááºážáááºá¡ááœáẠáá»á¯á¶á·ááŒááºážá¡á á®á¡á ááºááᯠá¡ááá¯ááŒá¯áá¬ážáá«áááºá
$$display$$pi(X) = {{á¡á±á¬ááºáá¶áá±á¬ááº{1á 2á 3á 4á 5}_{áááááŒá¬ážáá¬á}á á¡á±á¬ááºáá¶áá±á¬ááº{7á 8}_{áá¯áááááŒá¬ážáá¬á}á 10}}\ á¡á±á¬ááºááŒáŸá¬áž{ ááááááºááŸá¯} \pi(X) = {{underbrace{$, 1, 5}_{First~interval}, underbrace{7, 8}_{Second~interval}, 10}}$$display$$
á€áááºážáááºážááẠTANE á¡ááºáááá¯áá®ááẠáááºáááºá ááºá¡ááœááºáž ááŸááºáá¬ááºáá¯á¶ážá áœá²ááŸá¯ááᯠ1 á០25% á¡áá áá»áŸá±á¬á·áá»ááá¯ááºáá²á·áááºá TANE algorithm ááẠáááá¯á¥ááá±áá»á¬ážááᯠááŸá¬ááœá±áááºá¡ááœáẠááá¹áááẠá¡ááºáááá¯áá®áááºáá áºáá¯ááŒá áºááŒá®áž áááºážááẠáááºážááá¯ááºáááºážá¡ááœááºáž á¡ááá¯ááºážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áááºá á¡áá±á·á¡áá»áá·áºááá áºá áááºáá áºááá¯ááºážá¡áá±ááŒáá·áºá á¡ááá¯ááŒá¯áá¬ážáá±á¬áá»ááºážáááºááŸá¯á¡áá¯ááºáá¯ááºááŒááºážááŸááááŸáá¡áá²ááŒááºáááºá¡ááœááºáááºážááœááºááŒá¬ážáá¬áááá¯ááŸá±á¬ááºááŸá¯ááá¯á¡áá±á¬ááºá¡áááºáá±á¬áºáááºááá¯ááá¯ááœááºáá°áá±á¬ááŒá±á¬áá·áº TANE á¡ááºáááá¯áá®áááºááá¯ááœá±ážáá»ááºáá²á·áááºá áááŸááá±á¬ááááºáá»á¬ážááá¯á¡á±á¬ááºáá«áá¯á¶ááœááºáá±á¬áºááŒáá¬ážáááºá X áááºááá¯ážááẠáá±á¬á·ááá áºáááºááŒá áºáááºá
ADBIS-2019 áá®áá¬áá¶
áá¯áá±ááááááºáá»á¬ážááᯠá¡ááŒá±áá¶á 2019 áá¯ááŸá
Ạá
ááºáááºáá¬áááœáẠáá»áœááºá¯ááºááẠáá±á¬ááºážáá«ážáá
áºáá¯ááºááᯠáá¯ááºáá±áá²á·áááºá
source: www.habr.com