Algorithmus – die neusten Beiträge

Kompletter Tinder Fail 😂?

Hallo liebe Community,

folgender Fail … ich mache es in Stichpunkten ums so kurz wie möglich zu halten …

!!! Zunächst einmal es soll keine Angeberei sein, sondern betrachtet es bitte relativ nüchtern. DANKE :)

Februar 21:

-Tinder erstmals runtergeladen, kein Abo, kein nichts, schnell ein Mädel somit Beziehung gefunden, App gelöscht

September 21:

-mit Mädel aus Februar war Schluss, App wieder herunter geladen und gesehen dass alter Account noch existiert, neue Bilder auf „altem“ Account hochgeladen, Bio geändert, Gold Abo für 1 Monat abgeschlossen (weil man ja doch neugierig ist wer einen so liked )

und dann sind nur so die Likes hineingestürmt, 90% denen ich ein Like gegeben habe, haben mich auch zurück geliked, tausende likes von mädels, hunderte matches in 2 Wochen, Mädchen haben mich teilweise angeschrieben und es gab längere Unterhaltungen, es war soooo viel ich hätte mich von Texten und Dates nicht retten können, viele Matches blieben unbeantwortet, diese habe ich versucht nach und dann doch zu beantworten, leider ging allgemein auch viel unter weil mein Tag nur 24h hat, dann ein Mädchen kennengelernt und zusammengekommen, App gelöscht

September 22

-mit Mädchen aus September 21 ist Schluss, bisschen Trauer und Selbstreflexionsphase, selbes Spiel erneut alter Account reaktiviert, neue Fotos, neue ausgetüfteltere Bio, Gold Abo 1 Monat, selbes Swipe Verhalten und Online Aktivität wie immer, nichts passiert 3 Wochen lang, ab und zu mal nen Match aber nur 10% von denen ich geliked habe jedenfalls deutlich weniger als die 90% aus Sep21

– überlegt woran kann es liegen, dann spaßeshalber alles wie Sep21 gemacht, selbe Bio, selbe Infoangaben, exakt selbe Bilder in exakt gleicher Reihenfolge, Bilder hab ich vom Datum intern noch um ein Jahr verändert damit das System nicht sagen kann der verwendet nur alte Bilder, KEIN EINZIGES MATCH mehr wobei genau dieses Profil vor einem Jahr durch die Decke ist

Woran kann das liegen das ein und dasselbe Profil mit exakt selbem Inhalt massiv anders abschneidet? Manipuliert hier Tinder bewusst?

- habe schon jede erdenkliche Seite gelesen wo etwas über Tinder Algorithmen etwas geschrieben wird und es dementsprechend optimiert (wie bspw. das mit dem Datum der Fotos anpassen)

-vor einem Jahr war Corona noch präsenter und somit die TinderNutzerzahlen höher, aber nach wie gibt’s viele süße Mäuse dort ;), das kann ich finde ich es auch kaum erklären

Sind alles mehr Luxusprobleme ich weiß, nehme das mit Humor und werde mein Glück im Real Life wieder probieren :), aber stark wundern tut es mich doch, ob da nicht was böswillig von Tinder manipuliert wird.

Was meint Ihr?

Dating, Internet, Date, IT, Recht, Internetrecht, Psychologie, kennenlernen, Männer und Frauen, Manipulation, Online Dating, Abonnement, Algorithmus, Lovoo, Dating App, Tinder

Java wo liegt der Fehler?

Hallo gutefrage-Community,

ich habe unten gezeigten Quellcode verfasst und dabei keinerlei Fehlermeldungen oder Exceptions erhalten. Am Ende kommt aber irgendwie trotzdem nicht heraus, was herauskommen soll.

Was ich erwarte:

Aus einem JTextField erhält man einen String "input" wie z.B. 2x+5=10x-3. Dieser wird zuerst beim "=" gesplittet. Daraus erhält man ein Array mit zwei Strings: 2x+5 und 10x-3. Diese beiden Arrays sollen nun an allen "+" und "-" gesplittet werden. Deshalb wird eine Schleife zweimal durchlaufen und dabei im ersten Durchlauf der erste und im zweiten Durchlauf der zweite String verarbeitet. Danach wird bei jeder Zahl mit "x" das "x" entfernt und ein boolean auf true gesetzt. Was am Ende herauskommen soll:

Drei Arrays (int num[], boolean isFactorOfVar[] und boolean isOnRightSide[]), die immer dem gleichen Index entsprechen, also: num[0] gehört zu isFactorOfVar[0] und zu isOnRightSide[0], num[1] gehört zu isFactorOfVar[1] und zu isOnRightSide[1] usw. Dabei soll num[] der Zahl entsprechen, isFactorOfVar, ob ein x am Ende entfernt wurde und isOnRightSide[], ob sich diese Zahl auf der rechten Seite des "=" befindet. Hier ist das am Anfangsbeispiel 2x+5=10x-3 gezeigt:

  • num[0] = 2; isFactorOfVar[0] = true; isOnRightSide[0] = true
  • num[1] = 5; isFactorOfVar[1] = false; isOnRightSide[1] = true
  • num[2] = 10; isFactorOfVar[2] = true; isOnRightSide[2] = false
  • num[3] = 3; isFactorOfVar[3] = false; isOnRightSide[3] = false

Was herauskommt:

  • num[0] = 2; isFactorOfVar[0] = true; isOnRightSide[0] = nicht angezeigt
  • Fehlermeldung

Mein Code:

Fehlermeldung:

Bild zum Beitrag
Computer, Technik, programmieren, Java, Informatik, Programmiersprache, Algorithmus

Korrektheitsbeweis Algorithmus?

Hallo liebe Community,

ich habe eine Aufgabe bekommen in welcher ich Pseudocode entwickeln soll. Meinem Algorithmus wird ein Array an Zahlen gegeben A[1, n] mit n Einträgen. Ich soll in diesem Array die Senken zählen. Eine Senke ist dabei eine Position i [2, n - 1] für die folgendes gilt: A[i - 1] > A[i] < A[i + 1].

Meiner Auffasung nach bedeutet das nun, dass z.B. das Array [1, 3, 2, 4, 3, 5] zwei Senken hat. Nämlich einmal der dritte Eintrag und der fünfte Eintrag.

Mein Pseudocode sieht folgendermaßen aus:

Input: A[1, n] mit n Einträgen
Output: Anzahl der Senken

counter := 0
for j := 2 to n - 1 do
  val := A[j]
  if val < A[j - 1] and val > A[j + 1] do
    counter := counter + 1

Mein Java Code dazu sieht folgendermaßen aus:

public static int countSenken(int[] arr) {
  int counter = 0;
  for (int i = 1; i < arr.length - 1; i++) {
    int val = arr[i];
    if (val < arr[i - 1] && val < arr[i + 1]) {
      counter++;
    }
  }
}

Nun soll ich die Korrektheit meines Algorithmus' beweisen. Wir haben das schonmal an dem Beispiel des Insertionsort Algorithmus' gemacht. Die herangehensweise ist ja eigentlich, dass man eine Schleifeninvariante aufstellt und diese dann mittels Induktion beweist. Mein Problem ist jetzt aber, dass ich diese Schleifeninvariante nicht aufstellen kann. Beim Insertionsort, da beweist man ja die Sortiertheit und da verändert sich ja das Array. Aber bei diesem Algorithmus jetzt da verändert sich das Array ja gar nicht.

Ich weiß halt, dass n >= 3 sein muss damit der Algorithmus überhaupt funktioniert. Kann mir vielleicht jemand einen Ansatz geben wie ich die Korrektheit beweise?

Ich wäre euch allen sehr dankbar :)

Computer, Schule, Mathematik, programmieren, Informatik, Algorithmus, Algorithmen und Datenstrukturen

Java - Distanzmatrix Algorithmus, Wie ansetzen?

Hallo, ich bin gerade dabei ein Graphenprogramm zu schreiben und stecke bisschen bei der Distanzmatrix.

Ich weiß nicht ob sich jemand bei Graphentheorie auskennt oder nicht aber der Algorithmus für die Distanzmatrix ist relativ einfach. Nur das umsetzen in Code fällt mir sehr schwer und deswegen hoffe ich, dass ihr mir vielleicht dabei helfen könnt..

Der Algorithmus für eine Distanzmatrix lautet so:

Man hat eine Eingangsmatrix (Adjazentmatrix).
Die könnte so aussehen:

Man markiert sich alle Nuller die in der Adjazentmatrix vorkommen (AUßER DIE HAUPTDIAGONALE, DIE BLEIBT UNBERÜHRT).

Dann erstellt man sich eine eigene Matrix die man "DistanzMatrix" nennen kann und setzt alle Nuller die eben in der Adjazentmatrix vorkommen auf "Unendlich" oder auch auf INTEGER.MAX_VALUE in der Programmiersprache .

Das schaut dann so aus:

Also haben wir jetzt 2 Matrizen. Bis dahin habe ich es auch geschafft in meinem Programm. Die Ausgabe schaut bei mir so aus:

Die "-9" sind alle Nuller, die auf UNENDLICH gesetzt sind (siehe zweites Bild).

Der nächste Schritt ist es die Potenzen der Eingangsmatrix (Adjazentmatrix) zu berechnen. Das habe ich ebenfalls schon geschafft im Code.

Das heißt, die Adjazentmatrix (siehe Bild 1) wurde potenziert und so könnte das Ergebnis der Potenzberechnug aussehen.

Man schaut sich jetzt alle Nuller (außer die Hauptdiagonale von der Eingangsmatrix an (siehe Bild 1)) und markiert sich nur die Zahlen (rot), die sich von der Potenzierung der Eingangsmatrix verändert haben. (Außer die Nuller (=Neue Nuller die durch die Potenzierung entstanden sind bleiben auch weiterhin eine Null))

Und der letzte Schritt ist es jetzt, die von mir erstellte DistanzMatrix upzudaten, indem ich im ersten Schritt alle rote Zahlen von A²(G) in 2 umwandle. Alle Nuller die übrig bleiben, werden wieder in UNENDLICH umgewandelt.

Und das wird jetzt so oft wiederholt, bis es keine UNENDLICH Zeichen mehr in der Distanzmatrix gibt. Und aus UNENDLICH wird 3. Und immer so weiter.. Falls es zb nach der fünften Potenzierung immer noch Nuller bzw UNENDLICH Werte gibt dann wird aus UNENDLICH 5.

Somit ist D³(G) das Ergebnis.

Ich hoffe ich konnte es ausführlich genug erklären

Danke

Bild zum Beitrag
Computer, Schule, Technik, programmieren, Java, Informatik, Technologie, Algorithmus, Graphentheorie

Meistgelesene Beiträge zum Thema Algorithmus