Exemplo n.º 1
0
        public void NashTestMatriz3x4()
        {
            MatrizNash problema = new MatrizNash(3, 4);

            problema.Renglones[0, 0] = new Renglon(0, 6);
            problema.Renglones[1, 0] = new Renglon(4, 5);
            problema.Renglones[2, 0] = new Renglon(3, -2);

            problema.Renglones[0, 1] = new Renglon(3, -1);
            problema.Renglones[1, 1] = new Renglon(-1, 7);
            problema.Renglones[2, 1] = new Renglon(10, 5);

            problema.Renglones[0, 2] = new Renglon(4, 9);
            problema.Renglones[1, 2] = new Renglon(10, 2);
            problema.Renglones[2, 2] = new Renglon(-2, 3);

            problema.Renglones[0, 3] = new Renglon(12, 2);
            problema.Renglones[1, 3] = new Renglon(6, 8);
            problema.Renglones[2, 3] = new Renglon(4, 1);


            Nash objNash = new Nash(problema);

            objNash.encontrarEquilibrios();

            Assert.AreEqual(objNash.TieneEquilibrios, true);
            Assert.AreEqual(objNash.CuantosEquilibriosTiene, 1);

            Assert.AreEqual(objNash.Filas, 3);
            Assert.AreEqual(objNash.Columnas, 4);
        }
Exemplo n.º 2
0
        public void MatrizNashTestInicializador()
        {
            MatrizNash matriz = new MatrizNash(2, 3);

            Assert.AreEqual(matriz.Filas, 2);
            Assert.AreEqual(matriz.Columnas, 3);
        }
Exemplo n.º 3
0
        public void MatrizNashTestEncontrarColumnasMayorPago()
        {
            MatrizNash matriz = new MatrizNash(2, 3);

            matriz.Renglones[0, 0] = new Renglon(5, 55);
            matriz.Renglones[1, 0] = new Renglon(3, 15);

            matriz.Renglones[0, 1] = new Renglon(10, 0);
            matriz.Renglones[1, 1] = new Renglon(0, 10);

            matriz.Renglones[0, 2] = new Renglon(6, 20);
            matriz.Renglones[1, 2] = new Renglon(8, 11);
            /*Las filas sólo aplican para los valores del pagoX*/
            int fila = matriz.encontrarFilaMayorPago(0);

            Assert.AreEqual(fila, 0);

            fila = matriz.encontrarFilaMayorPago(1);
            Assert.AreEqual(fila, 0);

            fila = matriz.encontrarFilaMayorPago(2);
            Assert.AreEqual(fila, 1);

            Assert.AreEqual(matriz.Filas, 2);
            Assert.AreEqual(matriz.Columnas, 3);
        }
Exemplo n.º 4
0
        public void NashTestInicializador()
        {
            MatrizNash problema = new MatrizNash(2, 2);

            Nash objNash = new Nash(problema);

            Assert.AreEqual(objNash.TieneEquilibrios, false);
            Assert.AreEqual(objNash.CuantosEquilibriosTiene, 0);
            Assert.AreEqual(objNash.Filas, 2);
            Assert.AreEqual(objNash.Columnas, 2);
        }
Exemplo n.º 5
0
        public void NashTestMatriz2x2()
        {
            MatrizNash problema = new MatrizNash(2, 2);

            problema.Renglones[0, 0] = new Renglon(7, 4);
            problema.Renglones[1, 0] = new Renglon(5, 2);

            problema.Renglones[0, 1] = new Renglon(3, 1);
            problema.Renglones[1, 1] = new Renglon(8, 6);

            Nash objNash = new Nash(problema);

            objNash.encontrarEquilibrios();

            Assert.AreEqual(objNash.TieneEquilibrios, true);
            Assert.AreEqual(objNash.CuantosEquilibriosTiene, 2);
            Assert.AreEqual(objNash.Filas, 2);
            Assert.AreEqual(objNash.Columnas, 2);
        }
Exemplo n.º 6
0
        public void NashTestDilemaPrisionero()
        {
            MatrizNash problema = new MatrizNash(2, 2);

            problema.Renglones[0, 0] = new Renglon(5, 5);
            problema.Renglones[1, 0] = new Renglon(0, 10);

            problema.Renglones[0, 1] = new Renglon(10, 0);
            problema.Renglones[1, 1] = new Renglon(1, 1);

            Nash objNash = new Nash(problema);

            objNash.encontrarEquilibrios();

            Assert.AreEqual(objNash.TieneEquilibrios, true);
            Assert.AreEqual(objNash.CuantosEquilibriosTiene, 1);
            Assert.AreEqual(objNash.Filas, 2);
            Assert.AreEqual(objNash.Columnas, 2);
        }
Exemplo n.º 7
0
        public void NashTestCadenasTv()
        {
            MatrizNash problema = new MatrizNash(2, 2);

            problema.Renglones[0, 0] = new Renglon(27, 27);
            problema.Renglones[1, 0] = new Renglon(20, 40);

            problema.Renglones[0, 1] = new Renglon(40, 20);
            problema.Renglones[1, 1] = new Renglon(50, 50);

            Nash objNash = new Nash(problema);

            objNash.encontrarEquilibrios();
            Assert.AreEqual(objNash.TieneEquilibrios, true);
            Assert.AreEqual(objNash.esEsquilibrioElRenglon(27, 27), true);
            Assert.AreEqual(objNash.esEsquilibrioElRenglon(50, 50), true);

            Assert.AreEqual(objNash.CuantosEquilibriosTiene, 2);
            Assert.AreEqual(objNash.Filas, 2);
            Assert.AreEqual(objNash.Columnas, 2);
        }
Exemplo n.º 8
0
        public void NashTestMatriz3x2()
        {
            MatrizNash problema = new MatrizNash(3, 2);

            problema.Renglones[0, 0] = new Renglon(3, 9);
            problema.Renglones[1, 0] = new Renglon(4, 2);
            problema.Renglones[2, 0] = new Renglon(-2, 1);

            problema.Renglones[0, 1] = new Renglon(4, -1);
            problema.Renglones[1, 1] = new Renglon(1, 8);
            problema.Renglones[2, 1] = new Renglon(5, 0);

            Nash objNash = new Nash(problema);

            objNash.encontrarEquilibrios();

            Assert.AreEqual(objNash.TieneEquilibrios, false);
            Assert.AreEqual(objNash.CuantosEquilibriosTiene, 0);
            Assert.AreEqual(objNash.Filas, 3);
            Assert.AreEqual(objNash.Columnas, 2);
        }
Exemplo n.º 9
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string[] nombresFilasColumnas = { "", "CONFIEZA", "NO CONFIEZA" };

            MatrizNash problemaPrisionero = new MatrizNash(2, 2);

            problemaPrisionero.Renglones[0, 0] = new Renglon(5, 5);
            problemaPrisionero.Renglones[1, 0] = new Renglon(0, 10);

            problemaPrisionero.Renglones[0, 1] = new Renglon(10, 0);
            problemaPrisionero.Renglones[1, 1] = new Renglon(1, 1);

            problemaPrisionero.NombresColumnas = nombresFilasColumnas;
            problemaPrisionero.NombresFilas    = nombresFilasColumnas;

            Nash objNash = new Nash(problemaPrisionero);

            objNash.encontrarEquilibrios();

            divResultPrisionero.InnerHtml = objNash.imprimirTablaHtml("tablaPrisioneros");



            string[] nombresFilasColumnas2 = { "", "SI PUBLICIDAD", "NO PUBLICIDAD" };

            MatrizNash problemaCadenas = new MatrizNash(2, 2);

            problemaCadenas.Renglones[0, 0] = new Renglon(27, 27);
            problemaCadenas.Renglones[1, 0] = new Renglon(20, 40);

            problemaCadenas.Renglones[0, 1] = new Renglon(40, 20);
            problemaCadenas.Renglones[1, 1] = new Renglon(50, 50);

            problemaCadenas.NombresColumnas = nombresFilasColumnas2;
            problemaCadenas.NombresFilas    = nombresFilasColumnas2;

            objNash = new Nash(problemaCadenas);

            objNash.encontrarEquilibrios();

            divResultCadenas.InnerHtml = objNash.imprimirTablaHtml("tablaCadenas");


            string[] nombresFilas    = { "", "OPC A", " OPC B", "OPC C" };
            string[] nombresColumnas = { "", "OPC W", "OPC X", "OPC Y", "OPC Z" };

            MatrizNash problema3X4 = new MatrizNash(3, 4);

            problema3X4.Renglones[0, 0] = new Renglon(0, 6);
            problema3X4.Renglones[1, 0] = new Renglon(4, 5);
            problema3X4.Renglones[2, 0] = new Renglon(3, -2);

            problema3X4.Renglones[0, 1] = new Renglon(3, -1);
            problema3X4.Renglones[1, 1] = new Renglon(-1, 7);
            problema3X4.Renglones[2, 1] = new Renglon(10, 5);

            problema3X4.Renglones[0, 2] = new Renglon(4, 9);
            problema3X4.Renglones[1, 2] = new Renglon(10, 2);
            problema3X4.Renglones[2, 2] = new Renglon(-2, 3);

            problema3X4.Renglones[0, 3] = new Renglon(12, 2);
            problema3X4.Renglones[1, 3] = new Renglon(6, 8);
            problema3X4.Renglones[2, 3] = new Renglon(4, 1);


            problema3X4.NombresColumnas = nombresColumnas;
            problema3X4.NombresFilas    = nombresFilas;

            objNash = new Nash(problema3X4);

            objNash.encontrarEquilibrios();

            divResultMatriz.InnerHtml = objNash.imprimirTablaHtml("tablaMatriz3x4");
        }