Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[OFF] Projet : IA pour le jeu de go
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3, 4  Next  
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
kwenspc
Advocate
Advocate


Joined: 21 Sep 2003
Posts: 4954

PostPosted: Sat Mar 18, 2006 8:05 pm    Post subject: Reply with quote

Je suis d'accord avec Longfield, il faut en effet une base TRES conséquente et vu les possibilités... je pense que c'est une idée à rejeter.
(surtout que l'apprentissage d'un réseaux prend enormément de temps selon la taille de la base d'apprentissage, le nombre de neurone dans la couche cachée, le type de technique utilisée (apprentissage puis validation, validation croisée etc...) bref c'est sans doute aller dans un chemin tortueus pour peu de résultat vu le problème)

Trevoke : les meilleurs bot n'ont pas un super niveau et pourtant parmis eux il y en a qui fonctionne par apprentissage d'après ce que j'ai pu voir (bon ok j'ai pas fait un recherche exhaustive). De toute façon si tu veux arriver à un truc sympa qui arrive peut-être au même niveau de ce qui se fait de mieux, il te faudra quelque chose de sophistiqué et de bourrin :)

c'est un beau challenge, il y a une forte concurrence en tout cas!
_________________
membre officieux du SAV Ati GEntoo
Back to top
View user's profile Send private message
killerwhile
Tux's lil' helper
Tux's lil' helper


Joined: 16 May 2005
Posts: 130
Location: Switzerland

PostPosted: Mon Mar 20, 2006 10:47 am    Post subject: Reply with quote

Le python est actuellement un très bon candidat pour remplacer les langages fonctionnels tel lisp et prolog, car il peut-être lui-même fonctionnel !

A retenir pour développer une IA.
Back to top
View user's profile Send private message
kwenspc
Advocate
Advocate


Joined: 21 Sep 2003
Posts: 4954

PostPosted: Mon Mar 20, 2006 11:20 am    Post subject: Reply with quote

prolog n'est pas fonctionnel, c'est du déclaratif pur.

lisp est en effet fonctionnel par contre
_________________
membre officieux du SAV Ati GEntoo
Back to top
View user's profile Send private message
killerwhile
Tux's lil' helper
Tux's lil' helper


Joined: 16 May 2005
Posts: 130
Location: Switzerland

PostPosted: Mon Mar 20, 2006 11:37 am    Post subject: Reply with quote

kwenspc wrote:
prolog n'est pas fonctionnel, c'est du déclaratif pur.


Oui en effet, j'ai du avoir une petite confusion du lundi matin.

Sans doute trop de soleil et de neige ce week-end...
Back to top
View user's profile Send private message
Trevoke
Advocate
Advocate


Joined: 04 Sep 2004
Posts: 4099
Location: NY, NY

PostPosted: Mon Mar 20, 2006 5:02 pm    Post subject: Reply with quote

Killerwhale : alors entre le python et le D qui est une sorte d'evolution du C++, tu recommanderais quoi ?

kwenspc : mais si je cree un programme qui peut jouer contre lui-meme, il pourra peut-etre apprendre tout seul, non? :)
_________________
Votre moment detente
What is the nature of conflict?
Back to top
View user's profile Send private message
kwenspc
Advocate
Advocate


Joined: 21 Sep 2003
Posts: 4954

PostPosted: Mon Mar 20, 2006 5:25 pm    Post subject: Reply with quote

Oui tu peus le faire auto-apprendre comme ça mais c'est une méthode TRES limité, les coups qu'il va tenter seront "inconsistant" dans le sens où, pour éviter qu'il boucle toujours sur les seuls coups qu'il connait, il faut insérer de l'aléa... et on tombe alors sur un pb d'espace.
T'as vu le nombre de coups possibles et qui ne veulent rien dire? (dans le sens où ils ne suivent aucune stratégie)

C'est calculable mais on tombe dans un espace infini de solution, donc "physiquement" parlant c'est incalculable.
Donc le mieux pour apprendre c'est forcément avec un bon joueur. L'ordi va tenter de "copier" les stratégies du joueur en les apprenant.
Par contre, pour contrer un coup qu'il ne connait pas il faut utiliser un algorithme de prédiction de coup comme un min-max amélioré et spécifique au go par exemple mais là dessus je doute d'être de bon conseil (qui plus est sur le go, faudra trés vite limiter la descente à 2 ou 3 niveau sinon on retombe sur le même problème : trop de calculs, de solutions possibles...enfin je vous laisse vous renseignez à dessus, si ça se trouve vous pouvez descendre plus bas).
C'est d'ailleurs cette capacité de prédiction "intelligente" et rapide qui fait qu'un programme comme celui là est bon ou non. Si on attends 1 minute pour un coup médiocre soit...mais si on attends 10 min pour un coup à peine meilleur c'est pas génial.
Le mieux étant de trouver un bon coup (enfin quelque chose de pas débile quoi) en trsés peu de secondes. et là...

Mais bon, j'imagine qu'il existe de bien meilleur textes sur le sujet.

entre le D et le python je choisirais le python. Le D étant un langage trop peu connu. Si vous voulez rameutez du monde prennez un langage qui a de la "bouteille" comme le python ou le ruby par exemple.
De toute façon pour les routines algorithmiques demandant le plus de réactivité possible il vous faudra coder ça dans un langage plus à même de vous fournir cette réactivité (le C?) et vous wrappez par dessus pi c'est bon :mrgreen:

enfin c'est ce que je pense, je me trome peut-être (y a des chances)
_________________
membre officieux du SAV Ati GEntoo
Back to top
View user's profile Send private message
Trevoke
Advocate
Advocate


Joined: 04 Sep 2004
Posts: 4099
Location: NY, NY

PostPosted: Mon Mar 20, 2006 8:38 pm    Post subject: Reply with quote

Disons que le D permet d'aller au niveau de la machine (mais la, bon, ca deviendra vite un probleme avec x86 et x86_64 ... ) comme le C ou le C++, donc ca pourra aller vite.

Je ne sais pas a quel point Python est rapide, en fait.. emerge est pas mal vu tout ce qu'il y a d'infos a gerer.

Kwen : oui, en effet. Pour eviter que l'IA ne commence comme un gros boulet, je voudrais aussi preparer une fonction pour pouvoir lire les jeux qu'on lui donne et apprendre de ces jeux (il y a un format standard sur le net, .SGF, qui si ca se trouve veut simplement dire Saved Game File). Ces fichiers prennent tres peu de place sur l'ordinateur, donc c'est pas trop dur d'en ramasser plusieurs.. Et ca donnera un bon debut a l'IA.
_________________
Votre moment detente
What is the nature of conflict?
Back to top
View user's profile Send private message
killerwhile
Tux's lil' helper
Tux's lil' helper


Joined: 16 May 2005
Posts: 130
Location: Switzerland

PostPosted: Mon Mar 20, 2006 8:50 pm    Post subject: Reply with quote

J'ai pas d'expérience en D, mais le python ca avance plutot bien ;)

En tout cas google lui fait confiance en grande partie.
Back to top
View user's profile Send private message
Trevoke
Advocate
Advocate


Joined: 04 Sep 2004
Posts: 4099
Location: NY, NY

PostPosted: Mon Mar 20, 2006 9:25 pm    Post subject: Reply with quote

Google utilise Python pour le moteur de recherche?

Pas trop etonnant. Portage et moteur de recherche = meme principe...
Intelligence Artificielle = pas le meme principe :)
_________________
Votre moment detente
What is the nature of conflict?
Back to top
View user's profile Send private message
Tsukusa
Tux's lil' helper
Tux's lil' helper


Joined: 01 Aug 2004
Posts: 133

PostPosted: Tue Mar 21, 2006 12:17 am    Post subject: Reply with quote

l'Intelligence Artificielle, pour certaines méthodes qui devront certainement être utilisées, fait appel à des bases de données (pas forcément relationnelle) et donc il faut bien de la recherche :p.

Mais je pense que l'utilisation d'une couche de C pour tous calculs demandant des optimisations et de la rapidité est nécessaire. Après Python à l'air très bon dans la recherche d'informations (enfin j'aime pas trop la syntaxe de Python moi :? ).

Enfin j'attend toujours une réponse à mes questions envoyés à un de mes professeurs. Et en attendant j'ai trouvé un livre sur l'apprentissage artificiel.

PS: Bonne idées de lire les parties surtout que ca peut se récupérer en grand nombre sur les serveurs de jeu et de tout niveau ^^.
Back to top
View user's profile Send private message
Trevoke
Advocate
Advocate


Joined: 04 Sep 2004
Posts: 4099
Location: NY, NY

PostPosted: Tue Mar 21, 2006 2:03 pm    Post subject: Reply with quote

http://www.gozillago.net/

Et un lien de plus qui parle, lui, juste de creer un programme qui pourrait jouer au jeu de go en emulant le style d'un joueur particulier. Ceci dit, il y a plusieurs textes interessants au niveau de choisir proprement pour 'pattern selection'.
_________________
Votre moment detente
What is the nature of conflict?
Back to top
View user's profile Send private message
Trevoke
Advocate
Advocate


Joined: 04 Sep 2004
Posts: 4099
Location: NY, NY

PostPosted: Tue Mar 21, 2006 8:26 pm    Post subject: Reply with quote

Bon; j'ai decide -- cette decision pourra changer dans le futur, comme tout le reste, mais nous allons tout du moins commencer par utiliser Python pour coder.
_________________
Votre moment detente
What is the nature of conflict?
Back to top
View user's profile Send private message
killerwhile
Tux's lil' helper
Tux's lil' helper


Joined: 16 May 2005
Posts: 130
Location: Switzerland

PostPosted: Tue Mar 21, 2006 8:34 pm    Post subject: Reply with quote

Ah, excellente réponse ;)

Tu ne vas pas le regretter.

Pour google, en réponse un peu tard, oui ils utilisent du python. Pas pour leur base de données, mais pour la gestion des algorithme de ranking.
Back to top
View user's profile Send private message
Trevoke
Advocate
Advocate


Joined: 04 Sep 2004
Posts: 4099
Location: NY, NY

PostPosted: Tue Mar 21, 2006 8:45 pm    Post subject: Reply with quote

Bien, bien.

Alors, euh, je pense que je vais ouvrir une page sourceforge pour le projet, y a quelqu'un qui est doue en HTML? .. :)

(note : quand je dis "doue en HTML", je veux juste dire quelqu'un qui peut rendre une page web jolie a voir, quoi...).
_________________
Votre moment detente
What is the nature of conflict?
Back to top
View user's profile Send private message
killerwhile
Tux's lil' helper
Tux's lil' helper


Joined: 16 May 2005
Posts: 130
Location: Switzerland

PostPosted: Tue Mar 21, 2006 9:11 pm    Post subject: Reply with quote

mediawiki ?

c'est pratique et joli ;)
Back to top
View user's profile Send private message
Trevoke
Advocate
Advocate


Joined: 04 Sep 2004
Posts: 4099
Location: NY, NY

PostPosted: Tue Mar 21, 2006 9:23 pm    Post subject: Reply with quote

<--- Completement inculte quand on en vient a l'art du site web.

En plus il faut un nom pour le projet et je seche a mort.
_________________
Votre moment detente
What is the nature of conflict?
Back to top
View user's profile Send private message
killerwhile
Tux's lil' helper
Tux's lil' helper


Joined: 16 May 2005
Posts: 130
Location: Switzerland

PostPosted: Tue Mar 21, 2006 9:25 pm    Post subject: Reply with quote

1-2 idées :

* goforit
* goal(l)
* gottéron
Back to top
View user's profile Send private message
killerwhile
Tux's lil' helper
Tux's lil' helper


Joined: 16 May 2005
Posts: 130
Location: Switzerland

PostPosted: Tue Mar 21, 2006 9:29 pm    Post subject: Reply with quote

ou alors utiliser le g pour gentoo et le o pour quelque chose d'autre
Back to top
View user's profile Send private message
Trevoke
Advocate
Advocate


Joined: 04 Sep 2004
Posts: 4099
Location: NY, NY

PostPosted: Tue Mar 21, 2006 9:30 pm    Post subject: Reply with quote

Quelqu'un m'a propose Go-voke.

C'est un peu pretentieux vu que je pense que je ne serai pas le seul developpeur, mais c'est vrai que c'est sympa comme nom.. facile a lire, dire, utiliser.. Personne d'autre ne le prendra.. Vous en pensez quoi vous?
_________________
Votre moment detente
What is the nature of conflict?
Back to top
View user's profile Send private message
killerwhile
Tux's lil' helper
Tux's lil' helper


Joined: 16 May 2005
Posts: 130
Location: Switzerland

PostPosted: Tue Mar 21, 2006 9:46 pm    Post subject: Reply with quote

oui, ca va bien dans l'idée et comme tu es l'initiateur, je ne trouve pas que c'est tellement prétentieux (pas plus que linux ;))
Back to top
View user's profile Send private message
yoyo
Bodhisattva
Bodhisattva


Joined: 04 Mar 2003
Posts: 4273
Location: Lyon - France

PostPosted: Wed Mar 22, 2006 7:56 am    Post subject: Reply with quote

Je suis cette "conversation" depuis le départ avec intérêt. Et si mon niveau en programmation ne me permet pas de participer ( :( ) j'ai un nom qui me vient en lisant :
killerwhile wrote:
ou alors utiliser le g pour gentoo et le o pour quelque chose d'autre

GoG, soit Go on Gentoo. Mais je ne sais pas si le nom est déjà pris.

Sinon, Go-voke est bien également. Et il pourrait y avoir une fonction equi-voke qui équilibrerait les niveaux des joueurs en fonction de leurs précédents résultats. :roll:

Mes 0.02 cents.
_________________
La connaissance s'accroît quand on la partage.
JCB
Back to top
View user's profile Send private message
Trevoke
Advocate
Advocate


Joined: 04 Sep 2004
Posts: 4099
Location: NY, NY

PostPosted: Wed Mar 22, 2006 1:33 pm    Post subject: Reply with quote

*chuckle*
Oui, bon.. Vu que personne ne s'en est plaint (et que les plaintes viennent plus vite que les compliments), j'ai cree le projet sur sourceforge :)
Yoyo, le nom est une bonne idee, mais j'espere que ca ne sera pas limite a Gentoo.. Et peut-etre meme (!!) pas seulement developpe sur Gentoo.

http://sourceforge.net/projects/go-voke/

Maintenant il n'y a plus qu'a savoir qui veut m'aider a developper.. :)

Je pense qu'il va nous falloir
- Python
- C / C++
- Webpage (bon, c'est relativement important quand meme.. heh)
- Recherche

Tout ca peut se recouper evidemment..

Et dans le futur, peut-etre meme qu'on voudra une interface graphique (des fois qu'on le developpe en vrai client pour KGS, etc etc..).

Alors.. Qui est avec moi? Yoyo, a propos, ne dis pas que tes connaissances en programmation ne te permettent pas de participer, j'ai l'intention d'apprendre le Python pour ce projet (et peut-etre le LISP dans le futur, d'ailleurs).. :)
_________________
Votre moment detente
What is the nature of conflict?
Back to top
View user's profile Send private message
sireyessire
Advocate
Advocate


Joined: 20 Mar 2003
Posts: 2991
Location: back in Paris, France

PostPosted: Wed Mar 22, 2006 4:06 pm    Post subject: Reply with quote

Trevoke wrote:

Je pense qu'il va nous falloir
- Python
- C / C++
- Webpage (bon, c'est relativement important quand meme.. heh)
- Recherche


le C/C++ est plutôt absent de ta page sourceforge. En la lisant (en tout cas en début d'aprem heure fr) l'accent est fortement mis sur plateform independent & Python
un oubli?
_________________
I never think of the future. It comes soon enough.
Albert Einstein

Try simpler first
Shockley
Back to top
View user's profile Send private message
kwenspc
Advocate
Advocate


Joined: 21 Sep 2003
Posts: 4954

PostPosted: Wed Mar 22, 2006 4:11 pm    Post subject: Reply with quote

j'imagine de toute façon que le C/C++ viendra après validation de certains algorithme en python, juste pour gagner en performances quoi.
enfin bref.

Moi si j'ai le temps dans quelques jours je pourrais me joindre au projet, mais sans doute pas à plein temps (j'ai déjà tellement d'autres trucs). Enfin pour aider un chtit poil je dis pas non (si mon aide vaut quelque chose...)
_________________
membre officieux du SAV Ati GEntoo
Back to top
View user's profile Send private message
Trevoke
Advocate
Advocate


Joined: 04 Sep 2004
Posts: 4099
Location: NY, NY

PostPosted: Wed Mar 22, 2006 4:12 pm    Post subject: Reply with quote

Presque un oubli.

Le code sera en Python, mais je ne sais pas si on aura besoin de creer des modules pour certaines taches ou non. Si je m'ecoutais, je mettrais C++ et LISP sur la page, juste pour etre sur.. Je peux changer toutes ces infos sur la page de toute facon.
J'ai prefere rester minimaliste, quitte a ajouter quelque chose plus tard.
_________________
Votre moment detente
What is the nature of conflict?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Goto page Previous  1, 2, 3, 4  Next
Page 2 of 4

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum