Skip to content

An Open Problem

April 23, 2024

Richard Feynman and Gian-Carlo Rota worked on different parts of science during their separate careers. Feynman of course was one of the most important scientists of the 20th century—see here.

His work in theoretical physics radically reshaped our understanding of the universe we live in at the most fundamental subatomic levels.

But Feynman’s brilliance was not solely due to his natural cognitive abilities. He relied on a method: a simple technique for seeing the world through the lens of open-ended questions, which he called his “favorite problems.”

Rota worked in the subject of combinatorics; and he lifted it from a barely respectable obscurity to one of the most active areas of mathematics today—to quote Richard Stanley, one of his great students. Rota had many neat results including one of the great papers Ten Lessons I Wish I Had Been Taught is wonderful. It fits neatly with Feynman notion of problems.

The Problem

Our problem today is not one that Feynman nor Rota would have most likely have worked on. Not physics and not combinatorics. But I do think it is possibly one that is still interesting. I hope you agree.

We often have to create a post so that a user can ask some particular question. The post should make it easy for them to get the answer that they are interested in without any difficulty. This is not always easy for us to make it easy.

One simple issue is this: Given a post we wish to make it easy for you to be able to ask for some particular information. The problem is that the actual post may let you get into some type of nasty state. The state may be hard to get into a place where you feel you are in control. The post may be in some strange state—one that does not respond to you questions in a way that you understand. This can be quite upsetting and led to a tough experience for your audience. This is something that we wish to avoid.

More Details

Imagine you are using our post. You interact via some application programming interface (API). You input information to the API by typing some keys or clicking on some icons. Each such input causes the API to change and enter some potentially new state. The difficulty is that this state may be a wrong one. You would like some input to force the post to reset. That is the API should change to a “reset” or some other nice state. But nothing causes this to happen. Nothing.

How can we fix the API to make that happen when we wish? This is the problem that we would like to solve.

Open Problems

This problem does have a simple solution. But the solution is not that pleasant. We could agree that some input—if you type XXX—will always reset the API. But we often do not wish to reserve a fixed sequence of inputs to always cause a reset. What if we wish to be able to input XXX in some situation? This is the problem. How do we have a way out of trouble and yet do not make the inputs restricted? The answer is not that natural we believe. What would you do?

One idea is have a special sequence like XXX that makes the reset. It does mean that XXX cannot be used in any other situation. But we could agree that XXX is replaced with a special secret sequence, that is extremely unlikely to be used except in the reset case. Perhaps we could replace XXX with the Fibonacci sequence 0112358132134 or some other special unusual sequence. Does this make some sense. It would have to be known by users and they would have to operate like this:

If the API is in some nasty case, they would say to themselves “I better type the special sequence.” Oh I recall it is 0112358132134 and the API will always reset.

And the reset will happen. Neat?

7 Comments leave one →
  1. April 23, 2024 8:48 am

    #TodaysAcronym ☞ #WOTSOT
    🪚 🛠️ 🪛
    Working On The State Of Things

  2. April 24, 2024 6:58 am

    This reminds me of the old days of using modems that used the Hayes command set.

    +++ATH

  3. William Gasarch permalink
    April 25, 2024 10:29 am

    Combinatorics did indeed go from obscurity to prominence. And yes Rota was one of the reasons. However, there were others; Erdos and also the rise of computer science as the same kind of motivation that Physics was in prior years. A good paper could be written about what caused the rise in prominence. But unlike a math paper, its conclusions would have to be speculative.

    • Blog Runner permalink
      April 25, 2024 11:46 am

      Isn’t all of mathematics combinatorics?

  4. April 25, 2024 12:30 pm

    I might mention Martin Gardner as someone who got a lot of folks fascinated with combinatorics long before they got out of short pants, much less to college or the research scene.

  5. Jordan permalink
    April 26, 2024 10:08 am

    One possibility is to construct your API in a continuation-passing style so that the server side retains no state, all the state of the session is contained in the response to the client. (If the state of the program is sensitive, the server could encrypt its continuation so that the user merely retains it for the next step.) Now the server can never enter a bad state and in the worst case, the user can always use an out-of-band operation to reset the state of their session such as restarting their client or pulling the plug on their computer. The tradeoff is an increase in data transferred.

    • rjlipton permalink*
      April 27, 2024 7:46 am

      Interesting. Do you ever get in a bad state?

Leave a Reply to Blog RunnerCancel reply

Discover more from Gödel's Lost Letter and P=NP

Subscribe now to keep reading and get access to the full archive.

Continue reading