Google
 

Сайт Андрея Иванова

Андрей Иванов - все секреты шашек и шашистов

Login





 


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

Кто с нами

Пользователей:  На сайте
Пользователей:  Пользователей: 0
Гостей:  Гостей: 2
Всего:  Всего: 2
Пользователей:  Зарегистрированные
No members connected


Новая тема   Ответить
Предыдущая тема Версия для печати Войти и проверить личные сообщения Следующая тема
Автор Сообщение
Kallisto
Тема сообщения:   СообщениеОтправлено: Май 03, 2007 - 11:27 AM



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

Нет, индекс не имеет никакого отношения к сжатию.
 
 Профиль пользователя отправить личное сообщение Послать e-mail WWW  
Ответить с цитатой Наверх
NS
Тема сообщения:   СообщениеОтправлено: Май 03, 2007 - 10:38 AM



Зарегистрирован: Авг 22, 2006
Сообщений: 671
Откуда : Санкт-Петербург
Да, только если потом будут использоваться сжатые (неполные) ЭБ, то скорей всего расчет индекса будет иной.
 
 Профиль пользователя отправить личное сообщение  
Ответить с цитатой Наверх
Kallisto
Тема сообщения:   СообщениеОтправлено: Май 03, 2007 - 10:31 AM



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

Мне больше нравится сразу перейти на 64 бита.
 
 Профиль пользователя отправить личное сообщение Послать e-mail WWW  
Ответить с цитатой Наверх
NS
Тема сообщения:   СообщениеОтправлено: Май 03, 2007 - 09:09 AM



Зарегистрирован: Авг 22, 2006
Сообщений: 671
Откуда : Санкт-Петербург
Сайт "Шашки в России" сделан на старом престаром движке Postnuke.
Сайт поддержки движка еще живет, но я за него не агитирую, просто упоминаю. Меня он устраивает по причине изученности мною и наличию на мой взгдяд полезных модулей для публикации контента.
Например, архив файлов журнала "Шашечный Израиль" со скриншотами обложек выглядит довольно симпатично - http://shashki.com/UpDownload-req-views ... id-36.html

Нагрузка на хостинг от Постнюки, Друпала и Вордпресса примерно равная, и более зависит от числа посетителей и тарифного плана хостера. Проблемы с загрузкой страниц даже при выборе самого дешевого плана могут начинаться примерно с 400 - 500 посетителей в день. Что для шашечных сайтов уже немало... К сожалению.

Практика показала, что предоставление возможности ведения блогов в рамках уже существующего проекта, себя не оправдывает. Рано или поздно ведущие блогов просят их отключить и создают свои собственные сайты. Так было у меня со Шклудовым, Ивановым, Котляром... Удачнее сложилось сотрудничество с Московской федерацией шашек и ее пресс-секретарем (по существу) Василием Христичем, он оперативно публикует новости в московском разделе, и это устраивает обе стороны. МФШ свободно от проблем поддержки своего сайта, новости читает довольно широкая аудитория, а на "Шашки в России" всегда свежие московские шашечные новости.
 
 Профиль пользователя отправить личное сообщение  
Ответить с цитатой Наверх
Kallisto
Тема сообщения:   СообщениеОтправлено: Май 03, 2007 - 09:05 AM



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

А что делать когда их станет не хватать?
 
 Профиль пользователя отправить личное сообщение Послать e-mail WWW  
Ответить с цитатой Наверх
NS
Тема сообщения:   СообщениеОтправлено: Май 03, 2007 - 08:23 AM



Зарегистрирован: Авг 22, 2006
Сообщений: 671
Откуда : Санкт-Петербург
Ну, я уже высказался. Раз для текущего формата и текущей размерности хватает 32 бит, то наверно нужно столько и сделать.
 
 Профиль пользователя отправить личное сообщение  
Ответить с цитатой Наверх
Kallisto
Тема сообщения:   СообщениеОтправлено: Май 03, 2007 - 08:14 AM



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

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

Нужно сейчас придумать такой интерфейс, чтобы потом его уже менять не нужно было. Просто потом будут другие реализации ЭБ. И чтобы старые движки смогли легко их использовать без каких-либо модификаций кода.
 
 Профиль пользователя отправить личное сообщение Послать e-mail WWW  
Ответить с цитатой Наверх
NS
Тема сообщения:   СообщениеОтправлено: Май 03, 2007 - 08:09 AM



Зарегистрирован: Авг 22, 2006
Сообщений: 671
Откуда : Санкт-Петербург
Цитата:
Функция вычисления индекса просто для полноты картины. Возможно есть еще какие-то микрооптимизации.


Эта функция будет меняться от изменения формата ЭБ, поэтому проще её делать под текущий формат (всё-равно потом придется менять)
И если сейчас на индекс достаточно 32 бит, то зачем использовать 64?


Последний раз редактировалось NS в Май 03, 2007 - 08:16 AM; всего редактировалось 1 раз
 
 Профиль пользователя отправить личное сообщение  
Ответить с цитатой Наверх
Kallisto
Тема сообщения:   СообщениеОтправлено: Май 03, 2007 - 08:04 AM



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

Меня смущает слово demo, возможно оно забронированно, и програма поменяла его на demo_
Также - Ucoz не любит дирекций, он хранит файлы в датабазе
 
 Профиль пользователя отправить личное сообщение Послать e-mail WWW  
Ответить с цитатой Наверх
Kallisto
Тема сообщения:   СообщениеОтправлено: Май 03, 2007 - 08:02 AM



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

NS писал(а):
То есть прямого доступа к ЭБ нет, есть только две функция - первая возвращает оценку, вторая размерность ЭБ.

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

Функция вычисления индекса просто для полноты картины. Возможно есть еще какие-то микрооптимизации.
 
 Профиль пользователя отправить личное сообщение Послать e-mail WWW  
Ответить с цитатой Наверх
NS
Тема сообщения:   СообщениеОтправлено: Май 03, 2007 - 08:01 AM



Зарегистрирован: Авг 22, 2006
Сообщений: 671
Откуда : Санкт-Петербург
Я о том, что зачем преобразовывать позицию в 32-битное либо 64-битное число. Её можно просто скопировать в 32-байтный массив, а преобразование в индекс уже делать в оболочке.
 
 Профиль пользователя отправить личное сообщение  
Ответить с цитатой Наверх
Kallisto
Тема сообщения:   СообщениеОтправлено: Май 03, 2007 - 07:58 AM



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

Symix писал(а):
Мне первая Авроровская страница нравиться намного более Turbobase, там у вас ходы показываются с двух-ходовой задержкой, такое произходит когда вы добавляете вручную линки. партии должны быть поставленны на какоч то дрой сайт где можно делать дирекции и создавать html files, у Юкоза (как я помню) был лимит на количество html.

Отклычите показ название турнира когда генерируете Авророй, тогда партии пойдут одна под другой.


Генерируется Turbobase: На другом сайте (не Юкоз), как будет смотреться?

На компьютере показывает без ошибки. Вот чистый загруженный на сайт.

http://stas39.narod.ru/debut/VLitvinovo ... game20.htm
 
 Профиль пользователя отправить личное сообщение Послать e-mail WWW  
Ответить с цитатой Наверх
NS
Тема сообщения:   СообщениеОтправлено: Май 03, 2007 - 07:09 AM



Зарегистрирован: Авг 22, 2006
Сообщений: 671
Откуда : Санкт-Петербург
На моем компютере первый ход cb4 загорается после четвертого полухода gf6, у вас там где то прячутся другие линки
 
 Профиль пользователя отправить личное сообщение  
Ответить с цитатой Наверх
Kallisto
Тема сообщения: Обсуждение интерфейса для доступа к ЭБ  СообщениеОтправлено: Май 03, 2007 - 06:21 AM



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

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

Вот первый вариант интерфейса.

Код:

#define DB_DRAW      10000
#define DB_WIN       10001
#define DB_LOSE      10002
#define DB_UNKNOWN   10003
#define DB_NOT_FOUND 555555


// флаги для доступа к базе

#define DB_IN_MEMORY 1


// коды для обозначений шашек

#define EMPTY   1
#define WHITE   2
#define BLACK   4
#define KING   8

// т.е. код белой дамки - 10

struct EdBoard1
{
   // все поля идут по порядку a8, c8, и т.д. до g1
   unsigned char board[32];
};

struct EdBoard2
{
   unsigned char *wman;
   unsigned wman_cnt;

   unsigned char *wkings;
   unsigned wkings_cnt;

   unsigned char *bman;
   unsigned bman_cnt;

   unsigned char *bkings;
   unsigned bkings_cnt;
};

// интерфейсный класс для доступа к базам
struct EdAccess
{
   // загрузить базы
   unsigned Load() = 0;

   // получить тип базы
   char *GetBaseType() = 0;

   // оценка позиции (всегда ход белых)
   int GetResult(EdBoard1 *board, unsigned flags) = 0;
   int GetResult(EdBoard2 *board, unsigned flags) = 0;

   // получить указатель на таблицу по материалу
   unsigned GetTable(unsigned wm, unsigned wk, unsigned bm, unsigned bk) = 0;

   // получить указатель на таблицу по материалу и по наиболее продвинутой шашке
   unsigned GetTable(unsigned wm, unsigned wk, unsigned bm, unsigned bk, unsigned rank) = 0;

   // проверка загруженности таблицы целиком в память
   unsigned IsTableInMemory(unsigned table);

   // получить индекс в таблице
   unsigned __int32 GetIndex(EdBoard1 *board) = 0;
   unsigned __int32 GetIndex(EdBoard2 *board) = 0;

   // получить оценку по указателю на таблицу и индексу
   int GetResult(unsigned table, unsigned __int32 index, unsigned flags) = 0;
};


// функция интерфейса экспортируемая из dll
__declspec(dllexport) void __stdcall EI_EGDB(EdAccess *eda)
{
   // здесь должен быть код
   // сохраняющий указатель на интерфейс во внутренние переменные движка
   // вызывающий загрузку базу?
}


Здесь я сомневаюсь по одному моменту. Хватит ли 32-х бит для индексирования больших таблиц?
Если нет, то стоит ли все базы индексировать 64-мя битами или для младших баз все-таки оставить 32 бита?
 
 Профиль пользователя отправить личное сообщение Послать e-mail WWW  
Ответить с цитатой Наверх
Показать:     
Перейти к:  
Время в формате GMT + 3
Новая тема   Ответить
Предыдущая тема Версия для печати Войти и проверить личные сообщения Следующая тема
PNphpBB2 © 2003-2007 
 
Page created in 1.0607271194458 seconds.