Hinweis auf die DSGVO: Auf unserer Seite werden keine Dritt-Anbieter-Cookies verwendet und nur Daten erfasst, welche für das Minimum an Board-Funktionalität notwendig sind.
Bevor Sie sich registrieren oder das Board verwenden, lesen Sie bitte zusätzlich die DSGVO-Erklärung, welche in der Navigationsleiste verlinkt ist.

Kurzfassung der unserer Meinung nach wichtigsten DSGVO-Punkte:
Es kann vorkommen, dass Benutzer eigenverantwortlich Videos oder sonstige Medien in ihren Beiträgen verlinken, welche beim Aufruf der Forenseite als Teil der Seite samt zugehörigem Material mitgeladen werden. Sollten Sie dies nicht wünschen, verwenden Sie beim Benutzen des Forums einen Blocker wie z.B. uMatrix, welcher das Laden von Inhaltsblöcken von Fremd-URLs effektiv unterbinden kann.
Wir blenden keine Werbung ein und schränken die Inhalte in keinster Weise bei Benutzung von Addblockern ein. Dadurch ist die Grundfunktionalität des Forums auch bei vollständigem Blockieren von Drittanbieter-Inhalten stets gegeben.

Cookies werden unsererseits nur verwendet um das Einloggen des Benutzers für die Dauer der Forenbenutzung zu speichern. Es steht dem Benutzer frei die Option 'Angemeldet bleiben' zu verwenden, damit der Cookie dauerhaft gespeichert bleibt und beim nächsten Besuch kein erneutes Einloggen mehr notwendig ist.
EMail-Adressen werden für Kontakt bei wichtigen Mitteilungen und zur Widerherstellung des Passwortes verwendet. Die verwendeten IPs können von uns ohne externe Hilfsmittel mit keiner realen Person in Verbindung gebracht werden und werden nach spätestens 7 Tagen gelöscht. Diese IPs werden höchstens verwendet um Neuanmeldungen unerwünschter oder gesperrter Nutzer zu identfizieren und zu unterbinden. Wir behalten uns daher vor bei Verdacht, die Frist für die IP-Löschung auf maximal 14 Tage zu verlängern.
Unsere Webseite läuft auf einem virtuellen Linux-Server, welcher von einem externen Anbieter gehostet wird. Etwaige Verstöße der DSGVO-Auflagen seitens dieses deutschen Hosters können wir nicht feststellen und somit auch nicht verfolgen.
Wir halten Backups unserer Datenbanken, welche in regelmäßigen Abständen als Schutz vor Katastrophen, Hackerangriffen und sonstigen Ausfällen erstellt werden. Sollte ein Nutzer die Löschung seiner Daten wünschen, betrachten wir es als Unzumutbar die Backups auch von den Daten zu befreien, da es sich hierbei um eine mehrtägiges Unterfangen handelt - dies ist für eine Einzelperson beim Betrieb eines privaten Forums nicht zumutbar möglich ohne das Backup komplett zu löschen.
Sollten Sie etwas gegen die dauerhafte anonyme Speicherung ihrer EMail-Adresse, ihres Pseudonyms und ihrer Beiträge in einem Backup haben, sehen Sie von der Registrierung in diesem Forum ab. Für Mitglieder, welche vor dem 25.05.2018 registriert waren steht jedoch das Recht im Raum, eine Löschung der Datenbank-Backups zu beantragen.



Wenn dies Ihr erster Besuch hier ist, lesen Sie bitte zunächst die FAQs sowie die wesentlichen Regeln zur Benutzung des Forums.
Um an den Diskussionen teilnehmen zu können, müssen Sie sich zunächst registrieren.

Algorithmen auf dem Richterstuhl

Wissenschaftsgeschichte, Wissenschaftstheorie bzw. -philosophie, Technik
Benutzeravatar
seeker
Ehrenadmin
Ehrenadmin
Beiträge: 6303
Registriert: 26. Dez 2009, 10:29

Re: Algorithmen auf dem Richterstuhl

Beitrag von seeker » 30. Jan 2018, 00:55

Wenn ich vergesse auf bestimmte Punkte einzugehen, dann ist das keine Absicht, die Texte sind lang, ein Hinweis genügt, dann hole ich das noch nach.
tomS hat geschrieben:
29. Jan 2018, 20:37
Die Frage ist, wie sich ein Auto in einer konkreten Situation konkret verhalten soll – nicht, ob diese Situation schon einmal eingetreten ist oder nicht. Sie kann prinzipiell eintreten, daher muss man sich dieser Frage stellen und sie beantworten.
Ganz so einfach ist das nicht. Auch das kann man diskutieren: Muss man sich wirklich um jede denkbare Situation kümmern, ganz gleich wie unwahrscheinlich sie auch sein mag?
Gibt es wirklich überhaupt keine Grenze nach unten? Ich meine ich habe viel Phantasie, ich könnte mir Dinge ausdenken, wo du sicher sagen wirst, dass das höchstens 1x in 1 Milliarde Jahren geschehen kann, wenn überhaupt. Wenn man das durchdenkt, dann kommt man zu dem Schluss, dass es so eine Untergrenze auf jeden Fall geben muss, ein Restrisiko, um das man sich nicht mehr kümmern muss, weil es einfach unvernünftig und unverhältnismäßig wäre. Fragt sich dabei nur wo sie liegt und ob unsere Beispiele da noch drüber liegen oder nicht.

Um das konkreter zu machen:
Nehmen wir an das Auto ist so fortentwickelt und hat so gute Sensoren, dass die bisher vorgeschlagenen tragischen Szenarien nach menschlichem Ermessen nicht vorkommen können (z.B. Oma-Kind-Szenario nicht, weil das Auto das praktisch 100% zuverlässig schon so rechtzeitig erkennen kann, dass sein Bremsweg immer ausreichen wird).
In dem Fall ergäbe sich kein Problem.

Nehmen wir nun an, dass das aber nicht genügend ausschließbar wäre, dann muss man sich darum kümmern, ja.
tomS hat geschrieben:
29. Jan 2018, 20:37
Um diesen Punkt abzuschließen: kannst du bitte den von dir o.g. Algorithmus für das Ausweichen skizzieren? Ich würde wirklich gerne verstehen, was du konkret im Sinn hast.
Da sehe ich dann verschiedene Möglichkeiten.

Die einfachste ist folgende:

If "Hindernis auf dem Weg" then mache Vollbremsung.
If "Kollision wahrscheinlich dennoch nicht vermeidbar" then weiche aus, weiche Menschen bevorzugt aus.
If "Menschen ausweichen wahrscheinlich nicht möglich" then weiche so weit wie möglich aus.

Fertig! "Weiche so weit wie möglich aus" hat eine eindeutige Lösung und die Intention den möglichst geringsten Gesamtschaden zu verursachen. Mehr kann aber muss nicht.

Die Welt ist ja auch in Wirklichkeit nicht schwarz/weiß wie im Beispiel angedacht. Man kann im Voraus gar nicht wissen oder ausrechnen was bei der Oma-Kind-Situation die beste Lösung ist, vielleicht ist die beste Lösung auch zwischen beiden durchzufahren, beide zu verletzten, aber keinen so schwer, dass er stirbt? Woher soll die KI die Knochendichte, die Robustheit und den allgemeinen Gesundheitszustand der beiden Menschen kennen und wie sie konkret fallen werden?
Es werden dann zwar in extrem seltenen Fällen Menschen umgefahren, aber das halte ich für akzeptabel, so lange es praktisch nie geschieht, eben mit der Begründung, dass der Einsatz dieser Technik enorm viel mehr Menschenleben rettet.

Alternativ könnte man tatsächlich auch den Zufallsgenerator einsetzen oder eine KI, die eben nicht völlig exakt arbeitet, eine gewisse Unschärfe enthält (tun das übringens nicht alle Rechner, man kann ja nicht mit unendlich vielen Nachkommastellen rechen?).
Wenn würfeln: wo ziehst du die Grenze zwischen fester Regel und würfen? Bei eins-zu-eins Situationen wie „Oma vs. Kind“? Oder eins-zu-fünf wie „Oma vs Familie“?
Eine Lösung besteht darin auch die Grenze selbst unscharf zu machen, also nur ungefähr festzulegen, indem man auch in die Grenze ein Zufallselement mit reinrechnet.


Die nächste Möglichkeit sehe ich in negativer Programmierung ("tue nicht", das Fahrzeug tut dann das, was übrigbleibt):
tomS hat geschrieben:
29. Jan 2018, 20:37
Nein, ich sehe den Unterschied nicht, weil es in Bezug auf einen Algorithmus keinen solchen gibt: du kannst aus allen potentiellen Zielen eines auswählen, oder du kannst alle potentiellen Ziele bis auf eines ausschließen.
Es ist aber ethisch ein Unterschied. Das Auto fährt in einer Vollbremssituation auch nicht mehr in dem Sinne aktiv, sondern wird von der Trägheit der Masse vorangetrieben.
Warum soll man eine Programmierung, bei den dann nur noch eingeschränkt möglichen Lenkbewegungen dabei nicht negativ formulieren können? Man hält sich dabei einfach an dem, was ein Mensch in der Situation richtigerweise tun würde: Er würde sicher auch nicht auf die Oma zielen, er würde versuchen auszuweichen, dem Kind aber noch mehr, sein Gehirn ist ausschließlich damit beschäftigt einen Weg zum Ausweichen zu finden, den möglichst geringsten Schaden zu verursachen, nicht damit beschäftigt ein Ziel zu suchen, das zu überfahren ist. Wenn es ein Gehirn kann, warum soll das dann eine KI prinzipiell nicht können? Das Ergebnis ist dasselbe und es mag auch äquivalent zur anderen Formulierung der Programmierung sein, aber es ist die die Intention, die hier ethisch zählt, der Rest ist dann einfach Tragödie, an Tragödien hat niemand Schuld. Das ist mein Punkt.
tomS hat geschrieben:
29. Jan 2018, 20:37
Das ist aber im Sinne eines Algorithmus vollständig äquivalent zu meinem Code.

Potentielle Ziele einschließlich aller Lücken werden erfasst, und es wird das Ziel mit dem geringsten Wert ausgewählt. Es ist egal, wie du das umgangssprachlich formulierst, es können Situationen auftreten, in denen ausschließlich lebende potentielle Ziele existieren, zwischen denen auszuwählen ist.
Es ist aber von der Absicht etwas anderes, das ist ethisch gesehen der Punkt, nicht die mathematische Äquivalenz. (s.o.)
Nun haben zwar KIs (bis auf weiteres) keine Absichten, aber die Programmierer haben sie. Wenn also der Programmierer negativ formuliert, dann kommt er da viel besser raus.
tomS hat geschrieben:
29. Jan 2018, 20:37
Wenn du die Regel „soweit physikalisch möglich: weiche allen lebenden Zielen aus“ implementierst, wie soll die Software sich verhalten, wenn diese Regel keine Lösung zurückgibt? Soll die Software nichts tun? Auch dann „tut sie ja etwas“, z.B. geradeaus weiterfahren. Du kannst das jedenfalls nicht offen lassen.
Doch, auch das kann ich, auch "nichts weiter tun" ist aus meiner Sicht eine akzeptable Option. Bremsen wird sie sie ja auf jeden Fall, wenn sie in solchen Extremseltenfällen dann dabei geradeaus fährt, dann ist das m. E. ethisch schon ausreichend, immer gedenk der vielen anderen Leben, die gerettet werden. Wichtig dabei ist, dass solche Fälle auch tatsächlich entsprechend selten sein müssen, nur dann funktioniert das Argument, jedoch bin ich da zuversichtlich.
tomS hat geschrieben:
29. Jan 2018, 20:37
Es geht noch nicht mal um einen gesellschaftlichen Konsens, es geht zunächst mal darum, überhaut die Optionen zu kennen.
Ja. Aber zunächst einmal muss man auch herausfinden, worum man sich überhaupt kümmern muss und was man getrost unter den Tisch fallen lassen kann.
tomS hat geschrieben:
29. Jan 2018, 20:37
Der Algorithmus eines neuronalen Netzes ist m.E. trivialerweise beweisbar korrekt. Was absolut unklar ist, wie sich die Auswahl der Trainingssituationen auf die Reaktion auswirkt. Bereits bei einfachen Situationen wie beim Brettspiel Go ist den menschlichen Experten nicht mehr klar, warum die Software so spielt wie sie spielt; lediglich das Ergebnis zählt. Dann müsstest du mit der Situation leben, dass du keine Regel angeben kannst, wie sich das System in einer bestimmten Klasse von Situationen verhält, weil du sie nicht aus dem System extrahieren kannst; du kannst aber weiterhin in jeder konkreten Situation die Entscheidung nachvollziehen. Es ist – aus heutiger Sicht – natürlich rechtlich fragwürdig, wenn ein System prinzipiell nur noch statistischen Kriterien genügt.
Da würde ich pragmatisch vorgehen: Wenn es sich durch Versuch und Erfahrung genügend erwiesen hat, dass das System genügend gut und sicher funktioniert, dann ist es nicht erforderlich bis ins Detail zu wissen, wie es das macht. Man muss einfach nicht alles bis ins kleinste Detail kontrollieren und wissen, so interessant das aus wissenschaftlicher Sicht auch sein mag, weder beim Sicherheitsgurt, noch bei einer KI, man muss das nur ausreichend gut wissen. Was ausreichend ist und was nicht, ist Gegenstand gesellschaftlicher Konvention.
tomS hat geschrieben:
29. Jan 2018, 20:37
Mir ist klar, solange die Technologie unpräzise ist, stellt sich diese Frage so nicht; aber wenn sie unpräzise ist, möchte ich auch nicht, dass sie zum Einsatz kommt.
Warum nicht? Findest du es ethisch vertretbar, was weiß ich wie viele Menschenleben zu opfern, indem du sie nicht einsetzt, nur weil sie noch nicht vollkommen ist, obwohl sie dafür schon gut genug wäre?
tomS hat geschrieben:
29. Jan 2018, 20:37
seeker hat geschrieben:In Anbetracht dessen wird für das obige Problem fast jede Lösung akzeptabel sein, weil es sich im Vergleich um Peanuts handelt, man sollte das nicht größer machen als es ist.
Dieser Aussage stimme ich nicht zu.

Es sind für mich keine Peanuts, dass ein letztlich präziser Algorithmus ein konkretes Lebe ausgelöscht hat.

Warum ist die Entscheidung, tausende von Menschen zu Lasten einiger weniger durch einen Algorithmus zu retten vertretbar, diejenige, tausende von Menschen zu Lasten einiger weniger durch einen Flugzeugabschuss zu retten dagegen verwerflich?
Ist ein ausgelöschtes Menschenleben, wo du konkret nachvollziehen kannst, dass letztlich ein präziser Algorithmus daran beteiligt war schlimmer, als ein ausgelöschtes Mensschenleben, wo das das nicht kannst, auch noch schlimmer, wenn es viele unkonkrete Menschenleben wären? Warum?

Ich halte es ehrlich gesagt auch für falsch das Flugzeug nicht abzuschießen, wenn völlig sichergestellt ist, dass dadurch deutlich mehr Menschenleben gerettet werden als geopfert werden müssen. Wichtig ist hier der Punkt "sicher": Nur wenn es sicher ist, dann wäre es aus meiner Sicht völlig unethisch die deutlich mehr Menschen im Stadion durch Untätigkeit zu opfern. Viele Menschenleben sind nunmal wichtiger als wenige Menschenleben - oder wo wolltest du sonst die Grenze ziehen? Wann darf man das Flugzeug mit 300 Menschen drin abschießen? Wenn dadurch 10.000 Leben gerettet werden? Nein? Und wenn es eine Million ist? Nein? Und wenn es um die gesamte sonstige Menschheit ginge? Würdest du die gesamte Menschheit durch Untätigkeit opfern, um 300 zu retten? Was würde dann aus der Welt, aus der menschlichen Zivilisation?
Es ist klar, dass so etwas wie ein Passagierflugzeugabschuss eine sehr harte Entscheidung ist, ich wollte sie nicht treffen müssen, aber es sind klare Situationen denkbar, wo kein vernünftiger Weg daran vorbei ginge, wo das richtig und ethisch korrekt ist.

Beim autonomen Auto ist es dasselbe: Wenn dadurch deutlich mehr Menschen gerettet werden können, dann ist es aus meiner Sicht unethisch es nicht zu erlauben, auch dann, wenn die Technik noch nicht perfekt ist.
Allerdings sind dann nat. Anstrengungen zu unternehmen, die "Kollateralschäden" im Zuge der weiteren techn. Entwicklung auf ein möglichst geringes Maß zu drücken.
Dieses Maß hängt aber m. E. bei weitem nicht nur von der Programmierung ab "wo soll das Auto in so einer Situation hinfahren", nicht einmal hauptsächlich, sie hängt viel mehr von dem ganzen drum herum ab, von den Verkehrswegen, den Sensoren des Fahrzeugs, dem Verhalten der Menschen, usw.

Abschließend: Wie ist das eigentlich bei den Autopiloten bei den Flugzeugen geregelt?
Grüße
seeker


Kritisches Denken bedeutet nicht, sich einseitig nur aus kritischen Quellen zu versorgen und die dortigen Darstellungen unkritisch zu übernehmen. Viele überschätzen ihre eigene Medienkompetenz massiv. Dies wird von Verführern ausgenutzt.

Benutzeravatar
Dgoe
wohnt hier!
wohnt hier!
Beiträge: 399
Registriert: 20. Nov 2017, 17:32

Re: Algorithmen auf dem Richterstuhl

Beitrag von Dgoe » 30. Jan 2018, 02:26

Hallo seeker,

Deine Idee zu einer 'normalen' Diskussion zurückzufinden, war wohl nur rhetorisch gemeint , nicht wirklich. Nicht zuletzt deswegen hatte ich die Initiative ergriffen und mich hier eingebracht um das aufzulockern. Passte ja.

Ok, macht ihr mal.

Und jetzt mach ich mal richtig: next post. Stay tuned.
Der Optimist glaubt, dass wir in der besten aller möglichen Welten leben. Der Pessimist befürchtet, dass der Optimist damit Recht hat.

Benutzeravatar
tomS
Administrator
Administrator
Beiträge: 10475
Registriert: 19. Nov 2007, 20:29
Wohnort: Nürnberg

Re: Algorithmen auf dem Richterstuhl

Beitrag von tomS » 30. Jan 2018, 07:33

Hallo seeker,

die wesentlichen Aussagen deines Beitrages zeigen mir, dass das Grundproblem darin besteht, akzeptable Antworten auf ethische Fragen zu finden. Deine Argumentation ist für dich natürlich schlüssig und auch für mich nachvollziehbar, jedoch deswegen keinesfalls unstrittig und allgemein akeptiert (wie das Beispiel des Flugzeugabschusses zeigt, wo wir uns weitgehend einig sind, das Bundesverfassungsgericht jedoch eine andere Auffassung hat).

Es geht mir noch gar nicht darum, eine Lösung zu finden, sondern darum, auf verschiedene sich widersprechende Ansichten hinzuweisen.

Diverse Umfragen zeigen, dass Menschen hier noch keine schlüssige Ansicht haben: z.B. befürworten Menschen die Schadensminimierung im Sinne der Minimierung der Opferzahlen, ggf. zu Lasten des Fahrers, wenn sie nach der gewünschten Programmierung von autonomen Fahrzeugen gefragt werden. Sie würden sich - in den selben Umfragen - jedoch gegen den Kauf eines derartigen Autos für sich und ihre Familie entscheiden. Man würde also das Ziel der Minimierung der Anzahl der Verkehrstoten evtl. besser erreichen, wenn man keine in diesem Sinne optimale Programmierung einsetzt, weil man damit die Akzeptanz eines anderen, im Einzelfall nicht optimalen Algorithmus erhöhen und so dennoch die Summe der Opferzahlen minimieren könnte.

Wie so oft wird sich die ethische Haltung zu einer Technologie im Zuge deren schrittweiser Einführung wandeln. Der Punkt ist nur - und das ist neu - dass man aufgrund der Art der Technologie diese Fragen bereits vorher sehr präzise diskutieren kann - anders als z.B. bei der Dampfmaschine und dem Klimawandel - und deswegen auch sollte!

Das Problem besteht m.E. ab ch nicht darin, dass wir singulär autonomes Fahren einführen, sondern dass vergleichbare Technologien und "KIs" in weite Bereiche unseres Lebens eindringen und unser Selbstverständnis als Menschen zumindest herausfordern.

Es ist aktuell noch zu früh, das zu entscheiden, jedoch sicher nicht zu früh, sich damit zu befassen: diese Technologien bieten enorme Chancen (z.B. bei der Logistik und im Individualverkehr, und damit z.B. bei der Einsparungen wertvoller Resourcen) als auch Risiken (ethisch-moralisch, Abhängigkeit von KIs, sozialer Abstieg großer gesellschaftlicher Gruppen, nicht zuletzt auch vollständig autonome Waffensysteme).



Bei der Frage der Algorithmen stimme ich dir weiterhin nicht zu, da du - denke ich - hier etwas hineindenkst, was bei der Softwareentwicklung nicht drin ist.
seeker hat geschrieben:
30. Jan 2018, 00:55
tomS hat geschrieben:
29. Jan 2018, 20:37
Um diesen Punkt abzuschließen: kannst du bitte den von dir o.g. Algorithmus für das Ausweichen skizzieren? Ich würde wirklich gerne verstehen, was du konkret im Sinn hast.
Da sehe ich dann verschiedene Möglichkeiten.

Die einfachste ist folgende:

If "Hindernis auf dem Weg" then mache Vollbremsung.
If "Kollision wahrscheinlich dennoch nicht vermeidbar" then weiche aus, weiche Menschen bevorzugt aus.
If "Menschen ausweichen wahrscheinlich nicht möglich" then weiche so weit wie möglich aus.

Fertig! "Weiche so weit wie möglich aus" hat eine eindeutige Lösung und die Intention den möglichst geringsten Gesamtschaden zu verursachen. Mehr kann aber muss nicht.
"soweit als möglich ausweichen" muss im Falle mehrerer Ziele keinesfalls optimal sein. Und der Entwickler weiß das; soll er wider besseren Wissens eine in diversen Fällen suboptimale Lösung implementieren?

Du drückst dich hier um die Präzisierung, um einem ethischen Problem auszuweichen, landest dabei jedoch sofort bei einem anderen.
seeker hat geschrieben:
30. Jan 2018, 00:55
Die nächste Möglichkeit sehe ich in negativer Programmierung ("tue nicht", das Fahrzeug tut dann das, was übrigbleibt):
tomS hat geschrieben:
29. Jan 2018, 20:37
Nein, ich sehe den Unterschied nicht, weil es in Bezug auf einen Algorithmus keinen solchen gibt: du kannst aus allen potentiellen Zielen eines auswählen, oder du kannst alle potentiellen Ziele bis auf eines ausschließen.
Es ist aber ethisch ein Unterschied. Das Auto fährt in einer Vollbremssituation auch nicht mehr in dem Sinne aktiv, sondern wird von der Trägheit der Masse vorangetrieben.
Es geht nicht um das Auto sondern um den Softwareentwickler und den Tester. Es geht darum, dass deren Algorithmus mit einem gewissen Input zu einer bestimmten Anzahl von Opfern (Toten und Verletzten) führt. Dieser Algorithmus ist zu implementieren und zu testen. Der Test erfolgt im Labor, es existiert noch nicht mal ein Auto, geschweige denn Massenträgheit. Allen Beteiligten ist klar, was sie tun: sie füttern eine KI mit Daten und erhalten als Ergebnis (softwaretechnisch simulierte) Opferzahlen.
seeker hat geschrieben:
30. Jan 2018, 00:55
tomS hat geschrieben:
29. Jan 2018, 20:37
Das ist aber im Sinne eines Algorithmus vollständig äquivalent zu meinem Code.

Potentielle Ziele einschließlich aller Lücken werden erfasst, und es wird das Ziel mit dem geringsten Wert ausgewählt. Es ist egal, wie du das umgangssprachlich formulierst, es können Situationen auftreten, in denen ausschließlich lebende potentielle Ziele existieren, zwischen denen auszuwählen ist.
Es ist aber von der Absicht etwas anderes, das ist ethisch gesehen der Punkt, nicht die mathematische Äquivalenz. (s.o.)
Nun haben zwar KIs (bis auf weiteres) keine Absichten, aber die Programmierer haben sie. Wenn also der Programmierer negativ formuliert, dann kommt er da viel besser raus.
Der Entwickler denkt aber im Zuge seiner Arbeit in dieser Äquivalenz, nicht in einer abstrakten Absicht. Das Ändern von Variablennamen ändert nichts am Algorithmus.

Wie gesagt, möglicherweise hast du eine falsche Vorstellung von Softwareentwicklung, insbs. im industriellen Umfeld. Dabei geht es jedoch nicht um die Probleme im Großen, sondern um Detailfragen.
Gruß
Tom

Niels Bohr brainwashed a whole generation of theorists into thinking that the job (interpreting quantum theory) was done 50 years ago.

Benutzeravatar
seeker
Ehrenadmin
Ehrenadmin
Beiträge: 6303
Registriert: 26. Dez 2009, 10:29

Re: Algorithmen auf dem Richterstuhl

Beitrag von seeker » 30. Jan 2018, 10:58

tomS hat geschrieben:
30. Jan 2018, 07:33
die wesentlichen Aussagen deines Beitrages zeigen mir, dass das Grundproblem darin besteht, akzeptable Antworten auf ethische Fragen zu finden. Deine Argumentation ist für dich natürlich schlüssig und auch für mich nachvollziehbar, jedoch deswegen keinesfalls unstrittig und allgemein akeptiert (wie das Beispiel des Flugzeugabschusses zeigt, wo wir uns weitgehend einig sind, das Bundesverfassungsgericht jedoch eine andere Auffassung hat).

Es geht mir noch gar nicht darum, eine Lösung zu finden, sondern darum, auf verschiedene sich widersprechende Ansichten hinzuweisen.
Danke. Dem kann ich mich auch anschließen. Ich zweifle ja auch gar nicht daran, dass wir es hier mit ethischen Problemen in neuem Gewand zu tun haben, die man diskutieren muss und die durchaus nicht unstrittig sind.
Ein Kernpunkt unserer Diskussion war für mich die von mir so verstandene Aussage, dass wir vor massiven, ganz neuen ethischen Problemen stehen würden. Daran hatte ich mich gestört.
Denn ich kenne halt einige althergebrachte ethische Probleme, die genauso schwierig zu beantworten sind, wo du genauso davor stehst und denkst "Wie ich es jetzt auch mache ist es falsch... Seufz!" Und ich habe schon andere Hypes erlebt, wo im Vorfeld viel Aufregung war und hinterher war dann doch alles nicht so dramatisch.

Deshalb ordnete ich diese ganze KI-Geschichte ethisch erst einmal so ein, dass hier eine ethische Evolution notwendig sein wird, aber von einer notwendigen Revolution im Moment noch nicht die Rede sein sollte. Und ich halte das alles für lösbar, mache mir da weniger Sorgen, zumindest bei so etwas wie dem Personenverkehr.

Deshalb hatte ich auch versucht darauf hinzuweisen, dass das alles vielleicht doch nicht ganz so dramatisch ist und dass "Ruhe bewahren" wohl ein guter Ratgeber sein wird.

Dich wiederum haben vielleicht mehr die technischen Details und deren Implikationen interessiert, weil du so etwas halt wohl interessant findest. Ich wollte nur darauf hinweisen, dass diese womöglich gar nicht soo relevant sein werden und es für uns womöglich im Moment noch gar nicht so wichtig ist, diese im Detail durchzuanalysieren, was du vielleicht als Ignoranz verstanden hast. Und dann haben wir uns womöglich beide missverstanden gefühlt... Seis drum.

Noch etwas anderes:

Bei der Ethik sollte man m. E. auch eines bedenken:
Es handelt sich hierbei nicht um etwas, das frei in der Luft schwebt und wo man das völlig frei so entwerfen kann wie es einem beliebt, den allerhöchsten Ansprüchen entsprechend.
Nein, Ethik hat einen Zweck, sie verfolgt konkrete Ziele!
Eines dieser Ziele liegt darin, dass sie das Überleben der Gesellschaft nachhaltig sicherstellen soll, indem sie funktionierende Regeln des Zusammenlebens intern wie extren vorgibt.
D.h. z.B. eine Ethik, die zum Untergang einer Geselschaft führt, weil ihre hehren Ansprüche in der gegebenen Umwelt zu hoch sind, die sozusagen dann "von den anderen gefressen wird" nützt gar nichts: Die Gesellschaft geht dann schnell unter, diese Ethik damit auch.
D.h.. Ethik unterliegt auch einem Selektionsdruck und es geht auch immer um das Machbare.
tomS hat geschrieben:
30. Jan 2018, 07:33
Der Punkt ist nur - und das ist neu - dass man aufgrund der Art der Technologie diese Fragen bereits vorher sehr präzise diskutieren kann - anders als z.B. bei der Dampfmaschine und dem Klimawandel - und deswegen auch sollte!
Dem stimme ich zu. Nur denke ich, man sollte das auch nicht Überschätzen mit der Präzision, auch hier hat das noch Grenzen.
tomS hat geschrieben:
30. Jan 2018, 07:33
"soweit als möglich ausweichen" muss im Falle mehrerer Ziele keinesfalls optimal sein. Und der Entwickler weiß das; soll er wider besseren Wissens eine in diversen Fällen suboptimale Lösung implementieren?
Weiß er es wirklich? Wie genau weiß er es denn? Wie gesagt: Überschätze nicht deine Möglichkeiten! Programmierung kann auch eine Präzision vortäuschen, die in der Realität dann doch nicht gegeben ist. Z.B. musst du berücksichtigen, dass das Auto dann z.B. in einer Bremssituation nicht exakt das tut, was die Programmierung vorgibt, weil die Lenkbefehle von der Mechanik nicht exakt ausgeführt werden, weil vorher völlig unvorhersehbare Einflüsse plötzlich wichtig werden, weil das Auto vorher an der Mauer schon beschädigt wurde, usw.
Also haben wir es auch hier immer noch mit Unabwägbarkeiten und Unsicherheiten zu tun. Natürlich wird es trotzdem Fälle geben, wo der Programmierer zu der Ansicht gelangt, dass Lösung A besser sei als Lösung B, er soll sich dabei nur bewusst bleiben, dass er das eben nicht genau weiß, sondern nur vermuten kann, dass er nur die vermutlich beste Lösung programmieren kann.
Und diese Unsicherheit kann man auch nicht durch noch so auwändige Tests im Vorfeld ganz eliminieren, das reale Leben ist dann doch noch einmal etwas anderes und bietet stets Überraschungen - und das ist und war schon immer so, bei allen Produkten, die auf den Markt kamen.
Deshalb finde ich die Lösung "soweit als möglich ausweichen" auch im Falle mehrerer menschlicher Hindernisse als keine schlechte Lösung, auch wenn sie nicht immer optimal sein wird, das muss in Anbetracht unserer teilweisen Unwissenheit gar nicht unbedingt die Frage sein, die Frage ist: Ist es eine gute Lösung? Ist sie gut genug, um akzeptiert werden zu können?
tomS hat geschrieben:
30. Jan 2018, 07:33
Der Entwickler denkt aber im Zuge seiner Arbeit in dieser Äquivalenz, nicht in einer abstrakten Absicht. Das Ändern von Variablennamen ändert nichts am Algorithmus.
Hmm... vielleicht sollte er an der Stelle umdenken?
tomS hat geschrieben:
30. Jan 2018, 07:33
Wie gesagt, möglicherweise hast du eine falsche Vorstellung von Softwareentwicklung, insbs. im industriellen Umfeld. Dabei geht es jedoch nicht um die Probleme im Großen, sondern um Detailfragen.
Keine Ahnung, ich bin kein Experte, ein wenig Einsicht habe ich aber schon.
Grüße
seeker


Kritisches Denken bedeutet nicht, sich einseitig nur aus kritischen Quellen zu versorgen und die dortigen Darstellungen unkritisch zu übernehmen. Viele überschätzen ihre eigene Medienkompetenz massiv. Dies wird von Verführern ausgenutzt.

Benutzeravatar
tomS
Administrator
Administrator
Beiträge: 10475
Registriert: 19. Nov 2007, 20:29
Wohnort: Nürnberg

Re: Algorithmen auf dem Richterstuhl

Beitrag von tomS » 30. Jan 2018, 17:27

Das generelle Thema führen ich noch aus.

Zur Software-Entwicklung:
seeker hat geschrieben:
30. Jan 2018, 10:58
tomS hat geschrieben:
30. Jan 2018, 07:33
"soweit als möglich ausweichen" muss im Falle mehrerer Ziele keinesfalls optimal sein. Und der Entwickler weiß das; soll er wider besseren Wissens eine in diversen Fällen suboptimale Lösung implementieren?
Weiß er es wirklich? Wie genau weiß er es denn?
Glaub mir, er weiß es sehr genau.
seeker hat geschrieben:
30. Jan 2018, 10:58
Überschätze nicht deine Möglichkeiten! Programmierung kann auch eine Präzision vortäuschen, die in der Realität dann doch nicht gegeben ist.
Glaubst du wirklich, dass industrielle Softwareentwicklung mit sicherheitskritischen Aspekten so funktioniert?

Ich habe derartige Themen jahrelang verantwortet, ich kenne wesentliche Standards, ich habe sogenannte "threat and risk analyses" durchgeführt, ... Und ich habe Kollegen, die stecken noch viel tiefer in diesen Themen drinnen, die entwickeln tatsächlich Software für Industrieanlagen mit potentiellen Gefahrenquellen für Leib und Leben. Diese Entwickler werden nach Schulung ebenfalls zertifiziert / zugelassen. Glaub mir bitte: die wissen das!

(und in der Verkehrstechnik = Auto, Züge, ... ist das ähnlich)
seeker hat geschrieben:
30. Jan 2018, 10:58
Z.B. musst du berücksichtigen, dass das Auto dann z.B. in einer Bremssituation nicht exakt das tut, was die Programmierung vorgibt, weil die Lenkbefehle von der Mechanik nicht exakt ausgeführt werden, weil vorher völlig unvorhersehbare Einflüsse plötzlich wichtig werden, weil das Auto vorher an der Mauer schon beschädigt wurde, usw.
Die Software wird natürlich immer für eine bestimmte Mechanik mit bestimmten Toleranzen entwickelt; das ist dann Bestandteil von Typprüfungen und -zulassungen beim TÜV usw.

Sag mal, was hältst du eigentlich von der deutschen Industrie??

Warum versuchst du ständig, Ausnahmefälle zu konstruieren? Lass’ uns doch den Normalfall klären.
seeker hat geschrieben:
30. Jan 2018, 10:58
Natürlich wird es trotzdem Fälle geben, wo der Programmierer zu der Ansicht gelangt, dass Lösung A besser sei als Lösung B, er soll sich dabei nur bewusst bleiben, dass er das eben nicht genau weiß, sondern nur vermuten kann, dass er nur die vermutlich beste Lösung programmieren kann.
Nee, so funktioniert das nicht. Vielleicht in der Entwicklung von Computerspielen oder der Sortierfunktion für Excel, aber sicher nicht im sicherheitskritischen Umfeld.

Ohne KI / neuronale Netze würden wir heute von präzisen Vorgaben und beweisbar korrekter Software ausgehen. Ich denke, das gilt z.B. für ABS und ESP (die mir vertrauten Anwendungsfälle beziehen sich auf Industrieanlagen, das ist hier weniger relevant)
seeker hat geschrieben:
30. Jan 2018, 10:58
Und diese Unsicherheit kann man auch nicht durch noch so auwfändige Tests im Vorfeld ganz eliminieren, das reale Leben ist dann doch noch einmal etwas anderes und bietet stets Überraschungen - und das ist und war schon immer so, bei allen Produkten, die auf den Markt kamen.
Aber innerhalb der vorgeschrieben Toleranzen kann man bestimmte Funktionen tatsächlich nachweislich sicher implementieren.

Bitte konstruiere nicht die Kombination diverser Ausnahmefälle, um den Normalfall wegzudiskutieren.
seeker hat geschrieben:
30. Jan 2018, 10:58
tomS hat geschrieben:
30. Jan 2018, 07:33
Der Entwickler denkt aber im Zuge seiner Arbeit in dieser Äquivalenz, nicht in einer abstrakten Absicht. Das Ändern von Variablennamen ändert nichts am Algorithmus.
Hmm... vielleicht sollte er an der Stelle umdenken?
Sorry, was soll das bringen??

Wir reden hier nicht von irgendwelchen wolkigen Ideen sondern präzisen und im besten Fall beweisbaren korrekten Algorithmen.
seeker hat geschrieben:
30. Jan 2018, 10:58
tomS hat geschrieben:
30. Jan 2018, 07:33
Wie gesagt, möglicherweise hast du eine falsche Vorstellung von Softwareentwicklung, insbs. im industriellen Umfeld. Dabei geht es jedoch nicht um die Probleme im Großen, sondern um Detailfragen.
Keine Ahnung, ich bin kein Experte, ein wenig Einsicht habe ich aber schon.
Wie gesagt: es geht um die Entwicklung sicherheitskritischer Systeme; da gelten ganz andere Kriterien.

Evtl. sollten wir diese Diskussion an anderer Stelle fortführen.
Gruß
Tom

Niels Bohr brainwashed a whole generation of theorists into thinking that the job (interpreting quantum theory) was done 50 years ago.

Benutzeravatar
ralfkannenberg
Ehrenmitglied
Ehrenmitglied
Beiträge: 1872
Registriert: 13. Jan 2017, 10:00

Re: Algorithmen auf dem Richterstuhl

Beitrag von ralfkannenberg » 30. Jan 2018, 18:02

tomS hat geschrieben:
30. Jan 2018, 17:27
Aber innerhalb der vorgeschrieben Toleranzen kann man bestimmte Funktionen tatsächlich nachweislich sicher implementieren.
Hallo Tom,

jetzt würde mich aber auch einmal interessieren, wie man das nachweislich sicher hinkriegt, bzw. was "nachweislich sicher" überhaupt bedeutet. Natürlich kann man mit Code-Reviews die Fehlerrate schon frühzeitig massiv reduzieren und wenn man genügend starke Review-Verfahren anwendet und mehrere davon durchführt auch beachtliche Resultate erzielen.

Mit dynamischen Tests wird die Fehlerrate dann weiter gesenkt, und mit explorativen Methoden und erfahrenen Leuten holt man auch nochmal einiges heraus.

Und wenn man hochkritische Systeme hat, kann man mit unabhängigen Entwickler-Teams, die - auch wenn das sehr teuer ist - die Software unabhängig vom ersten Team nochmals entwickeln, eine massive Verbesserung der Qualität und der Sicherheit erzielen.


Aber "nachweislich sicher" - das kriegt man auch damit meines Wissens nicht hin.


Freundliche Grüsse, Ralf

Benutzeravatar
tomS
Administrator
Administrator
Beiträge: 10475
Registriert: 19. Nov 2007, 20:29
Wohnort: Nürnberg

Re: Algorithmen auf dem Richterstuhl

Beitrag von tomS » 30. Jan 2018, 23:05

ralfkannenberg hat geschrieben:
30. Jan 2018, 18:02
...jetzt würde mich aber auch einmal interessieren, wie man das nachweislich sicher hinkriegt, bzw. was "nachweislich sicher" überhaupt bedeutet.
Hier ein Beispiel, eine Cause-Effect-Matrix aus der Prozessindustrie entsprechend SIL 3 gemäß IEC 61508 (ab Seite 32)

http://w3.siemens.com/mcms/simatic-cont ... 014_de.pdf

Letztlich reduziert man die Mächtigkeit der Programmierung so, dass mathematisch beweisbar korrekte Algorithmen resultieren, was letztlich bedeutet, dass Spezifikation und Implementierung formal identisch werden. "Korrekt" bedeutet demnach, "in Übereinstimmung mit der Vorgabe".

Alle weiteren von dir vorgeschlagenen Maßnahmen sind überflüssig - man benötigt kein Code-Review sondern ein Spec-Review - oder einfach durchführbar.

Zur HW kann (und darf) ich nichts sagen, aber dabei geht es dann weniger mehr um Algorithmen sondern um MTBF, Redundanz usw.

Die Frage ist natürlich, ob man einen konkreten Anwendungsfall derart modellieren kann. Mein Verständnis ist, dass man das Zertifikat nach SIL 3 gemäß IEC 61508 nicht erhält, wenn man den sicheren Betrieb der Anlage nicht auf eine derartige Modellierung anwenden kann. D.h. umgekehrt, dass wenn SIL 3 gemäß IEC 61508 erreicht werden soll, dies zwingend eine derartige reduzierte Programmierung erfordert. Wie das mit einem neuronalen Netz funktionieren würde ist mir nicht klar.
Gruß
Tom

Niels Bohr brainwashed a whole generation of theorists into thinking that the job (interpreting quantum theory) was done 50 years ago.

Benutzeravatar
ralfkannenberg
Ehrenmitglied
Ehrenmitglied
Beiträge: 1872
Registriert: 13. Jan 2017, 10:00

Re: Algorithmen auf dem Richterstuhl

Beitrag von ralfkannenberg » 30. Jan 2018, 23:47

tomS hat geschrieben:
30. Jan 2018, 23:05
Hier ein Beispiel, eine Cause-Effect-Matrix aus der Prozessindustrie entsprechend SIL 3 gemäß IEC 61508 (ab Seite 32)
Hallo Tom,

ich habe mir das einmal angeschaut und es überzeugt mich nicht wirklich. Auch auf Seite 36 finde ich folgenden Satz:
Die Realisierungsphase startet mit dem Entwurf und der Planung des sicherheitsgerichteten Systems sowie anderer Maßnahmen zur Risikominderung.
Das ist gut und schön, aber es ist letztlich "nur" eine Risikominderung. Und weiter oben (Seite 34) ist der Fehlerfaktor zwar sehr klein, aber echt grösser als 0.

Das ist unbestreitbar ein sehr guter Weg, der gute oder je nach dem auch sehr gute Qualität liefert, aber er liefert nicht "nachweislich sichere" Software.

tomS hat geschrieben:
30. Jan 2018, 23:05
Letztlich reduziert man die Mächtigkeit der Programmierung so, dass mathematisch beweisbar korrekte Algorithmen resultieren, was letztlich bedeutet, dass Spezifikation und Implementierung formal identisch werden. "Korrekt" bedeutet demnach, "in Übereinstimmung mit der Vorgabe".

Alle weiteren von dir vorgeschlagenen Maßnahmen sind überflüssig - man benötigt kein Code-Review sondern ein Spec-Review - oder einfach durchführbar.
Diese Mentalität führte vergangenes Jahr im Oktober zu einem hässlichen Showstopper (d.h. Fehler der höchsten Kategorie) in Produktion in meinem Bereich. Code und Spec waren praktisch 1:1 übernommen, wirklich sehr schön von Development gemacht, mit modernen tools, die einen dabei unterstützen - ok, im Gegensatz zu Eurem Umfeld wurde da noch programmiert; aber ... - in der Spec stand nicht das, was der Kunde wollte. Im Spec-Review war das übersehen worden, der Komponententest hat das nicht gefunden, weil der Code konform zur Spec war und ich habe den Fehler im End-to-End-Test auch erst zu spät gefunden. Und streng genommen hätte ich nicht gegen mein Business-Knowhow, sondern auch gegen die Spec validieren und verifizieren und damit den Fehler ebenfalls übersehen müssen.

Und was war passiert ? Eine if-Abfrage war modifiziert worden und hatte dummerweise einen "Side-Effekt". Und zwar in ein Umfeld hinein, in dem es noch nie Probleme gab, einem Bereich, in den im Oktober zwei durchaus namhafte Kunden einsteigen wollten.

Denen konnte man dann "erklären", warum es nicht funktioniert.

Zum Glück war der Kunde bzw. waren die Kunden nicht neugierig, so dass wir ihm nicht zu erklären brauchten, dass der Test auch zu einem frühen Zeitpunkt durchgeführt wurde. Doch aufgrund eines Kommunikationsfehlers war untergegangen, dass zum Zeitpunkt meines frühen Tests noch der alte Code implementiert war und der hat ja funktioniert. Und danach hatte ich mich auf die Bereiche fokussiert, die mehr businessrelevant sind und die auch ein höheres Risiko hatten.

Am Ende war es nicht dramatisch, da die Kunden ohnehin mit ihrem Teil in Verzug waren, aber in einem hochkritischen Bereich hätte so etwas nicht passieren dürfen.


Freundliche Grüsse, Ralf

Benutzeravatar
tomS
Administrator
Administrator
Beiträge: 10475
Registriert: 19. Nov 2007, 20:29
Wohnort: Nürnberg

Re: Algorithmen auf dem Richterstuhl

Beitrag von tomS » 31. Jan 2018, 00:20

ralfkannenberg hat geschrieben:
30. Jan 2018, 23:47
tomS hat geschrieben:
30. Jan 2018, 23:05
Hier ein Beispiel, eine Cause-Effect-Matrix aus der Prozessindustrie entsprechend SIL 3 gemäß IEC 61508 (ab Seite 32)
Hallo Tom,

ich habe mir das einmal angeschaut und es überzeugt mich nicht wirklich. Auch auf Seite 36 finde ich folgenden Satz:
Die Realisierungsphase startet mit dem Entwurf und der Planung des sicherheitsgerichteten Systems sowie anderer Maßnahmen zur Risikominderung.
Das ist gut und schön, aber es ist letztlich "nur" eine Risikominderung. Und weiter oben (Seite 34) ist der Fehlerfaktor zwar sehr klein, aber echt grösser als 0.
Nun ja, dazu einige Anmerkungen: erstens wird die Sicherheit auf Entwurf und Planung abgewälzt - siehe unten, zweitens beschreibt das Gesamtdokument den Ansatz für das Gesamtsystem inkl. Hardware und Kommunikation, und drittens ist auch bei SIL 3 nur eine Risikominderung gefordert - also wird der Systemhersteller auch nicht mehr zusagen.
ralfkannenberg hat geschrieben:
30. Jan 2018, 23:47
Das ist unbestreitbar ein sehr guter Weg, der gute oder je nach dem auch sehr gute Qualität liefert, aber er liefert nicht "nachweislich sichere" Software.
tomS hat geschrieben:
30. Jan 2018, 23:05
Letztlich reduziert man die Mächtigkeit der Programmierung so, dass mathematisch beweisbar korrekte Algorithmen resultieren, was letztlich bedeutet, dass Spezifikation und Implementierung formal identisch werden. "Korrekt" bedeutet demnach, "in Übereinstimmung mit der Vorgabe".

Alle weiteren von dir vorgeschlagenen Maßnahmen sind überflüssig - man benötigt kein Code-Review sondern ein Spec-Review - oder einfach durchführbar.
Diese Mentalität führte vergangenes Jahr im Oktober zu einem hässlichen Showstopper (d.h. Fehler der höchsten Kategorie) in Produktion in meinem Bereich. Code und Spec waren praktisch 1:1 übernommen, wirklich sehr schön von Development gemacht, mit modernen tools, die einen dabei unterstützen - ok, im Gegensatz zu Eurem Umfeld wurde da noch programmiert; aber ... - in der Spec stand nicht das, was der Kunde wollte.
Wie gesagt, beweisbar korrekt heißt, dass die Implementierung nachweislich der Spec. entspricht - und letztere stammt aus einer Industrienorm oder vom Kunden bzw. wird von ihm geprüft und freigegeben.

In deinem Fall war evtl. der Entwicklungs- und Freigabeprozess die Schwachstelle (und ja, auf unseren Fall des autonomen Fahrens übertragen heißt das, dass wenn in der gesetzlichen Vorgabe oder dem Dokument des Kraftfahrzeugbundesamtes nicht das drin steht, was der Gesetzgeber oder das Kraftfahrzeugbundesamt will, dann wird das auch die Softwareentwicklung nicht richten :-)
ralfkannenberg hat geschrieben:
30. Jan 2018, 23:47
Und was war passiert ? Eine if-Abfrage war modifiziert worden und hatte dummerweise einen "Side-Effekt". Und zwar in ein Umfeld hinein, in dem es noch nie Probleme gab, einem Bereich, in den im Oktober zwei durchaus namhafte Kunden einsteigen wollten.
Das kann mit dem o.g. Ansatz ausgeschlossen werden; die SW ist frei von Seiteneffekten, weil die Programmierung - wir sprechen von graphischer Projektierung - dazu keine Ausdrucksmittel enthält.
ralfkannenberg hat geschrieben:
30. Jan 2018, 23:47
Am Ende war es nicht dramatisch, da die Kunden ohnehin mit ihrem Teil in Verzug waren, aber in einem hochkritischen Bereich hätte so etwas nicht passieren dürfen.
Da gibt es auch andere Prozesse.


PS: Im Beispiel von Industrieanlagen bedeutet "Fehler der höchsten Kategorie" Gefahr für Leib und Leben, z.B. Auströmen von giftigen Chemikalien. Im Falle eines solchen Fehlers im laufenden Betrieb wird man berühmt.
Gruß
Tom

Niels Bohr brainwashed a whole generation of theorists into thinking that the job (interpreting quantum theory) was done 50 years ago.

Benutzeravatar
Frank
Ehrenmitglied
Ehrenmitglied
Beiträge: 3856
Registriert: 12. Dez 2005, 23:22
Wohnort: Odenwald

Re: Algorithmen auf dem Richterstuhl

Beitrag von Frank » 31. Jan 2018, 08:51

Interessant was ihr da beruflich macht.........
Mit freundlichen Grüßen

Frank

Benutzeravatar
seeker
Ehrenadmin
Ehrenadmin
Beiträge: 6303
Registriert: 26. Dez 2009, 10:29

Re: Algorithmen auf dem Richterstuhl

Beitrag von seeker » 31. Jan 2018, 09:40

tomS hat geschrieben:
30. Jan 2018, 17:27
Die Software wird natürlich immer für eine bestimmte Mechanik mit bestimmten Toleranzen entwickelt; das ist dann Bestandteil von Typprüfungen und -zulassungen beim TÜV usw.

Sag mal, was hältst du eigentlich von der deutschen Industrie??
Also so etwas muss ich mir nun wirklich nicht sagen lassen. Was glaubst du denn, wie das ist, wenn man in der industrienahen F&E arbeitet und noch dazu sehr viel mit der Automobilindustrie zusammen? Glaubst du ich weiß nicht wie das mit den Spezifizierungen, Qualitätssicherungstests, Vorgaben, usw. läuft und weiß nicht was da nicht alles erfüllt werden muss bis ein neues Produkt oder auch nur ein ein veränderter Prozess auf den Markt kommen kann? Meine Güte, ich werde ständig mit so etwas konfrontiert!
tomS hat geschrieben:
30. Jan 2018, 17:27
Warum versuchst du ständig, Ausnahmefälle zu konstruieren? Lass’ uns doch den Normalfall klären.
Du hattest es doch von den extremen Ausnahmefällen. Der Normalfall ist: Fahrzeug fährt problemlos von A nach B.
tomS hat geschrieben:
30. Jan 2018, 17:27
Aber innerhalb der vorgeschrieben Toleranzen kann man bestimmte Funktionen tatsächlich nachweislich sicher implementieren.
Innerhalb der Spezifikationen, ja, glaube ich dir. Und bei den Programmierern vielleicht auch nachweislich mathematisch korrekt, usw. Wunderbare Welt!
Aber was meinst du, wie das bei den anderen Leuten ist, wenn es um mechanische Dinge geht, um Brandschutz, usw. und so fort?
Spezifikationen werden vernünftigerweise so ausgelegt, dass etwas sehr sicheres herauskommt, je nach Bereich nochmal höchst unterschiedlich sicher.
Z.B. ist die Medizintechnik deshalb so teuer, weil da die Vorgaben äußerst streng sind.
Aber absolute Sicherheit gibt und gab es nie und auch nie ein absolutes Vorauswissen, was alles wie schief gehen kann.

Ich habe sogar genügend Einblicke um zu wissen, dass Produkte und Prozesse manchmal so verändert werden, dass sie zwar die Spezifikationen erfüllen, vielleicht auch besser erfüllen, aber dass dadurch in der Realität überhaupt keine Qualitätssteigerung erzielt wird, manchmal wird da auch nur drum herum laviert bzw. getrickst, es gibt Mittel und Wege bestimmte Tests zu bestehen, ohne dass die Eigenschaft, die der Test eigentlich testen soll, tatsächlich besser wird. Aber so ist das in einer Welt, wo hauptsächlich das zählt, was als Zahl schwarz und weiß auf dem Papier steht: Das sieht dann super objektiv und wasserdicht aus - ist es aber nicht! Und verführerisch ist so etwas immer dann, wenn es darum geht Kosten zu reduzieren.
tomS hat geschrieben:
30. Jan 2018, 17:27
Ohne KI / neuronale Netze würden wir heute von präzisen Vorgaben und beweisbar korrekter Software ausgehen. Ich denke, das gilt z.B. für ABS und ESP (die mir vertrauten Anwendungsfälle beziehen sich auf Industrieanlagen, das ist hier weniger relevant)
Vielleicht wird es ja auch einfach so kommen, dass die Programmierer in Zukunft aus ihrem Paradies der mathematischen Exaktheit, der mathematisch erscheinenden absoluten Sicherheit vertrieben werden und dort leben müssen, wo alle anderen schon immer haben leben müssen?
Das mag einem Programmierer wie ein Weltuntergang erscheinen, etwas das gar nicht geht, das kann ich nachvollziehen, aber für alle anderen ist es das eben nicht.
Spezifikationen, Vorgaben können sich ändern.
Und wenn der Programmierer eine Buchhalterseele ist, dann hat er eh nie ein ethisches Problem: So lange er die Vorschriften erfüllt, ist alles gut, alles andere liegt nicht in seiner Verantwortung. Nur wenn er darüber hinausdenkt kann er ein Problem haben, dann aber auch mit den Vorschriften.
Also geht es um die Vorschriften. Das eigentlich Unklare ist dann, wie man die bei all dieser neuen Technik sinnvoll anpassen kann und was dann dort ethisch vertretbar ist und was nicht.
Und dann haben wir den Bogen geschlagen, zu dem was schon gesagt wurde.
Grüße
seeker


Kritisches Denken bedeutet nicht, sich einseitig nur aus kritischen Quellen zu versorgen und die dortigen Darstellungen unkritisch zu übernehmen. Viele überschätzen ihre eigene Medienkompetenz massiv. Dies wird von Verführern ausgenutzt.

Benutzeravatar
ralfkannenberg
Ehrenmitglied
Ehrenmitglied
Beiträge: 1872
Registriert: 13. Jan 2017, 10:00

Re: Algorithmen auf dem Richterstuhl

Beitrag von ralfkannenberg » 31. Jan 2018, 09:43

tomS hat geschrieben:
31. Jan 2018, 00:20
Nun ja, dazu einige Anmerkungen: erstens wird die Sicherheit auf Entwurf und Planung abgewälzt - siehe unten, zweitens beschreibt das Gesamtdokument den Ansatz für das Gesamtsystem inkl. Hardware und Kommunikation, und drittens ist auch bei SIL 3 nur eine Risikominderung gefordert - also wird der Systemhersteller auch nicht mehr zusagen.
Hallo Tom,

das mit dem Abwälzen ist korrekt, wobei ein Teil der Abwälzung auch auf den TÜV erfolgt. Man ist TÜV-zertifiziert, also kann fast schon per definitionem nichts mehr schiefgehen.

Insbesondere hat das auch den grossen Vorteil, dass man die teuren QA-Kosten massiv reduzieren kann.

Es gibt zwar failures, aber schuld sind "andere". Wobei das bei uns nichts nutzt, da es dem Kunden egal ist, wer schuld ist - wenn es ein Issue gibt und dieses kein Einzelfall bleibt, dann geht man eben zur Konkurrenz. Zwar müssen wir dann keinen Schadensersatz leisten, aber wenn der Kunde zur Konkurrenz geht kostet das je nach Umfang der betroffenen Systeme 500 bis 1000 Arbeitsplätze.


Vor Jahren war ich auf einer Konferenz, da hat jemand von der Deutschen Bahn AG einen Vortrag gehalten, und da wird ein ganz ähnlicher Ansatz wie bei Euch verfolgt.

Noch ein Detail: im von Dir verlinkten Dokument ist die Rede von einem Audit; dies ist zwar ein Review-Verfahren und sicherlich auch ein guter Schritt betreffend Qualitätseinhaltung, doch sind die Auditoren typischerweise keine Fachleute: heute auditieren die Siemens, gestern waren sie bei einer Schokoladenfabrik und morgen kommen sie zu uns. Um fachliche Issues frühzeitig zu finden sollte man die sogenannten "starken" Review-Verfahren anwenden, also Peer Reviews und Inspektionen. Und dann die dynamischen Testverfahren anschliessend durchführen. Allerdings ist das teuer.

tomS hat geschrieben:
31. Jan 2018, 00:20
Wie gesagt, beweisbar korrekt heißt, dass die Implementierung nachweislich der Spec. entspricht - und letztere stammt aus einer Industrienorm oder vom Kunden bzw. wird von ihm geprüft und freigegeben.
Vom Kunden kommt typischerweise das Requirement, aus dem dann inhouse eine Spec erstellt wird.

tomS hat geschrieben:
31. Jan 2018, 00:20

In deinem Fall war evtl. der Entwicklungs- und Freigabeprozess die Schwachstelle (und ja, auf unseren Fall des autonomen Fahrens übertragen heißt das, dass wenn in der gesetzlichen Vorgabe oder dem Dokument des Kraftfahrzeugbundesamtes nicht das drin steht, was der Gesetzgeber oder das Kraftfahrzeugbundesamt will, dann wird das auch die Softwareentwicklung nicht richten :-)
In "meinem" Fall war die Umstellung auf "agiles" Testen die Schwachstelle, weil auch bei uns "agil" mit "weniger teuer" verwechselt wird: man kürzt also die verfügbare Zeit und testet dafür nur die wichtigen issues, also die Bereiche, in denen die Fehler sind. Dabei wird übersehen, dass man erst nach den Tests weiss, wo die Fehler drin sind. Wüsste man es vorher, hätte man die nämlich bei genügender Relevanz schon längst beseitigt.

tomS hat geschrieben:
31. Jan 2018, 00:20
ralfkannenberg hat geschrieben:
30. Jan 2018, 23:47
Und was war passiert ? Eine if-Abfrage war modifiziert worden und hatte dummerweise einen "Side-Effekt". Und zwar in ein Umfeld hinein, in dem es noch nie Probleme gab, einem Bereich, in den im Oktober zwei durchaus namhafte Kunden einsteigen wollten.
Das kann mit dem o.g. Ansatz ausgeschlossen werden; die SW ist frei von Seiteneffekten, weil die Programmierung - wir sprechen von graphischer Projektierung - dazu keine Ausdrucksmittel enthält.
Das Argument verstehe ich nicht: eine verschachtelte if-Abfrage oder case-Abfrage kann doch immer fehlerhaft implementiert sein. Vielleicht war meine Wortwahl "Side-Effekt" irreführend: aufgrund der geänderten sehr verschachtelten if-Abfrage ist es leider passiert, dass unerwarteterweise ein Fall, der gar nicht betroffen war, also die Condition bislang gar nicht erfüllt hatte, diese neu erfüllt hat. Das führte zu einem fehlerhaften Resultat, welches kundenrelevant war. Die geplante Änderung hat tadellos funktioniert, aber der zuvor gar nicht betroffene Fall hätte wie bisher funktionieren sollen, doch erfüllte er nun schon eine frühere Condition, so dass er falsch behandelt wurde.

tomS hat geschrieben:
31. Jan 2018, 00:20
ralfkannenberg hat geschrieben:
30. Jan 2018, 23:47
Am Ende war es nicht dramatisch, da die Kunden ohnehin mit ihrem Teil in Verzug waren, aber in einem hochkritischen Bereich hätte so etwas nicht passieren dürfen.
Da gibt es auch andere Prozesse.
Unter anderem die von mir genannten.

tomS hat geschrieben:
31. Jan 2018, 00:20

PS: Im Beispiel von Industrieanlagen bedeutet "Fehler der höchsten Kategorie" Gefahr für Leib und Leben, z.B. Auströmen von giftigen Chemikalien. Im Falle eines solchen Fehlers im laufenden Betrieb wird man berühmt.
Das haben wir zum Glück nicht, bei uns kann der schlimmste Fehler "nur" zum Abwandern der Kunden zur Konkurrenz führen, was den Konkurs und Verlust der Arbeitsplätze zur Folge hätte.


Freundliche Grüsse, Ralf

Benutzeravatar
ralfkannenberg
Ehrenmitglied
Ehrenmitglied
Beiträge: 1872
Registriert: 13. Jan 2017, 10:00

Re: Algorithmen auf dem Richterstuhl

Beitrag von ralfkannenberg » 31. Jan 2018, 10:38

seeker hat geschrieben:
31. Jan 2018, 09:40
Innerhalb der Spezifikationen, ja, glaube ich dir. Und bei den Programmierern vielleicht auch nachweislich mathematisch korrekt, usw. Wunderbare Welt!
Hallo seeker,

innerhalb struktur-basierter Testverfahren ("White-Box-Tests") mag das zutreffen, wobei mich auch das überrascht, weil es i.A. unendlich viele Pfade gibt, aber betreffend Vollständigkeit, also ob alle Requirements in die Spezifikation eingeflossen sind, kann man so keine Aussage treffen.

seeker hat geschrieben:
31. Jan 2018, 09:40
Vielleicht wird es ja auch einfach so kommen, dass die Programmierer in Zukunft aus ihrem Paradies der mathematischen Exaktheit, der mathematisch erscheinenden absoluten Sicherheit vertrieben werden und dort leben müssen, wo alle anderen schon immer haben leben müssen?
Das macht nicht Sinn, denn die Programmierer haben ihre Rolle wahrzunehmen und zu programmieren, d.h. die in der zugrundeliegenden Spezifikation genannten Vorgaben in ein Programm umzusetzen, wobei sie hierfür geeignete Tools zur Unterstützung und Fehlerreduzierung verwenden können und auch verwenden sollen.

Wenn die Putzfrau während der OP dem Chirurgen einen Ratschlag gibt, so ist das Risiko hoch, dass die Umsetzung dieses Ratschlages nicht zum Vorteil des Patienten gereicht. Solche Ratschläge müssen also von beteiligten Personen kommen, die ebenfalls über eine geeignete Ausbildung verfügen, beispielsweise von Assistenzärzten oder anwesenden Krankenschwestern, die aufgrund ihrer Berufserfahrung sofort sehen, wenn eine Infusion falsch angelegt oder gar eine falsche Infusion verabreicht wurde.


Freundliche Grüsse, Ralf

Benutzeravatar
tomS
Administrator
Administrator
Beiträge: 10475
Registriert: 19. Nov 2007, 20:29
Wohnort: Nürnberg

Re: Algorithmen auf dem Richterstuhl

Beitrag von tomS » 31. Jan 2018, 20:56

seeker hat geschrieben:
31. Jan 2018, 09:40
tomS hat geschrieben:
30. Jan 2018, 17:27
Die Software wird natürlich immer für eine bestimmte Mechanik mit bestimmten Toleranzen entwickelt; das ist dann Bestandteil von Typprüfungen und -zulassungen beim TÜV usw.

Sag mal, was hältst du eigentlich von der deutschen Industrie??
Also so etwas muss ich mir nun wirklich nicht sagen lassen. Was glaubst du denn, wie das ist, wenn man in der industrienahen F&E arbeitet und noch dazu sehr viel mit der Automobilindustrie zusammen? Glaubst du ich weiß nicht wie das mit den Spezifizierungen, Qualitätssicherungstests, Vorgaben, usw. läuft und weiß nicht was da nicht alles erfüllt werden muss bis ein neues Produkt oder auch nur ein ein veränderter Prozess auf den Markt kommen kann? Meine Güte, ich werde ständig mit so etwas konfrontiert!
OK.

Dann verstehe ich nicht, wieso du ständig ausweichst statt auf den Kern der Sache zu kommen
seeker hat geschrieben:
31. Jan 2018, 09:40
tomS hat geschrieben:
30. Jan 2018, 17:27
Aber innerhalb der vorgeschrieben Toleranzen kann man bestimmte Funktionen tatsächlich nachweislich sicher implementieren.
Innerhalb der Spezifikationen, ja, glaube ich dir. Und bei den Programmierern vielleicht auch nachweislich mathematisch korrekt, usw. Wunderbare Welt!
Aber was meinst du, wie das bei den anderen Leuten ist, wenn es um mechanische Dinge geht, um Brandschutz, usw. und so fort?
Also ist Brandschutz jetzt die neue Baustelle.

Es geht aber nicht Brandschutz, es geht um Regeln für eine KI in einem autonom fahrenden jedoch ansonsten identischen Auto.
tomS hat geschrieben:
30. Jan 2018, 17:27
Aber absolute Sicherheit gibt und gab es nie und auch nie ein absolutes Vorauswissen, was alles wie schief gehen kann.
Das hat auch niemand behauptet.

Sorry, es tut mir leid, ich schätze deine Beiträge normalerweise sehr, aber hier scheinen wir - was die Fragestellungen betrifft - nicht zusammenzukommen. Lass' uns das besser beenden.
Gruß
Tom

Niels Bohr brainwashed a whole generation of theorists into thinking that the job (interpreting quantum theory) was done 50 years ago.

Benutzeravatar
tomS
Administrator
Administrator
Beiträge: 10475
Registriert: 19. Nov 2007, 20:29
Wohnort: Nürnberg

Re: Algorithmen auf dem Richterstuhl

Beitrag von tomS » 31. Jan 2018, 22:02

ralfkannenberg hat geschrieben:
31. Jan 2018, 09:43
das mit dem Abwälzen ist korrekt, wobei ein Teil der Abwälzung auch auf den TÜV erfolgt. Man ist TÜV-zertifiziert, also kann fast schon per definitionem nichts mehr schiefgehen.
Die TÜV-Prüfung entbindet dich nicht von der Produkthaftung, und sie verhindert auch keinen Image-Schaden.
ralfkannenberg hat geschrieben:
31. Jan 2018, 09:43
Vor Jahren war ich auf einer Konferenz, da hat jemand von der Deutschen Bahn AG einen Vortrag gehalten, und da wird ein ganz ähnlicher Ansatz wie bei Euch verfolgt.
Das ist kein Ansatz, sondern ein Standardprodukt. Und es ist auch kein absolutes Alleinstellungsmerkmal, da es im Wesentlichen auf Industriestandards zurückgeht (m.W.n. amerikanische Ölindustrie u.ä.). Natürlich glauben wir, dass wir an vielen Punkten besser sind als der Wettbewerb, aber im Kern sind die sicherheitskritischen Funktionen vergleichbar, insbs. wenn es um die selben Märkte (Ländern, Branchen) geht
ralfkannenberg hat geschrieben:
31. Jan 2018, 09:43
Noch ein Detail: im von Dir verlinkten Dokument ist die Rede von einem Audit; dies ist zwar ein Review-Verfahren und sicherlich auch ein guter Schritt betreffend Qualitätseinhaltung, doch sind die Auditoren typischerweise keine Fachleute …
Jetzt musst du unterscheiden: zunächst geht nicht um das Audit der Software der Safety-Matrix selbst, sondern um die Applikation, die mittels dieser Safety-Matrix erstellt wurde (die Safety-Matrix ist vergleichbar zu einem Programm-Generetor).

Von Audit ist an mehrere Stellen die Rede:
Die Abnahme der Sicherheitsapplikation erfolgt typischerweise durch autorisierte Stellen oder Behörden. Da dieser Personenkreis in der Regel nicht über spezielle Programmierkenntnisse verfügt, profitiert er bei seiner Tätigkeit sehr stark vom Einsatz der SIMATIC Safety Matrix. Der Auditor kann die in der SRS spezifizierten Sicherheitsfunktionen im Online-Betrieb nahezu 1:1 am Bildschirm nachvollziehen. Ein Umdenken oder Übertragen in eine spezifische Programmiersprache ist nicht erforderlich.
Hier geht es um ein Audit durchgeführt die Dritte (nicht Siemens und nicht Anlagenbetreiber, also Behörden wie TÜV oder andere beauftragte Auditoren). Der Nutzen der Safety-Matrix besteht darin, dass die Äquivalenz der Applikation zur Spezifikation (SRS) durch die graphische Darstellung unmittelbar einsichtig ist; der Auditor muss also nicht die spezifische Branche kennen und er muss sich nicht in Sourcecode einarbeiten, formale Kenntnisse sind ausreichend aus (außer es muss auch die Spezifikation geprüft werden). Dieses Audit ersetzt nicht den Test der Applikation.
Safety Lifecycle Services

Management, Beurteilung der "Funktionalen Sicherheit" und Audits
Hier bietet Siemens selbst ein Audit an, das m.W.n. nicht ein formales Audit z.B. seitens TÜV o.ä. ersetzt. Ziel ist es , die Umsetzung der Spezifikation und die Einhaltung gewisser Standards auf Basis der Siemens-SW (und HW) zu überprüfen. Das wäre vergleichbar zu einer Prüfung seitens Microsoft, ob ein Kaufmann seine Buchhaltung mittels Excel entsprechend der Microsoft-Vorgaben / -Empfehlungen durchführt (und es ersetzt keine Steuerpüfung).

Alle diese Audits sind zusätzliche Module oder einzelne Bestandteile eines Abnahmeprozesses; letztere ist aber noch deutlich umfangreicher.
Um fachliche Issues frühzeitig zu finden sollte man die sogenannten "starken" Review-Verfahren anwenden, also Peer Reviews und Inspektionen.
Derartige Maßnahmen sind Bestandteil der internen Softwareentwicklung z.B. für diese Safety-Matrix. D.h. sie werden benötigt, um eine Zulassung der SW für sicherheitskritische Applikationen zu erhalten; und d.h. sie gehen der Applikationserstellung voraus (letztere erfolgt teilweise durch Siemens, teilweise durch vom Kunden beauftragte Systemintegratoren).

Aus sehr einfaches Beispiel kann ich SIL 3 für Lichtvorhänge und Not-Aus an Bandstraßen nennen. Früher musste das zwingend hart verdrahtet werden. Heute verwendet man u.a. PROFINET IO / PROFISAFE, eine auf TCP/IP basierende Kommunikation, wobei der Protocolstack u.a. um eine jitterfreie „isochronous realtime“ Komponente erweitert wurde. Während früher die TÜV-Abnahme rein durch Inspektion der Verdrahtung = der Applikation erfolgte, muss heute die Systemtechnik und die Applikation geprüft werden; die Systemtechnik wird aber nur einmal beim Hersteller zugelassen und jeder Anwender darf auf diese Zulassung vertrauen. Die Prüfung der Applikation ist damit deutlich einfacher und kostengünstiger. Insgs. ist es schon beeindruckend, dass ein früher hart verdrahtetes Not-Aus heute durch eine Softwareapplikation plus Projektierung sowie Kommunikation per TCP/IP erstellt werden darf.
ralfkannenberg hat geschrieben:
31. Jan 2018, 09:43
tomS hat geschrieben:
31. Jan 2018, 00:20
Wie gesagt, beweisbar korrekt heißt, dass die Implementierung nachweislich der Spec. entspricht - und letztere stammt aus einer Industrienorm oder vom Kunden bzw. wird von ihm geprüft und freigegeben.
Vom Kunden kommt typischerweise das Requirement, aus dem dann inhouse eine Spec erstellt wird.
Ziel ist es, diesen zweifachen Übersetzungsvorgang user-spec. – inhouse-spec./testspec. – software/code zu verschlanken. Konkret kann der Endkunde seine Spec. In einer einfachen Form abliefern, die 1:1 in die Safety-Matrix übernommen wird und deren Ergebnis = die auf der Safety-Matrix basierenden Applikation der Kunde unmittelbar verifizieren kann. Ein Übersetzungsvorgang weniger = eine Fehlerquelle weniger. Letztlich ist die Safety-Matrix so etwas wie eine domänenspezifische, graphische Sprache, in der der Kunde praktisch direkt arbeiten kann.

ralfkannenberg hat geschrieben:
31. Jan 2018, 09:43
In "meinem" Fall war die Umstellung auf "agiles" Testen die Schwachstelle, weil auch bei uns "agil" mit "weniger teuer" verwechselt wird …
Ja, leider ein verbreiteter Irrtum.

Ich halte es da teilweise mit test-driven development, das eine sehr frühe Erkennung der aus Anwendersicht wesentlichen Fehler bewirkt, so dass für andere Test hinsichtlich Safety, Security, mehr Resourcen frei sind (oder wie oft ersetzt denn sonst der Anwendertest ein Review der Spec.?)

ralfkannenberg hat geschrieben:
31. Jan 2018, 09:43
tomS hat geschrieben:
31. Jan 2018, 00:20
ralfkannenberg hat geschrieben:
30. Jan 2018, 23:47
Und was war passiert ? Eine if-Abfrage war modifiziert worden und hatte dummerweise einen "Side-Effekt".
Das kann mit dem o.g. Ansatz ausgeschlossen werden; die SW ist frei von Seiteneffekten ...
Das Argument verstehe ich nicht: eine verschachtelte if-Abfrage oder case-Abfrage kann doch immer fehlerhaft implementiert sein. Vielleicht war meine Wortwahl "Side-Effekt" irreführend …
Ja, ich denke schon.

Ein Side-Effekt steckt für mich in

if ( foo.f() == a )
{

}
else if ( foo.f() == b )
{

}

wenn in foo.f() z.B. versteckt und gemeinerweise ein static Membervariable von foo hochgezählt wird.
Gruß
Tom

Niels Bohr brainwashed a whole generation of theorists into thinking that the job (interpreting quantum theory) was done 50 years ago.

Benutzeravatar
tomS
Administrator
Administrator
Beiträge: 10475
Registriert: 19. Nov 2007, 20:29
Wohnort: Nürnberg

Re: Algorithmen auf dem Richterstuhl

Beitrag von tomS » 31. Jan 2018, 22:05

Und jetzt sollten wir diese Diskussion beenden, weil sie zum Kern der Sache nichts beiträgt; KIs funktionieren gänzlich anders
Gruß
Tom

Niels Bohr brainwashed a whole generation of theorists into thinking that the job (interpreting quantum theory) was done 50 years ago.

Benutzeravatar
seeker
Ehrenadmin
Ehrenadmin
Beiträge: 6303
Registriert: 26. Dez 2009, 10:29

Re: Algorithmen auf dem Richterstuhl

Beitrag von seeker » 31. Jan 2018, 23:17

tomS hat geschrieben:
31. Jan 2018, 20:56
aber hier scheinen wir - was die Fragestellungen betrifft - nicht zusammenzukommen. Lass' uns das besser beenden.
Ich hatte schon denselben Gedanken. Das Problem ist, dass es uns nicht gelungen ist das wirklich erörternd zu diskutieren bzw. darzustellen, da ist viel zu viel Emotion mit reingekommen. Mir gefällt das auch nicht und bringen tut es uns auch nichts.
Man muss aber auch nicht immer einer Meinung sein, es kann auch sehr interessant sein verschiedene Standpunkte erst einmal gegenüberzustellen, zu betrachten und kennenzulernen, ohne Wertung, ohne Entscheidung welche die richtige ist, ohne in die "ich möchte Recht behalten"-Falle zu tappen, ohne die persönliche Ebene anzusprechen, erst einmal völlig neutral.

Vorschlag (falls du noch Lust hat, wenn nicht ist auch gut):

Machen wir hier einen Strich und fangen nochmals ganz neu an:

Stelle doch du zunächst (es ist dein Thread) noch einmal deine Grundthesen bzw. -Aussagen, deinen Kern stichwortartig (wirklich so kurz wie möglich) zusammen, dann werde ich dasselbe tun oder oder vielleicht noch besser erst einmal nachfragen was du womit genau meinst, was nicht und warum genau - denn wir haben uns den halben Tread hier gründlich missverstanden, soweit ich das sehe.
Grüße
seeker


Kritisches Denken bedeutet nicht, sich einseitig nur aus kritischen Quellen zu versorgen und die dortigen Darstellungen unkritisch zu übernehmen. Viele überschätzen ihre eigene Medienkompetenz massiv. Dies wird von Verführern ausgenutzt.

Benutzeravatar
ralfkannenberg
Ehrenmitglied
Ehrenmitglied
Beiträge: 1872
Registriert: 13. Jan 2017, 10:00

Re: Algorithmen auf dem Richterstuhl

Beitrag von ralfkannenberg » 31. Jan 2018, 23:23

seeker hat geschrieben:
31. Jan 2018, 23:17
Machen wir hier einen Strich und fangen nochmals ganz neu an:
Hallo zusammen,

ich will mich ja nicht unbedingt einmischen (tue es jetzt aber trotzdem): wie ich sehe redet Ihr über zwei verschiedene Sachen. Also lohnt es sich, zwei oder ggf. auch mehr Threads zu führen.

- vielleicht einen über ethische Aspekte, also eine SW, die u.U. bewusst entscheiden muss, wer im Konfliktfall zu bevorzugen ist; das gehört eigentlich in diesen Thread hier hinein
- einen über Arbeitsplatz-erhaltende Aspekte (soziale Sicherheit)
- vielleicht noch einen dritten über die Verbindung von "theoretischen" Programmen und "praktischen" Programmen, beispielsweise ob der Brandschutz auch durch AI gewährleistet ist
- ...


Freundliche Grüsse, Ralf

Benutzeravatar
tomS
Administrator
Administrator
Beiträge: 10475
Registriert: 19. Nov 2007, 20:29
Wohnort: Nürnberg

Re: Algorithmen auf dem Richterstuhl

Beitrag von tomS » 31. Jan 2018, 23:53

seeker hat geschrieben:
31. Jan 2018, 23:17
Machen wir hier einen Strich und fangen nochmals ganz neu an:
Gerne.

1) Zu der Frage, wer im Konfliktfall zu bevorzugen ist: mein Problem ist nicht erst, welche konkrete Regel festlegt, dass X (oder Y, oder Z) bevorzugt werden soll, sondern bereits die Tatsache, dass irgendeine Regel festzulegen ist, in der dies entschieden wird. Jede derartige algorithmische Regel
i) ist in bestimmten Fällen mathematisch äquivalent zu einem gezielten Tötungsbefehl, oder
ii) unpräzise im Sinne eines Zufallsgenerators, oder
iii) unverständlich im Sinne eines neuronalen Netzwerkes (dessen Entscheidungen nicht im Algorithmus sondern in den Parametern stecken)
Ich halte alle drei Varianten für hochproblematisch.

2) Zu der Frage "Arbeitsplatz oder Menschenleben": mein Problem ist,
i) dass der Vergleich an sich nicht zulässig ist, da Äpfel mit Birnen verglichen werden
ii) dass a) zunächst trivialerweise Menschenleben als das höher Gut erscheinen, dass jedoch bei konsequenter und breiter Anwendung dieses Kriteriums die sozialen Strukturen zersetzt werden können, und dass b) umgekehrt bei Nicht-Anwendung bewusst Menschen geopfert werden, nur um eine rein hypothetische, negative Auswirkung auf die Gesellschaft zu verhindern
iii) dass sowohl die sofortige Zulassung mit (b) als auch die nicht-Zulassung mit (a) in Konflikt geraten
iv) kein objektives und umfassend akzeptiertes Kriterium für oder gegen eine Einführung erkennbar ist
Ich sehe keine Meta-Ebene, die diese Widersprüche löst.

3) Ein weiters Problem ist, dass eine KI heutiger Prägung für den Menschen unverständlich ist: wir verstehen nicht, warum sie so handelt, wie sie handelt, und wir können daher nicht prüfen, ob sie einfache und verständliche Regeln respektiert.
Ich halte das auch für ein juristisches Problem.

4) Wir benötigen neue gesellschaftliche, soziale und ethische Standards, also Menschen-, Grund- und Arbeitsrecht 4.0. Dabei geht es noch gar nicht um die Rechte der KIs, sondern um die Rechte der Menschen in einer Lebenswirklichkeit, in der KIs eine wesentliche Rolle spielen. Das Problem ist das Tempo der Entwicklung der Fähigkeiten der KIs sowie das Tempo der möglichen Verbreitung dieser KIs; dieses Tempo übersteigt z.B. das Tempo der Entwicklung und des Baus von Maschinen um Größenordnungen. Dieses Tempo könnte bereits sehr bald die politischen und gesellschaftlichen Prozesse überfordern, die eine inhärente und bisher stabilisierende Trägheit aufweisen. Darin besteht auch ein gewisses Risiko, dass politische und soziale Strukturen obsolet werden, dass sie kollabieren ohne dass adäquater Ersatz entsteht.

5) Ein verwandtes Problem besteht darin, dass gängige Kontrollmechanismus nicht greifen, da keine KI (Typ oder Instanz) für sich genommen negativ zu bewerten und damit abzulehnen wäre, dass jedoch die Summe aller KIs katastrophale Folgen für die Gesellschaft haben kann. Aufgrund des Tempos der Innovation sind wir mit dem Verstehen bzw. Erlernen und der Bewertung dieser Situation überfordert.

Zusammenfassend halte ich es für nicht unwahrscheinlich, dass wir eine Entwicklung vorantreiben, die uns = die Menschheit in sehr kurzer Zeit überfordern kann.
Gruß
Tom

Niels Bohr brainwashed a whole generation of theorists into thinking that the job (interpreting quantum theory) was done 50 years ago.

Benutzeravatar
Dgoe
wohnt hier!
wohnt hier!
Beiträge: 399
Registriert: 20. Nov 2017, 17:32

Re: Algorithmen auf dem Richterstuhl

Beitrag von Dgoe » 1. Feb 2018, 04:04

tomS hat geschrieben:
31. Jan 2018, 23:53
Jede derartige algorithmische Regel
i) ist in bestimmten Fällen mathematisch äquivalent zu einem gezielten Tötungsbefehl,
oder
ii) unpräzise im Sinne eines Zufallsgenerators, oder
iii) unverständlich im Sinne eines neuronalen Netzwerkes (dessen Entscheidungen nicht im Algorithmus sondern in den Parametern stecken)
Ich halte alle drei Varianten für hochproblematisch.
(bold unterlegt von mir)
Ich halte schon die Erste für unsäglich.

Gruß,
Dgoe
Der Optimist glaubt, dass wir in der besten aller möglichen Welten leben. Der Pessimist befürchtet, dass der Optimist damit Recht hat.

Benutzeravatar
tomS
Administrator
Administrator
Beiträge: 10475
Registriert: 19. Nov 2007, 20:29
Wohnort: Nürnberg

Re: Algorithmen auf dem Richterstuhl

Beitrag von tomS » 1. Feb 2018, 07:08

Wobei seeker der Meinung ist, dass meine Aussage "jede derartige algorithmische Regel sei in bestimmten Fällen mathematisch äquivalent zu einem gezielten Tötungsbefehl" nicht zutreffend ist.
Gruß
Tom

Niels Bohr brainwashed a whole generation of theorists into thinking that the job (interpreting quantum theory) was done 50 years ago.

Benutzeravatar
Frank
Ehrenmitglied
Ehrenmitglied
Beiträge: 3856
Registriert: 12. Dez 2005, 23:22
Wohnort: Odenwald

Re: Algorithmen auf dem Richterstuhl

Beitrag von Frank » 1. Feb 2018, 08:12

tomS hat geschrieben:
1. Feb 2018, 07:08
Wobei seeker der Meinung ist, dass meine Aussage "jede derartige algorithmische Regel sei in bestimmten Fällen mathematisch äquivalent zu einem gezielten Tötungsbefehl" nicht zutreffend ist.
Womit er auch sowas von Recht hat.... :wink:
Mit freundlichen Grüßen

Frank

Benutzeravatar
seeker
Ehrenadmin
Ehrenadmin
Beiträge: 6303
Registriert: 26. Dez 2009, 10:29

Re: Algorithmen auf dem Richterstuhl

Beitrag von seeker » 1. Feb 2018, 08:59

Danke Tom.

Ich würde vorschlagen das Punkt für Punkt zu betrachten (also bei 1 anfangen, dann erst 2, usw.), sonst verheddern wir uns.

Also zunächst 1):
tomS hat geschrieben:
31. Jan 2018, 23:53
1) Zu der Frage, wer im Konfliktfall zu bevorzugen ist: mein Problem ist nicht erst, welche konkrete Regel festlegt, dass X (oder Y, oder Z) bevorzugt werden soll, sondern bereits die Tatsache, dass irgendeine Regel festzulegen ist, in der dies entschieden wird. Jede derartige algorithmische Regel
i) ist in bestimmten Fällen mathematisch äquivalent zu einem gezielten Tötungsbefehl, oder
ii) unpräzise im Sinne eines Zufallsgenerators, oder
iii) unverständlich im Sinne eines neuronalen Netzwerkes (dessen Entscheidungen nicht im Algorithmus sondern in den Parametern stecken)
Ich halte alle drei Varianten für hochproblematisch.
Kann man also sagen, dass man deshalb diese Technik recht sicher nicht mit den heute geltenden Regeln (Industrienormen, Spezifikationen, usw.) zusammenbekommen kann, mindestens nicht in sicherheitskritischen Bereichen?
Falls ja, was folgt für dich daraus?

Folgt z.B.:

a) diese Technik kann, darf und wird mindestens in bestimmten, insbes. sicherheitskritischen Bereichen nicht eingesetzt werden
oder
b) diese Technik kann und wird eingesetzt werden, das lässt sich gar nicht vermeiden, wir brauchen dafür aber veränderte Regeln

Oder noch etwas anderes?

(Ich habe natürlich weitere Fragen zu 1), die z.B. auch beleuchten sollen wie problematisch das alles wahrscheinlich ist und wie nicht, aber das würde ich erst danach angehen wollen.)
Grüße
seeker


Kritisches Denken bedeutet nicht, sich einseitig nur aus kritischen Quellen zu versorgen und die dortigen Darstellungen unkritisch zu übernehmen. Viele überschätzen ihre eigene Medienkompetenz massiv. Dies wird von Verführern ausgenutzt.

Benutzeravatar
tomS
Administrator
Administrator
Beiträge: 10475
Registriert: 19. Nov 2007, 20:29
Wohnort: Nürnberg

Re: Algorithmen auf dem Richterstuhl

Beitrag von tomS » 1. Feb 2018, 09:23

Frank hat geschrieben:
1. Feb 2018, 08:12
tomS hat geschrieben:
1. Feb 2018, 07:08
Wobei seeker der Meinung ist, dass meine Aussage "jede derartige algorithmische Regel sei in bestimmten Fällen mathematisch äquivalent zu einem gezielten Tötungsbefehl" nicht zutreffend ist.
Womit er auch sowas von Recht hat
Eine Meinung, die mir noch keiner von euch schlüssig erklären konnte. Ich sehe einer präzisen Erklärung oder einem alternativen Algorithmus mit Spannung entgegen :-)
Gruß
Tom

Niels Bohr brainwashed a whole generation of theorists into thinking that the job (interpreting quantum theory) was done 50 years ago.

Benutzeravatar
ralfkannenberg
Ehrenmitglied
Ehrenmitglied
Beiträge: 1872
Registriert: 13. Jan 2017, 10:00

Re: Algorithmen auf dem Richterstuhl

Beitrag von ralfkannenberg » 1. Feb 2018, 09:37

tomS hat geschrieben:
31. Jan 2018, 23:53
5) Ein verwandtes Problem besteht darin, dass gängige Kontrollmechanismus nicht greifen, da keine KI (Typ oder Instanz) für sich genommen negativ zu bewerten und damit abzulehnen wäre, dass jedoch die Summe aller KIs katastrophale Folgen für die Gesellschaft haben kann. Aufgrund des Tempos der Innovation sind wir mit dem Verstehen bzw. Erlernen und der Bewertung dieser Situation überfordert.

Zusammenfassend halte ich es für nicht unwahrscheinlich, dass wir eine Entwicklung vorantreiben, die uns = die Menschheit in sehr kurzer Zeit überfordern kann.
Hallo zusammen,

ich denke, das ist der wichtigste Punkt. Man braucht also geeignete Mechanismen, die das "kontrollieren" können; das können wiederum AI-basierte Konstrukte oder klassische Konstrukte sein; wichtig ist, dass diese nicht primär innovative, also riskant, sondern primär robust sind.

Vereinfacht argumentiert: ein Lebewesen, das allen anderen so überlegen ist, dass es stets Nahrung findet und sich exponentiell vermehren kann und zudem kaum Fressfeinde hat, wird zugrundegehen, weil es bald keine Nahrung mehr finden kann. Es braucht hier "Kontrollmechanismen", die dafür sorgen, dass das biologische Gleichgewicht möglicherweise verschoben, aber eben nicht zerstört wird.

Ähnlich sehe ich das auch im AI-bereich: auch hier braucht es Mechanismen, die dafür sorgen, dass das Gleichgewicht nicht zerstört wird.

Auch hier gilt: ein Kontroll-Konstrukt genügt nicht, es müssen mehrere (idealerweise viele) sein, die voneinander unabhängig sind und die sich nicht gegenseitig konkurrenzieren, sondern die sich gegenseitig ergänzen.


Und noch etwas: das ganze dürfte den Markt-Gesetzen gehorchen, d.h. es wird Leute geben, die Sabotage-Konstrukte implementieren, weil sie Spass daran haben, auch ohne eigenen Mehrwert anderen Schaden zuzufügen.


Freundliche Grüsse, Ralf

Antworten