0 Daumen
620 Aufrufe

Aufgabe:


Es gibt 4 Mitarbeiter A,B,C und D, die symbolisch für ein Fließband stehen.

Die vier Mitarbeiter müssen eine Liste von 1042 Einträgen bearbeiten.

Dabei nimmt Mitarbeiter A einen Eintrag heraus, generiert ein Ergebnis und gibt dieses Ergebnis B weiter bis schließlich D die Bearbeitung des Eintrags abschließt und verstaut. Jeder Mitarbeiter benötigt für seine Aufgabe 1 Sekunde.

Wie lange benötigen die Mitarbeiter, um die ganze Liste mit den 1042 Einträgen zu bearbeiten?


Problem/Ansatz:

Wenn Mitarbeiter A warten würde bis D den Eintrag bearbeitet hat und A erst dann den nächsten Eintrag nimmt, dann wäre die Rechnung ziemlich einfach. Man müsste dann nämlich nur 1042*4 berechnen, dann würde man die Ausführungsdauer berechnet haben, aber wie rechnet man die Dauer, wenn Arbeiter A sein Ergebnis weitergibt und nicht wartet bis D diesen Eintrag bearbeitet hat, sondern direkt den nächsten Eintrag nimmt und diesen bearbeitet - also als "Fließband".

Irgendwann hätte man ja konstant 4 Einträge, an denen gleichzeitig gearbeitet werden würde und ich weiß nicht wie ich das mit einbeziehen soll.

Avatar von

2 Antworten

0 Daumen
 
Beste Antwort

A benötigt für alle Einträge 1042 Sekunden. Dazu kommen die 3 Sekunden die der letzte Auftrag noch braucht um B, C und D zu durchlaufen.

Also 1045 Sekunden = 17 Minuten 25 Sekunden

Avatar von 479 k 🚀

Danke dir, dann habe ich es ja genau richtig!

Müsste es aber nicht 1042+6=1048 sein? Weil am Anfang nur A arbeiten kann, heißt 3 Sekunden muss man auf die 1042 Sekunden dazu addieren. Im nächsten Schritt kann A und B arbeiten, d.h. 2 Sekunden auf 1047 dazu addieren. Darauf folgt, dass ausschließlich D im diesen Durchgang nicht arbeiten kann also nochmal eine Sekunde auf die 1047, also 1048 Sekunden. Dann können alle gleichzeitig an der Abarbeitung der Liste arbeiten, oder nicht?

Ich möchte dieses Problem mal erweitern: Wenn der Aufwand verändert wurde und der Arbeiter C doch 3 Sekunden benötigt, wie würde ich die Rechnung nun gestalten?

Ich habe es jetzt richtig verstanden, doch 1045 Sekunden. Ich schau mal, wie ich die 3 Sekunden da einbeziehen kann.

Mach das doch mal mit einer Liste die nur 5 Einträge hat. Da muss das doch ähnlich funktionieren oder nicht?

Ich habe mal eine Liste mit nur 5 Einträgen erstellt und habe das Muster festgestellt: Im ersten Durchgang braucht es 2 Sekunden bis C den ersten Eintrag erhält. Da D von C abhängt und nachdem C den ersten Eintrag bearbeitet hat, gibt es keine 2 Sekunden Verzögerung, da während C mit dem alten Eintrag beschäftigt ist, hat B schon den nächsten Eintrag bearbeitet und wartet bis C ihn annimmt. Also ergibt sich eine Gesamtdauer von 4*1042+2 Sekunden, oder?

Wie lange brauchen 5 Einträge ?

Wie lange brauchen 6 Einträge ?

Wie lange brauchen 7 Einträge ?

Wie lange brauchen n Einträge ?

Der erste Eintrag dauert 6 Sekunden (1+1+3+1). Da der Arbeiter C solange braucht, muss er gar nicht mehr auf die Bearbeitung des nächsten Eintrags durch A und B warten, weil während der Arbeitszeit von C, die nämlich 3 Sekunden beträgt, hat A sein Ergebnis B weitergereicht und B wartet nun bis es sein Ergebnis an C weiterreichen kann. Also sind die Zeiten der Arbeiter C und D nachdem ersten Durchgang maßgeblich, welche 4 beträgt, also wenn wir 5 Einträge hätten würde es 6+4+4+4+4=24 Sekunden dauern, jeder weitere Eintrag benötigt weitere 4 Sekunden, oder nicht? Was hast du denn raus?

Ich komme auf 8 Sekunden nach folgender Tabelle

ABCD
1---
21--
321-
4321
5432
-543
--54
---5

Ich hätte noch erwähnen müssen, dass es nur einen "Zwischenspeicher" für nur ein Ergebnis gibt, d.h. A oder B kann maximal nur ein Eintrag vorarbeiten bis C diesen Eintrag verwertet hat, ansonsten würde man den "Zwischenspeicher" immer überschreiben. Um das nochmal klarzustellen: A,B und C haben nur einen "Zwischenspeicher", in welchen sie nur einen Wert speichern können. Das heißt, solange C mit beispielsweise dem zweiten Eintrag nicht fertig ist, braucht B noch den "Zwischenspeicher" für den dritten Eintrag, sodass C diesen nach der Abfertigung des zweiten Eintrags aufnehmen und diesen weiterverarbeiten kann. Solange C den dritten Eintrag von B nicht überreicht bekommen hat, darf B nicht den Zwischenspeicher für den vierten Eintrag benutzen.

Achso. Ich hatte das überlesen das du willst das C 3 Sekunden arbeiten muss.

A und B arbeiten 2 Sekunden bis C den ersten Eintrag bekommt. Dann Arbeitet C 1042 * 3 = 3126

Danach braucht D noch eine Sekunde für den Letzten Eintrag. Also

3 + 3126 + 1 = 3130 Sekunden oder?

Stimmt, D brauche ich nur einzubeziehen, wenn es sich tatsächlich nur um den letzten Eintrag handelt. Jetzt habe ich auch das verstanden, danke! Und ich glaube du meinst 2+3126+1=3129, oder?

0 Daumen

Der Arbeiter A hat in 1042 Sekunden seine Arbeit
beendet. Verzögerung nach B,C,D : +1 sek + 1 sek +
1 sek = 3 Sekunden
1042 + 3 = 1045 Sek

Avatar von 122 k 🚀

Das habe ich auch herausgefunden, aber könntest du mir vielleicht erklären, wie die Rechnung aussehen würde, wenn C nicht eine sondern drei Sekunden für seine Arbeit benötigen würde? Also der erste Eintrag würde nach 6 Sekunden abgearbeitet sein und jeder darauf folgende Eintrag würde nach 4 Sekunden abgearbeitet sein, also eine Gesamtdauer von 4*1042+2 Sekunden, oder ist das falsch? Die Erklärung, wie ich darauf komme, ist im Kommentarbereich der anderen, obigen Antwort

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community