From 0a42530ff8abb97f813cb59361d21580bbe67562 Mon Sep 17 00:00:00 2001 From: maberet <maberet@ada.local.isima.fr> Date: Wed, 29 Jun 2022 11:36:57 +0200 Subject: [PATCH] =?UTF-8?q?=20commit=20pour=20r=C3=A9cup=20des=20fonctions?= =?UTF-8?q?=20lagrange?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jeu_appren_par_renfo/src/qlearn.c | 28 +++++++++++++++++-- .../jeu_appren_par_renfo/src/qlearn.h | 6 ++++ 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/travail_de_groupe/jeu_appren_par_renfo/src/qlearn.c b/travail_de_groupe/jeu_appren_par_renfo/src/qlearn.c index 9b06103..aabe304 100644 --- a/travail_de_groupe/jeu_appren_par_renfo/src/qlearn.c +++ b/travail_de_groupe/jeu_appren_par_renfo/src/qlearn.c @@ -6,7 +6,7 @@ agent_t * initAgent (){ printf("erreur alloc\n "); exit (1); } - agent->x=(16+rand()%16)*BLOCK_SIZE; + agent->x=(16+rand()%14)*BLOCK_SIZE; agent->y=(1+rand()%14)*BLOCK_SIZE; agent->high=2*BLOCK_SIZE; agent->weight=2*BLOCK_SIZE; @@ -92,7 +92,6 @@ float ***** allocateAndInitiateQ(){ return q; } -// attention il manque 3 lignes void writeQ(float *****Q){ int i, j, k, l, m ; FILE * fp = fopen("q.txt", "w+"); @@ -247,6 +246,29 @@ int setReward(int xAgent, int yAgent, int dropZone){ reward=1; } return (reward); -} +} + +float defineAngle (int xCanon, int yCanon , int xDropPoint, int yDropPoint){ + float distance; + float angleSin; + distance= sqrtf( powf((float)(xDropPoint-xCanon),2)+powf((float)(yDropPoint-yCanon),2)); + angleSin = asinf(distance/(xDropPoint-xCanon)); + return angleSin; +} + +void traningAgent ( int numberRun, int numberStep, float *****Q) { + int i ; + int action; + point_t canon ; + point_t dropPoint ; + + while (numberRun>0){ + canon=initPoint(0); + dropPoint= initPoint(1); + for (i=0; i< numberStep;i++){ + + } + } +} diff --git a/travail_de_groupe/jeu_appren_par_renfo/src/qlearn.h b/travail_de_groupe/jeu_appren_par_renfo/src/qlearn.h index 15cf277..48b0f6e 100644 --- a/travail_de_groupe/jeu_appren_par_renfo/src/qlearn.h +++ b/travail_de_groupe/jeu_appren_par_renfo/src/qlearn.h @@ -37,6 +37,12 @@ typedef struct line { }line_t,*ptline_t; +typedef struct point{ + int x; + int y; +} point_t ; + + agent_t* initAgent ( ); void moveAgent(agent_t * agent, int choice); float ***** allocateAndInitiateQ(); -- GitLab