begin process at 2008 08 08 23:22:22
1 223 648 membres
406 nouveaux aujourd'hui
14 230 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : TPE I.A [ Archives / J'AI BESOIN D'AIDE !!!! :O ] (Eb0La)

TPE I.A le 12/11/2004 21:58:30

Eb0La
Bonjour à tous,

J'ai plusieurs questions et problèmes en Delphi. Apres quelques recherches peu fructueuses sur le net, j'ai décidé de venir vous soumettre mes interrogations.

Pour replacer le contexte: Je suis en Terminale S et les TPE (Soutenance, exposé) sont au programme. J'avais, depuis longtemps, envie d'étudié l'Intelligence Artificielle. Le TPE pouvait me permettre d'allié l'utile a l'agréable, puisque un des thèmes directeur est: « La robotique et la cybernétique ».

L'épreuve de TPE (qui conte pour le BAC), doit être agrémenté de "réalisations, productions". J'ai donc décidé de programmer (en Delphi) des "IA".

J'ai une idée principale (pas encore fixée, toute modifications sont possible):

-La réalisation d'un petit personnage (2D) réagirais face a sont environnement (éviter les murs, <les autres fonctions restent encore a définir>, ...).
J'aimerais que les caractéristiques du personnage (sa mémoire, son code génétique) soit contenu dans un fichier (.ini, .txt, ...) a part. Il en serai de même pour son environnement (maps). Enfin, il faudrait charger ces deux donnée dans un exécutable et lancer une simulation.
Le fait de mettre a part les caracterisitiques des personnages me permettra de les modifier facilement et de gérer plusieurs personnages avec des caractersistiques différentes.

J'ai déjà commencé une petite chose, mais tout est contenu dans un seul .exe. Si vous souhaitez jeter un oeil, vous pouvez télécharger les sources ici: http://skate-er.chez.tiscali.fr/IAP.rar

-Je viens donc vous demander votre avis a propos de mon idée de réalisation (comment pourrai-je réaliser mon personnage, fonctions possibles).
-Je suis preneur de toutes idées de réalisations en rapport avec l'I.A.
-Si vous voyez des modification a apporter a mon (tout) début de source, je suis très intéressé.

pour finir, j'ai quelques petites questions:

-Es ce que la fonction "Random" de Delphi est réellement aléatoire ? (j'ai été étonné par certains résultats la de la simulation de mon personnage ... essayez : pas de 1, vitesse de 4, le résultat est étrange).

-Comment faire en sorte qu'une phrase contenu dans une variable soit "découpé" et que l'on puisse reconnaître chaque mots de la phrase (reconnaissance des mots dans une phrase).

Exemple: J'entre une phrase dans une variable puis le prog me dit: Il y a tel mot, puis tel autre dans la phrase ...

Voila, je vous remercie d'avance

PS: Pour me contacter personnellement: Eb0La.controle-technologie@wb.st

Re : TPE I.A le 12/11/2004 22:54:38

vincentstryckmans
Salut Ebola,

Tout d'abord je te souhaite bonne m... . Je n'y connais rien en AI, sauf que c'est pas un jouet de jardin d'enfant.

Pour tes questions, voici :

La fonction Random de Delphi, n'est pas tout à fait aléatoire.
Elle se base sur la date et l'heure du système. de là, un alogritme génère des nombres aléatoires jusqu'au moment où le nième nombre peut égaler le premier.
Pour éviter cela, il est nécessaire d'effecture la fonction randomize (si j'ai bonne mémoire, ma doc est au bureau et je surfe depuis la maison). Cette fonction va recréer un nouvel algoritme de génération de nombre aléatoire.

Bref pour être complètement aléatoire, chaque nombre généré par random devrait être précédé de randomize.


Pour ta recherche de mot dans une phrase, les diverses fonctions ANSI pour les textes peuvent t'aider.

Pour ma part, j'utilise un découpage de chaîne de caractères en insérant un symbôle que je ne sais n'avoir jamais besoin. Je m'explique :

L'appli que j'écris permet d'analyser les incidents survenus au sein du réseau ferré de Belgique.
Les diverses entités qui pourraient être impliquées dans l'incident sont codifiées par un nombre et un certain pourcentage d'implication puevent leur être attribué. Je codifie le tout comme suit :

\4/50\9/10\8/40

L'entité 4 est impliquée à 50 %, la 9 à 10% et la 8 à 40%.

Dans le code, je lis pas à pas la positions des \ , je découpe la chaîne en 4/50 9/10 8/40 et recherche ensuite la position des / pour différencié le numéro de l'entité et le %.

C'est pratique à la condition que ton caractère séparateur n'ait pas uhne signification dans ton texte. Dans ce cas, tu peux dédouble le séparateur s'il doit être considéré comme texte et non pas comme séparateur. Un peut comme '' dans une chaîne de caractère pour diere au compilateur qu'il s'agit du symbôle ' et non pas du terminateur de chaîne.

Si j'ai pas été clair, dis le.

@ +

Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.

Vincent Stryckmans

Re : TPE I.A le 13/11/2004 11:12:06

Eb0La
Merci pour ta réponse,

Je vais donc me pencher sur la fonction "Randomize". Sinon, pour mon "découpage" de phrase, il faudrait qu'il soit fait selon les espaces (Es ce possible ? Comment puis-je realiser cela ?).

Au niveau de mon TPE, l'I.A est trop vaste et trop compliqué pour être étudié en détails. Je souhaite faire une soutenance ciblé sur un point particulier de l'I.A. Rien ne m'empeche de faire quelque chose de simple.

@+


PS: je n'est pas bien compris cela:
"Tout d'abord je te souhaite bonne m... . Je n'y connais rien en AI, sauf que c'est pas un jouet de jardin d'enfant."

PS (bis): je ne met pas encore "reponse acceptée !" pour ammener d'autres visiteurs à exposer leurs points de vue, idées de réalisation,etc ...

Random : Attention. le 13/11/2004 11:57:30

florenth
Membre Club
Oui, random utilise l'heure systeme pour generer des nombres aléatoires.
Mais il est bien mentionné que randomize ne doit être appele qu'une fois dans tout le programme. C'est dit dans l'aide de delphi.

Mais fait un test avec RandomRange(0,1000) et compares tous ces nombres, je peut te dire que rares sont ceux qui sont égaux ... sauf si tu génere plus de 1000 nombres ...

Florent

Si tu ne te plantes pas ......
tu ne poussera jamais

Re : TPE I.A le 13/11/2004 12:37:19

japee
Membre Club
(Admin CS)
Exemple concret de l'utilisation de Randomize.

Simulation du résultat d'un jet de dé :

var Num: Integer;
begin
Randomize;
Num := Random(6) + 1; // résultat aléatoire de 1 à 6 compris
Label1.Caption := IntToStr(Num);
end;


J'avais fait une étude statistique des résultats obtenus. C'était , à mon avis largement suffisamment aléatoire, et tout à fait satisfaisant pour mon petit jeu de Yam ;)

Bon courage.

N'oubliez pas de valider "Réponse acceptée" si ça vous convient, de toute manière vous ne pouvez pas valider autre chose !

Re : TPE I.A le 16/11/2004 16:10:56

divadav
Membre Club
Salut !!

Sympa ton petit développement !!


Il y a bien quelques fonctions assez simples à coder, qui permettraient d'étudier une IA...

Il suffirait de construire une sorte de labyrinthe qui constituerait l'univers du perso. [ce que tu veux faire, je crois]

Au lieu de faire bouger ton personnage de manière aléatoire, le code génétique de ton perso pourrait être composé de l'ordre de base dans lequel les mouvements sont fait + du pourcentage de déplacements aléatoires du perso.

Ainsi, tu pourra créer facilement plusieurs perso et étudier leur comportement dans le labyrinthe (arrivent-ils à sortir ? en combien de mouvement ? etc...)

Ce n'est qu'un exemple de codage basique. La (très) grosse difficultée d'une IA est sa capacité d'apprentissage... Et là tout de suite comme ça, je sais pas trop quoi lui apprendre, et comment...

D'autant plus que l'apprentissage doit-être assez rapide si tu veux pouvoir faire une démo pdt tes TPE...

En tout cas, le projet est intéressant...


Keep Cool & Be Wild
Divad
Pour me contacter : forum@laumaille.net


Classé sous : delphi, contenu, personnage, phrase, tpe

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS