CSU 670 Spring 2009 Out: February 27, 2009 Due: March 10, 2009 Karl Lieberherr Ahmed Abdelmeged Polishing and generalizing your CSP-eating robots Subproject 8 ================================================================= Refine your robot capable of playing Classic SDG CSP Fast Pitch Softball. This is an incremental improvement over the previous robot. Is your derivative simplifier optimal? Have you fixed all the bugs? This is our sixth competition. We use the same submission instructions as for the previous competition. Contribute to the SDG component market. ==================== PART 1: Preparing for Baseball. The next competition will allow both secret and the classic derivatives in the context of CSP. We unify classic and secret derivatives and give the price a new meaning in the case of a secret derivative. When a raw material is delivered, it comes now with a secret assignment S that only the Administrator will see. The secret assignment is the best assignment the creator of the derivative could produce for this raw material. After the buyer has delivered the finished product FP, the administrator determines the payout: secret SDG: quality(FP) with respect to secret S (think of secret S as the maximum): payout = quality(FP) - (price * quality(S)). Do an impact analysis for this requirements upgrade. How will the agents change? Finishing Agent: It now needs to search for an assignment. Recommended technique: clause learning. A transition system presenting clause learning will be shown in class. The idea is simple: when the search does not produce a better assignment, a new constraint will be added to the CSP formula. This constraint will always have to be satisfied in the future. Raw Material Delivery Agent: The hardest raw materials will no longer be symmetric. The challenge is to find raw materials for which you know a good assignment that is well hidden and difficult to find or approximate. Offering Agent: It will have to reason about how well the secrets can be hidden with the available relations. Note that in the classic case, we can easily recover the secret when the derivative creator acts rationally and delivers a symmetric raw material. Turn in a one to two page document summarizing how you plan to address this requirements change incorporating secret derivatives. PART 2: This is repeated from subproject 4! ============================================ TESTING Compare the administrator against our requirements document. http://www.ccs.neu.edu/home/lieber/courses/csu670/sp09/project/csu670-sp09-reqs.pdf What to turn in: All discrepancies you find with a description how to repair the software. Pay detailed attention to sets versus lists. An addition: How could defensive programming techniques have helped to detect the administrator vulnerabilities earlier?