Computational Mechanisms for Multi-Attribute Exchange Markets Eugene Fink

advertisement
Computational Mechanisms for
Multi-Attribute Exchange Markets
Eugene Fink
Part I: Research interests and projects
Part II: Automated exchange system
Part I: Research Interests and Projects
1992–1998 Ph.D. Student
1999–2003 Assistant Professor
Research interests
• Artificial intelligence
Major
• Machine learning
• Algorithm theory
Minor
• Computational geometry
Research projects
• Artificial intelligence
Representation changes
Medical expert systems
• Machine learning
Multi-attribute exchanges
Approximate data matching
• Algorithm theory
Indexing of time series
Meshing in three dimensions
• Computational geometry
Generalized convexity
Representation changes
Artificial intelligence and learning
Automated simplification
of search problems.
• Integrated library of search
and learning algorithms
• Top-level module that selects appropriate
algorithms for each given problem
• Automated problem reformulation, to improve efficiency of the selected algorithms
Medical expert systems
Artificial intelligence
Automated selection of cancer
patients for experimental treatment procedures.
• Guiding a nurse through the related questions
• Identifying the appropriate medical tests
• Reducing the cost of the selection process
Joint work with the
Moffitt Cancer Center.
Approximate data matching
Artificial intelligence, learning, and algorithms
Fast identification of approximate
matches in massive structured data.
• Indexing of alphanumeric data
• Search for approximate matches
• Application to homeland security
Joint work with Carnegie Mellon
University and the DYNAMiX
Technologies Corporation.
Indexing of time series
Artificial intelligence and algorithms
Indexing and retrieval of
time series by their major
minima and maxima.
4
3
• Fast compression of time series
1
1
3
• Hierarchical indexing of compressed series
• Search for series similar to a given pattern
Meshing in three dimensions
Algorithms and computational geometry
Representation of spatial objects by
triangle and quadrilateral meshes.
• Indexing in three dimensions
• Search for optimal meshes
• Repair of meshes with holes
Joint work with the Sandia
National Laboratories and USF
Civil Engineering Department.
Generalized convexity
Computational geometry
Exploration of mathematical
and computational properties of
restricted-orientation convexity.
• Definition of generalized convex sets
in terms of their intersections with lines
from some fixed set of orientations
• Study of convex sets in higher dimensions
Part II: Automated Exchange System
for Multi-Attribute Markets
Joint work with the DYNAMiX
Technologies Corporation.
Outline
• Motivation
• Main concepts
• Architecture
• Best-price matches
• Quality functions
• Performance
• Conclusions
Motivation
• Build an automated
exchange for trading
goods and services
• Combine the speed of
the stock exchange with
the flexibility of eBay
+
Previous work
• Combinatorial auctions
• Standardized exchanges
Combinatorial auctions
• Complex goods
• Asymmetry between
buyers and sellers
• Illiquid
Standardized exchanges
• Simple goods
• Symmetry between
buyers and sellers
• Liquid
Research goals
Build an automated exchange
for non-standardized goods.
• Allow complex constraints in the
specification of desirable trades
• Support fast-paced trading for
markets with millions of orders
• Include optimization techniques
to maximize traders’ satisfaction
Outline
• Motivation
• Main concepts
• Architecture
• Best-price matches
• Quality functions
• Performance
• Conclusions
Main concepts
• Market
• Orders
• Matches
• Fills
• Attributes
Market
All items that can be
traded form a market.
Example:
All conceivable vehicles
compose a car market.
Orders
An order is a subset of the market
along with a price function.
Example:
Any Mustang or Corvette;
Mustang for $28,000
or Corvette for $32,000 ,
–$1 for every ten miles.
Orders
Price
Price
Buy order
Sell order
Matching
A buy order matches a sell order if:
There is item  buy-items  sell-items,
such that buy-price(item)  sell-price(item).
Matching
Sell order
Price
Price
Buy order
Matching
Sell order
Price
Fill
Buy order
Fills
A fill is defined by a specific item
and its price , which must match the
buy order and the sell order :
• fill-item  buy-items  sell-items
• fill-price  buy-price(fill-item)
• fill-price  sell-price(fill-item)
Fills
Buy order:
Sports car
$30,000
Sell order:
Mustang $28,000
or Corvette $32,000
Fill:
Mustang
$29,000
Attributes
A specific market is defined
by a list of attributes.
Example:
A used-car market is a set of
all possible vehicles, defined
by model, year, and mileage.
Attributes
A trader specifies acceptable
items by attribute values.
An item specification may include
lists of values and numeric ranges.
Example:
Sell order
Model: Mustang
Year: 2003
Mileage: 0
Buy order
Model: Mustang
Year: 2001..2003
Mileage: 0..10K
Attributes
Sell order
Model: Mustang
Year: 2003
Price
Year
03
02
01
00
Camry Mustang Corvette
Buy order
Model: Mustang
Year: 2000..2003
Model
Outline
• Motivation
• Main concepts
• Architecture
• Best-price matches
• Quality functions
• Performance
• Conclusions
Architecture
The system consists of a central matcher and
user interfaces that run on separate machines.
Traders enter orders through the interface machines, which send the orders to the matcher.
Matcher
fills
orders
User
interface
User
interface
User
interface
Data structures
The matcher includes a central
structure for indexing of orders.
• Tree of fully specified orders,
which are called index orders
• Unordered list of the other orders,
which are called nonindex orders
Indexing tree
Model
Mustang
Corvette
Year
1996
Mileage
50K
1996 Mustang,
50K miles,
$7,000
1997
Mileage
Year
1985 1986
Mileage
Mileage
1988
Mileage
Indexing tree
Model
Mustang
Year
1996
Mileage
50K
1996 Mustang,
50K miles,
$5,000
Camry
Corvette
Year
1997
Mileage
Year
1999
2000
Mileage
Mileage
10K
180K
1999 Camry,
10K miles,
$18,000
1986
Mileage
2000 Camry,
180K miles,
$5,000
1988
Mileage
20K
1988 Corvette,
20K miles,
$4,000
Trading cycle
The matcher alternates between processing
new orders and identifying matches for old
nonindex orders.
Process all
new orders
Re-match all old
nonindex orders
Processing
Process
Re-match
For every new order:
Search for matches in the indexing tree.
If it is not filled, and it is an index order,
then add it to the indexing tree.
If it is not filled, and it is a nonindex order,
then add it to the unordered list.
Re-matching
Process
Re-match
For every old nonindex order:
Search for matches in the indexing tree,
among new index orders.
If it is filled,
then remove it from the unordered list.
Drawbacks
Process
Re-match
• The system does not find matches
between two nonindex orders
• The system delays matches between a new
index order and an old nonindex order
Outline
• Motivation
• Main concepts
• Architecture
• Best-price matches
• Quality functions
• Performance
• Conclusions
Optimal matches
The system searches for the bestprice matches in the indexing tree.
• Depth-first search
• Best-first search
Depth-first search
Buy Order:
Any car made
after 1990
Model
Mustang
Year
Camry
Corvette
Year
Year
1996
1999
2000
1988
Mileage
Mileage
Mileage
Mileage
50K
10K
180K
20K
1996 Mustang,
50K miles,
$7,000
1999 Camry,
10K miles,
$18,000
2000 Camry,
180K miles,
$5,000
Best price
1988 Corvette,
20K miles,
$4,000
Depth-first search
Drawback:
If there are many matching leaves,
the search takes a long time.
Solution:
Limit the number of matches.
Depth-first search
Buy Order:
With limited number of matches
Any car made
after 1990
Model
Mustang
Year
Limit: 2 matches
Camry
Corvette
Year
Year
1996
1999
2000
1988
Mileage
Mileage
Mileage
Mileage
50K
10K
180K
20K
1996 Mustang,
50K miles,
$7,000
Best price among
found matches
1999 Camry,
10K miles,
$18,000
2000 Camry,
180K miles,
$5,000
Actual best price
1988 Corvette,
20K miles,
$4,000
Depth-first search
With limited number of matches
Drawback:
The system may not find
the best-price match.
Solution:
Apply best-first search:
• Store the best price for each subtree
• Use these prices to guide the search
Best prices for subtrees
Model $4,000
Mustang
$7,000 Year
Mileage
50K
1996 Mustang,
50K miles,
$7,000
Corvette
Year $5,000
1996
$7,000
Camry
$18,000
1999
2000
Mileage
Mileage
10K
180K
1999 Camry,
10K miles,
$18,000
Year $4,000
1988
$5,000
2000 Camry,
180K miles,
$5,000
Mileage
$4,000
20K
1988 Corvette,
20K miles,
$4,000
Search for the best price
Buy Order:
Any car made
after 1990
Model $4,000
Mustang
$7,000 Year
Mileage
50K
1996 Mustang,
50K miles,
$7,000
Corvette
Year $5,000
1996
$7,000
Camry
$18,000
1999
2000
Mileage
Mileage
10K
180K
1999 Camry,
10K miles,
$18,000
Year $4,000
1988
$5,000
2000 Camry,
180K miles,
$5,000
Best price
Mileage
$4,000
20K
1988 Corvette,
20K miles,
$4,000
Search for the best price
Advantages:
• The system finds the best match
• It is much faster than DFS without
a limit on the number of matches
Drawback:
• It is usually slower than DFS with a
small limit on the number of matches
Outline
• Motivation
• Main concepts
• Architecture
• Best-price matches
• Quality functions
• Performance
• Conclusions
Quality functions
A trader can specify a quality function
that ranks the acceptable transactions.
The transaction quality may depend
on an item and its price.
Quality
Price
Buy order
Attributes
Quality functions
A trader can specify a quality function
that ranks the acceptable transactions.
The transaction quality may depend
on an item and its price.
Example:
Quality of a car purchase
+4 for each year after 1970
–5 for each 10K miles
–6 for each $1,000
Quality functions
A trader can specify a quality function
that ranks the acceptable transactions.
The transaction quality may depend
on an item and its price.
The system searches for the matches
with the highest quality.
Depth-first search
Buy Order:
Any car made
after 1990
Model
Mustang
Year
Camry
Corvette
Year
Year
1996
1999
2000
1988
Mileage
Mileage
Mileage
Mileage
50K
10K
180K
20K
1996 Mustang,
50K miles,
$7,000
1999 Camry,
10K miles,
$18,000
2000 Camry,
180K miles,
$5,000
Highest37
Quality:
quality: 37
Quality: 3
Quality: 0
1988 Corvette,
20K miles,
$4,000
Monotonic attributes
• The quality monotonically
changes with the price
• Usually, it is also monotonic
on several other attributes
Example:
Car quality
• Increases with the year
• Decreases with the mileage
Best-first search
• For every subtree, store the best value
of each monotonic attribute
• Use these values to estimate the quality
of the best match in every subtree
Best values for subtrees
Model
Mustang
1996,
50K,
$7,000
Year
1996
50K,
$7,000 Mileage
50K
1996 Mustang,
50K miles,
$7,000
2000,
10K,
$4,000
Camry
Year
1999
10K,
$18,000 Mileage
10K
1999 Camry,
10K miles,
$18,000
Corvette
2000,
10K,
$5,000
Year
1988,
20K,
$4,000
2000
1988
180K,
Mileage $5,000
20K,
Mileage $4,000
180K
2000 Camry,
180K miles,
$5,000
20K
1988 Corvette,
20K miles,
$4,000
Search for the best match
Buy Order:
Model
Mustang
1996,
50K,
37
$7,000
Year
1996
50K,
37 Mileage
$7,000
50K
1996 Mustang,
50K miles,
$7,000
Highest
quality: 37
2000,
10K,
91
$4,000
Camry
Year
1999
10K,
$18,000 Mileage
10K
1999 Camry,
10K miles,
$18,000
Any car made
after 1990
Corvette
2000,
10K,
85
$5,000
Year
1988,
38
20K,
$4,000
2000
1988
180K,
Mileage $5,000
20K,
Mileage $4,000
180K
2000 Camry,
180K miles,
$5,000
20K
1988 Corvette,
20K miles,
$4,000
Outline
• Motivation
• Main concepts
• Architecture
• Best-price matches
• Quality functions
• Performance
• Conclusions
Performance
Experiments using a
Pentium computer :
• 1.5 GHz CPU
• 1 Gbyte memory
• 166 MHz bus
Variables
Control variables:
• Search strategy
• Number of orders
• Number of attributes
Measurements:
• Processing time
• Re-matching time
• Throughput
Processing time
Process
Re-match
Logarithmic scale
Linear scale
1,000
time (sec)
400
10
300
200
0.1
100
0.001
0
1
10
100 1,000 10,000 100,000
number of orders
50K 100K 150K 200K 250K
number of orders
Best-First Search, Unlimited DFS, and Limited DFS
Re-matching time
Process
Re-match
Logarithmic scale
Linear scale
1,000
time (sec)
400
10
300
200
0.1
100
0.001
0
1
10
100 1,000 10,000 100,000
number of orders
50K 100K 150K 200K 250K
number of orders
Best-First Search, Unlimited DFS, and Limited DFS
Total time
Process
Re-match
Logarithmic scale
Linear scale
1,000
time (sec)
400
10
300
200
0.1
100
0.001
0
1
10
100 1,000 10,000 100,000
number of orders
50K 100K 150K 200K 250K
number of orders
Best-First Search, Unlimited DFS, and Limited DFS
Throughput
orders per second
100,000
10,000
1,000
100
10
1
3
30
10
number of attributes
100
Best-First Search, Unlimited DFS, and Limited DFS
Outline
• Motivation
• Main concepts
• Architecture
• Best-price matches
• Quality functions
• Performance
• Conclusions
Summary
• General model for trading
multi-attribute goods
• Hard and soft constrains in
the specification of orders
• Fast identification of matches
between buy and sell orders
Other results
• Limited support for multi-order matches
Buy order:
1 Mustang
$28,000
Sell order:
2 Mustangs
$30,000
Fill:
1 Mustang
$28,000
Buy order:
1 Mustang
$32,000
Fill:
1 Mustang
$32,000
Other results
• Limited support for multi-order matches
• Limited support for combinatorial orders
and
or
Buy order:
Mustang
$28,000
Buy order:
Corvette
$32,000
Sell order:
Camry
$18,000
Other results
• Limited support for multi-order matches
• Limited support for combinatorial orders
• Distributed broker modules
Matcher
Broker module
User
interface
User
interface
Broker module
User
interface
User
interface
Current work
• Advanced indexing structures
• Search for approximate matches
• Trading different types of goods
in a common exchange
• Integration with combinatorial
auction algorithms
• Use of multiple matchers
Download