Вы находитесь на странице: 1из 5

Anlisis de algoritmo

Algoritmo sherwood

Presentado por:
Luis Fernando Pacheco Bertel

Dirigido a:
Ing. Guillermo Hernndez

Facultad:
Ciencias bsicas y arquitectura

Programa:
Ingeniera de sistemas

Corporacin universitaria del caribe


CECAR

Introduccin
Un algoritmo probabilista (o probabilstico) es un algoritmo que basa su
resultado en la toma de algunas decisiones al azar, de tal forma que, en promedio,
obtiene una buena solucin al problema planteado para cualquier distribucin de
los datos de entrada. Es decir, al contrario que un algoritmo determinista, a partir
de unos mismos datos se puede obtener distintas soluciones y, en algunos casos,
soluciones errneas.
Algoritmo de Sherwood siempre se puede buscar una solucin al problema, y la
solucin obtenida es siempre correcto. Cuando un algoritmo determinista en el
peor de los casos, la complejidad computacional de su clculo de la complejidad
del caso promedio son muy diferentes, se puede determinar el algoritmo
introducido en esta aleatoriedad se transformar en un algoritmo de Sherwood
para eliminar o reducir problema de la diferencia entre buenos y malos ejemplos.
Sherwood algoritmo esencia no es evitar el peor de los casos el comportamiento
del algoritmo, sino ms bien tratar de eliminar esta peor comportamiento y la
relacin entre las instancias especficas
La esperanza matemtica del
independientemente del ejemplar.

tiempo

de

este

algoritmo

es

lineal

Siempre es posible que una ejecucin emplee un tiempo cuadrtico pero la


probabilidad de que ocurra es menor cuanto mayor es n.
Algoritmo de
considerado.

Sherwood e f i c i e n t e

cualquiera

que

sea

Ejemplo de un algoritmo de las vegas


Tipo A:
Recordar el mtodo de ordenacin de Hoare (quicksort)
(Divide y vencers)

el ejemplar

Coste promedio: O(nlog n)


Coste peor: (n2)

Un ejemplo del caso peor:


Si todos los elementos son iguales, el algoritmo anterior no se
percata.
Mejora evidente:

Procedimiento QS_Sherwood(E/S V: vector de elemento;


E inicio, final: posicin)
Var pivote:
elemento i,
j: posicin
Si (final - inicio) es pequeo entonces
{si hay pocos datos se usa algn mtodo bsico, p.e.
insercin}
Ordenar(V, inicio, final)
si no
pivote V[ uniforme(inicio,
final) ] Separar(V, inicio, final,
pivote, i, j)
{Separar recoloca los datos en V de manera
que: V[x] pivote, si inicio x < i
V[x] = pivote, si i x j
V[x] > pivote, si j < x
final } QS_Sherwood(V, inicio,
i-1) QS_Sherwood(V, j+1,
final)
fsi
fproc

Es una subclase de los algoritmos Las Vegas: dan siempre


respuesta y siempre es correcta.

Hacen uso del azar para intentar eliminar la diferencia entre


los ejemplares buenos y malos de algn algoritmo determinista. La
idea es que el caso peor depender del azar, y no de los datos del
ejemplar.

La idea general es preprocesar los datos del ejemplar antes de


aplicar el algoritmo. Este coste aadido deber ser menor que la
aplicacin directa del algoritmo sobre los casos malos.

El coste del caso promedio no se mejora, solo se reduce la


probabilidad de que aparezcan los casos no deseados.

Conclusin
Para concluir Para evitar estas posibilidades, se puede utilizar un pivote
aleatorio (o con unas ciertas propiedades, ver luego) en cada ocasin. El caso
peor sigue existiendo ya que puede que casualmente ese dato provoque
separaciones poco equilibradas, pero ahora ese caso depende solo del azar y
del tamao del vector, as que cuanto ms grande sea el vector ms difcil ser
que ocurra esta posibilidad. No depende del orden concreto en que aparecen

los datos en el vector.

Bibliografa

es.wikibooks.org/wiki/Algoritmia/Algoritmos_probabilsticos
es.wikipedia.org/wiki/Algoritmo_probabilista

www.dc.uba.ar/materias/aed3/2013/1c/teorica/introduccion.pdf
webdiis.unizar.es/asignaturas/EDA/ea/.../8-Algoritmos%20probabilistas.pdf
es.slideshare.net/Pilay1256/algoritmo-13133569
www.escet.urjc.es/~rmartine/EDAA-AlgProbabilistas-1.pdf
https://algpooisandyrc.wikispaces.com/file/view/taller+de+sandy.docx

Вам также может понравиться