# Most computationally difficult applications besides nuclear weapons simulations.

**URL:** <https://boards.straightdope.com/t/most-computationally-difficult-applications-besides-nuclear-weapons-simulations/646701>\
**Category:** Factual Questions\
**Created:** [January 10, 2013, 1:50am UTC](https://boards.straightdope.com/t/most-computationally-difficult-applications-besides-nuclear-weapons-simulations/646701 "2013-01-10T01:50:22Z")\
**Posts on this page:** 5\
**Page:** 2

<div class="post-metadata">

**Author:** ![ftg](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/ftg/32/2801_2.png) [@ftg](https://boards.straightdope.com/u/ftg)\
**Post date:** [January 10, 2013, 7:42pm UTC](https://boards.straightdope.com/t/most-computationally-difficult-applications-besides-nuclear-weapons-simulations/646701/21 "2013-01-10T19:42:56Z")

</div>

[Here’s](http://en.wikipedia.org/wiki/List_of_distributed_computing_projects) another list of big computing projects that use distributed computing across the Internet. Idle time on people’s computers and all that.

Discounting Bitcoin mining (which isn’t really a single-goal driven project), the biggest one in the teraflops column seems to be … ergh. The table is a mess, it appears to be a mix of “.” and “,” decimal notation. Some of the largest in terms of CPUs seem to have abnormally small teraflop numbers.

Weather, SETI, folding, Math challenges, etc.

One of my faves types that doesn’t appear to be on the list are hash table computations. By enumerating all the basic hashes in a crypto function, you can make it almost trivial to break some older systems.

---

<div class="post-metadata">

**Author:** ![Busy\_Scissors](https://avatars.discourse-cdn.com/v4/letter/b/d78d45/32.png) [@Busy\_Scissors](https://boards.straightdope.com/u/Busy_Scissors)\
**Post date:** [January 11, 2013, 2:48pm UTC](https://boards.straightdope.com/t/most-computationally-difficult-applications-besides-nuclear-weapons-simulations/646701/22 "2013-01-11T14:48:08Z")

</div>

I wonder if there are any problems of current importance / interest where the computing power is clearly the rate limiting step. Like the theory and code for the system is in good shape, understanding is there, but we just lack the computational horse power to get it done.

If computing power was enhanced by orders of magnitude tomorrow, we’re still not solving the protein folding problem (ISTM). Not at any deep level. The understanding is not yet in place. Does the converse situation exist?

---

<div class="post-metadata">

**Author:** ![Anaglyph](https://avatars.discourse-cdn.com/v4/letter/a/ed8c4c/32.png) [@Anaglyph](https://boards.straightdope.com/u/Anaglyph)\
**Post date:** [January 11, 2013, 3:39pm UTC](https://boards.straightdope.com/t/most-computationally-difficult-applications-besides-nuclear-weapons-simulations/646701/23 "2013-01-11T15:39:14Z")

</div>

> [@Disheavel](#):
>
> And as long as this is my specialty, I can give a couple of numbers that put the calculations in perspective regarding their complexity. Assuming a protein of 100 amino acids in length (a small protein), you have 100 amino acids that each have between 2 (glycine/alanine) and 6 (Lysine/Arginine) rotatable bonds as well as having between 10 and 26 atoms each. There are known energy minima that can be used to shrink this space to fewer possibilities (for instance the [Ramachandran plot](http://en.wikipedia.org/wiki/Ramachandran_plot). But still every additional degree of rotation is multiplied many fold across all of the amino acids. Bond lengths are often held fixed to speed up the calculations but in reality are variable as well as oscillating in ps time frames. Now for every motion of folding you have to calculate the electrostatic charges between all of the functional groups, the energetics of desolvating any group, hydrogen bonding between atoms, unsatisfied hydrogen bonds, pi stacking, van der Waals forces as well as repulsion.
> 
> So quite simply you have 100 amino acids with an average of 19 atoms in 3 dimensions with a ~14 component forcefield in which many of “forces” take advantage of statistical terms and the remainder need to efficient calculate the interactions between each atom and all of the other 1899 atoms that it could be interacting with. Thus adding another amino acid (#101) and you have 19\*1900 new possible interactions across 3D space with a 14-component forcefield and you start to see how the problem doesn’t scale well.

… and that is already a coarse simplification, as it treats the solvent (water) as a homogenous medium rather than as individual molecules.

---

<div class="post-metadata">

**Author:** ![Francis\_Vaughan](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/francis_vaughan/32/3093_2.png) [@Francis\_Vaughan](https://boards.straightdope.com/u/Francis_Vaughan)\
**Post date:** [January 11, 2013, 4:23pm UTC](https://boards.straightdope.com/t/most-computationally-difficult-applications-besides-nuclear-weapons-simulations/646701/24 "2013-01-11T16:23:28Z")

</div>

In many cases we do have a good understanding of the underlying problem, but the difficulty is in how to make it tractable at all - finding techniques for simplifying that remain at all valid. For things like protein folding there is a perfectly good theory - it is called quantum electro-dynamics. It will provide as close to a perfect solution as you might like. Well understood. And computationally infeasible. But it is used for simpler chemistry, where the number of atoms is small. Such ab-initio techniques are sufficiently accurate that an entire new field of chemistry has evolved. It is possible to perform experiments that could not be performed in the lab ever. This can include chemistry in extreme circumstances. The problem is that the computations require the system to calculate the interactions of at least every outer shell electron of every atom with every other outer shell electron, and you must do this for all possible energy states. (Since these states are infinite one of the limiting parameters is the number of states you will calculate for, and turning this down reduces accuracy.) As an approximation, the calculations are On[sup]5[/sup]. That is a very brutal limitation.

The list of things that **Disheaval** posted are all approximations. Indeed, it possible some of these approximations might be validated by comparing them to the results of the QED. But if you take every one of the issues listed, and expand it out to the full set of possibilities allowed by the physics, you will end up with a list of a few tens of thousands (more with the surrounding water) of electrons all interacting with one another via the rules of QED. In that sense we have a perfect understanding of the problem, and could write a program to exactly simulate a protein folding right now. However with our current computational capability the sun would go cold before we had any useful results. Hence the need to simplify the problem, something which thus far still leaves us way short of computational feasibility.

---

<div class="post-metadata">

**Author:** ![drachillix](https://avatars.discourse-cdn.com/v4/letter/d/48db29/32.png) [@drachillix](https://boards.straightdope.com/u/drachillix)\
**Post date:** [January 11, 2013, 4:38pm UTC](https://boards.straightdope.com/t/most-computationally-difficult-applications-besides-nuclear-weapons-simulations/646701/25 "2013-01-11T16:38:19Z")

</div>

> [@chacoguy](#):
>
> The Female Orgasm, if someone could write code for that, we’d be rich.

Some of us can manage this with our hands tied behind our backs 😛

[Previous page](https://boards.straightdope.com/t/most-computationally-difficult-applications-besides-nuclear-weapons-simulations/646701.md?page=1)
