View previous topic :: View next topic |
Author |
Message |
kwenspc Advocate
Joined: 21 Sep 2003 Posts: 4954
|
Posted: Sat Mar 18, 2006 8:05 pm Post subject: |
|
|
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 |
|
|
killerwhile Tux's lil' helper
Joined: 16 May 2005 Posts: 130 Location: Switzerland
|
Posted: Mon Mar 20, 2006 10:47 am Post subject: |
|
|
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 |
|
|
kwenspc Advocate
Joined: 21 Sep 2003 Posts: 4954
|
Posted: Mon Mar 20, 2006 11:20 am Post subject: |
|
|
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 |
|
|
killerwhile Tux's lil' helper
Joined: 16 May 2005 Posts: 130 Location: Switzerland
|
Posted: Mon Mar 20, 2006 11:37 am Post subject: |
|
|
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 |
|
|
Trevoke Advocate
Joined: 04 Sep 2004 Posts: 4099 Location: NY, NY
|
Posted: Mon Mar 20, 2006 5:02 pm Post subject: |
|
|
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 |
|
|
kwenspc Advocate
Joined: 21 Sep 2003 Posts: 4954
|
Posted: Mon Mar 20, 2006 5:25 pm Post subject: |
|
|
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
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 |
|
|
Trevoke Advocate
Joined: 04 Sep 2004 Posts: 4099 Location: NY, NY
|
Posted: Mon Mar 20, 2006 8:38 pm Post subject: |
|
|
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 |
|
|
killerwhile Tux's lil' helper
Joined: 16 May 2005 Posts: 130 Location: Switzerland
|
Posted: Mon Mar 20, 2006 8:50 pm Post subject: |
|
|
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 |
|
|
Trevoke Advocate
Joined: 04 Sep 2004 Posts: 4099 Location: NY, NY
|
Posted: Mon Mar 20, 2006 9:25 pm Post subject: |
|
|
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 |
|
|
Tsukusa Tux's lil' helper
Joined: 01 Aug 2004 Posts: 133
|
Posted: Tue Mar 21, 2006 12:17 am Post subject: |
|
|
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 |
|
|
Trevoke Advocate
Joined: 04 Sep 2004 Posts: 4099 Location: NY, NY
|
Posted: Tue Mar 21, 2006 2:03 pm Post subject: |
|
|
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 |
|
|
Trevoke Advocate
Joined: 04 Sep 2004 Posts: 4099 Location: NY, NY
|
Posted: Tue Mar 21, 2006 8:26 pm Post subject: |
|
|
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 |
|
|
killerwhile Tux's lil' helper
Joined: 16 May 2005 Posts: 130 Location: Switzerland
|
Posted: Tue Mar 21, 2006 8:34 pm Post subject: |
|
|
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 |
|
|
Trevoke Advocate
Joined: 04 Sep 2004 Posts: 4099 Location: NY, NY
|
Posted: Tue Mar 21, 2006 8:45 pm Post subject: |
|
|
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 |
|
|
killerwhile Tux's lil' helper
Joined: 16 May 2005 Posts: 130 Location: Switzerland
|
Posted: Tue Mar 21, 2006 9:11 pm Post subject: |
|
|
mediawiki ?
c'est pratique et joli |
|
Back to top |
|
|
Trevoke Advocate
Joined: 04 Sep 2004 Posts: 4099 Location: NY, NY
|
Posted: Tue Mar 21, 2006 9:23 pm Post subject: |
|
|
<--- 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 |
|
|
killerwhile Tux's lil' helper
Joined: 16 May 2005 Posts: 130 Location: Switzerland
|
Posted: Tue Mar 21, 2006 9:25 pm Post subject: |
|
|
1-2 idées :
* goforit
* goal(l)
* gottéron |
|
Back to top |
|
|
killerwhile Tux's lil' helper
Joined: 16 May 2005 Posts: 130 Location: Switzerland
|
Posted: Tue Mar 21, 2006 9:29 pm Post subject: |
|
|
ou alors utiliser le g pour gentoo et le o pour quelque chose d'autre |
|
Back to top |
|
|
Trevoke Advocate
Joined: 04 Sep 2004 Posts: 4099 Location: NY, NY
|
Posted: Tue Mar 21, 2006 9:30 pm Post subject: |
|
|
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 |
|
|
killerwhile Tux's lil' helper
Joined: 16 May 2005 Posts: 130 Location: Switzerland
|
Posted: Tue Mar 21, 2006 9:46 pm Post subject: |
|
|
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 |
|
|
yoyo Bodhisattva
Joined: 04 Mar 2003 Posts: 4273 Location: Lyon - France
|
Posted: Wed Mar 22, 2006 7:56 am Post subject: |
|
|
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.
Mes 0.02 cents. _________________ La connaissance s'accroît quand on la partage.
JCB |
|
Back to top |
|
|
Trevoke Advocate
Joined: 04 Sep 2004 Posts: 4099 Location: NY, NY
|
Posted: Wed Mar 22, 2006 1:33 pm Post subject: |
|
|
*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 |
|
|
sireyessire Advocate
Joined: 20 Mar 2003 Posts: 2991 Location: back in Paris, France
|
Posted: Wed Mar 22, 2006 4:06 pm Post subject: |
|
|
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 |
|
|
kwenspc Advocate
Joined: 21 Sep 2003 Posts: 4954
|
Posted: Wed Mar 22, 2006 4:11 pm Post subject: |
|
|
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 |
|
|
Trevoke Advocate
Joined: 04 Sep 2004 Posts: 4099 Location: NY, NY
|
Posted: Wed Mar 22, 2006 4:12 pm Post subject: |
|
|
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 |
|
|
|