Пример #1
0
 public void ShowSatisfiabilityGraph(Satisfiability satisfiability, HoloAd config)
 {
     if (satisfiability.GetLength() == maxX * maxY * maxZ)
     {
         for (int index = 0; index < maxX * maxY * maxZ; index++)
         {
             float sat = satisfiability.cells[index];
             if (float.IsNaN(sat))
             {
                 sat = 0f;
             }
             Renderer renderer = cells[index].GetComponent <Renderer>();
             if (sat < config.minVisibleSatisfiability)
             {
                 renderer.enabled = false;
             }
             else
             {
                 renderer.enabled        = true;
                 renderer.material.color = new Color(sat, sat, sat, sat);
             }
         }
     }
     else
     {
         ReconstructVisuals(config);
         ShowSatisfiabilityGraph(satisfiability, config);
     }
 }
Пример #2
0
 public void ShowCriterionOnGraph(Criterion[] criterion)
 {
     RebuildMatrix();
     if (visualizeMatrix)
     {
         Satisfiability satMap = new Satisfiability(this);
         satMap.TestCriterion(criterion, this);
         visualization.ShowSatisfiabilityGraph(satMap, this);
     }
 }
Пример #3
0
        private void CalculateSatisfiability()
        {
            numberOfUnsatisfiedClauses = 0;
            foreach (var clause in Instance.Clauses)
            {
                if (!clause.IsSatisfiable(this))
                {
                    IncrementUnsatisfiedLiterals(clause);
                }
            }

            if (numberOfUnsatisfiedClauses == 0)
            {
                configurationSatisfiability = Satisfiability.SATISFIABLE;
            }
            else
            {
                configurationSatisfiability = Satisfiability.UNSATISFIABLE;
            }
        }