Thema: Automatisierung des Abgleiches von Fehllisten und Dublettenlisten
drmoeller_neuss Am: 02.04.2023 16:47:07 Gelesen: 484# 8@  
@ robste1987 [#7]

* Ich empfehle zur weiteren Lektüre einen Grundlagenartikel der Informatik über Laufzeitkomplexität und Parallelisierbarkeit. Wenn ich jedes Element in einer Liste einzeln auf Vorhandensein in einer anderen Liste suche dauert das bei zwei sehr langen Listen sehr lange und ist nur eingeschränkt parallelisierbar. Wenn dann auf einem Server viele verschiedene Listen abgeglichen werden sollen, erzeugt das schnell zu viel Last auf dem Prozessor von dem Server. Daher die Idee mit Mengen und Intersections.

Ich verweise auf meine frühere Antwort: Informatiker philosophieren an dieser Stelle über Möglichkeiten, den Suchalgorithmus zu optimieren. Allerdings haben die Fehl- und Dublettenlisten von Briefmarkensammlern nicht Millionen von Einträgen so dass die primitive Suche für Philatelisten vollkommen ausreichend ist.

Einmal ehrlich, wenn ich mich eine ganze Woche mich mit meiner Bundsammlung beschäftigt habe, um die mir fehlenden Marken aufzulisten, dann kommt es doch auf ein oder zwei Sekunden Laufzeitoptimierung beim Suchalgorithmus nicht mehr darauf an. Im Klartext: Das Sammelgebiet Bund umfasst etwa 3000 Marken, und mir fehlen vielleicht 200 Marken. Das ist ein überschaubarer Datensatz. Soviele Sammler gibt es auch nicht auf der Welt und sie werden nicht alle gleichzeitig ihre Fehllisten abgleichen, um den Server in die Knie zu zwingen.

Du kannst natürlich an einer Optimierung des Problemes arbeiten: wenn mir der Sammler Bert 16 Marken von meiner Fehlliste liefern kann, und Anton nur 15 Marken, sollte ich mit Bert tauschen. Das spart 6 Cent Porto pro Tausch.

Ein ähnliches Optimierungsproblem ist der Kauf der Backwaren für das Frühstück. Letzte Woche hatte Netto vier Kaiser-Brötchen für einen Euro im Angebot, und ALDI die Laugenbrezel für 25 Cent. Dazu muss ich die unterschiedliche Entfernung zu den Supermärkten rechnen. Fahrradreifenabrieb ca. 1.5 Cent pro Kilometer. Ich war dem Optimum schon sehr nahe, dann höre ich nur noch diese verdammte künstliche Frauenstimme am Backautomaten: "Ihr gewünschtes Produkt ist heute leider nicht mehr verfügbar". :(

Im übrigen arbeitet set.intersection() in Python auch mit Schleifen [1]. Als Informatiker sollte man den Algorithmus verstanden haben, bevor man blind eine Funktion anwendet.

Das ist wie in der Fahrschule: Man lernt auf einem Schaltgetriebe-Wagen, um dann später bequem einen Automatikwagen fahren zu können.

@ Ben 11 [#6]

Die Herausforderung in dieser Aufgabe besteht auch nicht im Ermitteln der Schnittmenge zweier Listen, sondern in der konzeptionellen Vorarbeit. Die Sammler sollten keine Dubletten-, Tausch- oder Fehllisten in beliebigen Tabellenkalkulationen erstellen müssen, denn das ist in der Tat reines Abschreiben des Kataloges.

Wie soll man denn Fehllisten anders erstellen? Du musst nun einmal die fehlenden Marken heraussuchen und auflisten. Du kannst die Nummern in Tontäfelchen ritzen oder in eine Excel-Tabelle tippen. Keine noch so künstliche Intelligenz kann herausfinden, welche Marken Dir in Deiner Sammlung noch fehlen.

[1] https://stackoverflow.com/questions/20100003/whats-the-algorithm-of-set-intersection-in-python
 
Quelle: www.philaseiten.de
https://www.philaseiten.de/thema/18048
https://www.philaseiten.de/beitrag/316500