1 / 15

Software Development using artificial markets of constructively egoistic agents

Software Development using artificial markets of constructively egoistic agents. Karl Lieberherr. Problem Solving Software for computationally hard problems: examples. Given a transportation task, find the optimal way of carrying it out.

Download Presentation

Software Development using artificial markets of constructively egoistic agents

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. Software Development using artificial markets of constructively egoistic agents Karl Lieberherr SD-F09

  2. Problem Solving Softwarefor computationally hard problems:examples • Given a transportation task, find the optimal way of carrying it out. • Given an employment market, find the optimal assignment of workers to companies. • Given a Boolean formula, is it satisfiable? • Given a Boolean formula in conjunctive normal form, find an assignment that maximizes the fraction of satisfied clauses. SD-F09

  3. A new use of computers • Design an artificial market AM(X) for artificial organisms (agents) that are developed by humans. X is a problem solving domain (optimization problems, decision problems). • Purpose of artificial market AM(X): Develop good algorithms and useful knowledge about a problem solving domain X. The market leader has the best algorithm and the best knowledge compared to all the other agents. SD-F09

  4. Traditional Approach Requirements for X Human Developers human1 human3 human2 human4 Static Evaluation. No competition. Testing unit testing integration testing Develop new software for problem solving domain X Benchmark is used to evaluate software Users SD-F09

  5. Why Software Development through an artificial market? Requirements for X Evaluates fairly, frequently, constructively and dynamically. Drives innovation. Challenges humans. Agents point humans to what needs attention in the software. Human Developers human1 human2 Erika Patrick Artificial Market(X) Erika-Patrick-agent winning-agent Develop new software for problem solving domain X Benchmark is used to evaluate software Users SD-F09

  6. Erika-Patrick Agent • Surrogate of combined knowledge of Erika and Patrick successfully transferred to agent. • Transfer knowledge by programming. SD-F09

  7. Agent design • How to design an artificial organism? • Has a basic need: maximize life energy, money. • Has a rhythm. Every round the same activity happens. • Interacts with other agents by offering and buying challenges. Offering and buying a challenge might create a big win but it also makes the agent vulnerable to a loss. There is uncertainty when offering or buying a challenge. SD-F09

  8. Agent design • challenge = (belief, price) • Belief expresses a fact about problem solving domain X believed to be true. • Belief is result of experiments with problem solving algorithm. • If problem solving algorithm is not good (has bugs, is inefficient compared to others), the belief can be discounted by buyer/acceptor of challenge. • If belief is successfully discounted, the seller has to pay more than the initial price to buyer. • If belief is not discounted, the buyer lost the price he paid. SD-F09

  9. Important property of belief • Belief must be efficiently • Discountable or • Supportable • Done through interactive protocol • Belief (t, bt(t,p,s)) • One party delivers problem p satisfying pred t • The other party produces solution s of quality(p,s) • The predicate bt(t,p,s) must be efficiently checkable • This may be repeated SD-F09

  10. Which means • Agents should only buy a challenge whose belief they think they can discount. • Agents should only offer a challenge if they can successfully support the belief against a buyer. SD-F09

  11. Beliefs • Belief is supported: By giving problem in domain X to buyer for which it cannot find a solution that contradicts the belief. • Belief is discounted: By giving problem in domain X to buyer for which it can find a solution that contradicts the belief. • Belief language needs to be carefully chosen. SD-F09

  12. Agents are constructively egoistic • They have an ego. They can constructively show that they are better than other agents by playing the game. • They give constructive feedback to other agents. • The social welfare consists of improving software/algorithms. SD-F09

  13. SCG(X) • X: optimization problem. • Classic beliefs: • I believe that I can give you a problem satisfying predicate pred so that you cannot find an assignment satisfying the fraction q of all constraints. (exists p in pred for all J fsat(p,J) < q) • I believe that for all problems satisfying predicate pred I can find an assignment satisfying the fraction q of all constraints. (for all p in pred exists J fsat(p,J) >= q) • Is one the negation of the other? SD-F09

  14. More beliefs • I believe that if you give me 10 problems of kind X and you give me 10 problems of kind X, I solve your problems better than you solve mine. (time limit 1 minute for both). • We call this a duel belief. SD-F09

  15. More beliefs • I believe that if I give you an optimization problem of kind X for which I have a secret solution, you cannot find a solution that is at least as good as mine (time limit 1 minute). SD-F09

More Related