Changeset 229

Show
Ignore:
Timestamp:
03/01/07 21:59:45 (1 year ago)
Author:
ug
Message:

Fixed bug in continuation statistics.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • 06/libkombilo/cpptest.cpp

    r227 r229  
    9090 
    9191  // ------------------- print some information about current list of games ------------ 
    92   printf("num games: %d, num hits: %d\n", gl.size(), gl.numHits()); 
     92  printf("num games: %d, num hits: %d=%d\n", gl.size(), gl.numHits(), gl.num_hits); 
    9393  // vector<string> res = gl.currentEntriesAsStrings(); 
    9494  // for(vector<string>::iterator it = res.begin(); it != res.end(); it++) 
     
    108108  printf("\n"); 
    109109  printf("Statistics:\n");  
     110  printf("num hits: %d, num switched: %d, B wins: %d, W wins: %d\n", gl.num_hits, gl.num_switched, gl.Bwins, gl.Wwins); 
     111 
    110112  printf("Continuation | Black ( B wins / W wins ) | White (B wins / W wins) |\n"); 
    111113  for(int y=0; y<p.sizeY; y++) { 
     
    113115      if (gl.lookupLabel(x,y) != '.') { 
    114116        Continuation cont = gl.lookupContinuation(x,y); 
    115         printf("      %c      |   %3d (    %3d /    %3d ) |   %3d (   %3d /    %3d) |\n", 
    116             gl.lookupLabel(x,y), cont.B, cont.wB, cont.lB, cont.W, cont.wW, cont.lW); 
     117        printf("      %c      |   %3d (    %3d /    %3d ) |   %3d (   %3d /    %3d) | %1.1f /  %1.1f \n", 
     118            gl.lookupLabel(x,y), cont.B, cont.wB, cont.lB, cont.W, cont.wW, cont.lW,  
     119            cont.wW*100.0/cont.W, cont.wB*100.0/cont.B); 
    117120      } 
    118121    } 
  • 06/libkombilo/search.cpp

    r228 r229  
    746746    continuations[xx + pattern.sizeX*yy].B++; 
    747747    if (tenuki) continuations[xx + pattern.sizeX*yy].tB++; 
    748     if (winner == 'B') continuations[xx + pattern.sizeX*yy].wB++; 
    749     else if (winner == 'W') continuations[xx + pattern.sizeX*yy].lB++; 
     748    if ((winner == 'B' && !cSymm) || (winner == 'W' && cSymm)) continuations[xx + pattern.sizeX*yy].wB++; 
     749    else if ((winner == 'W' && !cSymm) || (winner == 'B' && cSymm)) continuations[xx + pattern.sizeX*yy].lB++; 
    750750  } else { 
    751751    // printf("xx %d, yy %d\n", xx, yy); 
    752752    continuations[xx + pattern.sizeX*yy].W++; 
    753753    if (tenuki) continuations[xx + pattern.sizeX*yy].tW++; 
    754     if (winner == 'B') continuations[xx + pattern.sizeX*yy].wW++; 
    755     else if (winner == 'W') continuations[xx + pattern.sizeX*yy].lW++; 
     754    if ((winner == 'B' && !cSymm) || (winner == 'W' && cSymm)) continuations[xx + pattern.sizeX*yy].wW++; 
     755    else if ((winner == 'W' && !cSymm) || (winner ='B' && cSymm)) continuations[xx + pattern.sizeX*yy].lW++; 
    756756  } 
    757757  char* result = new char[3]; 
     
    17911791      if (gl.getCurrentWinner() == 'B') { 
    17921792        Bwins += result->size() - numOfSwitched; 
    1793         Wwins += Wwins + numOfSwitched; 
     1793        Wwins += numOfSwitched; 
    17941794      } else if (gl.getCurrentWinner() == 'W') { 
    17951795        Bwins += numOfSwitched; 
     
    18011801    delete cands; 
    18021802  } 
     1803  gl.num_hits = numOfHits; 
     1804  gl.num_switched = self_numOfSwitched; 
     1805  gl.Bwins = Bwins; 
     1806  gl.Wwins = Wwins; 
    18031807  return 0; 
    18041808} 
     
    39043908 
    39053909int GameList::numHits() { 
    3906   int numHits = 0; 
    3907   for(vector<pair<int,int> >::iterator it = currentList->begin(); it != currentList->end(); it++) { 
    3908     if ((*all)[it->second]->hits) numHits += (*all)[it->second]->hits->size(); 
    3909   } 
    3910   return numHits; 
     3910  return num_hits; 
    39113911} 
    39123912 
  • 06/libkombilo/search.h

    r225 r229  
    592592    char* labels; 
    593593    Continuation* continuations; 
     594    int num_hits; 
     595    int num_switched; 
     596    int Bwins; 
     597    int Wwins; 
    594598 
    595599    // ----------------------------------------------------------------------------