{"id":2053,"date":"2012-05-07T17:00:39","date_gmt":"2012-05-07T17:00:39","guid":{"rendered":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/?p=2053"},"modified":"2014-10-11T13:40:44","modified_gmt":"2014-10-11T11:40:44","slug":"el-metodo-de-polya-para-resolver-problemas","status":"publish","type":"post","link":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/el-metodo-de-polya-para-resolver-problemas\/","title":{"rendered":"El m\u00e9todo de P\u00f3lya para resolver problemas"},"content":{"rendered":"<p><a href=\"http:\/\/es.wikipedia.org\/wiki\/George_P\u00f3lya\">George P\u00f3lya<\/a> present\u00f3 en su libro <i>C\u00f3mo plantear y resolver problemas<\/i> (en ingl\u00e9s, <a href= \"http:\/\/books.google.es\/books?id=z_hsbu9kyQQC&#038;lpg=PP1&#038;pg=PR16#v=onepage&#038;q&#038;f=true\">How to solve it<\/a>) un m\u00e9todo de 4 pasos para resolver problemas matem\u00e1ticos. Dicho m\u00e9todo fue adaptado para resolver problemas de programaci\u00f3n, por Simon Thompson en <a href=\"http:\/\/www.cs.kent.ac.uk\/people\/staff\/sjt\/Haskell_craft\/HowToProgIt.html\">How to program it<\/a>.<\/p>\n<p>En la siguientes secciones mostramos los 4 pasos de ambos m\u00e9todos, junto con sus correspondientes preguntas.<br \/>\n<!--more--><\/p>\n<h3>M\u00e9todo de P\u00f3lya para resolver problemas matem\u00e1ticos<\/h3>\n<p>Para resolver un problema se necesita:<\/p>\n<h4>Paso 1: Entender el problema<\/h4>\n<ul>\n<li> \u00bfCu\u00e1l es la inc\u00f3gnita?, \u00bfCu\u00e1les son los datos?\n<li> \u00bfCu\u00e1l es la condici\u00f3n? \u00bfEs la condici\u00f3n suficiente para determinar la inc\u00f3gnita? \u00bfEs insuficiente? \u00bfRedundante? \u00bfContradictoria?\n<\/ul>\n<h4>Paso 2: Configurar un plan<\/h4>\n<ul>\n<li> \u00bfTe has encontrado con un problema semejante? \u00bfO has visto el mismo problema planteado en forma ligeramente diferente?\n<li> \u00bfConoces alg\u00fan problema relacionado con \u00e9ste? \u00bfConoces alg\u00fan teorema que te pueda ser \u00fatil? Mira atentamente la inc\u00f3gnita y trata de recordar un problema que sea familiar y que tenga la misma inc\u00f3gnita o una inc\u00f3gnita similar.\n<li> He aqu\u00ed un problema relacionado al tuyo y que ya has resuelto ya. \u00bfPuedes utilizarlo? \u00bfPuedes utilizar su resultado? \u00bfPuedes emplear su m\u00e9todo? \u00bfTe hace falta introducir alg\u00fan elemento auxiliar a fin de poder utilizarlo?\n<li> \u00bfPuedes enunciar al problema de otra forma? \u00bfPuedes plantearlo en forma diferente nuevamente? Recurre a las definiciones.\n<li> Si no puedes resolver el problema propuesto, trata de resolver primero alg\u00fan problema similar. \u00bfPuedes imaginarte un problema an\u00e1logo un tanto m\u00e1s accesible? \u00bfUn problema m\u00e1s general? \u00bfUn problema m\u00e1s particular? \u00bfUn problema an\u00e1logo? \u00bfPuede resolver una parte del problema? Considera s\u00f3lo una parte de la condici\u00f3n; descarta la otra parte; \u00bfen qu\u00e9 medida la inc\u00f3gnita queda ahora determinada? \u00bfEn qu\u00e9 forma puede variar? \u00bfPuedes deducir alg\u00fan elemento \u00fatil de los datos? \u00bfPuedes pensar en algunos otros datos apropiados para determinar la inc\u00f3gnita? \u00bfPuedes cambiar la inc\u00f3gnita? \u00bfPuedes cambiar la inc\u00f3gnita o los datos, o ambos si es necesario, de tal forma que est\u00e9n m\u00e1s cercanos entre s\u00ed?\n<li> \u00bfHas empleado todos los datos? \u00bfHas empleado toda la condici\u00f3n? \u00bfHas considerado todas las nociones esenciales concernientes al problema?\n<\/ul>\n<h4>Paso 3: Ejecutar el plan<\/h4>\n<ul>\n<li> Al ejercutar tu plan de la soluci\u00f3n, comprueba cada uno de los pasos\n<li> \u00bfPuedes ver claramente que el paso es correcto? \u00bfPuedes demostrarlo?\n<\/ul>\n<h4>Paso 4: Examinar la soluci\u00f3n obtenida<\/h4>\n<ul>\n<li> \u00bfPuedes verificar el resultado? \u00bfPuedes el razonamiento?\n<li> \u00bfPuedes obtener el resultado en forma diferente? \u00bfPuedes verlo de golpe? \u00bfPuedes emplear el resultado o el m\u00e9todo en alg\u00fan otro problema?\n<\/ul>\n<h3>M\u00e9todo de P\u00f3lya para resolver problemas de programaci\u00f3n<\/h3>\n<p>Para resolver un problema se necesita:<\/p>\n<h4>Paso 1: Entender el problema<\/h4>\n<ul>\n<li> \u00bfCu\u00e1les son las <i>argumentos<\/i>? \u00bfCu\u00e1l es el <i>resultado<\/i>? \u00bfCu\u00e1l es <i>nombre<\/i> de la funci\u00f3n? \u00bfCu\u00e1l es su <i>tipo<\/i>?\n<li> \u00bfCu\u00e1l es la <i>especificaci\u00f3n<\/i> del problema? \u00bfPuede satisfacerse la especificaci\u00f3n? \u00bfEs insuficiente? \u00bfRedundante? \u00bfContradictoria? \u00bfQu\u00e9 restricciones se suponen sobre los argumentos y el resultado?\n<li> \u00bfPuedes descomponer el problema en partes? Puede ser \u00fatil dibujar diagramas con ejemplos de argumentos y resultados.\n<\/ul>\n<h4>Paso 2: Dise\u00f1ar el programa<\/h4>\n<ul>\n<li> \u00bfTe has encontrado con un problema semejante? \u00bfO has visto el mismo problema planteado en forma ligeramente diferente?\n<li> \u00bfConoces alg\u00fan problema <i>relacionado<\/i> con \u00e9ste? \u00bfConoces alguna funci\u00f3n que te pueda ser \u00fatil? Mira atentamente el tipo y trata de recordar un problema que sea familiar y que tenga el mismo tipo o un tipo similar.\n<li> \u00bfConoces alg\u00fan problema familiar con una <i>especificaci\u00f3n<\/i> similar?\n<li> He aqu\u00ed un problema <i>relacionado<\/i> al tuyo y que ya has resuelto. \u00bfPuedes utilizarlo? \u00bfPuedes utilizar su resultado? \u00bfPuedes emplear su m\u00e9todo? \u00bfTe hace falta introducir alguna funci\u00f3n auxiliar a fin de poder utilizarlo?\n<li> Si no puedes resolver el problema propuesto, trata de resolver primero alg\u00fan problema similar. \u00bfPuedes imaginarte un problema an\u00e1logo un tanto m\u00e1s <i>accesible<\/i>? \u00bfUn problema m\u00e1s <i>general<\/i>? \u00bfUn problema m\u00e1s <i>particular<\/i>? \u00bfUn problema <i>an\u00e1logo<\/i>?\n<li> \u00bfPuede resolver una <i>parte<\/i> del problema? \u00bfPuedes deducir alg\u00fan elemento \u00fatil de los datos? \u00bfPuedes pensar en algunos otros datos apropiados para determinar la inc\u00f3gnita? \u00bfPuedes cambiar la inc\u00f3gnita? \u00bfPuedes cambiar la inc\u00f3gnita o los datos, o ambos si es necesario, de tal forma que est\u00e9n m\u00e1s cercanos entre s\u00ed?\n<li> \u00bfHas empleado todos los datos? \u00bfHas empleado todas las restricciones sobre los datos? \u00bfHas considerado todas los requisitos de la especificaci\u00f3n?\n<\/ul>\n<h4>Paso 3: Escribir el programa<\/h4>\n<ul>\n<li> Al escribir el programa, comprueba cada uno de los pasos y funciones auxiliares.\n<li> \u00bfPuedes ver claramente que cada paso o funci\u00f3n auxiliar es correcta?\n<li> Puedes escribir el programa en <i>etapas<\/i>. Piensas en los diferentes <i>casos<\/i> en los que se divide el problema; en particular, piensas en los diferentes casos para los datos. Puedes pensar en el c\u00e1lculo de los casos independientemente y <i>unirlos<\/i> para obtener el resultado final\n<li> Puedes pensar en la soluci\u00f3n del problema descomponi\u00e9ndolo en problemas con datos m\u00e1s simples y uniendo las soluciones parciales para obtener la soluci\u00f3n del problema; esto es, por <i>recursi\u00f3n<\/i>.\n<li> En su dise\u00f1o se puede usar problemas m\u00e1s generales o m\u00e1s particulares. Escribe las soluciones de estos problemas; ellas puede servir como gu\u00eda para la soluci\u00f3n del problema original, o se pueden usar en su soluci\u00f3n.\n<li> \u00bfPuedes apoyarte en otros problemas que has resuelto? \u00bfPueden usarse? \u00bfPueden modificarse? \u00bfPueden guiar la soluci\u00f3n del problema original?\n<\/ul>\n<h4>Paso 4: Examinar la soluci\u00f3n obtenida<\/h4>\n<ul>\n<li> \u00bfPuedes comprobar el funcionamiento del programa sobre una colecci\u00f3n de argumentos?\n<li> \u00bfPuedes comprobar propiedades del programa?\n<li> \u00bfPuedes escribir el programa en una forma diferente?\n<li> \u00bfPuedes emplear el programa o el m\u00e9todo en alg\u00fan otro programa?\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>George P\u00f3lya present\u00f3 en su libro C\u00f3mo plantear y resolver problemas (en ingl\u00e9s, How to solve it) un m\u00e9todo de 4 pasos para resolver problemas matem\u00e1ticos. Dicho m\u00e9todo fue adaptado para resolver problemas de programaci\u00f3n, por Simon Thompson en How to program it. En la siguientes secciones mostramos los 4 pasos de ambos m\u00e9todos, junto&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"footnotes":"","_jetpack_memberships_contains_paid_content":false},"categories":[1],"tags":[194,162,63],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/posts\/2053"}],"collection":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/comments?post=2053"}],"version-history":[{"count":5,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/posts\/2053\/revisions"}],"predecessor-version":[{"id":4493,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/posts\/2053\/revisions\/4493"}],"wp:attachment":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/media?parent=2053"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/categories?post=2053"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/tags?post=2053"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}