<?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>cienciasdelacomputacion.com &#187; IA</title>
	<atom:link href="http://cienciasdelacomputacion.com/tag/ia/feed/" rel="self" type="application/rss+xml" />
	<link>http://cienciasdelacomputacion.com</link>
	<description>Complejidad Automatas Criptografia</description>
	<lastBuildDate>Sun, 15 Aug 2010 00:15:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Como especificar un problema en IA</title>
		<link>http://cienciasdelacomputacion.com/como-especificar-un-problema-en-ia/</link>
		<comments>http://cienciasdelacomputacion.com/como-especificar-un-problema-en-ia/#comments</comments>
		<pubDate>Sat, 14 Aug 2010 11:36:27 +0000</pubDate>
		<dc:creator>informatico</dc:creator>
				<category><![CDATA[Algoritmos]]></category>
		<category><![CDATA[Ciencias Computacion]]></category>
		<category><![CDATA[Inteligencia artificial]]></category>
		<category><![CDATA[Matematica]]></category>
		<category><![CDATA[especificacion]]></category>
		<category><![CDATA[Estados]]></category>
		<category><![CDATA[IA]]></category>
		<category><![CDATA[problema]]></category>

		<guid isPermaLink="false">http://cienciasdelacomputacion.com/?p=39</guid>
		<description><![CDATA[Para producir una especificación formal de un problema se deben definir:

espacio de estados válidos;
estado inicial del problema;
estado objetivo o final;
estado de falla
reglas que se pueden aplicar para pasar de un estado a otro.

Un estado es la representación de un problema en un instante dado. Para definir el espacio de estados no es necesario hacer una [...]]]></description>
			<content:encoded><![CDATA[<p><strong>P</strong>ara producir una especificación formal de un problema se deben definir:</p>
<ul>
<li>espacio de estados válidos;</li>
<li>estado inicial del problema;</li>
<li>estado objetivo o final;</li>
<li>estado de falla</li>
<li>reglas que se pueden aplicar para pasar de un estado a otro.</li>
</ul>
<p>Un estado es la representación de un problema en un instante dado. Para definir el espacio de estados no es necesario hacer una enumeración exhaustiva de todos los estado válidos, sino que es posible definirlo de manera más general.<br />
El estado inicial consiste en uno o varios estados en los que puede comenzar el problema.<br />
El estado objetivo consiste en uno o varios estados finales que se consideran solución aceptable.<br />
Las reglas describen las acciones u operadores que posibilitan un pasaje de estados.<br />
Una regla tiene una parte izquierda y una parte derecha.<br />
La parte izquierda determina la aplicabilidad de la regla, es decir, describe los estados a los que puede aplicarse la regla.<br />
La parte derecha describe la operación que se lleva a cabo si se aplica la regla, es decir, como obtener el estado sucesor.<br />
<strong>Por ejemplo, en el problema de jugar al ajedrez: </strong><br />
el espacio de estados son la totalidad de tableros que se puede generar en un juego de ajedrez;<br />
el estado inicial es el tablero de 8 x 8 donde cada celda contiene un símbolo de acuerdo a las piezas situadas;<br />
el objetivo o estado final se define como cualquier posición de tablero en la que el contrario no puede realizar ningún movimiento legal y su rey esté amenazado.<br />
las reglas son los movimientos legales, que pueden describirse mediante una parte patrón para ser contrastado con la posición actual de tablero y otra parte que describe el cambio que debe producirse en el tablero.<br />
dado que escribir exhaustivamente todas las reglas es imposible prácticamente, (en el ejemplo, escribir todas las posiciones</p>
<p style="center;"><a href="http://cienciasdelacomputacion.com/wp-content/uploads/2008/10/imagen1.png"><img class="alignnone size-medium wp-image-40 aligncenter" src="http://cienciasdelacomputacion.com/wp-content/uploads/2008/10/imagen1-300x160.png" alt="" width="300" height="160" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://cienciasdelacomputacion.com/como-especificar-un-problema-en-ia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Algoritmo primero en profundidad</title>
		<link>http://cienciasdelacomputacion.com/algoritmo-primero-en-profundidad/</link>
		<comments>http://cienciasdelacomputacion.com/algoritmo-primero-en-profundidad/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 22:56:03 +0000</pubDate>
		<dc:creator>informatico</dc:creator>
				<category><![CDATA[Algoritmos]]></category>
		<category><![CDATA[Ciencias Computacion]]></category>
		<category><![CDATA[Inteligencia artificial]]></category>
		<category><![CDATA[Matematica]]></category>
		<category><![CDATA[algoritmo]]></category>
		<category><![CDATA[depth fist]]></category>
		<category><![CDATA[IA]]></category>

		<guid isPermaLink="false">http://cienciasdelacomputacion.com/?p=36</guid>
		<description><![CDATA[

El algoritmo primero en profundidad funciona de la manera como lo muestra este esquema:
A continuacion, el algoritmo de busqueda Depth First:
Begin
open := [Start];
closed := [ ];
while open ? [ ] do
begin
remove leftmost state from open, call it X;
if X is a goal then returns SUCCESS
else begin
generate children of X;
put X on closed;
discard children of X [...]]]></description>
			<content:encoded><![CDATA[<p style="left;">
<p style="left;">
<p style="left;">El algoritmo primero en profundidad funciona de la manera como lo muestra este esquema:<a href="http://cienciasdelacomputacion.com/wp-content/uploads/2008/09/imagen12.png"><img class="aligncenter size-medium wp-image-38" src="http://cienciasdelacomputacion.com/wp-content/uploads/2008/09/imagen12-300x165.png" alt="" width="300" height="165" /></a></p>
<p style="left;">A continuacion, el algoritmo de busqueda Depth First:</p>
<p style="left;">Begin<br />
open := [Start];<br />
closed := [ ];<br />
while open ? [ ] do<br />
begin<br />
remove leftmost state from open, call it X;<br />
if X is a goal then returns SUCCESS<br />
else begin<br />
generate children of X;<br />
put X on closed;<br />
discard children of X if already on open or closed;<br />
put remaining children on left end of open<br />
end<br />
end<br />
return FAIL<br />
end</p>
<p style="left;">A continuacion se muestra un arbol, el cual va a ser recorrido hasta encontrar el nodo U</p>
<p style="left;">
<p style="left;">
<p style="left;"><a href="http://cienciasdelacomputacion.com/wp-content/uploads/2008/09/imagen21.png"><img class="size-medium wp-image-37 aligncenter" src="http://cienciasdelacomputacion.com/wp-content/uploads/2008/09/imagen21-300x202.png" alt="" width="300" height="202" /></a>La implementacion del algoritmo seria:</p>
<p style="left;">open = [A]; closed = [ ]<br />
open = [B,C,D]; closed = [A]<br />
open = [E,F,C,D]; closed = [B,A]<br />
open = [K,L,F,C,D]; closed = [E,B,A]<br />
open = [S,L,F,C,D]; closed = [K,E,B,A]<br />
open = [L,F,C,D]; closed = [S,K,E,B,A]<br />
open = [T,F,C,D]; closed = [L,S,K,E,B,A]<br />
open = [F,C,D]; closed = [T,L,S,K,E,B,A]<br />
Continua hasta encontrar U, o open = [ ].</p>
<p style="left;">
]]></content:encoded>
			<wfw:commentRss>http://cienciasdelacomputacion.com/algoritmo-primero-en-profundidad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Goal-Driven y Busqueda a lo ancho</title>
		<link>http://cienciasdelacomputacion.com/goal-driven-y-busqueda-a-lo-ancho/</link>
		<comments>http://cienciasdelacomputacion.com/goal-driven-y-busqueda-a-lo-ancho/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 04:16:31 +0000</pubDate>
		<dc:creator>informatico</dc:creator>
				<category><![CDATA[Ciencias Computacion]]></category>
		<category><![CDATA[Inteligencia artificial]]></category>
		<category><![CDATA[breath first]]></category>
		<category><![CDATA[busqueda a lo ancho]]></category>
		<category><![CDATA[goal drive]]></category>
		<category><![CDATA[IA]]></category>

		<guid isPermaLink="false">http://cienciasdelacomputacion.com/?p=28</guid>
		<description><![CDATA[Conducida por el objetivo (goal driven – backward chaining)

Tomar el objetivo que queremos resolver, establecer que reglas o movimientos legales podrían usarse para generar este objetivo y determinar que condiciones deben ser verdaderas para ser usadas.
Estas condiciones constituyen los nuevos objetivos de la búsqueda y la búsqueda continua hacia atrás hasta encontrar los hechos del [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Conducida por el objetivo (goal driven – backward chaining)</strong></p>
<ul>
<li>Tomar el objetivo que queremos resolver, establecer que reglas o movimientos legales podrían usarse para generar este objetivo y determinar que condiciones deben ser verdaderas para ser usadas.</li>
<li>Estas condiciones constituyen los nuevos objetivos de la búsqueda y la búsqueda continua hacia atrás hasta encontrar los hechos del problema</li>
</ul>
<p><strong>BREATH FIRST.- </strong>Busqueda a lo ancho. La busqueda se realiza a lo largo del arbol o grafo, recorriendo todos los nodos de una correspondiente fila antes de pasar a la siguiente:</p>
<p style="center;"><a href="http://cienciasdelacomputacion.com/wp-content/uploads/2008/08/imagen1.png"><img class="size-full wp-image-29 aligncenter" src="http://cienciasdelacomputacion.com/wp-content/uploads/2008/08/imagen1.png" alt="" width="468" height="210" /></a></p>
<p>Este es una implementacion en pseudocodigo el cual representa el comportamiento de esta estrategia de busqueda:</p>
<p>Begin<br />
open := [Start];<br />
closed := [ ];<br />
while open ? [ ] do<br />
begin<br />
remove leftmost state from open, call it X;<br />
if X is a goal then returns SUCCESS<br />
else begin<br />
generate children of X;<br />
put X on closed;<br />
discard children of X if already on open or closed;<br />
put remaining children on right end of open<br />
end<br />
end<br />
return FAIL<br />
end</p>
<p><a href="http://cienciasdelacomputacion.com/wp-content/uploads/2008/08/imagen2.png"><img class="aligncenter size-full wp-image-30" src="http://cienciasdelacomputacion.com/wp-content/uploads/2008/08/imagen2.png" alt="" width="500" height="318" /></a></p>
<p>Aplicacion en un arbol, donde el objetivo a encontrar es U<br />
1.    open = [A]; closed = [ ]<br />
2.    open = [B,C,D]; closed = [A]<br />
3.    open = [C,D,E,F]; closed = [B,A]<br />
4.    open = [D,E,F,G,H]; closed = [C,B,A]<br />
5.    open = [E,F,G,H,I,J]; closed = [D,C,B,A]<br />
6.    open = [F,G,H,I,J,K,L]; closed = [E,D,C,B,A]<br />
7.    open = [G,H,I,J,K,L,M] L ya esta en open; closed =[F,E,D,C,B,A]<br />
8.    open = [H,I,J,K,L,M,N]; closed = [G,F,E,D,C,B,A]<br />
9.    Continua hasta encontrar U, o open = [ ].</p>
]]></content:encoded>
			<wfw:commentRss>http://cienciasdelacomputacion.com/goal-driven-y-busqueda-a-lo-ancho/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tipos de Busqueda, Busqueda Heuristica</title>
		<link>http://cienciasdelacomputacion.com/tipos-de-busqueda-busqueda-heuristica/</link>
		<comments>http://cienciasdelacomputacion.com/tipos-de-busqueda-busqueda-heuristica/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 15:27:44 +0000</pubDate>
		<dc:creator>informatico</dc:creator>
				<category><![CDATA[Inteligencia artificial]]></category>
		<category><![CDATA[Busqueda]]></category>
		<category><![CDATA[heuristica]]></category>
		<category><![CDATA[IA]]></category>
		<category><![CDATA[tipos]]></category>

		<guid isPermaLink="false">http://cienciasdelacomputacion.com/?p=41</guid>
		<description><![CDATA[Tipos de búsqueda según estrategias de control:
ALGORITMO
Disponemos de información segura sobre qué operación aplicar
BUSQUEDA EXHAUSTIVA (A CIEGAS)
Exploración del árbol de búsqueda sistemáticamente pero sin información
BUSQUEDA HEURÍSTICA (INFORMADA)
información sobre el problema (información del dominio) que permite reducir la búsqueda
Del griego “heuriskein” que significa descubrir o encontrar
La heurística es una ayuda para guiar el proceso de búsqueda.
En [...]]]></description>
			<content:encoded><![CDATA[<p>Tipos de búsqueda según estrategias de control:<br />
<strong>ALGORITMO</strong><br />
Disponemos de información segura sobre qué operación aplicar<br />
<strong>BUSQUEDA EXHAUSTIVA (A CIEGAS)</strong><br />
Exploración del árbol de búsqueda sistemáticamente pero sin información<br />
<strong>BUSQUEDA HEURÍSTICA (INFORMADA)</strong><br />
información sobre el problema (información del dominio) que permite reducir la búsqueda</p>
<p>Del griego “heuriskein” que significa descubrir o encontrar<br />
La heurística es una ayuda para guiar el proceso de búsqueda.</p>
<p>En general, con la utilización de heurísticas no se van a conseguir<br />
 siempre resultados óptimos (la mejor solución), pero si se van a conseguir resultados de buena calidad en un tiempo razonable.</p>
<p>Se utilizan en problemas complejos donde aparece el problema de la explosión combinatoria. En este tipo de problemas, los algoritmos de búsqueda exhaustiva tienen costos inaceptablemente altos (sólo son válidos para problemas sencillos).</p>
<p>Usar información “heuristica” para “adivinar” cuál nodo expandir<br />
la heurística aparece bajo la forma de una función de evaluación basada en la información específica para el dominio o contexto relacionado con el problema<br />
el problema de búsqueda se puede considerar como la maximización o minimización de una función.</p>
<p>La función de evaluación nos proporciona una manera de evaluar un nodo “localmente” basado en una estimación del costo de llegar desde el nodo actual al nodo meta.<br />
<strong>Problemas con la Heurística</strong><br />
la heurística suele ser poco certera &#8211; problema abierto<br />
puede no encontrar la mejor respuesta &#8211; superado por algoritmo A*<br />
La heurística es una técnica la cual produce resultados, pero no <strong>siempre</strong>.</p>
<p>Mucho de lo que hacemos en la vida cotidiana involucra soluciones heurísticas a los problemas. Usualmente trabaja, o usualmente trabaja lo suficientemente bien, y cuando no trabaja, entonces se trata el problema de otra forma.</p>
<p>La palabra heurística, no solo describe los casos donde una solución podría no ser encontrada, sino que describe los casos donde deseamos encontrar la mejor solución.</p>
<p>La heurística podría ayudar a encontrar soluciones que pueden ser buenas, pero talvez no la mejor solución. Obviamente la medida de cuan bueno es y la evaluación de las técnicas heurísticas, es relativa al dominio, y a la tarea específica que la solución del problema será aplicada al dominio.</p>
]]></content:encoded>
			<wfw:commentRss>http://cienciasdelacomputacion.com/tipos-de-busqueda-busqueda-heuristica/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plateamiento de problemas en IA</title>
		<link>http://cienciasdelacomputacion.com/plateamiento-de-problemas-en-ia/</link>
		<comments>http://cienciasdelacomputacion.com/plateamiento-de-problemas-en-ia/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 03:22:43 +0000</pubDate>
		<dc:creator>informatico</dc:creator>
				<category><![CDATA[Inteligencia artificial]]></category>
		<category><![CDATA[Abstraccion]]></category>
		<category><![CDATA[Busqueda]]></category>
		<category><![CDATA[Conocimiento]]></category>
		<category><![CDATA[IA]]></category>
		<category><![CDATA[problemas]]></category>
		<category><![CDATA[resolucion]]></category>

		<guid isPermaLink="false">http://cienciasdelacomputacion.com/?p=19</guid>
		<description><![CDATA[
A continuación se plantean tres soluciones diferentes del problema de tres en raya analizando la conveniencia de cada una. Cada una de las soluciones plantea un enfoque diferente, pero solo la última simula la forma en que una computadora lo resolveria de forma inteligente:
Solución 1: 

 Una primera solución directa a este juego podría ser [...]]]></description>
			<content:encoded><![CDATA[<p><!--[if gte mso 9]&amp;gt;  Normal 0     false false false  EN-US X-NONE X-NONE                           &amp;lt;![endif]--><!--[if gte mso 9]&amp;gt;                                                                                                                                            &amp;lt;![endif]--></p>
<p class="MsoNormal"><span>A continuación se plantean tres soluciones diferentes del problema de tres en raya analizando la conveniencia de cada una. Cada una de las soluciones plantea un enfoque diferente, pero solo la última simula la forma en que una computadora lo resolveria de forma inteligente:</span></p>
<p class="MsoNormal" style="0.25in;"><span>Solución 1: </span></p>
<ul>
<li><!--[if !supportLists]--><span style="Wingdings;"><span><span style="none;"> </span></span></span><!--[endif]--><span>Una primera solución directa a este juego podría ser la de almacenar en un vector las 19.693 posibilidades de un tablero de 3 x 3 con tres valores posibles en cada casilla (vacío-X-O), así como las correspondientes jugadas sucesoras. </span></li>
<li><!--[if !supportLists]--><span style="Wingdings;"></span><span>Para realizar una jugada, bastaría con acceder a la posición del tablero actual y la jugada sucesora correspondiente. </span></li>
<li><!--[if !supportLists]--><span style="Wingdings;"><span><span style="none;"> </span></span></span><!--[endif]--><span>Las desventajas de este eficiente programa son bastante obvias:</span></li>
<li><!--[if !supportLists]--><span style="Wingdings;"><span><span style="none;"> </span></span></span><!--[endif]--><span>Necesita gran cantidad de memoria; alguien debe realizar el pesado trabajo de introducir todas las jugadas y sus sucesoras; y el juego no se puede ampliar, por ejemplo a tres dimensiones.</span></li>
</ul>
<p class="MsoNormal" style="0.25in;"><span>Solución 2: </span></p>
<ul>
<li><span style="Wingdings;"><span><span style="none;"> </span></span></span><!--[endif]--><span>El programa posee una estrategia para cada turno de jugador.</span></li>
<li><!--[if !supportLists]--><span style="Wingdings;"><span><span style="none;"> </span></span></span><!--[endif]--><span>Analiza el posible triunfo a partir de un estado del tablero dado. </span></li>
<li><!--[if !supportLists]--><span style="Wingdings;"><span><span style="none;"> </span></span></span><!--[endif]--><span>Aunque es menos eficiente que la solución anterior en términos de tiempo, tiene la ventaja que es más eficiente en términos de espacio. </span></li>
<li><!--[if !supportLists]--><span style="Wingdings;"><span><span style="none;"> </span></span></span><!--[endif]--><span>Su estrategia</span><span> es más fácil de comprender y realizar cambios, aunque el programador debe comprender la totalidad de la estrategia de antemano. </span></li>
<li><!--[if !supportLists]--><span style="Wingdings;"><span><span style="none;"> </span></span></span><!--[endif]--><span>Además, no es posible generalizar parte del conocimiento del programa hacia un dominio distinto, como tres en raya 3D.</span></li>
</ul>
<p class="MsoNormal"><span>Solución 3: </span></p>
<ul>
<li><!--[if !supportLists]--><span style="Wingdings;"><span><span style="none;"> </span></span></span><!--[endif]--><span>Una estructura contiene el tablero actual, así como una lista de posiciones del tablero que podrían ser el próximo movimiento, y una estimación de la probabilidad de que esa jugada lleve a la victoria. </span></li>
<li><!--[if !supportLists]--><span style="Wingdings;"><span><span style="none;"> </span></span></span><!--[endif]--><span>Para decidir la siguiente jugada se tienen en cuenta las posiciones de tablero que resultan de cada movimiento posible. </span></li>
<li><!--[if !supportLists]--><span style="Wingdings;"><span><span style="none;"> </span></span></span><!--[endif]--><span>Se decide la posición que corresponde a la mejor jugada, considerando si la jugada produce la victoria, y en caso contrario considerando todos los movimientos que el opo</span><span>nente puede realizar asumiendo que éste elegirá el peor para nosotros. </span></li>
<li><span style="Wingdings;"><span><span style="none;"> </span></span></span><!--[endif]--><span>El algoritmo inspecciona varias secuencias de movimientos intentando maximizar la probabilidad de victoria. </span></li>
<li><!--[if !supportLists]--><span style="Wingdings;"><span><span style="none;"> </span></span></span><!--[endif]--><span>Necesita mucho más tiempo que los demás, ya que debe realizar una búsqueda en un árbol de posibilidades antes de realizar cada movimiento. Sin embargo, es superior a las demás soluciones pues podría ser ampliado para manipular juegos más complicados. </span></li>
<li><span style="Wingdings;"><span><span style="none;"> </span></span></span><!--[endif]--><span>Además, puede aumentar su potencia usando conocimiento sobre el juego, por ejemplo, en lugar de considerar todos los posibles movimientos considerar solo un subconjunto siguiendo algún criterio razona</span><a href="http://cienciasdelacomputacion.com/wp-content/uploads/2008/07/3-en-raya.jpg"><img class="alignleft size-medium wp-image-20" src="http://cienciasdelacomputacion.com/wp-content/uploads/2008/07/3-en-raya-300x268.jpg" alt="" width="300" height="268" /></a><span>ble.</span></li>
</ul>
<p class="MsoNormal"><span>Este </span>último <span>es u</span><span>n</span><span> ejemplo del uso de una técnica de IA.</span></p>
<p class="MsoNormal">Dado este ejemplo, podemos definir tres parámetros importantes para poder resolver un problema usando IA:</p>
<ul>
<li><!--[if !supportLists]--><span style="Wingdings;"><span><span style="none;"> </span></span></span><!--[endif]--><span>Búsqueda: proporcio</span><span>na una forma de resolver problemas en los que no se dispone de un método directo </span></li>
<li><!--[if !supportLists]--><span style="Wingdings;"><span><span style="none;"> </span></span></span><!--[endif]--><span>Uso del conocimiento: proporciona una forma de resolver problemas complejos explotando las e</span><span>structuras existentes entre los objetos involucrados </span></li>
</ul>
<ul>
<li><!--[if !supportLists]--><span style="Wingdings;"><span><span style="none;"> </span></span></span><!--[endif]--><span>Abstracción: proporciona una forma de separar aspectos y variaciones importantes de aquellos otros sin importancia, y que en caso contrario podrían colapsar el proceso. </span></li>
</ul>
<p><span>Más adelante describiremos en detalle cada uno de estos elementos.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://cienciasdelacomputacion.com/plateamiento-de-problemas-en-ia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Estrategias y Algoritmos de Busqueda de Informacion</title>
		<link>http://cienciasdelacomputacion.com/estrategias-y-algoritmos-de-busqueda-de-informacion/</link>
		<comments>http://cienciasdelacomputacion.com/estrategias-y-algoritmos-de-busqueda-de-informacion/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 05:10:49 +0000</pubDate>
		<dc:creator>informatico</dc:creator>
				<category><![CDATA[Algoritmos]]></category>
		<category><![CDATA[Ciencias Computacion]]></category>
		<category><![CDATA[Inteligencia artificial]]></category>
		<category><![CDATA[Estrategias de Busqueda]]></category>
		<category><![CDATA[IA]]></category>

		<guid isPermaLink="false">http://cienciasdelacomputacion.com/?p=24</guid>
		<description><![CDATA[Existen diferencia de estrategias de búsqueda de información:

 Algoritmo Primero a lo Ancho (BREATH-FIRST)
 Algoritmo Primero en Profundidad (DEPTH-FIRST)
 Búsqueda Heurística:
 Ascenso a Colina
 Recocido Simulado

 Búsqueda Primero el Mejor (BEST-FIRST)
 Teorema de Admisibilidad
 Algoritmo Guiado por Agenda



Las técnicas de solución de problemas en IA, en general, incorporan un proceso de búsqueda.
Todo proceso de búsqueda [...]]]></description>
			<content:encoded><![CDATA[<p>Existen diferencia de estrategias de búsqueda de información:</p>
<ul>
<li> Algoritmo Primero a lo Ancho (BREATH-FIRST)</li>
<li> Algoritmo Primero en Profundidad (DEPTH-FIRST)</li>
<li> Búsqueda Heurística:</li>
<li> Ascenso a Colina</li>
<li> Recocido Simulado
<ul>
<li> Búsqueda Primero el Mejor (BEST-FIRST)</li>
<li> Teorema de Admisibilidad</li>
<li> Algoritmo Guiado por Agenda</li>
</ul>
</li>
</ul>
<p>Las técnicas de solución de problemas en IA, en general, incorporan un proceso de búsqueda.<br />
Todo proceso de búsqueda puede ser visualizado como el recorrido por un árbol en el que cada nodo representa un estado y cada rama representa las relaciones entre los estados cuyos nodos conecta.<br />
En general, las reglas contienen en forma implícita el árbol, y se genera en forma explícita sólo aquellas partes que se decide explorar.<br />
La dirección en la cual se conduce la búsqueda (hacia adelante o hacia atrás).<br />
La estrategia de control, o forma de seleccionar las reglas que pueden ser aplicables. Los principales requerimientos de una buena estrategia de control son: que cause desplazamiento en el espacio de estado; y, que sea sistemático.</p>
<p><strong>La forma de representar cada nodo del proceso de búsqueda (representación del conocimiento).</strong></p>
<p>Muchas veces, tratar el proceso como búsqueda en un grafo en lugar de una búsqueda en un árbol, puede reducir el esfuerzo que se gasta en explorar senderos, esencialmente iguales, varias veces. Sin embargo, los requisitos asociados, son:<br />
Cada vez que se genere un nodo se debe chequear para ver si ha sido generado antes.</p>
<p>Se deben introducir procedimientos especiales para que la búsqueda no quede atrapada en algún lazo.</p>
<p>Existen dos formas de conducer las busquedas:</p>
<p><strong>Conducida por el objetivo (goal driven – backward chaining)</strong></p>
<p>Tomar el objetivo que queremos resolver, establecer que reglas o movimientos legales podrían usarse para generar este objetivo y determinar que condiciones deben ser verdaderas para ser usadas.Estas condiciones constituyen los nuevos objetivos de la búsqueda y la búsqueda continua hacia atrás hasta encontrar los hechos del problema.<br />
<strong>Conducida por los datos (data driven – forward chaining)</strong></p>
<p>Búsqueda empieza con los hechos o datos conocidos y un conjunto de movimientos legales o reglas para cambiar de estado.La búsqueda se realiza aplicando las reglas a los datos o hechos, produciendo nuevos datos o hechos. Este proceso continua hasta generar una ruta que satisfaga la condición del objetivo.</p>
]]></content:encoded>
			<wfw:commentRss>http://cienciasdelacomputacion.com/estrategias-y-algoritmos-de-busqueda-de-informacion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Busqueda Data driven(Conducida por datos)</title>
		<link>http://cienciasdelacomputacion.com/busqueda-data-drivenconducida-por-datos/</link>
		<comments>http://cienciasdelacomputacion.com/busqueda-data-drivenconducida-por-datos/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 15:41:28 +0000</pubDate>
		<dc:creator>informatico</dc:creator>
				<category><![CDATA[Inteligencia artificial]]></category>
		<category><![CDATA[busquedas]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[driven]]></category>
		<category><![CDATA[IA]]></category>

		<guid isPermaLink="false">http://cienciasdelacomputacion.com/?p=31</guid>
		<description><![CDATA[Búsqueda empieza con los hechos o datos conocidos y un conjunto de movimientos legales o reglas para cambiar de estado.
La búsqueda se realiza aplicando las reglas a los datos o hechos, produciendo nuevos datos o hechos. Este proceso continua hasta generar una ruta que satisfaga la condición del objetivo.

Ddado que el sistema tiene que aprender [...]]]></description>
			<content:encoded><![CDATA[<p>Búsqueda empieza con los hechos o datos conocidos y un conjunto de movimientos legales o reglas para cambiar de estado.<br />
La búsqueda se realiza aplicando las reglas a los datos o hechos, produciendo nuevos datos o hechos. Este proceso continua hasta generar una ruta que satisfaga la condición del objetivo.</p>
<p><a href="http://cienciasdelacomputacion.com/wp-content/uploads/2008/09/imagen1.png"><img class="aligncenter size-full wp-image-32" src="http://cienciasdelacomputacion.com/wp-content/uploads/2008/09/imagen1.png" alt="" width="306" height="141" /></a></p>
<p>Ddado que el sistema tiene que aprender a realizar una busqueda, esta generalmente se dara a ciegas, es decir no se conoce, por supuesto, donde se encuentra la informacion buscada. Por ende se han desarrollado estrategias de búsqueda a ciegas, como son:</p>
<ul>
<li>Generar y Probar</li>
<li>Búsqueda primero a lo ancho</li>
<li>Búsqueda primero a lo profundo</li>
<li>Búsqueda de costo uniforme</li>
<li>Búsqueda en profundidad limitada</li>
<li>Búsqueda en profundidad iterativa</li>
<li>Búsqueda bidireccional</li>
</ul>
<p><strong>GENERATE-AND-TEST (Generar y probar)</strong></p>
<ol>
<li>Generar una posible solución. (estado o camino)</li>
<li>Comprobar para ver si es una solución, mediante comparación con los elementos del conjunto de objetivos aceptables.</li>
<li>Si la solución ha sido encontrada salir, de otra manera, retornar al paso 1.</li>
</ol>
<p><a href="http://cienciasdelacomputacion.com/wp-content/uploads/2008/09/imagen2.png"><img class="aligncenter size-full wp-image-33" src="http://cienciasdelacomputacion.com/wp-content/uploads/2008/09/imagen2.png" alt="" width="282" height="135" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://cienciasdelacomputacion.com/busqueda-data-drivenconducida-por-datos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
