Nos activités

Compte rendu des 28es Journées Francophones d’Ingénierie des Connaissances IC

Par Catherine Roussey, Irstea centre de Clermont-Ferrand.

Organisée chaque année depuis 1997 sous l’égide du GRACQ (Groupe de Recherche en Acquisition des Connaissances) puis du collège IC de l’AFIA, les journées francophones d’Ingénierie des
Connaissances (IC) constituent un lieu d’échanges et de réflexions de la communauté francophone académique et industrielle sur les concepts, méthodes et techniques permettant de modéliser,
d’acquérir et de traiter les connaissances dans des domaines d'application variés. Lire la suite

Compte-rendu des 11es JFPDA

Les Journées Francophones sur la Planification, la Décision et l’Apprentissage pour la conduite de systèmes (JFPDA) ont pour but de rassembler la communauté de chercheurs francophones travaillant sur les problèmes d’intelligence artificielle, d’apprentissage par renforcement, de programmation dynamique et plus généralement dans les domaines liés à la prise de décision séquentielle sous incertitude et à la planification. Les travaux présentés traitent aussi bien d’aspects purement théoriques que de l’application de ces méthodes à la conduite de systèmes virtuels (jeux, simulateurs) et réels (robots, drones). Ces journées sont aussi l’occasion de présenter des travaux en cours de la part de doctorants, postdoctorants et chercheurs conformés dans un cadre laissant une large place à des discussions constructives et bienveillantes.
Une liste (non exhaustive) des thèmes abordés aux JFPDA est la suivante :

  • processus décisionnels de Markov, totalement ou partiellement observables, factorisés ou hiérarchiques, centralisés ou décentralisés,
  • programmation Dynamique approchée (ADP), apprentissage par renforcement (RL)
  • planification
  • contrôle de systèmes continus ou discrets, réels ou simulés, mono ou multiagents,
  • approches d’inspiration biologique
  • applications et confrontations au monde réel

Date: 19 Septembre 2017

Lieu: Caen

PDIA 2017

L’Association Française pour l’Intelligence Artificielle (AFIA) organise sa quatrième journée PERSPECTIVES ET DEFIS DE l’IA sur le thème : OUTILS LOGICIELS POUR L’IA.

De nombreux outils, logiciels, bibliothèques ont été créés par et pour la recherche et le développement en IA. Ils participent à ses progrès et à son expansion. La journée vise à en dresser un panorama, à travers exposés et démonstrations.

Cette journée s’est tenu en partenariat avec la Direction Générale de la Recherche et de l’Innovation (DGRI) du MESRI et avec la Direction Générale des Entreprises (DGE) du MINEF.

Cet événement a été organisé par Pierre Zweigenbaum (CNRS Orsay), Catherine Faron-Zucker (Université Nice-Sophia Antipolis) et Engelbert Mephu Nguifo (Université Clermont Auvergne) pour l’Association Française d’Intelligence Artificielle (AFIA). Le compte rendu de la journée peut être téléchargé ici.

Lire la suite

Journée RO&IA 2017

Le Collège Représentation et Raisonnement de l’Association Française pour l’Intelligence Artificielle (AFIA) et la Société Française de Recherche Opérationnelle et d’Aide à la Décision (ROADEF) organisent la quatrième journée RECHERCHE OPERATIONNELLE et INTELLIGENCE ARTIFICIELLE le 18 Septembre 2017 à Paris.

L’objectif de ces journées est de rassembler les communautés de l’IA et de la RO et d’échanger autour de problématiques, de techniques et de concepts communs. Ainsi, la journée se focalisera cette année sur l’enrichissement mutuel entre RECHERCHE OPERATIONNELLE, L’APPRENTISSAGE ET LA FOUILLE DE DONNEES.

Lire la suite

Bot Contest 2017 – Développement

 Développement

Pour participer à la compétition, vous devrez développer un bot pour le jeu Unreal Tournament 2004 (UT2004) qui utilise l’interface GameBots2004. Vous pouvez développer votre programme en utilisant le langage de programmation et l’IDE que vous souhaitez, tant que le programme utilise l’interface GameBots2004 et s’exécute sous Windows 10. Un IDE simple à utiliser est Pogamut.

La compétition utilisera la version de GameBots2004 qui est fournie avec Pogamut 3.7.0.

A. Si vous choisissez d’utiliser Pogamut, voici les étapes à suivre pour l’installation :

Avant de commencer l’installation il est recommandé de modifier les paramètres de contrôle de compte d’utilisateur en choisissant l’option « Ne jamais m’avertir ». Vous devrez redémarrer votre ordinateur.
A la fin de l’installation, n’oubliez pas de remettre le paramètre par défaut.
L’installation est expliquée dans cette vidéo :

Description des étapes d’installation :

  1. Java JDK 1.7

    • Vous pouvez télécharger le JDK à partir de cette page.
    • Dans les fichiers de l’installation, trouvez de dossier nommé bin. Ajoutez le chemin vers ce dossier (exemple : C:\Program Files\Java\jdk1.7.0_79\bin) à la variable d’environnement Path.
    • Créez une nouvelle variable d’environnement JAVA_HOME avec le chemin vers le dossier jdk (exemple : C:\Program Files\Java\jdk1.7.0_79).
  2. Maven

    • Récupérez l’archive zip (.zip) à partir de cette page.
    • Copiez les fichiers de l’archive dans un nouveau dossier comme par exemple : C:\Program Files\Maven)
    • Ajoutez le chemin vers le dossier bin (exemple : C:\Program Files\Maven\bin) dans la variable d’environnement Path.
  3. NetBeans 7.4

  4. Unreal Tournament 2004 (Editor’s choice edition)

    • Ce jeu est un FPS (jeu de tir à la première personne) qui est livré avec son propre langage de script : UnrealScript. Ceci permet de modifier le jeu très facilement.
    • Vous pouvez obtenir le jeu en ligne sur Steam ou GOG pour moins de 15€.
  5. Pogamut

    • Téléchargez le Pogamut UT2004 Installer 3.7.0 sur cette page.
    • Exécutez une invite de commandes en tant qu’administrateur et allez à l’endroit où se trouve le fichier téléchargé grâce à la commande cd.
    • Entrez la commande : java -jar nomdufichier.jar
    • Précédez à l’installation.
      ⚠ Décochez Maven puisqu’il a été installé précédemment. ⚠
    • Une fois l’installation terminée, vous pouvez exécuter NetBeans en tant qu’administrateur et attendez que le pluging soit ajouté.

 

B. Comment lancer un bot ?

Un tutoriel est disponible ici. Attention ce dernier n’est peut-être pas à jour.

  • Dans NetBeans, cliquez sur File puis New Project...
  • Choisissez Maven and Project from Archetype puis cliquez sur Next.
  • Une fois que les archétypes sont chargés, choisissez 00-empty-bot-archetype et cliquez sur Next.
  • Vous pouvez changer le nom et la localisation du projet si vous le souhaitez puis cliquez sur Finish.
  • S’il y a des problèmes dans le projet, fermez la fenêtre et effectuez un « Clean and build », ceci devrait corriger les erreurs.
  • Après un moment vous devriez obtenir un « BUILD SUCCESS ».
  • Il est maintenant temps d’exécuter votre Serveur. Une solution est de lancer le fichier .bat « startGamebotsDMServer.bat » situé dans votre installation de Pogamut (exemple : C:\Program Files\Pogamut – UT2004 Edition) ou dans le dossier « System » de votre installation d’UT2004 (C:\GOG Games\Unreal Tournament 2004\System).
    Vous pouvez aussi créer votre propre ficher .bat, (plus d’informations sont données ici). Ceci vous permet de lancer différentes cartes par exemple.
    Voici une liste de noms de cartes :

  • Dans NetBeans, allez sur l’onglet Services. Faite un clic droit sur UT2004 Servers et choisissez Add server.
  • Dans la propriété URI, mettez localhost et fermez la fenêtre.
  • Vous pouvez maintenant lancer votre projet (F6), ceci connectera votre bot au serveur.
  • Pour voir la carte du jeu dans NetBeans, vous pouvez effectuer un clic droit sur le serveur que vous avez ajouté puis cliquez sur Show Map.

 

C. Il est maintenant temps de développer votre propre bot !

  • Dans un premier temps nous vous invitons à étudier le code de la classe EmptyBot du projet 00-empty-bot-archetype. Vous pouvez consulter la documentation de la classe dont elle hérite : UT2004BotModuleController et suivre ce tutoriel.
  • Après avoir bien compris comment ce simple bot fonctionne, vous pouvez analyser les autres projets de l’archétype disponibles. Nous vous recommandons de suivre le tutoriel pour le01-responsive-bot-archetype et que vous appreniez à utiliser les modules pour les capteurs et commandes avec ce tutoriel : Chapter 10. Pogamut sensor and command modules – the basics .
  • La documentation de Pogamut est disponible ici et toutes les classes peuvent être trouvées sur cette page.

 

D. ⚠ Connecter votre bot à un serveur

Il est important que votre bot puisse se connecter à nimporte quel serveur en lui spécifiant une adresse IP et un port.
Si vous utilisez Pogamut, modifiez la fonction main de la façon suivante :

public class YourClass extends UT2004BotModuleController {

    [votre code ...]

    public static void main(String[] args) throws PogamutException {
        
        String host = "localhost";
        int port = 3000;

        if (args.length > 0)
        {
            host = args[0];
        }
        if (args.length > 1)
        {
            String customPort = args[1];
            try
            {
                port = Integer.parseInt(customPort);
            }
            catch (Exception e)
            {
                System.out.println("Invalid port. Expecting numeric. Resuming with default port: "+port);
            }
        }

        while (true)
        {
            try
            {
                UT2004BotRunner runner = new UT2004BotRunner(YourClass.class, "Nom_de_votre_Equipe", host, port);
                runner.setMain(true);
                runner.setLogLevel(Level.OFF);
                runner.startAgent();
                Thread.sleep(1500);
            }
            catch (ComponentCantStartException e)
            {
                Throwable cause = e.getCause();
                if (cause instanceof ConnectionException)
                {
                    System.out.println("Connection to server failed... retrying");
                    e.printStackTrace();
                }
                else if (cause instanceof BusStoppedInterruptedException)
                {
                    e.printStackTrace();
                    System.out.println("Aborting...");
                    break;
                }
                else
                {
                    e.printStackTrace();
                    System.out.println("Some other cause for ComponentCantStartException... retrying");
                }
            }
            catch (Exception e)
            {
                e.printStackTrace();
                System.out.println("Some other exception... retrying");
            }
        }
    }
}

E. Comment livrer votre bot ?

  • Avant de déposer votre bot, assurez-vous qu’il fonctionne correctement en dehors de NetBeans. Voici les étapes à suivre pour effectuer cette vérification :
    1. Builder le projet (avec les dépendances !)
      Changer la configuration de NetBeans en allant dans : File / Project Properties / Actions et sélectionez Build with Dependencies puis cliquer sur OK.
    2. Créer un dossier quelque part (le bureau par exemple).
    3. Dedans, y mettre le fichier nomdufichier.one-jar.jar ainsi que tous les fichiers dont le bot a besoin pour fonctionner (cf image).
    4. Modifier le fichier GameBots2004.ini dans le dossier System de l’installation de Unreal Tournament 2004 en remplaçant la ligne :
      bRandomPorts=False
      par :
      bRandomPorts=True
    5. Démarrer un Serveur (par exemple avec le fichier startGamebotsDMServer.bat du dossier System)
    6. Repérer le ligne :
      BotServerPort:XXXXX ControlServerPort:XXXXX ObservingServerPort:XXXXX
      Et copier la valeur de BotServerPort.
    7. Ouvrir une fenêtre de commande dans le dossier créer à l’étape 2
    8. Executer la commande :
      java -jar nomdufichier.one-jar.jar adresseIPduServer BotServerPort
      si le bot et le serveur tournent sur la même machine alors on a :
      java -jar nomdufichier.one-jar.jar 127.0.0.1 XXXXX
  • Pour déposer votre bot, il vous suffit de créer un compte puis de suivre les indications.

Bot Contest 2017 – F.A.Q.

F.A.Q.

Q1 – Quel mode de UT2004 est utilisé ?

Le DeathMatch mode sera utilisé pour la compétition.

Q2 – Les parties seront à combien de joueurs ?

Le nombre de joueurs par partie peut varier. Cependant, il n’y aura pas d’équipes donc pas de collaborations possibles, c’est chacun pour soi.

Q3 – Quelle carte sera utilisée pour la compétition ?

Votre bot devra jouer sur plusieurs cartes. Il doit donc être capable de s’adapter à l’environnement. Les cartes peuvent être des cartes présentes dans le jeu ou des cartes importées.

Q4 – L’adrénaline sera-t-elle disponible ?

Non, l’utilisation de l’adrénaline sera désactivée. Elle sera présente sur les cartes et pourra être ramassée mais ne pourra pas être utilisée.

Q5 – Faut-il avoir un meilleur score que l’adversaire ?

Nous ne prendrons pas en compte les scores de votre bot pour la compétition. Il ne s’agit pas de développer un bot performant mais un bot qui se confond avec les humains.

Q6 – Comment est-ce-que le bot sera observé ?

La compétition sera composée de plusieurs phases pouvant avoir des modes d’observation différents. Par exemple, les juges pourront évaluer les bots en jouant directement contre eux. Ils pourront aussi être spectateurs et observer les joueurs via différents points de vue.

N’hésitez pas à nous poser vos questions à l’adresse competition@afia.asso.fr.

Bot Contest 2017 – Résultats

Équipes inscrites

 

Equipes Membres Affiliations Qualifiés en finale Prix remportés Présentations
La Communauté de Nao Sebastien Vallet
Swan Blanc
Université de Savoie Mont-Blanc 2ème prix
A HUMAN GUY Paco Dupont
Rémi Sahl
Axel Chauvin
CERV 1er prix &
Prix coup de cœur du public
PDF
AOP Andreea-Oana Petac CERV 3ème prix PDF
Lepsis_Team Jean-Michel Auberlet
Nicolas Goureau
IFSTTAR PDF
Runners Jean-Baptiste Sarazin
Jeremy Romé
Romain Tardy
Hugo Mathieux
Université Paul Sabatier PDF
Bananium Arnaud Levaufre
Bastien Orivel
ENIB

Journée E&IA 2017

L’AFIA et le COMETS, en association avec la CNIL, organisent une deuxième Journée ÉTHIQUE et INTELLIGENCE ARTIFICIELLE avec pour vocation de croiser les questionnements et les approches, et de créer une communauté de réflexion sur ces sujets.
La question d’une régulation ou d’un contrôle éthique des agents logiciels ou robotiques ainsi que des systèmes constitués d’humains et d’agents autonomes se pose avec de plus en plus de force. Ces questions sont par nature transverses à de multiples disciplines. Le programme de la journée est constitué de présentations invitées et de présentations courtes relatifs à cette problématique.
Cette journée est inscrite au sein de la Plate-Forme Intelligence Artificielle 2017.

Lire la suite