Вычислительные ресурсы хочу
От: Шебеко Евгений  
Дата: 11.08.12 21:33
Оценка: 1 (1)
Пожалуйста внимательно прочтите это сообщение


Есть игра — пять в ряд. Смысл у неё такой же как у крестиков ноликов, только нужно собрать линию не из 3, а 5 крестиков или ноликов.
А вообще это не пять в ряд, а японское Гомоку. В нашем варианте играется на неограниченном листе. В гомоку ограничена полем 15X15

Без особого успеха занимаюсь этой игрой уже несколько лет.

Век живи, век учись — дураком помрёшь! Пару лет назад наконец наткнулся на совершенно замечательный труд
"Go-Moku and Threat-Space Search" некого Louis Victor Allis
И ещё более фундаментальный труд "Searching for Solutions in Games and Arti cial Intelligence"

В общем человек не только нашёл совершенно замечательный способ решения, но ещё и доказал, что крестики (те кто начинают) всегда выигрывают.
Доказал он это для поля 15X15. Сделал он это в 92 году.

Тоже самое пытаюсь сейчас сделать я, только для неограниченного поля.
По идее это должно быть легче, потому как:

In the early days the game was played on a
19×19 board, since Go boards have that size.
This variant is still occasionally played. However,
the larger board size increases Black’s
advantage (Sakata and Ikawa, 1981).


Но, видимо я не такой умный, как мистер Алис. И даже с современными ресурсами у меня это не выходит.

The calculations were performed in parallel, on 10
SUN SPARCstations 2 of the Vrije Universiteit in
Amsterdam. Each of the machines was equipped
with 64 or 128 Mbytes of internal memory and a
swap space of over 200 Mbytes. Our processes
could only run overnight. As a result, some
processes not finished at 8 a.m. were killed, and had
to be restarted at 6 p.m. Still, over 1000 CPU-hours
a week were available for solving Go-Moku.
First, the non-restricted variant of Go-Moku was
examined, in which an overline is a winning pattern

Доу!

Сейчас у меня считается позиция с 7 хода. Состояние дел можно посмотреть здесь
Даже с ограниченными вариантами ответа для победителя это уже 1600000 вариантов.
Только с этого хода решения стали сворачиваться. След. уровень увеличется всего в 2.5 раза.

На Амазоне 16 процессов обошлись мне в 12$ (2 сервака по 8 ядер)
Учитывая, что просто для перехода на след. уровень потребуется мощность на 2 порядка больше, то для хобби это очень круто.
Нужно найти более дешёвый источник вычислительных ресурсов.

Поэтому вопрос. Может ли кто предоставить бесхозные вычислительные ресурсы на своих рабочих компах? Ночью к примеру?
Прежде чем сказать нет, и разразится язвенным постом, посмотрите снова в эти выразительные глаза.


У меня есть около 300 WMZ. Чтобы как-то стимулировать процесс, готов их планомерно на это дело потратить.
Это виндовая прога, которая получает задание, решает его (около минуты) и отсылает обратно.
Количество процессов можно задавать.

Сейчас, пока 7 уровень решается, пройдёт дней 10-20. Есть время подумать и определится.
Так что если вы готовы принять участие из любви к искусству — пишите. Мне нужно набрать хотя бы 60 процессов дней на 10.


Предупреждение. Есть большая вероятность вообще не получить никакого результата из-за таких причин:
— у меня может быть банальная ошибка
— у меня может быть логическая ошибка
— может быть логическая ошибка в оценке того, что противник не может повлиять на победу. Поэтому можно получить результат, который на самом
деле ничего не доказывает
— из-за ограничения "победителя" в ходах, можно вообще получить недостоверный результат.
— задача не свернётся при имеющихся ресурсах

ЗЫ. Пожалуйста, если вы только сами не угробили пару лет на похожую задачу, не надо давать советы.
Причины для этого такие:
— Вы не в теме. И потребуется много времени, чтобы вам это объяснить.
— Я вас просто не пойму. Даже имея две великолепные работы, я могу понять только 40% идей, которые изложены там.
Думаете у вас получится лучше?
— Идея может оказаться неэффективной. Ни в одном проекте по работе я не применял столько идей и не испытывал столько разочарования,
когда они оказывались абсолютно неэффективными.
— Для проверки идеи требуется время. А мне бы уже хотелось получить результат.

ЗЗЫ. Почему на этом форуме.
Кроме желания найти вычислительные ресурсы, есть ещё опасение, что результаты будут неадекватными.
Не сложно вмешаться в процесс получения задания и вернуть какую-то фигню. В результате всё дерево решений пойдёт лесом.
На тематическом форуме меньше шанс, что люди будут страдать такой фигнёй.
Кроме того как-то минимально надо процесс координировать и лучше держать связь с ограниченным количеством людей.

ЗЗЗЫ. Я думаю что "всем пофиг" что я там делаю. Но если вдруг интересно,
при положительном результате, обещаю написать статью в RSDN.
Re: Гомоку, рэндзю
От: Qbit86 Кипр
Дата: 11.08.12 21:47
Оценка: 6 (1) +1 :)
Здравствуйте, Шебеко Евгений, Вы писали:

ШЕ>Без особого успеха занимаюсь этой игрой уже несколько лет.


Ты читал книжку «Дядя Петрос и проблема Гольдбаха»?
Глаза у меня добрые, но рубашка — смирительная!
Re: Вычислительные ресурсы хочу
От: wildwind Россия  
Дата: 11.08.12 22:32
Оценка: +2
Здравствуйте, Шебеко Евгений, Вы писали:

ШЕ>Пожалуйста внимательно прочтите это сообщение


Есть два соображения.

1. Портируй на Linux. Бесхозными Linux ресурсами поделятся гораздо охотнее, чем бесхозными Win ресурсами. По двум причинам. Во-первых, в opensource культуре принято делиться; а во-вторых, и это главное, ресурсы эти в основном казенные. Вон, к примеру, Шеридан на казенных серверах IRC сервер для RSDN замутил. У каждого пятого тут, я уверен, найдется простаивающая VPS-ка. (У меня например найдется). Тот же Амазон дает микро-инстанс (с Linux) на год бесплатно (для новых пользователей).

2. Есть пара русских клонов Кикстартера, сейчас названия не вспомню, но если надо, найду.
Re: Вычислительные ресурсы хочу
От: MasterZiv СССР  
Дата: 12.08.12 13:03
Оценка:
On 08/12/2012 01:33 AM, Шебеко Евгений wrote:
> У меня есть около 300 WMZ. Чтобы как-то стимулировать процесс, готов их
> планомерно на это дело потратить.
> Это виндовая прога, которая получает задание, решает его (около минуты) и
> отсылает обратно.
> Количество процессов можно задавать.

Я бы мог предоставить ресурсы, ночью и не жалко, но вот проблема со
словом "виндовая". Ну можно конечно wine поставить. Но влом на сервере.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: Вычислительные ресурсы хочу
От: Шебеко Евгений  
Дата: 12.08.12 15:03
Оценка:
MZ>Я бы мог предоставить ресурсы, ночью и не жалко, но вот проблема со
MZ>словом "виндовая". Ну можно конечно wine поставить. Но влом на сервере.
Не надо ничего ставить.

Я собирал под FreeBSD. Надо будет — соберу под линукс.

Какая конкретно ОС?
wget есть?
Re: Вычислительные ресурсы хочу
От: Кодт Россия  
Дата: 12.08.12 16:57
Оценка: 9 (3)
Здравствуйте, Шебеко Евгений, Вы писали:

ШЕ>В общем человек не только нашёл совершенно замечательный способ решения, но ещё и доказал, что крестики (те кто начинают) всегда выигрывают.

ШЕ>Доказал он это для поля 15X15. Сделал он это в 92 году.

Вообще-то, для простого гомоку это очень просто доказывается, что крестики выигрывают. Потому что у них преимущество в один ход
Чтобы скомпенсировать это, для крестиков вводятся ограничения, и такая игра уже называется рэндзю. Весьма заковыристая, в отличие от гомоку.
http://www.gambler.ru/%D0%A0%D1%8D%D0%BD%D0%B4%D0%B7%D1%8E
Перекуём баги на фичи!
Re: Вычислительные ресурсы хочу
От: RomikT Германия  
Дата: 12.08.12 17:13
Оценка:
Здравствуйте, Шебеко Евгений, Вы писали:

Я могу четыре ядра дать круглосуточно. ArchLinux. Могу что-нибудь в виртуалку поставить.
Re: Вычислительные ресурсы хочу
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 13.08.12 05:39
Оценка:
Здравствуйте, Шебеко Евгений, Вы писали:

Могу ноут на i5 Sandy Bridge Убунтой 64bit не выключать сутками. Wine там есть, виртуалка с семёркой тоже.
Re[3]: Вычислительные ресурсы хочу
От: MasterZiv СССР  
Дата: 13.08.12 07:58
Оценка:
On 08/12/2012 07:03 PM, Шебеко Евгений wrote:

> Какая конкретно ОС?

Ubuntu Linux 12.04
> wget есть?

А то!
Posted via RSDN NNTP Server 2.1 beta
Re[4]: Вычислительные ресурсы хочу
От: MasterZiv СССР  
Дата: 13.08.12 07:59
Оценка:
>> Какая конкретно ОС?
> Ubuntu Linux 12.04

Пардон, 64 бита, конечно же.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: Вычислительные ресурсы хочу
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 13.08.12 08:02
Оценка: +3
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, Шебеко Евгений, Вы писали:


ШЕ>>В общем человек не только нашёл совершенно замечательный способ решения, но ещё и доказал, что крестики (те кто начинают) всегда выигрывают.

ШЕ>>Доказал он это для поля 15X15. Сделал он это в 92 году.

К>Вообще-то, для простого гомоку это очень просто доказывается, что крестики выигрывают. Потому что у них преимущество в один ход


Очевидно, что не могут выиграть нолики. А так может быть еще ничья...
Re: Вычислительные ресурсы хочу
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 13.08.12 08:05
Оценка:
Здравствуйте, Шебеко Евгений, Вы писали:

ШЕ>ЗЫ. Пожалуйста, если вы только сами не угробили пару лет на похожую задачу, не надо давать советы.

ШЕ>Причины для этого такие:
ШЕ>- Вы не в теме. И потребуется много времени, чтобы вам это объяснить.
ШЕ>- Я вас просто не пойму. Даже имея две великолепные работы, я могу понять только 40% идей, которые изложены там.
ШЕ> Думаете у вас получится лучше?
ШЕ>- Идея может оказаться неэффективной. Ни в одном проекте по работе я не применял столько идей и не испытывал столько разочарования,
ШЕ> когда они оказывались абсолютно неэффективными.
ШЕ>- Для проверки идеи требуется время. А мне бы уже хотелось получить результат.

Ну я немного копал в сторону шахматного программирования... А так, просто интересно, какие эвристики используются? Ну типа ходов-киллеров, ...
Re[2]: Вычислительные ресурсы хочу
От: Шебеко Евгений  
Дата: 13.08.12 19:04
Оценка:
M>Ну я немного копал в сторону шахматного программирования... А так, просто интересно, какие эвристики используются? Ну типа ходов-киллеров, ...
Treat-space search

В отличии от шахмат, здесь есть позиции, на которые надо обязательно реагировать.
Собственно этот Allis заметил, что люди ищут сначала последовательность вилок, которые приводят к победе,
практически не обращая внимания на ходы противника. Если такая последовательность найдена, то начинают её уже проверять.
Ключевая особенность в том, что для построения последовательности на угрозу отвечают сразу всеми защитными ходами одновременно. Если последовательность всё ещё можно построить, то уже потом угроза анализируется на контратаки.

У него ещё есть эвристика нулевого хода. Она у него даётся как: если игрок пропускает свой ход, то противник может построить выигрышную
последовательность вилок. Сказано, что типа эта позволяет видеть скрытые угрозы. Если честно, я не допёр как этим пользоваться, поэтому не использую.
Как бы непонятно, ну увидим мы угрозу на ход раньше. Совсем неочевидно, какими ходами её предотвратить. Это может быть ход на то место, откуда угроза разивается или к примеру боковые ходы, которые могут способствовать развитию контратаки.

Блин. Всё равно ничего не понятно получается. В общем сложно объяснить. Для того чтобы было понятно, нужно писать статью и подбирать картинки с примерами.
Re[3]: Вычислительные ресурсы хочу
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 14.08.12 07:45
Оценка:
Здравствуйте, Шебеко Евгений, Вы писали:

M>>Ну я немного копал в сторону шахматного программирования... А так, просто интересно, какие эвристики используются? Ну типа ходов-киллеров, ...

ШЕ>Treat-space search

ШЕ>В отличии от шахмат, здесь есть позиции, на которые надо обязательно реагировать.

В шахматах это техница ФВ (форсированного варианта). Начиная с некоторой глубины дальше считаются только шахи и взятия.

ШЕ>Собственно этот Allis заметил, что люди ищут сначала последовательность вилок, которые приводят к победе,

ШЕ>практически не обращая внимания на ходы противника. Если такая последовательность найдена, то начинают её уже проверять.
ШЕ>Ключевая особенность в том, что для построения последовательности на угрозу отвечают сразу всеми защитными ходами одновременно. Если последовательность всё ещё можно построить, то уже потом угроза анализируется на контратаки.

По сути это и есть NULL-move


ШЕ>У него ещё есть эвристика нулевого хода. Она у него даётся как: если игрок пропускает свой ход, то противник может построить выигрышную

ШЕ>последовательность вилок. Сказано, что типа эта позволяет видеть скрытые угрозы. Если честно, я не допёр как этим пользоваться, поэтому не использую.
ШЕ>Как бы непонятно, ну увидим мы угрозу на ход раньше. Совсем неочевидно, какими ходами её предотвратить. Это может быть ход на то место, откуда угроза разивается или к примеру боковые ходы, которые могут способствовать развитию контратаки.

Наверное пользоваться так: (1) поскольку мы ищем победу крестиков, то эвристику NULL-move имеет смысл выполнять для ноликов; (2) Нолики пропускают ход, и мы ищем атаку со стороны крестиков; (3) В случае, когда есть форсированный вариант, приводящий крестиков к победе, то можно эту последовательность рассматривать как киллер (т. е. при переборе всех возможных ходов ноликов, опровержение начинать с этого варианта). Вообще, alpha-beta очень чувствительна к порядку перебора вариантов.



ШЕ>Блин. Всё равно ничего не понятно получается. В общем сложно объяснить. Для того чтобы было понятно, нужно писать статью и подбирать картинки с примерами.

Все понятно, не переживай

Еще (A) идея Z-orbice. Многие позиции будут повторятся (+симметрии). Хотелось бы построить по позициям какой-нить хэш, чтобы это можно было быстро детектировать. Самая простая идея, построить таблицу, где каждой клетке поля соответствует некоторое число для крестиков (для ноликов соответсвенно). Потом мы делаем две суммы и mod на некоторое простое число. Что позволит быстро находить одинаковые позиции. Конечно, это не покрывает симметрии, но... Еще (B) имеет смысл расспросить данов по поводу теории дебютов, и взять ее за основу. Фактически, в свое время я читал, что в рендзю (запрещены вилки 3x3 и 4x4 черным) с выбором дебюта белыми (после третьего хода белые выбирают, хотят ли они играть черными) результативность составляла 55% в пользу белых. Соотвественно, уже сейчас теории этой игры очень сильно развита. (C) Еще для позиций, для которых не установлен результат, можно прикрутить ОФ для того, чтобы управлять alpha-beta.

Далее, очень сомнительно выглядит цифра 1 600 000 позиций. На моем компе шахматный движок без ОФ легко дает 3 000 000 позиций в секунду на одном ядре. Возможно, можно оптимизировать генерацию ходов.
Re: Вычислительные ресурсы хочу
От: Шебеко Евгений  
Дата: 15.08.12 20:21
Оценка:
Спасибо всем кто откликнулся.
Также тем, кто написал мне личное сообщение. К сожалению личные сообщения куда-то пропали,
и я их сейчас не могу найти.

На данный момент я собрал нативно под Ubuntu 64 бита.
Тестовый экземпляр успешно крутитя на амазоне.

Желающие принять участие в процессе под убунту или виндой, пришлите пож. письмо на: shebeko (на) mail (точка) ru
В ответ я вышлю готовую инструкцию.

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

Спасибо!
Re: Статистика
От: Шебеко Евгений  
Дата: 17.08.12 17:12
Оценка:
Просто тупая статистика.
Напомню, что на этом уровне 1600000 вариантов.
На данный момент 6346 варианта свернулись.


Thu Aug 16 12:44:29 EEST 2012
52206 193.200.64.45
14285 46.51.151.160
11870 62.117.92.34
20773 72.208.172.107
32577 94.154.220.68
  131712

Fri Aug 17 09:36:19 EEST 2012
   7 176.34.174.160
3352 176.34.197.192
2900 176.34.201.46
6220 188.134.46.129
61256 193.200.64.45
   3 46.137.155.147
3001 46.137.19.236
3106 46.137.70.33
3292 46.137.8.4
3344 46.51.149.69
19135 46.51.151.160
2977 54.247.149.65
3471 54.247.27.36
3449 54.247.47.38
30631 62.117.92.34
26980 72.208.172.107
   9 79.125.51.119
3268 79.125.57.107
   6 79.125.60.174
38254 94.154.220.68
  214661

Fri Aug 17 20:08:50 EEST 2012
   7 176.34.174.160
7582 176.34.197.192
7082 176.34.201.46
13189 188.134.46.129
66622 193.200.64.45
   3 46.137.155.147
6977 46.137.19.236
6901 46.137.70.33
7421 46.137.8.4
7440 46.51.149.69
19135 46.51.151.160
  35 54.247.144.117
7187 54.247.149.65
7839 54.247.27.36
7395 54.247.47.38
34378 62.117.92.34
26980 72.208.172.107
   9 79.125.51.119
7635 79.125.57.107
   6 79.125.60.174
38254 94.154.220.68
  272077
Re[2]: Статистика
От: Holms США  
Дата: 17.08.12 18:53
Оценка:
Здравствуйте, Шебеко Евгений, Вы писали:

ШЕ>
ШЕ>34378 62.117.92.34
ШЕ>26980 72.208.172.107
ШЕ>   9 79.125.51.119
ШЕ>7635 79.125.57.107
ШЕ>   6 79.125.60.174
ШЕ>38254 94.154.220.68
ШЕ>  272077

ШЕ>


Блин, упал до 4-го места. Ладно возобновляю работу
... << RSDN@Home 1.2.0 alpha 5 (M4) rev. 1510>>
The life is relative and reversible.
Re[3]: Статистика
От: Шебеко Евгений  
Дата: 17.08.12 20:22
Оценка:
H>Блин, упал до 4-го места. Ладно возобновляю работу
Ну для поддержания спортивного духа, статистика с сортировкой по количеству.
С количеством терминальных решений и последним терминальным решением.
Хотя с 50 спотами амазона, конечно, сложно соревноваться.

Fri Aug 17 23:19:02 EEST 2012
193.200.64.45 67247
94.154.220.68 38254
62.117.92.34 34378
72.208.172.107 27887
46.51.151.160 19135
188.134.46.129 13189
54.247.27.36 7839
79.125.57.107 7635
176.34.197.192 7582
46.51.149.69 7440
46.137.8.4 7421
54.247.47.38 7395
54.247.149.65 7187
176.34.201.46 7082
46.137.19.236 6977
46.137.70.33 6901
54.247.144.117 79
176.34.210.22 75
54.247.34.113 68
54.247.26.156 58
79.125.51.119 54
54.247.26.107 51
46.137.44.209 51
46.137.1.103 51
54.247.44.140 47
54.247.143.87 45
176.34.216.110 43
54.247.145.96 42
46.51.167.231 42
46.51.137.7 42
54.247.128.80 41
46.51.161.114 41
54.247.4.251 39
54.247.142.111 39
176.34.86.16 39
46.137.49.150 38
176.34.200.89 38
79.125.58.175 37
46.137.139.161 37
176.34.77.159 37
54.247.132.25 36
176.34.64.90 36
54.247.29.172 35
46.51.153.126 35
54.247.28.169 34
46.137.6.53 34
176.34.80.227 34
54.247.45.223 33
46.137.16.231 33
79.125.31.59 32
176.34.87.172 32
176.34.205.109 31
54.247.31.23 30
46.51.133.107 30
176.34.216.92 30
54.247.25.83 29
176.34.217.94 29
46.137.142.216 28
54.247.9.51 27
54.247.7.97 26
54.247.28.97 26
54.247.155.79 26
46.137.32.161 26
54.247.137.212 25
46.137.58.116 25
54.247.11.22 23
46.137.152.71 23
46.137.7.113 22
46.51.139.235 20
46.137.150.92 18
46.137.1.233 17
54.247.30.49 12
176.34.174.160 7
79.125.60.174 6
46.137.155.147 3
Total:
  275596
Neitrals empty:
    6352
Last Empty:
176.34.216.92 [17/Aug/2012:21:55:34 http://f5.vnetgis.com/?st=fc0001fefe02fffc02ff0001ff0101000001020202
Re[2]: Вычислительные ресурсы хочу
От: ettcat США  
Дата: 18.08.12 08:20
Оценка: :))
К>Вообще-то, для простого гомоку это очень просто доказывается, что крестики выигрывают. Потому что у них преимущество в один ход

Напомнило нашего лектора по матану.

Написал он как-то формулу на доске.
— Очевидно, что то-то и то-то — говорит.
(смотрит на доску минут сорок)
— Да, действительно очевидно. Теперь рассмотрим ...
Re[2]: Статистика
От: Шебеко Евгений  
Дата: 19.08.12 19:39
Оценка:
Sun Aug 19 22:37:58 EEST 2012
193.200.64.45 81565
72.208.172.107 64667
94.154.220.68 61261
62.117.92.34 34378
46.51.151.160 19135
188.134.46.129 13189
54.247.27.36 7839
79.125.57.107 7635
176.34.197.192 7582
54.247.141.107 7572
176.34.65.195 7516
46.51.149.69 7440
46.137.8.4 7421
54.247.47.38 7395
54.247.142.251 7246
54.247.128.197 7221
54.247.149.65 7187
176.34.201.46 7082
79.125.77.106 7055
46.137.19.236 6977
176.34.87.52 6936
46.137.70.33 6901
46.137.61.39 6886
54.247.140.104 6457
176.34.73.119 6396
79.125.90.241 5847
176.34.217.94 802
54.247.26.156 683
54.247.143.87 676
176.34.216.110 670
176.34.210.22 603
54.247.4.251 595
176.34.205.109 595
54.247.128.80 586
46.51.153.126 523
54.247.28.97 521
79.125.31.59 506
46.137.1.103 413
54.247.132.25 354
46.51.161.114 341
46.137.7.113 340
46.51.167.231 321
46.137.49.150 320
46.137.142.216 314
54.247.25.83 307
46.51.133.107 305
54.247.9.51 303
54.247.44.140 300
46.137.1.233 298
46.137.139.161 290
54.247.29.172 288
54.247.31.23 287
54.247.45.223 283
54.247.34.113 283
176.34.216.92 279
54.247.28.169 277
176.34.64.90 276
54.247.142.111 273
54.247.30.49 270
54.247.26.107 266
54.247.137.212 261
46.51.137.7 258
79.125.58.175 257
79.125.51.119 256
54.247.7.97 254
176.34.77.159 254
176.34.87.172 253
54.247.155.79 251
54.247.145.96 250
176.34.80.227 250
46.137.6.53 246
54.247.11.22 234
46.137.152.71 232
46.137.44.209 227
46.137.58.116 220
46.137.32.161 220
176.34.200.89 220
176.34.86.16 217
46.137.16.231 215
46.51.139.235 170
46.137.150.92 138
54.247.144.117 79
176.34.174.160 7
79.125.60.174 6
46.137.155.147 3
Total:
  435513
Neitrals empty:
   10534
Last Empty:
54.247.128.197 [19/Aug/2012:13:42:58 http://f5.vnetgis.com/?st=fcfb02fefd02ffff01ff010100000101ff01010102
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.