09.05.2013 Views

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

468 Capítulo 20. Esquemas algorítmicos fundam<strong>en</strong>tales<br />

20.5 Anexo: algoritmos probabilistas<br />

Por desgracia, los esquemas anteriores no siempre proporcionan soluciones a<br />

cualquier problema planteado; además sucede a veces que, aun existi<strong>en</strong>do una<br />

solución algorítmica a un problema, el tiempo requerido para <strong>en</strong>contrar una solución<br />

es tal que los algoritmos resultan inservibles. Una posibilidad consiste<br />

<strong>en</strong> conformarse con una solución aproximada, o bi<strong>en</strong> con una solución que resulte<br />

válida sólo casi siempre. Ambas posibilidades se basan <strong>en</strong> la aplicación de<br />

métodos estadísticos.<br />

En realidad, este planteami<strong>en</strong>to no constituye un esquema algorítmico, sino<br />

más bi<strong>en</strong> una trampa consist<strong>en</strong>te <strong>en</strong> alterar el <strong>en</strong>unciado de un problema intratable<br />

computacionalm<strong>en</strong>te para ofrecer una respuesta aceptable <strong>en</strong> un tiempo<br />

razonable.<br />

En este anexo incluimos sólo un par de ejemplos de los dos criterios más<br />

frecu<strong>en</strong>tem<strong>en</strong>te adoptados <strong>en</strong> esta clase de algoritmos:<br />

• El primero consiste <strong>en</strong> buscar una solución aproximada, lo que es posible <strong>en</strong><br />

bastantes problemas numéricos, sabi<strong>en</strong>do además el intervalo de confianza<br />

de la solución <strong>en</strong>contrada. La precisión de la solución dep<strong>en</strong>de frecu<strong>en</strong>tem<strong>en</strong>te<br />

del tiempo que se invierta <strong>en</strong> el proceso de cálculo, por lo que puede<br />

lograrse la precisión que se desee a costa de una mayor inversión del tiempo<br />

de proceso.<br />

• El segundo criterio consiste <strong>en</strong> buscar una respuesta que constituya una solución<br />

del problema con cierta probabilidad. La justificación es que cuando<br />

se trata de tomar una decisión <strong>en</strong>tre, por ejemplo, dos opciones posibles,<br />

no cabe p<strong>en</strong>sar <strong>en</strong> soluciones aproximadas, aunque sí <strong>en</strong> soluciones probablem<strong>en</strong>te<br />

acertadas. También aquí es posible invertir una cantidad de<br />

tiempo mayor para aum<strong>en</strong>tar, esta vez, la probabilidad de acierto.<br />

Aunque exist<strong>en</strong> clasificaciones sistemáticas más detalladas de esta clase de<br />

algoritmos, <strong>en</strong> este apartado sólo pret<strong>en</strong>demos dar una idea del principio <strong>en</strong> que<br />

se basan, y ello mediante dos ejemplos ampliam<strong>en</strong>te conocidos.<br />

20.5.1 Búsqueda de una solución aproximada<br />

Deseamos hallar el área de un círculo de radio 1 (naturalm<strong>en</strong>te, sin usar<br />

la fórmula). Un modo poco conv<strong>en</strong>cional de lograrlo consiste <strong>en</strong> efectuar n<br />

lanzami<strong>en</strong>tos al azar al cuadrado [−1, 1]×[−1, 1] y concluir con que la proporción<br />

de ellos que caiga d<strong>en</strong>tro del círculo será proporcional a este área. En otras<br />

palabras, el procedimi<strong>en</strong>to consiste <strong>en</strong> g<strong>en</strong>erar n puntos (px, py) aleatoriam<strong>en</strong>te,<br />

extray<strong>en</strong>do ambas coord<strong>en</strong>adas del intervalo [−1, 1] uniformem<strong>en</strong>te:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!