• No results found

Efficient Top-k Searching According to User Preferences Based on Fuzzy Functions with Usage of Tree-Oriented Data Structures

N/A
N/A
Protected

Academic year: 2021

Share "Efficient Top-k Searching According to User Preferences Based on Fuzzy Functions with Usage of Tree-Oriented Data Structures"

Copied!
6
0
0

Loading.... (view fulltext now)

Full text

(1)

Efficient Top-k Searching

According to User Preferences Based on Fuzzy Functions with Usage of Tree-Oriented Data Structures

Mat ´uˇs Ondreiˇcka

Supervised by Prof. Jaroslav Pokorn´y

Department of Software Engineering, Faculty of Mathematics and Physics Charles University in Prague, Czech Republic

[email protected] ABSTRACT

In the last few years, research of top-k processing is in progress in various domains. The aim of our research is efficient top-k searching of the best k objects with more at- tributes according to more complex user preferences. We focus on a multi-user solution, where data is common for all users. We use a model of user preferences based on fuzzy functions, where each user can express his/her preferences for each attribute by a fuzzy function and mutual relations between the attributes by an aggregation function. In our research we focus on top-k searching in tree-oriented data structures and we developed various top-k algorithms, which support the model of user preferences and solve top-k prob- lem efficiently, i.e. without searching all of objects stored in the tree-oriented data structure. In future research, we want to study various models of user preferences and the usage of relevance feedback in repeated user queries. Fur- thermore, we assume that attributes of an object type can be distributed in various information resources, e.g. data streams, web services, remote RDBMS, and so on. There- fore, integration of data from various resources will be one of the topics of our future research. At the same time, we are developing the TREETOPK software system, which in- cludes our new-developed technologies and experiments with real data from various information resources.

1. INTRODUCTION

In today’s world, users of different systems are trying to find various objects, such as laptops, jobs, holidays, etc. In most cases, these objects are of the same type and have sev- eral attributes. Each object has different attribute values.

According to the values of these attributes, users are search- ing for objects that best suit their preferences [6][8][16].

Each user prefers different attribute values. In general, the user is only looking for a few objects that are the best

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. This article was presented at:

VLDB 2011 PhD Workshop, September 1, 2011, Seattle, USA.

Copyright 2011.

according to his/her preferences. Sometimes the user is look- ing for only one best object, for example, he/she is looking for a new job.

Nowadays, in many search engines a user can only re- strict the values of some attributes. The result of searching of these search engines can be empty-set or a too-large-set of objects. The motivation for searching according to user preferences is to find a few best k objects for the user.

In this work, we use a model of user preferences based on fuzzy functions, where preference of user is a measure of suitability of object for the user. When a user chooses his/her preferences, which determine suitability of an object in dependence on its values of attributes, then it is possible determine the best k objects for him/her.

We focus on multi-user solution, where data is common for all users and each user can express his/her preferences for each attribute by fuzzy function and mutual relations between the attributes by an aggregation function [6][8][21].

In this work, we focus on searching best k objects with more attributes according to the user preferences. The prob- lem of searching the best k object according to values of different attributes simultaneously is indicated as a top-k problem [3][7].

A trivial solution of the top-k problem is an exhaustive searching, which requires to load all relevant objects to- gether with the values of their attributes from the informa- tion resources, to evaluate every object’s rating according to a rating function, and finally to select k objects with the highest rating.

The exhaustive searching is not efficient solution of top-k problem, because all the objects with attribute values have to be obtained from the information resources. It is a prob- lem especially for a large sets of objects.

It was needed to choose a suitable data structure for stor- ing the set of objects, which supports the model of user preferences based on fuzzy functions and where it is possi- ble to solve top-k problem efficiently. Therefore we focused on a using tree-oriented data structure, which allows to dy- namise the environment while solving a top-k problem. The structure can be independent on user’s preferences, i.e., they can be common for all users.

In our research, we developed some new top-k algorithms, i.e. MD-algorithm [16] and MXT-algorithm [18], which can effectively find the best k objects according to the user pref- erences in the tree-oriented data structure.

(2)

Furthermore, we assume that attributes of an object type can be distributed in various information resources. There- fore, integration of data is one of the topics of our research.

Section 2 provides a outline of the related work. A back- ground concerning modelling user preferences is contained in Section 3. Section 4 is devoted to explaining of our research results in top-k searching, new-developed tree-oriented data structures and top-k algorithms. Moreover, Section 4 shows some results of our experiments and presents our new solu- tion in Web environment. Finally, Section 5 provides some suggestions and motivation of our future research.

2. RELATED WORK

Most of the research groups are focused on top-k process- ing techniques in relational databases [12]. In last few years, research of processing top-k queries is in progress in various domains such as XML [20][14], multimedia search [3], the Web [2], or distributed systems [15].

In our research, we focus on the family of Fagin’s algo- rithms [7], which has been widely studied for efficient com- puting of top-k queries. These algorithms can find efficiently the best k objects according to an aggregate function @ without loading all the objects.

Fagin’s algorithms assume that the set of objects with m attributes are stored in m lists, where i-th list contain pairs, which are composed of object and its value of i-th attribute. These lists are sorted in descending order accord- ing to attribute values. According to the way of accessing to the lists, two main algorithms TA (threshold algorithm) and NRA (no random access) are showed in [7]. NRA algo- rithm uses only sorted (sequential) access into the list and TA algorithm uses also random (direct) access.

Fagin’s algorithms assume that set of objects is stored in lists and the aggregate function @ is monotone. We say that an @ is monotone if @(p1, ..., pm) ≤ @(q1, ..., qm), whenever pi≤ qi, for every i = 1, ..., m.

However, the ranking functions are not necessarily mono- tone. In [22] and [23], authors presented top-k problem solvings using arbitrary ranking functions. These two ap- proaches use an analytic expression of a ranking function and tree-oriented data structures. OPT* algorithm [23] uses indexation of all attributes by B+-trees and in [22] authors use indexation by B+-trees.

In our research, we focus on searching best k objects with usage of the model of user preferences based on fuzzy func- tions. The initial source of our research is PhD thesis [9].

In this thesis author uses user preference model [8] based on simple fuzzy functions and brings many improvements of Fagin’s algorithms [7], which were published in [10][11].

We applied the model of user preferences in combina- tion with Fagin’s algorithms. It is possible, when we use a method for sorting objects according to a fuzzy function with using a B+-tree. This method was mentioned for the first time in [6] and used in our works, which solve top-k problem for more users in multidimensional B+-tree [16] or in more complex tree-oriented data structures [17][18].

There are not many applications, which solve the top-k problem in environment of various information resources.

Authors of [15] describe KLEE framework, which solves the efficient processing of top-k queries in wide-area distributed data repositories. The KLEE framework uses approximate algorithms and searches for the best k documents but only according to an aggregation function.

3. MODEL OF USER PREFERENCES BASED ON FUZZY FUNCTIONS

We suppose a set of objects X with m attributes A1, ..., Am. Every object x ∈ X has m values A1(x), ..., Am(x) of these attributes. Every user chooses his/her preferences, which determine suitability of an object x ∈ X in depen- dence on its m values of attributes.

3.1 Rating function

In this work, we use a rating function (ranking function), which assigns a rating for each object x ∈ X. More formally, we suppose a rating function R with m variables a1, ..., am

specified by scheme R(a1, ..., am) : [0, 1]m → [0, 1]. We de- note a rating of object x as a function R(x) = R(A1(x), ..., Am(x)) with one variable, where A1(x), ..., Am(x) are val- ues of attributes A1, ..., Am of the object x, respectively.

R(x) maps every object x ∈ X into interval [0, 1], where 0 means no preference and 1 means the highest preference.

According to object ratings it is possible to sort objects from X in descending order and determine the best k ob- jects. In this work, we suppose that if there are more objects with the same rating as the rating of the best k-th object, a random object is chosen.

3.2 Local preferences

Local preferences reflect how the object is preferred ac- cording to only one attribute. In this case, we express a local preference for i-th attribute Ai, as a fuzzy func- tion fi. Fuzzy function fi is understood as a mapping fi : dom(Ai) → [0, 1], which maps every value of actual attribute Aidomain into [0, 1] interval.

Local preferences of the user U for the attributes A1, ..., Am are represented by user fuzzy functions denoted as f1U(x), ..., fmU(x), respectively [6][18]. Then a user fuzzy function fiU(x) : Ai(x) → [0, 1], where i = 1, ..., m, maps ev- ery object x ∈ X according to the value of its i-th attribute Ai(x) into interval [0, 1] and it is possible to sort objects from X in descending order according to fiU(x).

Figure 1: An example of three user’s fuzzy functions and their ordering-based interpretation.

Figure 1 shows an example of three user’s fuzzy functions f1U(x), f2U(x), and f3U(x), and the ordering-based interpreta- tion of these fuzzy functions. So f1U(x) originates the order of objects x2, x3, x1, x4, for f2U(x) order of objects x3, x2, x4, x1, and for f3U(x) order of objects x3, x4, x2, x1.

3.3 Global preferences

Global preferences express mutual relations between the attributes A1, ..., Am. For this purpose, we consider an ag- gregation function, which we denote as @, with m variables p1, ..., pmspecified as @(p1, ..., pm) : [0, 1]m→ [0, 1].

The user U can express preference by setting his/her user aggregation function @U. For the user U with his/her fuzzy functions f1U, ..., fmU and aggregation function @U, a user

(3)

rating function RUoriginates by means of substitution pi= fiU in @U [6][16]. Then RU(x) = @U(f1U(x), ..., fmU(x)), for every x ∈ X. With RU(x) it is possible to evaluate a global rating of each object x ∈ X, to sort objects according to their global ratings and to determine the best k objects for user U according to his/her preferences.

In this work we restrict ourselves to using monotone ag- gregation functions together with the fuzzy functions. We can use, e.g., the average, maximum, minimum, etc., as the aggregation function.

For example, for expressing of user influence in the aggre- gation function, it is possible to use weighted average, where weights w1, ..., wmof single attributes A1, ..., Amdetermine how much the user prefers single attributes, i.e.

RU(x) = w1· f1U(x) + ... + wm· fmU(x) w1+ ... + wm

When the user does not care about i-th attribute Ai, then he/she can set wi = 0.

4. TREE-ORIENTED DATA STRUCTURES

The goal of our research is to investigate searching the best k objects according to user preferences. We use the model of user preferences based on fuzzy functions. The main goal was to design new top-k algorithms and new data models for efficient top-k problem solving.

We developed new tree-oriented data structures (MDB- tree and MDB-tree with lists) and new efficient top-k algo- rithms (MD-algorithm and MXT-algorithm), which are our biggest contribution in top-k searching.

At the beginning we focus on Fagin’s algorithms [7], which assume that set of objects is stored in sorted lists. In each of the lists are stored all the objects in descending order according to values of one attribute. These algorithms can find the best k objects according to an aggregate function @ without loading all the objects from the lists. It means that Fagin’s algorithms directly do not support local preferences.

Therefore, we used B+-trees for sorting objects according to a fuzzy functions [16][8][6]. For each attribute we have a B+-tree, where objects are indexed according their attribute values. From each B+-tree it is possible to obtain objects in descending order according to a fuzzy function. In this way we can apply local preferences in Fagin’s algorithms.

4.1 Usage of B

+

-tree for object sorting

In B+-tree (see, e.g., [4]) the keys are sorted in ascending order. Since the leaf nodes of the B+-tree are linked in two directions, it is possible to cross the B+-tree through the leaf level and to get all the keys. In this way, it is possible to obtain objects from B+-tree in descending order according to course of user fuzzy function fU [18][16].

When the function fU is monotone on its domain then the following holds. If fU is nondecreasing, we cross the leaf level of the B+-tree from the right to the left and get the objects in the descending order according to fU. If fU is nonincreasing, we cross the leaf level of the B+-tree con- trariwise, i.e. from the left to the right.

In general, the user fuzzy function fUmight not be mono- tone on its domain. In this case, the domain can be divided into n continuous disjunctive intervals w1, ..., wn, where fU is monotone on each of these intervals. This division into monotone intervals w1, ..., wn is determined by the local

Figure 2: An example of object obtaining from the B+-tree concurrently according to a fuzzy function.

maximums and local minimums of fuzzy function fU, which identify bounds of these intervals (see Figure 2).

Then the leaf level of B+-tree can be divided into corre- sponding parts according to these monotone intervals. It is possible to obtain objects in the descending order according to fU from each of these parts by crossing them in suitable direction. Moreover, objects can be obtained concurrently according to fU from all these corresponding parts of the leaf level of B+-tree [16][8][6].

For example, Figure 2 shows a fuzzy function fUand B+- tree. The domain of fU is divided into monotone intervals w1, ..., w5. Objects are obtained from the B+-tree concur- rently according to these intervals. Finally, we get objects xK, xM, xN, xG, xH, xF, xT, xS, xE, xC, xQ, xU, xR, xD, xY in descending order according to fU.

4.2 Application of the B

+

-tree

Fagin’s algorithms are able to find the best k objects only with regard to a monotone aggregation function and does not suppose using local preferences based on fuzzy func- tions. The main idea of this algorithm is obtaining objects by sorted access concurrently from sorted lists. It is possi- ble to use lists based on B+-trees. In each B+-tree all the objects are indexed by values of i-th attribute Ai.

This data structure is common for all users. A particular user U only specifies his local preferences with fuzzy func- tions f1U, ..., fmU and a global preference with function @U. Then the algorithm sequentially gets objects from each B+- tree according to user’s fuzzy function fiU(x) and finds the best k objects for user U . For each new user’s preferences or for preferences of the next user the algorithm is running again and finds other best k objects.

4.3 Application of the MDB-tree

Next we have studied intensively possibilities of usage a Fagin’s algorithms in tree-oriented data structures, in which is possible to index objects according to more attributes. We

(4)

Figure 3: MDB-tree with lists. Two nominal attributes are stored as MDB-tree and two ordinal attributes are stored as Fagin’s lists. Under dotted line, there is a part of the data structure, into which the MXT-algorithm does not access during its computation.

focused on multidimensional B-tree (MDB-tree) [19], which consists of the levels, which contain B+-trees.

It is not possible directly to apply Fagin’s algorithms in MDB-tree. Therefore we developed new algorithm MD- algorithm [16], which is based on ideas of Fagin’s algorithms.

MD-algorithm is based on the depth-first-search and is able to find top-k object in MDB-tree without searching whole the MDB-tree.

The use of B+-trees and MDB-tree allows to dynamise the environment while solving a top-k problem. Moreover, these tree structures are independent from user’s preferences, i.e.

they are common for all users.

4.4 Application of the MDB-tree with lists

Furthermore, we have tested the MD-algorithm. Our tests shown, that results depend on type of attributes. In general, we differentiate two possible attribute types, i.e., nominal attributes and ordinal attributes.

Therefore we developed MXT-algorithm [17][18], which is based on integration of MD-algorithm and Fagin’s TA al- gorithm. This new algorithm uses a new tree-oriented data structure MDB-tree with lists. In MDB-tree with lists are nominal attributes stored like in MDB-tree and ordinal at- tributes like in Fagin’s sorted lists. The MXT-algorithm can also find top-k objects without searching of all objects and according to the user preferences based on fuzzy functions.

An example of MDB-tree with lists is shown in Figure 5. In this data structure objects are indexed according four attributes. The values of two nominal attributes A1and A2

are stored as two levels of MDB-tree. The values of two ordinal attributes A3and A4 are stored as two Fagin’s lists.

4.5 Experiments

Our new top-k algorithms and data models were imple- mented and tested on real data. The implementation of Fagin’s algorithms with a usage of B+-trees, MD-algorithm and MXT-algorithm have been developed in Java with tree- oriented data structures created in memory. It was sufficient solution, because in memory it is possible to calculate eas- ily the numbers of accesses by a simple modifications of the algorithms.

To evaluate a complexity of these algorithms it is impor- tant to estimate the number of obtained objects and the number of accesses into their data structures.

For illustration, we show such one experiment. For exam- ple, we tested the set of 8 822 flats for rent in Prague (with two nominal and two ordinal attributes). We tested TA- algorithm (Fagin’s threshold algorithm), our MD-algorithm and our MXT-algorithm. Figure 4 shows results of the ex- periment.

Figure 4: A searching for the best flats in Prague.

The best result has been achieved with MXT-algorithm.

The test has shown that MXT-algorithm is most efficient solution of top-k problem in this case. For finding the best k ≤ 32 objects, MXT-algorithm and MD-algorithm needed to search less than 10% of all objects.

MXT-algorithm has been the most efficient solution of top-k problem in many cases. Especially, it is efficient for a set of objects, which have nominal attributes with small- sized domains and ordinal attributes with big-sized domains.

Moreover, MXT-algorithm can find the best k objects in each of these tree-oriented data structures. In this sense, TA-algorithm and MD-algorithm are extreme cases of the MXT-algorithm.

(5)

4.6 Top-k Searching with Data on Remote Servers

In our research, we also focused on searching the best k objects according to user preferences based on fuzzy func- tions in the Web environment. We developed a new solution, a system, which can efficiently find top-k objects for various users with data on remote servers.

Attributes of an object type are distributed on servers in a disjunctive way, i.e. values of one attribute are stored in only one remote server on the Internet. We deal with the usage of Fagin’s NRA (no random access) algorithm. Because of support of sorting objects according to a fuzzy function, an indexing method based on B+-tree is used in each remote server. Moreover, each server is stateless, i.e. independent from any previous request.

We use client/server architecture. The client application of the system is able to obtain objects with their attribute values from remote servers and find top-k objects for a user.

Client application uses Web services interface for communi- cation with remote servers. Client application is based on cache memory, which loads objects from remote servers in batches and thus reduces the amount of network communi- cation.

4.7 TREETOPK software system

Simultaneously, we are developing the TREETOPK soft- ware system that includes all our new-developed technolo- gies. For example, we developed a user interface, in which a user can choose him/her preferences and then with TREE- TOPK system find the best k objects (see Figure 5).

Figure 5: User interface of the TREETOPK system.

An example of searching the best 10 flats in Prague.

5. OUR FUTURE RESEARCH

There are a number of issues that need to be further in- vestigated. Some of these issues can provide suggestions, motivations, and directions of our future research.

5.1 Improvements of performance

Heuristics. The author of [9]describes some useful heuris- tics for Fagin’s algorithms. Similarly, a motivation for future research could be to develop some heuristics for our top-k

algorithms, which would improve their performance. For example, it is possible to monitor a distribution of the key values in nodes for a set of objects stored in MDB-tree, etc.

Improvement of data structures. According to type of ob- ject attributes, it is possible to store these objects in Fagin’s lists, in MDB-tree or MDB-tree with lists. The process of choosing the best data structure can be automated accord- ing to an analysis of attribute domains, e.g. the types and sizes of attribute domains.

Moreover, MXT-algorithm should be able to find the best k objects in each of these data structures. In this sense, Fa- gin’s algorithm and MD-algorithm are only extreme cases of the MXT-algorithm. It would be useful to develop one uni- versal tree-oriented data structure with a support of various methods for reorganization of stored data.

Parallel computing. The use of parallel computing tech- niques could improve our top-k solutions. For example, be- cause of MXT-algorithm construction, it could be interest- ing that some of instances of TA-algorithm would be com- puted concurrently. It could be also interesting to develop a version of MXT-algorithm with usage of parallel computing.

5.2 Different models of user preferences

In our research, we used a model of preferences based on local and global user preferences. In future work, we can use user preferences based on different models.

Attribute dependencies. When a dependency exists be- tween values of more attributes, a user has to set his/her one local preference for both attributes. In this case, we should evolve some modifications of our top-k algorithms or we should develop a new top-k algorithms, which would be based on absolutely different models of preferences.

Some two attributes can be incomparable, we do not know which one is better for a user. We can say that both are good because none of them dominates the other one in both attributes. In this case, for example, we can use the Skyline Operator [1].

Similarity measures. User preference can be to find k ob- jects most similar to an object. For example, similarities between objects can be often computed as aggregated simi- larities of their attribute values. A motivation for our future research can be also popular techniques based on threshold algorithms which solve top-k problem with arbitrary simi- larity measures [5].

User feedback. In future research, we can focus on feed- back with a user. It is possible in case of more top-k queries from one user. After running of first top-k query user re- ceives the best k objects. Then the user needs to tune his/her preferences and execute next top-k query. In this case it is possible to help to the user with tuning his/her preferences and reuse some data from previous top-k queries.

5.3 Different data models

Very large data sets. In future work, we want to find an application of our solutions in environments with very large data sets. Our tree-oriented data structures allow to dynamise the environment while solving a top-k problem.

In these data structures it possible to update stored data very quickly.

Data streams. A challenging research topic is a top-k searching in data streams. For example, data with the same time stamp from more sensors can compose an object or event. Then we can use the tree-oriented data structures

(6)

as a sliding window, in which we hold only the best objects according to a user preference.

Approximations and uncertain data. In our work, we sup- pose a set of objects with more attributes and all the values of attributes are known. In a real world of uncertain data, objects with unknown attribute values can exist. In this case, we can not determine the best k objects exactly. In our future research, we can focus on development of the ver- sion of our top-k algorithms with usage of approximation.

Naturally, our tree-oriented data structures will have to be necessarily modified in order to store an uncertain data.

Heterogeneous data. One of the problems of our research is caused by the set of objects of the same type that constitutes a limitation of the proposal. Data modelling in industry is often challenged by the complexity of heterogeneous data sets. In our future work, we could analyze this topic.

5.4 Web environment

Next direction of our research can include other exper- iment with top-k algorithms in Web environment of more information resources.

Some attribute values can be stored on more information resources. For example, in distributed systems we can find some of the best objects on two different servers by some of the top-k algorithms, and based on these results, to find k best objects by other top-k algorithm.

6. ACKNOWLEDGMENTS

This work was supported by the grant SVV-2011-263312 and the grant number 9209 of Grant Agency of Charles Uni- versity (GAUK) in Prague.

7. REFERENCES

[1] Borzsonyi S., Kossmann D., Stocker K.: The Skyline Operator. In: Proc. of the ICDE, Heidelberg, Germany, pp. 421-430, 2001.

[2] Bruno, N., L. Gravano, L., Marian, A.: Evaluating top-k queries over web-accessible databases. In: Proc.

of the ICDE, pp. 369 - 380, 2002.

[3] Chaudhuri, S., Gravano, L., Marian, M.: Optimizing Top-k Selection Queries over Multimedia Repositories.

IEEE Trans. On Knowledge and Data Engineering, Vol. 16, No. 8, pp. 992-1009, 2004.

[4] Comer, D.: The Ubiquitous B-Tree. ACM Computing Surveys, Vol. 2, No. 11, pp. 121-138, June 1979.

[5] Deshpande, P. M., P, D., Kummamuru, K. 2008.

Efficient online top-K retrieval with arbitrary similarity measures. In: Proc. of the 11th

international Conference on EDBT 2008, vol. 261.

ACM, New York, pp. 356-367, 2008.

[6] Eckhardt, A., Pokorn´y, J., Vojt´aˇs, P.: A system recommending top-k objects for multiple users preference. In: Proc. of the 16th IEEE International Conference on Fuzzy Systems, July 24 - 26, London, England, pp. 1101-1106, 2007.

[7] Fagin, R., Lotem, A., Naor, M.: Optimal aggregation algorithms for middleware. Journal of Computer and System Sciences 66, pp. 614-656, 2003.

[8] Gursk´y P., Vanekov´a V., Pribolov´a J.: Fuzzy User Preference Model for Top-k Search. In: Proc. of the IEEE World Congress on Computational Intelligence, Hong Kong, FS0377, 2008.

[9] Gursk´y, P.: Searching Top-k objects for many users.

PhD Thesis, Pavol Jozef ˇSaf´rik University in Koˇsice, Institute of computer science, Slovakia, 2008.

[10] Gursk´y P., Vojt´aˇs P.: Speeding Up the NRA Algorithm, In: Proc. of the SUM 2008, Scalable Uncertainty Management, Napoli , Italy, LNCS 5291, pp. 243-255, 2008.

[11] Gursk´y P., Vojt´aˇs P.: On top-k search with no random access using small memory. In: Proc. of ADBIS 2008, P. Atzeni, A. Caplinskas, and H.

Jaakkola (Eds.), LNCS 5207, pp. 97-111, 2008.

[12] Ilyas, I. F., Beskales, G., Soliman, M. A.: A survey of top-k query processing techniques in relational database systems. ACM Comput. Surv. 40, 4, pp.

1-58, 2008.

[13] Li C., Chang K. C., Ilyas I. F., Song S. RankSQL:

query algebra and optimization for relational top-k queries. In: Proc. of the ACM SIGMOD, pp. 131-142, 2005.

[14] Marian, A., Amer-Yahia, S., Koudas, N., Srivastava, D.: Adaptive Processing of Top-k Queries in XML. In:

Proc. of the 21st international Conference on Data Engineering, ICDE IEEE Computer Society, Washington, DC, pp. 162-173, 2005.

[15] Michel, S., Triantafillou, P., and Weikum, G.: KLEE:

a framework for distributed top-k query algorithms.

In: Proc. of the 31st international Conference on Very Large Data Bases, Trondheim, Norway, VLDB Endowment, pp. 637-648, 2005.

[16] Ondreiˇcka, M., Pokorn´y J.: Extending Fagin’s algorithm for more users based on multidimensional B-tree. In: Proc. of the ADBIS 2008, Pori, Finland, LNCS 5207, pp. 199-214, 2008.

[17] Ondreiˇcka, M., Pokorn´y J.: Combination of TA- and MD-algorithm for efficient solving of top-K problem according to user’s preferences. In: Proc. of the DATESO 2009, ˇSpindleruv Ml´yn, Czech Republic, 2009.

[18] Ondreiˇcka, M., Pokorn´y J.: Efficient Top-K Problem Solvings for More Users in Tree-Oriented Data Structures. In: Proc. of the IEEE SITIS 2009, Marrakech, Morocco, IEEE Computer Society, pp.

345-354, 2009.

[19] Scheuerman, P., Ouksel, M.: Multidimensional B-trees for associative searching in database systems.

Information systems, Vol. 34, No. 2, pp. 123-137, 1982.

[20] Theobald, M., Bast, H., Majumdar, D., Schenkel, R., Weikum, G.: TopX: efficient and versatile top-k query processing for semistructured data. The VLDB Journal, Vol. 17, No. 1, pp. 81-115, January 2008.

[21] Vojt´aˇs, P.: Fuzzy logic aggregation for semantic web search for the best (top-k) answer. Capturing Intelligence, Chapter 17 Volume 1, pp. 341-359, 2006.

[22] Xin, D., Han, J., and Chang, K. C.: Progressive and selective merge: computing top-k with ad-hoc ranking functions. In: Proc. of the 2007 ACM SIGMOD, Beijing, China, ACM, New York,, pp. 103-114, 2007.

[23] Zhang, Z., Hwang, S., Chang, K. C., Wang, M., Lang, C. A., and Chang, Y.: Boolean + ranking: querying a database by k-constrained optimization. In: Proc.

ACM SIGMOD 2006, Chicago, IL, USA, June 27 - 29, pp. 359-370, 2006.

References

Related documents