Google
 

Шашисту на заметку

Login





 


 Забыли пароль?
 или новый пользователь? Зарегистрируйся!

Кто с нами

Пользователей:  Зарегистрированные
подключено  Cled  
подключено  halmg  

В записную книжку


Новая тема   Ответить
Предыдущая тема Версия для печати Войти и проверить личные сообщения Следующая тема
Poll
Казнить?
Удалить предварительно сделав копию
9%
 9%  [ 1 ]
Отдать народу для опытов
90%
 90%  [ 10 ]
Всего голосовало : 11


Автор Сообщение
Kallisto
Тема сообщения:   СообщениеОтправлено: Дек 18, 2007 - 09:01 AM



Зарегистрирован: Авг 18, 2003
Сообщений: 731

Loosseer
Однако жестко играет Ваша программа
перед партией грузится с заметной задержкой
Забирает под себя 50-99% процессора во время расчета
С памятью таже история

Вся ЭБ грузится в память. Расчет во время хода противника можно отключить.

А вообще лучше бы тебе было сделать движок под мою оболочку. Тогда можно было бы провести матч из нескольких сотен партий без проблем.
plus600
Ходов или полуходов?

Полуходов, конечно.
 
 Профиль пользователя отправить личное сообщение Послать e-mail WWW  
Ответить с цитатой Наверх
plus600
Тема сообщения:   СообщениеОтправлено: Дек 18, 2007 - 07:54 AM



Зарегистрирован: Дек 24, 2002
Сообщений: 1008
Откуда : Москва
Loosseer писал(а):
реально у меня на AMD 1500XP RAM 1024 обычно на 10-13 глубину считает, а против каллисто тока 6-8


Ходов или полуходов?

_________________
С уважением,
Сергей Старцев
______________________________________
Пользуюсь только программами серии Plus
 
 Профиль пользователя отправить личное сообщение WWW ICQ 
Ответить с цитатой Наверх
Loosseer
Тема сообщения:   СообщениеОтправлено: Дек 17, 2007 - 11:29 PM



Зарегистрирован: Нояб 03, 2007
Сообщений: 22

Kallisto писал(а):
О чем вообще речь? Нет там никаких "3-х". И откуда взялось "демо версия"?
Меня терзают смутные сомнения что это все про какую-то другую программу. Smile

Однако жестко играет Ваша программа
перед партией грузится с заметной задержкой
Забирает под себя 50-99% процессора во время расчета
С памятью таже история
Играть на одном компе можно только первую партию - дальше все вообще уходит во владение каллисто (хотя пока у меня выбора другого нет)
реально у меня на AMD 1500XP RAM 1024 обычно на 10-13 глубину считает, а против каллисто тока 6-8

P.S.
Сыграл 9 партий счет пока 5-4 (в чью пользу сами понимаете не важно)
 
 Профиль пользователя отправить личное сообщение  
Ответить с цитатой Наверх
Loosseer
Тема сообщения:   СообщениеОтправлено: Дек 17, 2007 - 11:18 PM



Зарегистрирован: Нояб 03, 2007
Сообщений: 22

программа будет выложена в 2007 году
объем порядка 40Мб
идут перетурбации с алгоритмами расчета - есть усиление игры
потому и не выкладываю пока ничего
юнешеский максимализм пока мну не покинул


Последний раз редактировалось Loosseer в Дек 17, 2007 - 11:36 PM; всего редактировалось 1 раз
 
 Профиль пользователя отправить личное сообщение  
Ответить с цитатой Наверх
Loosseer
Тема сообщения:   СообщениеОтправлено: Нояб 17, 2007 - 05:49 PM



Зарегистрирован: Нояб 03, 2007
Сообщений: 22

В прошлые выходные пытался анализировать эффективность различных механизмов программы в ракурсе текущих вычислительных возможностей
Наткнулся на низкую эффективность хеша
Для пробы отключил его и провел матч из 10 партий
Без vs Хеш - +8-0=2
Немного опешил
Всю неделю переделывал
Отключил все вызовы хэша
Полностью поменял его внутреннюю реализацию
(12 байт на позицию = доска+тип хэширования+глубина+стоимость+лучший ход)
Стал потихоньку подключать обратно
Подключил пока не все
С хешем считает в 2 раза быстрее
Коэффициэнт ветвления 1.8 (это не шашки однако с 1.5)
Думаю выложить 2 варианта программы в адном орхиве
2003 год и 2007 beta - скоро будет на рапиде
 
 Профиль пользователя отправить личное сообщение  
Ответить с цитатой Наверх
Kallisto
Тема сообщения:   СообщениеОтправлено: Нояб 07, 2007 - 01:57 PM



Зарегистрирован: Авг 18, 2003
Сообщений: 731

Loosseer писал(а):

Т.е. то что я скачл с описанием как демо версия с 3-х шашечными окончаниями является полной версией!
Это радует Smile

О чем вообще речь? Нет там никаких "3-х". И откуда взялось "демо версия"?
Меня терзают смутные сомнения что это все про какую-то другую программу. Smile
 
 Профиль пользователя отправить личное сообщение Послать e-mail WWW  
Ответить с цитатой Наверх
Loosseer
Тема сообщения:   СообщениеОтправлено: Нояб 07, 2007 - 01:38 PM



Зарегистрирован: Нояб 03, 2007
Сообщений: 22

Kallisto писал(а):
Loosseer писал(а):
есть небольшая - дык тока вот Каллисто демо вообще почти без баз обходится

Нет никакой демо.
А базы можно до 6 шашек строить. С ними должно лучше быть.


Т.е. то что я скачл с описанием как демо версия с 3-х шашечными окончаниями является полной версией!
Это радует Smile

Я посмотрел свой код - нашел несколько косяков. Подправлю и выложу ту версию что получше будет играть после турнира в выходные.
 
 Профиль пользователя отправить личное сообщение  
Ответить с цитатой Наверх
NS
Тема сообщения:   СообщениеОтправлено: Нояб 07, 2007 - 01:31 PM



Зарегистрирован: Авг 22, 2006
Сообщений: 613
Откуда : Санкт-Петербург
Теперь уже совсем ничего не понял в вашем сообщении. Нет неточностей, нет никаких проблем в методе наименьших квадратов - не только с тем что коэффициенты (количества признаков) по 600 000 000 позициям не лезут в память, но и проблем с округлением.
И есно имея готовые позиции с оценками нет никаких проблем очень быстро получить веса признаков. Хоть тысяча позиций, хоть миллион,хоть миллиард.

Ссылку кривую дали. Через
http://kasparovchess.crestbook.com/viewforum.php?id=13
Можно нормально зайти на форум.


Последний раз редактировалось NS в Нояб 07, 2007 - 01:42 PM; всего редактировалось 1 раз
 
 Профиль пользователя отправить личное сообщение  
Ответить с цитатой Наверх
Loosseer
Тема сообщения:   СообщениеОтправлено: Нояб 07, 2007 - 01:24 PM



Зарегистрирован: Нояб 03, 2007
Сообщений: 22

NS писал(а):
Это шутка? Нет никакого перемножения матриц в методе наименьших квадратов.
Есть сумма 600 000 000 (по количеству позиций) матриц 75x75, и сумма такого-же количества векторов 1x75. А потом решение уравнения Ax+b=0, где A матрица 75x75.

Квадрат разницы по каждой позиции Это xA(i)x'-xb(i)
Нам всего-лишь надо проссумировать все A(i) и все b(i), получим выражение для суммы квадратов.

Чтоб не выводить готовую формулу - вот она:
.....

Решение системы уравнений - моментально. Для составления время тратится на подсчет количества (если PST - то сам факт есть на этом поле/нет шашки) признаков в каждой позиции. 600 миллионов позиций, миллион позиций в секунду - 10 минут.

Потом составление матрицы - 600 000 000* 76 *76 / 2 умножений - несколько минут.

матрицу 600 000 000 хранить в памяти не нужно - достаточно сразу плюсовать посчитав количество признаков по конкретной позиции. И грузить их можно хоть по одной, хоть по 1000, хоть по 1000000.

С погрешностью бороться совсем легко - Разделили позиции на две равные части (по 300 миллионов), посчитали матрицу и вектор в каждой части,и потом сложили. В каждой части аналогично.


Уважаемый NS, думаю Вы сами найдете "мелкие" неточности в вышеуказаном.
Остальным же "неолимпиадникам" это мало интересно.
Тот путь куда скатывается обсуждение в этом форуме меня нисколько не удивило (я был готов)
Ваше мнение многие читали здесь http://www.kasparovchess.crestbook.com/ ... 07&p=1

Я не только был готов, но и знаю как это решается. Cool


Последний раз редактировалось Loosseer в Нояб 07, 2007 - 01:32 PM; всего редактировалось 1 раз
 
 Профиль пользователя отправить личное сообщение  
Ответить с цитатой Наверх
NS
Тема сообщения:   СообщениеОтправлено: Нояб 07, 2007 - 11:31 AM



Зарегистрирован: Авг 22, 2006
Сообщений: 613
Откуда : Санкт-Петербург
Цитата:
Вообще то вы можете перемножить мнгновенно 2 матрицы 10Мбх75 вещественных чисел двойной точности мнгновенно даже на современном компьютере, а не PIII-650 с 128 Мб где они даже в память не умещаются и надо постоянно со свопом работать?

Это шутка? Нет никакого перемножения матриц в методе наименьших квадратов.
Есть сумма 600 000 000 (по количеству позиций) матриц 75x75, и сумма такого-же количества векторов 1x75. А потом решение уравнения Ax+b=0, где A матрица 75x75.

Квадрат разницы по каждой позиции Это xA(i)x'-xb(i)
Нам всего-лишь надо проссумировать все A(i) и все b(i), получим выражение для суммы квадратов.

Чтоб не выводить готовую формулу - вот она:
http://ru.wikipedia.org/wiki/%D0%9C%D0% ... 0%BE%D0%B2

Решение системы уравнений - моментально. Для составления время тратится на подсчет количества (если PST - то сам факт есть на этом поле/нет шашки) признаков в каждой позиции. 600 миллионов позиций, миллион позиций в секунду - 10 минут.

Потом составление матрицы - 600 000 000* 76 *76 / 2 умножений - несколько минут.

матрицу 600 000 000 хранить в памяти не нужно - достаточно сразу плюсовать посчитав количество признаков по конкретной позиции. И грузить их можно хоть по одной, хоть по 1000, хоть по 1000000.

С погрешностью бороться совсем легко - Разделили позиции на две равные части (по 300 миллионов), посчитали матрицу и вектор в каждой части,и потом сложили. В каждой части аналогично.
 
 Профиль пользователя отправить личное сообщение  
Ответить с цитатой Наверх
Loosseer
Тема сообщения:   СообщениеОтправлено: Нояб 07, 2007 - 11:15 AM



Зарегистрирован: Нояб 03, 2007
Сообщений: 22

Насчет мнгновенно расчета root2:
я лично считал 2 суток
брал несколько раз по 10 млн позиций из 600 млн и считал для каждого набора
из результатов откинул наборы с плохой корреляцией
опять не понятно ?

Вообще то вы можете перемножить мнгновенно 2 матрицы 10Мбх75 вещественных чисел двойной точности мнгновенно даже на современном компьютере, а не PIII-650 с 128 Мб где они даже в память не умещаются и надо постоянно со свопом работать?

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

А вот мне непонятно зачем выдвигать какие-то суждения как это должно б было быть? Какие-то 32 года на расчет миллиарда позиций и мнгновенное решение root2 для 10000000х75. Question

6 месяцев и 1 час - вот реальные результаты реального эксперимента реализованного на практике.

Если Тузик шел по мосту, упал в воду и утонул. Зачем обсуждать удельную массу тузика, закон Архимеда, психологическое состояние пса и возможность суицида?
Тузик утонул - вот факт и все!
Теперь можно только завести нового пса (лучше породы Водолаз)

P.S. запускал расчет дебютных позиций на глубине 5 сегодня ночью
Скорость 99.14 решенных поз.сек - дальше считайте сами 32 года или сколько надо на миллиард
 
 Профиль пользователя отправить личное сообщение  
Ответить с цитатой Наверх
NS
Тема сообщения:   СообщениеОтправлено: Нояб 07, 2007 - 07:03 AM



Зарегистрирован: Авг 22, 2006
Сообщений: 613
Откуда : Санкт-Петербург
Loosseer писал(а):
ну если обращение матрица размера 75х75 происходит мнгновенно , то значит тормозило что-то еще - я лично не замерял и профилированием кода не занимался в этом расчете
например перемножение матриц
я брал по 10 млн тестов (все 600 млн не получалось явно из-за памяти и скорости)
считал несеолько раз и откинув крайние результаты остальные усреднял


Опять не понимаю. Что такое "крайние результаты"?
Подставив для каждой позиции количества признаков и оценку получаем выражение:
(k1*x1+k2*x2+...kn*xn-eval)^2
где k1 - количество признаков в позиции, x1 - искомый вес признака.
Раскрыв скобки и сложив по всем позициям получим полином второй степени. Взяв частные производные по каждому xi получим систему уравнений. Вероятность что матрица вырождена равна практически нулю. Решили уравнение (а решение одно - матрица то не вырождена Smile ), получили веса признаков.
А "крайние результаты" откуда взялись?
 
 Профиль пользователя отправить личное сообщение  
Ответить с цитатой Наверх
Kallisto
Тема сообщения:   СообщениеОтправлено: Нояб 07, 2007 - 05:40 AM



Зарегистрирован: Авг 18, 2003
Сообщений: 731

Loosseer писал(а):
есть небольшая - дык тока вот Каллисто демо вообще почти без баз обходится

Нет никакой демо.
А базы можно до 6 шашек строить. С ними должно лучше быть.
 
 Профиль пользователя отправить личное сообщение Послать e-mail WWW  
Ответить с цитатой Наверх
Loosseer
Тема сообщения:   СообщениеОтправлено: Нояб 06, 2007 - 10:18 PM



Зарегистрирован: Нояб 03, 2007
Сообщений: 22

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

P.S. а вот многие дальнейшие события в этой ветке уже мне очевидны
 
 Профиль пользователя отправить личное сообщение  
Ответить с цитатой Наверх
NS
Тема сообщения:   СообщениеОтправлено: Нояб 06, 2007 - 09:13 PM



Зарегистрирован: Авг 22, 2006
Сообщений: 613
Откуда : Санкт-Петербург
Цитата:
Моя реализация мет мин квадр требовала обращения матрицы размерности числа параметров
При размерности более 75 расчет занимал более часа

Если линейная ОФ, то расчет 75 коэффициентов методом наименьшей суммы квадратов это решение линейной системы уравнений. 75 неизвестных, 75 уравнений. Решается хотя-бы методом гаусса. Считается моментально.
 
 Профиль пользователя отправить личное сообщение  
Ответить с цитатой Наверх
Показать:     
Перейти к:  
Время в формате GMT - 12
Новая тема   Ответить
Предыдущая тема Версия для печати Войти и проверить личные сообщения Следующая тема
PNphpBB2 © 2003-2007 
 
Page created in 3.01226305962 seconds.