750 likes | 891 Views
Something for almost nothing: Advances in sublinear time algorithms. Ronitt Rubinfeld MIT and Tel Aviv U. Algorithms for REALLY big data. No time. What can we hope to do without viewing most of the data?. Small world phenomenon. The social network is a graph: “ node’’ is a person
E N D
Something for almost nothing: Advances in sublinear time algorithms RonittRubinfeld MIT and Tel Aviv U.
No time What can we hope to do without viewing most of the data?
Small world phenomenon • The social network is a graph: • “node’’ is a person • “edge’’ between people that know each other • “6 degrees of separation’’ • Are all pairs of people connected by path of distance at most 6?
Vast data • Impossible to access all of it • Accessible data is too enormous to be viewed by a single individual • Once accessed, data can change
The Gold Standard • Linear time algorithms: • for inputs encoded by n bits/words, allow cn time steps (constant c) • Inadequate…
What can we hope to do without viewing most of the data? • Can’t answer “for all” or “exactly” type statements: • are all individuals connected by at most 6 degrees of separation? • exactly how many individuals on earth are left-handed? • Compromise? • is there a large group of individuals connected by at most 6 degrees of separation? • approximately how many individuals on earth are left-handed?
Property Testing • Does the input object have crucial properties? • Example Properties: • Clusterability, • Small diameter graph, • Close to a codeword, • Linear or low degree polynomial function, • Increasing order • Lots and lots more…
“In the ballpark” vs. “out of the ballpark” tests • Property testing: Distinguish inputs that have specific property from those that arefarfrom having that property • Benefits: • Can often answer such questions much faster • May be the natural question to ask • When some “noise” always present • When data constantly changing • Gives fast sanity check to rule out very “bad” inputs (i.e., restaurant bills) • Model selection problem in machine learning
Examples • Can test if a function is a homomorphism in CONSTANT TIME[Blum LubyR.] • Can test if the social network has 6 degrees of separation in CONSTANT TIME [Parnas Ron]
Constructing a property tester: • Find characterization of property that is • Efficiently (locally) testable • Robust - • objects that have the property satisfy characterization, • and objects far from having the property are unlikely to PASS Usually the bigger challenge
Example: Homomorphism property of functions • A “bad” testing characterization: ∀x,y f(x)+f(y) = f(x+y) • Another bad characterization: For most x f(x)+f(1) = f(x+1) • Good characterization: For most x,yf(x)+f(y) = f(x+y)
Example: 6 degrees of separation • A “bad” testing characterization: For every node, all other nodes within distance 6. • Another bad one: For most nodes, all other nodes within distance 6. • Good characterization: For most nodes, there are many other nodes within distance 6.
Many more properties studied! • Graphs, functions, point sets, strings, … • Amazing characterizations of problems testable in graph and function testing models!
Properties of functions • Linearity and low total degree polynomials [Blum Luby R.] [Bellare Coppersmith Hastad Kiwi Sudan] [R. Sudan] [AroraSafra] [Arora Lund Motwani Sudan Szegedy] [Arora Sudan] ... • Functions definable by functional equations – trigonometric, elliptic functions [R.] • All locally characterized affine invariant function classes! [Bhattacharyya Fischer HatamiHatami Lovett] • Groups, Fields [Ergun Kannan Kumar R. Viswanathan] • Monotonicity [EKKRV] [GoldreichGoldwasser Lehman Ron Samorodnitsky] [DodisGoldreich Lehman Ron RaskhodnikovaSamorodnitsky][Fischer Lehman Newman Raskhodnikova R. Samorodnitsky] [ChakrabartySeshadri]… • Convexity, submodularity[Parnas Ron R.] [Fattal Ron] [SeshadriVondrak]… • Low complexity functions, Juntas [Parnas Ron Samorodnitsky] [Fischer Kindler Ron SafraSamorodnitsky] [Diakonikolas Lee MatulefOnak R. Servedio Wan]…
Some properties testable even with approximation errors! • Linear and low degree polynomials, trigonometric functions [Ergun Kumar Rubinfeld] [Kiwi MagniezSantha] [Magniez]…
Properties of sparse and general graphs • Easily testable dense and hyperfinitegraph properties are completely characterized! [Alon Fischer Newman Shapira][Newman Sohler] • General Sparse graphs: bipartiteness, connectivity, diameter, colorability, rapid mixing, triangle free,… [Goldreich Ron] [Parnas Ron] [BatuFortnow R. Smith White] [Kaufman Krivelevich Ron] [Alon Kaufman Krivelevich Ron]… • Tools: Szemeredi regularity lemma, random walks, local search, simulate greedy, borrow from parallel algorithms
Some other combinatorial properties • Set properties – equality, distinctness,... • String properties – edit distance, compressibility,… • Metric properties – metrics, clustering, convex hulls, embeddability... • Membership in low complexity languages – regular languages, constant width branching programs, context-free languages, regular tree languages… • Codes – BCH and dual-BCH codes, Generalized Reed-Muller,…
Can quantum property testers do better? • Yes! e.g., [BuhrmanFortnow Newman Rohrig] [FriedlIvanyosSantha] [FriedlSanthaMagniezSen]
Active property testing[BalcanBlaisBlum Yang] • May only query labels of points from a sample • Useful for model selection problem
“Traditional” approximation • Output number close to value of the optimal solution(not enough time to construct a solution) • Some examples: • Minimum spanning tree, • vertex cover, • max cut, • positive linear program, • edit distance, …
Example: Vertex Cover • Given graph G(V,E), a vertex cover (VC) C is a subset of V such that it “touches” every edge. • What is minimum size of a vertex cover? • NP-complete • Poly time multiplicative 2-approximation based on relationship of VC and maximal matching
Vertex Cover and Maximal Matching • Maximal Matching: • ME is amatchingif no node in in more than one edge. • M is a maximal matching if adding any edge violates the matching property • Note: nodes matched by M form a pretty good Vertex Cover! • Vertex cover must include at least one node in each edge of M • Union of nodes of M form a vertex cover • So |M| ≤ VC ≤ 2 |M|
“Classical” approximation examples • Can get CONSTANT TIME approximation for vertex cover on sparse graphs! • Output y which is at most 2∙ OPT + ϵn How? • Oracle reduction framework [Parnas Ron] • Construct “oracle” that tells you if node u in 2-approx vertex cover • Use oracle + standard sampling to estimate size of cover But how do you implement the oracle?
Implementing the oracle – two approaches: • Sequentially simulate computations of a local distributed algorithm [Parnas Ron] • Figure out what greedy maximal matching algorithm would do on u [Nguyen Onak]
Greedy algorithm for maximal matching • Algorithm: • For every edge (u,v) • If neither of u or v matched • Add (u,v) to M • Output M • Why is M maximal? • If e not in M then either u or v already matched by earlier edge
Implementing the Oracle via Greedy • To decide if edge e in matching: • Must know if adjacent edges that come before e in the ordering are in the matching • Do not need to know anything about edges coming after • Arbitrary edge order can have long dependency chains! Odd or even steps from beginning? 1 2 4 8 25 36 47 88 89 110 111 112 113
Breaking long dependency chains[Nguyen Onak] • Assign random ordering to edges • Greedy works under any ordering • Important fact: random order has short dependency chains
Better Complexity for VC • Always recurse on least ranked edge first • Heuristic suggested by [Nguyen Onak] • Yields time poly in degree [Yoshida Yamamoto Ito] • Additional ideas yield query complexity nearly linear in average degree for general graphs[Onak Ron Rosen R.]
Further work • More complicated arguments for maximum matching, set cover, positive LP… [Parnas Ron + Kuhn MoscibrodaWattenhofer] [Nguyen Onak] [Yoshida Yamamoto Ito] • Even better results for hyperfinite graphs [Hassidim Kelner Nguyen Onak][Newman Sohler] • e.g., planar Can dependence be made poly in average degree?
Large inputs Large outputs
When we don’t need to see all the output… do we need to see all the input?
Locally (list-)decodable codes [Sudan-Trevisan-Vadhan, Katz-Trevisan,…] Encoding of large message Input Large message Output of Decoding Algorithm Can design codes so that few queries needed to compute answer!!! What is the ith bit?
Local decompression algorithms[Chandar Shah Wornell][SadakaneGrossi] [Gonzalez Navarro] [FerraginaVenturini] [Kreft Navarro] [Billie Landau Raman SadakaneSattiWeimann] [Dutta Levi Ron R.]… Input Compression of large data Large data Output of Decompression Algorithm design compression scheme so that compress well and few queries needed to compute answer What is the ith bit?
Local Computation Algorithms (LCA)[R. TamirVardiXie] Input x xj j LCA yi1,yi2, … i1,i2,.. Output y
What more can be done in this model? • Optimization problems [R. TamirVardiXie] [Alon R. VardiXie] • Maximal independent set • Broadcast radio scheduling • Hypergraph coloring • K-CNF SAT • Techniques as in “oracle reduction framework”, but oracle requirements are more stringent
Two-phase plan: • Phase 1: Compute a partial solution which decides most nodes • simulate local algorithms • can also simulate greedy • Phase 2: Only small components left … brute force works! • analysis similar to Beck/Alon • can also analyze via Galton-Watson
More: • Local algorithms for • Ranking webpages • Graph partitioning [Andersen BorgsChayesHopcroftMirrokniTeng] [Andersen Chung Lang] [SpielmanTeng] [BorgsBrautbarChayesLucier] • Property preserving data reconstruction [AilonChazelleComandur Liu] [Comandur Saks] [JhaRaskhodnikova][CampagnaGuo R.] [AwasthiJhaMolinaroRaskhodnikova] …
LCAs and the cloud Input x LCA LCA LCA LCA LCA Output y
No samples What if data only accessible via random samples?
Is the lottery unfair? • From Hitlotto.com:Lotteryexperts agree, past number histories can be the key to predicting future winners.
True Story! • Polish lottery Multilotek • Choose “uniformly” at random distinct 20 numbers out of 1 to 80. • Initial machine biased • e.g., probability of 50-59 too small • Past results: http://serwis.lotto.pl:8080/archiwum/wyniki_wszystkie.php?id_gra=2
New Jersey Pick 3,4 Lottery • New Jersey Pick k (=3,4) Lottery. • Pick k digits in order. • 10kpossible values. • Assume lottery draws iid • Data: • Pick 3 -8522results from 5/22/75 to 10/15/00 • 2-test gives 42% confidence • Pick 4 -6544 results from 9/1/77 to 10/15/00. • fewer results than possible values • 2-test gives no confidence
Distributions on BIG domains • Given samples of a distribution, need to know, e.g., • entropy • number of distinct elements • “shape” (monotone, bimodal,…) • closeness to uniform, Gaussian, Zipfian… • No assumptions on shapeof distribution • i.e., smoothness, monotonicity, Normal distribution,… • Considered in statistics, information theory, machine learning, databases, algorithms, physics, biology,…
Key Question • How many samples do you need in terms of domain size? • Do you need to estimate the probabilities of each domain item? • Can sample complexity be sublinear in size of the domain? Rules out standard statistical techniques, learning distribution
Our Aim: Algorithms with sublinear sample complexity