source view: research.php


<?php



  $_DB_USE_MYSQLI = true;
  require( 'db.connect.php' );
  require( './classes/Research.php' );






  $formula_query = $mysql->query( 'SELECT COUNT(*) FROM tblBlogFormulas WHERE isLoaded = 1' );
  $formula_row   = $formula_query->fetch_row();
  $formula_query->close();

  CoauthorPopulation::setDatabase( $mysql );
  ResearchPortfolio::setDatabase( $mysql );
  $economics = ResearchPortfolio::getResearch();
  array_push( $economics,
    new Research( 'Sharpness of Approximation Boundary in the Bipartite Pricing Problem', '/pdfs/woodward-bipartite-pricing-201312.pdf', 'The bipartite demand problem is known to have an easy approximation which generates at least half the maximum profits for the selling side of the market. We demonstrate via an example that this approximation is tight, and that the results of the approximation algorithm cannot necessarily be improved upon any subsequent algorithm which takes the approximation as given.' ),
    new Research( 'Herding as a Robust Phenomenon', '', 'We address the generality of herding outcomes when agents are not necessarily Bayesian-rational. Herding is shown to arise from optimal responses to observed choice sequences under the relatively weak constraint that preferences must "point in the same direction." This generalizes to suboptimal reasoning processes which obey certain properties.' ),
    new Research( 'White Elephant is not Strategy-Proof', '/current/on-white-elephant/', 'In an extended blog post, I show that the traditional American holiday game White Elephant &mdash; alternatively, Yankee Swap &mdash; is not strategy-proof.' )
  );
  


  /*
  $economics   = array(
    //    new Research( 'Strategic Ironing in Pay-as-Bid Auctions: Equilibrium Existence with Private Information', '/research/woodward-strategic-ironing.pdf', 'I establish the existence of pure-strategy Bayesian-Nash equilibria in divisible-good pay-as-bid auctions with private information, and show that such equilibria can approximate equilibria in nearby multi-unit auctions. I show that equilibrium strategies exhibit <em>strategic ironing</em>, a reduction of bids below what might be expected. Strategic ironing has implications for the tractability of equilibrium strategies.' ),
    //    new Research( 'A Purification Theorem for Timing Games', '', '<em>With Greg Kubitz.</em> We provide a purification result for games where bidders select from an uncountable action space. This result has implications for models in which agents randomize over the time at which they take a defined action.' ),
    //    new Research( 'Karma and Belief Manipulation', '', '' ),
    //    new Research( 'Information Provision in Auctions with Resale', '', '' ),
    //    new Research( 'Optimization through Obfuscation: Mechanism Randomization in Multi-Unit Auctions', '', '' )
  );
  */

  $programming = array(
    new Research( 'Fractal generator', '/v2/fractal/?canvas', 'HTML5 implementation of the <a href="/">splash page</a> fractals, built to test real-time image generation prior to site upgrade. 2D rendering in WebGL is still an emerging feature, with especial pitfalls if the underlying optimization problems are not known in advance; there\'s a <tt>&lt;canvas&gt;</tt> backup for browsers that don\'t make the grade.' ),
    new Research( 'Javascript Logo', '/v2/logo/', 'A partial (yet fairly robust) implementation of the Microworlds dialect of Logo through Javascript and canvas. Documentation is as-yet nonexistent, but there are several examples to demonstrate basic features; the header graphics on this website are generated through the interpreter, so viewing source is another excellent tool. Currently there is no turtle icon moving around, since <a href="http://inkscape.org/" target="_blank">Inkscape</a> runs like molasses on my machine.' ),
    new Research( 'LaTeX to png', '/latex.php', 'Generates png graphics from LaTeX math markup; although there are many similar services out there at present, back in 2008 this was pretty much the option. As of <em>right now</em>, I am hosting ' . $formula_row[0] . ' mathematical formulas available to the world, which proves that someone out there finds this useful.' ),
    new Research( 'ROFLBOT', '/roshambo-markov-chains-and-a-teaspoon-of-lulz/', 'A locally-successful rock-paper-scissors runner-up, coming in second place in the first-and-last annual Homestead Rock-Paper-Scissors championship (where the only rule was to not implement <a href="http://ofb.net/~egnor/iocaine.html" target="_blank">Iocaine Powder</a>). The primary challenge of this was not so much implementing a complex decision rule as it was implementing it in LOLCODE; I am proud of its performance given the constraints.' ),
    new Research( 'YALI', '/yali-yet-another-lolcode-interpreter/', 'A Perl interpreter for <a href="http://lolcode.com/" target="_blank">LOLCODE</a>; now <a href="http://portsmon.freebsd.org/portoverview.py?category=textproc&portname=yali" target="_blank">ships with FreeBSD</a>. While cat macros have come and gone &mdash; and good riddance &mdash; this experiment in language design and implementation has proved fairly instructive downstream.' )
  );



  $script = <<<EOJS
<script language="javascript">
  function showAbstract ( i )
  {
    document.getElementById( 'abstract-link-' + i ).style.visibility = 'hidden';
    document.getElementById( 'abstract-text-' + i ).style.display    = '';
  }
</script>
EOJS;
  $style = <<<EOS
<style type="text/css">
  ul.static-list li
  {
    margin-bottom: 2ex;
    text-align:    left;
  }

  ul.static-list > li > span.abstract-link
  {
    float:       right;
    line-break:  pre;
    position:    relative;
    right:       0px;
    margin-left: 3ex;
  }

  ul.static-list > li > div.abstract-text
  {
    text-align: justify;
  }

  .coauthors
  {
    display:    block;
    font-style: italic;
  }

  .paper-title
  {
    text-align: left;
  }

  @media screen and (max-width: 600px)
  {
    ul.static-list
    {
      margin-right: 3ex;
    }
  }
</style>
EOS;



  require '_pagewrapper.php';
  wrapPageTop( 'research.php', 'research', array( $style, $script ) );
  
  
  
?>
<h1 style="display:none;margin-top:0px;">research</h1>
<h3>economics</h3>
<p>
  My economic research focuses on microeconomic theory, and in particular on the study of auctions. I am currently pursuing a thread of topics which relate to the provisioning of multiple homogeneous goods in the same auction, a method which is commonly used to allocate government securities, power generation, and other commodities routed through a central agency. I aim to lend theoretical support to arguments in favor of mechanism selection by the auctioneer, with an eye toward practical implementability.
</p>
<?php if ( 0 ) { ?><h3 style="margin-left:2ex;font-size:1.1em;"><span style="color:#999;">::</span>&nbsp;&nbsp;job market</h3><?php } ?>
<ul class="static-list">
<?php

  for ( $i = 0; $i < 2; ++$i )
  {
    print $economics[$i]->toHTML( $i );
  }

?>
</ul>
<?php if ( 0 ) { ?><h3 style="margin-left:2ex;font-size:1.1em;"><span style="color:#999;">::</span>&nbsp;&nbsp;other working papers</h3>
<p>
  
</p><?php } ?>
<ul class="static-list">
<?php

  for ( $i = 2; $i < count( $economics ); ++$i )
  {
    print $economics[$i]->toHTML( $i );
  }

?>
</ul>
<p style="margin-top:3ex;">
  You might see me present any of the above projects (or others) if you check my <a href="/calendar">calendar</a>.
</p>
<p>
  I am in the process of building and maintaining a <a href="/references.php">list of references</a> contained in my papers. Having been stymied by <a href="http://scholar.google.com/">Google Scholar</a> more than a few times, even with VPN, I think it's only fair to make accessible the papers that I have found in the public domain.
</p>
<h3>programming</h3>
<p>
  Coding helps me explore unusual, aesthetic questions. While it might be a stretch to classify the following as research proper, each represents something deeper than just-a-website. All can be played with to satisfy your own curiosity, although some need to be downloaded first.
</p>
<ul class="static-list">
<?php

  for ( $i = 0; $i < count( $programming ); ++$i )
  {
    print $programming[$i]->toHTML( $i + count( $economics ), '' );
  }
  
?>
</ul>
<?php
  
  
  
  wrapPageBottom();
  
  
  
?>