Блог им. bosco

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

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

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

Наверняка такая простая мысль пришла уже во многие головы. Вопрос, кто-нибудь что-нибудь пробовал из вас подобное? Как оно, стоит ли свеч? Может есть какие-то интересные статьи про подобного рода роботов?
В последнее время что-то делать не тянет. А вот почитать и подумать интересно.
★1
16 комментариев
Если я не ошибаюсь, шахматная программа делает полный перебор всех вариантов развития игры на каждом ходу. То есть, в принципе, поведение детерминировано. В отношении рынка такого достигнуть едва ли возможно, там придется основываться на вероятностях. Да и начальные входные данные всегда разные
avatar
sortarray sortarray, полный на каждом не делается, т.к. это очень долго. для дебютов есть уже готовые таблицы рассчитанные.
дальше уже делается расчёт на 2-3 хода для простых программ, для обычного человека хватит. для очень сложных программ расчёт идёт на побольше, 5-6 ходов наверное. для тех что с чемпионами играют может быть и полный перебор делается.

рынок безусловно сложнее. но и вероятности можно запрограммировать.

математики между прочим подсчитали, что бесконечная сумма
1+2+3+4… = -1/12  (минус одна двенадцатая)
так что невозможных задач нет.
avatar
ПBМ, Я слышал что делаются. Оптимизации не в счет. Естествено готовые таблицы и кеширование тоже есть. Современные вычислительные мощности это позволяют. Не случайно, алгоритм был изобретен еще где-то в 60-е, и уже тогда комп обыгрывал большинство шахматистов, дальше был лишь вопрос производительности.
avatar
ПBМ, суть в том, что компьютер не способен думать так как человек, он и в шахматы играет не так. Компьютерные программы детерминированы. Компьютер не знает где остановится, если ему явно не указать условия остановки, в этом ИМХО, принципиальное различие. Все эти сказки про ИИ, это пока порожняк. Нет ответа на ключевые вопросы. Например, комп не может ответить на произвольный вопрос, который человек вычисляет с молниеносной скоростью, даже не задумываясь. Например: «почему приходит дед мороз?». При том, что чисто вычислительные возможности компа на порядки мощней любого интеллекта. На самом деле даже до зачаточного состояния еще никто не дошел
avatar
sortarray sortarray, нет, комп может ответить, просто ты наверное ничего не слышал про победителя игры Jeopardy с искусственным интеллектом.
про детерминированность компьютерных программ — тоже не правда. искусственные нейронные сети не детерминированы.
твой телефон без всякой подстройки и тренировки распознает и твой голос. и голос твоей жены. и ребёнка. (через облако, конечно)
но это всё отвлечение от темы, вопрос был про роботов аналогичных игре в шахматы.
avatar
ПBМ, 
вопрос был про роботов аналогичных игре в шахматы.

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

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

В CS общеизвестным фактом является то, что единственная недетерминированная модель вычислений — это Модель Акторов (Carl Hewitt)а также CSP Хоара, которая, фактически, является частным случаем. Доказано, что даже недетерминированная машина Тьюринга обладает лишь ограниченным недетерминизмом, есть алгоритмы, которые она не может реализовать. Если интересно, я могу привести пруфы и пояснения. А Вы давайте пруф, что нейроные сети недетерминированны. Нейросети — это вообще что? модель или инструмент реализации?
avatar
sortarray sortarray, спасибо за мнение. 

avatar
sortarray sortarray, 
перебор — не тупой, уж точно не совсем тупой — в этом дело.
avatar
baron_samedi, тупой — это условно. там, скорей всего, идет разбиение на деревья, с последующим их обходом, на каких то этапах идет полный сброс заведомо непродуктивных ветвей. Но это сути особо не меняет.
avatar
sortarray sortarray, 
одно -двух полуходовые форсированные варианты — сразу обсчитываются, т е если есть большое количество форсированных вариантов с ясной оценкой — их очень быстро и качественно обсчитывает прога (всякие грубые ошибки и маты в 1-3 полухода).
Дальше — выбор вариантов обсчет с оценкой позиции на каждом полуходе.
Стиль игры можно задавать путем приоритетов в оценке позиции (от тактических до стратегических).
avatar
ПBМ, 
математики между прочим подсчитали, что бесконечная сумма

Математики, как всегда, бредят. У них даже нет четкого понимания того, сука, что никаких чисел в реальности вообще не существует. Это абстракции, вопрос чисто конвенциальный. Машина не может достичь предела подсчета бесконечного индуктивного ряда, она никогда не остановится, это ли ни есть наилучшее доказательство их маразма. Они там даже что-то пытаются кукарекать, что матиндукция == дедукция(белое == черное, ога). Если так рассуждать, там все что угодно доказать можно, вопрос лишь в том, какую аксиоматику всунуть
avatar
ПBМ, 
Ну!  Вы совсем не играли с компом в шахматы и шашки!!!!
Поиграйте и посмотрите строку рассчета — увидите! глубину можно временем ограничивать или на сколько полуходов!
Полный перебор — ну это тоже не получится (хотя бы пока), у людей круглыми сутками машины стоят!!!
avatar
baron_samedi, это наверное не мне ответ. я и не писал что полный перебор происходит. наоборот. 2-3 хода как правило достаточно.
иногда да, ограничивают 1 минутой, т.е. временем.
в шахматы играл. как-то целое лето убил, месяца полтора, чтобы обыграть программу с сайта ICC — Dasher, с программой которая у них называется Jennifer. нарочно не пользовался записями. только своей памятью. откатывать неверные ходы у программы нельзя, каждая партия сначала.
нашел где-то на 31ом ходу чтоли ошибку у программы. и потом долго и мучительно пытался из неё выиграть.
avatar
как можно наперед знать 1000 шагов рыночных участников? только в нескольких случаях — когда толпа ринется на вход/выход в жадности/страхе. поведение масс намного более предсказуемо. но это все и так происходит в районе новых хаев/лоев.
avatar
Два вопроса.
Вы вручную торгуете в плюс? Если ответ да, то вопрос 2.
Хватит ли ваших навыков программирования чтобы перевести ваш положительный опыт торговли в работающий алгоритм? Я этого сделать не смог. Мне нужна была программа способная отличить кошку от собаки, на рисунках детей. Для моего ручного алгоритма больше подходит программа распознавания образов, а не шахматная программа.
avatar

теги блога П М

....все тэги



UPDONW
Новый дизайн