Ich habe ein Universum von Elementen, die in n nicht disjunkte Mengen organisiert sind. Ich habe m Ausdrücke mit diesen Sets gebaut, mit Union/Kreuzung/Differenz-Operatoren. Bei einem Element muss ich diese m Ausdrücke auswerten, um herauszufinden, welche der "abgeleiteten" Mengen das Element enthält. Ich möchte das "abgeleitete" Set nicht berechnen, weil es sehr zeit- und platzineffizient sein wird. Gibt es eine Möglichkeit zu sagen, ob ein Element in einer der abgeleiteten Mengen liegt, nur indem man seinen Ausdruck betrachtet? Für z.B. Wenn der Ausdruck C = A U B ist und das Element in Menge A liegt, kann ich sagen, dass es in Menge C liegt. Gibt es C-Bibliotheken, um Berechnungen dieser Art durchzuführen?Auswertung von Mengenausdrücken
5
A
Antwort
4
wenn im nicht irrt, let e = das Element
jeden Satz A, B mit echten ersetzen, wenn e in der Menge ist, falsch, wenn es nicht. Konvertieren Sie dann die Mengenoperatoren in ihre logischen Entsprechungen und bewerten Sie den Ausdruck als boolesch. Es sollte alles gut zu Booleschen Operatoren, sogar Xor und so weiter passen.
zum Beispiel, wenn e in beide AB, aber nicht D
C = (A U B) xor D
es in C sein würde, weil
C = (true or true) xor false
-> (true) xor false
-> true
Das ziemlich schnell sein könnte, wenn Sie schnell, ob ein Element finden ist in einem Set
Verwandte Themen
- 1. Auswertung von Code-Metriken
- 2. Tensorflow Auswertung: Auswertung aller Bilder
- 3. SQL-Auswertung von IF-Klauseln
- 4. Verzögerung der Auswertung von Listenelementen
- 5. Lisp Auswertung von lassen Aussagen
- 6. Reihenfolge der Auswertung von Ausdrücken
- 7. PySpark Auswertung
- 8. Operatoren Auswertung
- 9. Metaprogrammierung Auswertung
- 10. Enum Auswertung in C#
- 11. Präprozessor-Konstante Auswertung
- 12. Auswertung: dependent =>: destroy
- 13. FPGA-basierte RTL-Auswertung
- 14. Javascript Schließung sofortige Auswertung
- 15. Wired Verhalten Auswertung Tupel
- 16. Reihenfolge der Auswertung von || und && in c
- 17. Von links nach rechts Ausdruck Auswertung
- 18. Wie in debug.log Auswertung von Wert zwingen
- 19. Abkürzung Auswertung von numpy Array-Vergleich
- 20. Lambda-Kalkül Reduction/Auswertung von Ausdrücken
- 21. Kompilierzeit Auswertung von literalen Typ Mitglieder
- 22. Ignorieren Auswertung von '\ n' Charakter in sys.argv
- 23. Stacks - Auswertung von Postfix-Ausdrücken in C
- 24. JML Auswertung von \ alt (Ausdruck [Id])
- 25. Auswertung von XPath-Befehle mit Java
- 26. faul Auswertung von Variablen in Javascript
- 27. C++ Boolesche Auswertung
- 28. Verzögerte Auswertung in Clojure
- 29. Debugging Ausdruck Auswertung
- 30. Auswertung eines eingefrorenen Strings
heh, ich erinnere mich an dieses Zeug jetzt. "A - B" ist genau dann wahr, wenn A wahr und B falsch ist. – goat
Das ist eine ziemlich gute Lösung, danke! Ich habe bereits eine Karte von Elementen und den Mengen, zu denen sie gehören, also sollte die Berechnung schnell sein. – Oceanic