1 / 58

Trading Agent Competition

Υλοποίηση πράκτορα. TAC Classic. Trading Agent Competition. Αποστόλου Μιχάλης Π04008 Γεωργάκης Σπύρος Π04021 Κοκορδέλης Κωνσταντίνος Π04059 Τζιάλλας Αλέξης Π04142 Χουβαρδάς Παναγιώτης Π04159. Εισαγωγή. Το TAC Classic προσομοιώνει ένα περιβάλλον αγοράς ταξιδιωτικών πακέτων

hector
Download Presentation

Trading Agent Competition

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Υλοποίηση πράκτορα TAC Classic Trading Agent Competition Αποστόλου Μιχάλης Π04008 Γεωργάκης Σπύρος Π04021 Κοκορδέλης Κωνσταντίνος Π04059 Τζιάλλας Αλέξης Π04142 Χουβαρδάς Παναγιώτης Π04159

  2. Εισαγωγή • Το TAC Classic προσομοιώνει ένα περιβάλλον αγοράς ταξιδιωτικών πακέτων • Ο τελευταίος διαγωνισμός διεξήχθη το 2006 με νικητή τον πράκτορα RoxyBot-06 • Σε κάθε παιχνίδι συμμετέχουν 8 πράκτορες • Διάρκεια κάθε παιχνιδιού: 9 λεπτά

  3. Σκοπός παιχνιδιού • Κάθε πράκτορας έχει 8 πελάτες (σύνολο 64) • Πρέπει να εξασφαλίσει ένα ταξιδιωτικό πακέτο το οποίο θα ικανοποιεί στο μέγιστο δυνατό τους πελάτες • Κάθε πακέτο περιλαμβάνει 3 είδη αγαθών: • Αεροπορικά Εισιτήρια • Δωμάτια Ξενοδοχείων • Εισιτήρια Διασκέδασης • Τα ταξίδια διαρκούν μέχρι και 5 μέρες

  4. Κανόνες: Flight Auctions • Δημοπρασίες Αεροπορικών Εισιτηρίων: • Ένας δημοπράττης: Εταιρεία TACAir • 8 συνολικά δημοπρασίες • 4 δημοπρασίες άφιξης • 4 δημοπρασίες αναχώρησης

  5. Κανόνες: Flight Auctions • Continuous one-sided auctions • Οι 8 δημοπρασίες κλείνουν ταυτόχρονα στο τέλος του παιχνιδιού • Η TACAir ανακοινώνει καινούριες τιμές κάθε 10’’ • Κάθε bid ταιριάζει άμεσα ή παραμένει μέχρι να ανακοινωθεί τιμή χαμηλότερη απο το bid • Η αρχική τιμή επιλέγεται τυχαία από το [250,400] • Οι τιμές παραμένουν πάντα εντός του [150,800]

  6. Κανόνες: Flight Auctions • Οι διακυμάνσεις επιλέγονται ομοιόμορφα από τα διαστήματα: • [-10, x(t)] αν x(t) > 0 • [x(t), 10] αν x(t) < 0 • [-10, 10] αν x(t) = 0 • Όπου x(t) = 10 + (t/540)*(z-10) • t : o τρέχων χρόνος του παιχνιδιού • z : άγνωστη μεταβλητή εντός [-10,30], σταθερή και διαφορετική σε κάθε δημοπρασία

  7. Κανόνες: Hotel Auctions • Δύο ξενοδοχεία: • 4 δημοπρασίες για Tampa Towers (TT ή Good Hotel) • 4 δημοπρασίες για Shoreline Shanties (SS ή Cheap Hotel) • 8 συνολικά δημοπρασίες: • Auctions τύπου standard English Ascending multi-unit • Kλείνουν μια κάθε λεπτό με τυχαία σειρά

  8. Κανόνες: Hotel Auctions • 16 δωμάτια διατίθενται σε κάθε δημοπρασία • Στο τέλος κάθε λεπτού η 16η καλύτερη προσφορά καθορίζει την Ask Price • Αν κλείσει το λεπτό αυτό τα δωμάτια δίνονται στις 16 προσφορές που ήταν μεγαλύτερες της Ask Price • Κάθε προσφορά (bid) πρέπει να είναι μεγαλύτερη της Ask Price • Στην περίπτωση που ήδη είχαμε αποστείλει προσφορά η καινούρια προσφορά πρέπει να έχει ίση η μεγαλύτερη ποσότητα • Δεν είναι δυνατή η απόσυρση προσφοράς

  9. Κανόνες: Hotel Auctions • Στο τέλος κάθε λεπτού οι δημοπρασίες που δεν κλείνουν ανακοινώνουν την τιμή HQW. • Αντιπροσωπεύει τι θα είχαμε κερδίσει αν η δημοπρασία έκλεινε το λεπτό αυτό.

  10. Κανόνες: Entertainment Auctions • 3 είδη entertainment tickets • 4 δημοπρασίες για κάθε είδος εισιτηρίου (12 συνολικά) • Οι πελάτες μπορούν να χρησιμοποιούν ένα εισιτήριο την ημέρα

  11. Κανόνες: Entertainment Auctions • Υπάρχουν 8 εισιτήρια για κάθε είδος ψυχαγωγίας για κάθε μέρα (8*3*4=96) • Μοιράζονται πακέτα των 12 στους πράκτορες: • 4 εισιτήρια ίδιου τύπου για μέρες 1 ή 4 • 4 εισιτήρια ίδιου τύπου για μέρες 2 ή 3 • 2 εισιτήρια ίδιου τύπου για τις μέρες 1 ή 4 • Διαφορετικά απο τα πρώτα 4 • 2 εισιτήρια ίδιου τύπου για τις μέρες 2 ή 3 • Διαφορετικά από τα πρώτα 4

  12. Κανόνες: Entertainment Auctions • Δημοπρασίες τύπου Double Ascending Auctions • Οι πράκτορες μπορούνε να πουλάνε και να αγοράζουν • Τα bids αγοράς ταιριάζουν άμεσα με τα χαμηλότερα bids πώλησης • Τα bids πώλησης ταιριάζουν άμεσα με τα υψηλότερα bids αγοράς

  13. Κανόνες: Μορφή Bid • Οι δημοπρασίες διεξάγονται σύμφωνα με το ακόλουθο πρωτόκολλο • Ένας πράκτορας υποβάλλει μια προσφορά στην δημοπρασία • Η δημοπρασία ανανεώνει την τιμή προσφοράς, υποδεικνύοντας την τρέχουσα τιμή • Κάθε bid έχει την μορφή: • “((q1p1) (q2p2) … (qnpn))” • Όπου q η ποσότητα και p η τιμή

  14. Κανόνες : Μορφή Bid • Παράδειγματα: • Πτήσεις: • ((-64 300)) • ((5 370)) • ((3 290)) • Ξενοδοχεία • ((-16 0)) • ((2 4) (6 6)), ((4 8)), ((7 10)) • Εισιτήρια Διασκέδασης • ((-2 $40) • (3 $20) (1 $10)) • ((-1 10) (1 20))

  15. Κανόνες: Βαθμολογία • Προτιμήσεις πελατών: • PA,PD-Προτιμώμενες μέρες ταξιδιού • HP - Bonus για ύπαρξη Good Hotelє[50,150] • AW,AP,MU - Bonus για ύπαρξη Entertainment є[0,200] • Υπολογισμός utility: • U= 1000 – travel_penalty + hotel_bonus + fun_bonus • travel_penalty = 100 * ( |AA – PA| + |AD - PD| ) • hotel_Bonus = TT? * HP • fun_Bonus = ( AW? * AW ) + ( AP? * AP )+ ( MU? * MU )

  16. Κανόνες: Βαθμολογία • Τελικό Score: • Score = Ολικό_Utility – Όλικό_Κόστος • Ποινή $200 για αρνητικά own δηλαδή για πώληση εισιτηρίων τα οποία δεν είχαμε (entertainment)

  17. Κύκλος Πράκτορα • Κάθε 10 δευτερόλεπτα: • Αποθήκευση τρεχουσών τιμών • Προβλέψεις τιμών • Πρόβλεψη Αεροπορικών Εισιτηρίων • Πρόβλεψη Δωματίων Ξενοδοχείων • Εύρεση βέλτιστου πλάνου • Καθορισμός απαιτούμενων αγαθών • Αποστολή bids

  18. Flight Predictor • TACair – Η μοναδική αεροπορική εταιρία • 8 Δημοπρασίες • Άφιξη τις μέρες 1-4 • Αναχώρηση τις μέρες 2-5 • Την Tacair αντιπροσωπεύει ένας agent δημοπράττης

  19. Flight Predictor - AgentΔημοπράττης • Ανακοινώνει τιμές κάθε 10 sec σε κάθε μία από τις δημοπρασίες • Ανακοινώνει τιμές στο διάστημα [150-800] • Διάστημα πρώτης τιμής [250-400] • Η αύξηση ή μείωση επιλέγεται από τα διαστήματα  • [-10, x(t)] αν x(t) > 0 • [x(t), 10] αν x(t) < 0 • [-10, 10] αν x(t) = 0 • x(t) = 10 + (t/540)*(z-10) z E [-10 , 30] • To z παράγεται από μία τυχαία στοχαστική συνάρτηση και είναι σταθερό για κάθε μία από τις δημοπρασίες • Για κάθε z παίρνουμε διαφορετικό x(t) και κατ’ επέκταση διαφορετικό διάστημα • Το x(t) – ορίζει διάστημα επιλογής της διαφοράς • Ο τρόπος επιλογής μίας τιμής από το διάστημα ακολουθεί ομοιόμορφη κατανομή

  20. Flight Predictor • Έστω z = 19 • Για παράδειγμα την χρονική στιγμή t=60 x(t)=11 άρα το διάστημα είναι [-10,11]. • Επιλέγεται μια διακύμανση ομοιόμορφα από το διάστημα αυτό.

  21. Flight Predictor • Το Ζ είναι άγνωστο στον πράκτορα μας • Σε κάθε χρονική στιγμή υπολογίζουμε τα διαστήματα για όλα τα Z • Αποκλείουμε τα Ζ των οποίων τα διαστήματα δεν περιέχουν την διακύμανση που σημειώθηκε.

  22. Flight Predictor • Παράδειγμα: • Την χρονική στιγμή t=60 σημειώνεται η διακύμανση: +12 • Για Ζ=19 προκύπτει το διάστημα [-10,11] έτσι το Ζ αυτό αποκλείεται • Τα υπόλοιπα αποκτούν μεγαλύτερη πιθανότητα

  23. Flight Predictor • Σε κάθε νέα τιμή αποκλείουμε κάποια Ζ και στην συνέχεια ανανεώνουμε τις πιθανότητες των υπόλοιπων • Για τα εναπομείναντα Ζ «εξομοιώνουμε» μια διακύμανση τιμών μέχρι το τέλος του παιχνιδιού και επιλέγουμε την ελάχιστη από αυτές • Τέλος, υπολογίζουμε τον μέσο όρο τους

  24. Flight Predictor - Αλγόριθμος • Για κάθε ένα από τα z ϵ [-10 , 30] • Υπολογίζουμε το διάστημα για το x(t,z). • Αν η τελευταία διακύμανση που σημειώθηκε είναι εντός του διαστήματος: • Για κάθε χρονική στιγμή (t’=t+10 … t’=540) • Το x(t’,z) θα μας δώσει το διάστημα διακύμανσης • Από το διάστημα επιλέγουμε το μέσο του , αφού το σύστημα θα επιλέξει μία από τις τιμές του θεωρώντας ομοιόμορφη κατανομή Προσθέτοντας αυτή την τιμή στην προηγούμενη και αποθηκεύοντας τη μικρότερη θα πάρουμε μία ελάχιστη τιμή που αντιστοιχεί στο κάθε z • Υπολογίζουμε τον μέσο όρο της ελάχιστης τιμής που δίνει κάθε z ∑ P(z)* min[z]

  25. Flight Predictor

  26. Flight Predictor

  27. Hotel Predictor • Ο αλγόριθμος βασίζεται στην ανάλυση του πράκτορα Walverine • Υπολογίζεται το Walrasian competitive equilibrium: • Οι τιμές των ξενοδοχείων θα αλλάξουν για να εξισορροπήσουν την προσφορά και την ζήτηση

  28. Hotel Predictor - tatonnement • Γίνεται χρήση της μεθόδου tatonnement: • Όπου: • το διάνυσμα των τιμών μια συγκεκριμένη χρονική στιγμή t (8 τιμές) • η ζήτηση για τις τιμές αυτές • ένα ποσοστό προσαρμογής

  29. Hotel Predictor - tattonement • Παράδειγμα: • Τρέχουσα τιμή: 30$ • Ζήτηση δωματίων: 20 • = 2 • Τότε: • Νέα_τιμή = 30 + 2 * (20-16) = 38

  30. Hotel Predictor - tattonement • Οι τιμές στα ξενοδοχεία όμως δεν πέφτουν ποτέ: • Για το μια ενδεικτική τιμή είναι: • Το μόνο πρόβλημα που απομένει είναι ο υπολογισμός του .

  31. Hotel Predictor- Ζήτηση • Για την ζήτηση μιας δημοπρασίας ισχύει: • Επιχειρούμε μια πιθανοτική προσέγγιση ανά πελάτη: • Γνωρίζοντας ότι ο TAC Server κατανέμει τις απαιτήσεις των πελατών ομοιόμορφα:

  32. Hotel Predictor- Ζήτηση • Οι απαιτήσεις κάθε πελάτη καθορίζουν τρία πράγματα: • Την προτιμώμενη μέρα άφιξης και αναχώρησης • Το bonus για το ξενοδοχείο Tampa Towers (hp) • Τα bonus για κάθε τύπο Entertainment (aw,ap,mu) • Λαμβάνοντας υπόψη τις μέσες τιμές των προτιμήσεων και τις τρέχουσες τιμές: • Κάνουμε σύντομο σχεδιασμό • Υπολογίζουμε πόσο πιθανό είναι να βρίσκεται η δημοπρασία που εξετάζουμε εντός σχεδίου

  33. Hotel Predictor- Ζήτηση • Συνδυασμοί ημερών 1 2 3 4 5 1 2 3 4 5 Άφιξη Άφιξη Αναχώρηση Αναχώρηση 1 2 3 4 5 1 2 3 4 5 Άφιξη Άφιξη Αναχώρηση Αναχώρηση

  34. Hotel Predictor- Ζήτηση • Γνωρίζοντας ότι τα pa,pdεπιλέγονται ομοιόμορφα από τα 10 πιθανά ζευγάρια: • Για κάθε pa,pd προκύπτει ένα βέλτιστο ταξίδι r*(pa,pd,h)

  35. Hotel Predictor • Ένα βέλτιστο ταξίδι r*(pa,pd,h) υπολογίζεται λαμβάνοντας υπόψη: • Τα αεροπορικά εισιτήρια • Την τιμή του ξενοδοχείου h • Τις ποινές των αποκλίσεων από τα pa, pd • Αναμενόμενη πριμοδότηση από entertainment*

  36. Hotel Predictor- Ζήτηση • Υπολογίζουμε τα και όπου: • το σκορ του βέλτιστου ταξιδιού r*(pa,pd,T) • το σκορ του βέλτιστου ταξιδιού r*(pa,pd,S) • Υπολογίζουμε την διαφορά των δύο σκορ: • Η επιλογή του ξενοδοχείου h θα είναι: • Άρα = 1 ή 0 ανάλογα με τον τύπο ξενοδοχείου.

  37. Hotel Predictor- Ζήτηση • Παράδειγμα: • Στο διάστημα το 20% των τιμών είναι μικρότερα του 70 και το 80% μεγαλύτερο • Αφού τα bonus επιλέγονται ομοιόμορφα : =

  38. Hotel Predictor – Entertainment Surplus • Για την εύρεση του r*(pa,pd,h) υπολογίζουμε το αναμενόμενο entertainment surplus: • Αναθέτουμε το i-οστό καλύτερο εισιτήριο στην μέρα που κοστίζει (i-οστή φθηνότερη μέρα)

  39. Hotel Predictor – Entertainment Surplus [a,b]=[0,200] Πιθανότητα μιας τιμής Χ να είναι μεγαλύτερη της i-οστής επιλογής: Πιθανότητα τιμής να βρίσκεται ανάμεσα σε δύο bonus:

  40. Hotel Predictor – Entertainment Surplus [a,b]=[0,200] Για την τελική αύξηση του σκορ έχουμε: Την πιθανότητα της παραπάνω συνθήκης την έχουμε ήδη υπολογίσει

  41. Hotel Predictor – Entertainment Surplus • Κάθε αναμενόμενο surplus θα είναι:

  42. Hotel Predictor – Αλγόριθμος • Αλγόριθμος Πρόβλεψης Hotel Auctions • Ανάγνωση τιμών • Υπολογισμός μέσης ζήτησης • Εύρεση καλύτερου σχεδίου για κάθε συνδυασμό pa,pd • Τιμές αεροπορικών εισιτηρίων • Τιμές ξενοδοχείων • Ποινές απόκλισης από pa,pd • Υπολογισμός μέσου entertainment surplus για τρέχουσες τιμές • Εξαγωγή ζήτησης για το παραπάνω • Άθροιση όλων των ζητήσεων και διαίρεση δια 10 • Υπολογισμός ολικής ζήτησης • Πολλαπλασιασμός της μέσης ζήτησης επι 56 και άθροιση της ζήτησης του πράκτορα μας • Χρήση tatonnementγια υπολογισμό επόμενης τιμής

  43. Planner • Πρόβλημα: μεγιστοποίησητουσυνολικούσκορ • Κάνειτονσχεδιασμόγιατησυμμετοχήστιςδημοπρασίες • Τοπρόβληματηςμεγιστοποίησηςτουσκορυποδιαιρείταιανάπελάτη. • Δύο είδη σχεδιασμών • Αρχικόςσχεδιασμός • Επανασχεδιασμός • Ο επανασχεδιασμόςεκτελείταιμόνοαντοτρέχονσχέδιοδενείναιεφικτό.

  44. Distribute • Εξετάζει το προηγούμενο σχέδιο • Διανέμει τα αγαθά στους πελάτες που τα είχανε ζητήσει. • Υπάρχει και η περίπτωση να μην αρκούν τα αγαθά.

  45. Distribute • Τα αγαθά δίνονται στους πελάτες που συνεισφέρουν περισσότερο στο σκορ

  46. Planner • Βήματα σχεδιασμού • Δημιουργία πιθανών συνδυασμών αφιξης-αναχώρησης (συνολικά 10)‏ • Υπολογισμός σκορ για κάθε τύπο ξενοδοχείου • Υπολογισμός του καλύτερου συνδυασμού εισιτηρίων διασκέδασης (MaxEntSurplus)‏ • Επιλογή του σχεδίου με το μεγαλύτερο σκορ

  47. Maximum Entertainment Surplus Bonus Τιμή Εισιτηρίου Σκορ Εισιτηρίου/ Μέρα

  48. ΚόστοςΞενοδοχείων • Σκορ(SS) = - Σ(priceSS(day)), arrival <= day < departure • Σκορ(TT) = HP - Σ(priceTT(day)), arrival <= day < departure • HP = το bonus που δίνει ο πελάτης • Σκορ(SS) < Σκορ(TT) επιλέγουμε το Tampa Towers • Σκορ(SS) > Σκορ(TT) επιλέγουμε το Shoreline Shanties

  49. Conditional Planner • Αεροπορικά εισιτήρια • Για τις ημέρες του ταξιδιού • Αν έχουμε εισιτήριο -Κόστος αγοράς • Αν δεν έχουμε εισιτήριο -Προβλεπόμενο κόστος • Για όλες τις υπόλοιπες • Αν έχουμε εισιτήριο -Κόστος αγοράς • Ο Planner προτιμά με αυτό τον τρόπο πακέτα που θα περιλαμβάνουν τα εισιτήρια που ήδη έχουμε αγοράσει

  50. Θα υπολογίσουμε: Τοκόστος αγοράς για την ημέρα 1 Το κόστος αγοράς για την ημέρα 4 Conditional Planner • Θαυπολογίσουμε: • Τοκόστος αγοράςγιατηνημέρα 1 • Τηνπροβλεπόμενητιμήγιατηνημέρα 3 • Τοκόστοςαγοράςγιατηνημέρα 4

More Related