Nil Ib N O Ir Ali Mi S Na El Oo B Ilp Itl
Total Page:16
File Type:pdf, Size:1020Kb
ecneicS retupmoC retupmoC ecneicS ecneicS - o t- o l t aA l aA DD DD 9 9 / / OOnn BBiilliinneeaarr TTeecchhnniiqquueess ffoorr 0202 0202 a p pa p r p a r K a K ii t t t aM t aM SSiimmiillaarriittyy SSeeaarrcchh aanndd BBoooolleeaann MMaattrriixx M ultiplication Multiplication MMaatttit iK Kaarprpppaa noi taci lpi t luM xi r taM naelooB dna hcraeS yt i ral imiS rof seuqinhceT raeni l iB nO noi taci lpi t luM xi r taM naelooB dna hcraeS yt i ral imiS rof seuqinhceT raeni l iB nO BBUUSSININESESS + + ECECOONNOOMMY Y NSI I NBS NBS 879 - 879 - 259 - 259 - 06 - 06 - 5198 - 5198 7 - 7 ( p ( r p i n r t i n t de ) de ) AARRT T+ + NSI I NBS NBS 879 - 879 - 259 - 259 - 06 - 06 - 6198 - 6198 4 - 4 ( ( dp f dp ) f ) DDESESIGIGNN + + NSI I NSS NSS 9971 - 9971 - 4394 4394 ( p ( r p i n r t i n t de ) de ) AARRCCHHITIETCECTUTURRE E NSI I NSS NSS 9971 - 9971 - 2494 2494 ( ( dp f dp ) f ) SSCCIEINENCCE E+ + TETCECHHNNOOLOLOGGY Y tirvn tlaA ot laA ot isrevinU yt isrevinU yt CCRROOSSSOOVEVRE R ceic fo o oohcS f l cS o oohcS i f l cS i ecne ecne DDOOCCTOTORRAAL L ecneicS retupmoC retupmoC ecneicS ecneicS DDISISSERERTATTAITOIONNS S DDOOCCTOTORRAAL L +hfbjia*GMFTSH9 +hfbjia*GMFTSH9 fi.otlaa.www . www a . a a l a t o l t . o fi . fi DDISISSERERTATTAITOIONNS S ot laA ytot laA isrevinU yt isrevinU 0202 0202 Aalto University publication series DOCTORAL DISSERTATIONS 9/2020 On Bilinear Techniques for Similarity Search and Boolean Matrix Multiplication Matti Karppa A doctoral dissertation completed for the degree of Doctor of Science (Technology) to be defended, with the permission of the Aalto University School of Science, at a public examination held at the lecture hall T2 of the school on 24 January 2020 at 12. Aalto University School of Science Computer Science Supervising professor Professor Petteri Kaski, Aalto University, Finland Preliminary examiners Professor Alexandr Andoni, Columbia University, USA Professor Oded Schwartz, Hebrew University of Jerusalem, Israel Opponent Professor Rasmus Pagh, IT University of Copenhagen, Denmark Aalto University publication series DOCTORAL DISSERTATIONS 9/2020 © 2020 Matti Karppa ISBN 978-952-60-8915-7 (printed) ISBN 978-952-60-8916-4 (pdf) ISSN 1799-4934 (printed) ISSN 1799-4942 (pdf) http://urn.fi/URN:ISBN:978-952-60-8916-4 Unigrafia Oy Helsinki 2020 WAN E S CO IC L D A B R E O L Finland N PrintedPrinted matter 1234 5678 4041-0619 Abstract Aalto University, P.O. Box 11000, FI-00076 Aalto www.aalto.fi Author Matti Karppa Name of the doctoral dissertation On Bilinear Techniques for Similarity Search and Boolean Matrix Multiplication Publisher School of Science Unit Computer Science Series Aalto University publication series DOCTORAL DISSERTATIONS 9/2020 Field of research Algorithms Manuscript submitted 30 December 2019 Date of the defence 24 January 2020 Permission for public defence granted (date) 17 December 2019 Language English Monograph Article dissertation Essay dissertation Abstract Algorithms are the art of efficient computation: it is by the power of algorithms that solving problems becomes feasible, and that we may harness the power of computing machinery. Efficient algorithms translate directly to savings in resources, such as time, storage space, and electricity, and thus money. With the end of the exponential increase in the computational power of hardware, the value of efficient algorithms may be greater than ever. This thesis presents advancements in multiple fields of algorithms, related through the application of bilinear techniques. Functions that map elements from a pair of vector spaces to a third vector space with the property that they are linear in their arguments, or bilinear maps, are a ubiquitous and fundamental mathematical tool, the canonical example being the matrix multiplication. We address both the applications that make use of bilinear maps and the computation of the bilinear maps itself, Boolean matrix multiplication in particular. In the field of similarity search, we improve on Valiant's randomized algorithm [FOCS 2012; J. ACM 2015] for finding correlated vectors by (i) presenting an improved sampling scheme that enables faster processing by using fast matrix multiplication, and (ii) derandomizing Valiant's algorithm. These results are mostly of theoretical nature since they rely on fast matrix multiplication. We also present (iii) an adaptive prefix-assignment method for symmetry breaking. An instantiation of McKay's canonical extension framework [J. Algorithms 1998], the method produces a set of partial assignments with respect to a sequence of a prefix of variables in a system of constraints, such that all generated assignments are pairwise nonisomorphic. The method breaks the symmetries completely with respect to the prefix sequence, and can benefit from an auxiliary representation of symmetries in the form of a colored graph. We also provide an implementation that works as a preprocessor for Boolean satisfiability solvers, and show experimentally that the method is also of practical value and parallelizes well in a distributed computer cluster setting. We address matrix multiplication by (iv) introducing a probabilistic extension of the notions of rank and border rank, and show that, under this notion, the structural tensor for 2×2 matrix multiplication has strictly lower probabilistic tensor rank and border rank than the deterministic rank. We use this fact to derive a randomized algorithm for multiplying two Boolean matrices that is asymptotically faster than Strassen's algorithm [Numer. Math. 1969]. Finally, (v) using the recent result of Karstadt and Schwartz [SPAA 2017], we implement Strassen's multiplication over the binary field in an alternative basis for a multiple-GPU shared- memory system. We evaluate the implementation with one-tebibit input, and show that it exceeds the theoretical peak performance of the elementary algorithm in terms of bit operations, and also offers substantial savings in energy consumption. Keywords bilinear algorithms, matrix multiplication, similarity search, symmetry breaking ISBN (printed) 978-952-60-8915-7 ISBN (pdf) 978-952-60-8916-4 ISSN (printed) 1799-4934 ISSN (pdf) 1799-4942 Location of publisher Helsinki Location of printing Helsinki Year 2020 Pages 273 urn http://urn.fi/URN:ISBN:978-952-60-8916-4 Tiivistelmä Aalto-yliopisto, PL 11000, 00076 Aalto www.aalto.fi Tekijä Matti Karppa Väitöskirjan nimi On Bilinear Techniques for Similarity Search and Boolean Matrix Multiplication Julkaisija Perustieteiden korkeakoulu Yksikkö Tietotekniikan laitos Sarja Aalto University publication series DOCTORAL DISSERTATIONS 9/2020 Tutkimusala Algoritmit Käsikirjoituksen pvm 30.12.2019 Väitöspäivä 24.01.2020 Väittelyluvan myöntämispäivä 17.12.2019 Kieli Englanti Monografia Artikkeliväitöskirja Esseeväitöskirja Tiivistelmä Tässä väitöskirjassa esitetään tutkimustuloksia useilta algoritmiikan eri osa-alueilta. Näitä tuloksia yhdistävät bilineaaritekniikoiden soveltaminen. Funktiot, jotka kuvaavat alkioita vektoriavaruuspareilta kolmansille vektoriavaruuksille siten, että ne ovat lineaarisia argumenttiensa suhteen, eli bilineaarikuvaukset, ovat läsnä kaikkialla ja keskeisiä matemaattisia työkaluja. Kanoninen esimerkki bilineaarikuvauksesta on matriisikertolasku. Tässä työssä käsitellään sekä sovelluksia, jotka hyödyntävät bilineaarikuvauksia että bilineaarikuvauksien itsensä laskemista, erityisesti Boolen matriisikertolaskun tapauksessa. Samankaltaisuushaun osalta parannetaan Valiantin satunnaistettua korreloituneiden vektoreiden hakualgoritmia [FOCS 2012; J. ACM 2015] (i) esittämällä parannetun näytteistysjärjestelyn, joka mahdollistaa nopeamman käsittelyn nopean matriisikertolaskun avulla ja (ii) poistamalla Valiantin algoritmin satunnaisuuden. Nämä tulokset ovat lähinnä teoreettisia, koska ne nojaavat nopeaan matriisikertolaskuun. Työssä esitetään myös (iii) adaptiivinen prefiksinsijoitusmenetelmä symmetrian särkemiseen. Kyseessä on McKayn kanonisen laajennuksen menetelmän [J. Algorithms 1998] sovellus, joka tuottaa joukon osittaissijoituksia rajoitejärjestelmän muuttujaprefiksisekvenssin suhteen siten, että kaikki generoidut sijoitukset ovat pareittain epäisomorfisia. Menetelmä särkee symmetriat täydellisesti prefiksisekvenssin suhteen ja pystyy hyödyntämään väritetyn graafin muodossa annetusta symmetrioiden apuesityksestä. Menetelmästä on tehty myös implementaatio, joka toimii Boolen toteutuvuusratkaisijoiden esikäsittelijänä, ja työssä osoitetaan kokeellisesti, että menetelmä on sovellettavissa käytännössä ja rinnakkaistuu hyvin hajautetussa laskentaklusterissa. Työssä käsitellään matriisikertolaskua (iv) esittelemällä probabilistinen laajennus rankin ja border rankin käsitteille ja osoittamalla, että 2×2-matriisikertolaskutensorilla on aidosti pienempi probabilistinen rank ja border rank kuin deterministinen rank. Tämän tiedon avulla johdetaan kahden Boolen matriisin kertolaskuun satunnaistettu algoritmi, joka on asymptoottisesti nopeampi kuin Strassenin algoritmi [Numer. Math. 1969]. Lopuksi (v) hyödyntämällä Karstadtin ja Schwartzin tulosta [SPAA 2017] työssä implementoidaan Strassenin kertolasku binäärikunnan yli vaihtoehtoisessa kannassa usean GPU:n jaetun muistin järjestelmässä. Implementaation toimintaa arvioidaan yhden tebibitin syötteellä ja osoitetaan kokeellisesti, että se ylittää naiivin algoritmin teoreettisen huippusuorituskyvyn bittioperaatioiden suhteen ja tarjoaa myös merkittäviä säästöjä energiankulutuksen suhteen. Avainsanat bilineaarialgoritmit, matriisikertolasku, samankaltaisuushaku, symmetrian särkeminen ISBN (painettu) 978-952-60-8915-7