Dutzel / TTV-Lab2

0 stars 0 forks source link

ermittelung des startknotens #3

Closed fabianHAW closed 6 years ago

fabianHAW commented 6 years ago

funktionalität einbauen, die erkennt ob ein knoten der startknoten ist. startknoten ist definiert durch id=2¹⁶⁰ -1

Dutzel commented 6 years ago

/**

fabianHAW commented 6 years ago

stimmt, in der aufgabenstellung steht, dass der startknoten derjenige ist mit der 2¹⁶⁰ -1 und die wird nicht vergeben..dies ändert aber nichts an der tatsache, dass wir durch die "successor-methode" nun ermitteln ob wir der knoten mit der größten id sind. daher denke ich, dass wir nun in der lage sind, zu bestimmen, ob wir der knoten mit der größten id sind ;)

Dutzel commented 6 years ago

Mir ist gerade aufgefallen, dass ich hier leider noch einen Denkfehler hatte...

In der Aufgabenstellung steht: "Der Spieler mit dem größten Knotenschlüssel beginnt (Besitzer des Schlüssels (2^160)-1."

Ich habe das beim lesen falsch verstanden. Hierbei geht es um den Knoten, der in seinem Intervall den genannten Schlüssel enthält, somit berechnen wir den Startknoten folgendermaßen:

if((this.impl.getPredecessorID().toBigInteger().compareTo(maxNodekey) == -1) && this.impl.getID().toBigInteger().compareTo(this.impl.getPredecessorID().toBigInteger()) == -1){ System.err.println("I am (" + this.impl.getID() + ") the very first player allowed to shoot!"); }

fabianHAW commented 6 years ago

oh jau, da ist was dran! so habe ich das auch noch nicht interpretiert ;)

allerdings ist die erste bedingung eine zuviel, da diese immer true ist. jeder predecessor ist kleiner als die maximale knotenid. die zweite bedingung hingegen ist korrekt. allerdings muss vorher noch eine weitere abfrage stattfinden. es kann sein, dass es einen knoten gibt der genau die maximale knotenid hat, dann wäre er der knoten der anfängt. d.h. ist der predecessor gleich der maxnode, ist er der der anfängt, sonst der erste knoten im ring.

fabianHAW commented 6 years ago

ok ist nun drin..siehe kommentar https://github.com/Dutzel/TTV-Lab2/issues/4#issuecomment-352174971