{"id":43,"date":"2005-03-10T12:29:01","date_gmt":"2005-03-10T18:29:01","guid":{"rendered":"\/?p=43"},"modified":"2005-03-10T12:29:31","modified_gmt":"2005-03-10T18:29:31","slug":"breaking-abstractions","status":"publish","type":"post","link":"https:\/\/hunch.net\/?p=43","title":{"rendered":"Breaking Abstractions"},"content":{"rendered":"<p><a href=\"https:\/\/hunch.net\/index.php?p=38#comments\">Sam Roweis<\/a>&#8216;s comment reminds me of a more general issue that comes up in doing research: abstractions always break.  <\/p>\n<ol>\n<li>Real number&#8217;s aren&#8217;t.  Most real numbers can not be represented with any machine.  One implication of this is that many real-number based algorithms have difficulties when implemented with floating point numbers.<\/li>\n<li>The box on your desk is not a turing machine. A turing machine can compute anything computable, given sufficient time.  A typical computer fails terribly when the state required for the computation exceeds some limit.<\/li>\n<li>Nash equilibria aren&#8217;t equilibria.  This comes up when trying to predict human behavior based on the result of the equilibria computation.  Often, it doesn&#8217;t work.<\/li>\n<li>The <a href=\"https:\/\/hunch.net\/index.php?p=8\">probability<\/a> isn&#8217;t.  Probability is an abstraction expressing either our lack of knowledge (the Bayesian viewpoint) or fundamental randomization (the frequentist viewpoint).  From the frequentist viewpoint the lack of knowledge typically precludes actually knowing the fundamental randomization.  From the Bayesian viewpoint, precisely specifying our lack of knowledge is extremely difficult and typically not done.<\/li>\n<\/ol>\n<p>So, what should we do when we learn that our basic tools can break?  The answer, of course is to keep using them until something better comes along.  However, the uncomfortable knowledge our tools break is necessary in a few ways:<\/p>\n<ol>\n<li>When considering a new abstraction, the existence of a break does not imply that it is a useless abstraction.  (Just as the existence of the breaks above does not imply that they are useless abstractions.)<\/li>\n<li>When using an abstraction in some new way, we must generally consider &#8220;is this a reasonable use?&#8221;<\/li>\n<li>Some tools break more often than other tools.  We should actively consider the &#8220;rate of breakage&#8221; when deciding amongst tools.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Sam Roweis&#8216;s comment reminds me of a more general issue that comes up in doing research: abstractions always break. Real number&#8217;s aren&#8217;t. Most real numbers can not be represented with any machine. One implication of this is that many real-number based algorithms have difficulties when implemented with floating point numbers. The box on your desk &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/hunch.net\/?p=43\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Breaking Abstractions&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-43","post","type-post","status-publish","format-standard","hentry","category-general"],"_links":{"self":[{"href":"https:\/\/hunch.net\/index.php?rest_route=\/wp\/v2\/posts\/43","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hunch.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hunch.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hunch.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hunch.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=43"}],"version-history":[{"count":0,"href":"https:\/\/hunch.net\/index.php?rest_route=\/wp\/v2\/posts\/43\/revisions"}],"wp:attachment":[{"href":"https:\/\/hunch.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=43"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hunch.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=43"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hunch.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=43"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}