Presentation is loading. Please wait.

Presentation is loading. Please wait.

SADNA – Ad Auction Session #2 Yishay Mansour Mariano Schain.

Similar presentations

Presentation on theme: "SADNA – Ad Auction Session #2 Yishay Mansour Mariano Schain."— Presentation transcript:

1 SADNA – Ad Auction Session #2 Yishay Mansour Mariano Schain

2 Last Week: Overview and Theoretical Background Today: Software Infrastructure System Elements (Reminder) Agent Execution Software Architecture A Sample Agent

3 Reminder

4 System Elements User Publisher/Auctioneer Query Advertiser Auction Impression Page View Click Conversion Bid, Ad, Limit Query Reports Sales Reports 3 3 2a2a 2b2b 2c2c 1

5 Execution Server – Manages agents – Schedules games – Simulates Users and Publisher – Sends reports to agents – Publish simulation logs Agent (Client) – Register at server web page – Joins games – Implements Advertiser – Sends bids to server – May use logs to learn Server Agent Web Browser Registration Game Viewer Logs Access Game

6 Agent Execution - Steps 1. Files and Directories config lib logs 2. Agent Configuration File Name and Password Server name Auto join Logging levels 3.Register Agent At Server http://server:8080 Name And Password 4. Run Jar Or… from IDE (e.g. eclipse) Or… java -server -cp $CLASSPATH edu.umich.eecs.tac.aa.agentware.Main

7 Agent Execution - Demo Setup IDE (Eclipse) Run Agent from IDE Server: Game Viewer Post game: Log Viewer

8 Software Architecture - Motivation Modeling: – User populations dynamics – Competing Advertisers strategy – cpc and #Impressions for a given (bid, query) – Note: Bursts Estimation – Click and Conversion rates – Profit and #sales for a given bid bundle – Note: Promoted Slots Optimization – Find bid bundle that maximizes profits – Next day, Until end of game – Note: Capacity Window

9 Agent Software Architecture Model competitors users Estimation clickRate convRate Optimization singleDaymultiDay Control Game instance parameters: Capacity, Specialty Daily Reports: Server, Self Profit, Sales (bids, day, used_capacity) Bid singleGame multiGame Optimal Bid (cap,#s) Train (Past Games) Cpc, Position (q,bid) Cpc, #Impr, Pos (q,bid) #Conv #Click #Impr (query, bid, ad, limit, day, used_capacity)

10 Agent Software Architecture Agent TauAgent AgentComponent Optimizer IAgent IAgentComponent IOptimizer YourOptimizer TauAgent YourOptimizer YourEstimator YourModeler Class Diagram Object Diagram

11 Agent Software Architecture Configuration All configuration files in config directory Top level configuration: – Name and password, logging, etc Architecture configuration – Name of class implementing each component – Name of config file for each component Component configuration file – Any specific parameters (e.g. algorithm constants) – Accessed using the ConfigManager class interface (implemented by the aaConfig member of AgentComponent)

12 Agent Software Architecture Training LogHandler TauTrainerTauParser YourParser TauTrainer YourParser Class Diagram Object Diagram Logs contain ALL messages to/from server to/from ALL agents!! LogHandler called by logtool.Main Single/Multiple simulation log files (sim.slg) YourParser updates component database (to be used at game) Reset/Incremental training Parser

13 Sample Agent Illustrate usage of interfaces – Passing server messages – Configuration parameters Almost trivial Modeler and Estimator – Simple daily update of parameters estimate based on past day results Optimizer: – Capacity quota: based on capacity window usage level – Quota fractionally allocated to queries based on past performance (profits per unit sold)

14 Create Your Own Agent - Steps 1.Files and Directories Start with sample agent Update config files: arch.conf Component config files 2. Implement your own Components Replace: SampleModeler, SampleEstimator, SampleOptimizer Stick to Interfaces 3.Compete and Analyze Dummies are Dummies.. Use log viewer Train using game logs from server 4. Repeat..

15 Sample Agent - Demo Arrange files and populate IDE – src, lib, config – Create IDE project Update configuration files Configure execution – Run/debug, Main, etc Run Agent – Fetch simulation logs

16 Appendix: Run your own Server 1.Files and Directories lib Config logs 2.Server Configuration Files server.conf: Admin Password, Ports, Logging levels Name of game settings configuration Game_settings.conf 4.Register Agents At Server

Download ppt "SADNA – Ad Auction Session #2 Yishay Mansour Mariano Schain."

Similar presentations

Ads by Google