Tag Archives: mathematics

Interesting probability theory descriptions of games like minesweeper

minesweeperWhat are some interesting probability theory descriptions of games like minesweeper?

The Minesweeper game was (surprisingly) often used as a toy model for studying randomized algorithms and algorithms working in random environments.

A nice introduction to both algorithmic and probabilistic aspects of the Minesweeper can be found in this B. Sc. thesis “Algorithmic Approaches to Playing Minesweeper” by David J. Becerra from Harvard.

Some advanced studies exploring different algorithms and their relation to probabilistic models of the Minesweeper can be seen in the paper “Optimistic Heuristics for MineSweeper” by O. Buffet, Ch.-Sh. Lee, W. Lin, O. Teytaud,

or in the paper by M. Sebag and O. Teytaud “Combining Myopic Optimization and Tree Search: Application to MineSweeper”.

As for games like minesweeper in general, some of them were found to be connected with percolation theory (which is one of the most fashionable branches of probability at the moment), as well as with Markov decision processes, and computational complexity studies.

A good example of research in this direction is a paper “The Minesweeper game: Percolation and Complexity” written by Elchanan Mossel from Microsoft Research.

pc-gamersWhat does all of this beautiful mathematics says to a passionate gamer? Namely, what would be a good algorithm for solving the puzzle, and is the solution computationally hard?

In fact, the minesweeper is one of the classical board puzzles based on algebras of binary variables. Algorithmic solutions to these problems are typically sought with the use of integer linear programming. Unlike simple linear programming, integer programming problems are typically NP-hard. This is true even for binary integer programming where variables can only be 0 or 1 rather than arbitrary integers.

This transforms into the fact that, in its general formulation, the minesweeper is indeed algorithmically NP-complete. However, there is an argument that, if the minesweeper board is already known to be consistent, solving it is only guaranteed to be co-NP-complete, and might be (or not be) NP-complete.

And here is the raining defending Minesweeper world rekord holder Kamil Muranski performs his skillful play. Not sure if his brain is using integer linear programming or not 🙂

 

Good introduction to general relativity theory for mathematicians

einstein1_7What is a good introduction to general relativity for a mathematician?

A direct and specific Quora question. Definitely demands a direct and specific answer 🙂

If you are a fan of vintage classics, you can go with Hermann Weyl “Space, time, matter”.

It’s an old book, but still very readable as an introduction for mathematicians. And the author is Hermann Weyl, out of all people. And I personally like him even more since he also graduated from the University of Göttingen.

And then, of course, you have the all-time classics L.D. Landau & E.M. Lifshitz “The Classical Theory of Fields” ( Volume 2 of A Course of Theoretical Physics ).

Yes, these are the guys from the Landau-Lifshitz equation. Landau was a Nobel Prize winner (and a student at Göttingen 🙂 ), and both Landau and Evgeny Lifshitz were academicians of the Russian Academy of Sciences and honorary members of many other national scientific societies around the globe.

Their book is rough, tough and mathematical, but provides a great introduction and explains so many important aspects of the theory, while most of modern introductory books just do hand waving and popular lingo speaking for hundreds of pages.

And, as a note of caution: if you aim to understand the general relativity and do not want to read pseudo-scientific fantasy, avoid books by Stephen Hawking.

P.S.  The guy from the picture above is famous not only for his creation of the relativity theory, but also for some of the work that he did at the German Federal Institute of Physical and Technical Affairs, also known as PTB and as the place where I’m happily doing my own  research affairs for the past three years. The world feels so small right now 🙂

How can a Computer Science student achieve the same level of knowledge of Statistics as that of a Statistics graduate?

This is one of those questions that I am getting asked on a regular basis. When I saw this in my Inbox mailed to me by Quora, I knew it’s time to step up and speak out 🙂

In fact, that’s a very easy question that has a straightforward answer. Of course, the answer has to be generic, because there is no way to give a specific answer addressed to an abstract “Computer Science student”.

Anyways:

In order to achieve the same level of knowledge in statistics as a statistics graduate, you have to put in the same total effort to learn statistics as a statistician does. There’s no shortcut.

The same principle is valid the other way around. If a mathematics and statistics graduate like myself would like to learn to code as good or better than CS students, I could only achieve this by spending a lot of time improving my coding skills.

However, in case if you are already familiar with machine learning, then you have already made substantial efforts in the area and you are definitely not a beginner.

If you continue learning and reading about those areas of statistics that are relevant to your work, you will keep getting better and there will be no limit to your improvement.

 

 

 

Learning and being open vs being a yes-man

There is a very important topic of being open to new ideas and being able to learn new tools related to your profession, and it amazes me that this subject causes quite a bit of misunderstanding. So I felt that it might be a good idea to express my thoughts on the matter and to clarify some misconceptions.

I work on extracting knowledge or business value from data and information. This is a truly interdisciplinary area where we use machine learning, statistics, mathematics, computer science, together with software development and business analytics. Essentially, on a daily basis.

Of course, when so many tools are involved and so many skills are required, there is noone who knows everything in this profession. Therefore, it is essential that you learn something new or perfect some of your skills on a daily basis. I followed this advice since my student days and now, after 20 years, there are still endless opportunities to learn something useful and it is extremely easy to find an area where to improve yourself.

A crucial ingredient to success of this approach is the ability to evaluate your skills adequately. You hinder your progress or even stop it completely if you get overconfident and generic in your self-evaluation. On the other hand, you are also wasting your time and efforts if you are undervaluing some specific skills that you’ve already developed. Adequacy is the key.

Now let’s give a very common example. In my interactions with dozens of departments, I probably had close to a 100 situations of this type 🙂

Imagine you’ve done a Ph.D. on hypothesis testing or published papers on classification in machine learning. And then there comes a colleague of yours who just saw a Wikipedia article on A/B testing or read some blog entry about that new hot classifier that was recently proposed in a poster at the local college conference on AI.

Your colleague is all excited, says that’s the coolest thing since sliced bread and demands that you write a seminal joint paper with him or, at least, abandon all of your current work and reorganize the company analytics to have his new favorite method at the core of the business 🙂

A typical twist in this type of stories comes from the fact that you’ve probably either already tried this method and found a better one, or you know that the method simply doesn’t work for your task. After all, sometimes this can be a mathematically provable statement. And you tell this to your colleague, as politely and constructively as possible, of course.

Now, there’s a probability that the colleague still gets upset and claims that you’re a know-it-all, and that you aren’t willing to learn new things and that you aren’t open to new opportunities.

Do not get into the trap of feeling guilty and switching to the obviously ineffective method. These remarks aren’t coming from your colleague’s brain, they come from his ego that is temporarily hurt. If you both waste your time working on something bogus, this will do no good for both of you and for the employer.

At the end, you might feel even more guilty for not stopping the madness earlier, you can damage your reputation as a domain expert, and your colleague might still blame you for the fact that his bad idea didn’t work out as he expected. A fairly unattractive perspective if you ask me 🙂

Willingness to abandon your good results and to discard your knowledge just because someone else got excited about a new buzz word, is not to be confused with openness to new ideas and willingness to learn and improve.

A proper name for the former is being a “yes-man” and a pushover. You wouldn’t learn or improve by working on a bogus method, indeed.

As for you colleague, if he is really open to new ideas, eager to learn something new, and strives for perfection, a moment like this is exactly the right time for him to prove it and to learn something from you. Something useful.