Hans Peter Lun und die Geburt des Hash-Algorithmus

Der Hash-Algorithmus eines IBM-Ingenieurs ermöglichte Computern die schnelle Suche nach Dokumenten, DNA und Datenbanken.


Ab den 1940er Jahren entwickelte Lun Maschinen und Systeme zur Analyse von Informationen, insbesondere den derzeit weit verbreiteten Hash-Algorithmus, den er als Sortiermethode vorschlug. Zahlen und Text.

Im November 1958 demonstrierte der Erfinder Hans Peter Lun auf einer sechstägigen internationalen Konferenz über wissenschaftliche Informationen mehrere elektromechanische Maschinen. Sie sahen sehr gewöhnlich aus. Wie alle anderen Computergeräte dieser Zeit waren sie eckig, praktisch und so konzipiert, dass sie Stapel von Lochkarten in Steckplätzen und Körben aufnehmen und sortieren konnten.

Im Gegensatz zu anderen Computern arbeiteten die Moon-Geräte jedoch nicht mit Zahlen und Formeln, sondern mit Wörtern und Sätzen. Eine der Maschinen, die besondere Aufmerksamkeit auf sich zog, verwendete den Mondalgorithmus namens KWIC, Key for Word in Context . Nachdem KWIC eine große Menge Text erhalten hatte - beispielsweise einen Artikel mit 500 bis 5000 Wörtern -, konnte KWIC schnell und autonom so etwas wie einen Index erstellen.

Zu dieser Zeit war die Indexierung, Klassifizierung und Organisation von Informationen in schriftlicher Form selbst für erfahrene Fachleute ein äußerst zeitaufwändiger Prozess. Und das Informationsvolumen in einigen Bereichen wuchs zu schnell, um es zu unterstützen. Benötigte dringend neue, bessere Werkzeuge zum Abstrahieren und Verallgemeinern. Für in Washington versammelte Bibliothekare und Informationswissenschaftler war die KWIC-Demonstration einem Erdbeben ähnlich. Zeitungen im ganzen Land schrieben sofort über die herausragende Erfindung des Mondes.

In den frühen 1960er Jahren war KWIC die Grundlage für die Entwicklung von Hunderten computergestützter Indexierungssysteme geworden, einschließlich derer, die vom Chemical Abstracts Service, Biological Abstracts und dem Institute of Scientific Information verwendet wurden. Einige Experten nannten die Entwicklung von KWIC "das größte Ereignis in der Welt der Chemie seit der Erfindung des Reagenzglases". Lun, der leitende Ingenieur von IBM, baute auch ein „intelligentes System“ für das Geschäft mit KWIC. (Hinweis: Er war es, der zuerst den Begriff BI vorschlug.) Sie konnte relevante Informationen identifizieren und bestimmten Personen großer Unternehmen zur Verfügung stellen. Im Wesentlichen war KWIC zu dieser Zeit das Äquivalent einer Suchmaschine: Es ermöglichte Benutzern, die benötigten Informationen schnell zu finden.

Jetzt gehen wir davon aus, dass Computer mit Informationen arbeiten und uns sofort Restaurantbewertungen, Sportergebnisse und Aktienkurse anbieten können. In den Tagen des Mondes waren Computer einfach und primitiv. Seine Versuche, mit Text zu arbeiten, trugen dazu bei, eine breitere Sicht auf Computer und ihre Fähigkeiten zu erhalten. Und seine Ideen sind immer noch die Grundlage der Algorithmen, die wir für Online-Shopping, maschinelle Übersetzung und genetische Forschung verwenden. Natürlich war das alles in den 1950er Jahren völlig undenkbar. Als nächstes werden wir darüber sprechen, was der Mond zu einer Hash-Funktion geführt hat, einer Lösung für ein Problem, das es nicht einmal gab.

Die Jahre nach dem Zweiten Weltkrieghatte einen großen Einfluss auf elektronische Computergeräte. Die verschiedenen Maschinen der Kriegsjahre führten wichtige Berechnungen für Ballistik, Atomwaffen und Kryptographie durch. Der darauffolgende Kalte Krieg versorgte Computerentwickler mit kontinuierlicher Finanzierung, und infolgedessen wurden Maschinen schneller, genauer und leistungsfähiger. Ihr Hauptzweck - die Verarbeitung und Speicherung von Nummern - blieb jedoch unverändert.

In der aufstrebenden Computerwelt war Lun ein ungewöhnlicher Charakter. Lun hatte immer einen guten Geschmack für Kleidung und verstand in der Textilindustrie viel mehr als in der Informatik. Er kam 1941 zu IBM. Zahlreiche Erfindungen des Mondes schienen noch immer zum vordigitalen Zeitalter der mechanischen Taschenrechner und Rechenschieber zu gehören. Sogar die digitalen Computer der 1950er Jahre waren leistungsfähiger als ihre elektromechanischen Geräte. Trotzdem werden die Ideen des Mondes, die auf die eine oder andere Weise überdacht und transformiert wurden, jetzt in fast allen Arten von Software angewendet.

Hans Peter Lun wurde 1896 im deutschen Barmann geboren. Sein Vater Johann Lun, ein erfolgreicher Drucker, war den Hobbys seiner Kinder sehr treu. Zum Beispiel baute Hans einmal zusammen mit seinen Brüdern und Schwestern eine Miniaturbahn im Familiengarten. Auf der Maschine seines Vaters wurden 70-Meter-Bleischienen geschmolzen.

Nach dem Schulabschluss studierte Lun Familienhandwerk in der Schweiz. Aber der Erste Weltkrieg und der Entwurf in der deutschen Armee unterbrachen seine gedruckte Karriere. Nach dem Krieg begann Lun mit dem Handel mit Textilien. In den USA befand er sich 1924 auf der Suche nach möglichen Orten für den Bau von Textilfabriken. Und auch im Textilgeschäft hat die erfinderische Ader des Mondes Anwendung gefunden. 1927 entwickelte er eine spezielle Linie, mit der die Anzahl der Fäden im Stoff gezählt werden konnte.Das Lunometer wird weiterhin von HP Luhn & Associates verkauft, einem von Moon gegründeten Engineering- und Beratungsunternehmen.

Lun lernte schnell. Er nahm buchstäblich Wissen aus verschiedenen Bereichen auf und wurde allmählich ein erfahrener Kletterer, Gourmet-Kochspezialist und ein guter Landschaftsmaler. In den 1930er Jahren umfasste eine umfangreiche Liste seiner Patente: einen Faltmantel , ein Gerät zum Formen von Frauenstrümpfen, einen Spieltisch und das Cocktail-Orakel - eine Anleitung, die dem Benutzer half, aus dem, was zur Hand war, einen Cocktail zu machen.


1933, kurz vor dem Ende der Prohibition, reichte Lun eine Patentanmeldung für einen Leitfaden ein, der dazu beitrug, einen Cocktail aus den Zutaten verfügbar zu machen.

Vor allem aber interessierte sich der Mond für das Speichern, Übertragen und Abrufen von Informationen, insbesondere von Textinformationen. Tatsächlich führten ihn diese Interessen zu IBM, wo er den „Titel“ des Erfinders erhielt. Lun erwies sich als ungewöhnlich produktiv - während seiner Karriere schuf er ungefähr 70 Patente für IBM. Trotz der Tatsache, dass ihn niemand bei der Auswahl seiner Aufgaben einschränkte, konzentrierten sich viele seiner Erfindungen auf die Verwendung von Maschinen, einschließlich elektronischer, zur Manipulation von Informationen.

Zum Beispiel arbeitete Lun 1946 und 1947 daran, Maschinen das „Lesen“ von Dokumenten beizubringen, die auf einer Schreibmaschine geschrieben wurden. Eines seiner Geräte bestand aus einem Metallband, das in eine Schreibmaschine gesteckt war und Magnetcodes auf Papier anbrachte. Dann könnte eine andere Maschine sie scannen. Wenig später begann er zusammen mit zwei MIT-Chemikern, Malcolm Dyson und James Perry, mit der Arbeit an einer Maschine, die mithilfe von Lochkarten automatisch nach chemischen Verbindungen suchen konnte. Jede Lochkarte wurde mit Informationen über eine bestimmte Verbindung codiert. Der Benutzer musste eine „Anforderungskarte“ in das Gerät einlegen und eine Reihe von Kriterien angeben, nach denen zusammengesetzte Karten verglichen und sortiert werden müssen. Der Scanner erwies sich als äußerst eng spezialisiert, und Lun suchte weiterhin nach universelleren Möglichkeiten für die automatische Verarbeitung von Informationen.

Das Problem der Information in jenen Jahren war in aller Munde. In der Nachkriegszeit nahm die Zahl der wissenschaftlichen und technischen Veröffentlichungen stark zu. Viele Experten befürchteten, dass Wirtschaft und Wissenschaft aufgrund von Informationsüberflutung fallen würden. Vannevar Bush , während des Krieges Leiter einer großen amerikanischen wissenschaftlichen Abteilung und einer der Initiatoren der Gründung der National Science Foundation, schlug ein elektromechanisches Memex- Gerät in Tischgröße zum Speichern und Verknüpfen von Informationen vor.

Bushs Vorschlag wurde im Gegensatz zu Moon's Ideen nie verwirklicht. Beispielsweise meldete er am 6. Januar 1954 ein Patent für einen Computer zur Überprüfung von Zahlen an.. Es war ein manuelles mechanisches Gerät, das entwickelt wurde, um ein einfaches praktisches Problem zu lösen. Zu dieser Zeit spielten verschiedene Arten von Identifikationsnummern wie Kreditkartennummern und Sozialversicherungsnummern eine große Rolle im öffentlichen und privaten Leben. Die Zahlen waren jedoch schwer zu merken, sie konnten falsch entschlüsselt oder absichtlich gefälscht werden. Es war ein Weg erforderlich, um die Richtigkeit der Identifikationsnummern schnell zu überprüfen.

Eine Maschine im Taschenformat, der Mond, war genau das. Sie arbeitete auf der Grundlage des von ihm entwickelten Prüfsummenalgorithmus. Bei einer 10-stelligen Nummer führte der Computer die folgenden Aktionen aus:
  • verdoppeln Sie jede zweite Ziffer;
  • Wenn ein Ergebnis größer oder gleich 10 ist, addieren Sie die Ziffern dieses Ergebnisses, um eine einstellige Zahl zu erhalten (z. B. wird „16“ zu 1 + 6 = 7).
  • addiere alle 10 Ziffern der neuen Nummer;
  • mit 9 multiplizieren;
  • Nehmen Sie die letzte Ziffer dieses Ergebnisses.

Dieser Algorithmus erzeugte eine eindeutige Verifizierungsnummer. In der ursprünglichen Formulierung des Mondes bedeutete "0", dass die ursprüngliche Zahl real war. In späteren Versionen wurde die Bestätigungsnummer einfach in Form der letzten Ziffer zur ursprünglichen Nummer hinzugefügt, und es war einfach zu überprüfen, ob die letzte Ziffer dem Ergebnis der Überprüfung auf der Moon-Maschine entspricht. Die grundlegende Abfolge von Berechnungen, die heute als Mondalgorithmus bekannt ist, ist immer noch weit verbreitet. Hiermit wird die Anzahl der internationalen Mobilgerätekennungen (IMEIs) überprüft, die Mobiltelefonen zugewiesen sind.

Viel wichtiger ist jedoch, dass einer der wichtigsten Algorithmen des digitalen Zeitalters von den Zahnrädern und Rädern der Moon-Maschine stammt: das Hashing. Diese breite Klasse von Algorithmen bietet leistungsstarke Möglichkeiten zum Organisieren von Informationen, sodass ein Computer sie leicht finden kann. Dies ähnelt einem Rezept für Corned Beef und Kartoffeln: Ein Hash-Algorithmus teilt und mischt Daten wie ein Koch auf verschiedene Weise. Eine solche „Verwirrung“ mit einer ordnungsgemäßen Bereitstellung kann viele Arten von Computeroperationen beschleunigen.

Anfang 1953 schickte Lun eine interne Notiz an IBM, in der er vorschlug, Informationen in „Eimer“ (Eimer - Eimer, Korb) zu legen, um die Suche zu beschleunigen. Angenommen, Sie müssen die Telefonnummer in der Datenbank finden und herausfinden, wem sie gehört. Es besteht aus 10 Zahlen: "314-159-2652." Der Computer kann jeweils eine Nummer aus der Datenbank überprüfen, bis er den gewünschten Eintrag gefunden hat. Wenn die Datenbank jedoch Millionen von Zahlen enthält, wird dies viel Zeit in Anspruch nehmen.

Die Idee des Mondes war es, alle Einträge in nummerierten Körben anzuordnen. Dies wurde wie folgt durchgeführt: Die Ziffern der Telefonnummer sind paarweise gruppiert (in diesem Fall 31, 41, 59, 26, 52). Dann werden die Zahlenpaare addiert (4, 5, 14, 8, 7) und daraus eine neue Zahl generiert. Wenn das Ergebnis der Addition innerhalb des Paares zwei Ziffern enthält, wird nur die letzte genommen (dh es stellt sich heraus, 45487). Die ursprüngliche Telefonnummer und der dazugehörige Name / die entsprechende Adresse werden mit der Nummer 45487 in den Warenkorb gelegt. Die

Suche nach Telefonnummer bestand darin, die Warenkorbnummer (nach der Moon-Methode) zu berechnen und anschließend Informationen aus diesem Warenkorb zu extrahieren. Selbst wenn die Gruppe mehrere Datensätze enthielt, war eine Suche unter ihnen viel schneller als eine Suche in der gesamten Datenbank.

Seit Jahrzehnten perfektionieren Informatiker und Programmierer die Methoden des Mondes und finden neue Verwendungsmöglichkeiten für sie. Die Grundidee blieb jedoch dieselbe: Verwenden Sie Mathematik, um die Daten in leicht zu findende Gruppen zu organisieren. Da die Probleme beim Organisieren und Suchen von Daten in der Computertechnologie sehr häufig sind, sind Hashing-Algorithmen in Kryptographie, Grafik, Telekommunikation und Biologie unverzichtbar geworden. Jedes Mal, wenn Sie eine Kreditkartennummer über das Internet senden oder ein Texteditor-Wörterbuch verwenden, funktionieren Hash-Funktionen.


Schnelle Indizierung: Auf der Internationalen Konferenz für wissenschaftliche Informationen von 1958 demonstriert Hans Peter Lun (rechts) das IBM-System zur automatischen Erstellung von Dokumentindizes auf der Grundlage des von ihm entwickelten KWIC-Algorithmus.

Mondideen in der Informatikging weit über die übliche Suche hinaus. Er erkannte, dass Computer zu komplexen Manipulationen mit Text fähig sind: Lesen und Verstehen der geschriebenen Sprache. Nachfolgende Indizierung und Organisation von Informationen zur Lösung praktischer Probleme in Wissenschaft und Wirtschaft. Bis 1958 hatte sich sein chemischer Kartensortierer in einen Universal Card Scanner und den 9900 Special Index Analyzer verwandelt, die auf der Konferenz in Washington demonstriert wurden. Diese elektromechanischen Geräte könnten Lochkarten nach Benutzerkriterien suchen und sortieren.

Der größte Teil des Lärms wurde jedoch von KWIC erzeugt, dem Mondsystem zum Erstellen von Konkordanzen. Konkordanz ist eine alphabetische Liste von Schlüsselwörtern, die in einem Buch oder einer Sammlung von Werken verwendet werden. Es sieht aus wie ein Glossar, listet jedoch nur Wörter auf, die tatsächlich im Text enthalten sind, und keine Konzepte. Wörter, die keine semantische Last tragen, wie Präpositionen, Konjunktionen und Artikel, fallen nicht in Übereinstimmung. Konkordanzen werden seit langem in der Theologie und Philologie verwendet. Zum Beispiel zeigt die Konkordanz der Bibel jede Verwendung des Wortes „Liebe“ in Bezug auf ein Buch, ein Kapitel und einen Vers. Bevor die computergestützte Volltextsuche angezeigt wurde, war das Erstellen von Konkordanzen ein zeitaufwändiger Prozess. Meistens wurde Konkordanz für „wichtige“ Werke wie die Bibel oder Shakespeares gesammelte Werke geschaffen.

Was das Mondsystem einst tat, um nach Zahlen zu suchen, tat KWIC nach Texten. Sowohl das eine als auch das andere ermöglichten das einfache Durchsuchen großer Informationsmengen. Nehmen Sie ein sehr einfaches Beispiel. Angenommen, Sie möchten eine Konkordanz aus den Wörtern in den Titeln der folgenden vier Bücher erstellen: Vom Winde verweht, Krieg und Frieden, Schatten des Windes und Schatten des Krieges. (Hinweis: Im Original - Vom Winde verweht, Krieg und Frieden, Der Schatten des Windes und Schatten des Krieges)



Der KWIC-Algorithmus ordnet die Wörter aus den Namen in allen möglichen Reihenfolgen neu an und ordnet dann jede Permutation alphabetisch an. Das Ergebnis ist eine vollständige Liste der Schlüsselwörter (dh alles außer Präpositionen, Konjunktionen und Artikeln) in dem Kontext, in dem sie erschienen sind.

Das KWIC Moon System fand schnell Anwendung in der wissenschaftlichen Gemeinschaft. Aber er wusste, dass es auch für das Geschäft nützlich sein würde. 1958 schrieb er einen Artikel für das IBM Journal of Research and Development mit dem Titel „A Business Intelligence System“. Darin schlug er ein System vor, das automatisch Abstracts von Artikeln generieren, Schlüsselideen aus den Abstracts extrahieren und das Ergebnis dann an die entsprechenden Mitarbeiter des Unternehmens senden könnte. Lun verstand, dass die Lösung des Problems der Informationsüberflutung die Entwicklung einer Methode zum schnellen Sortieren von Informationen bedeutet, die die Menschen nicht mit überschüssigem Material belastet.

In einem Nachruf auf die New York Times von 1964 beschrieb Luna sein abstraktes System wie folgt:

Scientific American 2326 , IBM . , ...


Lunas Abstraktionsprogramm berechnete zunächst die Häufigkeit aller Wörter im Artikel. Nach dem Verwerfen der sehr gebräuchlichen Wörter fand "abstrakt" Sätze, in denen mehrere der häufigsten Wörter zusammen vorkommen. Solche Vorschläge gelten als repräsentativ und werden abstrakt dargestellt. Es war eine rein statistische Methode, die keinen Versuch unternahm, die Wörter im Artikel oder die Beziehung zwischen ihnen zu "verstehen". Aber wie KWIC hat er gezeigt, dass Computer effektiv verwendet werden können, um Text in einem einfach zu lesenden Format zu organisieren.

Lun verließ IBM 1961und drei Jahre später starb er an Leukämie. Er hat den Tag, an dem im Internet große Veränderungen stattfanden, nicht mehr erlebt. Mit Ausnahme eines kleinen Kreises von Informationsspezialisten, Textilarbeitern und Historikern erinnern sich nur wenige an seinen Namen. Aber die Ideen des Mondes leben. Heute spielt Hashing viele Rollen bei der Verwaltung und dem Schutz unseres digitalen Lebens. Wenn Sie Ihr Passwort auf einer Website eingeben, speichert der Server höchstwahrscheinlich eine Hash-Version des Passworts. Wenn Sie mit der Site über das sichere https-Protokoll interagieren oder etwas mit Bitcoins kaufen, funktionieren dort auch Hashes. Mit Cloud-Diensten wie Dropbox und Google Drive können durch Hashing Speicher und Dateifreigabe wesentlich effizienter gestaltet werden. In der Genetik und anderen High-Tech-Forschungen reduziert Hashing den Zeitaufwand für die Analyse großer Datenmengen erheblich.

Hashes verwandelten Computer in „Textwerkzeuge“, die mit Buchstaben und Wörtern gesprochen werden können. Google Translate, Google N-Gramm, Google AdWords und Google Search dienen auf die eine oder andere Weise dazu, die Bedeutung des Textes zu ermitteln. Der Informationsboom im Internet hat das automatische Lesen und Verstehen [von Nachrichten und anderen Informationen] zu einer Priorität für Unternehmen, für die Wissenschaft und für alle gemacht. Die Entwicklung von Hashes wurde mit Texten in Verbindung gebracht und spiegelt Luns Gedanken über Wörter, Sätze, Konkordanzen, Auszüge, Indizes und Digests wider.

Dies ist Lunas Vermächtnis: Er half zu zeigen, dass Taschenrechner und Berechnungen nicht nur die Domäne von Mathematik, Statistik und Logik sind, sondern auch Sprache, Linguistik und Literatur. Zu dieser Zeit war es eine revolutionäre Art, Maschinen wahrzunehmen.

Technologiehistoriker Michael Mahoneynannte den Computer „eine Steroidmaschine“: „nicht nur eine Sache, sondern viele Dinge, eine Maschine, die für jeden Zweck geschärft werden kann. Selbst jetzt neigen wir dazu, Computer im engeren Sinne als riesige digitale Prozessoren zu betrachten, die Millionen von Berechnungen und Operationen pro Sekunde ausführen. Hans Peter Moon blickte weiter auf Computer. Die Erkenntnis, dass der Computer vielfältig ist, hat dazu beigetragen, neue, vielversprechende Horizonte für die Forschung zu eröffnen. “

All Articles