Die Schwierigkeit von Tricks

Parallel zu den Eigenschaften eines Tricks, jetzt im präzisen Fall die Schwierigkeit eines Tricks.

Ich habe dazu auf einradfahren.de einen Newspost, als Einleitung für dieses Thema, geschrieben: http://einradfahren.de/index.php?module=mod_news&action=view&news_id=159

Wer etwas gutes beisteuert, wird diesmal belohnt. Ich freue mich auf eine rege Beteiligung und frohes diskutieren!

gossi

Direkt ein eigener Nachtrag:

Bewegungsrichtung

Bewegungen treten im Einradfahren in zwei Richtungen auf, vorwärts und rückwärts. Macht das in der Schwierigkeit einen Unterschied? Im generellen ist die Bewegung für Rückwärtsbewegungen die Hüfte nach vorne zu schieben. Ein universelles Bewegungsmuster, dass sich einmal gelernt auf andere Tricks übertragen lassen sollte. Der Vergleich zum Turnen, der Handstützüberschlag und die Rückwärtsbewegung dazu ist der Flick-Flack. Hier haben Vorwärts- und Rückwärtsbewegung gemein, dass sie als Überschlagselement geführt werden und beide eine Bogenspannung benötigen. Von der Ausführung her sind sie allerdings verschieden. Im Einradfahren, Gliding vorwärts und rückwärts, nur die angesprochene Hüfte. Wie stark fällt es also ins Gewicht? Zusammen mit den anderen Faktoren Bewegungsart + Abhängigkeit (+ Wichtigkeit)? Ich würde es bei diesen Faktoren als die mit dem geringfügisten Ausschlag angeben. Wie seht ihr das?

Und direkt ein follow-up für Street und Flat-Tricks: http://einradfahren.de/index.php?module=mod_news&action=view&news_id=160

Mal einen Tag Spaß gehabt:

In meiner bisherigen Formel gibt es 3 Faktoren:

  1. eine (leicht modifizierte) Version von PageRank
  2. die Wichtigkeit
  3. die Generation

1. PageRank

Der PageRank-Algorithmus selbst ist bereits sehr gut auf Wikipedia (siehe Link oben) beschrieben. Allerdings ist er für unsere Zwecke nicht ganz geeignet: Wenn man sich das Bild auf Wikipedia anschaut erkennt man weswegen:
Trick C ist von Trick B abhängig, bekommt aber im reinen PageRank einen niedrigeren Wert.

Deswegen wird in meiner Formel der berechnete PageRank-Wert auf mindestens den höchsten Wert der vorherigen Tricks + eine einstellbare Konstante gesetzt*. Das geschieht aber erst nach der Berechnung. Sollte Trick C also Voraussetzung für Trick X sein, so wird mit dem normalen PageRank-Wert gerechnet; nicht mit dem nachher erhöhten.

PageRank-Konstanten:
Dämpfung: 0,8
Minimale Steigerung: 0,2

Zwischendurch werden die Zahlen auch noch mit 1000 multipliziert, sonst wären sie zu klein.

Das ergibt dann Zahlen zwischen ~5,97 für den Side Ride und ~2,53 fürs normale Fahren.

  • Randbemerkung: bisher nur 2 Iterationen, mehr rechtfertigen (momentan) den Aufwand nicht.

2. Wichtigkeit

Wie auch schon auf einradfahren.de erklärt… Ich nehme allerdings nur die Anzahl der direkt nachfolgenden Tricks (Faktor 1) sowie die, die wiederrum auf diesen folgen (Faktor 0,5).

Das ergibt dann Zahlen zwischen 22 fürs normale Fahren und 0 für einen ganzen Haufen an Tricks.

Anzumerken ist noch, dass die Wichtigkeit sich negativ auswirkt: Je höher die Wichtigkeit eines Tricks desto niedriger fällt seine Teilbewertung aus.

3. Generation

Navi mal anders:
Wielang ist der längste Weg vom Trick zum normalen Fahren?

Veranschaulichung am Graphen des Trixionary:
Ich darf von einem Trick aus nur auf Linien weiter, die links vom Trick anfangen. Das kann dann aber (örtlich gesehen) auch nach rechts sein, wie z.B. beim Stand up Wheel Walk, bei dem ich lieber zum Stand up Gliding gehe als zum 1ft Wheel Walk. Jeder Schritt den ich dabei gehe zählt 1.

Das ergibt dann Zahlen zwischen 0 fürs normale Fahren und 6 für Stand up Gliding Pirouette sowie Stand up Kosh Kosh.

Die Berechnung

Schwierigkeit eines Tricks: S

PageRank eines Tricks: P
Wichtigkeit eines Tricks: W
Generation eines Tricks: G

Maximum aller Wichtigkeiten: Wm
Maximum aller Generationen: Gm

PageRank vom normalen Fahren: Pf

Hilfsvariablen: A; B; X1
Maxima der Hilfsvariablen: Am; Bm

1. Schritt:

A = (1 - (W / Wm)) * G

X1 = (A / Am) * 99 + 1

2. Schritt:

X2 = P * 10 - Pf * 10 + 1

Mittelbildung:

Das ist noch eins von meinen Problemen: Welches Mittel nehmen?
Bisher habe ich das arithmetische und das harmonische Mittel ausprobiert. Das arithmetische Mittel produziert meiner Meinung nach die besseren Ergebnisse.

Das arithmetische Mittel

B = (X1 + X2) / 2

S = B / (Bm / 100)

Schlussendlich kommt beim arithmetischen Mittel der höchste Wert (100) für ‘Stand up Kosh Kosh’ sowie ‘Stand up Gliding Pirouette’ heraus. Normales Fahren bekommt den Wert 1,65. Tricks mit Schwierigkeit über 50 gibts es 32 (von 78 Tricks).

Das harmonische Mittel

B = (2 * X1 * X2) / (X1 + X2)

S = B / (Bm / 100)

Schlussendlich kommt beim harmonischen Mittel der höchste Wert (100) für ‘Side Ride’ heraus. Normales Fahren bekommt den Wert 2,16. Tricks mit Schwierigkeit über 50 gibt es 15 (von 78 Tricks).

Sonstiges

Die Daten für das Testen des Algorithmus hab ich aus der Trixionary. Dort gibt es leider aber auch Fehler. Als Beispiel hierfür sei der ‘Invard Small Spin’ als Voraussetzung für den ‘Hickflip’ genannt.
Leider kenn ich mich (gerade im Streetbereich) viel zu wenig aus um sowas zu sehen.

Joa und ansonsten ist mein bisheriges OpenOffice-Dokument im Anhang. Zum Sortieren nach dem arithmetischem Mittel nach Spalte ‘J’ sortieren lassen, für das harmonische Mittel Spalte ‘H’.

Schwierigkeit eines Tricks.zip (123 KB)

Woooooooohooooooooo! Geiles Ding. Hat mich ne Stunde gekostet um es zu kapieren, verstanden habe ich es noch nicht. Hier bräuchte ich noch ein paar Beispiele mit Werten und Zwischenwerten.

Ein gelungener Ansatz. Der Tag soll dir belohnt werden www.betterforyourbody.com stellt dir daher einen Gutschein im Wert von 30€ aus.

So, nun aber mal zum Inhalt, deine Parameter:

  1. PageRank
    Die Idee dahinter? Jeder Trick gibt seine eigene Schwierigkeit an die nachfolgenden ab? Sehe ich das so richtig? Wenn ja, exzellent, bei solchen Abhängigkeiten lässt sich das durchaus so berechnen und ergibt somit eine Folgeschwierigkeit. War das auch dein Gedanke?

  2. Wichtigkeit
    Ich gehe mehr und mehr dazu über, die Wichtigkeit aus der Berechnung der Schwierigkeit herauszuziehen. Sie gibt eher an, wie wichtig der Trick für die Lernreihenfolge ist. Nichtsdestoweniger, durch 1 - W/Wm verkleinerst du ja den Faktor.

  3. Generation
    Ist ja ähnlich zum Wert Abhängigkeit, da kann ich also jetzt nichts schlechtes dazu zu sagen :smiley: Im Gegenteil: Mit Generation gehst du ja den längsten möglich Weg, siehe Graph (Anmerkung: Der Graph zeigt meistens nur einen dieser Wege an, das ist sein Problem noch). Wir können aber davon ausgehen, dass es mehrere Wege gibt - was ja auch der Fall ist. Welcher Weg bildet nun die Realität am besten ab? Ich sehe da zwei Möglichkeiten:

  1. Das Arithmetische Mittel aus dem längsten und kürzesten Weg.
  2. Der Weg, der am öftesten benutzt wird. Der Weg, der die höchste Summe der Wichtigkeit hat - ob das hinkommt?

Bei der Berechnung fehlen dir allerdings noch ein paar Parameter. Rotation oder nicht. Rückwärts oder nicht. Eine Steigerung der Werte ist gut bei dir zu erkennen. Die mit den höheren Werten gehen ganz klar auf die Abhängigkeiten und den PageRank Algorithmus und die Generation zurück, wenn ich das so richtig deute.

Im Moment klafft es noch zwischen Mathematischer Schwierigkeit und Sportlicher Schwierigkeit. Aber ich sehe einen guten Weg dahin, das anzugleichen. Die Intervalle, etwa zwischen Normalfahren und den ersten Folgetricks, sowie zweiter Welle Folgetricks können hier als Zwischenergebnis dienen, an denen man sich grob orientieren kann, ob das hinkommt. Auch auf die Parameterliste für die Berechnung und mit welchem Multiplikator dieser Faktor gewichtet wird, müssen dann dazu noch getuned werden. Die Mathematik an den Sport angepasst werden.

Zwecks meinem zweiten Post und nun auch in den Eigenschaften eines Tricks eingetragen: Die Eigenschaften eines Tricks? die Kompositionstricks. Im Newspost erwähnt ist hier ein Multiplier. Nach kurzem Gespräch mit dem Rocco, kam er aber auf eine bessere Idee, nämlich eine Funktion.

Statts also diesem hier:
Schwierigkeit 360 unispin = 2unispinmultiplier180 unispin

Ist das hier viel praktischer:
Schwierigkeit 360 unispin = UnispinMultiplier(2, Schwierigkeit vom 180 unispin)

und UnispinMultiplier hat zwei Parameter, den multiplier (x) und die basisschwierigkeit (s). Und nach Roccos Aussage, könnte die UnispinMultiplier eine x^3 sein.

Schwierigkeit eines Tricks = Wenn Trick eine Komposition, dann Summe der Komponenten, ansonsten … das von oben.

Ich werde dann nächste Woche das Trixionary nochmal umbauen, neue erforschte Dinge mit einbauen. Neue Eigenschaften zu den Tricks aufnehmen: Vorwärts/Rückwärts, Rotation/Translation, Transition, Kompositionen. Ich baue dann noch ne API dran, dann lässt sich von außen auf die Datensätze zugreifen und dynamische Berechnungen machen.

Carsten (und auch andere): Ich kann euch Webspace vergeben, womit ihr experimentieren könnt. Bitte meldet euch.

Cool, danke :slight_smile: Das motiviert sehr.

  1. PageRank
    Ja. Je mehr Voraussetzungen der Trick hat und je schwerer diese sind, desto schwerer ist der Trick selber. Die Modifikation gabs dann deswegen, weil z.B. ein Doubleflip nicht leichter ist als n Crankflip.

  2. Wichtigkeit
    Hier hab ich eher was gesucht um sowas wie “Endstufentricks” mehr Schwierigkeit zu geben. Der Grund dafür waren Tricks wie Handwalk (und noch extremer 1 Handwalk). In der Anfangsphase war Handwalk grad mal auf selber Stufe wie Coasting oder 1ft Spin; zudem noch weit leichter als Gliding.
    Zudem sind die Tricks, die für viele Andere Voraussetzung sind, sozusagen inflationär. Als Beispiel Gliding: In kaum einer weltklasse Kür wird das Gliding an sich benutzt, nur als Überleitung.
    Das macht den Trick an sich nicht leichter, doch irgendwie gehört er damit mehr und mehr zum Standardrepertoire eines Fahrers.

  3. Generation
    Die Idee dahinter war, dass ‘Endstufentricks’, die ohne viel Voraussetzungen erlernt werden können, ein wenig abzuschwächen. Als Beispiel die Pirouette: Ohne die Generation war die Pirouette ein richtig schwerer Trick, ein wenig schwerer als 1ft Wheel Walk bwd. Bei den Generationen ist sie allerdings nur in Generation 2 (vom Graphen aus hab ich Kurven fahren weggelassen, so dass einzige Voraussetzung der Spin ist).

Deine Punkte würden die Pirouette aber nicht weiter betreffen. Ich werd das mal ausprobieren :slight_smile:

Die Rückwärtstricks hatte ich zuerst drin, ebenso wie rückwärts fahren selber. Die Folge war, dass der PageRank sich bei Sachen wie Drag Seat in-front bwd überschlagen hat und diese Tricks megaschwer waren, auch im Verhältnis zu den vorwärts-Versionen. Beispiel: Drag Seat in-front: 18,47. Drag Seat in-front bwd: 100.
Für die Rückwärts-Sachen würd ich eher eine prozentuale Steigerung ihrer vorwärts-Varianten nehmen. 5-10% sollten da reichen.

Rotation:
Jupp. Ist mir bisher nichts gescheites zu eingefallen :slight_smile: Da müsste man aber auch eher Daten zu jedem einzelnen Trick haben. Die Rotation bei einer Pirouette ist weitaus härter als die von einem Body Varial. Eventuell kann man hier dann mit dem Winkel arbeiten. Das würde auch einen Unterschied zwischen unterschiedlich langen Pirouetten erstellen.

Multiplier:
Ebenso könnte auch für z.B. den Drehwinkel einer Pirouette oder die Weite eines Side/Rolling Hops gearbeitet werden. Ein Problem sehe ich dann aber dadrin, dass man dann effektiv definiert, wie schwer z.B. eine Pirouette ist. Bei der Pirouette würde ich eine n - x^(-1) vorschlagen, so dass eine endlose Pirouette sich irgendwo einem Wert n annähert und nicht einfach alles in den Schatten stellt.

Ausgezeichnet :slight_smile: Das ganze hab ich bisher nur in OpenOffice gemacht, Webspace und eine API für das Trixionary würde das um einiges erleichtern.

Beispiele mit (Zwischen-)Werten liefere ich im Laufe des Tages, jetzt geh ich erstmal pennen.

Ah, dann hab ich das Richtig verstanden, das macht so Sinn.

Dann waren die Werte für Handwalk eigentlich richtig. Sie sind nicht großartig schwerer, sie werden nur nicht so häufig gezeigt, deswegen wird angenommen, sie seien schwerer.

Hmm, die Pirouette ist sauschwer! :smiley: Aber die Schwierigkeit sollte aus dem Faktor Rotation kommen und nicht aus Enstufentricks.

Ich werde noch einen Newspost dazu schreiben, was Rotationen betrifft, da gibt es nämlich viele unterschiedliche, die auch sehr unterschiedlich bei der Berechnung der Schwierigkeit zu betrachten sind. Ich denke morgen, so bleibt Lutz video noch einen Tag oben.

Ja zusammen mit der Basisschwierigkeit muss hier ein gescheiter Multiplier verwendet werden, der sich auch bein einem 540 unispin VS standglide die Waage hält und hier nicht übertrumpft. Multiplierfunktionen können auch die Pirouetten betreffen und sind hier gut einzusetzen.

Wird wohl noch die nächste Woche dauern…

Jo, hatte ich auch angenommen :slight_smile:
Aber warum werden sie nicht gezeigt? Ich denke eher deswegen, weil es nicht erstrebenswert ist, Handwalk zu lernen. Es gibt halt (außer dem 1 Handwalk) keine Weiterentwicklung. Gliding ist insofern einfach besser zum lernen weils einfach Voraussetzung für relativ viele weitere Tricks ist.
Ist halt ein bisschen die Frage was du willst:

  1. Eine Bewertung, wie schwierig der Trick zu erlernen ist
    Das Problem hierbei wäre dann, dass Handwalk weiter in der Lernreihenfolge absinkt. Wieso sollte ich Handwalk lernen wenns in der Bewertung ein einfacher Trick ist aber mich nicht wirklich weiterbringt?

  2. Eine Bewertung, die eben diese Endstufentricks erstrebenswerter macht.

Ich hab heut Nacht noch einen Bug in der PageRank Berechnung gefunden:
ein Trick soll seine komplette Schwierigkeit an die nachfolgenden Tricks zu jeweils gleichen Teilen geben. Das hat es auch zuerst gemacht. Dadurch, dass ich dann für die Berechnung der Wichtigkeit die 2. Generation der nachfolgenden in die Datentabelle eingetragen habe, ändert sich allerdings die Teilung der Schwierigkeit. Nur auf die 2. Generation wird vom PageRank nichts mehr gegeben, so dass ein Teil der Schwierigkeit verschwindet.

Beispiel Einbein:
Einbein hat 8 direkte Nachfolger. Bei einer angenommenen Schwierigkeit von 8 würde Einbein also auf jeden Nachfolger eine Schwierigkeit von 1 weitergeben.
Nun hat Einbein aber auch 5 Nachfolger in 2. Generation. Macht für die Berechnung der Wichtigkeit eine 10,5. Meine Implementierung von PageRank nimmt jetzt aber nicht mehr die 8 als Teiler sondern die 10,5. Das führt dazu, dass von der angenommenen Schwierigkeit nur noch 8/10,5 an die nachfolgenden Tricks abgegeben werden. Der Rest verschwindet.
Wird in einer der nächsten Versionen behoben …

Nungut, dann mal zu den Beispielen:

Beispiel 1: Wheel Walk

Wheel Walk bekommt vom PageRank eine 2,62. Normales Fahren hat allerdings schon eine Schwierigkeit von 2,53. Deswegen greift meine Modifikation und hebt die Bewertung auf P = 2,73.

Wheel Walk ist direkte Voraussetzung für 8 weitere Tricks in der 1. Generation sowie 6 weitere Tricks in 2. Generation. Macht eine Wichtigkeit von W = 8 + 0,5 * 6 = 11. Desweiteren ist Wheel Walk selbst in der 1. Generation aller Tricks, macht also G = 1.

Maximum aller Wichtigkeiten ist Wm = 22 (Normales Fahren).
Maximum aller Generationen ist Gm = 6 (Stand Up Kosh Kosh und Stand Up Gliding Pirouette).
PageRank vom normalen Fahren ist Pf = 2,53.

1. Schritt

A = (1 - (W / Wm)) * G

X1 = (A / Am) * 99 + 1

Macht also:

A = (1 - (11 / 22)) * 1
A = 0,5

(Maximum aller A ist 6 für Stand Up Kosh Kosh und Stand up Gliding Pirouette)

X1 = (0,5 / 6) * 99 + 1

X1 = 9,25

2. Schritt

X2 = P * 10 - Pf * 10 + 1

Macht also:

X2 = 2,73 * 10 - 2,53 * 10 + 1
X2 = 3

Mittelbildung

arithmetisches Mittel:

B = (X1 + X2) / 2

S = B / (Bm / 100)

B = (9,25 + 3) / 2
B = 6,125

(Maximum aller B ist 60,63 für Stand up Kosh Kosh und Stand up Gliding Pirouette)

S = 6,125 / (60,63 / 100)
S = 10,10

Beispiel 2: Stand up Kosh Kosh

Stand up Kosh Kosh bekommt vom Pagerank eine P = 4,56. Kein Trick zuvor hat eine so hohe Bewertung erhalten, so dass meine Modifikation den Wert nicht ändert.

Stand up Kosh Kosh hat keine nachfolgenden Tricks mehr, so dass W = 0. Stand up Kosh Kosh selbst ist in der 6. Generation aller Tricks, macht also G = 6

(Die Maxima sind wie im 1. Beispiel)

1. Schritt

A = (1 - (0 / 22)) * 6
A = 6

X1 = (6 / 6) * 99 + 1
X1 = 100

2. Schritt

X2 = 4,56 * 10 - 2,53 * 10 + 1
X2 = 21,3
Bemerkung: In der Ergebnis-Tabelle steht eine 21,25. Rundungsfehler hier im Beispiel

Mittelbildung

B = (100 + 21,3) / 2
B = 60,65

S = 60,65 / (60,63 / 100)
S = 100,03
Auch hier wieder Rundungsfehler, richtig wäre genau 100

Beispiel 3: Normales Fahren

PageRank gibt dem Fahren eine P = 2,53. Tricks davor gibts nicht, die Modifikation hat nichts zu tun.

Fahren hat 8 direkt nachfolgende Tricks sowie 28 in 2. Generation, macht dann W = 8 + 0,5 * 28 = 22. Normales Fahren ist in der 0. Generation, macht dann G = 0.

1. Schritt

A = (1 - (22 / 22)) * 0
A = 0

X1 = (0 / 6) * 99 + 1
X1 = 1

2. Schritt

X2 = 2,53 * 10 - 2,53 * 10 + 1
X2 = 1

Mittelbildung

B = (1 + 1) / 2
B = 1

S = 1 / (60,63 / 100)
S = 1,65

Noch mehr Beispiele? :slight_smile:

Das les ich dann wohl morgen, wollte nur erwähnen, dass die Rotationen nun näher beschrieben sind: http://einradfahren.de/index.php?module=mod_news&action=view&news_id=162

Das sind alles unterschiedliche und unabhängige Dinge:

  1. Wichtigkeit für den Progress im technischen Erlernen der Tricks
  2. Die Schwierigkeit für das Erlernen eines Tricks
  3. Ob Endstufentrick oder nicht, sollte dabei egal sein

Ich glaube, die Fehler in deiner Formel kommen vor Allem durch die Mittelbildung und auch das relativieren etwa: S = B / (Bm / 100)

Ich glaube eher, die Schwierigkeit ist in der Formel nur sowas:
S = Summenzeichen(Faktor) von 1. Faktor bis n. Faktor

Für Kompositionstricks sind die Faktoren ja benannt. Geht also noch um die Faktoren der nicht Kompositionstricks. Die Summe aus den Faktoren ergibt den Schwierigkeitswert.

PageRank:
Den PageRank könnte man evtl. in einer anderen modifizierten Version benutzen: Statts das ein Trick an alle “nachfahren” etwas abgibt, so kann sich ein Trick jeweils die Abhängigen schwierigkeiten “einsammeln”.
Also Trick Z ist abhängig von X und Y, dann ist der PageRankMod für Trick Z = Schwierigkeit(X) * p + Schwierigkeit(Y) * p. Wobei p ein Prozentwert ist, etwa 10%.

Käme dann später auf einen Versuch an, welcher dieser PageRanks bessere Ergebnisse liefert.

Wichtigkeit:
In einer reinen Bewertung wie schwer dieser Trick zu erlernen ist hat die Wichtigkeit nichts verloren.

Zumindest der Schritt ist nur dafür da, dass der schwerste Trick eine Wertung von 100 bekommt. Ob der schwerste Trick nun eine 100 oder eine 60,63 bekommt ist letztendlich egal, das Verhältnis zu den anderen bleibt gleich.
Wobei ich lustigerweise für den Zwischenwert aus Wichtigkeit/Generation auch auf 100 skaliere, für den PageRank jedoch nicht. Ist auf jeden Fall ein Fehler in der Formel.

PageRank:
So eine ähnliche Idee ist mir auch gekommen: Einbringen eines “Aus wievielen Tricks bekommt dieser Trick seinen PageRank?”. Das Ganze hab ich dann fast schon verworfen, weil auf Basis meiner momentanen Daten gibts da wenig Unterschiede in den Tricks: 52 Tricks mit Wert 1; 23 mit 2; 2 mit 3.

Ich werd die Woche mal was programmieren, OpenOffice ist mittlerweile etwas behindernd geworden :smiley: