Como é possível que a base de tabela de Lomonosov-final de 2012 ainda seja a base de tabela mais poderosa?

7

Devido à Wikipedia: Base de tabela de final de jogo, a base de tabela de final de jogo de Lomonosov ainda é a maior base de tabela (com um tamanho de 140 TB). Agora, essa base de tabela foi calculada no ano de 2012 com o Lomonosov 1 ( lista Top500 em novembro de 2012, classificação 26 ). O Lomonosov 1 tinha 78.660 núcleos com ~ 900 TFlop / s (pico: 1.700 TFlop / s). Quando olho para a lista Top500 mais recente (junho de 2016) , vejo que o Lomonosov 2 está classificado em 41 no mundo com ~ 2.100 TFlop / s (pico: ~ 2.900 TFlop / s), o super número 1 O computador possui 93.000 TFlop / s.

Então, eu me pergunto por que a base de mesa de Lomonosov após 4 anos ainda é a maior base de mesa. Não deveria ser fácil, com o crescente poder computacional, calcular uma base de 8 homens? Ou o passo das 7 às 8 é grande demais? Talvez o tamanho subisse exponencialmente para que os sistemas de armazenamento padrão simplesmente não pudessem lidar com isso?

Gostaria de receber todas as informações sobre este tema. Desde já, obrigado!

BNetz
fonte
10
O passo de 7 a 8 é grande demais. De acordo com o artigo da Wikipedia, são necessários 7 GB para armazenar as mesas até 5 homens (no formato Nalimov), 1,2 TB para armazenar as mesas até 6 homens e 140 TB para armazenar as mesas até 7 homens. Portanto, o armazenamento de uma mesa de 8 pessoas exigirá mais de um petabyte de armazenamento.
dfan
3
@dfan Seus comentários devem ser uma resposta.
SmallChess
11
@ StudentT Eu não achei que fosse definitivo o suficiente.
Dfan
Eles poderiam fazer 7 homens com peões opostos nas mesmas configurações de arquivo contadas como "1" em vez de "2", ou algo assim. Isso teria apenas cerca de 3x o tamanho da corrente. Além disso, a memória (em todos os nós) é mais importante que a velocidade ("TFlops", não exatamente a melhor medida), eu acho.
Post-It-Note
11
de acordo com esta página , estima-se que o cálculo da TB de 8 homens exija 10PB de armazenamento e 50TB de RAM. Isso sem mencionar o tempo necessário - com esse volume de requisitos de armazenamento e acesso aleatório, é necessária muita tecnologia para gerenciar os tempos de acesso ao armazenamento.
MM

Respostas:

3

Atualmente, sou desenvolvedor de software para calcular bases de tabela de final de jogo. O verdadeiro gargalo com o cálculo de posições não é a memória em si, mas a memória de trabalho e os ciclos de computação necessários para calcular uma rede para um conjunto de posições em crescimento exponencial.

O número de posições cresce exponencialmente de acordo com o número de homens no quadro; isso significa que a memória de trabalho necessária (seja a RAM ou as leituras do disco rígido, que são menos caras e mais escaláveis, mas significativamente mais lentas) aumenta proporcionalmente ao local A^Nonde Aestá uma constante de escala (um pouco menor que 64) e Né o número de homens na lista. tablebase. O supercomputador Lomonosov usava 92 TiB de RAM , o que é suficiente para uma mesa de 7 pessoas; como dfan disse em seu comentário, o salto é grande demais.

Além disso, à medida que mais nós são adicionados à base de tabela, o número de cálculos aumenta mais rapidamente do que linearmente o número de nós. Por exemplo, acessar dados em uma Árvore de Pesquisa Binária (BST) é proporcional a ln(M)onde Mestá o número de nós na árvore; pois M = A^N, para acessar cada nó da árvore uma vez, A^N * ln(A^N)são necessárias operações. Existem várias etapas no algoritmo de avaliação retrógrada da tabela que são dimensionadas de maneira semelhante.

Em resumo, a memória aumenta exponencialmente e o número de operações aumenta mais rapidamente do que exponencialmente à medida que mais homens são adicionados. A computação não avançou até agora em (no momento da redação) 6 anos.

bcdan
fonte
2

Não consigo comentar, pois não tenho "50 reputação", mas queria saber se é possível usar a base de tabelas 7 como parte da resposta para uma base de 8 tabelas. Eles fizeram isso pela mesa 7?

Ou seja, ao determinar a solução para 8 peças, pare se você tiver 7 peças e apenas consulte a base da mesa 7. É verdade que, mesmo com isso, seria enorme porque ainda haveria muitas combinações antes de chegar às 7 peças, mas menos do que seria se você quisesse descobrir isso sem fazer referência à base de mesa 7?

Se a solução usou um método de ir na outra direção, talvez não ajude?

Eric
fonte
2
A base da tabela armazena se uma posição é Vitória, Empate ou Perda; e também uma métrica (por exemplo, DTC - significando número de movimentos até que a posição se mova para outra categoria). Ele não armazena "uma solução", como você sugere, em vez disso, o mecanismo que usa a base de tabela examinará todos os movimentos possíveis em uma posição, classificará as métricas para cada posição resultante e selecionará um movimento com base na melhor métrica. Se a melhor jogada foi uma captura, o mecanismo procurará a base da nova posição para realizar sua próxima jogada.
MM