Aktivitet 8 Beat the Clock Sorteringsnetværk Resumé Selvom computer er hurtige, er der en grænse for, hvor hurtigt de kan løse et problem. En måde at speed e det op på er at bruge flere computere til at løse forskellige dele af problemet. I denne aktivitet bruger vi sorteringsnetværk, som foretager flere sorteringssammenligninger på samme tid. Curriculum Links Matematik:. Udforskning af tal: Større end, mindre end. Kompetencer Sammenligning Sortering Udvikling af algoritmer Kollaborativ problemløsning Alder 7 år og op Materialer Dette er en udendørs gruppeaktivitet. Kridt 1 sæt á 6 talkort pr. gruppe. Kopiér kopimasteren Sorting Networks (side 73) på et stykke papir eller pap og klip ud. Stopur
Sorteringsnetværk Før aktiviteten: Tegn dette netværk op med kridt Instruktioner til eleverne: Denne aktivitet vil vise jer, hvordan computer sorterer tilfældige tal i den rigtige rækkefølge ved at bruge noget, der hedder sorteringsnetværk. 1. Organisér jer i grupper på seks personer. Kun 1 team bruger netværket af gangen. 2. Hvert teammedlem tager et nummereret kort 3. Hvert teammedlem stiller sig i en firkant i starten af netværksbanen. Jeres numre skal være i en vilkårlig rækkefølge. 4. Bevæg jer langs de optegnede linjer. Når I kommer til en cirkel, skal I vente på, at der ankommer en anden. 5. Når et andet teammedlem ankommer, skal I sammenligne jeres kort. Den af jer, der har det mindste nummer, går til venstre, og den, der har det højeste nummer, går til højre. Sådan gør I hele banen igennem. 6. Er I sorteret I den rigtige rækkefølge, når I kommer til enden af banen? Hvis I laver en fejl, må I starte forfra. Tjek, at I har forstået, hvad I skal i cirklerne, hvor den med det laveste tal går til venstre, og den med det højeste tal går til højre. Fx:
Kopimaster: Sorteringsnetværk 1 2 3 4 5 6 156 221 289 314 422 499
Til læreren Variationer 1. Når børnene er fortrolige med aktiviteten, kan I bruge et stopur til at tage tid på, hvor lang tid, hvert hold bruger på at sortere sig. 2. Brug kort med større numre (fx de 3-cifrede tal i kopimasteren) 3. Lav selv kort med endnu større tal, som vil tage noget tid at sammenligne, eller brug ord, og sortér dem i alfabetisk rækkefølge. Udvidede aktiviteter 1. Hvad sker der, hvis de mindste tal går til højre i stedet for venstre og omvendt? (Svar: Numrene bliver sorteret i omvendt rækkefølge) Virker det, hvis netværket bliver brugt bagfra? (Det gør det ikke nødvendigvis, og børnene kan prøve at finde et eksempel på et input, som ikke bliver sorteret korrekt) 2. Prøv at lave mindre og større netværk. Fx er der her et netværk, som kun sorterer 3 tal. Børnene bør prøve at komme frem til dette på egen hånd. 3. Nedenfor ses 2 forskellige netværk, som begge sorterer 4 inputs. Hvilken er den hurtigste? (Svar: Nummer 2. - Hvor det første netværk kræver, at alle tal sorteres en efter en, har det andet netværk tal, som sorteres samtidig). Det første netværk er et eksempel på seriel sortering, hvor det andet bruger parallel sortering for at køre hurtigere). 4. Prøv at lave et større sorteringsnetværk. 5. Netværk kan også bruges til at finde den mindste eller den største værdi i et samling inputs. Fx ses her et netværk med 8 inputs, hvor det endelige output vil være det tal med mindst værdi (de andre er placeret i de blinde kryds. 6. Tal om hvilke processer, som kendes fra daglidagen, kan eller kan ikke blive accelereret ved at bruge parallel sortering? Fx vil madlavning gå meget langsommere, hvis der kun bruges en kogeplade,
fordi de forskellige dele af måltidet så skal laves efter hinanden. Hvilke jobs kan udføres hurtigere ved at ansætte flere folk? Hvilke kan ikke? Hvad går øvelsen ud på? Eftersom vi bruger computere mere og mere, ønsker vi også, at de kan håndtere information så hurtigt som overhovedet muligt. En måde at øge hastigheden på er at skrive programmer, som bruger færre computationelle trin. (som vist i aktivitet 6 og 7) En anden made at løse problemer hurtigere er at have flere computer, som arbejder på forskellige dele af en opgave på samme tid. Fx i det første netværk med seks inputs, hvor der i alt udføres 12 sammenligninger for at sortere inputs ene, og der foretages op til 3 sammenligninger samtidig. Det betyder, at den tid, der er brug for for at løse opgaven, kun svarer til 5 trin. Det parallelle netværk sorterer listen mere end dobbelt så hurtigt som et system, der kun kan udføre éen sammenligning af gangen. Ikke alle opgaver kan løses hurtigere ved at bruge parallel computation. Som en analogi, forestil dig en person, som graver en grøft, der er 10 meter lang. Hvis 10 personer hver gravede 1 meter af grøften på samme tid, ville opgaven blive løst meget hurtigere. Men den samme strategi kan ikke overføres til en grøft, der er 10 meter dyb den anden meter kan ikke graves, før den første meter er gravet. Udviklere prøver stadig aktivt at finde den bedste måde at nedbryde problemer på, så de kan løses af computere, der arbejder parallelt.