Форум » » (Deep) Rybka 3 (продолжение) » Ответить

(Deep) Rybka 3 (продолжение)

immortal223: Rybka 3 [quote]August 6, 2008 Overview Rybka 3 is the latest UCI chess engine from the Rybka line. Our previous version, Rybka 2.3.2a, is now nearly 14 months old, so the changes are extensive. Major Changes - The evaluation function is more accurate. There is a long list of useful new evaluation terms. The terms also interact in a more balanced and mature way. - The search is more efficient, especially in the sorts of sharp, murky positions in which chess games are often decided. - The multi-processor support is improved. - The code and algorithms have been cleaned up, leading to more solid and predictable behavior. - The opening book is improved and expanded and now fills the role of a general reference. Note: this book is sold separately, details here. New Features - Persistent hash, for storing and loading previous analysis - More efficient multi-variation mode - Chess 960 support - More intelligent contempt, which takes into account the trading of material, symmetrical structures and other drawish features - A special "human" version, whose evaluation aims at consistency with human grandmaster practice rather than at success in computer vs computer play - A special "dynamic" version, whose evaluation aims at speculative play There are also a number of other new features which enhance the analytical process but which require interface support. These can be used in the ChessBase and Convekta interfaces which are sold with Rybka 3. Details can be found in the documentation for those interfaces.[/quote] Rybka 3 - это стандартный шахматный движок. Он делает то, чего вы от него и ожидали: просто делает сильные ходы. Его игра чисто компьютерная - основана на «грубой» тактике за счёт игнорирования мелких позиционных нюансов. Rybka 3 - это прежде всего скорость и ещё раз скорость! Rybka 3 Human обладает человеческим стилем игры. Это движок, в оценке которого превалируют позиционные «знания» над тактическими. Из-за этих особенностей данный движок будет не так силён в позициях, насыщенных тактикой ( и не так быстр), но даст более взвешенную оценку в стратегически сложной позиции. Rybka 3 Dynamic - тактический монстр и как бы противоположность Human-версии. Dynanic более всего подходит для позиций, где нужно найти компенсацию за пожертвованный материал. Таким образом - это наилучший выбор для анализа позиций, возникающих при всевозможных гамбитах. Rybka 960 - это стандартная Рыбка, но настроенная специально для игры в т.н. шахматы Фишера (Chess 960). В частности понимает рокировку в Chess 960 и прочие нюансы. Официальный сайт / Official site Форум Рыбки / Rybka forum Купить Рыбку / Purchase Rybka Скачать демо-версию (2.2n2) / Demo version (2.2n2) [hideguest]Скачать: [more]Rybka 3 full pack (1.35MB) Зеркало/Mirror[/more][/hideguest]

Ответов - 371, стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 All

Iork: bankuss пишет: не совсем верно. НТ ничего не ускорит, но и отключение его тоже ничего не даст. по крайне мере "на глаз" разницы не увидишь, только в тестах. Ну а в тестах где больше покажет: с HT ? Или без него? Поделитесь опытом.

bankuss: Iork пишет: Ну а в тестах в тестах чего? есть приложения которые слегка шустрей реагируют на нажатия кнопочек от НТ :) но к движкам это не относится. вобще можно самому протестить, вкл\выкл, замерить... когда то у меня на работе был П4-3000, я пробовал включать - никаких приростов не заметил.

KucherovDm: immortal223 пишет: KucherovDm Для сравнения: Rybka 3 64-bit 3158 Rybka 3 32-bit 3090 Разница фактически в 70 ЭЛО. -------------------------------------------------------------------------- Меня смущает только то,что мне только что сказал по телефону Полещук Н.Н.У него проц 3.0 (у меня 2.8) - и он считает,что так как наш процессор не 64 битный,то эта система ХР или Виста будет эмуляцией(как в виртуальном ПК) - и реальной прибавки не будет.А ведь Николай Николаевич - известный программист. Так как все это понимать? Спасибо! +1


Renegat23: KucherovDm пишет: Меня смущает только то,что мне только что сказал по телефону Полещук Н.Н.У него проц 3.0 (у меня 2.8) - и он считает,что так как наш процессор не 64 битный,то эта система ХР или Виста будет эмуляцией(как в виртуальном ПК) - и реальной прибавки не будет.А ведь Николай Николаевич - известный программист. Так как все это понимать? Нужно смотреть название ядра. Выше уже сказали, что зависит от ядра. Если у вас Presler или Smithfield - то они 64-битные, если более ранние, то смысла в 64-битной виндовс нету.

bankuss: KucherovDm пишет: и он считает,что так как наш процессор не 64 битный,то эта система ХР или Виста будет эмуляцией(как в виртуальном ПК) не совсем понятно, что он имел ввиду. поставить на 32-битный процессор виртуальную машину на 64 бита? но виртуалок на 64 бита кажется еще нет, да и толку от такой эмуляции тоже. (еще медленней будет).

bankuss: для справки, первый 64-битник от Intel это Prescott: В Prescott заложена поддержка набора команд аналогичного AMD x86-64, этот набор команд в Intel назвали EM64T. Правда, в первых процессорах на ядре Prescott модуль, отвечающий за эти команды, был отключен. Сводная таблица процессоров Pentium 4 на ядре Prescott A 2,26—2,8 533 Socket 478 SSE3 2 февраля 2004 E 2,4—3,4 800 SSE3, HT F 3,2—3,8 Socket 775 SSE3, HT, EM64T август 2004 5x0 2,8(520)—3,6(560) SSE3, HT 21 июня 2004 5x0J 2,8(520J)—3,8(570J) SSE3, HT, EDB октябрь 2004 5x5 2,67(505); 2,93(515) 533 SSE3 декабрь 2004 5x5J 2,67(505J); 2,93(515J) SSE3, EDB 5x9J 3,06(519J) 5x6 2,67(506); 2,93(516) SSE3, EDB, EM64T июнь 2005 5x1 2,8(511)—3,8(571) 800 SSE3, HT, EDB, EM64T 21 мая 2005 все это легко узнать утилиткой CPUZ

Renegat23: bankuss пишет: не совсем понятно, что он имел ввиду. поставить на 32-битный процессор виртуальную машину на 64 бита? но виртуалок на 64 бита кажется еще нет, да и толку от такой эмуляции тоже. (еще медленней будет). Он имел ввиду, что есть процы с поддержкой так называемой виртуальной 64-битности, т.е. 64-разрядные приложения на них пойдут, но прироста не будет (как то так). Такой проц например стоит на моем ноуте - Intel Core Duo.

bankuss: Renegat23 пишет: с поддержкой так называемой виртуальной 64-битности первый раз слышу о таком есть единый стандарт ЕМ64T (или AMD64) и IA64 для процессоров Itanium у Intel. На десктопах используется исключительно EM64T. Так что не путайтесь, никаких виртульных 64 бит не существует. Оно едино у всех процессоров.

Renegat23: bankuss пишет: первый раз слышу о таком есть единый стандарт ЕМ64T (или AMD64) и IA64 для процессоров Itanium у Intel. На десктопах используется исключительно EM64T. Так что не путайтесь, никаких виртульных 64 бит не существует. Оно едино у всех процессоров. http://www.computerra.ru/system/265305/ У Core есть три 64-разрядных исполнительных блока для целочисленных вычислений, каждый из которых может исполнять однотактовые 64-битные скалярные целочисленные операции. По всей видимости, здесь, как и в ядре P6 предусмотрен один сложный 64-разрядный блок (CIU) и два простых блока (SIU), выполняющих элементарные действия вроде сложения. Один из SIU делит порт 2 с модулем исполнения переходов (BEU): они способны работать параллельно над выполнением объёдиненных в процессе Macro-fision инструкций. Способность осуществлять 64-разрядные целочисленные вычисления за один такт впервые появились в процессорах Intel x86 line, и эта возможность ставит чипы с архитектурой Core даже выше серверного процессора IBM PowerPC 970, способного выполнять такие вычисления только за два такта. Более того, поскольку блоки арифметической логики (ALU) расположены на отдельных портах, теоретически чипы Core способны выполнять за один цикл сразу три 64-разрядные целочисленные операции. http://ru.wikipedia.org/wiki/Intel_Core Недостатки Yonah в значительной степени наследует от предыдущей архитектуры Pentium M: * высокая задержка при обращении к памяти из-за отсутствия на ядре интегрированного контроллера памяти (ещё более усугубляется использованием памяти DDR2) * слабая производительность блока операций с плавающий точкой (FPU) * отсутствует поддержка 64-bit (EM64T) * отсутствует hyper-threading * иногда показывает худшую «производительность на ватт» в однопоточных и слабораспаралеливающихся задачах, по сравнению со своими предшественниками Кому верить?

bankuss: Yonah - это промежуточный чип, точнее Core 1, а не Core 2. 64 бита в него не стали встраивать. Но начиная с Core 2, 64 бита есть у всех процессоров Intel

Renegat23: bankuss пишет: Yonah - это промежуточный чип, точнее Core 1, а не Core 2. 64 бита в него не стали встраивать. Но начиная с Core 2, 64 бита есть у всех процессоров Intel Да, я о том же. Но в первой то статье как раз про архитектуру Core (1) речь идет.

bankuss: Renegat23 спроси у Intel почему они не стали ставить блок 64 бит в Yonah

KucherovDm: KucherovDm пишет: Конечно, ставьте 64 битную систему. Желательно XP 64 . Но перед этим убедитесь, что у вас проц 64 битный, через Everest или Sandra. Ядро у вашего проца должно быть < Prescott> . Прирост использования Рыбы 64 бит есть и немалый. У меня две системы стоят: XP 32- это для Инета и Vista 64., которую я использую. Подключил бы Инет и Висте 64 SP1, но не могу дрова на модем DFM-562I найти. Рекомендованной утилитой я выяснил,что ядро процессора- Prescott,Socket 478 mPGA, то есть первой версии А. И хотя Cashe L1 b L2 рассчитаны на 8 линий по 64 bit,будет ли мой процессор работать на 64 bit? Спасибо!+1

KucherovDm: Я посмотрел утилитой,рекомендованной Вами и программой Эверест. У меня ядро Preskott Socket 478 mPGA первой версии 2004 г. - А. И хотя оба каше L1 и L2 рассчитаны на команды 64 bit,все инструкции на 64 bit для X86 (AMD64,E64T)не поддерживаются. Так что,повидимому,64 битную систему мне нельзя устанавливать. Cпасибо +1

bankuss: KucherovDm A 2,26—2,8 533 Socket 478 SSE3 2 февраля 2004 - в нем нет EM64T. на кэш внимания не обращайте, это всего лишь память. так что придется обновлятся на 775 сокет, или смотреть в сторону AMD.

Кевин: В своё время проводил тест HT для Pentium 4 при помощи Fritz Benchmark. Результаты были примерно такие: с HT около 1250 kn/s, без него - чуть меньше 1000.

bankuss: Кевин пишет: с HT около 1250 kn/s, без него - чуть меньше 1000. да, на i920 тоже НТ ускоряет фрицмарк. а вот реальный движок, а не тест (например рыбку) не ускоряет. все таки фрицмарк это не полная эмуляция движка, по нему судить нельзя.

Canopus: bankuss пишет: Кевин пишет: цитата: с HT около 1250 kn/s, без него - чуть меньше 1000. да, на i920 тоже НТ ускоряет фрицмарк. а вот реальный движок, а не тест (например рыбку) не ускоряет. все таки фрицмарк это не полная эмуляция движка, по нему судить нельзя. C НТ ни один движок по _определению работать быстрее не может, не важно какие nps там показывают. Более того, он почти _всегда будет работать медленне.

NS: 1250 на двух потоках, и 1000 на одном - это примерно одно и тоже. Но зачем так нагружать комп, если намного проще включить гипертрейдинг, ограничиться одним ядром, и получить те-же 1000 на одном ядре, но с отличным ответом системы.

NS: да, на i920 тоже НТ ускоряет фрицмарк. а вот реальный движок, а не тест (например рыбку) не ускоряет. все таки фрицмарк это не полная эмуляция движка, по нему судить нельзя. Фрицмарк это полная эмуляция движка, но он показывает не силу игры, а NPS! Сведения о эффективном NPS (на что делить в зависимости от числа процессов) можно найти хотя-бы на сайте Рыбки... Повторюсь - читайте внимательно ФАК к Рыбке - она в отличии от всех остальных программ считает не реальный NPS (и количество узлов), а пересчитывает их в эффективный. Поэтому именно на Рыбке очень удобно смотреть получается ли выигрыш от использования виртуальных ядер. What speedup do you get from your multi-processor implementation? Ok, this is where the fun begins. The implementation which is released as the default in Rybka 2.0 Beta gives the following speedups: 2 Processors: 1.7 4 Processors: 2.8 8 Processors: 4.4 Here, speedup is defined as the effective increase in speed. In other words, if you play a match between Rybka on two processors and Rybka on one processor, and give the one-processor version 1.7 times more time (with ponder off), the match will be equal. Since the released implementation is fairly safe, there is not really much doubt about the above values. They are certainly not inaccurate by more than 5% or so. In the case of more ambitious implementations, where the shape of the search tree of the multi-processor version starts to differ more significantly from the shape of the search tree of the single-processor version, giving true effective speedups is trickier. In such cases, it is probably necessary to measure actual playing strength to be really sure. How much better would a perfect multi-processing implementation perform compared to the above values? Here, "perfect" is defined as an implementation which gives a speedup of 2.0 on two cores, 4.0 on four cores, etc. It is (probably) not quite possible to achieve this. The question is relevant for us because this represents an upper bound on potential multi-processing performance. The following table shows how actual Rybka performance diverges from this theoretical upper bound as the number of cores increase. # of cores Actual speedup Speedup upper bound Upper bound / Actual Elo difference between upper bound and actual 2 1.7 2.0 1.17 ~11.9 4 2.8 4.0 1.42 ~29.4 8 4.4 8.0 1.81 ~56.7 The values from the last column were computed using the formula of ((upper bound speedup) / (Actual speedup) - 1.0) * 70. In other words, they are based on the assumption that a doubling in speed gives 70 rating points. The point is that for the two-core systems which are common today, the multi-processing implementation in Rybka 2.0 Beta is already close enough to perfect that more work would not be productive. For bigger systems, however, as we are likely to see in the future, further improvement will pay off. Для примерной прикидки нужно умножать NPS на понижающий коэффициент взависящий от количества потоков. Один поток 1.0 Два потока 0.85 Четыре потока 0.7 Восемь потоков 0.55



полная версия страницы