Popular ranking algorithms
1 / 11

Popular Ranking Algorithms - PowerPoint PPT Presentation

  • Uploaded on

Popular Ranking Algorithms. Prepared by -Ranjan Dash. Contents. Efficient ways of Ranking Algorithms for ranking Sort Algorithm Scan Algorithm FA Algorithm TA Algorithm. Efficient ways of Ranking.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Popular Ranking Algorithms' - yul

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Popular ranking algorithms

Popular Ranking Algorithms

Prepared by

-Ranjan Dash


  • Efficient ways of Ranking

  • Algorithms for ranking

  • Sort Algorithm

  • Scan Algorithm

  • FA Algorithm

  • TA Algorithm

Efficient ways of ranking
Efficient ways of Ranking

  • Besides choosing a proper ranking function, efficient way to execute also decides the performance.

  • So given a ranking function the execution of this following a particular ranking algorithm plays a key role in the efficiency.

Algorithms for ranking
Algorithms for ranking

  • Prominent Algorithms to get top K results are

  • Sort Algorithm

  • Scan Algorithm

  • FA Algorithm

  • TA Algorithm

Sort algorithm
Sort Algorithm

  • Most simple way to decide the top K results of a ranking function like

    Score (ObjectId) = Linear combinations of attributes

    is to sort the result and take the top K.

  • This will take nlogn time.

  • Very slow for very large relations where n is quite large.

Scan algorithm
Scan Algorithm

  • Keep K tuples in a buffer.

  • Scan this buffer for every tuple in the relation.

  • Replace the lowest one in the buffer if the input tuple is more than that.

  • Takes O(n.K) time.

  • Still low for a large n.

Fa algorithm
FA Algorithm

  • Fagin’s Algorithm known as FA Algorithm. Developed by Ron Fagin.

  • Takes the help of data structures prepared offline.

  • Though there is a cost associated with these data structures, yet the amortized cost is very low.

  • Sorted access to the attributes. Supports GetNext() operation and is sequential. One sorted table per attribute.

  • Random access through the ObjectId. Supports Get(ObjId) operation.

  • The pre processing requires the preparation of above two types of data structures which will be used again and again during the processing.

Fa algorithm1
FA Algorithm

  • Step1

  • Example of determining top 1 restaurant based on the given ranking function

    Score(RestId) = 2.Cusine + Location

Sorted for Cusine

Sorted for Location

Original relation

Fa algorithm2
FA Algorithm

  • Step1

  • Do the GetNext from both sorted tables in round robin.

  • Stop when K objects have been seen in common from all lists – 1 in our example

RestId 4 is winner in our case

Sorted for Location

Sorted for Cusine

Fa algorithm3
FA Algorithm

  • Step2

  • Random access to calculate the score for all visited tuples in step 1.

  • Take the top K after evaluation

  • This algorithm is applicable if the problem shows monotonic property.

  • The worst case will be same as scan algorithm.

  • The worst case memory requirement is unbounded.

Ta algorithm
TA Algorithm

  • Known as Threshold Algorithm

  • Similar to FA but sorted access and random access are interleaved.

  • Step 1

  • Do sorted access (and corresponding random accesses) until you have seen the top K answers.

  • Step 2

  • Determine threshold value (Hypothetical tuple) based on objects currently seen under sorted access.

  • K objects with overall score ≥ threshold value ? Stop.

  • Else go to next entry position in sorted list and repeat step 1

  • Faster than FA.

  • Requires less memory.