Suchwörter   (werden UND-verknüpft)
Keines der folgenden   keine eigenen Beiträge
Name des Autors 
resp. Themenstellers 

nur dessen Startbeiträge
auch in Antworten dazu
Forum 
 Suchrichtung  Auf  Ab Suchmethode  Sendezeit Empfehlungbeta [?]
       Die Suche erfolgt nach den angegebenen Worten oder Wortteilen.   [Suchtipps]

Link auf dieses Suchergebnis hier

Forum
Thema Eingetragen
Autor

Informatik
Universität/Hochschule 
Thema eröffnet von: _LaVieJenniInfo
Weg aus Labyrinth finden (war: Solver)  
Beitrag No.9 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-01-30
_LaVieJenniInfo
 

Mit welchen Anfangswerten muss ich die Funktion in der Main-Methode starten. Wollte es debuggen und schauen, wie alles abläuft.

Informatik
Universität/Hochschule 
Thema eröffnet von: _LaVieJenniInfo
Weg aus Labyrinth finden (war: Solver)  
Beitrag No.5 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-01-30
_LaVieJenniInfo
 

So hab jetzt den Code soweit modifiziert, dass ich ein True zurückbekomme, falls es einen Weg zum Endpunkt gibt und ein False fall es keinen gibt. Jetzt muss ich irgendwie noch einbauen, dass nur ein Weg im Array letztenendes markiert wird und nicht überall wo man gehen kann, eine zwei am Ende steht. Ich hoffe, man versteht ungefähr wie ich das meine.


Informatik
Universität/Hochschule 
Thema eröffnet von: _LaVieJenniInfo
Weg aus Labyrinth finden (war: Solver)  
Beitrag No.3 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-01-30
_LaVieJenniInfo
 

Hei,

danke erstmal für die Tipps.

Ich verstehe das nicht ganz.

Ich muss doch schauen, ob meine Nachbarn vom Startpunkt aus gesehen eine 1 oder eine 0 haben.


Wenn mein Nachbar links vom Startpunkt eine eins hat, muss ich doch die 1 durch die zwei ersetzen. Dann muss ich doch die Funktion wieder aufrufen, um vom Nachbar seine Nachbarn abzuchecken. Mein Problem ist, dass ich nicht weiß wie ich implementiere, dass jede Möglichkeit abgedeckt wird, um letztenendes ein Weg aus dem Labyrinth zu finden. Und falls mal ein Weg in eine Sackgasse führt, dass auch wieder ein Teil der zweiten durch die eins ersetzt wird, sodass man am Ende falls es ein Weg zum Endpunkt gibt, nur einen einzigen Weg hat.


Informatik
Universität/Hochschule 
Thema eröffnet von: _LaVieJenniInfo
Weg aus Labyrinth finden (war: Solver)  
Themenstart
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-01-29
_LaVieJenniInfo
 

Ich muss ein Programm schreiben, welches mir einen Ausweg aus dem Labyrinth liefert. Das ist an sich kein Problem, nur muss ich falls ich einen Weg gefunden habe, all die Wege, die in ein Sackgasse führten wieder mit einer eins ersetzen, sodass nur ein Weg angezeigt wird, vom Startpunkt zum Endpunkt. Mein derzeitiges Programm macht das leider nicht. (Rekursiv muss ich das machen).

Regeln: 2 Startpunkt, 1 Begehbar, 0 Wand, 3 Ziel

Die zwei und die drei sind fest. Also es startet immer dort und endet immer unten links. Und man darf vom Startpunkt nur nach links oder nach unten.




Danke für die Hilfe.

Formale Sprachen & Automaten
Universität/Hochschule 
Thema eröffnet von: _LaVieJenniInfo
Grammatik angeben für Dreierpotenz-Anzahlen von a  
Beitrag No.3 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-01-26
_LaVieJenniInfo
 

Meine Regel macht keinen Sinn.

S -> TKAX
K -> TK

Meine das so ungefähr. oder?

Formale Sprachen & Automaten
Universität/Hochschule 
Thema eröffnet von: _LaVieJenniInfo
Grammatik angeben für Dreierpotenz-Anzahlen von a  
Beitrag No.2 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-01-26
_LaVieJenniInfo
 

Ich bin gerade die ganze Zeit am überlegen, also meine jetzigen Gedanken:

S -> TAX

Wegen T^n+1

Habe ich mir überlegt noch eine Regel einzuführen: T -> TT

Aber werde dann irgendwie das T nicht los.

Formale Sprachen & Automaten
Universität/Hochschule 
Thema eröffnet von: _LaVieJenniInfo
Grammatik angeben für Dreierpotenz-Anzahlen von a  
Themenstart
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-01-26
_LaVieJenniInfo
 

\(\{a^{3^{n+1}}| n \geq 0\}\)

Ich wollte eine kontextsensitive Grammatik dafür angeben, aber finde irgendwie durch ganz viel probieren keine, vielleicht kann mir jemand helfen.

Danke.

Programmieren
Universität/Hochschule 
Thema eröffnet von: _LaVieJenniInfo
Rekursion / Backtracking  
Beitrag No.14 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-01-23
_LaVieJenniInfo
 

Ahh ok, hatte ich anfangs auch so gedacht, aber ich war zu dumm und habe anstatt i = 0, i=3 gewählt, deshalb hats bei nicht gefunkt.

Wie kommt man auf so eine Lösung? Wie geht man an solche Probleme ran? Ich will das wirklich lernen.


Programmieren
Universität/Hochschule 
Thema eröffnet von: _LaVieJenniInfo
Rekursion / Backtracking  
Beitrag No.12 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-01-22
_LaVieJenniInfo
 

Danke für die Antwort. Jetzt sehe ich doch ein Licht am Ende des Tunnels. :)

2021-01-22 20:47 - DerEinfaeltige in Beitrag No. 9 schreibt:
Eine naive Implementierung mit Arrays könnte so aussehen:
Java
    /*
     int i:     Current index
     int[] arr: Array to fill
     int[] set: Numbers to fill with
     */
    static boolean solve_rec(int i, int[] arr, int[] set){
        while (i < arr.length && arr[i] > 0) 
            ++i; // Skip already filled slots
        if (i >= arr.length) 
            return true; // End of array reached => Solution
        int k;
        for (int j = 0; j < set.length; ++j){ // For all k in set
            k = set[j];
            if (k == 0 || i+k+1 >= arr.length || arr[i+k+1]>0) 
                continue; // Skip if not present or if it does not fit
            set[j] = 0; // Remove k from set
            arr[i] = arr[i+k+1] = k; // Modify array
            if (solve_rec(i+1, arr, set)) 
                return true; // Solution found!
            arr[i] = arr[i+k+1] = 0; // Undo array modification
            set[j] = k; // Put k back in set
        }
        return false; // No solution found
    }
 


Da kann man sicherlich vieles dran verbessern und eleganter lösen.
Aber mit so etwas würde ich anfangen.

[Die Antwort wurde nach Beitrag No.6 begonnen.]

Hab noch kleine Fragen an den Code:
Wie muss das Array "set" gewählt werden? Werden dort alle Lösungen gezählt? Oder falls eine Lösung gefunden wurde, direkt abgebrochen?


Programmieren
Universität/Hochschule 
Thema eröffnet von: _LaVieJenniInfo
Rekursion / Backtracking  
Beitrag No.10 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-01-22
_LaVieJenniInfo
 

So hab mal paar Kommentare hinzugefügt. ^^
Java
  1. static int[] func;
  2. static int zaehler = 0;
  3. static int tmp = 0;
  4.  
  5. public static void main(String[] args) {
  6. int N = Integer.parseInt(args[0]);
  7. func = new int[2 * N];
  8. tmp = N;
  9. solve(N);
  10. }
  11.  
  12. public static void solve(int N) {
  13. if (N == 0) // Basisfall der Rekursion
  14. return;
  15.  
  16. for (int i = 0; i < func.length; i++) {
  17. if (i+N+1>= func.length) { // Hier schaue ich nach, ob mein i+N+1 schon über die Länge hinausragt,
  18. // um Array-Exception zu eliminieren
  19. i = 0;
  20. zaehler++; // Das ist, wenn ich den ersten Aufruf mit der Zahl N gemacht habe,
  21. // dann das N soweit dezimiert wurde also N=1 ist, soll später überprüft werden,
  22. // ob der Zaehler == 2 ist, um das Array mit Nullen zu füllen und den Aufruf diesmal mit tmp-1 zu starten
  23. }
  24. if (func[i] == 0 && func[i + N + 1] == 0) { // Hier wird überprüft, ob die i-te Stelle
  25. // und derselbe Abstand der i-ten Stelle des Arrays eine Null ist
  26. func[i] = N; // Setze die Zahl N in das Feld
  27. func[i + N + 1] = N; // Setze vom gesetzten N mit demselben Abstand das andere N
  28. break; // Hier verlassen wir nun die For-Schleife,
  29. // um weiter mit der N-1 Ziffer das gleiche zu machen
  30. }
  31. if (zaehler == 2) {
  32. Arrays.fill(func, 0); // Array wieder mit Nullen befüllen
  33. zaehler = 0;
  34. solve(tmp-1); // Wir hatten ja vor immer, dass an erster Stelle immer das größte N steht,
  35. // jetzt kann es ja auch sein, dass an erster Stelle ein N-1 steht.
  36. }
  37. }
  38. solve(N-1); // Nächster Funktionsaufruf mit N-1
  39. }

Programmieren
Universität/Hochschule 
Thema eröffnet von: _LaVieJenniInfo
Rekursion / Backtracking  
Beitrag No.7 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-01-22
_LaVieJenniInfo
 

Mhh, no problem.

Kann ich verstehen.

Programmieren
Universität/Hochschule 
Thema eröffnet von: _LaVieJenniInfo
Rekursion / Backtracking  
Beitrag No.5 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-01-22
_LaVieJenniInfo
 

Das ist mein bisheriger Code. Ich kriege es einfach nicht hin, alle Möglichkeiten abzudecken. Ich weiß echt nicht, was ich machen soll. :/
Java
  1. static int[] func;
  2. static int zaehler = 0;
  3. static int tmp = 0;
  4.  
  5. public static void main(String[] args) {
  6. int N = Integer.parseInt(args[0]);
  7. func = new int[2 * N];
  8. tmp = N;
  9. solve(N);
  10. }
  11.  
  12. public static void solve(int N) {
  13. if (N == 0)
  14. return;
  15.  
  16. for (int i = 0; i < func.length; i++) {
  17. if (i+N+1>= func.length) {
  18. i = 0;
  19. zaehler++;
  20. }
  21. if (func[i] == 0 && func[i + N + 1] == 0) {
  22. func[i] = N;
  23. func[i + N + 1] = N;
  24. break;
  25. }
  26. if (zaehler == 2) {
  27. Arrays.fill(func, 0);
  28. zaehler = 0;
  29. solve(tmp-1);
  30. }
  31. }
  32. solve(N-1);
  33. }

Programmieren
Universität/Hochschule 
Thema eröffnet von: _LaVieJenniInfo
Rekursion / Backtracking  
Beitrag No.2 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-01-22
_LaVieJenniInfo
 

Hei,
Ohh hatte ich ganz vergessen mit anzugeben. Das ganze soll ich in Java programmieren.

Ich weiß was Rekursion und Backtracking ist. Ich weiß auch wie ich die Zahlen ins Array reinschreibe also in demselben Abstand. Ich weiß nur nicht wie ich alle Möglichkeiten abdecke also die Zahlen nach dem Konzept ins Array reinzuschreiben.

Oh ja aber das wird ein langer weg den Berg zu erklimmen.🙄

Programmieren
Universität/Hochschule 
Thema eröffnet von: _LaVieJenniInfo
Rekursion / Backtracking  
Themenstart
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-01-22
_LaVieJenniInfo
 

Guten Morgen,

Aufgabenstellung: Man hat eine Zahl N z.B. N = 3. Dann wird ein Array der Größe 2*N erstellt. Also, wenn N = 3 ist, dann werden die Zahlen 1, 2 und 3 in das Feld so reingelegt, sodass der Abstand immer um die Zahl selber ist. Also z.B. wenn im ersten Feld eine 3 ist, dann muss nach drei Feldern wieder eine 3 stehen. Die Zahlen 1,2,3 müssen doppelt vorkommen, sonst macht das garkeinen Sinn.

Die Lösung muss mit Rekursion und Backtracking erarbeitet werden.

Eine Beispiellösung für N = 3 wäre z.B:



Als verschieden gelten zwei Lösungen dann, wenn sie nicht durch Spiegelung (rückläufiges Auslesen des Feldes) aufeinander identisch abgebildet werden können. In diesem Fall soll nur die Lösung ausgegeben werden, die mit der kleinsten Zahl beginnt.
 

Hat jemand vielleicht paar Tipps für mich?

Programmieren
Universität/Hochschule 
Thema eröffnet von: _LaVieJenniInfo
Rekursives Programmieren  
Beitrag No.3 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-01-15
_LaVieJenniInfo
 

hat sich geklärt

Programmieren
Universität/Hochschule 
Thema eröffnet von: _LaVieJenniInfo
Rekursives Programmieren  
Themenstart
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-01-15
_LaVieJenniInfo
 

Unsere Aufgabe ist den Pythagorastree zu programmieren, dabei sollen wir beachten, dass der Winkel in der linken Ecke immer zufällig gewählt wird. Der muss zwischen 30 und 60 Grad liegen und je tiefer das ganze desto kleiner wird alles am Ende, sodass es halt alles am Ende wie ein baum aussieht.

Ich sitze wirklich seit zwei Tagen an dieser Aufgabe und ich weiß wirklich nicht weiter. Ich weiß wie man die Länge der Seiten berechnet, ich kriege es auch erstmal hin, das Quadrat und darauf ein beliebiges Dreieck zu zeichnen mit einem Zufallswinkel, die Quadrate kriege ich auch hin, die darauf zu zeichnen.
Aber was ich nicht hinkriege ist, wenn die Funktion wieder aufgerufen wird, dass dann von dem bereits gezeichneten Quadrat das weiter rekursiv zu zeichnen.

PS: In Java

Vielen Dank im voraus.

Theoretische Informatik
Universität/Hochschule 
Thema eröffnet von: _LaVieJenniInfo
Pumpingzahl  
Beitrag No.3 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-01-09
_LaVieJenniInfo
 

Sorry für die späte Rückmeldung.

Wie genau ist der Zusammenhang zwischen der Pumpingkonstante und einem minimalen DFA?

Theoretische Informatik
Universität/Hochschule 
Thema eröffnet von: _LaVieJenniInfo
Pumpingzahl  
Beitrag No.2 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-01-09
_LaVieJenniInfo
 

Vielen Dank, ich werde mich gleich hinsetzen und mir darüber Gedanken machen und mich so gegen 18 Uhr nochmal melden.

Aber wirklich, vielen vielen vielen lieben Dank.

Theoretische Informatik
Universität/Hochschule 
Thema eröffnet von: _LaVieJenniInfo
Pumpingzahl  
Themenstart
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-01-09
_LaVieJenniInfo
 

Hallo liebes Informatik-Forum,

ihr seid wirklich meine allerletzte Hilfe: Es geht um folgende Aufgabe.



Ich weiß wirklich keinen Ansatz. Bitte, helft mir. Ich bin für jeden Tipp unfassbar dankbar.
 [Anzahl der Suchergebnisse: 19]
Link auf dieses Suchergebnis hier

 
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2021 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]

used time 0.091216