Trying to reach the next programming level!

ENGLISH
Hi all!

I’m back to programming and am learning Java right now.
In challenges like CodeBusters or Coders Strike Back, I hardly leave the wood league to reach the next one.

Whatever the heuristic, my AIs (yeah it’s a big word in my case) are always based on the same thing : if and else statements. Yes, I record information in arrays, yes I do some tests (by hardcoding) but I feel more and more limited this way.

I understand that there is an unknow world for me out there, but I can’t identify what should be improved first.

Should I forget statements to enter another way of thinking programming ?
What should I study to code better AI’s than I do ?

Thanks!

FRANCAIS
Salut à tous !

De retour au codage, je me suis consacré à Java. DAns des challenges comme CodeBusters, j’ai du mal à sortir de la ligue Bois.

En fait, quel que soit l’algo utilisé, mes IAs se résument toujours à la même chose : des conditions if else. Je fais des tests en hardcodant, je range les infos dans des tableaux, mais malgré tout, je ressens une sensation de bricolage.

Est-ce que je dois changer ma vision de la programmation ?
Si certaines techniques me manquent, que dois-je bosser en priorité pour enfin coder des AIs potables ?

Merci!

Salut,

As-tu fais les puzzles solo? c’est un très bon moyen d’améliorer ton niveau algorithmique.
Pour moi le premier truc à maitriser c’est les graphes pour au moins savoir faire un arbre de décision.

Ensuite le chat et le forum sont une bonne source d’informations. On y apprend plein de trucs en suivant les conversations des meilleurs. :wink:

A small thing : I feel codebusters is not the best puzzle to practice classical AI algorithms such as minimax. Almost everyone in the competition ran algorithms with lots of successions of if/then/else conditions :slight_smile:

I agree, I’d recommend Tron instead: it’s even possible to reach the gold league without using a minimax.

1 Like

Should I forget statements to enter another way of thinking programming ?
What should I study to code better AI’s than I do ?

For ‘what’ to do, the best source is often the after-contest forum thread (‘the after party’), where everyone sits around and discusses what their bots did.

As far as ‘how’ to do it, several of the single-player puzzles either require or adapt well to AI methodologies. There are parallels between, for, instance, Mars Lander and Coders Strike Back. Pathfinding algos (which are critical in some games) are used in The Paranoid Android puzzles, Skynet, the Indiana Jones ones, etc.

And not to sound like a broken record, Magus wrote a wonderfully detailed description of how to write a good CSB bot and released it to the general public. There’s a link to it in the forum thread for the game.

[quote=“momopouccino, post:2, topic:1931”]
As-tu fais les puzzles solo? c’est un très bon moyen d’améliorer ton niveau algorithmique.[/quote]
Merci pour tes conseils. Oui j’ai fait les puzzles faciles et suis actuellement aux moyens. Cela m’a pris quelques semaines parce que mon langage de base c’est le c+ et que j’apprends maintenant java. Mon problème n’est pas l’algorithmique (même si j’ai encore beaucoup à apprendre sur le sujet comme les algos génétiques par exemple) mais le codage, car j’ai toujours codé en procédurale avant, et que j’ai pas encore intégré le concept objet.

Ben je sais coder ça basiquement, sans pour autant prétendre que je “maitrise”. Je vais creuser dans ce sens.

So I shouldn’t feel ashamed about my “statements” ! And just improve my tests and heuristics.

Ok seems to be fun too ! Thanks.

I’ll read it carefully.

Thanks all of you !