Автор |
Сообщение |
Kallisto |
|
Тема сообщения:
Отправлено: Фев 03, 2008 - 02:46 PM
|
|
Зарегистрирован: Авг 18, 2003
Сообщений: 747
|
|
|
|
 |
MiG |
|
Тема сообщения:
Отправлено: Фев 03, 2008 - 10:17 AM
|
|
Зарегистрирован: Сен 12, 2002
Сообщений: 391
|
|
Kvadrat писал(а): Если я правильно понимаю, каждая позиция уникальная и имеет свой индекс/ключ. Для позиции вычисляется индекс и по этому индексу она ищется в соответствующем файле и возвращается оценка позиции.
Отвечу вкратце вместо Игоря
Да, Вы всё правильно поняли. Сейчас Вы должны разобраться в исходниках, в которых реализован доступ к ЭБ, и сделать то же самое для своего движка.
Еще один (более простой) вариант — подключить ЭБ через уже имеющийся интерфейс. |
|
|
|
|
 |
Kvadrat |
|
Тема сообщения:
Отправлено: Фев 03, 2008 - 05:44 AM
|
|
Зарегистрирован: Дек 16, 2006
Сообщений: 405
|
|
Игорь, если это Вас не затруднит, объясните мне, чайнику, как получить доступ в ЭБ.
Если я правильно понимаю, каждая позиция уникальная и имеет свой индекс/ключ. Для позиции вычисляется индекс и по этому индексу она ищется в соответствующем файле и возвращается оценка позиции. (Я говорю про файл, поскольку мне сейчас не надо грузить базы в память).
Объясните, пожалуйста, на примере этой позиции приведенной в соседней ветке
(ход черных, но полагаю в базе все описано относительно одного цвета)
как вычислить эту позицию и из какого файла по какому смещению вытащить оценку?
Или мне уже ничего не поможет?  |
_________________ Пользуюсь всеми доступными программами
|
|
|
|
 |
NS |
|
Тема сообщения:
Отправлено: Июнь 07, 2007 - 08:12 AM
|
|
Зарегистрирован: Авг 22, 2006
Сообщений: 671
Откуда : Санкт-Петербург
|
|
Цитата: Кстати, стоит ли делать поддержку ранговых баз? Или безранговых будет вполне достаточно? Между прочим, для движка, поддержку сделать достаточно просто.
Мне ранговые не нужны. |
|
|
|
|
 |
Kallisto |
|
Тема сообщения:
Отправлено: Июнь 06, 2007 - 06:10 AM
|
|
Зарегистрирован: Авг 18, 2003
Сообщений: 747
|
|
Нашел одну неточность в SiDra при использовании баз с потерей взятий.
В RootSearch() после генерации ходов должен быть такой код:
Код:
if (!EdNocaptures || MoveBuffer[0].cap_sq[0]) EdRoot[stm] = EdProbe();
else EdRoot[stm] = EdAccess::not_found;
if (EdRoot[stm] == EdAccess::win) EdRoot[stm ^ CHANGE_COLOR] = EdAccess::lose;
else if (EdRoot[stm] == EdAccess::lose) EdRoot[stm ^ CHANGE_COLOR] = EdAccess::win;
else EdRoot[stm ^ CHANGE_COLOR] = EdRoot[stm];
Кстати, стоит ли делать поддержку ранговых баз? Или безранговых будет вполне достаточно? Между прочим, для движка, поддержку сделать достаточно просто. |
|
|
|
|
 |
Kallisto |
|
Тема сообщения:
Отправлено: Май 19, 2007 - 03:38 PM
|
|
Зарегистрирован: Авг 18, 2003
Сообщений: 747
|
|
Letas, ничего распаковывать не надо. Эта ветка предназначена исключительно для обсуждения технических деталей между программистами. Я об этом говорил в первом посте.
NS, в загаловочном файле есть такие комментарии:
// загрузить базы
// пока такие типы игр:
// russian
// russianlosers
// brazil
// brazillosers
// pool
// poollosers
// checkers
// checkerslosers
Я думал, что будет понятно [/b] |
|
|
|
|
 |
letas |
|
Тема сообщения:
Отправлено: Май 19, 2007 - 03:20 PM
|
|
Зарегистрирован: Фев 08, 2003
Сообщений: 1685
|
|
Kallisto писал(а): Новые исходники SiDra: www.igorkorshunov.narod.ru/sidra_src.rar
- поддержка ЭБ, сжатых с потерей информации
- константы из интерфейсного класса переделаны в перечисления (enum), т.к. не все компиляторы поддерживают константы внутри класса
- добавлен проект для VC++ 6.0
- немного подправлена консольная версия
В какую директорию все это нужно распаковать? |
|
|
|
|
 |
NS |
|
Тема сообщения:
Отправлено: Май 19, 2007 - 02:35 PM
|
|
Зарегистрирован: Авг 22, 2006
Сообщений: 671
Откуда : Санкт-Петербург
|
|
Для русских ключевое слово "russian", а какие будут ключевые слова для бразильских и пула? |
|
|
|
|
 |
Kallisto |
|
Тема сообщения:
Отправлено: Май 19, 2007 - 04:36 AM
|
|
Зарегистрирован: Авг 18, 2003
Сообщений: 747
|
|
Новые исходники SiDra: www.igorkorshunov.narod.ru/sidra_src.rar
- поддержка ЭБ, сжатых с потерей информации
- константы из интерфейсного класса переделаны в перечисления (enum), т.к. не все компиляторы поддерживают константы внутри класса
- добавлен проект для VC++ 6.0
- немного подправлена консольная версия |
|
|
|
|
 |
Kallisto |
|
Тема сообщения:
Отправлено: Май 18, 2007 - 06:11 AM
|
|
Зарегистрирован: Авг 18, 2003
Сообщений: 747
|
|
NS писал(а): Но если обратиться то ответит что такой позиции нет? Или даст неверный ответ?
Можно считать, что ответом будет случайное число. |
|
|
|
|
 |
NS |
|
Тема сообщения:
Отправлено: Май 18, 2007 - 04:41 AM
|
|
Зарегистрирован: Авг 22, 2006
Сообщений: 671
Откуда : Санкт-Петербург
|
|
Но если обратиться то ответит что такой позиции нет? Или даст неверный ответ? |
|
|
|
|
 |
Kallisto |
|
Тема сообщения:
Отправлено: Май 18, 2007 - 04:00 AM
|
|
Зарегистрирован: Авг 18, 2003
Сообщений: 747
|
|
Вспомнил еще одну важную вещь. Бывают базы, сжатые с потерей информации о позициях, в которых возможны взятия.
Пусть для таких баз функция virtual char *GetBaseType(); возвращает строку в которой будет слово "nocaptures".
Например, для сжатых с потерей информации баз Каллисто эта строка будет:
"Kallisto nocaptures".
Если движок увидел слово "nocaptures" в типе базы он не должен обращаться к базе в позициях, где есть взятия, т.к. получит неправильный ответ.
Завтра добавлю корректную работу со сжатыми базами к SiDra. |
|
|
|
|
 |
Kallisto |
|
Тема сообщения:
Отправлено: Май 14, 2007 - 03:55 AM
|
|
Зарегистрирован: Авг 18, 2003
Сообщений: 747
|
|
nikvo писал(а): В русской или бразильской версии?И как исправить?Вытереть и заново записать?
Вы прочитайте еще раз. Это ни к русской ни к бразильской никакого отношения не имеет.
Табличка "base not found" означает, что не хватает каких-то кусков базы. |
|
|
|
|
 |
letas |
|
Тема сообщения:
Отправлено: Май 14, 2007 - 01:52 AM
|
|
Зарегистрирован: Фев 08, 2003
Сообщений: 1685
|
|
nikvo писал(а): base not found
Выскакивает табличка такая.Хотя я сгенерировал ЭБ(в бразил)
Вы писали - исправлена идиотская ошибка, из-за которой, иногда, ходы (в корне дерева!) просто выбрасывались из рассмотрения;
В русской или бразильской версии?И как исправить?Вытереть и заново записать?
Такая табличка выскакивает,когда база сгенерирована не до конца.
Проверьте это. |
|
|
|
|
 |
nikvo |
|
Тема сообщения:
Отправлено: Май 13, 2007 - 10:13 PM
|
|
Зарегистрирован: Фев 08, 2003
Сообщений: 1251
|
|
LRU писал(а): Теперь Каллиста упустила выигрыш с Торнадо
Торнадо-Каллиста (Дебют h2d4 a7h2)
1. d4-e5 h2:f4 2. e5:g3 f6-g5 3. g3-f4 g7-f6 4. c3-d4 d6-c5 5. b2-c3 g5-h4 6. f4-g5 h6:f4 7. e3:g5 c5:e3 8. f2:d4 h4-g3 9. g5-h6 g3-h2 10. a1-b2 e7-d6 11. e1-f2
d6-e5
Тоша предлагает 11. ... d6-c5 12. d4-e5 f6:d4 13. c3:e5 b6-a5 14. d2-c3 d8-e7 15. e5-f6 e7:g5 16. h6:f4 h8-g7 итд х
После хода в партии 11. ... de5 12. ab4 ba5?
Нужно было 12. ... cd6! Уравнения за белых не видно. |
|
|
|
|
 |
|