This is my master thesis about exploiting structures in automated planning (through symmetry breaking). You can read it here: Exploiting structures in automated planning. The domains and problems, that were used for testing, are here: Domains.

All articles about Vitebi algorithm, which I found, seemed too complicated and hard to understand. They either had too much theory and no examples, or too complex example without an abstract description. I will try to write a my own article and clarify things a little.

It has been 8 years since I heard about Monty Hall problem for the first time. I never completely trusted the offical solution. The only solution I would completely trust is my own simulation of thousands of games, so I decided to make one and prove the rest of the world wrong.

Official Metamath description has 211 pages. This is a "shrinked" version, which does not contain introduction to logic, history of logic, definitions and statements, that mathematicians and computer scientists are already familiar with. Explore it in MM Tool.

This article should allow you to understand Fourier transform much better. It should clarify basic principles and several important details, which are not said in other articles. It is a little informal, but all formalities should be obvious after reading it.

I decided to write this article, because all other articles I found on the internet seemed too complicated and did not explain the basic principles. I will avoid formalism, but I am sure formalisms will be clear to you after reading this article.

Let me present you 3D Tool, web-based model viewer with a simple renderer I made during this summer. It has basic functionality and can deal with several basic 3D formats. 3DTool.ivank.net.

I needed a really fast Gaussian blur for one of my projects. After hours of struggling and browsing the internet, I finally found the best solution.

I recently found a very interesting project, called SmallPT. It is photorealistic 3D renderer, written in 99 lines. So I decided to rewrite it into JavaScript.

I have made a Raytraced Online Game few months ago. It looks nice, but it does not look realistic, so I decided to rewrite it into Path Tracing.

Adobe Photoshop, Gimp and many other image editors have a tool called Curves. There are several "knots" and while you move them, it computes a curve in between. I always wondered, how is this curve computed.

There are many "smart" algorithms in 2D graphics and Floyd-Steinberg error diffusion is one of them. Attached demo demonstrates a dithering on webcam output (or Bucks Bunny video, when webcam is not available).

I had some free time last weekend, so I decided to try to write some simple raytracer. It runs in real time on the GPU, it is controlled by JavaScript.

I was playing with JavaScript and decided to create my own small framework for 2D games, based on WebGL. I have alredy made 2 small games on top of it.

I have made a "SM Tool" during the last summer. It is a program, which allows you to work and play with Finite-state machines. It was my credit work on Advanced programming for .NET.

Today's post will be about Quadtrees. I have coded a little visualization, which may help you understand this data structure.

I have made a little tool. Here you can specify some binary relation over a finite set. Then you can generate a closure of it.

This article can be a guide for solving some problems with Prolog. If you know it's syntax, maybe after reading this you will get an idea, how to use this language effectively.

This text was created as a credit work at subject Algorithms nad data structures II, MFF UK. It contains an implementation in C++ (at the end) and ActionScript 3.0 (in previous posts).

Today I woud like to show you a remake of my previous flash app, which I rewrote into HTML5. It is the force-based graph algorithm form my previous article.

I always wanted to try programming in JavaScript, so I decided to rewrite my implementation of Fortune's algorithm from C++ and ActionScript 3 into JavaScript.

This work has been created as my credit exam at subject Nonprocedural programming at MFF UK. It is about solving sliding puzzle with Prolog programming language.

After last 2 posts about geometry, I decided to explain, how to make a game like Untangle (solving planar graph by moving vertices).

In this article we will see how to implement some basic geometry functions in 2D space. We will wirte line segment intersection and circumcircle.

In today's article I will introduce you my own small library for generating Voroni diagram in ActionScript 3. I used Fortune's algorithm, which is probably the fastest algorithm for solving Voronoi diagram.

I decided to extend my

last graph drawing algorithm - I added a "z" coordinate (for position, forces etc.). I used

Away3DLite libraries for drawing a graph.

Today we will learn how to implement the Aho-Corasick algorithm. It is used for finding occurences of words in text and it is faster than other common algorithms. Code will be in ActionScript 3, but implementation in C, C++, C# or Java will be very similar.

This post will be dedicated to drawing graphs in an aesthetically pleasing way. We will use physics "spring" algorithm, and create real-time simulation.

In this post, we will implement the Trie data structure in ActionScript 3. Then we will draw it to get a nice picture of this data structure.

Today we will take a look at recursive fractal drawing in ActionScript 3. We will draw a Sierpinski Triangle.