-
        

Ergebnis 1 bis 7 von 7

Thema: Richtige Modellierung eines Neuronalen Netzes für KNIFFEL

  1. #1

    Richtige Modellierung eines Neuronalen Netzes für KNIFFEL

    Anzeige

    hey

    ich habe in excel auf basis von vba das spiel "KNIFFEL" programmiert.
    die bisherige "KI" des PC-gegners besteht im wesentlichen aus IF...Then -Abfragen.
    zur verbesserung dieser "KI" experimentiere ich nun mit neuronalen netzen.

    dazu nutze ich das programm MEMBRAIN und habe mir ein vba-skript erstellt das alle meine aktionen aufzeichnet, um mit diesen daten später das neuronale netz auf meine menschliche spielweise zu trainieren.

    soweit läuft das alles schon ganz gut.
    allerdings habe ich zu wenig ahnung davon welche art von NN ich erstellen sollte. die input-neuronen sind klar. die output-neuronen sind im prinzip auch klar.

    frage ist, brauche ich hidden-neuronen und wenn ja wieviele?

    darüber hinaus ist auch die frage nach welche funktionen sich die neuronen aktivieren etc...

    kann mir jemand bei diesen fragen helfen?

    viele grüße
    phil

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    29.08.2005
    Ort
    winterthur
    Beiträge
    115
    hi phil

    also, leider kenn weder das KNIFFEL noch MEMBRAIN.

    ich nehme an,dass du mit
    << meine aktionen aufzeichnet, um mit diesen daten später das neuronale netz auf meine menschliche spielweise zu trainieren. >>

    deine trainings-saetze meinst.
    und es kommt darauf an, was du mit dem NN ueberhaupt machen
    moechtest= eben leider kenn MEMNRAIN nicht.


    Frage: <<auf meine menschliche spielweise zu trainieren.>>

    -> soll das NN ein ebenbuertiger Gegner sein, oder soll er dich
    dich einfach vom feld fegen......

    da es recht viele netzwerk-architekturen gibt, (fuer verschiedene
    anwendungen). ist deine frage schwer zu beantworten.

    zu den hidden neuronen, im prinzip ja.
    anzahl: meiner meinung nach soviele wie du output-neuronen hast

    zu den aktivierung-werten
    also hier sind paar code schnippsel:

    l
    Code:
    propNN1.c under LinuxLaptop for
    vergleichsTest:
    - ergebnisse:
    das waeren die input-neuronen - 3 stueck
    
    - decode: i1 = 0.0597  OK
                   i2 = 0.1791  OK  -> winner
                   i3 = 0.08955 OK
    
    das waeren die hidden-neuronen - 3 stueck
    
    - h_in 1: 0.004123181 
      h_in 2: 0.004201686   -> winner
      h_in 3: 0.004096316 
    
    das sind die output-neuronen
    
    - h_out 1: 0.5010317  
    - h_out 2: 0.5010511   -> winner 
      h_out 3: 0.5010251  
    
    
    -------------------------------------------------------------------------------
    Aktivierungs-Funkstion: 
    
                   1
    output: ________________ = 0.603
               -0.42
            1+e
    
    i
    vor einigen jahren hat elektor eine 3 teilige serie ueber neural netze
    veroeffentlicht.


    google mal nach:

    -neural-net
    -neuralnet on your fingertips
    - gamedev.net ist auch eine gute anlauf-stelle

    gruss
    nomad

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    19.06.2006
    Ort
    Schriesheim
    Alter
    30
    Beiträge
    478
    Allgemein zum Thema Spiele-KI kann ich empfehlen
    "gameai": http://href.to/NsO

    befasst sich ausschließlich mit dem und ähnlichen Themen.

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    11.08.2005
    Beiträge
    178
    ich vermute (!) dass sich für dieses würfelspiel ein neuronales netz nicht eignet, und man das problem mittels wahrscheinichkeitsrechnung lösen sollte.
    schau mal wie andere diese problemstellung angehen, indem du nach quellcode suchst, zb http://www.koders.com/default.aspx?s...btn=&la=*&li=*

    lg

  5. #5
    hi
    also ich habe das problem schon mit "normalem" code gelöst.
    ich sehe es einfach mal als herausforderung an ein neuronales netz dafür zu bauen

    ich habe mittlerweile auch schon einiges getestet.
    aber ich bin immer noch nicht ganz sicher welche datenstrukturen und welche netztopologie optimal ist.
    die bisherigen ergebnisse waren eher ernüchternd.

    ich arebeite mit membrain, das u.a. eine DLL hat die in excel eingebunden werden kann.

    ciao

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    11.08.2005
    Beiträge
    178

    Re: Richtige Modellierung eines Neuronalen Netzes für KNIFFE

    Zitat Zitat von just4phil
    [...] das problem schon mit "normalem" code gelöst.
    widerspricht deiner früheren aussage
    Zitat Zitat von just4phil
    [...] zur verbesserung dieser "KI" [...] neuronalen netzen.
    ich hab das unklar formuliert. worauf ich hinaus wollte ist, dass du mit "normalem code" einen perfekten kniffelspieler programmieren kannst, diese spielstärke aber per definition nicht übertreffen kannst.

    ausserdem:
    Zitat Zitat von http://de.wikipedia.org/wiki/K%C3%BCnstliches_neuronales_Netz#Anwendung
    Seine besonderen Eigenschaften machen das KNN bei allen Anwendungen interessant, bei denen kein bzw. nur geringes explizites (systematisches) Wissen über das zu lösende Problem vorliegt.
    als herausvorderung betrachtet ist kniffel KI per NN mindestens eine grosse herausvorderung. mach doch bitte angaben zu deinen in- und outputs!


    lg

  7. #7
    okidoki, .... du hast es so gewollt

    also meine 20 input-neuronen:

    - 5 würfel (sortiert von kleiner nach grosser augenzahl)
    - runde (1, 2, 3)
    - bonus (0: nicht mehr möglich, 1: noch möglich, 2: schon erhalten)
    - 13 strategien (0: schon erledigt, 1: noch offen)

    meine output-neuronen:
    - 13 strategien

    in ansätzen macht das netz manchmal schon ganz gute aussagen.
    das problem ist m.E. die anzahl der trainingsdatensätze, da bei 20 input-neuronen extrem viele permutationen möglich sind.
    und ich brauche wahrscheinlich sehr viele pattern (die sich möglichst nicht wiedersprechen dürfen) bis das netz in der lage ist zu generalisieren.


    am anfang hatte ich als outputs auch noch welche augenzahlen wie oft entnommen werden sollen.
    das hat sich aber als sinnlos erwiesen und muss dann mit "normalem" code gelöst werden nachdem das netz die strategie angesagt hat.

    und ich überlege ob es sinnvoller ist die strategie-inputs ganz wegzulassen und das netz erstmal die strategie nur auf basis der würfel analysieren zu lassen.

    anregungen und ideen?

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •