Schon. Nur ist das allenfalls in trivialen Fällen feststellbar.
Stichproben beweisen nichts. Sie zeigen nur die Ergebnisse der genommenen Probenmenge. Alles andere wird übersehen.
Relativ fehlerfrei, oder besser recht fehler_arm_, weil vielfach überprüft. Aber nicht _sicher_ fehler_frei_.
Das kommt noch dazu. Die Wahrscheinlichkeit, daß ein Fehler gemacht wird, nimmt stark überproportional mit der Anzahl der Funktionen zu.
Jede Turing-vollständige Programmiersprache kann dasselbe. Daß die meisten darüber hinaus die Grundfunktionen noch in vielfältiger Weise "verpacken", erleichtert nur das Schreiben von Programm-Code. Zudem betreffen die "inhärente[n] Mängel" meistens nicht die Programmiersprache direkt, sondern - wie die durch die unsinnige Zeiger-Fixierung von C verursachten Probleme z.B. - durch eine dafür standardmäßig vorgesehene Programmier_umgebung_ (aka "API", in Form eines Laufzeitsystems aka "run time library").
Didn't find your answer? Ask the community — no account required.
S
Sieghard Schicktanz
Hallo Gerrit,
Du schriebst am Tue, 20 Dec 2022 06:43:42 +0100:
Wofür steht wohl das "update often"?
R
Rolf Bombach
Volker Bartheld schrieb:
Muss wohl. Insbesondere der Shitstorm in den Kommentaren zeigt, dass man da schon was getroffen haben wird.
S
Sieghard Schicktanz
Hallo Gerrit,
Du schriebst am Mon, 19 Dec 2022 19:42:13 +0100:
Es geht auch 1 Laser mit steuerbarer Optik. Da gibt's z.B. die elektronisch steuerbaren Mikrospiegel ("multi mirror arrays" o.s.ä.), man könnte aber auch mit vielfacher Strahlaufspaltung und elektr(on)ischer Laufzeitmodulation der Einzelstrahlen eine adaptive Optik bauen, die ähnlich wie die "phased arrays" beim RADAR arbeitet. Da ersteres noch kein (Groß-) Serienprodukt ist und letzteres meines Wissens noch nicht mal in aktiver Entwicklung, sind beide Methoden halt auch recht aufwendig.
S
Sieghard Schicktanz
Hallo Christoph,
Du schriebst am Mon, 19 Dec 2022 20:55:40 +0100:
Und damit das Prinzip der punktweisen Abtastung der Umgebung vollständig verliert. Nee, so geht das nicht!
H
Helmut Schellong
|"Zweifel, daß ... 'garantiert fehlerfrei' möglich ist." Rein sprachlich ist mein Schluß korrekt. Du hättest "... das zu beweisen ..." für Klarheit hinzufügen müssen.
Deshalb gründliche Tests der Software.
H
Helmut Schellong
[...]
Wir wissen es eben nicht wirklich.
"ein Mensch"? Es geht um die 'Moral Machine' im Autonomen.
Die Machine hat ausgerechnet, daß unweigerlich eine Person sterben muß.
Um zu vermeiden, daß wir uns ewig im Kreis drehen:
formatting link
formatting link
Es gilt der vorstehende angenommene Fall. Genau so, wie er gezeichnet ist, mit den gezeichneten Totenköpfen.
[...]
H
Helmut Schellong
12/16/2022 19:14 : |"Was ich von vollautonomen Fahrzeugen denke? Es würde mich überraschen, wenn es die | bereits in den kommenden 10 Jahren gibt. Doch ich wäre genau so überrascht, wenn sie | nicht in 20 oder 30 Jahren kämen. | Allerdings unterschätzen die meisten den technologischen Aufwand, der nötig ist, um ein | autonomes Fahrzeug für alle möglichen Alltagssituationen zu entwickeln. | Das ist viel schwerer als angenommen! (That's a very hard part.)"
Vorstehend die genaue Aussage.
Ich kann wegen meiner Ahnung aber abschätzen, mit welcher Wahrscheinlichkeit der Professor recht hat.
H
Helmut Schellong
Ja, das geht. Es wird auf elementare Probleme heruntergebrochen.
formatting link
Es geht um Probleme, die im Straßenverkehr vorkommen können, im Zusammenhang mit einem autonomen Auto und anderen Teilnehmern.
A
Alexander Schreiber
Oh selige Naivität. Natürlich machen Maschinen Fehler. Eine Regel die wir neu angeheuerten Ingenieuren einhämmern ist "_Everthing_ fails - deal with it." - weil es so ist.
In der abstrakten Welt der reinen Mathematik machen Maschinen niemals Fehler, ja. In der Realität sieht es aber _ganz_ anders aus, weil Physik, Chemie und ja, auch Biologie kräftig mitreden.
Zum Beispiel RAM. Idealerweise ein perfekter Speicher für Einsen und Nullen, ganz einfach. In der Realität .. oh je. Das fängt damit an, dass bei DRAM (Dynamic RAM) der Inhalt der Speicherzellen regelmässig aufgefrischt werden muss. Warum? Weil es ganz unten in den Strukturen im Silizium Ladungslecks gibt, wo dann irgendwann aus einer Eins eine Null und umgekehrt werden könnte, wenn man das nicht laufend aktualisiert. Das ist aufgrund der Strukturgrössen mittlerweile so schlimm, dass bei DDR5 im Standard on-chip ECC (also Fehlerkorrekturcodes _im_ Speicher- chip) vorgeschrieben ist weil man das anders gar nicht mehr in den Griff kriegt.
Und dann gibt es so "lustige" Sachen wie Rowhammer, wo JavaScript Code der in einer VM im Browser läuft gnadenlos durch mehrere Abstraktions- schichten durchschlägt und aufgrund von Übersprecheffekten in den Strukturen des Speicherchips Speicherzellen umkippt - in einer Weise die für einen Angriff auf die Maschine ausnutzbar sein kann.
Mach mal aus "kann" ein "wird" - ist näher an der Realität ;-)
ROTFLBTCSTC.
Der Witz war gut.
Ok, es wird noch besser.
Mit trivialer Software auf trivialen Maschinen (die zudem korrekt entworfen und gebaut sein müssen und auch korrekt funktionieren müssen) geht das ja noch.
In der Realität haben wir Berge von Abstraktion um die Fantasie einer idealen, strikt mathematisch/logisch funktionierenden Maschine zu vorzuspiegeln. Dummerweise lecken die Abstraktionen alle. Beispiel: wir haben einen Prozess der im wesentlichen ein RPC-Router ist: Nimmt RPC-Pakete vom Netz entgegen, schaut in seiner in-memory Konfiguration nach, wo die hin sollen, schickt sie übers Netz raus. Abstraktionsleck Nummer 1: dieser Prozess hat im Startup Code, der den Prozess fest an einen CPU-Kern nagelt (via scheduler hints), weil sonst der Scheduler den Prozess jederzeit auf einen anderen Kern schieben kann. Und wenn dann der Kern in einem anderen Sockel ist, dann kostet der Speicherzugriff Extra-Latenzen, die in einer Umgebung, wo 10 GBit/s Netzwerkschnittstellen "der lahme Kram von gestern" sind, durchaus negativ auffallen. Abstraktionsleck Nummer 2: Gelegentlich wird ein solcher Prozess ca.
20-30% langsamer als seine Kollegen, die auf gleicher Hardware laufen. Des Rätsels Lösung: ein Media-transkoding Prozess (der mehrere Kerne nutzt, aber nicht den Kern, auf dem der RPC-Router läuft) läuft zu dem Zeitpunkt auf der gleichen Maschine und belegt massiv Speicherbandbreite, die dem RPC-Router jetzt fehlt und ihn so langsamer macht.
Und das sind nur Situationen wo die Konsequenzen nicht über "ist eher lästig" hinausgehen.
Das kann man beliebig weiterdiskutieren mit all den interessanten Fehler- scenarien die in multiprozessor und verteilten Systemen möglich sind und so in Uniprozessorsystemen nicht existieren. Zum Beispiel Suchbegriff "mars rover priority inversion". Oder diverse data/lock/usw races. Und wenn dann noch die Hardware nicht _exakt_ so funktioniert wie im Handbuch steht, wird es besonders lustig.
Rein aus Unterhaltungsgründen würde ich das Ding gerne sehen wollen. Besonders mit den Regeln für, sagen wir, etwas weniger freiheitsliebende Gegenden dieser Erde: "Wer DuWeisstSchonWen in DuWeisstSchonWo 'Winnie' nennt, ist böse, tut es jemand in Deutschland ist er aber nur albern". Wobei, sich solch ein Konstrukt im Detail anzugucken würde vermutlich Vergnügungssteuer kosten ...
Man liest sich, Alex.
H
Helmut Schellong
Ich habe vor über 20 Jahren mal einen Verkehrswissenschaftler gelesen, der schrieb, daß er sich wundert, wie wenige Tote es im Verkehr gibt, angesichts der vielen Milliarden von Fahrten in einem Jahr. Die Menschen seien verdammt gut darin, wie sie so herumfahren.
Siehe meinen Absatz oben.
[Testfahrer]
Bisher gibt es kein Level_5-Autonomes.
H
Helmut Schellong
Ja, allerdings Software kann nicht verschleißen.
Das Argument ist einfach vollkommen abwegig, /verträumt/. Ich widerlege nicht Gödel. Wozu? Ist doch Zeitverschwendung bei diesem Thema hier.
Nein, es wird keinen Widerspruch in der 'Moral Machine' für ein jew. bestimmtes Land geben. Ich habe bereits erklärt, wie das in Netzdiagrammen ausgewertet wird.
Keine Ahnung. Ich weiß nicht, worauf ich vorstehend antwortete.
Ja, aber das doch kein Widerspruch.
Nein, das ist ein Irrtum! "Auch "die Maschine", die Du offenbar als ihre Hardware definiert," Der vorstehende Satz ist falsch, abwegig und irrig.
Das MIT definiert die 'Moral Machine' als Software. Die Fahrsoftware ist eine andere Software.
Richtig. Software allein, Software an sich kann das nicht. Software auf meinen Speicherkarten liegt da tot herum und agiert nicht.
[...]
Ja, wenn sich aber kein Fehler mehr zeigt, bei allen Kombinationen von Parameterwerten, kommt offenbar kein eventuell noch vorhandener Fehler zu einer Wirkung. Es muß also nicht die Fehlerfreiheit bewiesen werden.
H
Helmut Schellong
Dann modifiziere ich eben mit 'mit an Sicherheit grenzender Wahrscheinlichkeit feststellen.'. Manchmal bin ich auch schreibfaul.
H
Helmut Schellong
Thema vergessen?
Wenn eine Maschine ein fehlerhaftes Verhalten an den Tag legt, hat diese Maschine keinen Fehler gemacht, sondern z.B. die Physik einen bewirkt. Die Maschine an sich verhält sich deterministisch, solange sie nicht verschlissen ist; und Software kann nicht verschleißen.
Statische RAMs haben dies Problem nicht, benötigen aber viel mehr Transistoren.
Na ja, ich kann das nicht! Ich kann mit:
."eine eher philosophische Frage, ob man Teilprogramme . als fehlerhaft oder nicht einstufen will/kann."
Nichts anfangen. "philosophisch" übersehen?
Scheinbar niemand versteht semantisch, was ich schreibe!
|Entweder sie enthält Fehler, oder eben nicht. Dazwischen gibt es nichts.
Es kann gar nichts dazwischen geben! Es gibt entweder 0 Fehler oder 1 Fehler oder 2 Fehler oder 3 Fehler oder ... Folglich gibt es zwischen '0 Fehler' und '1 oder mehr Fehler' _nichts_. Was denn auch? Nun verstanden?
So etwas will ich eigentlich nicht diskutieren. Ich habe mein Leben lang anders programmiert. Ich setze Consumer-Ware (PC, Windows) nicht gleich mit Sicherheitsrelevanter Software! Das sind verschiedene Welten.
formatting link
G
Gerrit Heitsch
Und das ist der Knackpunkt. Kannst du durch Tests der Software in endlicher Zeit beweisen, daß sie korrekt ist? Das Halteproblem läßt grüßen.
Gerrit
G
Gerrit Heitsch
Ja, das gehört aber zu '1 Laser mit Mechanik'
Gerrit
G
Gerrit Heitsch
Und dann muss man das Handbuch auch noch korrekt verstehen.
Ich erinnere mich an einen Abschnitt im Handbuch für einen SCSI-Chip. Da steht unschuldig, daß sich der Inhalt des Statusregister nach dem Setzen eines Flags durch die State machine nicht ändert bis man es ausgelesen hat.
Das das bedeutet, daß auch die State machine stehenbleibt bis man das Register ausliest steht da allerdings nicht und kann für Überraschungen sorgen. Sobald man das rausgefunden hat liest man obiges mit anderen Augen.
Gerrit
W
Wolfgang Allinger
funktionierende SW? Wovon träumst Du nachts? Sowas gabs vor den Mäuseschubsern, aber heutzutage?
Saludos (an alle Vernünftigen, Rest sh. sig) Wolfgang
W
Wolfgang Allinger
Neue Fehler zeugen von Kreativität, die nach hinten ging. Gleiche Fehler von Dummheit.
.. in Dummheit...
Saludos (an alle Vernünftigen, Rest sh. sig) Wolfgang
T
Thomas Prufer
Okay: also weder "leicht" noch "beweisen".
Denn:
"Es kann gar nichts dazwischen geben! Es gibt entweder 0 Beweise oder 1 Bewesei oder 2 Beweise oder 3 Beweise oder ... Folglich gibt es zwischen '0 Beweise' und '1 oder mehr Beweise' _nichts_. Was denn auch? Nun verstanden?"
Thomas Prufer
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.