ich möchte mir einmal Toms Algorithmus vom Nachbarthread "Algorithmen auf dem Richterstuhl" aus Sicht dieses Threads anschauen.
Vorbemerkung: da Tom mehrere Formattierungen verwendet hat, besteht die Möglichkeit, dass ich diese bei meinen Zitaten, bei denen ich diese Formattierungen von Hand eingefügt habe, versehentlich nicht immer richtig übernommen habe. Ich bitte diesbezüglich um Korrektur und um Nachsicht.
Nun also zu Toms Gedanken und seinem Algorithmus:
Hier haben wir also die von mir kritisierte stillschweigende Voraussetzung des Nachbarthreads, in dem der Algorithmus vorgestellt wurde.tomS hat geschrieben: ↑1. Feb 2018, 23:10Die Software minimiert den Schaden nach einen vorgegebenen Bewertungsvorschrift.
Hier mal eine textuelle Beschreibung meines Algorithmus:
// ein unmittelbar drohender Crash wird erkannt: z.B. springt eine vorher unsichtbare Person
// plötzlich sehr nahe vor dem Auto auf die Straße
OnImminentCrash() //
An dieser Stelle kommt mein Argument der angepassten Infrastruktur, in diesem Fall konkret der breiteren Strassen, damit mehr Platz zum Ausweichen besteht, zur Anwendung.
Und in diesem Fall kommt mein Argument mit verbesserter Infrastruktur innerhalb der Autos, damit den eigenen Insassen im Falle eines Zusammenstosses oder im Fall eines Steuerns in den Strassengraben nichts passiert, zur Anwendung.tomS hat geschrieben: ↑1. Feb 2018, 23:10
// das Objekte mit dem eigtl. Hindernis sowie andere Objekte mit anderen Personen etc.
allObjects.sort( value ); // alle Objekte werden nach ihren jeweiligen Wert sortiert
target = allObjects.front(); // das Objekt mit dem niedrigsten Wert wird zum Ziel erklärt
setDirection( target ); // die neue Richtung des Autis wird auf dieses Ziel ausgerichtet
...
}
Der Algorithmus ist sehr allgemein. Objekte können z.B. beliebigen Inhalt haben, d.h. der Algorithmus funktioniert sogar für den Normalfall, in dem nichts zu tun ist, oder bei dem Ausweichen problemlos möglich ist, oder bei dem z.B. recht gefahrlos in den Straßengraben gesteuert werden kann.
Das sind nun Vorschläge, wie man die Bewertungsfunktion implemetieren soll. Im Zusammenhang dieses Threads ist die Frage nicht, wie man so eine Bewertungsfunktion implementieren soll, sondern lediglich, ob man eine solche Bewertungsfunktion implemetieren soll.tomS hat geschrieben: ↑1. Feb 2018, 23:10Der Knackpunkt steckt einzig und allein in der Bewertungsfunktion value(), die jedem Objekt einen Wert zuweist.
Eine Lücke hat z.B. den Wert 0; die geradeaus erreichbare Lücke sogar den Wert -1, so dass bei freier Fahrt immer "geradeaus" gewählt wird. Der Straßengraben erhält +1 (ganz ohne Gefahr ist das nicht für den Insassen), ein Hund erhält +10 (lieber doch in den Straßengraben fahren). Eine Maus erhält 0 (unnötigerweise Ausweichen bedeutet eine Gefahr für die Insassen). usw.
Interessant wird's erst, wenn keine Objekte ohne Menschen, ohne andere Autos und ohne weitere Hindernisse vorhanden sind. Nehmen wir an, der Algorithmus erkennt neben dem ursprünglichen Hindernis - einem Kind - noch ein entgegenkommendes Fahrzeug. Das Kind erhält den Wert +1000 (entspr. 100 Hunde). Das Fahrzeug erhält den Wert +1500, weil im Schnitt 1.5 Personen in einem Fahrzeug sitzen. In diesem Fall würde der Algorithmus nicht ausweichen und das Kind überfahren.
Die Techniker weisen darauf hin, dass das entgegenkommende Fahrzeug eine Knautschzone hat und die Insassen schützt. Der Programmierer ändert daraufhin nach Anweisung den Wert auf +750. Nun würde der Algorithmus ausweichen und das entgegenkommende Fahrzeug rammen.
Ein Jahr später ist eine präzisere Bilderkennung auf dem Markt. Sie erkennt in dieser Situation, dass das entgegenkommende Fahrzeug ein Smart mit praktisch Null Knautschzone ist mit genau einem Insassen ist. Der Wert wird konsequenterweise auf +1000 geändert, also dem selben Wert wie für das Kind.
Im Test stellt sich dann heraus, dass die Sortierfunktion nicht eindeutig ist, wenn zwei identische Bewertungen vorliegen. In diesem Fall spielt die Reihenfolge der Erkennung der Objekte eine maßgebliche Rolle. Z.B. werden Objekte von rechts nach links sortiert: ein von rechts auf die Straße springendes Kind wird ausgewählt und überfahren, bei ein von links kommendes Kind wird stattdessen der Smart gewählt. Die Software erhält zunächst keine Zulassung.
Gutachter stellen dann jedoch fest, dass die neue Software zwar ein unklares Verhalten aufweist, jedoch statistisch gesehen dennoch korrekt funktioniert. Die Software erhält für diesen Fall einen Zufallsgenerator und wird zugelassen.
Im Rahmen dieses Threads verlagert sich diese Klage darauf, dass dieser Algorithmus überhaupt angewandt wurde.
Und an dieser Stelle kommen nun weitere Massnahmen zur Verbesserung der Infrastruktur zum Zuge: grössere Abstände zwischen den Hindernissen am Rand, hinter denen sich eine vom Auto nicht sichtbare Person befinden könnte, so dass die Sensoren diese Person dank der grösseren Abstände erkennen können, zudem wird die Fahrgeschwindigkeit genügend niedirg gehalten, dass stets eine Schnellbremsung ohne Gefahr für die hinter dem Hindernis hervorkommende Person besteht. Grundsätzlich könnte diese Person vor das vorausfahrende Auto springen, welches aber gefahrlos ausweichen kann, so dass unser Auto mit der Person zusammenstösst; aus diesem Grunde muss der Abstand zum vorausfahrenden Auto ebenfalls gross genug gehalten werden, so dass im Fall, dass dieses einem Auto ausweicht, eine gefahrlose Schnellbremsung möglich ist.
Mit diesen Massnahmen bleibt die Zahl der Todesopfer im Strassenverkehr auf dem tieferen Niveau.
Eine solche Frage ist dann ausschliesslich von akademischem Interesse. Tatsächlich muss eine Sicherheitskomponete der AI, die selbstverstädnlich redundant ausgelegt ist, eine solche Software erkennen und als "schädlich" deaktivieren.
Im Rahmen dieses Threads wird das dann nicht mehr erforderlich sein. Allerdings besteht nach wie vor die Möglichkeit, dass man nicht AI-Software, die diese gefährlich Bewertungsfunktion nicht erkennen und deaktivieren können, mit solchen Bewertungsfunktionen versieht.tomS hat geschrieben: ↑1. Feb 2018, 23:10Softwaretechnisch ist das einfach; und auch wenn man deutlich kompliziertere Analysen der Situation der durchführen kann und muss, ist das beherrschbar. Letztlich läuft es darauf hinaus, in einem Gesetz Rahmenbedingungen festzulegen, entsprechend derer die Hersteller die Werte vergeben - dann gäbe es konkurrierende Bewertungsfunktionen - oder im Gesetz die konkreten Zahlenwerte aufzuschreiben - dann wäre die Bewertungsfunktion eindeutig.
Ich will nicht verschweigen, dass die von mir genannten Massnahmen eine Anfangsinvestition erfordern, also Geld kosten. Allerdings kostet auch die Entwicklung solcher autonom fahrender Autos Geld. Um einen ersten Eindruck über die Zusatzkosten zu erhalten schlage ich vor, dass man diese beiden Kosten miteinander vergleicht.
Freundliche Grüsse, Ralf