Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003

    Aiuto algoritmo simulazione IA

    Il mio prof di programmazione ha deciso simpaticamente di darci come progetto di fine anno il seguente testo:

    Simulare la vita di un robottino che si muove all'interno di una matrice quadrata. Il movimento deve essere casuale e bisogna che la procedura di spostamento sia ricorsiva. Il robottino all'interno della matrice può trovare degli ostacoli (che deve vedere fino ad una certa distanza , supponiamo di due caselle) contro i quali non deve andare a sbattere; all'interno della matrice è possibile anche trovare delle caselle "cibo" che il robottino mangerà solo se la sua vitalità scende al di sotto di un livello minimo, altrimenti tali caselle saranno evitate come fossero ostacoli. Inoltre il robot deve "ricordare" almeno le ultime 5 mosse fatte (memorizzate in una lista) per non ritornare sui suoi passi a meno che non si ritrovi in un vicolo cieco; di queste ultime 5 mosse effettuate deve anche ricordarsi in ogni casella cosa ha "visto" (ostacoli o cibo). E poi tanto per semplificare la cosa, si introduce un bersaglio verso il quale il robottino deve dirigersi, scegliendo la strategia di azione più breve e veloce. Sono ammesse variazioni al percorso nel caso in cui il robottino abbia bisogno di "nutrirsi", valutando se valga la pena o meno continuare verso il bersaglio o deviare per dirigersi verso il cibo. Ultimo piccolissimo appunto senza alcuna rivelanza: il robot non deve conoscere le coordinate precise del suo bersaglio, ma solo delle indicazioni generali (ad esempio che il bersaglio si trova a NordEst rispetto alla posizione attuale del robot o, al massimo, è possibile dividere la matrice in quadranti più o meno grandi e sapere in quale quadrante si trova il bersaglio).
    Insomma la simulazione di una sorta di IA.

    Qualcuno ha qualche idea di come sviluppare l' algoritmo? Io una mezza cosa l'ho già abbozzata ma non è ancora completa

  2. #2
    fai una procedura per calcolare la posizione ne,n,s ..
    il bersaglio non da' quindi direttamente le coordinate, che serviranno comunque alla procedura per calcolarle....

    e la chiami quando serve,
    per i moimenti usa un vettore, indicando le coordinate come righe*colonne
    :
    01234
    56789
    ..
    cosi' se arriva in un vicolo cieco torna automaticamente indietro, altrimenti continua a generare numeri casuali finche il vettore
    non conterra il numero giusto,
    il numero dovra essere filtrato, il robot non puo' saltare
    da una parte all' altra della griglia...
    se trova qualcosa memorizza cosa in un vettore(di stringhe...)
    crea una precedenza:
    vicolo cieco = turn back
    non passare nelle ultime 5 posizioni
    inseguire nemico
    ..

    buon divertimento.

  3. #3
    Originariamente inviato da kentaromiura
    per i moimenti usa un vettore, inrighe*colonne dicando le coordinate come
    :
    01234
    56789
    ..
    intendevo righe * colonne + righe precedenti * numero di colonne max...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.