begin process at 2010 03 21 17:38:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

J'AI BESOIN D'AIDE !!!! :O

 > 

TPE I.A


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

TPE I.A

vendredi 12 novembre 2004 à 21:58:30 | TPE I.A

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
vendredi 12 novembre 2004 à 22:54:38 | Re : TPE I.A

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
samedi 13 novembre 2004 à 11:12:06 | Re : TPE I.A

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 ...
samedi 13 novembre 2004 à 11:57:30 | Random : Attention.

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
samedi 13 novembre 2004 à 12:37:19 | Re : TPE I.A

japee

Membre Club Administrateur CodeS-SourceS
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 !
mardi 16 novembre 2004 à 16:10:56 | Re : TPE I.A

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


Cette discussion est classée dans : delphi, contenu, personnage, phrase, tpe


Répondre à ce message

Sujets en rapport avec ce message

clic sur un mot, une phrase en delphi [ par papillotte ] Papillotte j'aimerais savoir s'il est possible de recuperer (selectionner) le mot lors d'un clic sur ce mot , et lo le maitrise des fichier sous delphi [ par kaderkimo ] salut a tous mon problem est :    j'ai plusieurs fichier text qui contien des mots.  et j'est une phrase a l'entrer chaque mot  de cette phrase appa Envoyer le contenu d'un TEdit dans un TStringGrid [ par saravana ] slt a tous je suis nouveau en delphi et jai un ptit problèm je cherche le code pour que le contenu dun edit soit envoyé dans un tstringgrid sachant qu défi en delphi [ par silverdelphi ] Bonjour à tous.Après des mois d'essais infructueux, j'aimerais envoyer un défi à tous programmaurs en Delphi.Mon défi à l'air très très bête et très t modifier le contenu d'un .txt (fichier texte) [ par JackNUMBER ] bonjour à tous, j'aurai voulu savoir comment faire (quels scripts utiliser) pour que le texte d'un memo (memo1) soit copier/coller dans le fichier tex [2005] Composants de Delphi 7 non disponibles dans 2005 [ par nitrique ] Bonjour @ tous, J'ai fait un projet, compilé sous Delphi 7 et lorsque je veux l'ouvrir avec Delphi 2005, il me met: "Classe tdatasource non trouvée .. utilisation de in ['A'..'Z','a'..'z'] dans delphi [ par jlp_alexandre ] Je vais poser la question autrement :// cDonne est déclarée :var cDonnee : string;// cCar est déclarée :var cCar : char;//A un moment, cDonnee contien Communication entre automate et Delphi via Socket TCP [ par difficile ] Déjà une petite description de mon application : Dans le programme Delphi des requètes sont envoyées toutes les 0.5 s à mon automate pour connaitre l' CoolTrayIcon sous delphi 2005 [ par Yil2201 ] Salut je n'arrive pas installer CoolTrayIcon sous delphi 2005, est-ce possible ou bien je m'y prends mal sinon comment s'y prendre pour le faire ?Merc Fenêtre dans dans une form sous delphi [ par Francky23012301 ] Salut à tous J'ai besoin d'aide pour une petite application que je programme sous Delphi. Voilà imaginer une form qui contient deux boutons "DOS" et


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales