<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SAGASOFT &#187; Programación</title>
	<atom:link href="http://www.blog.sagasoft.es/category/programacion/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.blog.sagasoft.es</link>
	<description>CoNqUeR tHe WoRlD!!</description>
	<lastBuildDate>Sun, 06 Sep 2009 16:05:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Definición general de algoritmo y tipos de problemas</title>
		<link>http://www.blog.sagasoft.es/2009/01/definicion-general-de-algoritmo-y-tipos-de-problemas/</link>
		<comments>http://www.blog.sagasoft.es/2009/01/definicion-general-de-algoritmo-y-tipos-de-problemas/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 08:24:05 +0000</pubDate>
		<dc:creator>SalMax</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Algoritmos]]></category>

		<guid isPermaLink="false">http://www.blog.sagasoft.es/?p=60</guid>
		<description><![CDATA[Desde el punto de vista de la computación, podemos aceptar la siguiente definición de algoritmo:
Secuencia ordenada de datos exentos de ambigüedad y determinísticos tal que al llevarse a cabo con fidelidad dan como resultado que se realice la tarea para el que sea ha diseñado en un tiempo finito (se obtiene la solución del problema [...]]]></description>
			<content:encoded><![CDATA[<p>Desde el punto de vista de la computación, podemos aceptar la siguiente definición de algoritmo:</p>
<blockquote><p>Secuencia <span style="FONT-WEIGHT: bold">ordenada</span> de datos <span style="FONT-WEIGHT: bold">exentos de ambigüedad</span> y <span style="FONT-WEIGHT: bold">determinísticos</span> tal que al llevarse a cabo con fidelidad dan como resultado que se realice la tarea para el que sea ha diseñado en un <span style="FONT-WEIGHT: bold">tiempo finito</span> (se obtiene la <span style="FONT-WEIGHT: bold">solución</span> del problema planteado)</p></blockquote>
<p>Existen también algoritmos lingüísticos, pero quedan fuera del ámbito de este artículo.</p>
<p>Los algoritmos  en los que nos vamos a centrar son determinísticos, esto es, para unos mismos datos de entrada, producen siempre una salida y además es la misma. Existen también algoritmos no determinísticos o aleatorios.</p>
<p><span style="FONT-WEIGHT: bold">Propiedades</span> de los algoritmos:</p>
<ul>
<li><span style="FONT-WEIGHT: bold">Finitud:</span> Siempre acaban después de un número finito de etapas</li>
<li><span style="FONT-WEIGHT: bold">Precisión:</span> Cada etapa está debe estar definida de forma precisa y las acciones a realizar rigurosamente especificadas</li>
<li><span style="FONT-WEIGHT: bold">Entrada:</span> Necesita unos datos de entrada</li>
<li><span style="FONT-WEIGHT: bold">Salida:</span> Siempre produce una salida
</li>
<li><span style="FONT-WEIGHT: bold">Efectividad:</span> Todas las acciones que hay que realizar deben ser tan básicas como para que se puedan realizar exacatamente y en un tiempo finito.</li>
</ul>
<p>Pasos genéricos para la resolución de problemas de computación:</p>
<ul>
<li>Entender el problema</li>
<li>Análisis del problema</li>
<li style="FONT-WEIGHT: bold">Diseñar un algoritmo para el problema</li>
<li>Expresar el algoritmo como un programa</li>
<li>Ejecutar el programa correctamente
</li>
</ul>
<p>Estudio/Clasificación de problemas:</p>
<ul>
<li>Década 30: <span style="FONT-WEIGHT: bold">Problemas computables y no computables</span>. ¿Cuáles son los problemas abordables por un informático?<br />
Ejemplo de problema no abordable: Programa que tenga como entrada otro programa y sus datos de entrada y que responda en la salida a si el programa terminará algún día de hacer el cálculo. Es imposible resolver este problema, se conoce como &#8220;<span style="FONT-WEIGHT: bold">Problema de la parada</span>&#8221;
</li>
<li>Década 50: <span style="FONT-WEIGHT: bold">Complejidad de los problemas computables</span> (búsqueda de algoritmos más eficaces). ¿Presentan todos los problemas la misma dificultad? NO.<br />
Ejemplo: <span style="FONT-WEIGHT: bold">Problema del viajante de comercio</span> que tiene que visitar un número finito de ciudades. ¿Cómo hacerlo en un tiempo mínimo? Si tratamos de abordar el problema intuitivamente, buscando todas las rutas posibles y eligiendo luego la más corta, para n ciudades, tenemos n-n! rutas posibles. Es un número inabordable, de ahí la necesidad de buscar algoritmos más eficaces.</li>
<li>Década 70: Clasificación de los problemas computables: <span style="FONT-WEIGHT: bold">P y NP</span></li>
</ul>
<p>Problemas P y NP:</p>
<ul>
<li><span style="FONT-WEIGHT: bold">Problemas P</span>: Problemas para los que conozco un algoritmo que lo resuelve en un tiempo polinomial, asumiendo que es un tiempo eficiente.
</li>
<li><span style="FONT-WEIGHT: bold">Problemas NP</span>: Problemas no determinísticos. Sólo se pueden resolver de manera polinomial realizando una etapa aleatoria.</li>
</ul>
<p>
Vía | <a href="http://etsiit.ugr.es/planes/index.php?id=3&#038;id2=123">Teoría de Algoritmos [ETSIIT]</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.sagasoft.es/2009/01/definicion-general-de-algoritmo-y-tipos-de-problemas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

