Coder Social home page Coder Social logo

holahaggling's Introduction

Ключевая идея решения - определить цену каждого товара для соперника (или максимально снизить число возможных вариантов таких цен).

Цена товаров соперника определяется на основе следующих факторов:

  • Предложения, сделанные соперником. Предполагается, что соперник:
    • не будет запрашивать товары, которые не имеют для него ценности;
    • будет постепенно снижать суммарную стоимость своего предложения;
    • при снижении стоимости своего предложения будет отказываться в первую очередь от тех товаров, которые имеют для него меньшую цену. Особняком стоит рассмотреть случай, когда товар не имеет ценности для меня. Умный соперник, определив это, не будет снижать свой запрос на этот товар.
  • Предложения, сделанные мной. Предполагается, что соперник не будет выдвигать предложение, которое имеет для него стоимость, не превышающую стоимость моего предложения на предыдущем шаге.

На основе предполагаемых цен соперника, все варианты моих предложений на каждом шаге сортируются по возрастанию ожидаемой суммарной стоимости для соперника. Далее в отсортированном списке ищется последний элемент, который входит в список сделанных мной предложений. Начиная со следующего элемента из отсортированного списка выбирается то предложение, которое обеспечит меня максимальной суммарной стоимостью. Если очередной вариант оказывается слишком невыгодным для меня, происходит откат на одно из более ранних предложений (наиболее выгодное для соперника).

Торговля первым игроком ведется более агрессивно (жадно), поскольку на последнем шаге он может выдвинуть практически любое предложение, с которым сопернику, вероятно, придется согласиться, чтобы не остаться вообще с нулем.

holahaggling's People

Contributors

morozec avatar feldgendler avatar abranhe avatar vermilion1 avatar vtytar avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.