Posts by schogglomat

    Hab die Tests noch so angepasst, dass sie ohne HUnit und in hugs laufen, um sie auch am g0 ausführen zu können. Außerdem sind Tests für das Zahlenraetsel dabei: http://lpaste.net/364926
    Die Tests für das Zahlenraetsel unterscheiden sich von der Angabe, weil die in der Angabe meiner Meinung nach falsch sind. Z. B. entspricht raetsel1 aus der Angabe nicht dem "obigen Beispiel", und raetsel4 hat eigentlich keine Lösung.


    Zum Ausführen der Tests einfach die beiden Funktionen in AufgabeFFP3.hs kopieren, in hugs laden, und zahlenraetselTest bzw. schachTest ausführen. Darauf achten, dass Data.Array und Data.List importiert werden.

    Ich habe Tests für den Schach-Teil von Aufgabe 3 geschrieben: http://lpaste.net/364909 UPDATE siehe post #4



    Damit mit den Tests verschiedene Implementierungen getestet werden können, wird nicht eine bestimmte Zugfolge erwartet, sondern jede beliebige bei der
    * die Anzahl der Züge stimmt
    * das Startfeld das erste und das Zielfeld das letzte Feld sind
    * die Zugfolge gültig ist, also "Nach" von Zug n ist "Von" von zug n+1
    * kein Zug über besetzte Felder führt

    Hi,


    funktioniert bei jemandem von euch das Aufrufbeispiel mit TargetScore = 100, also


    Code
    1. let db = [6,7,16,17,26,27,36,37,46,47] in dart_tsml db 100


    in hugs? Bei mir kommt sowohl lokal als auch am g0 "ERROR - Garbage collection fails to reclaim sufficient space". In ghci funktionierts sowohl lokal als auch am Server (mit richtigem Ergebnis, also nicht nur [6,47,47]).


    Ich frage, weil wenns bei jemandem von euch funktioniert, dann ist einfach meine Implementierung zu schlecht, aber wenns eh bei keinem geht dann lass ichs so wies ist =)

    Ja, schon. Aber ich denke, dass hier die Angabe ("der Absolutbetrag ... des Verhältnisses zweier aufeinanderfolgender Intervalle einen vorgegebenen Wert e > 0 annimmt oder unterschreitet") einfach schlecht formuliert ist. Denn in der Angabe steht auch: "Kombinieren Sie den Generator intervalnesting mit den Selektoren within und relative aus Aufgabenteil 1". Und wenn man dieses relative verwendet, dann ist egal, dass das Verhältnis immer 2:1 ist, weil die Funktion nicht den Wert benutzt, den man intuitiv als "Verhältnis" bezeichnen würde. Logisch find ich das ganze eigentlich nicht, aber ich glaub trotzdem, dass es das ist, was mit der Angabe gemeint ist.

    Wie berechnet ihr die Differenz bzw. das Verhältnis von 2 Intervallen?


    Nach einer der Vorlesungen haben ihn ein paar Studierende diverse Dinge zur Übung gefragt und ich glaube da hat er gesagt, wir sollen die Breite der Intervalle verwenden. Macht auch Sinn denke ich. Also ich habs so implementiert.

    Man kann Tupel zu einer Instanz von Num machen: https://hackage.haskell.org/pa…a.NumInstances.Tuple.html
    Die zweite Klasse, die man für within und relative braucht, ist Ord. Tupel sind bereits Instanzen von Ord: http://hackage.haskell.org/pac….9.1.0/docs/Data-Ord.html


    Das Programm kompiliert dann zwar, allerdings ist die Definition von -, abs, und <= für Tupel ohne vorherige Transformation des Generator-Streams nicht sinnvoll für den Selektor, weil der abbricht sobald man beim Teilen der Intervalle in den "f(xt) != 0 und f(at)f(xt) < 0" Fall kommt, was potentiell viel zu früh ist.


    Eine andere Frage: Wie sollen wir eigentlich den Generator repeat benennen, da es die Funktion mit dem Namen "repeat" schon gibt?


    Eine Möglichkeit ist, die Funktion aus dem Prelude zu verstecken:


    Code
    1. import Prelude hiding (repeat,null)



    Weiß jemand in welcher Reihenfolge die Parameter für die Funktionen welche nicht in den Folien beschrieben sind, zu wählen sind?


    Für null und relativeNull wurden mittlerweile die Funktionssignaturen in der Angabe ergänzt. Für intgrt und diff allerdings leider nicht =(

    I think there are three mistakes:
    1) The third constraint in the primal uses =, so the corresponding variable in the dual should be free.
    2) The variable x1 in the primal is constrained to >= 0, so the corresponding linear function in the dual should be constrained with <= c1
    3) Same as 2) for x3

    We can see from the table on slide 81 that they are used to find out the constraints in the dual problem: Because x1 >= 0 and c = (7,-10,6) in the primal, we know that in the dual the linear function 6p1 + 3p2 is constrained to be <= 7 ("reverse" the inequality as per table on slide 81 and use first value from cost vector c). Similarly, the dual has the constraint p1 + p2 - 2p3 >= -10, because x2 <= 0 in the primal and c2 = -10.

    have you come up with any other interesting properties? The graph of voronoi edges and vertices forms a tree but thats just a different way of saying that all cells are open ...

    when drawing the dual graph (Delaunay) this yields the (convex) input polygon!?


    I don't think that this is the case. Consider this voronoi diagram of a convex polygon (created using http://www.raymondhill.net/voronoi/rhill-voronoi.html):


    convex_voronoi.png


    Here, the cell of the vertex that is at "12 o'clock" is adjacent to the one at "3 o'clock", so the Delaunay graph would contain an edge between these two vertices, but the input polygon does not have an edge there.