Tengo un universo de elementos organizados en n conjuntos no disjuntos. Tengo expresiones m construidas usando estos conjuntos, usando operadores union/intersection/difference. Entonces, dado un elemento, necesito evaluar estas expresiones m, para descubrir cuál de los conjuntos "derivados" contiene el elemento. No quiero calcular el conjunto "derivado" porque será muy ineficiente en tiempo y espacio. ¿Hay alguna manera de decir si un elemento se encontrará en uno de los conjuntos derivados simplemente observando su expresión? Por ej. si la expresión es C = A U B y el elemento se encuentra en el conjunto A, entonces puedo decir que estará en el conjunto C. ¿Hay alguna biblioteca C para realizar cálculos de esta naturaleza?Evaluar expresiones de conjuntos
5
A
Respuesta
4
si no im error, Sea E = el elemento
reemplazar cada conjunto A, B con cierto si e está en el conjunto, falso si no lo es. Luego, convierta los operadores establecidos a sus equivalentes lógicos y evalúe la expresión como booleana. Todo debería corresponder bien a operadores booleanos, incluso xor y demás.
por ejemplo, no si E es tanto en AB, pero d
C = (A U B) xor D
sería en C porque
C = (true or true) xor false
-> (true) xor false
-> true
Eso podría ser muy rápido si se puede encontrar rápidamente si un elemento está en un conjunto
Cuestiones relacionadas
- 1. Evaluar expresiones contenidas como cadenas
- 2. ReportViewer 2010 no puede evaluar expresiones
- 3. Evaluar expresiones en entornos en Rcpp
- 4. evaluar expresiones en sentencias switch en C#
- 5. Cómo evaluar expresiones de usuario en un sandbox
- 6. Biblioteca funcionadora C++ para evaluar expresiones matemáticas/aritméticas
- 7. Evaluar: ¿cuándo se usa?
- 8. Evaluar expresión citada en F #
- 9. Bash: evaluar un término matemático?
- 10. ¿Hay un modismo de Python para evaluar una lista de funciones/expresiones con cortocircuitos?
- 11. Evaluar la función matemática de la cadena
- 12. "evaluar" función
- 13. evaluar dinámicamente lógica booleana simple en Python
- 14. Tiempo-complejidad de comprobar si dos conjuntos son iguales en Python
- 15. Entender membresía de objeto python para conjuntos
- 16. Evaluar la función
- 17. Evaluar expresión condicional
- 18. LLDB - Evaluar Dirección Registrar
- 19. ¿Cómo evaluar una IP?
- 20. Evaluar la expresión simbólica
- 21. R - Detectando expresiones
- 22. ¿Por qué aparece un error de "función de miembro no presente" al evaluar expresiones en el depurador de VC++?
- 23. Conjuntos de datos grandes
- 24. Actualizar conjuntos de marcadores
- 25. Conjuntos de cadenas constantes
- 26. Conjuntos de JavaScript
- 27. bash: ¿Cómo evaluar PS1, PS2, ...?
- 28. MSBUILD Condición Evaluar propiedad contiene
- 29. Evaluar cadena list.contains en JSTL
- 30. Evaluar funciones en varios puntos
heh, estoy recordando esto ahora. 'A - B' es verdadero si y solo si A es verdadero y B es falso. – goat
¡Es una solución excelente, gracias! Ya tengo un mapa de los elementos y los conjuntos a los que pertenecen, por lo que el cálculo debe ser rápido. – Oceanic