[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[freehaven-cvs] Add a kazillion new tests



Update of /home/freehaven/cvsroot/doc/e2e-traffic/src
In directory moria.mit.edu:/tmp/cvs-serv19209

Modified Files:
	PLAN.3 analyze.py simmain.cpp trials.cpp 
Log Message:
Add a kazillion new tests

Index: PLAN.3
===================================================================
RCS file: /home/freehaven/cvsroot/doc/e2e-traffic/src/PLAN.3,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- PLAN.3	18 Jan 2004 07:26:00 -0000	1.5
+++ PLAN.3	19 Jan 2004 01:00:13 -0000	1.6
@@ -1,20 +1,3 @@
-Running: Totoro, Opus, Zermelo, Moria
-
-MIA, returning Sunday: Cassandra
-
-
-case3: have
-  HAVE
-    AF   PD   BGVol
-    .1:  .1   (320,3200')  {esox}
-    .3:  .1   (320,3200)   {esox}
-    .6:  .1   320,3200,32000  {cass}
-         .3   320,3200,32000  {cass}
-         .6   320,3200         {cass}
-    .9:  .1   (320,3200,32000) {opus}
-         .3   (320,3200,32000) {opus}
-         .6   (320,3200)       {opus}
-                  ,3200
 
 A: 10 Jan, 15:10
 B: 13 Jan, 13:34
@@ -24,6 +7,78 @@
 F: 17 Jan, 12:29
 G: 17 Jan, 18:00  -- 6 begun.
 H: 18 Jan, 02:12
+I: 18 Jan, 12:15
+J: 18 Jan, 16:34
+
+TO DO:
+  - Implement improved summary measure.
+  - Finish 6
+  - Finish filling gaps in 3,4
+  - Redo clipped cases in 1-2.
+  - Start 5
+
+=====case1 clipped.
+
+  b:5                              {1u.1}
+     N:32      m:8            1      [59]
+     N:256     m:16           1    <----->
+     N:2048    m:1..16        5
+     N:4096    m:1..16        5
+     N:16384   m:1..16        5
+     N:65536   m:1..16        5
+     N:131072  m:1..16        5
+     N:1048576 m:1..16        5
+
+  b:25                             {1u.1}
+     N:2048    m:1..8         4    
+     N:4096    m:1..4         3
+     N:16384   m:1..16        5
+     N:65536   m:1..16        5
+     N:131072  m:1..16        5
+     N:1048576 m:1..16        5
+
+  b:125                           {1u.2}
+     N:2048    m:1..4         3     [46]
+     N:4096    m:1..4         3   <----->
+     N:16384   m:1..8         4
+     N:65536   m:1..4         3
+     N:131072  m:1..16        5  
+     N:1048576 m:1..16        5
+  b:1000                          {1u.2}
+     N:2048    m:1..2         2
+     N:4096    m:1..4         3
+     N:8192    m:1..4         3
+     N:16384   m:1..4         3
+     N:32768   m:1..8         4 
+     N:65536   m:1..8         4
+     N:131072  m:1..8         4
+
+======case 2 clipped.
+
+  SG,UG:
+  b:5
+     N:2048    m=1..8, pm:60,90    2*2*4
+     N:4096    m=1..16, pm:60,90   2*2*5
+     N:8192    m=1..16, pm:60,90   2*2*5
+     N:16384   m=1..16, pm:60,90   2*2*5
+     N:65536   m:1..64  pM:90      2*2*7
+  b:25
+     N:2048    m:1..32  pm:90      2*6
+     N:4096    m:1,4,16 pm:90      2*3
+     N:16384   m:1..32  pm:90      2*6
+     N:65536   m:1,4,16 pm:90      2*3
+     N:131072  m:1,2    pm:90      2*2
+  b:125
+     N:4096    m:1,4    pm:90      2*2
+     N:65536   m:1,4,16 pm:90      2*3
+
+  SGW:
+  b:5
+     N:64      m:4     pM:60%      1
+     N:2048    m:1     pM:60,90    1
+     N:4096    m:1,2   pM:60,90    2
+     N:8192    m:1,2   pM:60,90    2
+     N:16384   m:1,2   pM:60,90    2
 
 ===case 3.2: timed dyn-pool mix. (esox)
 
@@ -77,20 +132,26 @@
          .6   (320')           {opus}
   NEED:
     AF
-    *     *         (25)          16   (case 3r.1)  <cassandra>  E:3.82  *4
-                                                                 F:????
-  .1,p.3  *         (125)         16   (case 3r.2)  <dhcp-14-49> 
-                                                                 
-    .1:  .3,.6,.9   (320,3200)     6   (case 3r.3)  <moria>      
-    .3:  .3,.6,.9   (320,3200)     6   (case 3r.4)  <sekrit>     
-    .6:  .9         (320,3200)     2   (case 3r.5)  <ariddoch>   
+    *     *         (25)          16   (case 3r.1)
+  .1,p.3  *         (125)         16   (case 3r.2)
+    .1:  .3,.6,.9   (320,3200)     6   (case 3r.3)
+    .3:  .3,.6,.9   (320,3200)     6   (case 3r.4)
+    .6:  .9         (320,3200)     2   (case 3r.5)
     .9:  .9         (320,3200)     2   (case 3r.5)
 
   ADDED (E):
    .6,.9:    *      (25)            8   (case 3r.1.1) <opus>     F: 7.09
                                                                  H: 7.27
-   .3,.6,.9: *      (125)          12   (case 3r.2.1) <zermelo>  F: 7.47
-                                                                 H:11.04
+                                                                 I: 7.39
+                                                                 J: 
+   .3,.6,.9: *      (125)          12   (case 3r.2.1)
+   .3:       .9     (25)            1   (case 3r.1.2) <cassandra>I:0 J:0.19
+                                           (done about 11:00Mon)
+  MORE:
+   .4,.5,.7,  .1,.3,.6,.9  125     12   (case 3r.6)   <zermelo>  I:0 J:1.61
+                                           (done > 21:30Mon)
+   .4,.5,.7,  .1,.3,.6,.9   25     12   (case 3r.7)   <ariddoch> I:0 J:1.47
+                                           (done > 23:30Mon)
 
 ===case 4: mixnet
     Fix N=65536, m=32, strategy=SG
@@ -109,18 +170,26 @@
     2:   .1,.6,.9   .1,.6   6  (case4r.1)     <totoro>              {E:2.77} *2
                                                                     {F:4.21}
                                                                     {H:4.27}
-    4:   .1,.6,.9   .1,.6   6  (case4r.2)     <cannabis>            
-    8:   .1,.6,.9   .1      3  (case4r.3.1)   <esox2?>              <ARGH>
-    8:   .1,.6,.9   .6      3  (case4r.3.2)   <zermello>
+                                                                    {I:4.31}
+                                                                     J:4.33
+        (Done about...um...next sunday. NG.  Stop on Monday, use samples)
+    4:   .1,.6,.9   .1,.6   6  (case4r.2)
+    8:   .1,.6,.9   .1      3  (case4r.3.1)
+    8:   .1,.6,.9   .6      3  (case4r.3.2)
 
   ADDED (E):
-    8:   .9         .1      1  (case4r.3.1.1) <esox1 covers esox2>
-    4:   .9         .1,.6   2  (case4r.2.1)   <novalis covers cannabis>
+    8:   .9         .1      1  (case4r.3.1.1)
+    4:   .9         .1,.6   2  (case4r.2.1)
 
-  ADDED (F):
-    8,   .1,.6      .1      2  (case4r.3.1.2) <moria>               H:0
+  ADDED (H):
+    8:   .1,.6      .1      2  (case4r.3.1.2) <dhcp14-49>  H:0 I:0.46 J:0.68
+                                                    (done about 18:00,mon?)
 
-===case 5: impact of dummies
+    2,4,8  .4     .1,.6     6  (case4r.4) <novalis> Sn17:17->0
+    2,4,8  .5     .1,.6     6  (case4r.5) <esox1>   Sn19:16->0
+    2,4,8  .7     .1,.6     6  (case4r.6) <cannabis>Sn20:00->0
+    
+===case 5b: impact of dummies
 
    Fix N,m,strategy as above.
    Fix mix alg pDelay, path length, bg vol based on 4.
@@ -137,6 +206,7 @@
 
    pD, pad  pOnline
 
+   
 
 ===case 6: impact of partial
 
@@ -150,18 +220,19 @@
   pObserve=1.00{done},.99,.95,.90,.85,.80,.70,.60,.50
 
   pD    PO
-  .6    .99,.95,.90,.85   (case6.1)  cannabis    G:0  H:1.21
-  .1    .99,.95,.90,.85   (case6.2)  ariddoch    G:0  H:3.10
-  .6    .80,.70           (case6.3)  novalis     G:0  H:DONE
-  .1    .80,.60           (case6.4)  sekrit      G:0  H:DONE
-  .6    .60,.50           (case6.5)  esox1       G:0  H:1.15
-  .1    .60,.50           (case6.6)  dhcp14-49   G:0  H:DONE
-  .6    .40,.30,.20       (case6.7)
-  .1    .40,.30,.20       (case6.8)
-  .6    .10,.05           (case6.9)
-  .1    .10,.05           (case6.10)
-
-
-  unused: esox2, cassandra (!!)
+  .6    .99,.95,.90,.85   (case6.1)
+  .1    .99,.95,.90,.85   (case6.2)
+  .6    .80,.70           (case6.3)
+  .1    .80,.60           (case6.4)
+  .6    .60,.50           (case6.5)
+  .1    .60,.50           (case6.6)
+  .6    .40,.30,.20       (case6.7)  moria       H:0 I:0.48 J:.68<stop at 1.0>
+                             (done about  0:00Mon)
+  .6        .30,.20       (case6.7.1)sekrit      I:0 J:0.37 
+                             (done about 11:00Mon)
+  .1    .40,.30,.20       (case6.8)  novalis     
+  .6    .10,.05           (case6.9)  sekrit      
+  .1    .10,.05           (case6.10) esox2       H:0 I:0.02 J:0.03
+                             (done about  3:00Mon)
 
 ===case 7: pseudonymity
\ No newline at end of file

Index: analyze.py
===================================================================
RCS file: /home/freehaven/cvsroot/doc/e2e-traffic/src/analyze.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- analyze.py	17 Jan 2004 22:21:19 -0000	1.2
+++ analyze.py	19 Jan 2004 01:00:13 -0000	1.3
@@ -52,7 +52,6 @@
     def getPMsg(self):
         return self.p[3]/100.0
 
-
 class MixTrialParams(Params):
     def __init__(self,**test):
         self.p = (test['N'],
@@ -60,11 +59,12 @@
                   test['l'],
                   int(test['pMessage']*100),
                   int(test['pDelay']*100),
-                  test['bgVolume'])
+                  test['bgVolume'],
+                  int(test['pObserve']*100))
     def disp(self):
-        N,m,l,pA,pD,bgV=self.p
-        return ("N:%5d m:%3d l:%1d pA:%2s%% pD:%2s%% bg:%5d"
-                %(N,m,l,pA,pD,bgV))
+        N,m,l,pA,pD,bgV,pO=self.p
+        return ("N:%5d m:%3d l:%1d pA:%2s%% pD:%2s%% bg:%5d pO:%2d%%"
+                %(N,m,l,pA,pD,bgV,pO))
     def getM(self):
         return self.p[1]
     def getPMsg(self):

Index: simmain.cpp
===================================================================
RCS file: /home/freehaven/cvsroot/doc/e2e-traffic/src/simmain.cpp,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- simmain.cpp	18 Jan 2004 07:26:00 -0000	1.23
+++ simmain.cpp	19 Jan 2004 01:00:13 -0000	1.24
@@ -133,6 +133,76 @@
   }
 }
 
+
+void trial1u_base(int batchSize, int nRecips, int nAMin, int nAMax)
+{
+  // unclip 1.1u
+
+  for (int nAR = nAMin; nAR <= nAMax; nAR *= 4) {
+    SDTrialSpec s;
+    s.setNRecipients(nRecips);
+    s.setAliceRecipients(nAR);
+    s.setBatchSize(batchSize);
+    s.setCutoff(5000);
+    s.setGranularity(5);
+    int nBad = 0;
+    int nGood = 0;
+    for (int i = 1; i <= 100; ++i) {
+      s.write(std::cout);
+      std::cout << "\"" << i << "/" << 100 << "\"" << std::endl;
+      SDTrial trial(s);
+      TrialResult res = trial.attempt();
+      std::cout << res << std::endl << std::endl;
+      if (res.failed)
+	++nBad;
+      else
+	++nGood;
+      if (nBad >= 5 && nGood < nBad/2) {
+	break;
+      }
+    }
+  }
+}
+
+void trial1u_1()
+{
+  trial1u_base(5,32,8,8);
+  trial1u_base(5,256,16,16);
+  trial1u_base(5,2048,1,16);
+  trial1u_base(5,4096,1,16);
+  trial1u_base(5,8192,1,16);
+  trial1u_base(5,16384,1,16);
+  trial1u_base(5,65536,1,16);
+  trial1u_base(5,131072,1,16);
+  trial1u_base(5,1048576,1,16);
+
+  trial1u_base(25,2048,1,8);
+  trial1u_base(25,4096,1,4);
+  trial1u_base(25,8192,1,16);
+  trial1u_base(25,16384,1,16);
+  trial1u_base(25,65536,1,16);
+  trial1u_base(25,131072,1,16);
+  trial1u_base(25,1048576,1,16);
+}
+
+void trial1u_2()
+{
+  trial1u_base(125,2048,1,4);
+  trial1u_base(125,4096,1,4);
+  trial1u_base(125,16384,1,8);
+  trial1u_base(125,65536,1,4);
+  trial1u_base(125,131072,1,16);
+  trial1u_base(125,1048576,1,16);
+
+  trial1u_base(1000,2048,1,2);
+  trial1u_base(1000,4096,1,4);
+  trial1u_base(1000,8192,1,4);
+  trial1u_base(1000,16384,1,4);
+  trial1u_base(1000,65536,1,8);
+  trial1u_base(1000,131072,1,8);
+  trial1u_base(1000,1048576,1,8);
+}
+
 void trial2()
 {
   const double pMsgAlice[] = { 0.6, 0.9, 0.99 };
@@ -383,6 +453,9 @@
     }
   }
 }
+void trial3r_1_2() {
+  trial3_base(.3, .9, 25);
+}
 void trial3r_2() {
   const double pAlice[] = { .1, .3, .6, .9 };
   const double pDelay[] = { .1, .3, .6, .9 };
@@ -448,6 +521,36 @@
   trial3_base(.9, .9, 3200);
 }
 
+void trial3r_6() {
+  trial3_base(.4, .1, 125);
+  trial3_base(.5, .1, 125);
+  trial3_base(.7, .1, 125);
+  trial3_base(.4, .3, 125);
+  trial3_base(.5, .3, 125);
+  trial3_base(.7, .3, 125);
+  trial3_base(.4, .6, 125);
+  trial3_base(.5, .6, 125);
+  trial3_base(.7, .6, 125);
+  trial3_base(.4, .9, 125);
+  trial3_base(.5, .9, 125);
+  trial3_base(.7, .9, 125);
+}
+
+void trial3r_7() {
+  trial3_base(.4, .1, 25);
+  trial3_base(.5, .1, 25);
+  trial3_base(.7, .1, 25);
+  trial3_base(.4, .3, 25);
+  trial3_base(.5, .3, 25);
+  trial3_base(.7, .3, 25);
+  trial3_base(.4, .6, 25);
+  trial3_base(.5, .6, 25);
+  trial3_base(.7, .6, 25);
+  trial3_base(.4, .9, 25);
+  trial3_base(.5, .9, 25);
+  trial3_base(.7, .9, 25);
+}
+
 void trial4_base(double pMsgA, double pDel, int pathlen, int bgVol=320)
 {
   MixTrialSpec s;
@@ -463,7 +566,7 @@
     .setPObserve(1.0)
     .setPDummy(0.0);
 
-  s.setGranularity(50);
+  s.setGranularity(25);
   
   s.setCutoff(1500000);
   int nBad = 0;
@@ -553,6 +656,35 @@
   trial4_base(.9, .6, 8, 125);
 }
 
+void trial4r_4()
+{
+  trial4_base(.4, .1, 2, 125);
+  trial4_base(.4, .1, 4, 125);
+  trial4_base(.4, .1, 8, 125);
+  trial4_base(.4, .6, 2, 125);
+  trial4_base(.4, .6, 4, 125);
+  trial4_base(.4, .6, 8, 125);
+}
+void trial4r_5()
+{
+  trial4_base(.5, .1, 2, 125);
+  trial4_base(.5, .1, 4, 125);
+  trial4_base(.5, .1, 8, 125);
+  trial4_base(.5, .6, 2, 125);
+  trial4_base(.5, .6, 4, 125);
+  trial4_base(.5, .6, 8, 125);
+}
+void trial4r_6()
+{
+  trial4_base(.7, .1, 2, 125);
+  trial4_base(.7, .1, 4, 125);
+  trial4_base(.7, .1, 8, 125);
+  trial4_base(.7, .6, 2, 125);
+  trial4_base(.7, .6, 4, 125);
+  trial4_base(.7, .6, 8, 125);
+}
+
+
 void trial5b_base(double pMsgA, double pDelay, int nPad, double pOnline)
 {
   MixTrialSpec s;
@@ -665,6 +797,13 @@
   trial6_base(.6,.30);
   trial6_base(.6,.20);
 }
+
+void trial6_7_1(void) {
+  trial6_base(.6,.30);
+  trial6_base(.6,.20);
+}
+
+
 void trial6_8(void) {
   trial6_base(.1,.40);
   trial6_base(.1,.30);
@@ -689,6 +828,9 @@
   { "1", trial1 },
   { "1.1", trial1_1 },
   { "1.1.1", trial1_1_1 },
+  { "1u.1", trial1u_1 },
+  { "1u.2", trial1u_2 },
+
   { "2", trial2 },
   { "2.1", trial2_1 },
   { "2.1.1", trial2_1_1 },
@@ -704,11 +846,15 @@
   { "4.2", trial4_2 },
   { "3r.1", trial3r_1 },
   { "3r.1.1", trial3r_1_1 },
+  { "3r.1.2", trial3r_1_2 },
   { "3r.2", trial3r_2 },
   { "3r.2.1", trial3r_2_1 },
   { "3r.3", trial3r_3 },
   { "3r.4", trial3r_4 },
   { "3r.5", trial3r_5 },
+  { "3r.6", trial3r_6 },
+  { "3r.7", trial3r_7 },
+
   { "4r.1",   trial4r_1 },
   { "4r.2",   trial4r_2 },
   { "4r.2.1",   trial4r_2_1 },
@@ -716,6 +862,9 @@
   { "4r.3.1.1", trial4r_3_1_1 },
   { "4r.3.1.2", trial4r_3_1_2 },
   { "4r.3.2", trial4r_3_2 },
+  { "4r.4", trial4r_4 },
+  { "4r.5", trial4r_5 },
+  { "4r.6", trial4r_6 },
 
   { "6.1",    trial6_1 },
   { "6.2",    trial6_2 },
@@ -724,6 +873,7 @@
   { "6.5",    trial6_5 },
   { "6.6",    trial6_6 },
   { "6.7",    trial6_7 },
+  { "6.7.1",  trial6_7_1 },
   { "6.8",    trial6_8 },
   { "6.9",    trial6_9 },
   { "6.10",   trial6_10 },

Index: trials.cpp
===================================================================
RCS file: /home/freehaven/cvsroot/doc/e2e-traffic/src/trials.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- trials.cpp	8 Jan 2004 03:57:30 -0000	1.12
+++ trials.cpp	19 Jan 2004 01:00:13 -0000	1.13
@@ -34,6 +34,7 @@
 {
   TrialResult res;
   unsigned int nGuessed = 0;
+  int gran = granularity;
   res.roundsToGuessN.reserve(truth.size()+1);
   res.roundsToGuessN.push_back(0);
 
@@ -58,7 +59,9 @@
     //std::cout << n << " "<< aTraffic << std::endl;
     mixnet->addRound(trafficIn, nAlice, nBatch-nAlice, attacker);
     ++n;
-    if (!(n % granularity)) {
+    if (!(n % gran)) {
+      if (n>=(gran*20) && gran <= granularity*128)
+	gran *= 2;
       if (n>cutoff) {
 	res.failed = true;
 	res.nRounds = n;
@@ -98,7 +101,9 @@
 SDTrialSpec::write(std::ostream &o) const
 {
   o << "SDTrial(b=" << batchSize << ",m="<< nAliceRecipients
-    << ",N=" << nRecipients << ")" << std::endl;
+    << ",N=" << nRecipients << 
+    << ",granularity=" <<granularity
+    << ")" << std::endl;
 }
 
 Trial *
@@ -149,7 +154,9 @@
   else
     o << "\"";
   o << ",pMessage=" << pMsgAlice << ",pDummy=" << pDummyAlice
-    << ",paddingLevel="<< paddingLevel << ")" << std::endl;
+    << ",paddingLevel="<< paddingLevel <<
+    << ",granularity="<<granularity
+    ")" << std::endl;
   // XXX paddingLevel is wrong, so include it when it's right.
 }
 
@@ -287,7 +294,9 @@
     << ",bgVolume=" << bgVolMean << ",bgVolumeStdDev=" << bgVolDev
     << ",pObserve=" << pObserve << ",pading="<<padding
     << ",pOnline=" << pOnline << ",pMessage="<<pMessage 
-    << ",pDummy=" << pDummy << ")" << std::endl;
+    << ",pDummy=" << pDummy << 
+    << ",granularity=" << granularity
+    << ")" << std::endl;
     // padding XXX all other vars.
 }
 

***********************************************************************
To unsubscribe, send an e-mail to majordomo@seul.org with
unsubscribe freehaven-cvs       in the body. http://freehaven.net/