Ejemplo n.º 1
0
 public void UpdateBatchesData()
 {
     try
     {
         foreach (var c in m_Batches)
         {
             ListExtras.Resize <ScreenshotBatch.ActiveItem>(c.m_ActiveResolutions, m_Resolutions.Count);
             for (int i = 0; i < m_Resolutions.Count && i < c.m_ActiveResolutions.Count; ++i)
             {
                 c.m_ActiveResolutions[i].m_Name = m_Resolutions[i].ToString();
                 c.m_ActiveResolutions[i].m_Id   = i;
                 // c.m_ActiveResolutions[i].m_Resolution =  m_Resolutions[i];
             }
             ListExtras.Resize <ScreenshotBatch.ActiveItem>(c.m_ActiveCompositions, m_Compositions.Count);
             for (int i = 0; i < m_Compositions.Count && i < c.m_ActiveCompositions.Count; ++i)
             {
                 c.m_ActiveCompositions[i].m_Name = m_Compositions[i].m_Name;
                 c.m_ActiveCompositions[i].m_Id   = i;
                 // c.m_ActiveCompositions[i].m_Composition =  m_Compositions[i];
             }
         }
     }
     catch
     {
     }
 }
Ejemplo n.º 2
0
        //default constructor
        public ProbabilisticGate(List <int> inputsAddress, List <int> outputsAddress, List <List <double> > rawTable, int id)
        {
            _id = id;
            int i, j;

            inputs  = inputsAddress;
            outputs = outputsAddress;

            int numInputs  = inputs.Count();
            int numOutputs = outputs.Count();

            ListExtras.Resize(table, 2 ^ numInputs);
            //normalize each row
            for (i = 0; i < (2 ^ numInputs); i++)
            {  //for each row (each possible input bit string)
                ListExtras.Resize(table[i], (2 ^ numOutputs));
                // first sum the row
                double S = 0;
                for (j = 0; j < (2 ^ numOutputs); j++)
                {
                    S += rawTable[i][j];
                }
                // now normalize the row
                if (S == 0.0)
                {  //if all the inputs on this row are 0, then give them all a probability of 1/(2^(number of outputs))
                    for (j = 0; j < (2 ^ numOutputs); j++)
                    {
                        table[i][j] = 1.0 / (2 ^ numOutputs);
                    }
                }
                else
                {  //otherwise divide all values in a row by the sum of the row
                    for (j = 0; j < (2 ^ numOutputs); j++)
                    {
                        table[i][j] = rawTable[i][j] / S;
                    }
                }
            }
        }