Competitions


We wanted to combine our monthly tutorials with a small contest. This means every month we will introduce a new subject, spread some basic knowledge and leave advanced techniques and experiments open to you. So everyone is able to participate. But a competition without any award would be boring. Who even wants to participate in such a competition? I guess nobody. The monthly contests will not only teach you new AI techniques, principles and ideas, but we will also reward the best participant with small prices. I would highly recommend every user to participate in the contest. The chances to win may be higher than you think! Even if you lose, you at least learnt something about AI. This is a true win-win situation for every AI fan!

Expand your AI knowledge and take place in a tutorial-guided competition! When else will you get the opportunity to get paid for learning intelligent and fancy stuff? Each competition will run from the first of each month until the first of the following month!

General Information

1. You are allowed to use third-party libraries as long as the major work is done by you. This means downloading tesseract and just training it on our samples is not enough to win. The more you do on your own the better we will evaluate your program. But please do not start to implement JPEG parsing or similar on your own. We are only interested in AI-Coding/Computer-Vision-Coding!

2.  The following programming languages are explicitly allowed: 

- Python
- C/C++
- C#
- Rust
- Go
- PHP
- AutoIt
- Javascript
- Java

If your favorite programming language is not part of this listing, just ask, if it is still allowed. There is a good chance we just forgot it to list the language.

3. We highly suggest to add a small Readme, which states how to use the program and how to compile the code.

4. We are especially evaluating results not code. This means feel free to write the most ugly code we ever saw or the most beautiful on earth. We will not care too much about the code itself as long as it produces the results you claimed. However keep in mind, that readable code makes finding compiler-errors or similar easier for us, so you should at least provide readable code. 

5. As we are not really interested in the code itself, we especially only check if your code is able to pass through our private testcases. But keep in mind, that we forbid to used too "heavy" third-party codes/libraries. This means if you send us some obfuscated code, we will infer that you have something to hide. Therefore we will see this program as "suspect" and will disqualify it.

6. We are testing each program against our private test-cases. The winner is the person, whose program passes as much test-cases as possible. This means you are always able to win, even though your program is not perfect. Maybe your program is still the best submitted, so just try it!

7. Your code stays yours. If we are interested in using your code we will ask you for permission to use/share/... it. But until you allow usage, it will stay your code. Even though your code stays yours, we still want to share a few ideas after the competition. If you do not even want to be part of this "idea sharing" please let us know.

Some additional notes:

Feel free to ask for help or feedback. The focus of this competition is especially to learn something and to compare the knowledge-gain with others. We are happy to help and give hints. However we will not give any "unfair" hints. So asking for "the best method to crack it" are useless and will be ignored or answered with a short answer.

But questions like: "Why is my XYZ working worse than ABC?" or "Is ABC a good idea to try with XYZ?" are highly welcome and the answers will also be shared with you. We are here to learn not to work!

You are also free to participate as team or as single person. We encourage you to communicate with each other, who knows maybe you will find an idea or solution, which boosts your performance?

The secret test-cases will kept secret until the competition ended. After the competition ended, we will share the secret test-cases, so you are able to validate the results for your program on your own.

Our concrete evaluation looks like follows:

45% private testcases score

45% How much of the program is "selfmade" (the more selfmade the better, because the main purpose is to learn something not to copy&paste or use some third party libraries)

10% Some points for the "coolness of the idea"

We will not evaluate any comments, documentation, UI or similiar. But we are really happy if you provide a small introduction to your code and ideas, so we are able to understand the principles.

If there are any questions left, feel free to ask!

Connect Four AI! (May to June)

Welcome to our second competition dear Coders and AI-Fans,

this is the second competition we are launching. As described earlier, the competition will consist of two parts. The first part are a few tutorials, which match exactly to the topic of the competition or at least may be usefull. This time we prepared one big tutorial for you, which may help you and guide you through your first program.

Our subject today is, writing a "Connect Four"-AI

Connect Four is a very simple game, where you have to get four stones in a row, diagonal or column. We provide the corresponding C++ code for learning. The goal is to produce an AI, which beats the implemented MinMaxAI with depth of 5. The overall time per turn is maximum of 5s. We will not measure the exact time, but we will have a look at the time the algorithm takes and will punish AIs, which run much longer.

Wikipedia describes "Connect Four" well, if you do not know the game: https://en.wikipedia.org/wiki/Connect_Four

You are free to use any programming language you want to use. We implemented a way to communicate with the binary without actually writing any C++ code. This is simply done by writing to the file "turn.txt". The file "turn.txt" will be empty after the binary read the content. The binary will try to read the next turn, until you wrote something to the file. The file "current_board.txt" contains the current board. Do not forget to always close the files, when you finished reading/writing otherwise the binary may not be able to read/write to files. You are always player 2! Player 1 is always starting!

We play on a board with width of 10 and height of 12.

Useful tutorial:
- TicTacToe AI

Competition details:
- Starting: First of May
- Ending: First of June at 23:59
- Submit program/code to: m.rupprecht@gmx.net

- Awards
1. Place: 50€ 
2. Place: 20€ 

Downloads:
- C++11 Code + Windows-Binary
- Example AI for Windows (AutoIt; Binary + Code)

Sponsor: Neural Ocean

Break Captchas! (April to May)

Welcome dear Coders and AI-Fans,

this is the very first competition we are launching. As described earlier, the competition will consist of two parts. The first part are a few tutorials, which match exactly to the topic of the competition or at least may be usefull. This time we prepared three tutorials for you, which may help you and guide you through your first program. In this competition the tutorials will be available in german and english as text. In future competitions there may be also videos and "programs" to teach you the basics.

The first subject we want to focus on is: Cracking Captchas

Huh? Sounds like an interesting and extremely complex subject, does it not? You are asking how you should ever be able to create something, which would crack a captcha? Well today you will learn it! This time we are going to break a few quite simple but still "realistic" captchas with not as much code and brainpower as you may think!

If you did not hear of the word "Captcha" before, let me summarize Captchas as "a script to distinguish between bots and humans by letting the user solve an intelligent task". If this still does not ring a bell to you, have a look at these examples:

These are all Captchas, to be more precise these are all text captchas. This competition will focus on breaking simple number captchas. But you will learn a lot of things, which easily can be applied to breaking complex captchas, too.
We will choose handwritten captchas containing only numbers with a length of minimum of three digits up to five digits. A few example captchas, which also will be provided as examples in the download section later on:


Our goal is to break these captchas! So let the competition begin!

Useful tutorials:
Data Augmentation
Pattern-Recognition-Pipeline
Optical Character Recognition

Competition details:
- Starting: First of april
- Ending: First of may at 23:59
- Submit program/code to: m.rupprecht@gmx.net
- Awards
1. Place: 25€ amazon/paypal/psc
2. Place: 10€ amazon/paypal/psc

Downloads:
- Download Captcha Starter Pack

Sponsor: Neural Ocean