
e3af0eed15bc72f6dee6a46399e13b62.ppt
- Количество слайдов: 70
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 DYNAMi. X 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 DYNAMi. X 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 e. Bay +
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 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 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. . 10 K
Attributes Sell order Model: Mustang Year: 2003 Price Year 02 01 00 03 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 User interface ills f fills or orders d fill ord s ers 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 50 K 1996 Mustang, 50 K miles, $7, 000 1997 Mileage Year 1985 1986 Mileage 1988 Mileage
Indexing tree Model Mustang Year 1996 Mileage 50 K 1996 Mustang, 50 K miles, $5, 000 Corvette Camry Year 1997 Year 2000 Mileage 10 K Mileage 1999 180 K 1999 Camry, 10 K miles, $18, 000 1986 Mileage 2000 Camry, 180 K miles, $5, 000 1988 Mileage 20 K 1988 Corvette, 20 K 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 1996 1999 2000 1988 Mileage 50 K 180 K 20 K 1996 Mustang, 50 K miles, $7, 000 1999 Camry, 10 K miles, $18, 000 2000 Camry, 180 K miles, $5, 000 Best price 1988 Corvette, 20 K 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 1996 1999 2000 1988 Mileage 50 K 180 K 20 K 1996 Mustang, 50 K miles, $7, 000 Best price among found matches 1999 Camry, 10 K miles, $18, 000 2000 Camry, 180 K miles, $5, 000 Actual best price 1988 Corvette, 20 K 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 50 K 1996 Mustang, 50 K miles, $7, 000 Corvette Year $5, 000 1999 $18, 000 Mileage 180 K Year $4, 000 2000 10 K 1996 $7, 000 Camry 1999 Camry, 10 K miles, $18, 000 1988 $5, 000 2000 Camry, 180 K miles, $5, 000 Mileage $4, 000 20 K 1988 Corvette, 20 K miles, $4, 000
Search for the best price Buy Order: Any car made after 1990 Model $4, 000 Mustang $7, 000 Year Mileage 50 K 1996 Mustang, 50 K miles, $7, 000 Corvette Year $5, 000 1999 $18, 000 Mileage 180 K Year $4, 000 2000 10 K 1996 $7, 000 Camry 1999 Camry, 10 K miles, $18, 000 1988 $5, 000 2000 Camry, 180 K miles, $5, 000 Best price Mileage $4, 000 20 K 1988 Corvette, 20 K 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 10 K 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 1996 1999 2000 1988 Mileage 50 K 180 K 20 K 1996 Mustang, 50 K miles, $7, 000 1999 Camry, 10 K miles, $18, 000 2000 Camry, 180 K miles, $5, 000 Highest Quality: 37 quality: 37 Quality: 3 Quality: 0 1988 Corvette, 20 K 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, 50 K, $7, 000 Year 1996 50 K, $7, 000 Mileage 50 K 1996 Mustang, 50 K miles, $7, 000 2000, 10 K, $4, 000 Camry Year 1999 10 K, $18, 000 Mileage 10 K 1999 Camry, 10 K miles, $18, 000 Corvette 2000, 10 K, $5, 000 Year 1988, 20 K, $4, 000 2000 1988 180 K, Mileage $5, 000 20 K, Mileage $4, 000 180 K 2000 Camry, 180 K miles, $5, 000 20 K 1988 Corvette, 20 K miles, $4, 000
Search for the best match Model Mustang 1996, 50 K, 37 $7, 000 Year 1996 50 K, 37 $7, 000 Mileage 50 K 1996 Mustang, 50 K miles, $7, 000 Highest quality: 37 1999 10 K, $18, 000 Mileage 10 K 1999 Camry, 10 K miles, $18, 000 Any car made after 1990 2000, 10 K, 91 $4, 000 Camry Year Buy Order: Corvette 2000, 10 K, 85 $5, 000 Year 1988, 20 K, 38 $4, 000 2000 1988 180 K, Mileage $5, 000 20 K, Mileage $4, 000 180 K 2000 Camry, 180 K miles, $5, 000 20 K 1988 Corvette, 20 K 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 0. 001 100 1 10 100 1, 000 100, 000 number of orders 0 50 K 100 K 150 K 200 K 250 K 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 0. 001 100 1 10 100 1, 000 100, 000 number of orders 0 50 K 100 K 150 K 200 K 250 K 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 0. 001 100 1 10 100 1, 000 100, 000 number of orders 0 50 K 100 K 150 K 200 K 250 K number of orders Best-First Search, Unlimited DFS, and Limited DFS
Throughput orders per second 100, 000 1, 000 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
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
e3af0eed15bc72f6dee6a46399e13b62.ppt