NL8600028A - Werkwijze en inrichting voor het sorteren van objekten die voorzien zijn van een parameter, volgens de waarde van deze parameter. - Google Patents

Werkwijze en inrichting voor het sorteren van objekten die voorzien zijn van een parameter, volgens de waarde van deze parameter. Download PDF

Info

Publication number
NL8600028A
NL8600028A NL8600028A NL8600028A NL8600028A NL 8600028 A NL8600028 A NL 8600028A NL 8600028 A NL8600028 A NL 8600028A NL 8600028 A NL8600028 A NL 8600028A NL 8600028 A NL8600028 A NL 8600028A
Authority
NL
Netherlands
Prior art keywords
objects
chain
selection
file
sorting
Prior art date
Application number
NL8600028A
Other languages
English (en)
Original Assignee
Philips Nv
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 Philips Nv filed Critical Philips Nv
Priority to NL8600028A priority Critical patent/NL8600028A/nl
Priority to EP86202349A priority patent/EP0231552A1/en
Priority to JP62000249A priority patent/JP2602502B2/ja
Priority to US07/001,307 priority patent/US4862356A/en
Publication of NL8600028A publication Critical patent/NL8600028A/nl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/24Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99937Sorting

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Sorting Of Articles (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Discharge Of Articles From Conveyors (AREA)

Description

ή* ·-*
V
# ΡΗΝ 11.605 1 s N.V. Philips' Gloeilampenfabrieken te Eindhoven.
Werkwijze en inrichting voor het sorteren van objekten die voorzien zijn van een parameter, volgens de waarde van deze parameter.
BESCHRIJVING: ACHTERGROND VAN DE ÜITVINDING EN HET BEKENDE
De uitvinding betreft een werkwijze voor het sorteren van objekten die elk voorzien zijn van een parameter, volgens de waarde van deze parameter. Een inrichting voor het uitvoeren van zo een werkwijze 5 is bekend uit het artikel door P.N. Armstrong en M. Rem, A serial sorting machine, Comp, and Electr. Eng., Vol. 9, 1982, 53-58. Na het sorteren vormen de objekten een uitgangsbestand, terwijl de waarde van de parameter in het uitgangsbestand monotoon dalend, monotoon stijgend, monotoon niet-stijgend of monotoon niet-dalend verloopt. In het hierna 10 volgende wordt alleen het laatste geval beschouwd, maar dat is geen feitelijke beperking. Het is duidelijk dat sorteren volgens een dalende waarde van de parameter op hetzelfde neerkomt als het sorteren volgens een stijgende waarde op het komplement van de parameter. In het laatste geval is de parameter dus impliciet gegeven. In het bijzonder betreft de 15 uitvinding een werkwijze voor het sorteren van objekten die elk voorzien zijn van een parameter, volgens de waarde van deze parameter, en welke objekten achtereenvolgens worden aangeboden in een ingangsbestand, welke sortering plaats vindt door aanbieden van de objekten aan een direkt-sorteermachine die plaatsbiedt aan een deelbestand van ten hoogste een 20 voorafbepaald aantal objekten. De bekende werkwijze kan worden toegepast als het aantal objekten in het ingangsbestand niet boven een voorafbepaalde, door de apparatuur bepaalde bovengrens reikt. Wordt een groter aantal objekten aangeboden, dan kan geen sortering plaats vinden. Het is bij een groter ingangsbestand mogelijk om dit te splitsen in deelbe-25 standen, elk deelbestand apart te sorteren, en de gesorteerde deelbestanden samen te voegen (mergen). Als bij dit samenvoegen een objekt dat deel uitmaakt van een bepaald deelbestand evenwel geplaatst moet worden tussen twee objekten die deel uitmaken van een ander deelbestand (gekom-pliceerder gevallen zijn evenzo denkbaar) dan vergt dit ofwel een groot 30 snel geheugen met willekeurige toegankelijkheid, of leidt dit tot traag-werkende oplossingen met seriëel aanspreekbare geheugens zoals magneet-schijven. Als daarentegen een komplexe invoeging van de deelbestanden in "* 1 ^ Λ Λ Λ -η.
* , ‘J ·,' Μ 'J 1_ -3 t PHN 11.605 2 elkaar als boven bedoeld niet plaats hoeft te vinden, kan het samen-voegen van de deelbestanden op eenvoudige manier gebeuren. Bij oplopende waarde van de parameter mag dan een objekt van een volgend deelbestand nooit een kleinere parameterwaarde hebben dan enig objekt van een voor-5 gaand deelbestand.
DOELSTELLING EN SAMENVATTING VAN DE UITVINDING:
Het is een doelstelling van de uitvinding om een ingangs-bestand van a priori willekeurige grootte te kunnen sorteren met een 10 direkt-sorteermachine die slechts op een relatief klein aantal objekten simultaan behoeft te opereren, terwijl de noodzaak tot samenvoegen van deelbestanden beperkt blijft tot het als geheel achter elkaar plaatsen van deze deelbestanden, zodat geen objekt van enig deelbestand geplaatst behoeft te worden tussen objekten van enig ander deelbestand. De doel-15 stelling wordt gerealiseerd doordat de uitvinding het kenmerk heeft, dat de werkwijze de volgende stappen bevat: a) in een ketenvormingsfase het vergelijken van de parameterwaarde van een objekt met de parameterwaarde van het voorgaande objekt om een keten objekten met monotoon verlopende parameterwaarden te vormen en 20 om in geval van zo een monotoon verlopende keten telkens te onthouden het aantal objekten van de keten, en de parameterwaarde van het selektie-objékt van de keten, dat is daarvan dat objekt dat binnen een te vormen uitgangsbestand als eerste objekt van de objekten van de betreffende keten zal fungeren, en aldus het ingangsbestand te 25 verdelen in een aantal ketens; b) in een inspektiefase selekteren van een aantal (k) parameterwaarden van selektie-objekten die in een uitgangsbestand als k eerste objekten van de aktuele selektie-objekten kunnen fungeren, zodanig dat de kapaciteit van de direkt-sorteermachine voldoende groot is 30 voor de objekten van de bij deze k selektie-objekten behorende ketens, alsmede het selekteren van het naastvolgende, (k+1)e selektie-objekt; c) het vormen van een deelbestand dat bestaat uit de objekten die op basis van hun parameterwaarde in het uitgangsbestand niet later 35 dan genoemd (k+1)e selektie-objekt behoeven te fungeren; d) het sorteren van genoemd deelbestand in de direkt-sorteermachine; e) het op overeenkomstige manier vormen en sorteren van volgende deelbe- /*i ; : f - 1 PHN 11.605 3 •sj. . * standen; en f) het verketenen van de aldus gevormde deelbestanden.
De uitvinding betreft mede een inrichting voor het uitvoeren van de werkwijze. Verdere gunstige aspekten worden gereciteerd in 5 de onderconclusies. Op zichzelf zijn ook andere direkt-sorteermachines dan de geciteerde toepasbaar.
KORTE BESCHRIJVING VAN DE FIGUREN:
De uitvinding wordt nader uitgelegd aan de hand van 10 enkele figuren, waarbij eerst het sorteren van een voorbeeldbestand wordt getoond, daarna een exakte formulering van een voorbeeldprocedure, en tenslotte een inrichting voor het uitvoeren van het sorteren.
Figuur 1 geeft een voorbeeld van een ingangsbestand.
Figuur 2 geeft de daaruit gevormde deelbestanden.
15 Figuur 3 geeft het resterende ingangsbestand na de vorming van het eerste deelbestand.
Figuur 4 geeft het resterende ingangsbestand van de vorming van het tweede deelbestand.
Figuur 5 geeft het gevormde uitgangsbestand.
20 Figuren 6a, 6b geven stroomdiagrammen voor het uitvoeren van de sorteerbewerking volgens de uitvinding, en figuur 6c daarbij een formule.
Figuur 7 geeft schematisch een inrichting voor het uitvoeren van de sorteerbewerking.
25 FENOMENOLOGISCHE BESCHRIJVING VAN DE GEVOLGDE WERKWIJZE:
Figuur 1 geeft een beeld van 31 objekten die gesorteerd moeten worden. Horizontaal is afgezet het rangnummer (0...30). Vertikaal is afgezet de waarde van de parameter waarnaar gesorteerd moet worden.
30 De sortering opereert op een ééndimensionale parameter, maar op zich kunnen de objekten meerdere verschillende parameters bezitten. Een objekt kan een administratief gegeven zijn, bijvoorbeeld een mutatie van een bankrekening (die bijvoorbeeld gesorteerd moet worden naar het nummer van de bankrekening). Het kan bijvoorbeeld een meetgegeven zijn, 35 terwijl de meetgegevens naar één of andere parameter gesorteerd moeten worden. In figuur 1 is elk objekt voorgesteld door een cirkeltje. De objekten zijn in denkbeeldige ketens verdeeld. De ketens ^ **
• - / · - J
S -J* PHN 11.605 4 kunnen volgens verschillende kriteria zijn opgesteld. In de figuur zijn er "stijgende" ketens en “dalende" ketens. De parameterwaarden van een "stijgende" keten vormen een "monotoori-niet-dalende rij". De parameterwaarden van een “dalende" keten vormen een "monotoon-niet-stijgende 5 rij". Op zichzelf zijn andere algorithmes denkbaar om de objekten in ketens te verdelen. Zo ontstaat een andere verdeling als het vormen van de ketens van rechts naar links plaats vindt. Het is ook mogelijk dat een keten afbreekt na de laatste van een aantal objekten met dezelfde parameterwaarde. (Als er geen objekten optreden met dezelfde parameter-10 waarde treedt dit laatste geval niet op.) Het vormen van genoemde ketens gebeurt in een eerste deelprocedure, de ketenvormingsfase. Aan het eind van de ketenvormingsfase is van elke keten bekend welk objekt het uiteinde van de respektievelijke keten vormt aan de kant van de laagste parameter. Dit is het zogenoemde selektie-objekt dat na de uiteindelijke 15 sortering, van de objekten van de keten in kwestie als het eerste objekt in het uitgangsbestand zal fungeren. In dit geval zijn de selektie-objekten a(0), a{7), a(8), a(13), a(15), a(16), a(23), a(24), a(26), a(29). De lengte van de ketens is bepaald door de eigenschappen van de objekten. In het geval de waarde van de parameter aan een toevallige 20 kansverdeling voldoet ten opzichte van de parameterwaarde van het vorige objekt, is de gemiddelde lengte ongeveer 3. In veel gevallen zal deze iets groter zijn, en in sommige gevallen aanzienlijk groter. Na de ketenvormingsfase is dus van alle ketens bekend 1) het selektie-objekt, 2) het aantal objekten in de keten (= lengte).
25 Vervolgens worden tijdens de inspektieprocedure een aan tal k kleinste selektie-objekten bepaald. Dit aantal wordt bepaald door de geaggregeerde lengtes van de bijbehorende, in een direkte sorteergang in rekening te brengen, ketens, omdat deze geaggregeerde lengte de kapaciteit van de direkt-sorteermachine L niet te boven mag gaan. Bij 30 gemiddeld langere ketens zal dus dit aantal kleiner zijn. Op zichzelf kan het bepalen van deze k kleinste selektie-objekten gebeuren met een machine als beschreven in het geciteerde artikel door Armstrong et al., omdat het aantal selektie-objekten veelal aanzienlijk kleiner is dan het totaal aantal objekten. Anderzijds kan dit bepalen gebeuren met andere 35 mechanismen.
In het uitvoeringsvoorbeeld heeft de direkt-sorteer-machine een kapaciteit van L=15 objekten. Deze grootheid wordt gekozen O ; j i Λ V Ö
‘W? ij y xj O
ί· .. % ΡΗΝ 11.605 5 aan de hand van de applicatie. Dan worden voor een eerste te vormen deelbestand alleen de objekten van de ketens met de laagste selektie-objekten in aanmerking genomen, van welke ketens de geaggregeerde lengte de grootheid L niet overschrijdt. Daarbij geldt nog als tweede kriterium 5 dat van dié ketens alleen de objekten in aanmerking genomen worden die ten minste "niet hoger* zijn dan het laagste, niet in aanmerking genomen selektie-objekt. In dit voorbeeld zijn dit dus de ketens met de selektie-objekten a(23), a(7), a(15), a{0). De geaggregeerde lengte van deze vier ketens is 5+5+2+3=15. Het hier laatstgenoemde kriterium "niet hoger" kan 10 weer vervangen worden door het kriterium "lager". Het naasthogere selektie-objekt is a(26). Voor het eerste deelbestand komen dus alle objekten van de desbetreffende ketens op, of beneden de streepjeslijn in aanmerking: in volgorde a(0), a(1), a(4), a(5), a(6), a(7), a(15), a(21), a(22}, a(23), totaal tien stuks. Dit eerste deelbestand is in 15 figuur 2 links aangegeven, en kan altijd door de direkt-sorteermachine met kapaciteit L gesorteerd worden.
Figuur 3 geeft het resterende ingangsbestand na de vorming van het eerste deelbestand, waarin de ketenvormingsfase opnieuw is doorlopen. De figuur is daarbij nog afgesneden bij ordinaat=6. De 20 tweede ketenvormingsfase kan in feite op dezelfde manier worden uitgevoerd als de eerste ketenvormingsfase, met dien verstande, dat alle objekten met een parameterwaarde van 6 of minder, als deelbestand naar de direkt-sorteermachine worden overgevoerd. Voor deze ketenvormingsfase worden ze dan niet verder beschouwd.
25 Vervolgens wordt de inspektieprocedure herhaald en daar bij blijken de selektie-objekten a(3), a(8), a(16), a(17), a(24) en a(26) de laagste te zijn waarbij de geaggregeerde lengte in de direkt-sorteermachine zou passen. Het naasthogere selektie-objekt is a(29).
Voor het tweede deelbestand gelden dus de objekten die een parameter-30 waarde hebben ten minste gelijk aan die van objekt a(26), maar niet hoger dan die van objekt a(29). Dit zijn dus achtereenvolgens de objekten a(2), a(3), a(8), a(9j, a(16), a(17), a(19), a(20), a(24), a(25), a(26), in totaal elf stuks. Dit deelbestand is in figuur 1 aangegeven binnen de tweede rechthoek (binnen elk deelbestand is de volg-35 orde die van de nummering van figuur 1). In figuur 3 is de afsnijdrempel weer door een onderbroken lijn aangegeven. Op deze onderbroken lijn ligt nu zowel een objekt dat tot het tweede deelbestand behoort als één λ Λ ^ λ
v ‘ H
-** V ·· - -·« ΡΗΝ 11.605 6 * ΐ dat tot het derde deelbestand hoort.
Figuur 4 geeft het resterende ingangsbestand na de vorming van het tweede deelbestand en de bijbehorende ketenvormingsfase; daarbij is de figuur afgesneden op een parameterwaarde van 12 : a(29).
5 Het totaal aantal resterende objekten is tien. Daardoor kunnen de resterende ketens met selektie-objekten-a(13), a(14), a(29) alle aan de direkt-sorteermachine worden aangeboden. Figuur 2 geeft de drie deelbestanden. Figuur 5 geeft de drie deelbestanden, gekonkateneerd na separate sortering, met de bekende sorteerinrichting of op andere 10 wijze. Door de gevallen waarin objekten met gelijke parameterwaarden optreden, is deze sortering niet eenduidig en hangt de uiteindelijke volgorde af van het gekozen algorithme. Deze volgorde geeft echter steeds een monotoon verloop der parameterwaarden.
Het algorithme als beschreven kan worden aangepast aan 15 respektievelijke mogelijkheden. Het uitzoeken van de laagste selektie-objekten is op zichzelf een sorteerproces. Dit kan dus gebeuren met de sorteermachine met beperkte kapaciteit die in het geciteerde artikel is beschreven. Als het totaal aantal selektie-objekten te groot is, kunnen deze selektie-objekten als objekten worden beschouwd. Dan worden van 20 deze selektie-objekten ketens gevormd, en wordt uit deze ketens één enkele deelverzameling geselekteerd, op dezelfde manier als hierboven beschreven voor de oorspronkelijke objekten.
EXAKTE FORMULERING VAN EEN VOORBEELDPROCEDURE: 25 Figuur 6a, 6b geven stroomdiagrammen voor het uitvoeren van de sorteerbewerking volgens de uitvinding.
Figuur 6a betreft het bepalen van de noodzakelijke hulp- grootheden voor het vullen van de sorteermachine. In blok 50 vindt de initiëring van het systeem plaats, terugstellen van tellers en 30 registers, assigneren van benodigde geheugenruimte. Verder worden enkele \ variabelen gedeklareerd. De selektie-objekten of minima der opeenvolgende ketens worden genummerd: min(i) is het selektie-objekt van keten (i); de lengte van deze keten (in aantal objekten) is -s(i)-; in de i-de stap van het algorithme worden de grootheden van de (i+1)-e keten als nieuwe 35 gegevens in aanmerking genomen. Bij het in aanmerking nemen van keten (o) wordt L(o) gelijk gemaakt aan -s(o)-, L(i) is de geaggregeerde lengte (som der lengten in aantallen objekten) van de reeds in het be- ^ <r\ * . * PHN 11.605 7 treffende, te vormen, deelbestand opgenomen ketens. Deze opname is voorlopig en kan worden herroepen. De grootheid Min(o) wordt oneindig, dit is de parameterwaarde van het kleinste verworpen selektie-element, waarvan dus op dat moment bekend is dat de bijbehorende keten zeker geen 5 objekt voor het betreffende deelbestand zal kunnen leveren. De grootheid Max(o) wordt gelijk aan minio). Max(i) is de parameterwaarde van het grootste geaccepteerde selektie-element, dus het grootste van welks keten volgens de dan ter beschikking staande gegevens enig objekt deel van het deelbestand zal kunnen vormen. De grootheid m(o) wordt gelijk 10 gesteld aan 1. Dit is de multipliciteit van Min(o); dus het aantal selektie-objekten met dezelfde parameterwaarde Min(o).
De procedure bevat de nu de volgende onderdelen: 1. De ketens worden gevormd; dit wordt besproken aan de hand van figuur 6b.
15 2. Daarbij wordt per keten steeds het selektie-objekt van de keten bijgehouden, alsmede het aantal objekten waaruit de keten bestaat. Eventueel kunnen te lange ketens gebroken worden door definitie van additionele selektie-objekten, bijvoorbeeld als tijdens het vormen de lengte van een keten een vaste waarde overschrijdt. Het blijkt 20 namelijk dat te lange ketens veelal ongunstig zijn omdat daarvan vaak de objekten over vele verschillende deelbestanden worden verdeeld en in feite de capaciteit van de sorteermachine zeer gedeeltelijk wordt benut.
3. Vervolgens wordt bepaald de hoogste parameterwaarde van de voor het 25 aktueel te vormen deelbestand toelaatbare selektie-objekten, en tevens de minimale parameterwaarde van de daarvoor niet toelaatbare selektie-objekten als volgt. Initiëel wordt deze laatste waarde op oneindig gesteld. In blok 52 wordt gedetekteerd of er een nog volgend selektie-objekt van een keten bestaat. Zo ja, dan wordt het 30 betreffende selektie-objekt opgehaald (blok 54), en de grootheid min(i+1) krijgt daarvan de parameterwaarde; de grootheid s(i+1) wordt de lengte van de desbetreffende keten. In blok 56 wordt gedetekteerd of de desbetreffende parameterwaarde klein genoeg is.
Als dat niet zo is (N) wordt in blok 58 Min(i+1) geassigneerd: het 35 kleinste verworpen objekt blijft hetzelfde. Als min(i+1) = Min(i), dan wordt de multipliciteit van het laagste verworpen selektie-objekt met 1 gelncrementeerd. Hierna gaat het systeem terug naar *. > a ' ,λ f* -1 ·} 'J ' -- y PHN 11.605 8 blok 52. Als in blok 52 de uitkomst ontkennend is (N), stopt de procedure van Figuur 4a en gaat het systeem over (blok 60) tot het vullen van eerder genoemde direkt-soorteermachine met behulp van de vigerende waarden van de grootheden Min, Max, L en m.
5 Als in blok 56 de uitkomst bevestigend is (Y), gaat het systeem naar blok 62: het inkomend selektie-objekt heeft een parameter-waarde, die kleiner is dan die van het laagste verworpen selektie-objekt. Er wordt nu gedetekteerd of de som van de lengten van de ketens welke behoren bij de geaccepteerde selektie-objekten, vermeerderd met de 10 ketenlengte welke behoort bij het nieuw-beschouwd selektie-objekt, in de sorteermachine past, dus niet groter is dan L (in feite is L veelal één groter dan de inwendige opslagcapaciteit van de sorteermachine, maar dat is geen essentieel punt). Als de uitkomst bevestigend is (Y) gaat het systeem naar blok 64. Daarin wordt het nieuw-beschouwde 15 selektie-objekt geaccepteerd en met de (eventuele) reeds eerder geaccepteerde selektie-objekten gesorteerd (SOR). De definitie van dit sorteren luidt: produceer een lijst die bestaat uit de elementen van de bestaande lijst en sorteer deze met het nieuw geaccepteerde selektie-objekt min(i+1) zodanig dat het grootste selektie-objekt voorop komt te staan 20 en elk volgend selektie-objekt niet groter is dan het voorgaand selektie-objekt. Het eerste selektie-objekt van deze lijst Max(i+1) wordt nu max (Max(i), min(i+1)}, en als min(i+1) < Max(i) blijft het eerste selektie-objekt van deze lijst onveranderd. Het minimum van de verworpen selektie-objekten blijft hetzelfde. De geaggregeerde lengte van de ketens wordt 25 bijgewerkt. Daarna gaat het systeem terug naar blok 52.
Als in blok 62 de uitkomst ontkennend is (N) dan zou het zonder meer accepteren van de nieuwe keten leiden tot een overstroom-konditie voor de sorteermachine. Daarom wordt in blok 66 gedetekteerd of het nieuw-beschouwde selektie-objekt tenminste gelijk is aan het maximum 30 van de geaccepteerde selektie-objekten. Als de uitkomst bevestigend is, (Y) gaat het systeem naar blok 68. Dan wordt het minimum van de verworpen selektie-objekten gelijk aan het nieuw-beschouwde selektie-objekt, en wel met multipliciteit 1. Het maximum van de geaccepteerde selektie-objekt blijft onveranderd. De geaggregeerde ketenlengte behorende bij de 35 geaccepteerde selektie-objekten blijft onveranderd. Daarna gaat het systeem terug naar blok 52.
Als in blok 66 de uitkomst ontkennend luidt (N), dan gaat 3 O ^ ;Λ. Λ. —
0 <1# v .·. 'J
PHN 11.605 9 het systeem naar· blok 70. Daar wordt allereerst de operatie "sorteer" uitgevoerd die eerder al besproken werd bij blok 64.
Vervolgens wordt de operatie "elimineer" (ELIM) uitgevoerd, hetgeen noodzakelijk is omdat de geaggregeerde lengte der ketens 5 dan zeker niet in de direkt-sorteermachine past. De definitie van deze operatie "elimineer" luidt: produceer uit de bestaande lijst (gevormd in operatie "sorteer") een nieuwe lijst door steeds het maximale selektie-objekt van de lijst weg te laten tot de geaggregeerde lengte der overblijvende ketens in de direkt-sorteermachine past. Als deze eliminatie 10 succes heeft wordt het maximum van de geaccepteerde selektie-objekten gelijk aan het overblijvende maximale selektie-objekt van de lijst na de eliminatie. Bet minimale selektie-objekt van de verworpen selektie-objekten wordt nu het selektie-objekt dat uit de lijst is geëlimineerd. De multipliciteit van het verworpen selektie-objekt wordt nu 15 gelijk aan de multipliciteit van het minimale geëlimineerde selektie-objekt (dit is ten hoogste gelijk aan het totaal aantal geëlimineerde selektie-objekten, maar minder kan ook). De geaggregeerde lengte wordt nu gelijk aan die van de niet-geëlimineerde ketens. Daarna gaat het systeem wederom naar blok 52.
20 De algemene procedure is voor het vullen van de direkt- sorteermachine is nu: detekteer of de geaggregeerde lengten van de ketens die behoren bij de geaccepteerde selektie-objekten vermeerderd met de multipliciteit van het kleinste verworpen selektie-objekt niet hoger is dan de kapaciteit van de sorteermachine, en dan worden alle 25 selektie-objekten die niet groter zijn dan het kleinste verworpen selektie-objekt aan de sorteermachine toegevoerd, waartoe de capaciteit daarvan voldoende is. Het is gebleken dat dit afsnijcriterium gunstiger is dan een ander, eveneens toepasbaar, dat het maximum van de geaccepteerde selektie-objekten als kriterium neemt. Dit voordeel is uit 30 rekenmachinesimulaties te evalueren. Als bij de nu gehanteerde strategie de berekende som groter is dan de kapaciteit, dan wordt het afsnij-kriterium (=grens): alle selektie-objekten, kleiner dan het kleinste verworpen selektie-objekt worden aan de sorteermachine toegevoerd. Dit overschrijden kan betrekkelijk zelden optreden, namelijk alleen als de 35 geaggregeerde lengte van de ketens behorende bij de geaccepteerde selektie-objekten =L en de multipliciteit van het kleinste verworpen selektie-objekt =2 of meer, als die geaggregeerde lengte = 1-1 en de *» - * * ' ** , j
J- -V
PHN 11.605 10 multipliciteit is minstens 3, evenzoorts. En zelfs, als deze laatste voorwaarde geldt, behoeft de capaciteit van de sorteermachine nog niet steeds te kort te schieten. Er wordt nog op gewezen dat er geen selektie-objekt ligt tussen het grootste geaccepteerde selektie-objekt en het 5 kleinste verworpen selektie-objekt. Er kunnen wèl andere objekten liggen tussen het grootste geaccepteerde minimum en het kleinste verworpen minimum. Met het bovenstaande werden hulpgrootheden voor het vullen van de direkti-sorteermachine bepaald.
10 HET BEPALEN VAN DE SELEKTIE-OBJEKTEN EN BIJBEHORENDE KETENLENGTEN:
In figuur 6b is gegeven een stroomdiagram voor het bepalen van de selektie-objekten en bijbehorende ketenlengten. In feite gaat deze procedure vooraf aan die van figuur 6a. In figuur 6b is blok 80 het startblok. Daarin wordt het eerste element a(0) opgehaald. Daarin wordt 15 de lengte van de aktuele keten op 1 gesteld: s(0)=1. Voorts wordt een grootheid f(o) geassigneerd die stijgende of dalende zin van de aktuele keten aangeeft. Na het eerste element van de aktuele keten is dit in elk geval nog onbekend. Het wordt pas bekend als er twee objekten met verschillende parameterwaarden van de keten gevonden zijn. De ketenlengte 20 s(j) wordt steeds toegekend aan het laatstgevonden selektie-objekt, met name in de blokken 82, 92. Het selektie-objekt is in het geval van een stijgende keten dus het eerste objekt, in het geval van een dalende keten juist het laatste objekt. De vlag f(j) heeft de waarde f=0 bij een dalende keten en f=1 bij een stijgende keten. Als een gehele keten ge-25 vonden is, wordt f(j+1) voor de eerstvolgende keten weer op de stand “onbepaald" gesteld. Bij het beschouwen van een nieuw objekt wordt de waarde van j geinkrementeerd. Daarbij worden na verwerking de grootheden s(j) en f(j) verwaarloosd en vervangen door nieuwe grootheden s(j+1), respektievelijk f(j+1).
30 In blok 82 van figuur 6b wordt gedetekteerd of de ver zameling een eerstvolgend objekt bezit (NXT?). Als de uitkomst ontkennend is (N), wordt in blok 104 de ketenlengte siz op zijn aktuele waarde gefixeerd. Als de keten dalend is of horizontaal, wordt het aktuele objekt ook het selektie-objekt. In het andere geval blijft het eerste 35 objekt ook het selektie-objekt. Als dit gedaan is, gaat het systeem naar blok 50 in figuur 6a. Er wordt op gewezen dat de lengte van een keten altijd pas aan het einde bekend is, als deze óf op natuurlijke wijze 5 fΓ> n O 3 V \.· v 'J ‘J “* w
-V
PHN 11.605 11 eindigt (het eerstvolgend objekt heeft een parameterwaarde die strijdig is met de stijgings/dalingszin van de aktuele keten) ofwel afbreekt doordat de ketenlengte te groot is geworden.
Als in blok 82 de uitkomst bevestigend luidt wordt in 5 blok 86 het eerstvolgende objekt uit de verzameling opgehaald, en wordt in blok 88 gedetekteerd of van de vlag f(j) de waarde "onbepaald" is.
Als de uitkomst bevestigend is (X) wordt in blok 96 gedetekteerd of de lengte van de aktuele keten s(j) ten minste gelijk is aan een bepaalde fraktie 8 van de capaciteit van de direkt-sorteermachine. De waarde van 10 β is van te voren vast ingesteld, bijvoorbeeld β = 1/2. Daardoor worden te lange ketens gebroken; als s(j) > L, zou zelfs de desbetreffende enkele keten niet in de direkt-sorteermachine passen. Als in blok 96 de uitkomst bevestigend luidt, wordt in blok 98 het selektie-objekt van de aktuele keten gelijk aan a(j) gemaakt en de ketenlengte gefixeerd op de 15 aktuele waarde s(j). De ketenlengte van de naastvolgende keten krijgt de waarde 1 (net als in blok 80); tenslotte wordt de vlag f(j+1) voor de naastvolgende keten op de stand "onbepaald" gesteld. Daarna gaat het systeem terug naar blok 82. Als in blok 96 de uitkomst ontkennend luidt (N) gaat het systeem naar blok 100, waarin de ketenlengte wordt geln-20 krementeerd. Dan gaat het systeem naar blok 102, waarin de relatie tussen het nieuwe objekt a(j+1) en het voorgaande objekt a(j) wordt onderzocht. Als het nieuwe objekt gelijk is aan het oude, is de waarde van de vlag f(j+1) gelijk aan de waarde van de vlag f(j): onbepaald (blok 108). Als het nieuwe objekt kleiner is dan het oude wordt in blok 25 106 de vlag f(j+1)=0: de keten is dan dalend. Als het nieuwe objekt groter is dan het oude wordt in blok 110 de vlag f(j+1)=1. De keten wordt stijgend. Bovendien wordt in blok 110 het selektie-objekt van de aktuele keten min=a(j). Na het doorlopen van één der blokken 104, 106, 108 gaat het systeem terug naar blok 82 om (zo mogelijk) een nieuw 30 objekt op te halen.
Als in blok 88 de vlag f(j) reeds bepaald was op 0 of 1, (uitgang N) dan gaat het systeem naar blok 90. Daar worden de kondities getest die bij Figuur 6c zijn aangegeven. Deze kondities vormen eikaars alternatief. Als konditie (1) geldig is, gaat het systeem naar blok 92.
35 De eerste regel van konditie (1) betekent dat een stijgende keten gevolgd wordt door een lager objekt. De tweede regel betekent dat een dalende keten gevolgd wordt door een hoger objekt. De derde regel bete- - : ' ·η Λ a v .· j .· » v + ν· \ ΡΗΝ 11.605 12 kent dat de ketenlengte de toelaatbare grens overstijgt. In al deze drie gevallen moet de keten worden afgebroken en een nieuwe keten aangemaakt. Dit betekent dat dezelfde operaties worden uitgevoerd als in blok 98. Als f(j)=1 (stijgende keten) blijft echter het selektie-objekt onge-5 wijzigd het eerste objekt van de aktuele keten.
Als in blok 90 de konditie (2) geldig is (dus de konditie (1) ongeldig), gaat het systeem naar blok 94. De eerste regel van konditie (2) betekent dat een dalende keten wordt voortgezet met een objekt waarvan de parameterwaarde hoogstens gelijk is aan die van zijn voor-10 ganger. De tweede regel van konditie (-2) betekent dat een stijgende keten wordt voortgezet met een objekt waarvan de parameterwaarde minstens gelijk is aan die van zijn voorganger. Een van deze twee regels moet dan nog gekombineerd worden met de voorwaarde dat de ketenlengte de toelaatbare grens niet overstijgt. Als aan deze voorwaarde (2) voldaan 15 is, behoeft de keten niet te worden afgebroken, en gaat het systeem naar blok 94. Daarin wordt de ketenlengte geinkrementeerd s(j+1)=s(j)+1, en blijft de waarde van de vlag f(j) behouden. Daarna gaat het systeem terug naar blok 82 en zijn figuren 6a, 6b, 6c beschreven.
20 BESCHRIJVING VAN EEN INRICHTING VOLGENS DE UITVINDING:
Figuur 7 geeft een blokschema van een inrichting volgens de uitvinding. Het ingangsbestand is opgeslagen op een seriëel geheugen 20, bijvoorbeeld een magnetisch schijfgeheugen. Dit kommuniceert via lijn 22 met processor 24. Processor 24 kommuniceert met geheugen 32 25 (RAM) via adreslijn 30 en datalijn 28 middels (onder andere) data- register 26. Processor, seriëel geheugen 20, en geheugen 32 kunnen van gebruikelijke konstruktie zijn en behoeven daarom slechts summiere uitleg. Bij de ketenvormingsprocedure worden opvolgende objekten niet-destruktief uitgelezen. Daarna zijn voor alle ketens de noodzakelijke 30 grootheden bekend. In de inspektieprocedure vindt een tweede seriële aftasting plaats van de objekten. Daarna zijn bekend het minimale verworpen selektie-objekt, en verder is zeker waar, dat het aantal objekten met parameterwaarde kleiner dan of gelijk aan die van dit kleinste verworpen selektie-objekt past binnen de kapaciteit van de direkt-sorteer-35 machine 36. Dit laatste aantal objekten wordt aan de direkt-sorteer-machine 36 toegevoerd, hetgeen gekombineerd kan worden met de volgende ketenvormingsfase. Het uitgangsresultaat van de direkt-sorteeroperatie üi; j 'J 'J ·'- v PHN 11.605 13 in inrichting 36 kan weer in geheugen 20 worden opgeslagen. Het verke-tenen der deelbestanden is een seriële operatie en behoeft dus geen verdere verwerkingskapaciteit. Uiteraard kan bij het seriëel uitlezen ook een seriële hergroepering van de informatie plaats vinden op het 5 seriëel geheugen. Het lezen en terugschrijven kan op bekende manier gebeuren.
* " · ' ) 3
w ‘y U

Claims (4)

1. Werkwijze voor het sorteren van objekten die elk voorzien zijn van een parameter, volgens de waarde van deze parameter, en welke objekten achtereenvolgens worden aangeboden in een ingangsbestand, welke sortering plaats vindt door aanbieden van de objekten aan een direkt-5 sorteermachine die plaatsbiedt aan een deelbestand van ten hoogste een voorafbepaald aantal objekten, met het kenmerk, dat de werkwijze de volgende stappen bevat: a) in een ketenvormingsfase het vergelijken van de parameterwaarde van een objekt met de parameterwaarde van het voorgaande objekt om een 10 keten objekten met monotoon verlopende parameterwaarden te vormen en om in geval van zo een monotoon verlopende keten telkens te onthouden het aantal objekten van de keten, en de parameterwaarde van het selektie-objekt van de keten, dat is daarvan dat objekt dat binnen een te vormen uitgangsbestand als eerste objekt van de objekten van 15 de betreffende keten zal fungeren, en aldus het ingangsbestand te verdelen in een aantal ketens; b) in een inspektiefase selekteren van een aantal (k) parameterwaarden van selektie-objekten die in een uitgangsbestand als k eerste objekten van de aktuele selektie-objekten kunnen fungeren, zodanig 20 dat de kapaciteit van de direkt-sorteermachine voldoende groot is voor de objekten van de bij deze k selektie-objekten behorende ketens, alsmede het selekteren van het naastvolgende, (k+1)e selektie-objekt; c) het vormen van een deelbestand dat bestaat uit de objekten die 25 op basis van hun parameterwaarde in het uitgangsbestand niet later dan genoemd (k+1)e selektie-objekt behoeven te fungeren; d) het sorteren van genoemd deelbestand; e) het op overeenkomstige manier vormen en sorteren van volgende deelbestanden; en 30 f) het verketenen van de aldus gevormde deelbestanden.
2. Werkwijze volgens conclusie 1, met het kenmerk, dat na een eerste inspektiefase, een volgende ketenvormingsfase telkens tegelijk wordt uitgevoerd met het vormen van een deelbestand op basis van een direkt voorafgaande inspektiefase.
3. Werkwijze volgens conclusie 1, met het kenmerk, dat het vormen van een keten wordt beëindigd bij het bereiken van een ketenlengte die een vaste fraktie is van de kapaciteit der direkt-sorteer- •O ? λ A O n O 'J U v U L 4 Λ BHN 11.605 15 machine.
4. Inrichting voor het uitvoeren van de werkwijze volgens conclusie 3, bevattende een seriëel geheugen (20) voor het opslaan van de objekten, een processor (24) met bijbehorend geheugen (32) voor tijde-5 lijke opslag van tussengegevens, en een direkt-sorteermachine met kapaci-teit voor L objekten, met het kenmerk, dat de processor een eerste stand heeft voor het besturen van een ketenvormige fase, een tweede stand heeft voor het besturen van een inspektiefase, een derde stand voor het besturen van een verdere ketenvormings- annex deelbestandsvormingfase, 10 en. een vierde stand voor het besturen van een verketingsfase op basis van uitgangsresultaten van de direkt-sorteermachine. ft Λ s'\ · <: v v -/ .· -> V
NL8600028A 1986-01-09 1986-01-09 Werkwijze en inrichting voor het sorteren van objekten die voorzien zijn van een parameter, volgens de waarde van deze parameter. NL8600028A (nl)

Priority Applications (4)

Application Number Priority Date Filing Date Title
NL8600028A NL8600028A (nl) 1986-01-09 1986-01-09 Werkwijze en inrichting voor het sorteren van objekten die voorzien zijn van een parameter, volgens de waarde van deze parameter.
EP86202349A EP0231552A1 (en) 1986-01-09 1986-12-22 A method and device for sorting objects provided with a parameter, according to the value of this parameter
JP62000249A JP2602502B2 (ja) 1986-01-09 1987-01-06 パラメータを備える対象をそのパラメーの値に従つて分類する方法と装置
US07/001,307 US4862356A (en) 1986-01-09 1987-01-08 Method and device for sorting objects provided with a parameter, according to the value of this parameter

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL8600028A NL8600028A (nl) 1986-01-09 1986-01-09 Werkwijze en inrichting voor het sorteren van objekten die voorzien zijn van een parameter, volgens de waarde van deze parameter.
NL8600028 1986-01-09

Publications (1)

Publication Number Publication Date
NL8600028A true NL8600028A (nl) 1987-08-03

Family

ID=19847392

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8600028A NL8600028A (nl) 1986-01-09 1986-01-09 Werkwijze en inrichting voor het sorteren van objekten die voorzien zijn van een parameter, volgens de waarde van deze parameter.

Country Status (4)

Country Link
US (1) US4862356A (nl)
EP (1) EP0231552A1 (nl)
JP (1) JP2602502B2 (nl)
NL (1) NL8600028A (nl)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179699A (en) * 1989-01-13 1993-01-12 International Business Machines Corporation Partitioning of sorted lists for multiprocessors sort and merge
US5329609A (en) * 1990-07-31 1994-07-12 Fujitsu Limited Recognition apparatus with function of displaying plural recognition candidates
US5396630A (en) * 1992-10-06 1995-03-07 International Business Machines Corporation Method and system for object management across process boundries in a data processing system
US5630123A (en) * 1994-09-28 1997-05-13 I2 Technologies, Inc. Software system utilizing a filtered priority queue and method of operation
TW283220B (nl) * 1994-09-28 1996-08-11 I2 Technologies Inc
US6188989B1 (en) * 1995-06-16 2001-02-13 I2 Technologies, Inc. System and method for managing available to promised product (ATP)
US7085729B1 (en) 1995-06-16 2006-08-01 I2 Technologies Us, Inc. System and method for allocating manufactured products to sellers
US5764543A (en) * 1995-06-16 1998-06-09 I2 Technologies, Inc. Extensible model network representation system for process planning
US5832532A (en) * 1995-06-16 1998-11-03 I2 Technologies, Inc. Model-independent and interactive report generation system and method of operation
US5845258A (en) * 1995-06-16 1998-12-01 I2 Technologies, Inc. Strategy driven planning system and method of operation
US6963847B1 (en) 1998-09-18 2005-11-08 I2 Technologies Us, Inc. System and method for managing ATP data in a distributed supply chain planning environment
US7039602B1 (en) 1999-06-14 2006-05-02 I2 Technologies Us, Inc. Configuring products with default sections determined according to optimization functions
US7249044B2 (en) 2000-10-05 2007-07-24 I2 Technologies Us, Inc. Fulfillment management system for managing ATP data in a distributed supply chain environment
US7065499B1 (en) 2001-03-19 2006-06-20 I2 Technologies Us, Inc. Intelligent order promising
US7043444B2 (en) 2001-04-13 2006-05-09 I2 Technologies Us, Inc. Synchronization of planning information in a high availability planning and scheduling architecture
US7024371B2 (en) 2001-04-13 2006-04-04 I2 Technologies Us, Inc. High availability planning and scheduling architecture
US20050001872A1 (en) * 2003-07-02 2005-01-06 Ahne Adam Jude Method for filtering objects to be separated from a media

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2983904A (en) * 1957-10-04 1961-05-09 Bell Telephone Labor Inc Sorting method and apparatus
US3662402A (en) * 1970-12-04 1972-05-09 Honeywell Inf Systems Data sort method utilizing finite difference tables
US4210961B1 (en) * 1971-10-08 1996-10-01 Syncsort Inc Sorting system
US4410960A (en) * 1980-02-05 1983-10-18 Nippon Electric Co., Ltd. Sorting circuit for three or more inputs
US4499555A (en) * 1982-05-06 1985-02-12 At&T Bell Laboratories Sorting technique
US4575798A (en) * 1983-06-03 1986-03-11 International Business Machines Corporation External sorting using key value distribution and range formation
DE3322706A1 (de) * 1983-06-24 1985-01-10 Fa. Carl Zeiss, 7920 Heidenheim Schaltungsanordnung zur schnellen rangordnungsauswahl oder -sortierung

Also Published As

Publication number Publication date
US4862356A (en) 1989-08-29
JP2602502B2 (ja) 1997-04-23
JPS62160533A (ja) 1987-07-16
EP0231552A1 (en) 1987-08-12

Similar Documents

Publication Publication Date Title
NL8600028A (nl) Werkwijze en inrichting voor het sorteren van objekten die voorzien zijn van een parameter, volgens de waarde van deze parameter.
US5487164A (en) Distribution-based replacement selection sorting system
US8316022B2 (en) Information processing apparatus and information processing method
US20120254199A1 (en) Merge optimization system
US20090028441A1 (en) Method for determining near duplicate data objects
US11074242B2 (en) Bulk data insertion in analytical databases
CN1016835B (zh) 用于检索的方法和装置
EP3016753B1 (fr) Procédé pour trier des objets postaux au casier avec affichage d&#39;une pile virtuelle d&#39;images d&#39;objet
CN113590606B (zh) 一种基于布隆过滤器的大数据量密钥去重方法及***
US7584173B2 (en) Edit distance string search
CN108509505A (zh) 一种基于分区双数组Trie的字符串检索方法及装置
JP5456776B2 (ja) データ分析で複数の対象物を分類する方法
US6442561B1 (en) Method of constructing binary decision trees with reduced memory access
CN109408640B (zh) 日志分类方法、装置及存储介质
US9666007B2 (en) Method and apparatus for handling value documents
CN109947933B (zh) 用于对日志进行分类的方法及装置
US8438536B2 (en) Encoding switch on ordered universes with binary decision diagrams
CN113887674A (zh) 一种基于大数据的异常行为检测的方法与***
CN113535952A (zh) 一种基于人工智能的智能匹配数据处理方法
US5806064A (en) Method for multi-field ordering of data base records with sequence variables
CN112365333A (zh) 实时动态流量分配方法、***、电子设备及存储介质
JPH0484366A (ja) 文書種別判別装置
FR2873469A1 (fr) Procede pour la detection de filantes.
JP2021121892A (ja) ナンバープレート認識装置、ナンバープレート認識方法及びナンバープレート認識プログラム
JPH08221254A (ja) マージソート方法及びマージソート装置

Legal Events

Date Code Title Description
A1B A search report has been drawn up
BV The patent application has lapsed