П М
П М личный блог
26 сентября 2016, 10:52

Торговый робот по аналогии с шахматной программой

Хочу обсудить возможность построения торгового робота по аналогии с программой играющей в шахматы.
Насколько я знаю (а я не большой спец), шахматные программы имеют в себе такие составляющие:
— просчитанную таблицу 99.99 (а то и 100%) N первых ходов партий — т.н. таблица дебютов, наверное ходов на 10 точно
— функция подсчёта «стоимости»-рейтинга позиции, т.е. ранжирования, какая позиция для программы-игрока лучше из двух, трёх и M разных позиций
— эмулятор своих и чужих ходов (часть которая знает как ходят фигуры)
— функция принятия решения
дальше уже нюансы — как глубоко подсчитываются варианты (2-3 хода в глубину считается средней сложностью), какие оптимизации применяются (некоторые позиции заведомо проигрышные, а ходы глупые, на них не надо тратить время)

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

Наверняка такая простая мысль пришла уже во многие головы. Вопрос, кто-нибудь что-нибудь пробовал из вас подобное? Как оно, стоит ли свеч? Может есть какие-то интересные статьи про подобного рода роботов?
В последнее время что-то делать не тянет. А вот почитать и подумать интересно.
16 Комментариев
  • sortarray sortarray
    26 сентября 2016, 10:56
    Если я не ошибаюсь, шахматная программа делает полный перебор всех вариантов развития игры на каждом ходу. То есть, в принципе, поведение детерминировано. В отношении рынка такого достигнуть едва ли возможно, там придется основываться на вероятностях. Да и начальные входные данные всегда разные
      • sortarray sortarray
        26 сентября 2016, 11:05
        ПBМ, Я слышал что делаются. Оптимизации не в счет. Естествено готовые таблицы и кеширование тоже есть. Современные вычислительные мощности это позволяют. Не случайно, алгоритм был изобретен еще где-то в 60-е, и уже тогда комп обыгрывал большинство шахматистов, дальше был лишь вопрос производительности.
      • sortarray sortarray
        26 сентября 2016, 11:13
        ПBМ, суть в том, что компьютер не способен думать так как человек, он и в шахматы играет не так. Компьютерные программы детерминированы. Компьютер не знает где остановится, если ему явно не указать условия остановки, в этом ИМХО, принципиальное различие. Все эти сказки про ИИ, это пока порожняк. Нет ответа на ключевые вопросы. Например, комп не может ответить на произвольный вопрос, который человек вычисляет с молниеносной скоростью, даже не задумываясь. Например: «почему приходит дед мороз?». При том, что чисто вычислительные возможности компа на порядки мощней любого интеллекта. На самом деле даже до зачаточного состояния еще никто не дошел
          • sortarray sortarray
            26 сентября 2016, 11:35
            ПBМ, 
            вопрос был про роботов аналогичных игре в шахматы.

            Ну я свое мнение высказал. На мой взгляд, именно аналогичный шахматному алгоритму — алгоритму тупого перебора — невозможно. Вы можете продолжать верить рекламе гугл, дело Ваше.

            искусственные нейронные сети не детерминированы.

            В CS общеизвестным фактом является то, что единственная недетерминированная модель вычислений — это Модель Акторов (Carl Hewitt)а также CSP Хоара, которая, фактически, является частным случаем. Доказано, что даже недетерминированная машина Тьюринга обладает лишь ограниченным недетерминизмом, есть алгоритмы, которые она не может реализовать. Если интересно, я могу привести пруфы и пояснения. А Вы давайте пруф, что нейроные сети недетерминированны. Нейросети — это вообще что? модель или инструмент реализации?
            • baron_samedi
              26 сентября 2016, 12:06
              sortarray sortarray, 
              перебор — не тупой, уж точно не совсем тупой — в этом дело.
              • sortarray sortarray
                26 сентября 2016, 12:10
                baron_samedi, тупой — это условно. там, скорей всего, идет разбиение на деревья, с последующим их обходом, на каких то этапах идет полный сброс заведомо непродуктивных ветвей. Но это сути особо не меняет.
                • baron_samedi
                  26 сентября 2016, 12:35
                  sortarray sortarray, 
                  одно -двух полуходовые форсированные варианты — сразу обсчитываются, т е если есть большое количество форсированных вариантов с ясной оценкой — их очень быстро и качественно обсчитывает прога (всякие грубые ошибки и маты в 1-3 полухода).
                  Дальше — выбор вариантов обсчет с оценкой позиции на каждом полуходе.
                  Стиль игры можно задавать путем приоритетов в оценке позиции (от тактических до стратегических).
      • sortarray sortarray
        26 сентября 2016, 11:22
        ПBМ, 
        математики между прочим подсчитали, что бесконечная сумма

        Математики, как всегда, бредят. У них даже нет четкого понимания того, сука, что никаких чисел в реальности вообще не существует. Это абстракции, вопрос чисто конвенциальный. Машина не может достичь предела подсчета бесконечного индуктивного ряда, она никогда не остановится, это ли ни есть наилучшее доказательство их маразма. Они там даже что-то пытаются кукарекать, что матиндукция == дедукция(белое == черное, ога). Если так рассуждать, там все что угодно доказать можно, вопрос лишь в том, какую аксиоматику всунуть
      • baron_samedi
        26 сентября 2016, 12:05
        ПBМ, 
        Ну!  Вы совсем не играли с компом в шахматы и шашки!!!!
        Поиграйте и посмотрите строку рассчета — увидите! глубину можно временем ограничивать или на сколько полуходов!
        Полный перебор — ну это тоже не получится (хотя бы пока), у людей круглыми сутками машины стоят!!!
  • Brad Tick
    26 сентября 2016, 11:07
    как можно наперед знать 1000 шагов рыночных участников? только в нескольких случаях — когда толпа ринется на вход/выход в жадности/страхе. поведение масс намного более предсказуемо. но это все и так происходит в районе новых хаев/лоев.
  • buy_sell
    26 сентября 2016, 11:24
    Два вопроса.
    Вы вручную торгуете в плюс? Если ответ да, то вопрос 2.
    Хватит ли ваших навыков программирования чтобы перевести ваш положительный опыт торговли в работающий алгоритм? Я этого сделать не смог. Мне нужна была программа способная отличить кошку от собаки, на рисунках детей. Для моего ручного алгоритма больше подходит программа распознавания образов, а не шахматная программа.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн