Ich verwende QuickCheck, um meinen Code für einige numerische Berechnungen zu testen. Im Grunde habe ich eine genaue Funktion und mehrere Annäherungen davon, die viel effizienter sind.Quickcheck für nicht boolesche Tests
Ich führe derzeit die Eigenschaften I zu testen, wie etwas will:
prop_blah input = (abs $ (exact input)-(approx input)) < threshold
Aber es wäre wirklich schön, genau zu wissen, wie genau jede der Approximationsalgorithmen und vergleichen sie miteinander. Ein einfacher Weg, dies zu tun, wäre, Berichte über die mittlere und Standardabweichung der linken Seite der Ungleichung zu erhalten. Ist das irgendwie möglich?
Nun, können Sie immer noch Quick Check der Rahmen für die Erzeugung von Zufallseingänge verwenden. Für die Berechnung von Statistiken magst du das offensichtlich genannte [statistics] (http://hackage.haskell.org/package/statistics) -Paket. –
Ich denke, Sie brauchen einen Beweis, dass 'approx 'kein Faktor * x * von der richtigen Antwort entfernt ist, mit diesem Wissen ist die Quickcheck-Eigenschaft trivial. Das heißt, es könnte helfen, Ihre approximative Funktion theoretisch zu analysieren. – Tarrasch
@Tarrasch Ich stimme zu, dass solch ein Beweis wäre schön, aber leider diese Algorithmen in der Regel ziemlich gut, aber schlechte Worst-Case-Leistung haben. So ähnlich wie eine Heuristik für NP-vollständige Probleme. –