1. Programmieraufgabe

Benutzeravatar
tiwoc
Ehemalige Fachschaftler
Beiträge: 475
Registriert: 21. Okt 2005 14:25
Kontaktdaten:

1. Programmieraufgabe

Beitrag von tiwoc »

Hallo,

ich frage mich, warum ein Auto mit einer Geschwindigkeit von 1 nicht mehr als Auto behandelt wird:
Aufgabenstellung hat geschrieben:Eine einzelne Zelle besitze einen Wert <= 1, wenn sie leer ist, [...]
Gibt es dafür einen Grund oder kann man das einfach auf <1 abändern?

Nachtrag:
Seltsam ist auch, dass Fahrzeuge verschwinden können:

Code: Alles auswählen

-1->[S0,S1]=nasch_traffic_A(10, 10, 4, [0 2 0 0 0 0 0 0 3 0], [0 2 0 0 0 0 3 0 0 0], 0.15); S0
 S0  =
 
    0.    2.    0.    0.    0.    0.    0.    0.    3.    0.  
    2.    0.    0.    0.    3.    0.    0.    0.    0.    0.  
    0.    0.    0.    3.    0.    0.    0.    0.    4.    0.  
    0.    0.    4.    0.    0.    0.    3.    0.    0.    0.  
    0.    0.    0.    0.    0.    0.    4.    0.    0.    3.  
    0.    0.    0.    4.    0.    0.    0.    1.    0.    0.  
    0.    0.    0.    0.    0.    0.    0.    4.    0.    0.  
    3.    0.    0.    0.    0.    0.    0.    0.    0.    0.  
    0.    0.    0.    3.    0.    0.    0.    0.    0.    0.  
    0.    0.    0.    0.    0.    0.    0.    4.    0.    0.  
    3.    0.    0.    0.    0.    0.    0.    0.    0.    0.  
Interessant ist die 5. Zeile. Das erste Fahrzeug (v=4) tut folgendes:
  • keine Beschleunigung wegen v=vmax
  • v=v-2 wegen v > d=v-1 (Kollisionsvermeidung)
  • v-- wegen Trödelei
Damit kommt es auf eine Geschwindigkeit von 1, gleichbedeutend mit "leer"

bortas
Windoof-User
Windoof-User
Beiträge: 34
Registriert: 23. Nov 2004 20:11

Beitrag von bortas »

Das mit dem "kleiner gleich" finde ich auch seltsam. Das würde ja heißen, dass Autos stehen bleiben können oder die nächste Ausfahrt genommen haben :D

Ich verstehe das mit der "Trödelwahrscheinlichkeit" nicht ganz. Kann ich einfach sagen if pt < 1 dann v-1? Es würde doch dann kein Unterschied machen ob pt=0.9 oder 0.1 ist.

a_nickol
Mausschubser
Mausschubser
Beiträge: 100
Registriert: 27. Okt 2005 10:33
Kontaktdaten:

Beitrag von a_nickol »

bei ner wahrscheinlichkeit pt = 1 fallen bei mir auch ganz viele autos aus... soll man nur trödeln wenn man ne geschwindkeit >= 2 hat ?

Benutzeravatar
tiwoc
Ehemalige Fachschaftler
Beiträge: 475
Registriert: 21. Okt 2005 14:25
Kontaktdaten:

Beitrag von tiwoc »

bortas hat geschrieben:Ich verstehe das mit der "Trödelwahrscheinlichkeit" nicht ganz. Kann ich einfach sagen if pt < 1 dann v-1? Es würde doch dann kein Unterschied machen ob pt=0.9 oder 0.1 ist.
Tipp: Denk mal über Zufallszahlen nach und wie man sie einsetzen kann, um den gewünschten Effekt zu erreichen...

Bigge
Mausschubser
Mausschubser
Beiträge: 56
Registriert: 26. Okt 2005 07:27
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Bigge »

Moin,

ich scheiter irgendwie schon etwas früher an der Formulierung der Aufgabenstellung:
Die Fahrzeuge besitzen eine diskrete Geschwindigkeit v in {1; 2; ...; vmax}
Eine einzelne Zelle besitze einen Wert <= 1, wenn sie leer ist, oder enthält die Geschwindigkeit des belegenden Fahrzeugs.
Heißt das, dass es egal ist, ob sich in einer Zelle ein Auto mit der Geschwindigkeit 0 befindet, oder wie? Mal angenommen, bei dem "<=" handelt es sich um einen Tippfehler (alles andere macht ja noch weniger Sinn, oder?), sollen dann in jeder leeren Zelle in jedem Zeitintervall neue Autos generiert werden?

Gruß,
Bigge
Was ist weiß und versteckt sich hinter'm Baum?
- 'Ne schüchterne Milch!

Benutzeravatar
tiwoc
Ehemalige Fachschaftler
Beiträge: 475
Registriert: 21. Okt 2005 14:25
Kontaktdaten:

Beitrag von tiwoc »

Ich bezweifle, dass neue Autos generiert werden sollen; aufgrund der Kollisionsvermeidung hättest du dann nämlich überhaupt keinen Verkehr mehr.

a_nickol
Mausschubser
Mausschubser
Beiträge: 100
Registriert: 27. Okt 2005 10:33
Kontaktdaten:

Beitrag von a_nickol »

gibt es denn voll punktzahl wenn man die funktionen wie beschrieben implementiert, auch wenn das verfahren so wie es scheint keine sonderlich gute simulation von autos ist ?

oder soll man sich mehr ausdenken nur damit es eine tolle simulation ist ?

Bigge
Mausschubser
Mausschubser
Beiträge: 56
Registriert: 26. Okt 2005 07:27
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Bigge »

Wäre nett, wenn irgendein Verantwortlicher hier mal vorbeischauen würde, und sich der Fragen annehmen würde... so können wir nur raten und vermuten :-/
Bei GdI3 hat das eigentlich ziemlich gut geklappt, für die Veranstalter ist es insgesamt bestimmt auch weniger Arbeit, als wenn sie in 236,5 Mails dasselbe schreiben müssen.

Gruß,
Bigge

[Edit]
Gerade hat sich für mich zumindest schon mal einiges geklärt - auf der Vorlesungsseite steht seit kurzem ein Kommentar:
Achtung: Korrektur in der Programmieraufgabe! Im letzten Satz der Teilaufgabe (a) muss "... Wert <= -1" (für die nicht belegten Zellen) stehen.
Was ist weiß und versteckt sich hinter'm Baum?
- 'Ne schüchterne Milch!

Benutzeravatar
tiwoc
Ehemalige Fachschaftler
Beiträge: 475
Registriert: 21. Okt 2005 14:25
Kontaktdaten:

Beitrag von tiwoc »

Okay, dann ist - unter der Annahme, dass man bei einer Geschwindigkeit von 0 eben diese nicht durch Trödeln noch weiter verringern soll - alles klar ;-)

p00lboy
Mausschubser
Mausschubser
Beiträge: 68
Registriert: 24. Nov 2006 19:46
Wohnort: im (theoretischen) geographischen Zentrum Europas

Frage zur Teilaufgabe b

Beitrag von p00lboy »

So... weitergehts mit dem aufräumen der Unklarheiten in der Aufgabenstellung.

Wie habt ihr das mit der Kreuzung verstanden?
Falls ein Fahrzeug auf S2 die Kreuzung überquert, schaut es dann ob ....

1: ein Fahrzeug auf S1 in gegebenem Zeitabschnitt ebenfalls die Kreuzung überquert? (ist in meinem Kopf momentan noch sehr umständlich umzusetzen)

2: oder überprüft ob innerhalb des gegebenen Sicherheitsabstandes in der Nähe der Kreuzung auf S1 ein Fahrzeug lauert, egal mit weclher Geschwindigkeit?

Wie denkt ihr darüber und ich fänd es dohc echt toll, wenn ein Verantwortlicher dazu ma was zu sagen könnte.

Vielen Dank im voraus.
P00lboy

bortas
Windoof-User
Windoof-User
Beiträge: 34
Registriert: 23. Nov 2004 20:11

Beitrag von bortas »

Also ich hab es so versucht: Wenn bei S1 ein Auto direkt auf der Kreuzung oder eine Zelle davor steht, dann wird abgebremst! Das schließt aber nicht alle möglichen Probleme aus.

Leider ist das alles sehr schwammig formuliert! Z.B. frage ich mich die ganze Zeit wie das mit dem Abstand gemeint ist. Ist der Abstand die freien Zellen zwischen zwei Autos? Wenn zwei Autos direkt hintereinander fahren ist das dann Abstand=0 oder Anstand=1? Habs mit beiden Möglichkeiten versucht und jede bringt wieder neue Probleme mit sich! Z.B. wenn wir von Abstand=0 ausgehen dann passiert folgendes: Aus [1 -1 0 -1] wird [0 -1 -1 1].

ndg
Erstie
Erstie
Beiträge: 14
Registriert: 17. Okt 2005 19:18
Wohnort: cd ~

Beitrag von ndg »

Wenn zwei Autos direkt hintereinander fahren ist das dann Abstand=0 oder Anstand=1?
Hmm, das habe ich mich auch schon gefragt.
Allerdings bin ich zu dem entschluss gekommen, dass in dem Fall Abstand=1 mehr Sinn ergibt aus folgendem Grund:
Wir sollen ja die Geschwindigkeit auf v=d-1 setzen (falls d < v). Wenn nun der Abstand=0 waere (also zwei Autos direkt hinter einander), dann wuerde man die Geschwindigkeit des letzten Fahrzeuges auf v=0-1 = -1 setzen muessen ... was ja wiederum bedeuten wuerde, dass in diesem Feld kein Auto ist.
Für Abstand=1 funktioniert die Sache jedoch einwandfrei: zwei Autos hintereinander -> letztes Fahrzeug v = d-1 = 1-1 = 0 sieht gut aus!

Mein Problem ist ebenfalls Teilaufgabe (b) ... habe mir ueberlegt, dass man schauen koennte, wie schnell das naechste Fahrzeug auf S1 richtung Kreuzung unterwegs ist und dann berechnen, ob es eine Kollision geben wuerde oder nicht (und dem entsprechend abbremsen, oder weiter fahren).
Noch einfacher/sicherer waere es vmax einzubeziehen, und zu schauen, wer schneller ueber die Kreuzung kommt ... das herankommende Fahrzeug auf S1 mit Vmax, oder "ich" mit Vcurrent (also aehnlich wie oben, nur mit Vmax).

Stellt sich nur die Frage: was tun, wenn ein Fahrzeug auf S2 dank pt (Trödelwahrscheinlichkeit) stehen bleibt? Dann muessten ja normalerweise Fahrzeuge aus S1 anhalten ... dies wuerde aber zum Teil der Aufgabenstellung widersprechen dass S1 vorfahrt haben?! (oder denke ich wieder zu kompliziert?)

Benutzeravatar
Qubit85
Neuling
Neuling
Beiträge: 3
Registriert: 23. Dez 2005 18:47

Beitrag von Qubit85 »

Soll die Ampel aus c) eigendlich wie eine richtige Ampel funktionieren, also dass die Autos bei Rot stehenbleiben müssen, oder soll die Ampel nur sagen welche Strasse Vorfahrt hat?

Gilt der Sicherheitsabstand nur für die Autos, die die Strasse kreuzen oder auch für die Autos auf der selben Strasse?
"In Fällen größerer Abweichungen ist es immer die Wirklichkeit, die sich geirrt hat."

amittelbach
Mausschubser
Mausschubser
Beiträge: 49
Registriert: 1. Feb 2007 20:07

Beitrag von amittelbach »

Frage über Fragen .. und ich habe auch noch eine.

Wie sieht das denn mit unsinnigen Anfangswerten aus. z.B. zwei Fahrzeuge auf der Kreuzung oder ein ungerades N. Müssen wir uns um sowas kümmern oder können wir davon ausgehen, dass unsere Methoden mit richtigen Daten gefüttert werden?

Benutzeravatar
dEeP-fRiEd
Kernelcompilierer
Kernelcompilierer
Beiträge: 432
Registriert: 19. Okt 2005 00:58
Wohnort: Darmstadt
Kontaktdaten:

Beitrag von dEeP-fRiEd »

Ich hab noch eine Frage zur a)
Ich hab da jetzt erst mal alle Sachen hintereinander durchgeackert
Also als erstes die Geschwindigkeit erhöt, falls sie noch nicht maximal ist.
Dann abgebremst wenn die Lücke zu klein ist.
Dann mit der Trödelwahrscheinlichkeit zusätzlich abgebremst
Und zum Schluss das Fahrzeug weiter bewegt.

Aber so canceln sich ja Beschlenigung und Abbremsung teilweise einfach aus. Deshalb wär's ja wohl vermutlich besser, als erstes zu fragen, ob wegen Kollision abgebremst werden muss, und falls nicht mit der Trödelwahrscheinlichkeit trotzdem abbremsen und ansonsten, falls möglich beschleunigen.

Oder wie macht ihr das?
NOSCE TE IPSUM
visit: http://www.flicknetwork.net.tc

Antworten

Zurück zu „Archiv“