Foro SofosAgora

Foro abierto a los intereses de sus usuarios. Debate, aprende y diviértete.
Fecha actual 23 Jun 2018, 04:12

Todos los horarios son UTC + 1 hora [ DST ]




Nuevo tema Responder al tema  [ 27 mensajes ]  Ir a página 1, 2, 3  Siguiente
Autor Mensaje
 Asunto: ¿Mét. para detectar contradicción en sist. d inecuaciones <?
NotaPublicado: 09 Abr 2018, 21:34 
Desconectado
Avatar de Usuario

Registrado: 10 Ago 2011, 20:39
Mensajes: 8250
¿Método para detectar contradicción en sistemas de inecuaciones <?

Por ejemplo en este:
A < B
C < D
D < A
B < C

Cosas que anduve escribiendo (muy desordenadas, no tengo algo del todo claro)
Spoiler: show
Se me ocurre:

Paso 1:
Asignar distintos valores a las incógnitas.
A = 1
B = 2
C = 3
D = 4

Paso 2:
Crear lista ordenada según valores.
Pos1 = A
Pos2 = B
Pos3 = C
Pos4 = D

Paso 3:
Revisar las relaciones una por una cambiando los valores y posiciones si corresponde.
Si eval(Condición1valor2) <= eval(Condición1valor1)
// Si B < A



















Asignar distintos valores a las incógnitas.
A = 1
B = 2
C = 3
D = 4

Paso 2:
Revisar las relaciones una por una cambiando los valores si corresponde.
Si eval(Condición1valor2) <= eval(Condición1valor1)


Si Condición1valor1 < Condición1valor2
// Si A < B
Si eval(Condición1valor1)







Revisar que se cumplan las relaciones usando los valores. Si no se cumplen, hay

contradicción.









Crear una lista ordenada según valores, si es posible.
Pos1 = A
Pos2 = B
Pos3 = C
Pos4 = D

Reducirlos y crear una lista, todo de acuerdo a las relaciones.
Condición1valor1(sólo referencia) = Condición1valor2(sólo referencia) - 1
// A = B-1


Pos1 = Condición1valor1(sólo referencia)
// Pos1 = A
Pos2 = Condición1valor2(sólo referencia)
// Pos2 = B
Si Condición1valor1(sólo referencia)




A = 100
B = 100
C = 100
D = 100
D = 100



A = 100
B = 101
C = 102
D = 103
D = 99
O en otras palabras: DABC

Paso 2:
Revisar que se cumplan las relaciones usando los valores. Si no se cumplen, hay

contradicción.

Si condición1porte1

_________________
Si no puedes hacerlo, intenta primero hacer algo más simple aunque similar.


Arriba
 Perfil  
Responder citando  
 Asunto: Re: ¿Mét. para detectar contradicción en sist. d inecuacione
NotaPublicado: 10 Abr 2018, 06:38 
Desconectado
Avatar de Usuario

Registrado: 10 Sep 2017, 20:00
Mensajes: 951
Ubicación: España
Rango personalizado: Aprendiz del viento
Citar:
Tachikomaia.
A < B
C < D
D < A
B < C

No me acuerdo del todo de las inecuaciones, lo saco por lógica poniendo juntas las inecuaciones de la misma letra: Por ejemplo empiezo por la A y pongo todas las inecuaciones en que sale la A:

Primero junto los que tienen la A:
Si A <B y D <A
entonces:
D < A < B

Ahora pongo juntas las que incluyen la siguiente letra de tu ejemplo la C:
Si C < D y B< C
entonces:
B < C < D

Conclusión:
Si D <A<B y B< C <D
Entonces el orden finalmente de menor a mayor es este:
D < A <B < C < D


D es el menor de todos, pero C < D lo lía todo porque entonces de pronto D es mayor que C. Eso no puede ser.

Nos ha dado este orden de menor a mayor:
D < A <B < C < D

Pero creo que es imposible, porque D no puede ser menor que A si es mayor que C.
Conclusión: Hay contradicción. Porque:
C < D es incorrecto y hace incorrecto el sistema de inecuaciones del inicio.

(Así no necesitas dar variables más que para comprobar que es cierto. El orden de tus letras es: D < A <B < C < D).


Arriba
 Perfil  
Responder citando  
 Asunto: Re: ¿Mét. para detectar contradicción en sist. d inecuacione
NotaPublicado: 10 Abr 2018, 08:55 
Desconectado
Avatar de Usuario

Registrado: 03 Ene 2018, 17:00
Mensajes: 230
Tachikomaia escribió:
¿Método para detectar contradicción en sistemas de inecuaciones <?


¿Sin resolverlo?, no que yo conozca.

En casos simples te puedes ir por lo gráfico.
Por ejemplo un sistema de ecuaciones de primer grado es inconsistente si al graficarlo salen rectas paralelas.
Un sistema de inecuaciones inconsistente al graficarlo no habría intersección de áreas, o directamente no lo podrías graficar.
Pero eso es equivalente a resolverlo.


Arriba
 Perfil  
Responder citando  
 Asunto: Re: ¿Mét. para detectar contradicción en sist. d inecuacione
NotaPublicado: 10 Abr 2018, 10:04 
Desconectado
Avatar de Usuario

Registrado: 10 Ago 2011, 20:39
Mensajes: 8250
martesk escribió:
Primero junto los que tienen la A:
Si A <B y D <A
entonces:
D < A < B

Ahora pongo juntas las que incluyen la siguiente letra de tu ejemplo la C:

Código:
A = "No listado"
B = "No listado"
C = "No listado"
D = "No listado"
Inecuaciones = 4
// Listar el 1er valor paso 1/2.
Lista1parte1 = condición1valor1
Lista1parte2 = condición1valor2
Lista1tamaño = 2


Código:
// Listar el 1er valor paso 2/2.
Si condición2valor1 == condición1valor1
   Lista1parte3 = condición2valor2
sino si condición2valor2 == condición1valor1
   Lista1tamaño = Lista1tamaño + 1
   Contador = Lista1tamaño
   Repetir
      Lista1parte(Contador) = Lista1parte(Contador-1)
      Contador = Contador-1
      // (*).
   mientras Lista1parte(Contador) == condición1valor1
   Lista1parte(tamaño) = condición2valor1
fin de los si
En el paso 2 me haría falta poner un repetir al inicio y que en vez de condición2 diga condición(Contador2). Hacer do whiles me hace humear bastante el cerebro.

Encima todo eso habría que transformarlo en otra repetición cambiando condición1valor1 por el que aparezca y que no esté listado.

Es curioso que sea tan difícil, probablemente estoy haciendo algo mal.

(*): El proceso haría esto:
Tenemos que
Lista1parte1 = A
Lista1parte2 = B
Comienza (ahora sí)
Lista1tamaño = 3
Contador = 3
// Comienza la repetición:
Lista1parte3 = Lista1parte2
Contador = 2
// 2nda.
Lista1parte2 = Lista1parte1
Contador = 1
// Termina porque Lista1parte(1) es A.

Mustafá Mond escribió:
En casos simples
Olvidé los otros. Donde hay sumas y demás. Y bueno, quise empezar por lo simple.

Las inecuaciones que planteo no necesitan resolverse...

Citar:
te puedes ir por lo gráfico.
Por ejemplo un sistema de ecuaciones de primer grado es inconsistente si al graficarlo salen rectas paralelas.
Un sistema de inecuaciones inconsistente al graficarlo no habría intersección de áreas, o directamente no lo podrías graficar.
Pero eso es equivalente a resolverlo.
¿Cómo se grafica un sistema de inecuaciones?
https://www.montereyinstitute.org/cours ... al_es.html
Bien... pero yo no tengo valores que graficar, no entiendo.

_________________
Si no puedes hacerlo, intenta primero hacer algo más simple aunque similar.


Arriba
 Perfil  
Responder citando  
 Asunto: Re: ¿Mét. para detectar contradicción en sist. d inecuacione
NotaPublicado: 10 Abr 2018, 10:49 
Desconectado
Avatar de Usuario

Registrado: 03 Ene 2018, 17:00
Mensajes: 230
Tachikomaia escribió:
pero yo no tengo valores que graficar, no entiendo.


Pero tienes relaciones.
Hazlo en una sola dimensión:

eje unidimensional: ------------------------------------

Coloca B (donde quieras):

--------------------------B---------

Coloca A (donde quieras, pero por debajo de B):

-----------------A--------B---------

Coloca el resto:

------C----D-----A--------B---------

Ahora trata de colocar B en ese eje de forma que esté antes que C.
No puedes, porque ya está después.
Tu sistema es inconsistente.

Pero esto es resolver el sistema.
Porque aunque no tienes valores para tus incógnitas, estás intentando dar unos que cumplan la inecuación.
Obviamente no encuentras tales valores porque no hay un número que cumpla que x < x.

Pero no conozco un método para detectar inconsistencias sin tratar de resolver (por un medio u otro) el sistema.


Arriba
 Perfil  
Responder citando  
 Asunto: Re: ¿Mét. para detectar contradicción en sist. d inecuacione
NotaPublicado: 10 Abr 2018, 12:07 
Desconectado
Avatar de Usuario

Registrado: 10 Ago 2011, 20:39
Mensajes: 8250
Intentando entender el método que a medias tengo en mente.

Código:
// Crear una lista de los valores:
P1 = A
P2 = B
P3 = C
P4 = D
// Asignares "valor real":
A = 1
B = 2
C = 3
D = 4
// Lista de inecuaciones:
Cond1Val1 = "A"
Cond1Val2 = "B"
// etc


Código:
Si eval(Cond1Val2) <= eval(Cond1Val1)
   Resumen = "P"+(eval(Cond1Val1)-1))
   Backup = eval(Resumen)
   set variable (Resumen, Cond1Val1)
   Resumen2 = "P"+(eval(Cond1Val1)
   set variable (Resumen2, Backup)
   set variable (Backup, Backup+1)


Si no estoy confundido (muy probable) eso, cuando según los valores asignados el valor1 no es menor al valor2, hace una copia del valor que en la lista está antes del valor2. Luego dicha posición es ahora ocupada por el valor2, y la que ocupaba es ahora ocupada por el otro que ha sido sustituído (explicaré todo esto con un ejemplo). Por último, aumenta el valor.

Ejemplo:
Supongamos que la relación fuese B < A.

2 < 1 es falso, es decir, 1 <= 2.
Entonces se activa ese proceso, esto hace:
Resumen = "P1"
Backup = "A"
set variable (Resumen, Cond1Val1): P1 = "B"
Resumen2 = "P"+(eval(Cond1Val1) = "P2"
set variable (Resumen2, Backup): P2 = "A"
set variable (Backup, eval(Backup)+1): A = 2

Eso se repetiría (me falta agregar ese asunto) desde Backup hasta que sea igual que Cond1Val2, o sea "A", o sea, el valor menor se va acomodando en la lista hasta que queda por delante del mayor.
Para terminar, el valor de B se adaptaría también.

La cosa inicialmente es:
P1 = "A"
P2 = "B"
A = 1
B = 2
...y tras es proceso sería:
P1 = "B"
P2 = "A"
A = 2
B = 1

¿Por qué preciso asignarles un valor?
Para que al comparar sea más fácil. Sino tendría que buscarlos en la lista, sin saber en qué posición están.

¿Por qué preciso crear una lista?
De momento no veo el motivo. Si sobra, mejor, la sacaré, veremos.

Confusiones varias que quedaron mientras escribí, las dejo por las dudas.
Incluye un intento de mostrar mejor cómo se traducen los "eval"
Spoiler: show
Resumen = "P"+(eval(Cond1Val1)-1)) = "P"+(eval("B")-1)) = "P"+(B-1) = "P"+(2-1) = "P"+(1) = "P1"
Backup = eval(Resumen) = eval("P1") = P1 = "A"
set variable (Resumen, Cond1Val1): P1 = "B"
set variable ("P"+(eval(Cond1Val1)), Backup): P2 = "A"

set variable (Resumen, Cond1Val1)
Resumen2 = "P"+(eval(Cond1Val1)
set variable (Resumen2, Backup)
set variable (Backup, Backup+1)



set variable (eval(Resumen), Backup+1): P1
[/color]

Bueno, eso está mal, no más por hoy.

Resumen = "P1"
Backup = 1
P1 = "B"
P2 =
set variable ("P"+(eval(Cond1Val1)), Backup)


set variable ("P"+(Cond1Val1), Backup)


set variable ("P"+(Cond1Val1), Backup)
set variable (eval(Resumen), Backup+1)


intercambia posiciones y modifica el valor
Entrevera un poco, pero no es tan difícil eso.
Supongamos que
A = 1
P1 = "A"
...
Si decimos eval(P1) el resultado será 1, convierte el "A" en A, y A es 1.

¿Para qué sirve?
Una forma de decirlo es para lograr referencias variables, sirve para evitar nombrar muchas veces cosas que sólo cambian por un número o cosas por el estilo.

En vez de decir "si cond1val1...", "si cond2val1...", etc, etc, se puede hacer una única condición "si eval("cond"+X+"val1")" variando X.

set variable hace algo similar. Crea variables de nombres variables.
Sería equivalente a por ejemplo decir "P"+1 = "A", pero cuando se define una variable usando el signo de igual lo que está a la izquierda debe ser algo "normal", sin comillas ni sumas. Cuando se quiere algo "anormal", se usa "set variable" y otro formato.

Digo esto porque lo uso bastante, y no es invento mío, es actionscript de Macromedia Flash 5, así que bueno, no es chino, tal vez les resulte más fácil entenderlo de lo que a mí me resulta entender ciertas cosas que dicen.

_________________
Si no puedes hacerlo, intenta primero hacer algo más simple aunque similar.


Arriba
 Perfil  
Responder citando  
 Asunto: Re: ¿Mét. para detectar contradicción en sist. d inecuacione
NotaPublicado: 10 Abr 2018, 12:24 
Desconectado
Avatar de Usuario

Registrado: 10 Ago 2011, 20:39
Mensajes: 8250
Mustafa.

Básicamente la solución que planteas sería por ejemplo plantear que
A = 1000
B = 2000

¿Luego
C = 1000
D = 2000?

¿Luego?

No puedo saber así nomás qué conviene.

Si hago que D sea A/2 entonces dejaría de cumplirse que C<D, pero por el momento no hay contradicción así que eso (que una relación tenida en cuenta se rompa) no debería ocurrir aún.

Si hago que A valga 2000 o whatever tendría que aumentar B.

¿Me explico? Ese método más o menos lo había pensado, pero así nomás no funciona. Al cambiar una cosa tiene que estar especificado por ahí qué otras deben cambiarse.

Otra cosa sería asignar posiciones en una lista. Pero como dije en el post anterior, necesito asignarles valores porque sino cada vez que quiera ver si se cumplen las condiciones tendría que ver en qué lugar están en la lista los valores. Si la lista fuese larga ¿te imaginás? ¿A está 1ero? No. ¿2ndo...? etc. Ni siquiera a ojo sería tan fácil.

_________________
Si no puedes hacerlo, intenta primero hacer algo más simple aunque similar.


Arriba
 Perfil  
Responder citando  
 Asunto: Re: ¿Mét. para detectar contradicción en sist. d inecuacione
NotaPublicado: 10 Abr 2018, 13:52 
Desconectado
Avatar de Usuario

Registrado: 03 Ene 2018, 17:00
Mensajes: 230
Hola Tachikomaia,

Tu pregunta fue acerca de predecir sistemas de inecuaciones sin solución.
Yo no conozco método alguno, así que mi consejo es que resuelvas el sistema.

Necesitas un método numérico para resolver sistemas de inecuaciones.
Seguro que lo conoces para los sistemas de ecuaciones: creas la matriz de coeficientes, calculas el determinante, etc.

http://www.sc.ehu.es/sbweb/fisica3/numerico/ecuaciones/matrices_1.html

Las inecuaciones definen rangos, pero deberías buscar en esa línea: un método numérico que te permita resolverlas, porque sin resolverlas no vas a poder predecir aquellas sin solución.


Arriba
 Perfil  
Responder citando  
 Asunto: Re: ¿Mét. para detectar contradicción en sist. d inecuacione
NotaPublicado: 10 Abr 2018, 18:25 
Desconectado
Avatar de Usuario

Registrado: 10 Sep 2017, 20:00
Mensajes: 951
Ubicación: España
Rango personalizado: Aprendiz del viento
Sorry Tachi

no entiendo nada de lo que decís.

Con el sistema que te he expuesto puedes calcular las relaciones y siempre tendrías claro si cuadraría o no al poner las variables numéricas que quieras, siempre sabrías si cuadrará o no. Yo había pensado que la clave era saber si es correcto o no el sistema de ecuaciones, por eso te mostré que de base tu ejemplo no sirve, o sea cómo mostrar si es válido o no. Más no te puedo decir porque no entiendo el lenguaje en el que estáis hablando.


Arriba
 Perfil  
Responder citando  
 Asunto: Re: ¿Mét. para detectar contradicción en sist. d inecuacione
NotaPublicado: 10 Abr 2018, 22:25 
Desconectado
Avatar de Usuario

Registrado: 10 Ago 2011, 20:39
Mensajes: 8250
Mustafá me muestras un "curso" de algo que parece complicado aprender, no creo que sea necesario.

Pero todo método que se me ocurre implica asignar valores de un modo u otro, así que si a eso llamas resolver las inecuaciones, concuerdo en que deben resolverse.

martesk escribió:
Sorry Tachi

no entiendo nada de lo que decís.

Con el sistema que te he expuesto puedes calcular las relaciones y siempre tendrías claro si cuadraría o no al poner las variables numéricas que quieras, siempre sabrías si cuadrará o no. Yo había pensado que la clave era saber si es correcto o no el sistema de ecuaciones, por eso te mostré que de base tu ejemplo no sirve, o sea cómo mostrar si es válido o no. Más no te puedo decir porque no entiendo el lenguaje en el que estáis hablando.
Es un ejemplo de un sistema de ecuaciones donde hay una contradicción. Pude haber puesto uno donde no lo hubiera. Creo que entendemos todo esto, más allá de que digas "tu ejemplo no sirve".

Intentaré desarrollar tu método. Mi lenguaje más allá de la programación creo que es normal, lo que pasa es que no entiendes las cosas que haces mentalmente cuando aplicas tu método. No sabes los detalles de tu método.

_________________
Si no puedes hacerlo, intenta primero hacer algo más simple aunque similar.


Arriba
 Perfil  
Responder citando  
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 27 mensajes ]  Ir a página 1, 2, 3  Siguiente

Todos los horarios son UTC + 1 hora [ DST ]


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro

Buscar:
Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO