A link in $S^3$ is said to be slice if it bounds a collection of flat disks into the $4$-ball. Here "flat," means that there is a (locally) trivial normal bundle. This condition can be strengthened to "smoothly slice," meaning that the link bounds a smooth collection of disks. Even more restrictive is the condition of "ribbon," which means that the link bounds a collection of disks with only local maxima, and no local minima, as one moves into the $4$-ball. Thus we have an increasingly subtle series of questions. Is the link topologically slice? Is it smoothly slice? Is it ribbon? As far as I know, there are no algorithms for all three of these questions. My question is whether this is really true. For example, is there an algorithm to detect whether a link is ribbon? One interesting and venerable open problem in the field is whether all slice links are ribbon. [This paper](http://www.msp.warwick.ac.uk/gt/2010/14-04/b050.xhtml) gives a sequence of examples of links which are smoothly slice but not obviously ribbon. If there were an algorithm for detecting "ribbonness," then one could apply it to these examples, and possibly disprove the slice=ribbon conjecture. It seems to me that detecting ribbon disks should not be that hard, perhaps using ideas akin to normal surface theory. You would just be looking for disks in the link complement with ribbon singularities. Has anyone thought about this?


**Edit:** As Ryan Budney points out, if a slice disk exists, it can be found algorithmically by iteratively subdividing a triangulation, but in the absence of upper bounds on how many times you need to do this, the algorithm can't return a negative answer that a link is not ribbon or slice. 


Also, I meant to mention in my original post that the question of whether the Whitehead double of the Borromean rings is topologically slice is related to whether surgery works in 4 dimensions. Given how hard that question is, it would seem highly unlikely that there is an algorithm for the topological case!



Algorithm for detecting ribbon or slice links?
This is addressing the last part of your question. There are a couple of issues with trying to implement normal surface theory for immersed surfaces. If an immersed surface is $\pi\_1$-injective, then one may homotope it to be normal (meaning that the components of preimages of each tetrahedron is a normal disk - triangle or quadrilateral). In fact, one needs only the weaker condition that the surface is simple loop injective - every homotopically non-trivial curve in the surface is $\pi\_1$-injective in the 3-manifold. 


The first issue is that a ribbon disk might not be simple loop injective. You may always modify an immersed surface by surgeries along simple loops which are homotopically trivial in the 3-manifold to obtain a simple-loop injective surface. However, starting with an immersed ribbon disk (thought of as a planar surface in the knot complement), there is no guarantee that it is simple loop injective, and such surgery modifications may mess up the ribbon singularities. I thought about this a bit before, but I didn't see how to deal with this issue. 


The second issue is that even if one had an immersed normal representative for the ribbon disk (with respect to a triangulation of the knot complement), how does one find such a ribbon disk algorithmically? The usual method for embedded normal surfaces is to analyze the normal surface solution space with compatible quadrilaterals, and notice that the normal coordinates uniquely determine the surface. One then uses linear programming to reduce this to a finite collection of possible surfaces of bounded complexity. For immersed surfaces, this strategy fails, and people haven't found a suitable generalization. 


