{"id":326,"date":"2011-07-02T00:20:18","date_gmt":"2011-07-02T00:20:18","guid":{"rendered":"http:\/\/computable.cl\/blog\/?p=326"},"modified":"2011-07-02T00:27:04","modified_gmt":"2011-07-02T00:27:04","slug":"invertibilidad-reversibilidad","status":"publish","type":"post","link":"http:\/\/www.computable.cl\/blog\/?p=326","title":{"rendered":"Invertibilidad, Reversibilidad"},"content":{"rendered":"<p>Muchas veces una idea se transforma y se replica en distintos rincones y contextos, eso es lo que ocurre con una idea que me es cercana y que particularmente est\u00e1 en mi retina por muchos a\u00f1os, y que lamentablemente \u00a0est\u00e1 en el centro de mi propuesta doctoral. Ha sido por uno y otro concepto satisfactorio, como agobiante, no ha sido\u00a0f\u00e1cil\u00a0conciliar y concebir una base fundacional en que pueda sustentar el programa de la\u00a0<em>invertibilidad computacional<\/em>.\u00a0\u00a0 En un comienzo, parte de la argumentaci\u00f3n emergi\u00f3 desde las ideas emanadas en el contexto de\u00a0<em>isomorfismo de tipos,<\/em><em> <\/em>pero lo que ocurre a nivel de <em>especificaciones<\/em>, no escala de la misma manera a los <em>programas<\/em>. La complejidad de los algoritmos involucrados y su tratabilidad son de orden significativamente distintos.<\/p>\n<p>Por estos d\u00edas, entre b\u00fasquedas furtivas de referencias y posibles fuentes de inspiraci\u00f3n me encontr\u00e9 otro concepto que circunda la idea de invertibilidad,<em>reversibilidad computacional,<\/em><em> <\/em>esta vez la sustentaci\u00f3n se encuentra en la intersecci\u00f3n entre dise\u00f1o de circuitos y la f\u00edsica, curioso fue constatar que la motivaci\u00f3n fundamental de este concepto es la preservaci\u00f3n y disipaci\u00f3n de la energ\u00eda. Circuitos que representan de una y otra forma<em> <\/em><em>funciones booleanas<\/em> que no sean invertibles, generan\u00a0<em>calor,<\/em><em> <\/em>es decir, perdida irremediable de energ\u00eda y las desventajas que ello implica. Una bonita\u00a0met\u00e1fora que me permite redescubrir esta idea que plasma cada rinc\u00f3n de mi tesis, una arista tan atingente como la preservaci\u00f3n de un nuevo insumo, tan en boga y en demanda por nuestro quehacer cotidiano.<\/p>\n<p>Percibo una triada que sustentan la invertibilidad como paradigma de programaci\u00f3n:<em> <\/em><em>reescritura, eficiencia,\u00a0est\u00e9tica<\/em>. La primera que representa la posibilidad de traducir distintos procesos equivalentes a lo largo de distintas estructuras de datos. En la segunda pensamos en la posibilidad de un manejo eficiente de los recursos, esto es \u00a0<em>algo<\/em> se puede almacenar en una forma primitiva, las dem\u00e1s formas equivalentes ser\u00e1n deducidas y desenrolladas desde esta, la cosa es mucho mejor aun, y en dicho proceso preservaremos energ\u00eda. La tercera no m\u00e1s que pensar en un objeto que puede ser visto desde distintas perspectivas, no s\u00f3lo desde una perspectiva!<\/p>\n<p>Seguiremos so\u00f1ando,\u00a0<em>invertibilidad, reversibilidad.<\/em>.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Muchas veces una idea se transforma y se replica en distintos rincones y contextos, eso es lo que ocurre con una idea que me es cercana y que particularmente est\u00e1 en mi retina por muchos a\u00f1os, y que lamentablemente \u00a0est\u00e1 en el centro de mi propuesta doctoral. Ha sido por uno y otro concepto satisfactorio,<a class=\"read-more \" href=\"http:\/\/www.computable.cl\/blog\/?p=326\" title=\"Read More\"> <span class=\"button default\">Read More<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-326","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"http:\/\/www.computable.cl\/blog\/index.php?rest_route=\/wp\/v2\/posts\/326","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.computable.cl\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.computable.cl\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.computable.cl\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.computable.cl\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=326"}],"version-history":[{"count":5,"href":"http:\/\/www.computable.cl\/blog\/index.php?rest_route=\/wp\/v2\/posts\/326\/revisions"}],"predecessor-version":[{"id":329,"href":"http:\/\/www.computable.cl\/blog\/index.php?rest_route=\/wp\/v2\/posts\/326\/revisions\/329"}],"wp:attachment":[{"href":"http:\/\/www.computable.cl\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=326"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.computable.cl\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=326"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.computable.cl\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=326"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}