KnowlInfSyst DOI10.1007/s10115-012-0489-6 REGULAR PAPER Recommendations for two-way selections using skyline view queries JianChen · JinHuang · BinJiang · JianPei · JianYin Received:28November2010/Revised:3December2011/Accepted:6March2012 ©Springer-VerlagLondonLimited2012 Abstract Westudyapracticalandnovelproblemofmakingrecommendationsbetween twopartiessuchasapplicantsandjobpositions.Wemodelthecompetentchoicesofeach partyusingskylines.Inordertomakerecommendationsinvariousscenarios,weproposea seriesofskylineviewqueries.Tomakerecommendations,weoftenneedtoanswerskyline view queries for many entries in one or two parties in batch, such as for many applicants versusmanyjobs.However,theexistingskylinecomputationalgorithmsfocusonanswering asingleskylinequeryatatimeanddonotconsidersharingcomputationwhenanswering skyline view queries for many members in one party or both parties. To tackle the batch recommendationproblem,wedevelopseveralefficientalgorithmstoprocessskylineview queriesinbatch.Theexperimentresultsdemonstratethatouralgorithmssignificantlyout- performthestate-of-the-artmethods. Keywords Mutualrecommendation·Skylinequery·Multi-objectiveoptimization· Stablematching J.Chen SouthChinaUniversityofTechnology,Guangzhou,China B J.Huang( ) SouthChinaNormalUniversity,Guangzhou510631,China e-mail:[email protected] B.Jiang FacebookInc.,MenloPark,CA,USA J.Pei SimonFraserUniversity,Burnaby,Canada J.Yin SunYat-senUniversity,Guangzhou,China 123 J.Chenetal. 1 Introduction Ithasbeenwellrecognizedthatskylinequeriesareimportantinmanymulti-criteriadecision- makingapplications.Forexample,considerascenariowhereanemployerscreensapplicants forajobposition.Supposeeachapplicanthastwoattributes:theexperiencelevelandthe qualificationlevel,thehigherthebetter.Anapplicantadominatesanotherapplicantb,that is,aisabetterapplicantthanbinthecontextofthisexample,ifaisbetterthanbinatleast oneaspectandisnotworsethanbintheotheraspect.Amongasetofgivenapplicants,the ones not dominated by any others in the set form the skyline. In other words, the skyline applicantsareallpossibletrade-offsbetweenexperienceandqualificationthataresuperior tootherapplicants. Therearemanystudiesonefficientskylinecomputation,aswillbebrieflyreviewedin Sect.3.Existingstudiesfocusoncomputingtheskyline(s)foragivendatasetineitherthe full space or subspaces. In real applications when selections involve more than one party, skylineanalysiscanbemuchmorecomplicated,whichmotivatesourstudy. Consider a headhunter making recommendations between job applicants and job posi- tions.GivenasetofapplicantsinTable1andasetofpositionsinTable2,supposethehigher theexperiencelevelandqualificationlevel,thebetteranapplicant,andthehigherthesalary levelandthebenefitlevel,themoreattractiveajob.InTable1,eachapplicantindicatesthe jobs interesting to her/him. Symmetrically, each job has some requirement on applicants. InTable2,eachjobhasalist ofapplicantswho satisfy therequirement ofthejob.Those applicantsarequalifiedforthejob. Anaturalquestionfromanapplicantistofindtheskylinejobsthattheapplicantisqualified. Wecallthisthereciprocalskylineoftheapplicant,whichrepresentsthebestchoicesforthe applicant.Forexample,AdainTable1isqualifiedforjobsJ1,J2,andJ3.J2dominatesJ3, sinceJ2isbetterthanJ3inbothsalaryandbenefit.Thus,Ada’sreciprocalskylineconsists ofJ1andJ2,thoughAdaisnotcurrentlyinterestedinJ1.ThisinformationmayhelpAda to adjust her interest. Symmetrically, we can also provide a job the reciprocal skyline of applicantsthatcontainsthebestapplicantswhoareinterestedinthejob. Anapplicantmayalsowanttoknowwhichjobsregardtheapplicantaskylineapplicant. We can model such an information need by an inverse skyline query. For example, Cathy inTable1isinterestedinandalsoqualifiedforjobsJ1,J2,andJ3.Unfortunately,Cathy’s inverseskylineisemptysinceCathyisnotintheskylineofanyjobs.Knowingherinverse skyline,Cathymayadjustherexpectationandjobhuntingstrategyproperly,sinceshemay Table1 Asetofapplicants Applicant Experience Qualification Interest Ada 4 3 J2,J3 Bob 2 4 J1,J3 Cathy 3 1 J1,J2,J3 Dan 1 2 J2,J3 Table2 Asetofjobpositions Job Salary Benefit Interest J1 80K 1 Ada,Bob,Cathy J2 50K 3 Ada,Cathy,Dan J3 40K 2 Ada,Bob,Cathy,Dan 123 Recommendationsfortwo-wayselections not be the first choice of any jobs. Symmetrically, we can also provide a job the inverse skylineofapplicantsthatcontainstheapplicantswhoviewthejobaskylineone. Bothreciprocalskylinequeriesandinverseskylinequeriesaretheexamplesofaseriesof skylineviewqueriestobediscussedinthispaper.Asillustrated,variousskylineviewque- riesmaybeaskedinthecourseofrecommendationsfortwo-wayselections.Althoughthose queriescanbeansweredforoneapplicantoronejobindividuallybyadaptingsomeexisting skylinecomputationalgorithms,aheadhunteroftenhastoanswersuchqueriesinbatchforall oralargenumberofapplicantsand/orjobs.Forexample,onlinejobsearchengines,suchas mon\discretionary-ster.com,havemillionsofjobpostsandregisteredapplicants.Evenmore, thousandsofnewjobpostsandapplicantsareaddedeveryday.Thesearchengineshaveto makerecommendationsfornewjobsandapplicantsaswellasupdatetherecommendations forexistingjobsandapplicants.Suchsystemsneedtoprocessmillionsofskylineviewque- ries periodically. The existing skyline computation algorithms only consider computing a singleskylineatatimeandthusarenotoptimizedforansweringmultiplequeriesinbatch. Canweanswerabatchofskylineviewqueriesinamoreefficientandmorescalablewaythan processingthemonebyone?Itisfarfromtrivialtodevelopefficientcomputationsharing strategieswhencomputingmanyskylinesatthesametime. The scenario of matching applicants and jobs is just one example of recommendations between two parties towards two-way selections. Recommendations between two parties fortwo-wayselectionsareneededinmanyapplications.Onlinedatingservicesrecommend appropriate dates for men and women, who may specify requirements on various factors suchasage,location,andincome.Onlineadvertisementserviceapplications,suchasGoogle AdSense,makemutualrecommendationsbetweenwebpagesandadvertisers.Skylineview queriesarehighlyusefulinrecommendationsbetweentwopartiesfortwo-wayselections. However, to the best of our knowledge, skyline queries for recommendations in two-way selectionhavenotbeenstudiedsystematically. In this paper, we identify a series of skyline view queries useful for recommendations betweentwopartiesanddevelopseveralnovelalgorithmstoanswertheskylineviewqueries inbatchefficiently.Anexperimentalstudyindicatesthatourbatchalgorithmssignificantly outperformansweringqueriesindividuallyusingtheexistingmethods. Therestofthepaperisorganizedasfollows.InSect.2,weformulate8typesofskyline viewqueries.WereviewtherelatedworkinSect.3.Section4developsefficientalgorithms foransweringthe8typesofskylineviewqueries.Wereportanextensiveempiricalstudyin Sect.5.Section6concludesthepaper. 2 Skylineviewqueries Inthissection,wefirstrecallthepreliminariesofskylines.Then,weformallydefine8skyline viewqueries. 2.1 Preliminaries Consider a set of points S in a multidimensional space D = (D ,...,D ). To keep our 1 d discussionsimple,weassumethatthedomainofeachattribute D (1 ≤ i ≤ d)isnumeric. i Ourdiscussioncanbegeneralizedtoattributesofothertypeswherepartialordersaredefined. Considertwopointsx,y ∈ S.xissaidtodominatey,denotedbyx (cid:4) y,ifforeveryattri- buteD , x.D ≥ y.D ,andthereexistsoneattributeD (1≤ j ≤d)suchthatx.D > y.D . i i i j j j 123 J.Chenetal. Table3 Asummaryof Notion Meaning frequentlyusednotions V(A) TheviewofA,{J ∈J|A.P(J)=true} IV(A) TheinverseviewofA,{J ∈J|J.P(A)=true} SV(A) TheskylineviewofA, Sky(V(A)) iSky(A) TheinverseskylineofA,{J|A∈SV(J)} rSky(A) ThereciprocalskylineofA, Sky(IV(A)) MV(A) ThemutualviewofA,{J|J ∈V(A)∧A∈V(J)} SMV(A) TheskylinemutualviewofA, Sky(MV(A)) SIS(A) TheskylineofinverseskylineofA, Sky(iSky(A)) Apointx ∈ SisaskylinepointinSiftheredoesnotexistanotherpointx(cid:7) ∈ Ssuchthat x(cid:7) (cid:4)x.TheskylineofS,denotedbySky(S),isthesetofskylinepointsinS. ApredicatePdefinedinspaceDspecifiesaregionineitherDorasubspaceofD.Apoint x issaidtosatisfy P,denotedby P(x) = true,ifx fallsintheregionspecifiedby P.We alsooverloadsymbol P todenotetheregionspecifiedbythepredicateofthesamename. Inthispaper,wefocusonsimplepredicateswhoseregionsarerectangles.Tobeconcrete,a predicatespecifiesthemaximumand/orminimumvaluesonsomeattributes.Forexample, anapplicantmayspecifythepredicateofhisjobinterestsasSalary>50K,andajobposition mayspecifythepredicateoftheapplicantrequirementsasExperience>3andQualification ∈[2,3]. 2.2 Skylineviewqueries Inthispaper,westudyskylineviewqueriesinvolvingtwoparties.Tomakeourdiscussion easytofollow,weuse“applicants”and“jobs”asthealiasesofthetwopartiesinthequestion. Ifoneprefersbeingformal,wecanalwaysreplace“applicants”and“jobs”by“Party1”and “Party2,”respectively,inthemathematicalstatements. GivenanapplicantdatasetAandajobdatasetJ,westudytheproblemofrecommen- dationsbetweenthetwodatasets. Inpractice,itmaynotbeeasytoobtaintheexplicitandcompleteinterestofanapplicant orajob.Instead,anapplicantmayspecifytheminimumand/ormaximumrequirementson attributessuchassalaryandbenefit.Hence,wemodeltheinterestofanapplicant A ∈ A asapredicate A.P inthespaceofthejobdatasetJ.Symmetrically,thequalificationofa job J ∈ J isalsomodeledasapredicate J.P inthespaceoftheapplicantsA.Applicant A isinterestedinjob J if J satisfiesthepredicateof A,thatis, A.P(J) = true.Job J is interestedinapplicant A,thatis,theapplicantqualifiesjob J,if Asatisfiesthepredicateof J,thatis, J.P(A)=true. Intherestofthissection,weonlydefinetheskylineviewqueriesforapplicants.Their counterpartsforjobscanbeobtainedsymmetrically.Table3summariesthe8typesofskyline viewqueries.Tohelpunderstandthequeries,Table4showstheresultsofthesequerieson thedatasetsinTables1and2. Definition1 (View)Theviewofanapplicant A∈AconsistsofalljobsinJ satisfyingthe predicateof A,thatis,V(A)={J ∈J|A.P(J)=true}. Symmetrically, we define the view of a job J with predicate J.P as V(J) = {A ∈ A|J.P(A)=true}. 123 Recommendationsfortwo-wayselections Forexample,inTable1,Ada’sviewincludesJ2andJ3. Itisalsoimportantforanapplicanttoknowthejobsthatshe/heisqualified.Thiscanbe modeledbytheinverseviewoftheapplicant. Definition2 (Inverseview)Theinverseviewofanapplicant AisthesetofjobsinJ that areinterestedin A.Thatis, IV(A)={J ∈J|J.P(A)=true}. Ifajob J isintheinverseviewofapplicant Athen Aisintheviewof J,andviceversa. Therefore, IV(A) = {J ∈ J|A ∈ V(J)}. Similarly, the inverse view of a job J ∈ J is IV(J)={A∈A|A.P(J)=true}={A∈A|J ∈V(A)}. Foranapplicant A, V(A)includesalljobsthatsatisfy A’spredicate.Amongthesejobs, theonesintheskylineofV(A)aremoreattractiveto Asincetheyarenotdominatedbyany otherjobsinV(A). Definition3 (Skylineview)Foranapplicant A ∈ A,the skylineview of A istheskyline of the jobs that A is interested in, that is, the skyline of A’s view denoted by SV(A) = Sky(V(A)). Symmetrically,theskylineviewofajob J ∈AisSV(J)= Sky(V(J)). AnapplicantAmayliketoknowthejobsJwhoseskylineviewSV(J)containsA.Those jobsaretheones Ahasgoodpromise. Definition4 (Inverseskyline)Foranapplicant A∈A,theinverseskylineof Aisthesetof jobswhoseskylineviewscontain A,denotedbyiSky(A)={J|A∈ SV(J)}. Jobsintheinverseview IV(A)of Ashouldberecommendedto A,since Aisqualified thosejobs.Moreover,AshouldpaymoreattentiontothejobsintheskylineofIV(A)because theyarethebestjobs Acanget.Wemodelthissetofjobsasthereciprocalskylineof A. Definition5 (Reciprocalskyline)Foranapplicant A ∈ A,thereciprocalskyline of A is theskylineofthesetofjobsthat Aisqualified,denotedbyrSky(A)= Sky({IV(A)}). An important task for headhunters is to match applicants and jobs. When an applicant andajobsatisfytherequirementofeachother,theyhavemutualinteresttoeachother.For an applicant, the set of jobs which the applicant is interested in and is qualified form the applicant’smutualview. Definition6 (Mutualview)Foranapplicant A ∈ A,themutualview of A is MV(A) = {J|J ∈V(A)∧ A∈V(J)}. Furthermore,Adamaybeinterestedintheskylineinhermutualview,capturedbyher skylinemutualview,whichconsistsofthebestjobswhichsheisqualifiedandinterestedin. Definition7 (Skylinemutualview)Foranapplicant A ∈A,theskylinemutualviewof A isSMV(A)= Sky(MV(A)). Theinverseskylineofanapplicantcaresaboutthedominancerelationshipsamongappli- cants.Foreachjobinanapplicant’sinverseskyline,heisagoodcandidate(i.e.,doesnot dominatedbyanyotherapplicant).However,thejobsinhisinverseskylinemaybedominated byotherjobs,andthisdominancerelationshiphasnotbeenexploreedininverseskylines. Therefore, we consider the skyline of an applicant’s inverse skyline and call it theskyline ofinverseskyline.Theskylineofinverseskylineconsistsofthebestjobsthatconsiderthe applicant as one of their best candidates. It takes into account the preferences of both the applicantsandthejobs. 123 J.Chenetal. Definition8 (Skyline of inverse skyline) For an applicant A ∈ A, the skyline of inverse skylineof AisSIS(A)= Sky(iSky(A)). Itiseasytoseethataviewqueryisamultidimensionalrangequerywherethepredicate specifiesthesearchregion.Aninverseviewqueryisastabbingquery.Theinverseviewof anapplicantconsistsofalljobswhosepredicateregionscontaintheapplicantinthespace ofapplicants.Theother6typesofqueriesareessentiallyskylinequeriesonasubsetofthe originaldataset. Straightforwardly,wecanemployeeanexistingrangequeryalgorithm,astabbingquery algorithmandaskylinealgorithmtoanswerthosequeries.Intwo-wayselectionrecommen- dationsystems,recommendationsmaybemadetomanyorallmembersofoneorbothparties inbatch.Forexample,aheadhuntermaywanttomakerecommendationstoallapplicants andjobs.Apparently,whenansweringaqueryforallindividuals,muchcomputationmaybe redundant.Forexample,somejobsarecomparedagainandagainwhencomputingskyline viewsofdifferentapplicants.Therefore,inSect.4,wedevelopalgorithmstoanswereach typeofqueriesforallapplicants/jobsinbatchmodeinordertoshareasmuchcomputation aspossible. 2.3 Properties Followingwiththedefinitionsoftheskylineviewqueries,wehaveseveralinterestingprop- ertiesaboutthequeries. Property1 Forany A ∈ A, SV(A) ⊆ V(A), iSky(A) ⊆ IV(A), SMV(A) ⊆ MV(A), andSIS(A)⊆iSky(A). Property2 Forany A∈A, MV(A)=V(A)∩IV(A). We observe that every job in the inverse skyline view of A is also in the inverse view of A. Property3 Foranyapplicant A∈A, iSky(A)⊆ IV(A). Proof1 According to Definition 4, for any job J ∈ iSky(A), A ∈ Sky(V(J)). Thus, A∈V(J).Thatis, J ∈ IV(A).Therefore,iSky(A)⊆ IV(A). (cid:10)(cid:11) Figures1and2showthederivativerelationshipsandthecontainmentrelationshipsamong the8typesofskylineviewqueriesaccordingtotheaboveproperties.Itiseasytoverifythat theabovepropertiesholdfortheexampleshowninTable4. 3 Relatedwork Ourstudyishighlyrelatedtotheexistingworkonskylinecomputationandthestablematch- ingproblem. 3.1 Skylinecomputationonsingledataset Since Börzsönyi et al. [1] introduced the skyline operator into the database community, therehasbeenagreatamountofresearchdedicatedtoskylinequeryprocessingaswellas extensionsandapplicationsofskylineinpreference-baseddataanalysis. 123 Recommendationsfortwo-wayselections Fig.1 Thederivativerelationshipsofthe8typesofskylineviewqueries Fig.2 Thecontainment relationshipsamongthe8types ofskylineviewqueries rSky iSky Table4 Theresultsofthe8skylineviewqueriesondatasetsinTable1and2 Queryonapplicants Ada Bob Cathy Dan V J2,J3 J1,J3 J1,J2,J3 J2,J3 IV J1,J2,J3 J1,J3 J1,J2,J3 J2,J3 SV J2 J1,J3 J1,J2 J2 iSky J1,J2,J3 J1,J3 ∅ ∅ MV J2,J3 J1,J3 J1,J2,J3 J2,J3 SMV J2 J1,J3 J1,J2 J2 rSky J1,J2 J1,J3 J1,J2 J2 SIS J1,J2 J1,J3 ∅ ∅ Queryonjobs J1 J2 J3 V Ada,Bob,Cathy Ada,Cathy,Dan Ada,Bob,Cathy,Dan IV Bob,Cathy Ada,Cathy,Dan Ada,Bob,Cathy,Dan SV Ada,Bob Ada Ada,Bob iSky Bob,Cathy Ada,Cathy,Dan Bob MV Bob,Cathy Ada,Cathy,Dan Ada,Bob,Cathy,Dan SMV Bob,Cathy Ada Ada,Bob rSky Bob,Cathy Ada Ada,Bob SIS Bob,Cathy Ada Bob 123 J.Chenetal. Thealgorithmsofskylinecomputationfallintotwocategories:thenon-indexedalgorithms and the index-based algorithms. The non-indexed algorithms do not assume any index on thedata.SuchalgorithmsincludetheDivideandConqueralgorithmandtheBlockNested LoopsalgorithmbyBörzsönyietal.[1],theSortFilterSkylinealgorithmbyChomickiet al.[2],andtheLinearEliminationSortforSkylinealgorithmbyGodfreyetal.[3]. Differentfromthenon-indexedalgorithmswhichhavetoscanthewholedatasetatleast once,index-basedalgorithmstakeadvantageofvariouspre-builtindexesondatasets,sothat theyonlyaccessaportionofadatasettocomputetheskyline.TheBitmapalgorithmandthe IndexalgorithmbyTanetal.[4],theNearestNeighboralgorithmbyKossmannetal.[5], andtheBranchandBoundSkylinealgorithmbyPapadiasetal.[6,7]belongtothiscategory. Particularly,R-trees[8]havebeenusedextensivelyinindex-basedalgorithms[9].When computingtheskylineofasetofobjects,theR-treeindexprovidesapossibilitytofilterout asubsetofobjectswithoutexaminingthemonebyone.Becausethemaximumcornerofthe MBBofanodeintheR-treedominatesallobjectscontainedintheMBB,ifthemaximum cornerisdominatedbysomeotherobject,thennoneoftheobjectscontainedintheMBB canbeintheskyline. TheBranchandBoundSkylinealgorithm(BBSforshort)[6,7]isanR-treebasedskyline algorithm and is one of the fastest algorithms for computing skyline in practice. Given a setofpointsindexedbyanR-tree,BBStraversestheR-treetocomputetheskyline.BBS maintainsamin-heap H builtagainsttheminimumdistancetotheoriginofthedataspace mindist ofeveryentry(node).Thealgorithmproceedsiteratively. Atthebeginning,entriesattherootareinsertedintoH.Ineachiteration,thetopelemente ofHisprocessed.Ifeisfullydominated(i.e.,theminimumcornerofe.MBBisdominated) byaknownskylinepoint,theneisdiscarded.Otherwise,ifeisadatapoint,thenitisoutput asaskylinepoint;ifnot,eisdiscardedandthoseentriesate(thatis,thechildrenofe)which are not fully dominated by any known skyline point are inserted into H. An in-memory R-treeonknownskylinepointsismaintainedinordertofacilitateexaminingthedominance relationship.Thealgorithmterminateswhen H isempty. BBSensuresthateachoutputpointisintheskyline.Moreover,BBSisI/Ooptimal. Inthispaper,weassumethateverydatasetisindexedbyanR-tree[8]anduseBBSas thebaselineinourexperiments. Recently,thereismuchresearchstudyingskylinesinmultidimensionalsubspaces.Peiet al.[10,11]andYuanetal.[12]proposedaskylinecubedatastructurethatcompletelypre- computestheskylinesofallpossiblesubspacesforagivendataset.Xiaetal.[13]addressed theincrementalmaintenanceofskylinecubes.Taoetal.[14]developedtheSUBSKYalgo- rithmtoanswersubspaceskylinequeriesefficientlyinanysubspaces.Totackletheproblem ofskylinesinhighdimensionalspaces,Chanetal.[15]relaxedthedefinitionofdominance tok-dominanceandproposedk-dominantskylines. Therearealsonumerousstudiesonskylinecomputationindifferentenvironments,suchas skylinequeryprocessingoverdatastreams[16–20]andtimeseries[21],computingskylines in distributed systems [22,23] and on mobile lightweight devices such as MANETs [24], spatialskylinequeries[25],skylinecomputationinpartiallyordereddomains[26],skyline queriesinmetricspace[27],skylinecomputationonuncertaindata[28,29],usingskylines tomineuserpreferencesandmakerecommendations[30,31]. Tothebestofourknowledge,wearethefirsttostudyusingskylinequeriesforrecommen- dationintwo-wayselections.Althoughtheproposedskylineviewqueriescanbeanswered byexistingmethodsindividually,thosemethodsonlyconsideransweringasinglequeryata time.Itisfarfromtrivialtodevelopefficientalgorithmsforansweringskylineviewqueries inbatch. 123 Recommendationsfortwo-wayselections 3.2 Skylinecomputationinvolvingtwodatasets Mostofthepreviousworkonlyconsiderscomputingskylines(ortheirvariants)onasin- gle data set, whereas our skyline view queries deal with two distinct data sets. Recently, Dellis et al. [32] studied the concept of reverse skyline and bichromatic reverse skyline. Theyconsiderasetofproductsdescribedbymultiplefeaturesandasetofcustomers,each of whom specifies his/her favorite product features as a data point in the product space. Given a product q, the reverse skyline consists of the customers whose dynamic skyline containsq.Thedynamicskylineofacustomerpreference p correspondstoatransformed dataspacewhere p becomestheoriginandallotherproductsarerepresentedbytheirdis- tance vectors to p. Lian et al. [29] studied the bichromatic probabilistic reverse skyline queries over uncertain data. Wu et al. [33] proposed several heuristics to enhancing the performance. Ourskylineviewqueriesarefundamentallydifferenttobichromaticskylinesandreverse skylines. Fromtheapplicationpointofview,bichromaticskylinesandreverseskylinescareabout only the preference on one party. Customers have interests and preferences in products, but products cannot choose customers. However, our skyline views queries consider two- way mutual selections between two parties and both parties have preferences in each other. Giventhisfundamentaldifference,ourproblemsaremodeleddifferentlytobichromatic skylinesandreverseskylines.Bichromaticandreverseskylinescomputetheskylineofthe datasetofonepartyinatransformedspaceaccordingtothequerypoint,andtheyconsider allpointsincomputation.Ontheotherhand,ourskylineviewqueriesessentiallycompute theskylineofasubsetofonepartyofthedatasetaccordingtotheconstraintsspecifiedby thequery,andwedonotusespacetransformation. Asaresult,thequeryansweringtechniquesarequitedifferent.Thealgorithmsforbichro- maticandreverseskylinesfocusonreducingtheoverheadofdataspacetransformationin ordertoansweronequery.However,ouralgorithmsaimatminimizingrepetitivecomputation whenansweringmultiplequeriesinbatch. Nevertheless,wepointedoutthattheinverseskylines,andthereverseskylinesareequiv- alenttoeachotherforspecialinputdataasfollows. – Forinverseskylines,foreachapplicant,choosehis/herpredicatesuchthatalljobsinthe jobdatasetsatisfythispredicate. – Forreverseskylines,foreachcustomer,choosehis/herpreferencetobetheoriginpointin theproductspacesuchthatnospacetransformationisneededtoanswerareverseskyline query. Intheabovetwospecialcases,theinverseskylineofajobisthesameasthereverseskyline ofaproduct.Infact,theinverseskylineandthereverseskylineofajob/productareequalto thesetofapplicants/customers,ifthisjob/productisintheskylineofthesetofjobs/products. Otherwise,theinverseskylineandthereverseskylineofthisjob/productareanemptyset. Inourexperiments,weexperimentallycompareouralgorithmsforinverseskylinesandthe state-of-the-artalgorithmsforreverseskylines[33]. 3.3 Thestablematchingproblem Making recommendations between two parties is related to the classical stable matching problem[34](alsoknownasthestablemarriageproblem).Anapplicantandajobcanbe 123 J.Chenetal. matched only if they satisfy the requirements from each other. In a matching between all (cid:7) applicantsandalljobs,assumeapplicant Aispairedwithjob J,andapplicant A ispaired (cid:7) (cid:7) (cid:7) withjob J .If Aand J satisfytherequirementsfromeachother,and Aprefers J to J and (cid:7) (cid:7) (cid:7) J prefers Ato A,thenthepair Aand J iscalledadissatisfiedpair.Amatchingissaidto bestableifthereisnodissatisfiedpair. Intheoriginalversionofthestablemarriageproblem[34],theapplicantsetandthejob sethavethesamecardinality(denotedbyn).Thepreferenceofeachapplicantonjobsisa completerankedlist(i.e.,includingalljobsinthejobset)withouttie.Thepreferenceofeach jobonapplicantsisalsosucharankedlist.GaleandShapley[34]showedthattherealways existsastablematchinganditcanbefoundinO(n2)time. Numerousvariantsofthestablemarriageproblemarestudied,suchasthecollegeadmis- sionproblemwhereacollegecanacceptmorethanonestudent[34],theroommateassign- mentproblemwheretwopartiesarefromthesameset[35],thestablematchingproblemwith incompletepreferencelistsand/orwithties[36–38],etc.Ingeneral,thepreferencecanbea partialorder.Inthiscase,theproblemisprovedNP-hardandhardtobeapproximated[38]. Inthispaper,thedominancerelationshipisemployedtomodelthepreference,whichinfact definesapartialorder. Althoughthestablemarriageproblemandourproblemsharesimilarmotivations,they are very different in terms of the goal and the computational issues. The stable marriage focuses on the global picture and tries to find an assignment such that every one in both parties is satisfied. Each individual does not have the ability to choose after the assign- ment is made. However, instead of giving the matching pairs straightforwardly, our paper addressesaseriesofflexiblequeriesformutualdecision-makingparties.Ourproblemcares abouttherecommendationsforindividuals.Weprovidetheresultsofskylineviewqueriesas recommendationswhicharegoodcandidatesbasedoneachindividual’sinterest.Individuals canthenmakedecisionsandchoicesfromourskylineviewquerieswithoutprocessingthe originallargedataset. 4 Queryansweringalgorithms In this section, we develop algorithms to answer the 8 skyline view queries in batch. In particular,wedesignefficientalgorithmsforreciprocalskylinequeriesandinverseskyline queriesinSects.4.2and4.3,respectively.Otherqueriescanbereducedtothesetwoqueries asdiscussedinSect.4.1.Weassumethatboththeapplicantdatasetandthejobdatasetare indexedbyR-trees.Weonlydescribethealgorithmsforqueriesonapplicantssincethesame algorithmscanbeappliedtoanswerqueriesforjobssymmetrically. 4.1 Queryreduction Accordingtothedefinitionofviewqueriesandthatofinverseviewqueries,withlineartime complexity, we can derive the inverse views of all applicants from the views of all jobs. Thus, an inverse view query can be answered efficiently using the view query answering algorithm.Thispropertyalsoholdsbetweenskylineviewqueriesandinverseskylineview queries.Besides,amutualviewcanbeobtainedbyintersectingthecorrespondingviewand thecorrespondinginverseview. Example1 (Query Reduction) Consider the example in Table 4. By scanning the view of jobsJ1whichis{Ada,Bob,Cathy},wecanassignJ1totheinverseviewsofAda,Bob,and Cathy.Similarly,weassignJ2totheinverseviewsofAda,Cathy,andDan,andJ3tothe 123
Description: