About SmartRanker

Pei Wang

This applet allows you to select top candidate rows from any data table according to your preference.

(1) You can either type or copy/paste data into the input area. A "header" row is optional. Each row must contain the same number of columns. The data table can be as large as 200 rows by 10 columns.

(2) After that, type or select a "filter" for each data column, which can be either "*" (for "don't care") or a relation, followed by the value to be compared to. Valid filters are "= x", "!= x",  "< x", "> x", "<= x", and ">= x", where x is a real number.

(3) What makes this utility different from conventional database query interfaces is its ability to handle "fuzzy" request. It is often the case that you have a preference for the absolute or relative value of a column, but do not have an accurately defined filter. As a result, whether a certain value satisfy the request becomes a matter of degree, which is represented here as a score between 0 and 1. To get this score, you can type or select a "ranker" for each column, which can be "*" (for "don't care"),  ">~" (for "prefer a large value"),  "<~" (for "prefer a small value"), "~~ x" (for "have a score close to x") or "=~ x" (for "have a value close to x").  (Therefore, the first two are special situations of the last two, since  ">~" is identical to "~~ 1" or "=~ the-maximum-value", and "<~" is identical to "~~ 0" or "=~ the-minimum-value".)

(4)  The total score of each row is simply the weighted average of the scores on the columns. The "weight" for each column is a non-negative number, representing the contribution of that column to the final selection, compared to the other columns.

(5) Finally, you can decide how many "top candidates" (sorted by total score) you want to view by changing the default value 10.

The applet is preloaded with an example, in which 10 desktop computers are recommended out of 30 given models, which are within a budget of $2,000, and are "cheap and powerful", where "powerful" means a fast CPU, a large hard disc, and more memory.  To test it, press the "Example" button.

What makes this utility different from other fuzzy database query interfaces is domain-independence --- here the rankings (similar to the membership functions in the other models) are not coded in the applet, but generated from the data to be evaluated, according to a sound  theoretical foundation (see a previous paper of mine). As a result, you can use this applet on any data table to get reasonable results.

URL: http://www.cogsci.indiana.edu/farg/peiwang/SmartRanker/ReadMe.html
Last Update: February 18, 1998