DE2548501C2 - Verfahren zum Auffinden eines kurzen, einem Suchbegriff gleichen Begriffs aus einer Folge von Zeichenketten - Google Patents

Verfahren zum Auffinden eines kurzen, einem Suchbegriff gleichen Begriffs aus einer Folge von Zeichenketten

Info

Publication number
DE2548501C2
DE2548501C2 DE19752548501 DE2548501A DE2548501C2 DE 2548501 C2 DE2548501 C2 DE 2548501C2 DE 19752548501 DE19752548501 DE 19752548501 DE 2548501 A DE2548501 A DE 2548501A DE 2548501 C2 DE2548501 C2 DE 2548501C2
Authority
DE
Germany
Prior art keywords
search term
characters
sequence
term
strings
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE19752548501
Other languages
English (en)
Other versions
DE2548501B1 (de
Inventor
Balazs Dipl.-Ing.; Zimmerl Oswald Dr.-Ing.; 8000 München Cserhati
Original Assignee
Xusatt zw. 25 M 401 Siemens AG, 1000 Berlin und 8000 München
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xusatt zw. 25 M 401 Siemens AG, 1000 Berlin und 8000 München filed Critical Xusatt zw. 25 M 401 Siemens AG, 1000 Berlin und 8000 München
Priority to DE19752548501 priority Critical patent/DE2548501C2/de
Publication of DE2548501B1 publication Critical patent/DE2548501B1/de
Application granted granted Critical
Publication of DE2548501C2 publication Critical patent/DE2548501C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90339Query processing by using parallel associative memories or content-addressable memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

30
Die Erfindung bezieht sich auf ein Verfahren zum Auffinden eines kurzen, einem Suchbegriff gleichen Begriffs, aus einer Folge von Zeichenketten nach dem Oberbegriff des Patentanspruchs.
Bei der Verarbeitung von Daten besteht gelegentlich die Notwendigkeit, Zeichenketten daraufhin zu untersuchen, ob ein einem nur aus einem oder wenigen Zeichen bestehender Begriff - im folgenden als Suchbegriff bezeichnet - gleicher Begriff in ihr enthalten ist. Eine in Übersetzer- und Betriebssystem-Programmen häufig vorkommende Operation dieser Art ist die Operation »Index«. Hierbei besteht im Durchschnitt die zu untersuchende Zeichenkette aus etwa 8 bis 10 Zeichen, der Suchbegriff ist etwa 1 bis 3 Zeichen lang. Neben der Feststellung, ob der Suchbegriff in der längeren Zeichenkette enthalten ist oder nicht, ist auch die Stelle, an der er gefunden wurde, interessant. Die derzeit übliche Ausführung dieser Operation auf der Ebene von Maschinenbefehlen erfordert schon für einen durchschnittlichen Fall etwa 100 Befehle. Gelegentlich kommt es auch vor, daß Folgen von Zeichenketten, deren Längen nur um wenige Zeichen von der Länge des Suchbegriffs abweichen, zu untersuchen sind. Dem Hauptpatent 25 38 401 liegt die Aufgabe zugrunde, ein Verfahren anzugeben, welches das Auffinden eines aus einem oder mehreren Zeichen bestehenden Suchbegriffs aus einer längeren Zeichenkette oder aus einer Folge von vergleichsweise kurzen Zeichenketten ohne erheblichen Zeitaufwand gestattet. Diese Aufgabe wird gemaß dem Hauptpatent 25 38 401 dadurch gelöst, daß die lange Zeichenkette oder die Folge von kurzen Zeichenketten in einen Assoziativspeicher mit zeilenweiser Ausgabe von Treffer- oder Fchlanzeigesignaien geladen wird, und zwar
a 1) eine lange Zeichenkette linksbündig in die erste Zeile, gleichzeitig um ein Zeichen nach links verschoben in die nächste Zeile, um ein weiteres Zeichen nach links verschoben in die folgende Zeile usw., jedoch
a 2) bei einem aus einem Zeichen bestehenden Suchbegriff die lange Zeichenkette vertikal in die linke Spalte,
b) bei einer Folge von kurzen Zeichenketten die ersten Zeichen aller Zeichenketten vertikal in die linke Spalte bis zur Füllung der Spalte, die zweiten Zeichen in die anschließende Spalte usw., bis die Zahl der geladenen Spalten gleich der Zahl der Zeichen im Suchbegriff ist und, sofern kein Treffersignal entsteht, gegebenenfalls erneute Eingabe in analoger Weise mit dem zweiten (dritten usw.) Zeichen linksbündig beginnend, wobei so oft wiederholt wird, als die Zeichenketten der Folge mehr Zeichen als der Suchbegriff enthalten,
und daß der Suchbegriff sowie eine dem Suchbegriff angepaßte Maske linksbündig angeboten wird.
Ferner betrifft die Hauptanmeldung einen zur Durchführung des Verfahrens geeigneten Assoziativspeicher.
Demgegenüber besteht nunmehr die Aufgabe der Erfindung darin, ein Verfahren zum Auffinden eines einem Suchbegriff gleichen Begriffs aus einer Folge von vergleichsweise kurzen Zeichenketten anzugeben, welches den durchschnittlichen Zeitbedarf für die Suchvorgänge weiter verkürzt.
Diese Aufgabe wird gemäß der Erfindung durch die im kennzeichnenden Teil des Patentanspruchs angegebenen Merkmale gelöst.
Die Erfindung wird im folgenden anhand eines Ausführungsbeispiels näher erläutert. Die Figur zeigt symbolisch einen Assoziativspeicher 1, der durch horizontale Geraden in Zeilen und Spalten unterteilt ist. Durch die Zeilen und Spalten werden die einzelnen Speicherplätze festgelegt, die jeweils ein Zeichen aufzunehmen vermögen. Ein Zeichen kann hierbei 1 Bit oder eine Gruppe von Bit, beispielsweise auf 1 Byte, umfassen. Die dick umrandeten Felder 2 (Speicherplätze) sind durch die Zeichen der zu einer Folge gehörenden Zeichenketten belegt Die vorausgehende Eingabe der Zeichen lief in der Weise ab, daß zunächst alle ersten Zeichen der Zeichenketten in der linken Spalte des Assoziativspeichers 1 abgelegt wurden, danach wurden alle zweiten Zeichen in die nach rechts anschließende Spalte eingegeben. In dieser Weise wurde weiter verfahren, bis schließlich alle Zeichen der Zeichenketten in den Speicher übernommen waren.
Es versteht sich von selbst, daß eine zu untersuchende Folge von Zeichenketten insgesamt mehr oder weniger Zeichenketten enthalten kann, als der Assoziativspeicher Zeilen besitzt. Im ersten Fall muß die Untersuchung der Folge abschnittsweise erfolgen, im zweiten Fall werden die Spalten natürlich nicht vollständig gefüllt.
Nach der Darstellung in der Figur bestehen die Zeichenketten der in dem Assoziativspeicher 1 gespeicherten Folge aus zwei bis fünf Zeichen. Der Suchbegriff 3 aus drei Zeichen wird zusammen mit einer Maske, die die vom Suchbegriff augenblicklich nicht erfaßten Zeichen der Zeichcnketten vom assoziativen Vergleich ausschließt, zunächst in der Position A, d. h. linksbündig angelegt. Es ist klar, daß der Suchbegriff unter den gegebenen Voraussetzungen in den Zeichenketten mit zwei Zeichen nicht enthalten sein
kann. Es wird angenommen, daß der Suchbegrif'f in der Position A auch in den übrigen Zeichenketten nicht zu finden ist. Der Suchbegriff wird daher für einen weiteren Assoziationsvorgang in du; Position B, d. h. um ein Zeichen nach rechts vwschoben. Auch in dieser Position des Suchbegriffs möge der assoziative Vergleich noch keine Überseinstimmung ergeben. Der Suchbegriff wird daher um eine weliere Stelle nach rechts in die Position C verschoben und der assoziative Vergleich wiederholt. Nunmehr möge ι ο ein Treffersignal T in der vierten Speicherzeile von oben entstehen. Dieses Treffersignal Γ zeigt nicht nur an, daß der Suchbegriff in einer Zeichenkette der Folge enthalten ist, sondern läßt mit Hilfe der Zeilennummer und der Position des Suchbegriffs die Ermittlung der Lage des nunmehr gefundenen Begriffs innerhalb der Zeichenkette und der Folge zu. Gegebenenfalls ist dabei zu berücksichtigen. &jü der soeben untersuchte Inhalt des Assoziativspeichers nur ein Teil einer längeren Folge war.
Hätte der assoziative Vergleich auch in der Position C des SuchbegrifTs entgegen der vorher getroffenen Annahme keinen Treffer ergeben, dann wäre eine weitere Rechtsverschiebung des Suchbegriffs sinnlos. Der bisherige Inhalt des Assoziutivspeichers wird dann gelöscht und durch eine neue Folge von Zeichenketten oder gegebenenfalls auch durch die Fortsetzung einer längeren Folge ersetzt. Der assoziative Suchvorgang beginnt erneut, wobei der Suchbegriff zuerst wieder in der Position A angeboten wird.
Es ist zweckmäßig, einen Assoziativspeicher zur Durchführung des erfindungsgemäßen Verfahrens so auszubilden, daß er nicht nur vertikal, sondern auch horizontal und schräg ladbar ist.
Hierzu I Blatt Zeichnungen

Claims (1)

  1. Patentanspruch:
    Verfahren zum Auffinden eines aus einem oder mehreren Zeichen bestehenden, einem S negriff gleichen Begriffs aus einer Folge von ,eichenketten, deren Längen von der Länge des Suchbegriffs nicht erheblich abweichen, mit Hilfe eines spaltenweise (vertikal) ladbaren Assoziativspeichers mit zeilenweiser Ausgabe von Treffer- bzw. Fehlanzeigesignalen, in den die ersten Zeichen aller Zeichenketten der Folge in die linke Spalte bis zur Füllung der Spalte bzw. bis zum Ende der Folge, anschließend die zweiten Zeichen in die folgende Spalte usw. geladen werden, insbesondere nach Patent 2538401, dadurch gekennzeichnet, daß der Suchbegriff sowie eine dem Suchbegriff angepaßte Maske zunächst linksbündig angelegt wird und, sofern kein Treffersignal entsteht, der Suchbegriff und die Maske jeweils um ein Zeichen nach rechts verschoben werden, bis ein Treffersignal entsteht oder das am weitesten rechts stehende Zeichen des Suchbegriffs die gleiche Position wie das am weitesten rechtsstehende Zeichen der längsten, im Assoziativspeicher geladenen Zeichenkette einnimmt.
DE19752548501 1975-10-29 1975-10-29 Verfahren zum Auffinden eines kurzen, einem Suchbegriff gleichen Begriffs aus einer Folge von Zeichenketten Expired DE2548501C2 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19752548501 DE2548501C2 (de) 1975-10-29 1975-10-29 Verfahren zum Auffinden eines kurzen, einem Suchbegriff gleichen Begriffs aus einer Folge von Zeichenketten

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19752548501 DE2548501C2 (de) 1975-10-29 1975-10-29 Verfahren zum Auffinden eines kurzen, einem Suchbegriff gleichen Begriffs aus einer Folge von Zeichenketten

Publications (2)

Publication Number Publication Date
DE2548501B1 DE2548501B1 (de) 1977-04-07
DE2548501C2 true DE2548501C2 (de) 1977-11-24

Family

ID=5960396

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19752548501 Expired DE2548501C2 (de) 1975-10-29 1975-10-29 Verfahren zum Auffinden eines kurzen, einem Suchbegriff gleichen Begriffs aus einer Folge von Zeichenketten

Country Status (1)

Country Link
DE (1) DE2548501C2 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3334528A1 (de) * 1983-09-23 1985-04-11 Siemens AG, 1000 Berlin und 8000 München Verfahren und anordnung zum aufsuchen von einem vorgegebenen suchargument entsprechenden daten einer datenfolge mit assoziativen einrichtungen

Also Published As

Publication number Publication date
DE2548501B1 (de) 1977-04-07

Similar Documents

Publication Publication Date Title
DE69027134T2 (de) Zeichenverarbeitungsgerät
EP0409310B1 (de) Verfahren sowie Anordnung zum Bestimmen von Kanten in Bildern
EP0285221B1 (de) Verfahren zum Erkennen kontinuierlich gesprochener Wörter
DE3688640T2 (de) Suchgerät.
DE2915673A1 (de) Textbearbeitungseinrichtung mit einer anzeigeeinrichtung
DE3134282A1 (de) Verfahren zur darstellung ideografischer zeichen und vergleichbarer graphiken
DE3047695A1 (de) Verfahren und vorrichtung zum herstellen einer speichertabelle fuer farbkontrollbedingungen
DE3320213A1 (de) Elektronischer rechner mit pruefmoeglichkeit
CH692634A5 (de) Nivellierlatte und elektronisches Nivelliergerät.
DE2432608A1 (de) Speicheranordnung fuer datenverarbeitungseinrichtungen
DE68927008T2 (de) Verfahren zum komprimieren und dekomprimieren von punktmatrixzeichen
DE2513059C3 (de) Zeichengenerator zur Zeichendarstellung
DE2221705A1 (de) Zeichengenerator fuer die bildliche Zeichendarstellung mit variierbaren zeichenproportionalen Abstaenden
DE3503456A1 (de) Vorrichtung zum erstellen und editieren eines schriftsatzes
DE2548501C2 (de) Verfahren zum Auffinden eines kurzen, einem Suchbegriff gleichen Begriffs aus einer Folge von Zeichenketten
DE3421919A1 (de) Speichersteuereinheit
DE3931389C2 (de) Vorrichtung zur Erfassung der Koinzidenz von in einer Pufferspeichersteuerung abgespeicherten Operanden
WO2008049497A1 (de) Verfahren und vorrichtung zur inkrementierung von in speicherzellen eines speichers gespeicherten zählerständen
EP0080200B1 (de) Verfahren und Anordnung zum Darstellen von Zeichen in Proportionalschrift
EP0115047B1 (de) Verfahren und Anordnung zum Markieren von Textbereichen an einer Anzeigeeinheit
EP0050786A2 (de) Verfahren und Schaltungsanordnung zur Transformation der Zeichenbreite von Schriftzeichen
DE3930889A1 (de) Verfahren zur erkennung von n unterschiedlichen wortketten in einem sprachsignal
DE68923347T2 (de) Sortierverfahren und -gerät.
DE2538401C2 (de) Verfahren und Anordnung zum Auffinden eines kurzen, einem Suchbegriff gleichen Begriffs aus einer längeren Zeichenkette
DE2342660C3 (de) Verfahren zum Sortieren von in einem Assoziativspeicher gespeicherten Daten und Einrichtung zur Durchführung des Verfahrens

Legal Events

Date Code Title Description
E77 Valid patent as to the heymanns-index 1977
8340 Patent of addition ceased/non-payment of fee of main patent