{"id":97,"date":"2010-11-14T14:53:35","date_gmt":"2010-11-14T14:53:35","guid":{"rendered":"https:\/\/blogs.ua.es\/dar15\/?p=97"},"modified":"2010-11-14T14:53:35","modified_gmt":"2010-11-14T14:53:35","slug":"practica-sesion-8","status":"publish","type":"post","link":"https:\/\/blogs.ua.es\/dar15\/2010\/11\/14\/practica-sesion-8\/","title":{"rendered":"Pr\u00e1ctica sesi\u00f3n 8"},"content":{"rendered":"<p>Sesi\u00f3n correspondiente al d\u00eda (09\/11\/2010).<\/p>\n<p>En la sesi\u00f3n de hoy hemos empezado la fase 6 de la aplicaci\u00f3n, para poder realizarla Carlos nos ha explicado lo que es un bucle repeat-until.<\/p>\n<p><strong>REPEAT<\/strong><\/p>\n<p>Es un predicado que siempre tiene \u00e9xito y, adem\u00e1s, obliga a PROLOG a reevaluar a partir de donde est\u00e1, en adelante. Esto significa que, si alguno de los objetivos siguientes a repeat fracasa, es seguro que, como m\u00ednimo, PROLOG continuar\u00e1 la ejecuci\u00f3n a partir del repeat.<\/p>\n<p><strong>Objetivos, \u00e9xito, fracaso y reevaluaci\u00f3n<\/strong><\/p>\n<p>El mecanismo de proceso de PROLOG est\u00e1 basado en <strong>objetivos<\/strong>. Cada nueva cl\u00e1usula que PROLOG encuentra en su proceso de ejecuci\u00f3n es para \u00e9l un <strong>objetivo<\/strong> que debe tratar de cumplir.<\/p>\n<p>Por ejemplo si ponemos:<\/p>\n<p>?-ubicacion(jugador).<\/p>\n<p>El <strong>objetivo<\/strong> ser\u00e1 encontrar el hecho ubicacion(jugador), que podr\u00e1 tener <strong>\u00e9xito<\/strong> o <strong>fracaso<\/strong>, dependiendo de si lo encuentra o no lo encuentra respectivamente.<\/p>\n<p>El prop\u00f3sito de la <strong>reevaluaci\u00f3n<\/strong> es el de encontrar una soluci\u00f3n distinta a la que ya se haya encontrado en las anteriores evaluaciones del objetivo. De esta forma, lo que hace PROLOG no es otra cosa que navegar entre todas las posibilidades de soluci\u00f3n de nuestra Base de Conocimientos, hasta encontrar alguna que satisfaga (que haga tener \u00e9xito) a los dos objetivos a la vez. Esto mismo es aplicable a m\u00e1s de 2 objetivos.<\/p>\n<p>Hasta la pr\u00f3xima&#8230;.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sesi\u00f3n correspondiente al d\u00eda (09\/11\/2010). En la sesi\u00f3n de hoy hemos empezado la fase 6 de la aplicaci\u00f3n, para poder realizarla Carlos nos ha explicado lo que es un bucle repeat-until. REPEAT Es un predicado que siempre tiene \u00e9xito y, adem\u00e1s, obliga a PROLOG a reevaluar a partir de donde est\u00e1, en adelante. Esto significa [&hellip;]<\/p>\n","protected":false},"author":1754,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-97","post","type-post","status-publish","format-standard","hentry","category-general"],"_links":{"self":[{"href":"https:\/\/blogs.ua.es\/dar15\/wp-json\/wp\/v2\/posts\/97","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.ua.es\/dar15\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.ua.es\/dar15\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.ua.es\/dar15\/wp-json\/wp\/v2\/users\/1754"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.ua.es\/dar15\/wp-json\/wp\/v2\/comments?post=97"}],"version-history":[{"count":1,"href":"https:\/\/blogs.ua.es\/dar15\/wp-json\/wp\/v2\/posts\/97\/revisions"}],"predecessor-version":[{"id":98,"href":"https:\/\/blogs.ua.es\/dar15\/wp-json\/wp\/v2\/posts\/97\/revisions\/98"}],"wp:attachment":[{"href":"https:\/\/blogs.ua.es\/dar15\/wp-json\/wp\/v2\/media?parent=97"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.ua.es\/dar15\/wp-json\/wp\/v2\/categories?post=97"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.ua.es\/dar15\/wp-json\/wp\/v2\/tags?post=97"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}