[Python-de] Optimierungsproblem: Sehr viele Permutationen testen

Hartmut Goebel h.goebel at goebel-consult.de
Do Nov 19 10:08:51 EST 2015


Hallo Peter,

Am 17.11.2015 um 15:41 schrieb Peter Otten:
> VERBOTEN(Farbe==Rot und Element=Feuer)
>
> Unter der Annahme, dass du 
>
> 1. 100 Farben und vier Elemente unterscheidest, dass 
> 2. sich die getesteten Eingaben gleichmäßig über Elemente und Farben 
> verteilen, und dass
> 3. jeder Test gleich lange dauert
>
> solltest du natürlich zuerst die Farbe testen -- der Test des Elements 
> entfällt dann in 99 von 100 Fällen.
> Hättest du zuerst das Element überprüft, wäre der zweite Test nur in 75% 
> entfallen.

Danke für Deinen Input.

Ah, daran, innerhalb der Regeln zu sortieren, hatte ich noch gar nicht
gedacht. Auch eine Idee - ich glaube aber nicht, dass der den großen
Durchbruch bringt. Denn wenn ich trotzdem über die Eigenschaften E1 bis
E23 iteriere, und Farbe und Element in den innersten Schleife iteriert
werden. bringt das wenig.

Ich habe also drei Optimierungs-Stellen:

 1.

    Reihenfolge, in der über die Eigenschaften iteriert wird. Hier
    anzusetzen halte ich für das interessanteste. Ich würde dann, ehe
    ich auf die nächste Eigenschaft gehe, prüfen ob die aktuelle
    Kombination (E1 bis En) überhaupt zulässig ist. Wenn nicht, kann ich
    es mir sie inneren Schleifen sparen.

 2.

    Reihenfolge der Regeln. Nachdem ich momentan nur "VERBOTEN" habe,
    kann ich die auch sortieren.

 3.

    Reihenfolge der Prüfungen innerhalb einer Regel. Das ist das, was Du
    vorgeschlagen hast.


3. ist klar. Wenn ich das noch mit 2. kombiniere, kann ich einiges Sparen.

1. und 2. muss man wohl in Kombination sehen. Stellt sich halt die
Frage: was ist die beste Sortierreihenfolge?


-- 
Schönen Gruß
Hartmut Goebel
Dipl.-Informatiker (univ), CISSP, CSSLP
Information Security Management, Security Governance, Secure Software
Development

Goebel Consult, Landshut
http://www.goebel-consult.de

Blog:
http://www.goebel-consult.de/blog/digitale-burgerrechte-in-der-ara-snowden
Kolumne:
http://www.cissp-gefluester.de/2011-10-aus-der-schublade-in-die-koepfe



Mehr Informationen über die Mailingliste python-de