• No se han encontrado resultados

Análisis del caso promedio El plan:

N/A
N/A
Protected

Academic year: 2021

Share "Análisis del caso promedio El plan:"

Copied!
18
0
0

Texto completo

(1)

Análisis del caso promedio

El plan:

– Probabilidad

– Análisis probabilista

Árboles binarios de búsqueda construidos aleatoriamente

– Tries, árboles digitales de búsqueda y Patricia

– Listas “skip”

(2)

Abb

’s construidos aleatoriamente

Recordar… árbol binario de búsqueda (

abb

):

– La clave de todo nodo es mayor o igual

que las de sus descendientes izquierdos y menor que las de sus descendientes derechos.

– Las operaciones básicas (búsqueda, inserción, borrado…) tienen un

coste O(h), donde h es la altura del árbol.

– La altura de un abb varía con las inserciones y

borrados y, en el peor caso, puede llegar a ser igual al número de nodos, O(n).

¿Qué ocurrirá en un caso “promedio”?

ama su a al eso si sin

(3)

Abb

’s construidos aleatoriamente

Abb

de

n

nodos construido aleatoriamente:

– Es el resultante tras la inserción consecutiva de n

claves en orden aleatorio en un árbol vacío,

suponiendo que las n! permutaciones posibles de las claves son equiprobables.

– La pregunta: ¿cuál es el coste promedio de las operaciones con estos árboles?,

es decir, ¿cuál es la altura media de estos árboles?

(4)

Abb

’s construidos aleatoriamente

Longitud de los caminos internos y externos de

un árbol binario

– Definición. Árbol binario extendido: el resultante de añadir un nodo

especial en el lugar de cada subárbol vacío.

– Definición. Longitud de

caminos externos, E: es la suma de las longitudes de todos los

caminos desde la raíz hasta las hojas, .

– Definición. Longitud de caminos internos, I: es la suma de las longitudes de todos los caminos desde la raíz hasta todos los nodos internos, .

ama su a al eso si sin E = 26 I = 12

(5)

Abb

’s construidos aleatoriamente

Teorema:

E

=

I

+ 2

n

, donde

n

es el número de

nodos internos.

– Demostración: supongamos que se borra un nodo

interno V a distancia k de la raíz y tal que sus dos hijos son hojas.

• En tal caso, E disminuye en 2(k+1), porque los hijos de V

desaparecen, y aumenta en k, porque V pasa a ser hoja, luego

E se convierte en E-k-2.

• Por otra parte, I disminuye en k.

• Por tanto, E-I disminuye en 2 por cada nodo que se borra. • Borrando los n nodos se llega a un árbol vacío, es decir con

(6)

Abb

’s construidos aleatoriamente

Notación y relación fundamental:

Cn : número medio de comparaciones en una búsqueda con éxito en un árbol de n nodos construido aleatoria- mente, suponiendo que la búsqueda de toda clave es equiprobable.

Cn ': número medio de comparaciones en una búsqueda sin éxito, suponiendo que cada uno de los n+1

intervalos entre las claves y fuera de sus valores extremos son equiprobables.

– Entonces: Cn = 1 + I/n y Cn ' = E/(n+1) – Por tanto (E = I + 2n): 1 1  1        n n C n C

(7)

Abb

’s construidos aleatoriamente

Finalmente…

– El número de comparaciones necesarias para

encontrar una clave es exactamente uno más que el número de comparaciones que se necesitaban cuando esta clave no estaba en el árbol, por tanto:

que unido a nos da la recurrencia: (n+1)Cn ' = 2n + C0 ' + C1 ' +  + Cn-1 ' n C C C Cn n        1 0 1  1 1 1 1           n n C n C

Supongamos que cada una de las n! ordenaciones posibles de las n claves es una secuencia de inserción igualmente probable para construir el árbol

(8)

Abb

’s construidos aleatoriamente

– Para resolver (n+1)Cn ' = 2n + C0 ' + C1 ' +  + Cn-1 ' se resta nCn-1 ' = 2(n-1) + C0 ' + C1 ' +  + Cn-2 ' y se obtiene (n+1)Cn ' - nCn-1 ' = 2 + Cn-1 ' es decir Cn ' = Cn-1 ' + 2/(n+1) y como C0 ' = 0, entonces Cn ' = 2Hn+1 – 2 donde Hn es la serie armónica

Aplicando y simplificando: ) 1 ( ln 1 1 O n i H n i n      1 1 1           n n C n C ) (log 3 1 1 2 H O n n Cnn         

(9)

Abb

’s construidos aleatoriamente

El anterior es un buen resultado, pero…

– Si un abb se construye aleatoriamente y se “somete” después a una secuencia de inserciones aleatorias y de

borrados aleatorios, el árbol resultante pierde la aleatoriedad, con lo que se carece de resultados

teóricos sobre el coste promedio de las operaciones.

– No obstante, la evidencia empírica sugiere que tras una secuencia de borrados e inserciones aleatorios, la altura del árbol tiende a disminuir, si bien no he

encontrado en la literatura la explicación teórica de este comportamiento.

(10)

Abb

’s construidos aleatoriamente

Otra definición de “

abb

’s elegidos al azar”:

– Hipótesis de equiprobabilidad de todos los abb’s

posibles de n nodos.

– Primera cuestión: ver que ésta es una definición de “abb aleatorio” distinta a la anterior.

• Hay 5 abb’s distintos de 3 nodos (suponer a1 <a2 <a3 ), por tanto cada uno tiene probabilidad 1/5:

a1 a2 a3 a1 a3 a1 a3 a2 a 1 a3 a2 a3 a2

(11)

Abb

’s construidos aleatoriamente

• Sin embargo, construyéndolos a partir de las permutaciones posibles de a1 , a2 , a3 salen 6, cada uno con probabilidad 1/6:

a1 a2 a3 a1 a3 a2 a2 a1 a3 a2 a3 a1 a3 a1 a2 a3 a2 a1 a1 a2 a3 a1 a3 a2 a1 a3 a2 a1 a3 a2 a1 a3 a2 a1 a3 a2

Es decir, ¡éste árbol tiene el doble de probabilidad que los otros! (1/3)

(12)

Abb

’s construidos aleatoriamente

Cálculo de la profundidad media de un nodo en

un

abb

de

n

nodos elegido al azar:

– Recordar: longitud de caminos internos, In , de un

árbol de n nodos (suma de las longitudes de todos los caminos desde la raíz hasta todos los nodos internos).

I1 = 0

– Un árbol de n nodos tiene un subárbol izquierdo con i nodos (para algún 0  i < n) y un subárbol derecho con n-i-1 nodos, por tanto:

(13)

Abb

’s construidos aleatoriamente

– Hipótesis adicional: el número de nodos de un

subárbol (izquierdo o derecho) de un abb de n nodos elegido al azar es equiprobable para todos los valores posibles (de 0 a n-1), por tanto:

– Y aplicándolo a la recurrencia anterior (se omite el operador esperanza por comodidad), se obtiene la recurrencia:        1 0 1 1 ] E[ ] E[ n j j i n i I n I I 1 2 1 0             I n n I n j j n

(14)

Abb

’s construidos aleatoriamente

– Resolución de: • Multiplicando por n: • Y por tanto: • Restando ambas: • Es decir: 1 2 1 0             I n n I n j j n n n I nI n j j n             2 1 0 2 ) 1 ( ) 1 ( 2 ) 1 ( 2 2 0 1                I n n I n n j j n 2 2 2 ) 1 (  11    n I I n nIn n n 2 2 ) 1 (  1    n I n nIn n

(15)

Abb

’s construidos aleatoriamente

– Y para resolver esta nueva recurrencia:

• Dividiendo por n(n+1) y despreciando la constante:

• Luego: 2 2 ) 1 (  1    n I n nIn n 1 2 1 1     nn I n In n 3 2 2 3 1 2 2 1 2 1 1 2 3 2 2 1               I I n n I n I n n I n I n n n n        1 3 1 2 1 2 1 : sumando n i n i I n I

(16)

Abb

’s construidos aleatoriamente

• Finalmente, como

• Se sigue que

• Y como In es la suma de las longitudes de todos los caminos desde la raíz hasta todos los nodos internos, entonces la

profundidad media de cada nodo es O(log n). ) log (n n O In  armónica) (serie ) (log 1 2 1 3 n O i n i   

(17)

Abb

’s construidos aleatoriamente

De nuevo, al anterior es un buen resultado pero…

– El efecto de las operaciones de borrado destruye la

aleatoriedad.

– No he encontrado en la literatura resultados teóricos sobre el coste promedio resultante considerando

secuencias de operaciones de inserción y borrado.

Abb de 500 nodos

Profundidad media: 9’98

Tras 250.000 pares de operaciones de inser- ción y borrado. Profundidad media: 12’51

(18)

Abb

’s construidos aleatoriamente

Para evitar el crecimiento de la altura del árbol

hay dos tipos de soluciones:

– Realizar alguna operación de “equilibrado” del árbol tras cada inserción/borrado (árboles AVL, árboles 2-3, árboles B, árboles rojinegros).

– Renunciar a un equilibrado tan estricto y aplicar

alguna regla de re-estructuración que ayude a que las futuras secuencias de operaciones sean más eficientes (análisis amortizado, lo veremos más adelante).

• Este tipo de estructuras se llaman auto-organizativas (listas auto-organizativas, árboles auto-organizativos o “splay

Referencias

Documento similar

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

You may wish to take a note of your Organisation ID, which, in addition to the organisation name, can be used to search for an organisation you will need to affiliate with when you

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)