Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Рендомные шахматы 
:(
    Опции темы
Lois
Дата 19.5.2013, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Хочу, чтобы мне программист написал прогу, которая делала бы ходы с помощью генератора псевдослучайных чисел ( рендома).
Возможно ли просчитать скажем вот такую задачу- какое количество минимальное белых коней надо иметь, чтобы программа делая ходы рендомно и за белых и за чёрных, поставила бы мат за минимальное количество ходов.
Также как вычислить расположение этих коней на доске ?
PM MAIL   Вверх
Akina
Дата 19.5.2013, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(Lois @  19.5.2013,  21:48 Найти цитируемый пост)
какое количество минимальное белых коней надо иметь, чтобы программа делая ходы рендомно и за белых и за чёрных, поставила бы мат за минимальное количество ходов.

Один конь, один ход.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Lois
Дата 19.5.2013, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Цитата(Akina @  19.5.2013,  21:43 Найти цитируемый пост)
Один конь, один ход.


Я имел ввиду, что кроме белых коней и чёрного короля на доске ничего больше нет. Одним ходом и одним конём здесь не обойтись точно!

PM MAIL   Вверх
_Y_
Дата 19.5.2013, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Цитата(Lois @  19.5.2013,  20:48 Найти цитируемый пост)
озможно ли просчитать скажем вот такую задачу-
 Возможно. В принципе, задача не очень высокой сложности. 

Но! Рандомный алгоритм весьма ресурсоемок. Если нужно 
Цитата(Lois @  19.5.2013,  20:48 Найти цитируемый пост)
мат за минимальное количество ходов.

то чем больше у Вас на доске фигур, тем больше рандомных вариантов ходов придется рассматривать. Поэтому Вы быстро упретесь в невозможность просчитать на обычном компьютере, а еще увеличивая число фигур - и на самом суперкомпьютере, хранящемся где-то в подвалах НАСА или Сколково smile

Поэтому Вам придется смириться с решениями не идеальными, а "лучше остальных, выпавших рандомно за разумный промежуток времени".

Добавлено через 1 минуту и 2 секунды
Зы, в детстве я знал правила шахмат. Помнится один конь (при короле, естественно) против короля это не мат, а ничья smile 


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Lois
Дата 19.5.2013, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Цитата(_Y_ @  19.5.2013,  23:17 Найти цитируемый пост)
Поэтому Вы быстро упретесь в невозможность просчитать на обычном компьютере, а еще увеличивая число фигур - и на самом суперкомпьютере, хранящемся где-то в подвалах НАСА или Сколково


А Вы знаете скорость работы рендома ? Мне написали прогу цветомузыкальную, она выдаёт 512 нот в секунду с помощью рендома.
Можно как-то прикинуть количество ходов в задаче? Хотя бы порядок?

PM MAIL   Вверх
Akina
Дата 20.5.2013, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(Lois @  19.5.2013,  23:50 Найти цитируемый пост)
Я имел ввиду, что кроме белых коней и чёрного короля на доске ничего больше нет. Одним ходом и одним конём здесь не обойтись точно!

В таком случае минимальное решение = чёрный король, 55 белых коней и мат в 1 ход.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
_Y_
Дата 20.5.2013, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Цитата(Lois @  19.5.2013,  23:50 Найти цитируемый пост)
она выдаёт 512 нот в секунду с помощью рендома.

Ну рандомный выбор с частотой 512 герц - совсем скромная задача. Но, конечно, чуть быстрее, чем механический калькулятор Феликс smile

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

Кстати, у Вас что-то завязано на тупой рандомный метод и есть какие-то причины его придерживаться? Есть ведь гораздо более эффективные подходы. 





--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Lois
Дата 20.5.2013, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Цитата(_Y_ @  20.5.2013,  22:44 Найти цитируемый пост)
Кстати, у Вас что-то завязано на тупой рандомный метод и есть какие-то причины его придерживаться? Есть ведь гораздо более эффективные подходы. 


Рендомный метод не тупой. Надо просто знать что это очень глубоко.
Вот исследования в Принстоне
http://www.psyleron.com/robot.aspx

PM MAIL   Вверх
Lois
Дата 21.5.2013, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Цитата(Akina @  20.5.2013,  08:17 Найти цитируемый пост)
В таком случае минимальное решение = чёрный король, 55 белых коней и мат в 1 ход.


а почему Вы решили, что это минимальное число коней?

PM MAIL   Вверх
Akina
Дата 21.5.2013, 07:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Логика. Просто постройте это решение, и поймёте, что ни убрать белого коня, ни заменить его на чёрного - невозможно.
Сомневаетесь? предложите своё решение.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Lois
Дата 21.5.2013, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Цитата(Akina @  21.5.2013,  07:56 Найти цитируемый пост)
Логика. Просто постройте это решение, и поймёте, что ни убрать белого коня, ни заменить его на чёрного - невозможно.
Сомневаетесь? предложите своё решение. 


я не понял, откуда взялась идея замены белых коней на чёрных. Об этом речь вообще не шла.
Хорошо, пускай будет так. Тогда немного более сложно- чёрный король ходит первым. Цель та же, поставить ему мат.

PM MAIL   Вверх
Akina
Дата 21.5.2013, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(Lois @  21.5.2013,  15:06 Найти цитируемый пост)
я не понял, откуда взялась идея замены белых коней на чёрных.

Ну просто потому что место чёрного короля определено, снятие белого коня порождает возможность сделать не-матующий код - остаётся только замена.

Цитата(Lois @  21.5.2013,  15:06 Найти цитируемый пост)
чёрный король ходит первым. Цель та же, поставить ему мат.

Задача не решается.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Lois
Дата 21.5.2013, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Цитата(Akina @  21.5.2013,  14:11 Найти цитируемый пост)
Ну просто потому что место чёрного короля определено, снятие белого коня порождает возможность сделать не-матующий код - остаётся только замена.


а кто определил место чёрного короля ? Я сейчас пришёл к выводу, что Ваш ответ неверен. Минимальное число коней для мата в 1 ход- 62
На h8 стоит чёрный король, на a1 белый конь. Они движутся с помощью рендома. Сколько должно быть среднее число ходов, чтобы король гарантировано съел коня?

PM MAIL   Вверх
Akina
Дата 21.5.2013, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(Lois @  21.5.2013,  17:16 Найти цитируемый пост)
Я сейчас пришёл к выводу, что Ваш ответ неверен. Минимальное число коней для мата в 1 ход- 62

55 меньше, чем 62. Так что вывод одного тут присутствующего оратора - неверен.

Цитата(Lois @  21.5.2013,  17:16 Найти цитируемый пост)
На h8 стоит чёрный король, на a1 белый конь. Они движутся с помощью рендома. Сколько должно быть среднее число ходов, чтобы король гарантировано съел коня?

Квадратный корень из бесконечности.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Lois
Дата 21.5.2013, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Цитата(Akina @  21.5.2013,  16:21 Найти цитируемый пост)

55 меньше, чем 62. Так что вывод одного тут присутствующего оратора - неверен.


можете показать позицию?
Я немного ошибся не 62, а 61.

Добавлено через 1 минуту и 35 секунд
Цитата(Akina @  21.5.2013,  16:21 Найти цитируемый пост)

Квадратный корень из бесконечности. 


можно пояснить  ход вычисления?

Добавлено через 12 минут и 18 секунд
Цитата(Akina @  21.5.2013,  16:21 Найти цитируемый пост)
Квадратный корень из бесконечности. 


Я гляжу , Вы неплохо разбираетесь в математике. Не хотите принять участие в моём проекте?

http://forum.vingrad.ru/forum/act-ST/f-193...4/unread-1.html

PM MAIL   Вверх
Akina
Дата 21.5.2013, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(Lois @  21.5.2013,  17:43 Найти цитируемый пост)
можете показать позицию?

Чёрный король на любой клетке в квадрате C3:F6, белые кони на всех полях, кроме тех 8 полей, с которых они объявляют королю шах.




--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Lois
Дата 21.5.2013, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Цитата(Akina @  21.5.2013,  16:56 Найти цитируемый пост)
Чёрный король на любой клетке в квадрате C3:F6, белые кони на всех полях, кроме тех 8 полей, с которых они объявляют королю шах.


или Вы не поняли задание или речь идёт о чём-то другом, так как кони могут попасть на любую клетку на этих 8 полях. И совсем не обязательно сразу дадут мат.
нашёл классную вещь по теме
http://www.chesshotel.com/play-random-chess.php
Это изобретение Фишера- рендомная расстановка фигур


Это сообщение отредактировал(а) Lois - 21.5.2013, 17:38
PM MAIL   Вверх
_Y_
Дата 21.5.2013, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Цитата(Lois @  20.5.2013,  23:48 Найти цитируемый пост)
Рендомный метод не тупой. Надо просто знать что это очень глубоко.
Вот исследования в Принстоне
http://www.psyleron.com/robot.aspx

Прочитал. Это совсем другая задача. Там рандом задает поведение робота. Вы же задали: 

Цитата(Lois @  19.5.2013,  20:48 Найти цитируемый пост)
делая ходы рендомно и за белых и за чёрных, поставила бы мат за минимальное количество ходов.


Это все равно что разница между: "робот шел по лесу в случайном направлении" и "двигаясь случайным образом робот нашел лису в лесу". Оба варианта выполнимы, но во втором случае робот должен бродить по лесу ну очень уж долго. Вам нужно не просто поставить мат как-нибудь, когда-нибудь, а в минимальное количество ходов. Т.е. перепробовать чертову уйму вариантов.


Разумнее задать некий алгоритм поиска лисы (причем даже и с элеметами рандомизации).


Это сообщение отредактировал(а) _Y_ - 21.5.2013, 22:05


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Lois
Дата 22.5.2013, 01:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Цитата(_Y_ @  21.5.2013,  21:47 Найти цитируемый пост)

Прочитал. Это совсем другая задача. Там рандом задает поведение робота.


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

Цитата(_Y_ @  21.5.2013,  21:47 Найти цитируемый пост)

Разумнее задать некий алгоритм поиска лисы (причем даже и с элеметами рандомизации).


Это будут обычные тогда шахматы. В этой области есть супер профессионалы, зачем мне с ними тягаться. А вот шахматы, где фигуры управляются рендомно- это пока лично моя идея и не думаю, что есть у кого-то приоритет.

PM MAIL   Вверх
Lois
Дата 22.5.2013, 01:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



вот как выглядит решение задачи

см. рисунок

Присоединённый файл ( Кол-во скачиваний: 13 )
Присоединённый файл  Snapshot_003.jpg 97,07 Kb
PM MAIL   Вверх
Lois
Дата 22.5.2013, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Цитата(Akina @  21.5.2013,  16:56 Найти цитируемый пост)
Чёрный король на любой клетке в квадрате C3:F6, белые кони на всех полях, кроме тех 8 полей, с которых они объявляют королю шах.


я сразу не понял в чём дело, а сейчас догадался- именно 55 коней. Браво.

PM MAIL   Вверх
Mirkes
Дата 22.5.2013, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 586
Регистрация: 18.8.2011
Где: Красноярск

Репутация: 4
Всего: 17



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

При случайном поиске НИКОГДА не ставят вопрос вычисления минимального числа итераций. Ибо ответ известен всем знакомым с теорией вероятности, хотя бы поверхностно. И этот ответ 1.
Цитата(Lois @  21.5.2013,  16:16 Найти цитируемый пост)
На h8 стоит чёрный король, на a1 белый конь. Они движутся с помощью рендома. Сколько должно быть среднее число ходов, чтобы король гарантировано съел коня?

Судя по этому фрагменту ваше знакомство с теорией вероятности не состоялось.
Можно ставить вопрос о среднем времени жизни коня. Считать лень, но по моему что-то оцень большое.
Можно ставить вопрос о числе ходов за которое конь будет съеден ГАРАНТИРОВАННО. Ответ на этот вопрос вам дали - бесконечное. Он следует из классической задачи о блуждании пьяного у обрыва.
Пьяный цтоит в одном шаге от обрыва. Он с вероятностью 1/2 делает шаг вперед или назад. Если он падает - это фатально.
Вопрос. С какой вероятностью пьяный упадет с обрыва. Ответ - 1.
Вопрос. Насколько долго он могет блуждать. Ответ - сколь угодно долго.
И эти два ответа друг-другу не противоречат!
Почитайте теорию вероятности. Это деиствительно очень глубокая вещь. И очень полезная, если ее знать


--------------------
Mirkes
PM MAIL   Вверх
Lois
Дата 22.5.2013, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Цитата(Mirkes @  22.5.2013,  16:05 Найти цитируемый пост)

Судя по этому фрагменту ваше знакомство с теорией вероятности не состоялось.


Я думаю, что вы немного знаете о теории вероятности- навскидку- слышали о проблеме 2 конвертов, о кодах Торы ?

PM MAIL   Вверх
_Y_
Дата 22.5.2013, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Цитата(Lois @  22.5.2013,  01:11 Найти цитируемый пост)
 А вот шахматы, где фигуры управляются рендомно- это пока лично моя идея и не думаю, что есть у кого-то приоритет.

Не обижайтесь, но, если память не изменяет, когда мне было лет пять-шесть я двигал шахматные фигуры именно рандомно (соблюдая, кстати, правила, которые я тогда уже знал). На приоритет не претендую smile

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

Кстати, по Вашему последнему на даннным момент посту. "Проблема двух конвертов" ничего загадочного не содержит. Весь парадокс заключается в том, что, лежащий на поверхности подход к рассчетам, в основе своей неверен. А вот про "коды Торы" я что-то ничего сказать не могу. Чисто ассоциативно вспоминается Тора, которая к теории вероятности отношения не имеет, а является священной книгой основных мировых религий (в разных вариатнах, естественно).

Но оставим препирания. Если не секрет, чего Вы хотите достичь? Разработать новую игру? Просто потренировать ум? Обыграть гроссмейстеров?



--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Lois
Дата 22.5.2013, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Цитата(_Y_ @  22.5.2013,  21:21 Найти цитируемый пост)
Но оставим препирания. Если не секрет, чего Вы хотите достичь? Разработать новую игру? Просто потренировать ум? Обыграть гроссмейстеров?


первоначально задача была сделать объект в стиле рендом арт. То есть я знал, что там откроются мне глубокие вещи, но как оказалось всё гораздо интереснее. У меня уже очень весёлые приключения в 3 Д мире в связи с этим.

PM MAIL   Вверх
_Y_
Дата 22.5.2013, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Цитата(Lois @  22.5.2013,  21:57 Найти цитируемый пост)
...объект в стиле рендом арт.... весёлые приключения в 3 Д мире в связи с этим.
 Боюсь, что для понимания этих слов моей квалификации не хватает. Ну да ладно - получилось и славно  smile 



--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Lois
Дата 23.5.2013, 02:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



                                                    О современных софистах


Я занимаясь исследованиями рендома, придумал весьма забавную вещь- рендомные шахматы, где фигуры движутся случайным образом и захотел, чтобы программист написал мне программу для компа, чтобы можно было посмотреть на практике, как это выглядит. Далее, обдумывая эту идею, я придумал весьма красивую шахматную задачу, очень элегантную.
какое количество минимальное белых коней надо иметь, чтобы программа делая ходы рендомно и за белых и за чёрных, поставила бы мат за минимальное количество ходов,
учитывая расположение этих коней на доске ? 

Решение её не так просто , как кажется. Я показал эту задачу разным людям и родилась ещё одна задача
На h8 стоит чёрный король, на a1 белый конь. Они движутся с помощью рендома. Сколько должно быть среднее число ходов, чтобы король гарантировано съел коня? 

Люди, связанные с вычислениями отвечают- бесконечное число ходов. Один человек написал вот такое


Судя по этому фрагменту ваше знакомство с теорией вероятности не состоялось.
Можно ставить вопрос о среднем времени жизни коня. Считать лень, но по моему что-то оцень большое.
Можно ставить вопрос о числе ходов за которое конь будет съеден ГАРАНТИРОВАННО. Ответ на этот вопрос вам дали - бесконечное. Он следует из классической задачи о блуждании пьяного у обрыва.
Пьяный цтоит в одном шаге от обрыва. Он с вероятностью 1/2 делает шаг вперед или назад. Если он падает - это фатально.
Вопрос. С какой вероятностью пьяный упадет с обрыва. Ответ - 1.
Вопрос. Насколько долго он могет блуждать. Ответ - сколь угодно долго.
И эти два ответа друг-другу не противоречат!
Почитайте теорию вероятности. Это действительно очень глубокая вещь. И очень полезная, если ее знать .

Я задумался, почему люди так мыслят. Ответ довольно прост- вся современная наука имеет своим основанием греческую премудрость. Как известно греки очень любили заниматься всякими логическими парадоксами.
В частности они занимались софизмами
Софи́зм (от греч. σόφισμα, «мастерство, умение, хитрая выдумка, уловка, мудрость») — ложное высказывание, которое, тем не менее, при поверхностном рассмотрении кажется правильным. Софизм основан на преднамеренном, сознательном нарушении правил логики. Это отличает его от паралогизма и апории, которые могут содержать непреднамеренную ошибку либо вообще не иметь логических ошибок, но приводить к явно неверному выводу. 

http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%...%B8%D0%B7%D0%BC

Есть как многие знают в Израиле профессор математики доктор Рипс. Он сделал известным миру факт, что Тора насквозь закодирована и применяет для вычислений компьютер.
Вот кстати, моя программа, которая эти коды вычисляет
http://ottyg.narod.ru/ToraProg.zip
Вот её описание
Для работы программы надо находящиеся в архиве файлы сгрузить в одну папку, прочесть текстовой файл, где даётся информация о соответствии раскладки на клавиатуре ивритским буквам. Далее введите слово в программу, которое вы хотите в кодах Торы найти , нажимите Enter, введите интервал между буквами, по которым вы хотите искать требуемое слово, снова Enter и программа вам выдаст номера стихов в котором содержится поисковое слово. Стихи пронумерованы вот как- вначале стоит цифра книги Пятикнижия( от 1 до 5), затем номер главы, только он читается справа налево, и номер стиха, также справа налево. Например- заключительный стих Торы 5 43 21 . 5 книга- Бемидбар, 34 глава, 12 стих. Перевод вы сможете узнать по русским переводам Торы, которые есть в том числе и в сети.Вы также можете всё проверить и увидеть ивритский текст, открыв базу данных, файл tora.txt, которая была предоставлена крупнейшим специалистом по поискам кодов, который и придумал использовать компьютер для поиска кодов, доктором Эли Рипсом. Удачных вам поисков! 

И доктор Рипс, будучи мировым светилом в матаматике доказал, что вероятность случайного наличия кодов очень очень маленькая. Есть конкретные цифры. Но с точки зрения современных софистов, которые полностью переняли греческий подход, такого не может быть. Так кто же прав- евреи или греки ?
Я бы хотел обратить ваше внимание, что моя задача о съедении королём коня, имеет к принципам доктора Рипса прямое отношение. Как я понял, в мире есть большое количество самых квалифицированных математиков, которые считают подход доктора Рипса правильным. 
Программа, которая будет делать рендомно ходы работает со скоростью 500 Гц. Неужели нельзя скажем за 10 минут работы программы гарантировано съесть коня ? Не верится, что люди способны так заблудится в софизмах и в них свято верить!!!
PM MAIL   Вверх
maxim1000
Дата 23.5.2013, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



Lois, мне кажется, что тема начала выходить за рамки раздела "Алгоритмы". Здесь всё-таки более приземлённые задачи обсуждаются. Если хотите продолжить обсуждение, думаю, больше подойдёт либо "Философия программирования", либо "Разные вопросы".


--------------------
qqq
PM WWW   Вверх
Mirkes
Дата 23.5.2013, 20:06 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 586
Регистрация: 18.8.2011
Где: Красноярск

Репутация: 4
Всего: 17



Честно говоря несколько жалко времени. Посему последний ответ и выхожу из дискуссии действительно перешедшей в философскую плоскость.

К сожалению вынужден вернуться к Вашему вопросу:
На h8 стоит чёрный король, на a1 белый конь. Они движутся с помощью рендома. Сколько должно быть среднее число ходов, чтобы король гарантировано съел коня?
Интересно, вы рассматриваете это как софизм или как апорию. С моей точки зрения (по вашей классификации еврей с греческим образованием) это типичный софизм, поскольку формулировка содержит противоречие:
НЕ может быть СРЕДНЕГО времени за которое ГАРАНТИРОВАННО съедят.
Можно ставить вопрос ЛИБО о среднем времени жизни, ЛИБО о гарантированном съедении.
Вообще-то я привел классическую задачу, в достаточно сильном смысле эквивалентную задаче о гарантии. Правильный ответ - бесконечное время.
Решение совершенно тривиально и не содержит противоречий:
конь ходит последовательно а1-в3, б3-а1 Вероятность первого хода 1/2, второго 1/6.
Король последовательно ходит h8-g8, g8-h8. вероятность первого хода 1/3, второго 1/5.
Итого, вероятность того, что при случайных ходах (кстати не с помощью рендома, а случайно, по крайней мере по русски) после выполнения двух ходов обе фигуры вернутся на место равна 1/2*1/6*1/3*1/5=1/180 - далеко не ноль. вероятность того, что фигуры будут болтаться в своих углах ходя указанным образом 2n ходов равна 1/180^n, что тоже далеко не ноль.
А вот теперь отличие тыканья от теории. Если тупо пустить считать программу, то при n порядка 300 программа сообщит о нулевой вероятности и ошибется! А вот теория может указать, что такое событие пронаблюдать трудно, поскольку потребуется порядка 10^400 запусков, но это возможно!

Так что формулируйте вопросы без софизмов.

PS не хочу трогать Тору, поскольку для многих людей она святыня. Должен заметить что это далеко не первая обнаруженная насквозь закодированная книга. Юстас с Алексом много лет пользовались одной книгой на немецком языке, которая содержала все необходимые слова русского языка, и ничего!


--------------------
Mirkes
PM MAIL   Вверх
Lois
Дата 24.5.2013, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Цитата(Mirkes @  23.5.2013,  20:06 Найти цитируемый пост)
Вообще-то я привел классическую задачу, в достаточно сильном смысле эквивалентную задаче о гарантии. Правильный ответ - бесконечное время.
Решение совершенно тривиально и не содержит противоречий:
конь ходит последовательно а1-в3, б3-а1 Вероятность первого хода 1/2, второго 1/6.
Король последовательно ходит h8-g8, g8-h8. вероятность первого хода 1/3, второго 1/5.
Итого, вероятность того, что при случайных ходах (кстати не с помощью рендома, а случайно, по крайней мере по русски) после выполнения двух ходов обе фигуры вернутся на место равна 1/2*1/6*1/3*1/5=1/180 - далеко не ноль. 


ну хорошо, если я введу, кроме слова гарантировано-  термин Статистическая значимость, какой будет ответ?

PM MAIL   Вверх
Mirkes
Дата 24.5.2013, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 586
Регистрация: 18.8.2011
Где: Красноярск

Репутация: 4
Всего: 17



Цитата(Lois @  24.5.2013,  15:44 Найти цитируемый пост)
ну хорошо, если я введу, кроме слова гарантировано-  термин Статистическая значимость, какой будет ответ?

Введите, только с определением, что вы имеете в виду. Просто "Статистической значимости" в моем мире не существует.


--------------------
Mirkes
PM MAIL   Вверх
Lois
Дата 24.5.2013, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Цитата(Mirkes @  24.5.2013,  16:29 Найти цитируемый пост)

Введите, только с определением, что вы имеете в виду. Просто "Статистической значимости" в моем мире не существует. 


http://ru.wikipedia.org/wiki/%D0%A1%D1%82%...%81%D1%82%D1%8C

PM MAIL   Вверх
_Y_
Дата 24.5.2013, 22:45 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Lois, в силу того, что наши представления, похоже, сильно различаются, стоит, наверное объяснить, что Вы подразумеваете под термином Статистическая значимость. ИМХО сам термин не имеет практического смысла, если не задан численный порог.


Это сообщение отредактировал(а) _Y_ - 24.5.2013, 22:47


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Lois
Дата 26.5.2013, 00:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Цитата(_Y_ @  24.5.2013,  22:45 Найти цитируемый пост)
в силу того, что наши представления, похоже, сильно различаются, стоит, наверное объяснить, что Вы подразумеваете под термином Статистическая значимость. ИМХО сам термин не имеет практического смысла, если не задан численный порог.


можете дать ссылку, где говорится об этом? Сами посудите, не могу же я разбираться в любом предположении, которое могут сделать люди?

PM MAIL   Вверх
_Y_
Дата 26.5.2013, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Цитата(Lois @  26.5.2013,  00:28 Найти цитируемый пост)
...численный порог... можете дать ссылку, где говорится об этом? 

Цитата(Lois @  24.5.2013,  16:49 Найти цитируемый пост)
http://ru.wikipedia.org/wiki/%D0%A1%D1%82%...%81%D1%82%D1%8C

Цитата
Популярными уровнями значимости являются 10 %, 5 %, 1 %, и 0,1 %.




--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Lois
Дата 26.5.2013, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Цитата(_Y_ @  26.5.2013,  09:26 Найти цитируемый пост)
Популярными уровнями значимости являются 10 %, 5 %, 1 %, и 0,1 %.


ну возьмите любой из этих уровней значимости. Дальше что?

PM MAIL   Вверх
_Y_
Дата 26.5.2013, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Ну тогда, давайте еще и переформулируем первоначальный вопрос
Цитата(Lois @  19.5.2013,  20:48 Найти цитируемый пост)
...какое количество минимальное белых коней надо иметь, чтобы программа делая ходы рендомно и за белых и за чёрных, поставила бы мат за минимальное количество ходов.


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

Годится такая постановка задачи? Если да, то можно начинать расписывать алгоритм. 

Единственное, спрошу еще раз (может объяснялось уже где-то в обсуждении, но я не нахожу что-то):
  • Начальная расстановка фигур тоже определяется случайным образом или случайны только ходы?
  • Если начальная расстановка определяется случайным образом, разрешается ли начальная расстановка, при которой черный король уже находится под ударом (то есть мат в ноль ходов)?
  • У черных только король или есть еще какие-то фигуры?
  • Если есть какие-то черные фигуры, разрешено ли ставить мат белому королю?



--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Lois
Дата 26.5.2013, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Цитата(_Y_ @  26.5.2013,  14:26 Найти цитируемый пост)
Годится такая постановка задачи? Если да, то можно начинать расписывать алгоритм. 

Эта задача в принципе уже решена.
Есть гораздо интереснее задача. 

http://www.chess.com/forum/view/more-puzzl...blem-with-pawns

Надо найти среднее число ходов, за которое чёрному королю будет дан мат.
Превращения пешек в другие фигуры также рендомные.

Это сообщение отредактировал(а) Lois - 26.5.2013, 23:50
PM MAIL   Вверх
_Y_
Дата 27.5.2013, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Цитата(Lois @  26.5.2013,  23:50 Найти цитируемый пост)
Есть гораздо интереснее задача. 
http://www.chess.com/forum/view/more-puzzl...blem-with-pawns


Эта задача сформулирована вроде понятно. И  алгоритм для ее решения тоже несложный. Я бы делал как-то так:

Скажем, среднее число ходов, за которое чёрному королю будет дан мат обозначим как V, порядковый номер партии закончившейся матом PN - порядковый номер хода в партии. Остальные переменные определим по ходу дела. Рандомную функцию (случайный выбор из доступных вариантов) обозначим RND.

Сам алгоритм (с условием, что партии закончившиеся ничьими игнорируются):
  • 0. P=0
  • 1. Расставляем фигуры в соответствии с картинкой и начинаем очередную партию. N=0
  • 2. Выбираем белую фигуру для следующего хода RND(из всех белых фигур)
  • 3. Считаем число разрешенных ходов для выбранной фигуры B
  • 4. Если B=0 возвращаемся к пункту 1. Если больше - продолжаем.
  • 5. Выбираем один из ходов RND(B), делаем его и присваиваем N=N+1.
  • 6. Если ходили пешкой и она перешла на восьмой ряд поля продолжаем (п.7). Если нет, переходим к пункту 8.
  • 7. Случайным оборазом выбираем фигуру, которой становится пешка RND(все фигуры, кроме пешки и короля).
  • 8. Считаем число разрешенных ходов для черного короля K. Понятно, что разрешены только ходы на поля, не находящиеся под боем.
  • 9. Если K=0 переходим к пункту 12. Если больше - продолжаем (пункт 10).
  • 10. Выбираем один из ходов RND(K), делаем его.
  • 11. Проверяем остались ли белые фигуры, кроме короля. Если нет (на достке остались два короля) - ничья - возвращаемся к п.1. Если остались возвращаемся к пункту 2.
  • 12. Проверяем находится ли черный король под боем. Если нет - пат - ничья  - возвращаемся к п.1. Если под боем - мат - идем дальше (п.13).
  • 13. Считаем среднее число затраченных ходов V=(V*P+N)/(P+1). Присваиваем P=P+1.
  • 14. Возвращаемся к п.1 или заканчиваем рассчеты.
Критерий окончания рассчетов (п.14) я, честно говоря, четко сформулировать не смог - было что-то в прикладной матстатистике на эту тему, я подзабыл, к сожалению. Но, поскольку задача разовая, вполне можно просто последить за динамикой изменения результата V. После достаточно большого количества партий она сойдется к практически постоянной величине. Тогда и заканчивать.

ЗЫ: Алгоритм простой, но кодотворчетсво предстоит немаленькое smile 


Это сообщение отредактировал(а) _Y_ - 27.5.2013, 20:36


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Lois
Дата 28.5.2013, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Цитата(_Y_ @  27.5.2013,  20:31 Найти цитируемый пост)

Эта задача сформулирована вроде понятно. И  алгоритм для ее решения тоже несложный. Я бы делал как-то так:


блин, это делается всё проще. Пишется прога, которая рендомно делает ходы. Ставится задача и задача решается скажем 20 раз. И делается вывод сколько ходов в среднем сделано. Вот и всё. Это не сложнее, чем то, что Вы сказали. И даже то, что Вы сказали ( как я понял ) не решает задачи, поскольку придётся всё равно примерно то же самое делать.
Кстати, есть другая задача, которую наверное вообще никак не решить
http://www.chess.com/forum/view/more-puzzl...-with-elephants
Надо найти количество ходов за которое будет съеден слон. Я думаю так речь идёт о чём-то вроде 10 в 50 степени ходов. Эту задачу методом, который я сказал не решить. То есть просто времени не хватит.
Интересно, а есть ли возможость решить каким-то математическим методом?


Это сообщение отредактировал(а) Lois - 28.5.2013, 17:04
PM MAIL   Вверх
_Y_
Дата 28.5.2013, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Цитата(Lois @  28.5.2013,  16:56 Найти цитируемый пост)

блин, это делается всё проще. Пишется прога, которая рендомно делает ходы

Обязательно запомню эту историческую фразу. На любую просьбу подсказать алгоритм буду отвечать "Все просто. Пишется прога, которая это делает." smile  Может даже закажу в мраморе высечь.

Цитата(Lois @  28.5.2013,  16:56 Найти цитируемый пост)
есть другая задача, которую наверное вообще никак не решить

Вы, видимо, не поняли, того, что я написал. Эта "нерешаемая" задача решается по тому же самому алгоритму. Единственная разница, каждая партия играется не до мата королю (ну или ничьей), а до съедения слона.

ЗЫ: Извините за несколько невежливые вопросы. Но раз уж мы пришли к тому, что говорим на несколько разных языках... Как Вы понимаете термин "алгоритм" и что подразумеваете под процессом написания программы?



--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Lois
Дата 29.5.2013, 03:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Цитата(_Y_ @  28.5.2013,  22:38 Найти цитируемый пост)

ЗЫ: Извините за несколько невежливые вопросы. Но раз уж мы пришли к тому, что говорим на несколько разных языках... Как Вы понимаете термин "алгоритм" и что подразумеваете под процессом написания программы?


http://ru.wikipedia.org/wiki/%D0%A2%D0%B5%...%BD%D0%B3%D0%B0

PM MAIL   Вверх
_Y_
Дата 29.5.2013, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Lois, извиняюс', но Вы уходите от ответа. В этой ветке, вроде, не общефилософские принципы создания программ на примерах классических работ Тюринга обсуждаем. Мой вопрос был вполне конкретен. Цел' - понимат' друг друга.

Давайте задам вопрос иначе - может так будет удобнее. Из чего, на Ваш взгляд, состоит процесс написания программы?


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Lois
Дата 29.5.2013, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Под алгоритмом я в данном случае имел ввиду математический алгоритм. Я думаю этот процесс подсчёта можно описать с помощью каких-то математических функций. А программа состоит в основном из команд и связей между ними.
PM MAIL   Вверх
Mirkes
Дата 29.5.2013, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 586
Регистрация: 18.8.2011
Где: Красноярск

Репутация: 4
Всего: 17



Довольно забавная дискуссия. Сначала реч шла о некоем приоритете на случайные шахматы, потом пошли ссылки на сайт где куча народа этим занимается. Причем занимаэтся как-то странно. Задачи есть, ответов - нет.
Больше всего меня мучает вопрос "зачем"? Когда-то я неплохо играл в шахматы, но играть со случайными ходами?
Я могу понять такую задачу, если она выросла из какой-то прикладной. Могу понять как сборник задач по теории вероятности. Но просто так? Могу подкинуть еще пару краине интересных задач:
1. Король стоит на а1. За какое среднее время он попадет на а2?
2. Король стоит на а1. За какое среднее время он попадет на h8?
Ответ 1 в первой задаче не проходит. Подозреваю, что ответы на задачи 1 и 2 будут отличаться не очень сильно. Такая пара задач может красиво продемонстриривать насколько понятие вероятности не соответствует бытовому представлению о нем. Решать такие задачи путем компьютерного моделирования конечно можно, но при этом необходимо четко оценивать полученные результаты. Тогда это можно рассматривать как практикум по статистике.

Есть один вопрос к Lois: А есть у вас хоть один пример решенной задачи? Просто хочется глянуть, что является решением.


--------------------
Mirkes
PM MAIL   Вверх
Lois
Дата 29.5.2013, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Цитата(Mirkes @  29.5.2013,  19:40 Найти цитируемый пост)
А есть у вас хоть один пример решенной задачи? Просто хочется глянуть, что является решением. 


решается задача с конями, только наверное при дополнительном условии. А так в принципе её почему-то решают и без дополнительного условия, хотя можно и придраться , наверное, если захотеть.


PM MAIL   Вверх
_Y_
Дата 29.5.2013, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Lois, мне кажется, Вам нужно немного вникнуть в начальные принципы. Тогда будет легче формулировать свои мысли и разговаривать на этом форуме.

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

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

То, что я написал в посте от 2013.05.27, это алгоритм. Т.е. формальное решение задачи. Причем, расписанно все весьма детально. По этому алгоритму можно писать программу на любом удобном для Вас языке.

Цитата(Mirkes @  29.5.2013,  19:40 Найти цитируемый пост)
Довольно забавная дискуссия. 
 Странная дискуссия, но, по сути, нормальная ИМХО. Залез человек в незнакомую область. Терминологией не владеет, но интересуется и пытается разобраться. Удобнее ему разбираться на простых примерах - ну и прекрасно. smile

ЗЫ: Я бы с удовольствием пошел так же на какой-нибудь форум не слишком злобных экономистов и попробовал разобраться в том, как работает мировая экономика. Да все времени нет smile 


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Lois
Дата 29.5.2013, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Цитата(_Y_ @  29.5.2013,  20:08 Найти цитируемый пост)

То, что я написал в посте от 2013.05.27, это алгоритм. Т.е. формальное решение задачи. Причем, расписанно все весьма детально. По этому алгоритму можно писать программу на любом удобном для Вас языке.


Я думаю это только один из вариантов решения, причём для меня в этом алогритме нет ничего особого нового, так как я его и высказал, сказав, что фигуры движутся рендомно. Остальное может додумать я думаю студент ВУЗа. Меня интересовало именно есть ли какие-нибудь чисто математические методы решения проблемы. Один метод, какой-то человек подсказал, попутно подсчитав число ходов, но когда я задал более конкретный вопрос, он куда-то исчез. 

Цитата

 Странная дискуссия, но, по сути, нормальная ИМХО. Залез человек в незнакомую область. Терминологией не владеет, но интересуется и пытается разобраться. Удобнее ему разбираться на простых примерах - ну и прекрасно


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

PM MAIL   Вверх
_Y_
Дата 30.5.2013, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Цитата(Lois @  29.5.2013,  22:38 Найти цитируемый пост)
Я думаю это только один из вариантов решения

Конечно один из вариантов. Но предлагать все возможные как-то бессмыслено.

Цитата(Lois @  29.5.2013,  22:38 Найти цитируемый пост)
для меня в этом алогритме нет ничего особого нового, так как я его и высказал, сказав, что фигуры движутся рендомно. Остальное может додумать я думаю студент ВУЗа.
 Улыбнуло. Студент ВУЗа конечно может. Вопросы-то Вы, извините, задаете на уровне уроков информатики очень средней школы. 

Цитата(Lois @  29.5.2013,  22:38 Найти цитируемый пост)
Мне не обязательно чем-то владеть, достаточно знать общее положение дел. С программистами я прекрасно нахожу общий язык при написании ими моих программ и почему-то ни разу никаких проблем не возникало. Всё это прекрасно можно понять на уровне нормальной человеческой логики.

Боюсь с человеческой логикой еще надо разобраться. Ну например, как можно говорить моих программ, если Вы, кроме общих фраз типа "рандомное движение фигур" ничего за всю дискуссию не сформулировали? По человеческой логике надо писать программ, написанных для меня. Не одно и то же.

Нет ничего плохого в незнании, плохо незнание поднимать на флаг.

В общем, хотите научиться - всегда подскажем. Хотите поучать - покажите что Вы что-то знаете.



--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Lois
Дата 30.5.2013, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



Цитата(_Y_ @  30.5.2013,  19:22 Найти цитируемый пост)

В общем, хотите научиться - всегда подскажем. Хотите поучать - покажите что Вы что-то знаете.


Я обычно не поучаю, только разве своих учеников. Здесь наверное не место показывать что я знаю.
Пока я не увидел реальных советов, кроме желания с вашей стороны меня поучать.

PM MAIL   Вверх
Mirkes
Дата 2.6.2013, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 586
Регистрация: 18.8.2011
Где: Красноярск

Репутация: 4
Всего: 17



Чисто из любопытства решил потратить пару часов и решить предложенныэ мной задачи. Правда по собственной лени решил сразу более общую:
Задача: Король находится на поле а1. Оцените среднее время, за которое король достигнет любого, наперед заданного поля.
Решать аналитически поленился (честно говоря не уверен, что смогу smile, написал программку:
Код

package chess;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GraphicsConfiguration;
import java.awt.HeadlessException;

import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import java.io.BufferedWriter;

import java.io.FileWriter;

import java.io.IOException;

import java.util.Random;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.border.Border;

public class Chess extends JFrame implements ActionListener {
    @SuppressWarnings("compatibility:8418175407791661885")
    private static final long serialVersionUID = -9053290462844492162L;

    private JTextArea protocol = new JTextArea();
    private boolean stop = false;
    private int count = 0;
    private int[][] field = new int[8][8];
    private int[][] steps =
        new int[][] { { -1, -1 }, { -1, 0 }, { -1, 1 }, { 0, -1 }, { 0, 1 }, { 1, -1 }, { 1, 0 }, { 1, 1 } };
    private Random rnd = new Random();

    public Chess() {
        super();
        try {
            jbInit();
        } catch (Exception e) {
            e.printStackTrace();
        }
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        if (frameSize.height > screenSize.height) {
            frameSize.height = screenSize.height;
        }
        if (frameSize.width > screenSize.width) {
            frameSize.width = screenSize.width;
        }
        setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }

    public static void main(String[] args) {
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (Exception e) {
            e.printStackTrace();
        }
        new Chess();
    }

    private void jbInit() throws Exception {
        this.setSize(new Dimension(400, 300));
        this.getContentPane().setLayout(new BorderLayout());
        this.getContentPane().add(new JScrollPane(protocol), BorderLayout.CENTER);
        JPanel pan = new JPanel();
        pan.setLayout(new BorderLayout());
        JButton b = new JButton("Start");
        b.setActionCommand("start");
        b.addActionListener(this);
        pan.add(b, BorderLayout.WEST);
        b = new JButton("Stop");
        b.setActionCommand("stop");
        b.addActionListener(this);
        pan.add(b, BorderLayout.EAST);
        this.getContentPane().add(pan, BorderLayout.NORTH);
    }

    private void oneGame() {
        int x = 0, y = 0, xx, yy,k,n=steps.length;
        //Clear field
        for (int i = 0; i < 8; i++)
            for (int j = 0; j < 8; j++)
                field[i][j] = 0;
        //Number of not visited fields
        int num = 64;
        //Number of done steps
        int done = 0;
        while (num > 0) {
            do {
                k=rnd.nextInt(n);
                xx=x+steps[k][0];
                yy=y+steps[k][1];
            } while (xx < 0 || xx > 7 || yy > 7 || yy < 0);
            x=xx;
            y=yy;
            done++;
            if (field[x][y]==0){
                field[x][y]=done;
                num--;
            }
        }
    }

    private void start() {
        Thread tl = new Thread(new Runnable() {
            public void run() {
                try {
                    BufferedWriter bw = new BufferedWriter(new FileWriter("Chess.txt"));
                    for (char a = 'A'; a < 'I'; a++)
                        for (int i = 1; i < 9; i++)
                            bw.write(a + i + "\t");
                    bw.newLine();
                    stop = false;
                    count = 0;
                    while (!stop) {
                        oneGame();
                        count++;
                        for (int i = 0; i < 8; i++)
                            for (int j = 0; j < 8; j++)
                                bw.write(field[i][j] + "\t");
                        bw.newLine();
                        SwingUtilities.invokeLater(new Runnable() {
                            public void run() {
                                protocol.append("" + count + "\n");
                            }
                        });
                    }
                    bw.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        });
        tl.start();
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getActionCommand().equals("start"))
            start();
        else if (e.getActionCommand().equals("stop"))
            stop = true;
    }
}

Программа очевидно примитивная, но в смысле оптимальности достаточно хороша.
После запуска я подождал около 1 минуты и с ужасом поняв сколько она успела посчитать - завершил эксперимент. Программа успела перелопатить 296046 полных решений. Так что статистика была достаточно представительная.
Я решил считать, что среднее число ходов для двух разных полей различно, если Т-тест дает p-value меньше 1%.
Результаты исследования:
    A    B    C    D    E    F    G    H
1    140.1      55.4      81.6    102.5    121.4    142.7    172.4    251.7
2       55.5     25.9      45.0      61.8      79.2      98.2    123.5    175.8
3       81.9     45.0      46.8      57.8      71.2      87.2    107.5    155.7
4    102.3      61.9      57.7      62.5      72.2      85.0    103.2    149.7
5    121.2      79.1      71.4      72.1      78.7      89.9    106.5    152.8
6    142.3      98.3      87.0      85.3      89.9    100.2    117.7    164.5
7    171.9    123.1    107.3    102.7    106.6    117.7    138.1    188.6
8    252.1    175.7    155.3    149.3    152.7    164.6    189.0    266.2

В каждом поле указано среднее число ходов, которое потребуется королю, стоящему на поле а1, чтобы дойти до этого поля.
Картинка довольно забавная. Например, поля В2, С2, С3 и В3 в среднем достигаются быстрее, чем А2 и В1.
Все поля, симметричные относительно диагонали А1-Н8 имеют статистически неразличимое среднее.
Кроме того, есть несколько более длинных цепочек статистически неразличимых средних:
d1-a4-d7
d7-d1-a4-g4
e2-b5-e5

При внимательном рассмотрении оказалось, что значение д1 (102.5) статистически неотличимо от полей а4(102.3) и д7(102.7), но достоверно отличается от g4(103.2). А вот значение д7 статистически неотличимо от всех трех упомянутых полей.
Очевидно, что это следствие статистического определения совпадения средних значений и выбранного мной уровня существенности 1%.
Довольно забавная задачка на статобработку получилась. Даже засада нашлась smile.

Засим откланиваюсь и выбываю из темы.


--------------------
Mirkes
PM MAIL   Вверх
Lois
Дата 3.7.2013, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет




Можно разыгрывать партии и составлять задачи !
Вот exe для Win32, если есть желание поиграться, только давайте выкладывать интересные результаты:
http://yadi.sk/d/rbZ4G9G_6S94A
randomchess.exe FEN TESTSCOUNT [--print-moves]
FEN - начальная позиция (внимание, конь - S, не N)
TESTSCOUNT - количество партий
--print-moves - распечатывать ходы, опционально

Пуск -- Выполнить -- cmd.exe
cd C:\randomchess\
randomchess.exe rsbqkbsr/pppppppp/8/8/8/8/PPPPPPPP/RSBQKBSR 1 --print-moves

Формат FEN можно скопировать вот здесь
http://www.chessvideos.tv/chess-diagram-generator.php

Я придумал бешеную фишку с этой прогой. Можно в точности оценить ценность каждой фигуры, причём в зависимости не только от её достоинства, но и положения на доске!
Предельная задача
4k3/8/8/1pBp1p1p/1PbP3P/5P2/8/4K3 
PM MAIL   Вверх
Lois
Дата 24.9.2013, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 19.5.2013

Репутация: нет
Всего: нет



оказалось, что правильный ответ к задаче с конями не 55, а 54 коня. Одна пустая клетка в углу доски и 8 пустых клеток вокруг короля.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.1997 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.