Classificação por comparação aleatória ideal


12

Portanto, todos sabemos o limite inferior da árvore de comparação de no pior número de comparações feitas por um algoritmo (determinístico) de classificação por comparação. Não se aplica à classificação de comparação aleatória (se medirmos as comparações esperadas para a entrada do pior caso). Por exemplo, para n = 4 , o limite inferior determinístico é de cinco comparações, mas um algoritmo aleatório (permuta aleatoriamente a entrada e aplica a classificação de mesclagem) é melhor, tendo 4 2log2n!n=4 comparações de expectativa para todos os insumos.423

O O limite sem limites ainda se aplica no caso randomizado, por um argumento teórico da informação, e pode ser ligeiramente apertado para k + 2 ( n ! - 2 k )log2n! Isso ocorre porque existe um algoritmo ideal que permite a entrada aleatoriamente e aplica uma árvore de decisão (determinística), e a melhor árvore de decisão (se existir) é aquela em que todas as folhas estão em dois níveis consecutivos.

k+2(n!2k)n!, where k=log2n!.

E se alguma coisa for conhecida sobre os limites superiores desse problema? Para todos , o número aleatório de comparações (na expectativa, na pior das hipóteses, no melhor algoritmo possível) é sempre estritamente melhor que o melhor algoritmo determinístico (essencialmente, porque n ! Nunca é uma potência de dois) . Mas quanto melhor?n>2n!


lg(n!)+o(n)

Respostas:


4

Como sua pergunta é: "O que se sabe?" Aqui está uma coisa:

http://arxiv.org/abs/1307.3033

logn!+cnc


nlogn1.415nnlogn1.399n

Não sou especialista, a única razão que conheço é John Iacono. Penso, porém, que isso tem a ver com flutuações baseadas em quão próximo n é (4/3 vezes) de uma potência de 2. Se você olhar para a análise na página 71 aqui, link.springer.com/content/pdf /10.1007%2FBF01934989.pdf , o limite -1.415n parece manter-se apenas quando n = floor ((4/3) 2 ^ k) para algum número inteiro k. Talvez o -1.329n acoplado em Knuth seja o melhor para todos os n?
Pat Morin

Definitivamente, existem flutuações, mas eu pensei que (4/3) 2 ^ k era o pior caso e era melhor para outros casos.
David Eppstein
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.