{"id":29,"date":"2007-12-18T17:18:27","date_gmt":"2007-12-18T17:18:27","guid":{"rendered":"http:\/\/cibernetica.wordpress.com\/2007\/12\/18\/ejecute-un-sistema-experto-en-html\/"},"modified":"2007-12-18T17:18:27","modified_gmt":"2007-12-18T17:18:27","slug":"ejecute-un-sistema-experto-en-html","status":"publish","type":"post","link":"https:\/\/blogs.sld.cu\/cibernetica\/2007\/12\/18\/ejecute-un-sistema-experto-en-html\/","title":{"rendered":"Ejecute un sistema experto en HTML"},"content":{"rendered":"<p>La Inteligencia Artificial sigue siendo una ciencia para elegidos y su utilizaci\u00f3n es propiedad casi exclusiva de centros de investigaci\u00f3n y universidades. Y es que, a\u00fan en estos tiempos, sigue exigiendo por parte del programador de una gran derroche de ingenio, y de gran esfuerzo y dedicaci\u00f3n.<\/p>\n<p>Un Sistema Experto simple, consta de:<br \/>\n1. Una base de hechos.<br \/>\n2. Una base de conocimientos.<br \/>\n3. Una m\u00e1quina de inferencias.<\/p>\n<p>Este es un ejemplo de un programita en Javascript. \u00bfConocen el problema de las tinas?<\/p>\n<p>Se tienen dos tinas, una de 3 gls y otra de 4 gls, ambas vac\u00edas y una pila o llave de agua, para ir llen\u00e1ndolas. Se quiere dejar dos galones en la tina de 4 gls, ejecutando las acciones de llenar una tina, vaciar una tina en la otra y botar el contenido de una tina.<\/p>\n<p>(La tina es un recipiente para contener agua)<\/p>\n<p>Aqu\u00ed les va el programa en Javascript.<\/p>\n<p>Tinas<\/p>\n<p>Programa TINAS<br \/>\nfunction tinas()<br \/>\n{\/\/Base de hechos<br \/>\nvar x = 0<br \/>\nvar y = 0<br \/>\nif (document.ftinas.tina[0].checked)<br \/>\n{x = eval(document.ftinas.tina[0].value)<br \/>\ndocument.write(&#8220;Llenar la tina de 3 gls (3,0)&#8221; + &#8221;<br \/>\n&#8221; )<br \/>\n}<br \/>\nelse<br \/>\n{y = eval(document.ftinas.tina[1].value)<br \/>\ndocument.write(&#8220;Llenar la tina de 4 gls (0,4)&#8221; + &#8221;<br \/>\n&#8221; )<br \/>\n}<br \/>\n\/\/Maquina de inferencia<br \/>\nfor (i=1;i&lt;=15;i++)<br \/>\n{ if (y == 2)<br \/>\n{ document.write(&#8220;Solucion satisfactoria: Hay dos galones en la tina de 4&#8243; + &#8221;<br \/>\n&#8221; )<br \/>\nbreak<br \/>\n}<br \/>\n\/\/Base de conocimientos<br \/>\n\/\/Regla 1:<br \/>\nif (x == 0 &amp;&amp; y == 0)<br \/>\n{ x = 3<br \/>\ny = 0<br \/>\ndocument.write(&#8220;Llenar la tina de 3 gls (3,0)&#8221; + &#8221;<br \/>\n&#8221; )<br \/>\ncontinue<br \/>\n}<br \/>\n\/\/Regla 2:<br \/>\nif (x == 0 &amp;&amp; y == 0)<br \/>\n{ x = 0<br \/>\ny = 4<br \/>\ndocument.write(&#8220;Llenar la tina de 4 gls (0,4)&#8221; + &#8221;<br \/>\n&#8221; )<br \/>\ncontinue<br \/>\n}<br \/>\n\/\/Regla 3:<br \/>\nif (x == 3 &amp;&amp; y == 0)<br \/>\n{ x = 0<br \/>\ny = 3<br \/>\ndocument.write(&#8220;Vaciar la tina de 3 gls en la de 4 gls (0,3)&#8221; + &#8221;<br \/>\n&#8221; )<br \/>\ncontinue<br \/>\n}<br \/>\n\/\/Regla 4:<br \/>\nif (x == 0 &amp;&amp; y == 4)<br \/>\n{ x = 3<br \/>\ny = 1<br \/>\ndocument.write(&#8220;Vaciar la tina de 4 gls en la de 3 gls (3,1)&#8221; + &#8221;<br \/>\n&#8221; )<br \/>\ncontinue<br \/>\n}<br \/>\n\/\/Regla 5:<br \/>\nif (x == 0 &amp;&amp; y == 3)<br \/>\n{ x = 3<br \/>\ny = 3<br \/>\ndocument.write(&#8220;Llenar la tina de 3 gls (3,3)&#8221; + &#8221;<br \/>\n&#8221; )<br \/>\ncontinue<br \/>\n}<br \/>\n\/\/Regla 6:<br \/>\nif (x == 3 &amp;&amp; y == 1)<br \/>\n{ x = 0<br \/>\ny = 1<br \/>\ndocument.write(&#8220;Botar el contenido de la tina de 3 gls (0,1)&#8221; + &#8221;<br \/>\n&#8221; )<br \/>\ncontinue<br \/>\n}<br \/>\n\/\/Regla 7:<br \/>\nif (x == 3 &amp;&amp; y == 3)<br \/>\n{ x = 2<br \/>\ny = 4<br \/>\ndocument.write(&#8220;Vaciar la tina de 3 gls en la de 4 gls (2,4)&#8221; + &#8221;<br \/>\n&#8221; )<br \/>\ncontinue<br \/>\n}<br \/>\n\/\/Regla 8:<br \/>\nif (x == 0 &amp;&amp; y == 1)<br \/>\n{ x = 1<br \/>\ny = 0<br \/>\ndocument.write(&#8220;Vaciar la tina de 4 gls en la de 3 gls (1,0)&#8221; + &#8221;<br \/>\n&#8221; )<br \/>\ncontinue<br \/>\n}<br \/>\n\/\/Regla 9:<br \/>\nif (x == 2 &amp;&amp; y == 4)<br \/>\n{ x = 2<br \/>\ny = 0<br \/>\ndocument.write(&#8220;Botar el contenido de la tina de 4 gls (2,0)&#8221; + &#8221;<br \/>\n&#8221; )<br \/>\ncontinue<br \/>\n}<br \/>\n\/\/Regla 10:<br \/>\nif (x == 1 &amp;&amp; y == 0)<br \/>\n{ x = 1<br \/>\ny = 4<br \/>\ndocument.write(&#8220;Llenar la tina de 4 gls (1,4)&#8221; + &#8221;<br \/>\n&#8221; )<br \/>\ncontinue<br \/>\n}<br \/>\n\/\/Regla 11:<br \/>\nif (x == 2 &amp;&amp; y == 0)<br \/>\n{ x = 0<br \/>\ny = 2<br \/>\ndocument.write(&#8220;Vaciar la tina de 3 gls en la de 4 gls (0,2)&#8221; + &#8221;<br \/>\n&#8221; )<br \/>\ncontinue<br \/>\n}<br \/>\n\/\/Regla 12:<br \/>\nif (x == 1 &amp;&amp; y == 4)<br \/>\n{ x = 3<br \/>\ny = 2<br \/>\ndocument.write(&#8220;Vaciar la tina de 4 gls en la de 3 gls (3,2)&#8221; + &#8221;<br \/>\n&#8221; )<br \/>\ncontinue<br \/>\n}<\/p>\n<p>}<br \/>\n}<\/p>\n<p>Cual de las tinas prefiere llenar?<\/p>\n<p>Tina de 3 gls<\/p>\n<p>Tina de 4 gls<\/p>\n<p>Observen que el programa consta de una base de hechos, una m\u00e1quina de inferencia y una base de conocimientos, compuesta por 12 reglas. Noten que las reglas impares se refieren a comenzar llenando la tina de 3 gls y las reglas pares son para el llenado de la tina de 4 gls.<\/p>\n<p>La m\u00e1quina de inferencia, lo \u00fanico que hace es recorrer todas las reglas y en caso de que se llegue a la soluci\u00f3n detiene el proceso.<\/p>\n<p>La base de hechos inicializa los hechos (pone en cero las variables) y prepara las condiciones para la interfaz con el usuario.<\/p>\n<p>Es bueno destacar que la base de conocimientos (BC) y la m\u00e1quina de inferencias (MI) estan separadas l\u00f3gicamente (usted puede seguir agregando reglas sin que esto afecte la ejecuci\u00f3n del programa), pero f\u00edsicamente est\u00e1n unidas dentro del mismo programa. En la practica la BC y la MI deben estar separadas l\u00f3gica y f\u00edsicamente.<\/p>\n<p>Para descargarlo, vaya al Men\u00fa de este blog arriba donde dice Inicio, Aceca de, Libros, etc., y vaya al enlace Descargas, al dar clic ira a la pagina, La Cibernetica. al final esta Tinas.zip y a la derecha donde esta la flecha, dar clic en descargar.\u00a0 Y ahora solo tiene que ejecutar el html en su computadora.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La Inteligencia Artificial sigue siendo una ciencia para elegidos y su utilizaci\u00f3n es propiedad casi exclusiva de centros de investigaci\u00f3n y universidades. Y es que, a\u00fan en estos tiempos, sigue exigiendo por parte del programador de una gran derroche de ingenio, y de gran esfuerzo y dedicaci\u00f3n. Un Sistema Experto simple, consta de: 1. Una [&hellip;]<\/p>\n","protected":false},"author":109,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[12],"tags":[24,25,103,134,145,229],"_links":{"self":[{"href":"https:\/\/blogs.sld.cu\/cibernetica\/wp-json\/wp\/v2\/posts\/29"}],"collection":[{"href":"https:\/\/blogs.sld.cu\/cibernetica\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.sld.cu\/cibernetica\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.sld.cu\/cibernetica\/wp-json\/wp\/v2\/users\/109"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.sld.cu\/cibernetica\/wp-json\/wp\/v2\/comments?post=29"}],"version-history":[{"count":0,"href":"https:\/\/blogs.sld.cu\/cibernetica\/wp-json\/wp\/v2\/posts\/29\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.sld.cu\/cibernetica\/wp-json\/wp\/v2\/media?parent=29"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.sld.cu\/cibernetica\/wp-json\/wp\/v2\/categories?post=29"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.sld.cu\/cibernetica\/wp-json\/wp\/v2\/tags?post=29"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}