In response to Ryan Budney's comment, let me try to say something about topological data analysis, and other recent applications of algebraic topology outside of traditional mathematics.

**Applied Algebraic Topology** has been around in various forms for many years. I first learned about it in my training in computer science from **Rob Ghrist's work**. In fact, I wrote an MO answer back in 2011 about his work. The point seems to be efficiently computing sheaf cohomology, with applications in electrical engineering. Why sheaves? I'll illustrate with an example. All over the country a bunch of moving cell phones are trying to connect to a bunch of cell towers. The regions those towers can reach form a cover of your space. If a cell phone is in a place not covered by any tower, it's bad news, and you want to be able to detect that. Homology helps, since it finds holes. More importantly, if a cell phone is in an intersection, then it has many towers to talk to, and that can cause interference. Sheaf cohomology comes into play here, and can help you design better systems, detect interference issues, and even create coding schemes to fix the confusion interference can cause.

More recently, **Gunnar Carlsson's group** at Stanford (and his company) has been using algebraic topology to compute on data (my interest is that I mostly teach statistics nowadays). It's called **Topological Data Analysis**. If you've ever taken a basic statistics course, you know we often use linear regression, i.e. find the best fitting line and use it to make predictions for x values where we don't have any data. If the data is not linear, we transform it (via logs, square root, etc) to make it linear. But that's just because linear things were easy back in the days before computers. Nowadays you could use computational software to run much more complicated regressions. It's just as easy now to fit a curve (e.g. polynomial regression) as a line, since both involve pushing a button on any statistical software. Why stop at curves? If your data comes in the shape of a manifold, why not try to fit a manifold to the data, and use that manifold to predict values of the dependent variable for various combinations of values of the independent variables. Topological data analysis strives to give you the tools to do this. On a more basic level, persistent homology lets you detect holes in your data, by which I don't mean missing values, but rather actual regions where data is not coming to you because it's not being generated there.

As a silly example, think of taking a picture of Lake Geneva at night. You'd probably see lots of lights ringing the lake, but none inside it. The data here are the lights, and the fact that there are no lights coming from the lake is telling you that something is not there. Similarly, you could imagine taking a picture of the sky and noticing dark spots as a way to find satellites. The examples Gunnar's group has produced are much more useful and less contrived. I believe several have to do with breast cancer data. If you google, you'll find lots of slides of talks he's given, replete with examples.

**Persistent homology** works by considering all possible covers of your dataset by balls of radius r drawn around the data points, as r varies. It's best to imagine 2 dimensional data where you roughly see the shape of a circle. When r is very small, the cover is entirely disconnected. When r is very large, you're probably looking at a bunch of intersecting balls, with way too many overlaps to tell you much. But for some value of r in the middle, you get a connected shape that looks roughly like $S^1$. The balls form a simplicial complex, and that's how the computations are done. When the balls form many disconnected components, $H_0$ has large dimension. Once they coalesce into a connected component, $H_0$ is $\mathbb{Z}$ and (in the circle example) $H_1$ is also $\mathbb{Z}$. It remains $\mathbb{Z}$ as $r$ gets larger and larger, till r becomes so large that the union of the covering balls forms a disc rather than a circle (up to homotopy). The word "till" in the last paragraph is why it's called "persistent" homology. One way to visualize how the homology groups change with r is to write them as barcodes, where the left-to-right axis is r and the number of bars is the dimension. When you see a long barcode, that's telling you a feature of your data that is persistent even as r varies, e.g. a hole.

There are also applications of topological data analysis (TDA) to **Machine Learning, Clustering, and Classification**. A simple example is barycentric clustering, which is something like a souped-up, topological version of k-means clustering. Gunnar's group has more complicated examples that have been useful in identifying previously unknown associations, that were later backed up with theory. A common problem is dividing a dataset into distinct pieces, e.g. via Support Vector Machines. Basically: if your dataset can be separated by a hyperplane then you do so. If not, you transform to a higher dimensional space where it can be and then separate it there (equivalently, you find a separating sheet or surface). I am hopeful that the methods of TDA can be used to provide improved separation algorithms.

More recently, **Kathryn Hess** has gotten involved with applications of algebraic topology to **neuroscience**. This is related to both work of Ghrist and work of Carlsson, but different from both. Now the game is to discover how information travels across the network of neurons in your brain. Working with rats, you can stimulate the brain and empirically measure how electricity moves. You can then try to uncover traits of the network based on which pathways are being used frequently, and you can try to figure out what determines the path taken and what difference the path taken makes. I know less about the work Hess is doing here, but I know it has to do with computing Betti numbers and using them as invariants. Carlsson also has work related to neural networks (I seem to recall hearing that rats have a Klein bottle in their brain, but have no idea why), but I think it has a different flavor.

In a similar vein, there was an AMS Special Session at the 2012 Joint Math Meetings entitled **Generalized Cohomology Theories in Engineering Practice**. I only got to one talk in that session (about K-theory as an invariant of some engineering system), but perhaps googling the speakers would lead to more useful applications.

Incidentally, there are also algebraic topologists working in graph theory, to use algebraic topology to make **new graph algorithms**. Certainly computing $H_1$ is a way of detecting cycles. From what I understand, the algorithms produced so far don't do much that is new and interesting, and are much less efficient than existing algorithms. There are also people studying **random simplicial complexes** in the way that random graphs have been well studied. For an example, see this paper on arxiv and follow the references. Finally, there are people writing down **effective algorithms to compute in simplicial sets**, e.g. here. All of this may bear fruit, as we learn better how to model the world using simplicial complexes and simplicial sets, and as we find ways to wrangle data into forms where our tools can be used to attack it.