Skemalægning med genetiske algoritmer Datalogisk speciale, RUC 2/6/2009 Skrevet af: Flemming R.P. Rasch Vejleder: Henning Christiansen

Størrelse: px
Starte visningen fra side:

Download "Skemalægning med genetiske algoritmer Datalogisk speciale, RUC 2/6/2009 Skrevet af: Flemming R.P. Rasch Vejleder: Henning Christiansen"

Transkript

1 Skemalægning med genetiske algoritmer Datalogisk speciale, RUC 2/6/2009 Skrevet af: Flemming R.P. Rasch Vejleder: Henning Christiansen

2 2 Resume: I dette speciale præsenteres skemalægning som et datalogisk problem. Der gennemgås forskellige løsningsmetoder fra litteraturen, med speciel fokus på genetiske algoritmer. Det demonstreres herefter med et problem taget fra praksis samt til lejligheden fremstillet programmel hvordan skemalægningsproblemer kan løses ved hjælp af genetiske algoritmer. Løsningen diskuteres og sammenlignes med andre løsninger. Building timetables with genetic algorithms Abstract: In this thesis automated timetabling as a computer science field of study is presented. Various methods for solving timetabling problems are shown, with special focus on genetic algorithms. A real timetabling problem is then solved with genetic algorithm software made for this thesis and the solution is evaluated and compared to other solutions.

3 3 Indhold 1 Indledning Skemalægning Genetiske algoritmer Målet med dette speciale Skemalægning Typer af skemalægningsproblemer Skoleskemaer Lektionsplaner Eksamensplaner Andre Skemalægning i folkeskoler/gymnasier Skemaets parametre Karakteristik af skemalægning som datalogisk problem Finde løsninger Optimering Kompleksitet og eksistens af løsning Metoder til automatisk skemalægning Simple heurestikker Tabu search Simulated annealing Constraint logic programming Genetiske algortimer Hollands skemateorem og byggeklodshypotesen Memetiske algoritmer Andre metoder GenetiskSkema - en genetisk algoritme til skemalægning Designovervejelser Genomer og gener Hard constraints Fitness Implementerede hard constraints Implementerede soft constraints Beskrivelse af programmel Java klasser Kalibrering En praktisk test Præsentation af test-problem Vurdering af programmellets praktiske anvendelighed Analyse af testdata Sammenligning med et færdigudviklet skemalægningsprogram Test af den genetiske algoritme Konklusion på test Konklusion Forskningsfeltet skemalægning nu og i fremtiden Litteratur...28 Appendiks A: Programkode Appendiks B: Beskrivelse af parametre og inddata Appendiks C: Inddata og uddata for praktisk test Appendiks D: Inddata og uddata for test af den genetiske algoritme... 58

4 4 1 Indledning Datalogiske problemer er ofte ganske praktiske problemer, som lader sig løse til en hvis grad uden brug af maskiner, men hvor computere vil muliggøre en hurtigere og/eller bedre løsning. Et eksempel på dette er hvordan man lægger et skema for undervisningen på en skole. Indenfor området kunstig intelligens, et område af datalogien der udsprang af ønsket om at lave en computer der efterlignede en menneskehjerne, findes der nu en lang række teknologier, som er inspireret af studier af naturen, men som i stedet for at bruges i forsøg på at eftergøre naturen, anvendes som praktiske løsninger på veldefinerede problemer. En af disse teknologier er genetiske algoritmer og et af de praktiske problemer, der ofte søges løst ved hjælp af genetiske algoritmer, er netop skemalægning. 1.2 Skemalægning Ved skemalægning forstås tidsplanlægning af aktiviteter for en større mængde personer over et længere tidsrum. Det forudsættes at aktiviteternes tidsforbrug og fordeling på personer er bestemt på forhånd, så problemet består i at fordele personernes aktiviteter indenfor nogle givne rammer. 1.2 Genetiske algoritmer Genetiske algoritmer er algoritmer som er baseret på principper fra genetikken, nærmere bestemt hvordan en population af individer udvikler sig over tid. Begreberne tilpasning, rekombination af DNA og mutation bruges til at lade en række løsninger til et problem udvikle sig frem mod en stigende grad af anvendelighed, på samme måde som individer i en population i naturen bliver tilpasset deres omgivelser. 1.3 Målet med dette speciale I det følgende vil problemet skemalægning blive kortlagt og forskellige måder det er løst på i litteraturen bliver gennemgået, med særlig fokus på genetiske algoritmer og relaterede metoder. Dernæst vil en konkret implementering af en genetisk algoritme til løsning af problemet blive præsenteret og vurderet.

5 5 2 Skemalægning Givet et antal personer der skal deltage, som oftest elever, E, et antal hold eller klasser de er delt op i, K, et antal aktiviteter eller fag de skal deltage i / undervises i, F, og et antal personer der skal stå for disse aktiviteter, som oftest lærere der skal undervise, U. Med notation fra relationsdatabaser har vi da følgende funktionelle afhængigheder: E K K F U KF Problemet består da i at der er givet en række tidsintervaller, T, og et antal lokaler, L, der er til rådighed indenfor hvert tidsinterval. Aktiviteterne, hvert bestående af et hold(klasse) K og en aktivitet (fag) F, skal da fordeles på tidsintervallerne og lokalerne: KF TL Fordelingen skal dels ske under overholdelse af nogle regler for hvad der skal lade sig gøre, i det følgende kaldet hard constraints (da de er ufravigelige begrænsninger), dels skal der ske en optimering af fordelingen i forhold til en lang række ønsker som skemalæggeren har til skemaet, der ofte præsenteres som soft constraints (ønskelige, men ikke ufravigelige krav). En typisk hard constraint er at en underviser ikke kan være to steder på en gang. En typisk soft constraint er at der ikke må være utildelte tidsintervaller tilhørende den samme klasse den samme dag, som er omkranset af tildelte tidsintervaller (også kaldet mellemtimer). 2.1 Typer af skemalægningsproblemer Skemalægningsproblemer er i virkeligheden en række forskelligartede problemer, som dog har så meget til fælles at metoderne til at løse dem i høj grad er de samme. Men programmellet til løsning af problemerne vil have meget forskellige krav til f.eks. konkret udformning af algoritmer og brugerinterface, så det er ofte kun på det teoretiske plan der kan udveksles viden Skoleskemaer I en skole folkeskole, gymnasium og lignende - har man typisk et identisk skema uge for en uge gennem et helt skoleår eller en længere periode. Tidsintervallerne lader sig derfor nemt sætte op på skemaform: Mandag Tirsdag Kl. 8-9 T ii T ji Kl T ij T jj Kl T ik T kk... Som regel er det sådan med skoleskemaer at der er lokaler nok til at samtlige klasser kan undervises samtidig. Det vil derfor kun være specielle lokaler som fysiklokaler, IT-lokaler og gymnastiksale, som der skal tages hensyn til ved skemalægningen. Problemet bliver da reduceret til:

6 6 KF T Undervisere på en skole bruger tid på andet end undervisning forberedelse til undervisning, møder, kurser m.m. så set fra en undervisers side vil der generelt være meget færre tidsintervaller at udfylde med undervisning i løbet af en uge end set fra en elevs side. En anden karakteristisk egenskab, i forhold til nogle af de andre skemalægningsproblemer, er at det sjældent forekommer at elever følger flere hold/klasser. Der forekommer dog hold på tværs af de faste klasser, men som regel vil det kun være et mindre antal af fagene det forekommer i, og ske på en af disse måder: 1. Elever i samme klasse splittes op og undervises hver for sig i to eller flere hold. 2. Elever fra to eller flere klasser slås sammen og undervises samtidigt. 3. En kombination af ovenstående. Det første tilfælde kan f.eks. repræsenteres ved at indføre to nye klasser, med den hard constraint at disse klasser ikke kan undervises samtidigt med den klasse de stammer fra. I det andet tilfælde kan man f.eks. slække på hard constraints om at en lærer ikke kan være to steder på en gang og sørge for at klasse/fag-kombinationen bliver tildelt de samme tidsintervaller for alle klasserne Lektionsplaner På universiteter er elever (studerende) ikke delt op i grupper i nær samme grad. I princippet er alle fag åbne for alle studerende, når forudsætninger opfyldes. Hvis der laves en lektionsplan, hvori alle fag på det pågældende universitet optræder, er man derfor interesseret i at optimere mængden af mulige studieforløb for de enkelte studerende, så visse anbefalede studieforløb altid er mulige, mens muligheden for andre kombinationer af fag der kan passe sammen er størst mulig. Det vil sige det er E K T hvor E er eksempler på elever der følger forskellige anbefalede studieforløb som skal være mulige. Det er således ikke er krav, som med f.eks. skoleskemaer, at alle studerende skal have et skema hvor det er muligt at følge alle fag på alle tidspunkter, da det er muligt at vælge andre end de anbefalede forløb. Når tilmeldingerne er sket, skal der så lægges et nye skema for lokalefordelingen, da man først på dette tidspunkt kender antal studerende pr. hold Eksamensplaner At planlægge eksamen minder en del om at lave et skoleskema, men der er her ikke tale om et skema for en uge som genbruges. Der skal tages hensyn til andre ting end ved skoleskemaet, så som at der skal være et vist mellemrum mellem at de samme elever skal til eksamen og at mundtlige eksameners tidsforbrug afhænger af antal elver der skal til eksamen. Tidsperioderne vil ofte være meget forskellige fra fag til fag, og med hensyn til optimering (soft constraints) gælder det om at få fordelt eksamenerne jævnt ud over hele eksamenstiden for hver klasse og elev, hvilket er det omvendte af optimering af skoleskemaet, hvor det som regel gælder om at undgå for lange pauser mellem fagene.

7 Andre Planlægning af større arrangementer, koordinering af kalendere og planlægning af større sportsbegivenheder har problemstillinger der minder om skemalægning. 2.2 Skemalægning i folkeskoler/gymnasier En gang eller et par gange om året skal der på de fleste skoler lægges et skema. Det sker efter det er klart hvilke klasser der bliver i den kommende periode, hvilke fag de skal have samt hvordan lærerne skal fordeles på fag og klasser. Som regel afleverer lærerne nogle ønsker til den del af skemaet der vedrører dem, som skemalæggeren kan tage hensyn til. Herefter lægges et skema en gang for alle, der sjældent laves om i løbet af den periode det gælder for Skemaets parametre Næsten al undervisning på traditionelle skoler er opdelt i et antal lektioner pr. dag der falder på ganske bestemte tidsintervaller og har en varighed af 45 minutter, og der er næsten altid fem ugedages undervisning. Den uge gentages da gennem hele perioden. Det forekommer at der er undervisning som ikke følger disse regler, men det er som regel et langt mindre problem at håndtere dette end at lægge selve det store skema, så det bliver normalt lavet manuelt. Typisk er der op til 8-10 lektioner på en dag og skemaet gælder for et halvt år eller et helt skoleår. En klasse har i størrelsesorden 10 forskellige fag, hvert fag med typisk 2-4 lektioner pr. uge. Antal klasser på en skole varier fra nede omkring 6-8 klasser for et lille gymnasium eller en lille handelsskole, op til måske klasser for en stor folkeskole. Antal fag en skole udbyder vil være noget større end antallet af fag en enkelt klasse har, da fagene veksler med årgang og for eksempel studieretning for klassen. Størrelsesorden fag. Antal lærere vil naturligvis afhænge af antallet af elever, da antal elever pr. klasse er nogenlunde det samme for store og små skoler. Da lærere generelt har færre timer undervisning pr. uge end elever på grund af forberedelse, mødeaktivitet m.m., vil antallet at lærere være i størrelsesorden det dobbelte af antal klasser. De fleste steder har klasserne et klasseværelse hvor det meste af undervisningen foregår. Derfor er det ikke nødvendigt at lave lokalefordeling, på nær for speciallokaler.

8 8 2.3 Karakteristik af skemalægning som datalogisk problem Skemalægning handler grundlæggende om at finde en løsning på et problem med at få nogle ressourcer - tid og lærere - fordelt på nogle ressource-forbrugere - klasser og elever - kombineret med et problem med at finde frem til den af disse løsninger der er mest optimal ud fra nogle andre kriterier Finde løsninger Blot at finde en løsning der overholder et antal hard constraints er et problem der kan løses rent logisk: Der kan være ingen, mange eller eventuelt en enkelt løsning på problemet. I praksis vil der næsten altid være mange løsninger på problemet, da man inden skemaet skal lægges sørger for at for eksempel ingen lærere har flere timer end der er plads til i et skema. Men det kunne være relevant at lave en undersøgelse af eksistens af en løsning inden selve skemalægningen går i gang Optimering Ved optimering er der et antal ønsker fra brugerne af skemaet som på en eller anden måde skal kvantificeres. Dernæst skal programmellet sørge for at disse ønsker bliver opvejet mod hinanden i den løsning der findes. Problemet med at kvantificere et ønske lader sig ikke løse entydigt. I økonomisk teori har man begreber som nytteværdi og paretooptimale løsninger. Her antager man ved hjælp af markedsmekanismer kan omsætte ønsker i målbare mængder nytte og at man kan finde frem til en løsning der er mest optimal for alle parter. Det er muligt, om end måske ikke særligt praktisk, at indføre markedsmekanismer i skemalægning, men i praksis foregår det på en måde der i forhold til økonomisk teori minder mere om planøkonomi: Optimeringen sker på baggrund af ønsker, men hvordan ønskerne vurderes i forhold til hinanden er kalibreret ind i skemalægningen afhænger af en kombination af tilfældigheder, skemalæggerens intuition, programmellets særheder m.m. Men så længe ønskerne er udmøntet i soft constraints og der er foretaget en passsende kalibrering af programmellet, er det datalogiske problem blot at finde en optimal løsning baseret på de data der er givet. Det vil ofte ske ved at opstille en funktion som giver en værdi for hvor god løsningen er (ud fra hvor mange constraints der er overholdt) og finde den løsning med højest værdi. I praksis er skemalægning et alt for komplekst problem til at man kan finde frem til præcis den løsning der har den højeste værdi, så der anvendes i stedet mere eller mindre avancerede heurestikker Kompleksitet og eksistens af løsning Kompleksitet af datalogiske problemer klassificeres ofte efter hvor hurtigt man kan finde en løsning på dem, dvs. hvor hurtigt den bedste algoritme der kan løse problemet kan fuldføres. En speciel klasse af særligt svære problemer er NP-komplette problemer. Her vil tiden det kræver at finde en løsning på problemet som funktion af problem-størrelsen ikke kunne beskrives som et polynominum (dvs. f.eks. som kvadratet på problem-størrelsen), men værre end det. (Se f.eks. Russel og Norvig s. 978). Skemalægning vil ofte være et NP-komplet problem. Cooper og Kingston demonstrerer dette ved konstruere et sprog der beskriver skemalægning (C og S s. 284), og herefter vise at forskellige delproblemer, der opstår ved skemalægning, er ækvivalente med kendte NP-komplette problemer. Helt generelt kan man dog

9 ikke sige at skemalægning er NP-komplet, men i praksis er det næppe muligt at udnytte at der kan forekomme mindre komplekse skemalægningsproblemer. 9 Da soft constraints ikke nødvendigvis skal overholdes, vil et skemalægningsproblem have en løsning, såfremt alle hard constraints kan overholdes.

10 10 3 Metoder til automatisk skemalægning Maskinel skemalægning anvendtes allerede for over 30 år siden, men især indenfor de seneste år er der sket meget forskning på området. Blandt andet afholdes der ca. hvert andet år en International Conference on the Practice and Theory of Automated Timetabling, senest i Der er grundlæggende to typer heurestikker som bruges til at søge løsninger på et problem som skemalægning: 1. Global søgning, hvor man søger bredt blandt alle mulige løsninger. 2. Lokal søgning, hvor man søger stadig bedre løsninger nær en allerede fundet løsning. Ulempen ved lokal søgning er at man risikerer at ende med et lokalt maksimum, som er en løsning der er god blandt de løsninger der er undersøgt, men globalt set er dårlig. Ulempen ved global søgning er den ofte er ret usystematisk og tidskrævende. En af årsagerne til at man ofte ser kombinationer af de to typer heurestikker er et ønske om at begrænse disse ulemper. 3.1 Simple heurestikker De første forsøg på at lave automatisk skemalægning anvendte heurestikker man kendte fra de manuelle metoder. (Schaerf s. 7). Som for eksempel at man fandt frem til de fag, lærere eller klasser der var sværest at placere, og lagde dem i skemaet først, dernæst de næstsværeste o.s.v. 3.2 Tabu search Tabu søgning er en udvidet form af simpel lokal søgning efter maksimum. (Boufflet og Nègre s. 335). Udvidelsen består i at tilføje en tabu-liste over løsninger der allerede har været prøvet og som er tabu for søgningen indtil nogle andre løsninger har været prøvet. Algoritmen kører således: 1. Find en løsnings-kandidat 2. Find en nabo-løsning, der ikke er på tabu-listen, til den bedste løsning der haves. 3. Beregn (ved hjælp af en funktion) hvor god den nye løsning er. 4. Hvis den nye løsning er dårligere end den gamle, hoppes tilbage til Hvis den nye løsning er bedre end den gamle, vælges denne løsning som den nye bedste og den gamle bedste løsning smides på tabu-listen. Såfremt kriteriet for at stoppe (konvergens eller antal gennemløb) ikke er opnået, hoppes tilbage til 2. Ved at have en tabu-liste udgås det hele tiden at støde på de samme løsninger og derved kan algoritmen springe væk fra et eventuelt lokalt maksimum. 3.3 Simulated annealing Simulated annealing ( simuleret udglødning ) er en metode baseret på hvordan stoffer køler af i naturen (Thompson og Dowsland s. 346). Hvis man køler stof ned meget hurtigt, kan der opstå spændinger og uhensigtsmæssige strukturer i det, mens en langsom nedkøling kan udjævne spændinger og give et mere homogent materiale. Som analogi for søgningsalgoritmer, svarer en høj temperatur til store spring for hver søgning, mens lave temperaturer svarer til små spring. Ideen er da at man starter med at søge efter løsninger der ligger i et bredt område og efterhånden sænker temperaturen og koncentrerer sig om at forbedre de lokale løsnin-

11 ger der er fundet. Ved at man starter med en høj temperatur og søger løsninger bredt, mindskes chancen for at havne i et lokalt maksimum Constraint logic programming Denne metode (Cheng m.fl. s. 116) går ud på at fylde skemaet op, en lektion ad gangen, indtil der haves et færdigt skema. For hver lektion der søges placeret, gennemgås samtlige contraints. Hvis det ikke er muligt at opfylde alle constraints, fjernes de i en bestemt rækkefølge, indtil det er muligt at placere lektionen. Hvis det ikke er muligt at placere lektionen uden at overtræde en hard constraint, aktiveres en anden algoritme, som forsøger at omplacere de lektioner der allerede er placeret. Resultatet, såfremt algoritmerne kan finde en løsning, er et skema hvor alle hard constraints er opfyldt, mens soft constraints er opfyldt i større eller mindre grad. Fordelen ved denne metode er at nye constraints blot skal formuleres og ikke kræver en større mængde ekstra programmering. Den tilsvarende ulempe er at det kræver et meget komplekst logisk sprog at formulere alle tænkelige constraints, så arbejdet i stedet består i at implementere et sådant sprog. 3.5 Genetiske algoritmer Genetiske algoritmer er heurestikker der bruger global søgning. Ligesom f.eks. kunstige neurale netværk er genetiske algoritmer grundlæggede en statistisk metode til at få et system af tal og beregninger til at konvergere mod en løsning på et givet problem. Inspirationen til genetiske algoritmer kommer fra Charles Darwins teori om evolution: De forskellige biologiske arter udvikler sig over tid, fordi de tilpasser sig deres omgivelserne og bliver bedre til at leve i dem. Det sker ved et ganske enkelt princip: Der opstår små ændringer i individerne, og de ting som fører til bedre tilpasning overlever på lang sigt, ved at disse individer bedre er i stand til at overleve og forplante sig. Mange små ændringer bliver over tid til store ændringer. Det på Darwins tid meget kontroversielle var at det var tilfældigt opståede ændringer som var basis for evolutionen. Med genetiske algoritmer som datalogisk metode er der ikke den slags problemer, da det er ganske meget nemmere at demonstrere en algoritme end en biologisk evolution der forløber over lange tidsrum. En genetisk algoritme består af følgende dele: Genomer, som er en løsnings-kandidater til det problem man ønsker at løse. Fitness, som er en egenskab ved genomet, udregnet efter hvor god en løsning det er. Gener, som er dele af genomer et genom består af et antal gener. En population af genomer. Algoritmen forløber således: 1. Populationen ældes. Nogle genomer overlever, nogle genomer parres med andre, således at deres gener flettes sammen (rekombineres) med andre, resten dør ud. Fitness styrer chancen for at et genom overlever eller formerer sig. 2. Populationen udsættes for mutation, tilfældige ændringer i genomerne, der indtræffer med en vis sandsynlighed. 3. Ny fitness beregnes. 4. Algoritmen kører videre et bestemt antal gange (generationer) eller til et andet kriterium for at stoppe er opfyldt.

12 Når algoritmen er færdig, kan en passende løsning udvælges ud fra den overlevende population, som regel løsningen med højest fitness. Genetiske algoritmer afsøger meget store søgerum, da de opererer med store grader af tilfældighed i udvælgelsen af løsnings-kandidater. Af samme årsag er de ikke særligt effektive med hensyn til tidsforbrug, men da skemalægning er en aktivitet der foregår ret sjældent, er det ikke af afgørende betydning Hollands skemateorem og byggeklodshypotesen J.H. Holland, der opfandt genetiske algoritmer, fandt på begrebet skema til at forklare genetiske algoritmers virkemåde. Ideen er at ethvert gen er repræsenteret binært som en streng, hvor * angiver at både 0 og 1 er mulige værdier. For eksempel: 0 1 * * 0* * 1 1 Til ethvert skema hører der da en gennemsnitlig fitness for alle løsninger som dette skema indgår i. Ovenstående eksempel har for eksempel 16 forskellige mulige værdier. I en given population er det usandsynligt at alle disse er repræsenteret, så der er tale om et estimeret gennemsnit. Men givet at skemaet er repræsenteret, kan det beregnes hvordan antallet af instanser af skemaet i populationen vokser (eller falder) ud fra dette gennemsnit og den gennemsnitlige fitness i hele populationen. Når effekten af rekombination og mutation tages i betragtning, fås der en formel på denne form (efter M. Mitchell s. 29): Hvor I er antal instanser af skemaet, E(I) estimeret antal instanser, f estimeret gennemsnitlig fitness, og de to P er hhv. chancen for at instanser af skemaet kan overleve rekombination og mutation. Formlen (Skemateoremet) siger noget om at skemaer med høj estimeret gennemsnitlig fitness vil have et ekspotentielt stigende antal instanser i populationen. I Hollands skemateorem optræder rekombination kun som noget der ødelægger overlevelseschancen. Men rekombination er formentlig også det der gør genetiske algoritmer så velegnede til at finde løsninger. Byggeklodshypotesen forsøger at beskrive dette teoretisk, som at gode løsninger til dele af et problem kombineres og skaber en god løsning til hele problemet. Men det teoretiske fundament for denne hypotese er meget omdiskuteret. Der findes en lang række andre forsøg på at beskrive genetiske algoritmers virkemåde teoretisk. (Se f.eks. M. Mitchell s ). 3.6 Memetiske algoritmer E ( I ) ( skema) f f ( population ) ( 1 P )( P ) t + 1 It r 1 Indenfor evolutionære algoritmer, en betegnelse der omfatter både genetiske algoritmer og andre beslægtede teknologier, har flere forskellige biologiske evolutionsprincipper været forsøgt omsat til datalogiske metoder. Her er man ikke så bundet af om en given teori kan forklare observationer i naturen. Det gælder følgende (T.Mitchell, s. 266): Darwin. Naturlig udvælgelse. Individer i en ny generation varierer en smule. De bedst tilpassede overlever. Lamarck. Videreførsel af et individs personlige udvikling til næste generation. Den i fiktion ofte sete (men i biologien for længst forkastede) ide om at gener kan videre- m 12

13 bringe erfaring. De bedste overlever og er biologisk tilpassede til at nyde godt af hvad en tidligere generation har lært. Baldwin. De individer som bedst er i stand til at lære at tilpasse sig omgivelserne overlever. Det er ikke selve tilpasningen men evnen til at tilpasse sig der forbedres. Det er naturligvis et princip som er mest velegnet til der hvor omgivelserne forandrer sig ofte. Man kan se mennesket som den art der bedst efterlever Baldwins evolutionsprincip. De mere avancerede algoritmer baseret på evolutionsprincippet kaldes som nævnt ofte memetiske algoritmer. Det kan være algoritmer baseret på Lamarcksk evolution eller Baldwinprincippet. Udtrykket stammer fra bologen Richard Dawkins (W.E. Hart s. 13), som forslog en udvidelse af Darwins princip, hvor højerestående arter (mennesker) ikke så meget udvikler deres hardware (gener) som deres software (tanker, ideer) ved hjælp af naturlig udvælgelse. De bedste ideer, eller bedste metoder til at løse et problem på, overlever. Memetiske algortimer bruges også som generel betegnelse for metoder der kombinerer genetiske algoritmer med andre metoder. Ideen er at den genetiske algoritme står for at lave en global søgning, mens den eller de andre metoder man kombinerer med laver en lokal søgning. Man udnytter her at den genetiske algoritme har lavet en hel population at mulige løsninger, der kan forbedres på, hvilket kan hindre at man blot finder et lokalt maksimum. Andre betegnelser for det der nu kaldes memetiske algoritmer er blandt andet hybride genetiske algoritmer, genetiske lokal søgnings algoritmer eller Lamarckske eller Baldwinske evolutionære algoritmer. (Se Burke og Landa Silva for en oversigt over brug af memetiske algoritmer til skemalægning). 3.7 Andre metoder Andre metoder, der ofte er set brugt, er at transformere skemalægningsproblemer til andre problemer der allerede er udviklet mange løsningsmetoder og heurestikker til. Det gælder for eksempel graffarvning. Desuden ses andre metoder fra kunstig intelligens-forskningen, som for eksempel fuzzy logik og sværmintelligens, anvendt i nyere artikler om skemalægning. (Se f.eks. SATATs hjemmeside for oversigter over præsentationer ved konferencerne). 13

14 14 4 GenetiskSkema - en genetisk algoritme til skemalægning GenetiskSkema er en simpel genetisk algoritme der ved hjælp af nogle generelle constraints kan finde brugbare løsninger på skemalægningsproblemer i skoler. Det valgte programmeringssprog er java, da et objektorienteret programmeringssprog skønnes at være nemmere at læse for mennesker og java er stort set platformsuafhængigt. 4.1 Designovervejelser Der er lagt væk på enkelhed og overskuelighed og knap så meget på effektivitet Genom og gener Der er mange mulige repræsentationer af skemaer. Et gen kan for eksempel sættes til at være en enkelt aktivitet på et bestemt tidspunkt. Genomet består da af alle de aktiviteter der skal afholdes (lektioner i klasser), hvor de enkelte gener adskiller sig ved at have valgt forskellige tidspunkter at afholde aktiviteten på. Her er valgt en repræsentation, som lader et gen være en større enhed, nemlig skemaet for en enkelt klasse. Genomer er da samlingen af skemaerne for alle klasser. Gener adskiller sig her fra hinanden ved en række aktiviteter, som er anbragt forskelligt. Der er således mere information i hvert gen end hvis genet blot var en enkelt aktivitet. Det gør det sværere at frembringe nye brugbare gener ved mutation, men giver muligvis bedre muligheder på at bevare information om gode skemaer for enkeltklasser. Et vigtigt design-problem for genetiske algoritmer er hvordan man sørger for at algoritmen konvergerer frem mod stadigt bedre løsninger, i stedet for blot at levere en endeløs række af mere eller mindre brugbare løsninger. Her er det vigtigt at vælge generne således at man ved rekombination af to gode genomer vil nå frem til et nyt godt genom. Ved at vælge genet som et skema for en klasse opnås det at skemaer der er gode for klasserne også vil være gode for klasserne ved en rekombination. Men samtidig risikerer man at miste andre gode egenskaber, som gode skemaer for lærere og overholdelse af hard constraints. Det er dog normalt sådan at skemaet for elever er langt mere udfyldt end skemaet for lærere, så chancen for at en tilfældig rekombination af skemaer for klasser giver overtrædelser af hard constraints er langt mindre end hvis noget tilsvarende blev gjort med lærernes skemaer. Det at genet er et skema for en klasse, gør at hard constraints mht. at en klasse ikke kan have aktiviteter i samme tidsrum automatisk bliver overholdt, såfremt generne initialiseres således og mutationer ikke kan ændre på det (hvilket er tilfældet med GenetiskSkema). Ved rekombination kan der vælges mellem flere forskellige strategier (T. Mitchell s. 253). For eksempel kan hvert genom deles i to stykker som hver indeholder et antal gener. Disse stykker svarende til kromosomer i biologien, kombineres da. (Metoden kaldes singlepoint crossover). Her er i stedet valgt at foretage tilfældig udvælgelse af enten fader eller moder for hvert enkelt gen, svarende til at biologiske individer havde kromosomer som hver bestod af kun et gen. Et tredje alternativ er at skære genomet i et antal stykker udvalgt således at vigtige egenskaber som overholdelse af hard constraints bevares ved en rekombination. (Se for eksempel Erben og Keppler s. 204 for en måde dette kan gøres på) Hard constraints Håndtering af hard constraints i genetiske algoritmer kan ske enten ved helt at udelukke genomer der ikke overholder hard constraints eller ved at give den en meget lav fitness-værdi som sørger for at sortere dem fra efterhånden. Her er valgt sidstnævnte metode. Det giver et

15 problem med at kalibrere soft constraints i forhold til hard constraints. Hvis vægten af hard constraints sættes for lavt, vil der måske ikke opstå brugbare løsninger i populationen (dvs. løsninger som overholder alle hard constraints), men ved for høj vægtning kan man risikere at der kun optimeres i forhold til hard constraints, så soft constraints ignoreres. Ulempen ved automatisk at sortere alle genomer der overtræder hard constraints fra er imidlertid at man begrænser søgerummet, og kan risikere aldrig at finde de gode løsninger der ligger i et område hvor hard constraints ofte overtrædes. For at minimere ovennævnte risiko for at man ved rekombination laver løsninger med mange overtrædelser af hard constraints er følgende mekaniske blevet implementeret i GenetiskSkema: Ved rekombination undersøges det gen for gen hvor godt genet fra det ene genom passer sammen med det andet genom. Hvis antallet af hard constraints ville øges ved at dette gen (og kun det) indsættes, reduceres chancen for at genet kommer med i det rekombinerede genom. Eller med fader/moder-analogien: Som udgangspunkt overtager barnet moderens gener, mens chancen for at et givet af faderens gener tages med i stedet afhænger af hvor godt det passer sammen med moderens gener (mht. hard constraints) Fitness Fitness som en sum af fitness for hver constraint har den ulempe at enkelte bidrag kan forsvinde i mængden : Chancen for at et gen med x + y fitness, x >> y, udvælges er kun en anelse større end chancen for at et gen med fitness x udvælges, hvilket gør at udvælgelsesmekanismen stort set ikke skelner mellem de to. Der er dog måder at løse det problem på. Udvælgelsen kan foregå på forskellige måder, for eksempel (T.Mitchell s. 255): 1. Roulette -metoden. Chancen for at blive udvalgt er direkte proportional med fitness. 2. Turnerings -metoden. Der udvælges to helt tilfældige genomer, dvs. uafhængigt af deres fitness. Der trækkes lod mellem de to. Således at genomet med højest fitness har størst chance for at vinde, men ikke proportionalt med den relative fitness. For eksempel at genomet med højest fitness har en fast 75% chance for at vinde. 3. Rang -metoden: Genomerne ordnes efter rang i forhold til deres fitness. Chancen fro at blive udvalgt er da proportional med rangen, ikke fitness. Her er valgt metode roulette -metoden, men for at undgå ovennævnte problem, er fitness et produkt af fitness for hvert enkelt constraint, i stedet for en sum. Det kan give nogle meget høje værdier for fitness og muligvis sortere gener fra for hurtigt, så antallet af forskellige gener bliver for lille til at rekombinationen fungerer effektivt. Dvs. det tidligere nævnte problem kaldet crowding. Men det gør også at dårlige gener hurtigt forsvinder. 4.2 Implementerede hard constraints Den eneste hard constraint der testes eksplicit for er om en lærer er to steder på en gang. Implicit testes der for om en klasse er tildelt flere aktiviteter i samme tidsrum ved at initialisering, rekombination og mutation ikke overtræder denne constraint. 4.3 Implementerede Soft constraints I stedet for individuelle skemaønsker er der indsat en række generelle regler: 1. Elever skal have så få mellemtimer som muligt. 2. Fag på samme dag skal helst ligge i rækkefølge. 3. Forskellige tidspunkter på ugeskemaet vægtes forskelligt, f.eks. kan en meget sen lektion 15

16 sættes til ikke at være særlig ønskeværdig og en tidlig lektion til at være ønskværdig. 4. Antal lektioner en lærer kan have på en dag kan vægtes forskelligt, f.eks, kan det vægtes højt ikke at have timer, dvs. have en fridag. 4.4 Beskrivelse af programmel Kodet i java kompileret med javac 1.5.0_01 til Windows. Den komplette programkode findes i appendiks A. Vigtige globale variable: fitnessintervaller: Intervallet [0:1] delt op så størrelsen på del n er proportional med fitness af genom n i forhold til summen af alle genomers fitness. StartHCTest: Variabel til styring af hvornår rekombination af genomer skal tage hensyn til overholdelse af hard constraints. main Et antal inddatafiler indlæses: Parameterfil (se parameterbeskrivelse i appendiks B) En population oprettes. Den genetiske algoritme forløber herefter således: 1. Beregn fitness for genomerne i populationen 2. Foretag formering og udvælg overlevende genomer 3. Muter populationen 4. Såfremt max antal generationer ikke er nået: gå til 1. Udskriv resultatet java klasser Population Array genom: Et antal instanser af Genom svarende til populationsstørrelsen. Metode beregnfitness: Beregn fitness for alle genomer og summer dem. Metode formering: Lav nye genomer til en ny generation, bestående af overlevere og rekombinationer af de gamle genomer, udvalgt på baggrund af fitness. Metode mutation: Udfør mutation på parameterbestemt procentdel af genomer. Metode printskema: Udskriv populationen på læsbar form (som skoleskemaer). Metode printfagfordeling: Udskriv liste over hvilke fag og klasser lærerne har Metode dumpgenom: Gem genomerne i populationen på kompakt form i outputfil. Genom Array gen: Et antal instanser af Gen svarende til størrelsen af genomet (dvs. antal skoleklasser) Variabel fitness: Genomets fitness (fra senest det blev beregnet). Variabel antalhc: Antal overtrædelser af hard constraints genomet har (som kan være 0). Variabel antalmellemtimer: Totalt antal mellemtimer for et genom. 16

17 Metode rekombiner: Sammensæt et nyt genom af to gamle ved rekombination af gener. Metode muter: Lav mutation i tilfældigt udvalgt gen. Metode beregnfitness: Beregn fitness af genomet og om det overtræder hard constraints. Metode mellemtimer: Beregn antal mellemtimer for genomet. Metode samletimer: Beregn antal nabolektioner med samme fag. Metode arbejdsdag: Beregn fitness-bidrag fra længden på lærernes arbejdsdage. Metode printlaererskema: Udskriv skemaer for lærere. Metode hardconstraints: Beregn antal overtrædelser af hard constraints. Metode printskema: Udskriv genomet på læsbar form (som skoleskemaer). Metode genstreng: Dan genomet som en streng af bogstaver. 17 Gen Array skema: Skema for en skoleklasse. Metode muterskema: Byt om på aktiviteten for to tilfældige tidspunkter i skemaet. Metode startskema: Initialiser skema ved først at lægge aktiviteterne på de tidligst mulige tidspunkter og dernæst lave mutation (med ovenstående metode) på alle tidspunkter. Metode printskema: Print skemaet for en enkelt skoleklasse. Metode gentilstreng: Lav genet som en streng af bogstaver (og evt. andre tegn). 4.5 Kalibrering Det krævede en del kalibrering at få algoritmen til at konvergere tilfredsstillende. For eksempel viste vægtning af hard constraints i forhold til soft constraints sig at fungere bedst hvis hard constraints kun vægtes ganske lidt mere end soft constraints.

18 En praktisk test Som en test af programmellet er valgt et praktisk skemalægningsproblem fra en virkelig skole, således at løsningerne kan sammenlignes med det skema der faktisk blev anvendt. Der er dog et par ting som ikke er implementeret i GenetiskSkema, således at det ikke kunne lade sig gøre at lave et skema eksakt som ønsket. Der vil blive redegjort for dette i konklusionen Præsentation af test-problem Skemalægningsproblemet er et skema for en skole med 8 klasser der tilsammen har 20 forskellige fag og 19 lærere. Det skal gælde for et halvt år. (Baseret på skemaet for Kalundborg Handelsgymnasium og HG, forår 2009) Vurdering af programmellets praktiske anvendelighed Her ses skemaet for en klasse, til venstre lavet med GenetiskSkema, til højre det anvendte. multimed. dansk afsaetn. fransk engelsk afsaetn. psykologi engelsk virk.oek. matematik multimed. virk.oek. dansk samtidsh. psykologi afsaetn. psykologi engelsk virk.oek. matematik afsaetn. virk.oek. lektiecaf samtidsh. matematik int.oek psykologi int.oek engelsk fransk afsaetn. matematik afsaetn. int.oek. matematik dansk tysk int.oek engelsk fransk psykologi fransk engelsk int.oek. int.oek. samtidsh. dansk afsaetn. virk.oek. lektiecaf psykologi virk.oek. engelsk fransk matematik samtidsh. dansk afsaetn. multimed. engelsk fransk matematik virk.oek. matematik fransk matematik matematik multimed. multimed. dansk tysk virk.oek. matematik virk.oek. matematik fransk multimed. virk.oek. Begge ses at have en rimelig spredning af fag mht. fordeling over ugen og lektioner i rækkefølge. Der var naturligvis ingen overtrædelser af hard constraints i nogen af skemaerne. Virkelighedens skema har knap så stor spredning i antal lektioner pr. dag og har ingen mellemtime, men det kan skyldes at der var en begrænsning på 8 lektioner pr. dag der. Klassen (dvs. genet) var tilfældigt udvalgt. I andre af klasserne var der større forskel, specielt for de klasser som havde relativt få lektioner pr. uge. Det ekstreme tilfælde var nok dette: salg og s laeringk. erhv.oek. laeringk. inf.tekn. erhv.oek. engelsk inf.tekn. laeringk. samfundsf salg og s erhv.oek. laeringk. dansk inf.tekn. engelsk inf.tekn. livsstil laeringk. dansk salg og s lektiecaf laeringk. dansk inf.tekn. salg og s laeringk. dansk dansk dansk lektiecaf laeringk. inf.tekn. erhv.oek. lektiecaf erhv.oek. livsstil engelsk laeringk. samfundsf livsstil erhv.oek. inf.tekn. livsstil engelsk laeringk. laeringk. lektiecaf inf.tekn. laeringk. Her er der både meget større spredning i antal timer pr. uge flere mellemtimer i Genetisk- Skemas version. Så her er en forbedring ønskelig.

19 Analyse af testdata Der blev kørt en række test med forskelligt valg af parametre. De føromtalte skemaer svarer til denne kørsel med en population på 100 og 2000 generationer: Generationer Hard constraints Mellemtimer LOG ( FITNESS ) De tre serier af tal er hhv. et mål for fitness, antal overtrædelser af hard constraints og antal mellemtimer som et eksempel på overtrædelse af soft constraints. Det ses at antal overtrædelser af hard constraints meget hurtigt daler, overtrædelse af soft constraints udviser en faldende tendens over det meste af forløbet, mens fitness af løsningerne (som følge heraf) er stigende helt frem til generation At fortsætte til efter generation ca , så imidlertidig ikke ud til at have nogen entydig effekt. Mutationer er en vigtig forudsætning for at algoritmen fungerer, som det ses her af en kørsel med samme parametre som ovenfor, men med mutationer koblet fra: Generationer Hard constraints LOG (FITNESS) Mellemtimer

20 Uden mutationer bliver antallet af gener hurtigt reduceret, mens der ikke vil komme nye til. Det vil sige, at når først den optimale kombination af gener er fundet, kan der ikke ske yderligere forbedringer af fitness Hard constraints Mellemtimer LOG (FITNESS) For ikke at risikere en for hurtig udtynding i generne, tilkobles den mekanisme der favoriserer gener som skaber få overtrædelser af hard constraints først omkring midtvejs i forløbet. Men som det ses i ovenstående diagram, har det i denne test ikke den store betydning hvornår det sker. Parametre her er igen som i den første kørsel, på nær at ovennævnte mekanisme er koblet ind fra start. Reduceres størrelsen af populationen, fungerer algoritmen stadig, om end det går betydeligt langsommere. Igen er det samme parametre, men med en population på kun 10: Hard constraints M ellem tim er LOG (FITNE SS)

21 4.6.4 Sammenligning med færdigudviklet skemalægningsprogram: Lantiv Timetabler Lantiv Timetabler er et program til skemalægning der kan hentes gratis på internettet. Det har både mulighed for at lægge et skema manuelt og for at få programmet til at gøre det. Data til Lantiv tastes ind i en database via et brugerinterface. Der er følgende tabeller: Days: De ugedage der er undervisning. Lessons: De tidsintervaller en dag er delt op i. Subjects: Fag. Groups: Klasser Students: De enkelte studerende* Teachers: Lærere Rooms: De lokaler der er til rådighed* Equipment: De begrænsede ressourcer der er til rådighed* Activities: Sammenknytning af group, subject, teacher, room og equipment. Programmet kan køre uden man bruger felterne mærket *. Skærmbillederne ser således ud: 21 Når data er tastes ind, går man videre til et selve skemalægningsdelen af programmet. Her skal man først indlægge constraints. Det foregår ved at man for de fleste tabeller i databasen kan indsætte forskellige minimum og maksimum værdier svarende til hard constraints og nogle desirable værdier svarende til soft constraints:

22 22 Programmet holder da øje med om constraints bliver overholdt, hvad enten man lægger skemaet manuelt eller automatisk. Ved automatisk skemalægning søges efter en løsning der overholder alle constrants, og hvis ikke dette er muligt, overholder alle hard constraints og så mange som muligt af soft constraints. Herefter kan skemaet kigges igennem og evt. rettes til og man kan bruge forskellige rapporterings-funktioner.

23 I forhold til GenetiskSkema er der ingen generelle constraints for hvad der er et godt skema, så alt skal tastes ind som constraints på specifikke data. For eksempel at en bestemt klasse skal have et vist minimum antal lektioner pr dag og højest må have et bestemt antal mellemtimer eller at en bestemt lærer foretrækker et bestemt antal lektioner pr. dag. I modsat fald fyldes de enkelte klassers skemaer blot ud med fagene i tilfældig orden fra første lektion mandag til alt er fordelt. Det er af denne årsag ikke nemt at sammenligne Lantiv og GenetiskSkema direkte. Ved indtastning af nogle værdier for antal timer pr. dag pr. klasse samt et fortrukket antal timer for lærere, opnås følgende (virkelighedens skema til højre, samme eksempel som før): 23 matematik matematik virk.oek. dansk engelsk afsaetn. psykologi engelsk virk.oek. matematik virk.oek. afsaetn. multimed. psykologi matematik afsaetn. psykologi engelsk virk.oek. matematik matematik fransk matematik multimed. int.oek. int.oek psykologi int.oek engelsk fransk engelsk fransk afsaetn. fransk virk.oek. dansk tysk int.oek engelsk fransk virk.oek. engelsk int.oek. dansk psykologi samtidsh. dansk afsaetn. virk.oek. lektiecaf afsaetn. dansk samtidsh. virk.oek. lektiecaf samtidsh. dansk afsaetn. matematik multimed. samtidsh. multimed. psykologi afsaetn. fransk virk.oek. matematik fransk matematik multimed. engelsk matematik tysk int.oek. virk.oek. matematik fransk multimed. Som det fremgår er der ingen problemer med at få et kompakt skema, men fagene er spredt ud ret tilfældigt. Det er muligt at undgå dette på forskellig vis med Lantiv, ved at taste fag ind som dækkende mere end en lektion i træk. Fordeling af timer over en uge for lærere er også svær at styre. I forhold til med GenetiskSkema er de meget tilfældigt fordelt ud over ugen, selv efter forsøg på at samle dem med soft constraints. Det er dog muligt at disse problemer kan løses, men det vil kræve meget individuel tilpasning. Ved en kombination af GenetiskSkema og Lantiv, kunne det tænkes at der kunne opnås et bedre resultat end med hvert enkelt program. Det blev afprøvet med samme eksempel som før, ved først at indtaste GenetiskSkemas skema i Lantiv og dernæst køre Lantivs automatiske skemalægning. Det gav som forventet nogle mere kompakte skemaer, men der var igen problemer med lærernes skemaer. Det samlede resultat blev: GenetiskSkema Lantiv GS + Lantiv Virkelighedens skema mellemtimer 2,1 (0,5) 0,1 1,5 0 fridage/lærer 1,8 (0,7) 0,3 0,8 1,6 Tallene er hhv. gennemsnitlige antal mellemtimer i klassernes skemaer og gennemsnitlige antal dage uden undervisning lærerne har. Tallene i parentes for GenetiskSkema er for en kørsel hvor soft constraint for lærernes arbejdsdage var fjernet ved at stille på vægtene. Det ses at virkelighedens skema (lagt med et kommercielt skemalægningsprogram) er klar bedre på de her målte egenskaber, mens valget mellem GenetiskSkema og Lantis (med de her valgte constraints og parametre) afhænger af om man foretrækker nogle færre mellemtimer for eleverne eller nogle flere undervisningsfrie dage for lærerne. Der er dog det forbehold at ikke alt i virkelighedens skema kunne implementeres i testen, herunder nogle fag som samlæses mellem flere klasser, så resultaterne betyder ikke nødvendigvis at det anvendte skemalægningsprogram (Untis) er så klart bedre end det umiddelbart ser ud her.

24 Af faciliteter som Lantiv har, som ikke findes i GenetiskSkema er først og fremmest muligheder for at lægge constraints ind for f.eks. hver enkelt lærer eller hver enkelt klasse. Også muligheden for at arbejde skiftevis manuelt og automatisk gør formentlig Lantiv til et bedre skemalægningsprogram end GenetiskSkema i sin nuværende form. Af funktioner der ikke er brug for til løsning af det konkrete problem er blandt andet at Lantiv kan håndtere lokalefordeling, fordeling af knappe ressourcer og fordeling af elever på klasser. Klasser kaldet groups er desuden lavet således at en klasse kan deles op i undergrupper og man kan sætte aktiviteter op der involverer flere klasser. At rette manuelt i skemaet er ganske nemt i Lantiv, som det ses herunder. Man tager blot fat i et fag på skemaet og flytter det med musen. Lantiv viser endda hvor læreren har ledige timer, så man kan holde øje med hvordan lærernes skemaer forandres. 24

25 Test af den genetiske algoritme Til at teste programmellet yderligere, blev følgende skemalægningsproblem præsenteret for GenetiskSkema: 6 klasser skal have totalt 6 fag (men en bestemt lærer pr. fag) fordelt med et forskelligt antal timer af hvert fag i hver klasse og sådan at alle 12 tidspunkter, der er på en uge, er fyldt op for alle klasser og alle lærere. (Se også appendiks D). Af soft constraints vil det kun være samling af fagene som vil kunne komme i spil, ellers vil problemet bestå i at få opfyldt hard constraints, i et skema hvor det er (urealistisk) svært at få opfyldt dem alle. Ligesom i den første test blev der kørt med en population på 100. Det viste sig at tage mange generationer at finde en løsning (dvs. skema hvor alle hard constraints er opfyldt), typisk op mod et par hundrede, men i nogle tilfælde lykkedes det efter for eksempel 26 generationer. Dette tilfælde bruges i det følgende. En given population indeholder et antal genomer, som hver især indeholder nogle gener. Uden mutationer øges det samlede udvalg af forskellige gener ikke, da de blot kombineres på forskellige måder i nye generationer. Der vil derimod ske en udtynding i generne efterhånden, så nogle gener forsvinder og ikke kommer igen. Men ved hjælp af mutation skabes der nye gener. Det skulle derfor være muligt at følge et bestemt genoms historie mht. hvornår de gener, det består af, opstod. Resultatet af det ses herunder. Da gener svarer til de enkelte skoleklasser, har de fået betegnelser som 1A og 1B: Slut-geners andel af samlet population 100 % Generation 1A 1B 2A 2B 3A 3B Diagrammet følger historien for det genom der opstår efter 26 generationer. (Genomet, som viser sig at være en løsning til hele skemalægningsproblemet, opstår samtidig med dets sidste gen, men det behøvede ikke at have været tilfældet). Genomet består af en række gener, som enten var med fra starten (1A og 1B) eller opstod senere som mutationer. Som det fremgår, udkonkurrerer de nye gener i løbet af et par generationer resten af generne i populationen, uden dog helt at fjerne dem. Det må formodes at det skyldes at stort set kun hard constraints bidrager til forskel i fitness. Så snart et gen der muliggør overholdelse af endnu en hard constraint opstår, udkonkurrerer dette gen hurtigt de øvrige. Dette bekræftes ved nærstudier af output. Man kan måske også ane på diagrammet at der faktisk opstod et af generne i generation 9, men det døde ud før det kunne formeres, hvorefter det opstod igen ved en mutation i generation 11.

Ideer til datalogiprojekter. Keld Helsgaun

Ideer til datalogiprojekter. Keld Helsgaun Ideer til datalogiprojekter Keld Helsgaun 1 Keld Helsgaun Forskning: kombinatorisk optimering heuristisk søgning (kunstig intelligens) programmeringsværktøjer Undervisning: programmering, datastrukturer

Læs mere

VisiRegn: En e-bro mellem regning og algebra

VisiRegn: En e-bro mellem regning og algebra Artikel i Matematik nr. 2 marts 2001 VisiRegn: En e-bro mellem regning og algebra Inge B. Larsen Siden midten af 80 erne har vi i INFA-projektet arbejdet med at udvikle regne(arks)programmer til skolens

Læs mere

En lægningsstrategi. Med autopilot og et lille sats til sidst

En lægningsstrategi. Med autopilot og et lille sats til sidst En lægningsstrategi Med autopilot og et lille sats til sidst Lægningsstrategi Prioritetsstyring Der findes forskellige filosofiske indgangsvinkler til prioritetsindstillinger af skydebarrerne ved den automatiske

Læs mere

Rejsekort A/S idekonkurence Glemt check ud

Rejsekort A/S idekonkurence Glemt check ud Rejsekort A/S idekonkurence Glemt check ud 9. marts 2015 1 Indhold 1 Introduktion 4 1.1 Problembeskrivelse........................ 4 1.2 Rapportens opbygning...................... 4 2 Ordliste 5 3 Løsning

Læs mere

Programmering C RTG - 3.3 09-02-2015

Programmering C RTG - 3.3 09-02-2015 Indholdsfortegnelse Formål... 2 Opgave formulering... 2 Krav til dokumentation af programmer... 3 ASCII tabel... 4 Værktøjer... 5 Versioner af ASCII tabel... 6 v1.9... 6 Problemer og mangler... 6 v2.1...

Læs mere

Emneopgave: Lineær- og kvadratisk programmering:

Emneopgave: Lineær- og kvadratisk programmering: Emneopgave: Lineær- og kvadratisk programmering: LINEÆR PROGRAMMERING I lineær programmering løser man problemer hvor man for en bestemt funktion ønsker at finde enten en maksimering eller en minimering

Læs mere

Ugeseddel 12(10.12 14.12)

Ugeseddel 12(10.12 14.12) Ugeseddel (..) Matematisk Programmering Niels Lauritzen..7 FORELÆSNINGER I ugen. 7. gennemgik vi algoritmer til løsning af heltalsprogrammer ved hjælp af simplex algoritmen. Dette er heltalsprogrammeringsugesedlen

Læs mere

Supplement til manualen, Kalender-Semesterskema

Supplement til manualen, Kalender-Semesterskema Supplement til manualen, Kalender-Semesterskema Untis er et skemalægningsprogram, der anvendes i mange lande. I Gruber og Petters manual Kalender-Semesterskema (som du finder på vores hjemmeside under

Læs mere

ViKoSys. Virksomheds Kontakt System

ViKoSys. Virksomheds Kontakt System ViKoSys Virksomheds Kontakt System 1 Hvad er det? Virksomheds Kontakt System er udviklet som et hjælpeværkstøj til iværksættere og andre virksomheder som gerne vil have et værktøj hvor de kan finde og

Læs mere

Projektopgave Observationer af stjerneskælv

Projektopgave Observationer af stjerneskælv Projektopgave Observationer af stjerneskælv Af: Mathias Brønd Christensen (20073504), Kristian Jerslev (20072494), Kristian Mads Egeris Nielsen (20072868) Indhold Formål...3 Teori...3 Hvorfor opstår der

Læs mere

REDIGERING AF REGNEARK

REDIGERING AF REGNEARK REDIGERING AF REGNEARK De to første artikler af dette lille "grundkursus" i Excel, nemlig "How to do it" 8 og 9 har været forholdsvis versionsuafhængige, idet de har handlet om ting, som er helt ens i

Læs mere

Nyhedsbrev nr. 11-31. august 2015

Nyhedsbrev nr. 11-31. august 2015 Nyhedsbrev nr. 11-31. august 2015 I uge 45 vil Frey Software præsentere Untis version 2016. Møderne vil blive afholdt henholdsvis i Aarhus tirsdag den 3. november og København onsdag den 4. november 2015.

Læs mere

Baggrundsnotat: Søskendes uddannelsesvalg og indkomst

Baggrundsnotat: Søskendes uddannelsesvalg og indkomst 17. december 2013 Baggrundsnotat: Søskendes uddannelsesvalg og indkomst Dette notat redegør for den økonometriske analyse af indkomstforskelle mellem personer med forskellige lange videregående uddannelser

Læs mere

AT-forløb Jordskælv i Chile 1.u

AT-forløb Jordskælv i Chile 1.u Kapitel 1 AT-forløb Jordskælv i Chile 1.u 1.1 Indgående fag I forløbet indgår fagene naturgeografi v. Mikkel Røjle Bruun (BR), samfundsfag v. Ann Britt Wolsing (AW) og matematik v. Flemming Pedersen (FP).

Læs mere

Smart-ebizz Manual til Bookinsystem Indholdsfortegnelse Kom hurtigt i gang med dit booking system:... 3 Overblikket over dit bookingsystem... 4 Hovedside... 4 Kunder... 4 Opret ny Kunde... 4 Vagtplaner...

Læs mere

Gentofte Skole elevers alsidige udvikling

Gentofte Skole elevers alsidige udvikling Et udviklingsprojekt på Gentofte Skole ser på, hvordan man på forskellige måder kan fremme elevers alsidige udvikling, blandt andet gennem styrkelse af elevers samarbejde i projektarbejde og gennem undervisning,

Læs mere

Dig og din puls Lærervejleding

Dig og din puls Lærervejleding Dig og din puls Lærervejleding Indledning I det efterfølgende materiale beskrives et forløb til matematik C, hvori eleverne skal måle hvilepuls og arbejdspuls og beskrive observationerne matematisk. Materialet

Læs mere

15. oktober. Maskine Udlejning. Jacob Weng, Jeppe Boese og Mads Anthony. Udlejningsvirksomhed. Roskilde Tekniske Gymnasium 3.4

15. oktober. Maskine Udlejning. Jacob Weng, Jeppe Boese og Mads Anthony. Udlejningsvirksomhed. Roskilde Tekniske Gymnasium 3.4 Maskine Udlejning 15. oktober 2010 Jacob Weng, Jeppe Boese og Mads Anthony Roskilde Tekniske Gymnasium Udlejningsvirksomhed 3.4 Indholdsfortegnelse Problemformulering:... 2 Planlægning:... 2 Analyse af

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Har en hvis lighed med divide-and-conquer: Begge opbygger løsninger til større problemer

Læs mere

Talregning. Aktivitet Emne Klassetrin Side. Indledning til VisiRegn ideer 1-7 2 Oversigt over VisiRegn ideer 1-7 3

Talregning. Aktivitet Emne Klassetrin Side. Indledning til VisiRegn ideer 1-7 2 Oversigt over VisiRegn ideer 1-7 3 VisiRegn ideer 1 Talregning Inge B. Larsen ibl@dpu.dk INFA juli 2001 Indhold: Aktivitet Emne Klassetrin Side Indledning til VisiRegn ideer 1-7 2 Oversigt over VisiRegn ideer 1-7 3 Vejledning til Talregning

Læs mere

MODELSÆT 2; MATEMATIK TIL LÆREREKSAMEN

MODELSÆT 2; MATEMATIK TIL LÆREREKSAMEN MODELSÆT ; MATEMATIK TIL LÆREREKSAMEN Forberedende materiale Den individuelle skriftlige røve i matematik vil tage udgangsunkt i følgende materiale:. En diskette med to regnearks-filer og en MathCad-fil..

Læs mere

Programmering C Eksamensprojekt. Lavet af Suayb Köse & Nikolaj Egholk Jakobsen

Programmering C Eksamensprojekt. Lavet af Suayb Köse & Nikolaj Egholk Jakobsen Programmering C Eksamensprojekt Lavet af Suayb Köse & Nikolaj Egholk Jakobsen Indledning Analyse Læring er en svær størrelse. Der er hele tiden fokus fra politikerne på, hvordan de danske skoleelever kan

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af 3 sider anmarks Tekniske Universitet Skriftlig prøve, den 29. maj 203. ursusnavn: lgoritmer og datastrukturer ursus nr. 02326. jælpemidler: Skriftlige hjælpemidler. et er ikke tilladt at medbringe

Læs mere

Mandags Chancen. En optimal spilstrategi. Erik Vestergaard

Mandags Chancen. En optimal spilstrategi. Erik Vestergaard Mandags Chancen En optimal spilstrategi Erik Vestergaard Spilleregler denne note skal vi studere en optimal spilstrategi i det spil, som i fjernsynet går under navnet Mandags Chancen. Spillets regler er

Læs mere

Roskilde Tekniske Gymnasium. Eksamensprojekt. Programmering C niveau

Roskilde Tekniske Gymnasium. Eksamensprojekt. Programmering C niveau Roskilde Tekniske Gymnasium Eksamensprojekt Programmering C niveau Andreas Sode 09-05-2014 Indhold Eksamensprojekt Programmering C niveau... 2 Forord... 2 Indledning... 2 Problemformulering... 2 Krav til

Læs mere

Langtved Data A/S Nyhedsbrev

Langtved Data A/S Nyhedsbrev Langtved Data A/S Nyhedsbrev Nr. 2 Indledning I denne udgave af nyhedsbrevet har vi valgt at sætte fokus på interessante faciliteter som allerede benyttes af nogle af vores kunder og som kunne være interessante

Læs mere

Elevskema. Med modulet Elevskema kan du fordele eleverne på kurser og danne individuelle elevskemaer.

Elevskema. Med modulet Elevskema kan du fordele eleverne på kurser og danne individuelle elevskemaer. Elevskema Med modulet Elevskema kan du fordele eleverne på kurser og danne individuelle elevskemaer. Forudsætningen for at arbejde med modulet Elevskema er, at der i Untis er oprettet elever, som er tilknyttet

Læs mere

Ved at klikke på ADMIN i øverste menu linje går man ind i butiks administrations delen.

Ved at klikke på ADMIN i øverste menu linje går man ind i butiks administrations delen. Vejledning i www.tempobooking.dk s butiksadministration. Efter butiks LOGIN vises dagsoversigten: Ved at klikke på ADMIN i øverste menu linje går man ind i butiks administrations delen. Butiksadministrationen

Læs mere

Sådan opretter du en backup

Sådan opretter du en backup Excovery Guide Varighed: ca. 15 min Denne guide gennemgår hvordan du opretter en backup med Excovery. Guiden vil trinvist lede dig igennem processen, og undervejs introducere dig for de grundlæggende indstillingsmulighed.

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning

Læs mere

GeckoBooking.dk V. 2.7 - Online kalender og bookingsystem

GeckoBooking.dk V. 2.7 - Online kalender og bookingsystem 1. Login... 2 2. Administrationens opbygning... 2 3. Kalendere... 3 3.1 Ret arbejdstid... 3 3.2 Kalender oversigt... 4 3.2.1 Månedskalender... 5 3.2.2 Uge kalender... 5 3.2.3 Dagskalender... 6 3.2.4. Bookning

Læs mere

Afhentning af ansøgninger til de videregående. Brugervejledning Optagelse.dk

Afhentning af ansøgninger til de videregående. Brugervejledning Optagelse.dk Afhentning af ansøgninger til de videregående uddannelser Brugervejledning Optagelse.dk Afhentning af ansøgninger til de videregående uddannelser Brugervejledning Optagelse.dk Forfatter: Tine Kanne Sørensen

Læs mere

How to do in rows and columns 8

How to do in rows and columns 8 INTRODUKTION TIL REGNEARK Denne artikel handler generelt om, hvad regneark egentlig er, og hvordan det bruges på et principielt plan. Indholdet bør derfor kunne anvendes uden hensyn til, hvilken version

Læs mere

Manual til opsætning af Jit-klient version 1.0. Opsætning. Copyright Jit-Danmark Aps 2006. Find mere information på www.jitbesked.

Manual til opsætning af Jit-klient version 1.0. Opsætning. Copyright Jit-Danmark Aps 2006. Find mere information på www.jitbesked. Opsætning Indholdsfortegnelse Sådan finder du indstillingerne...3 Muligheder og begrænsninger...6 Hvilke søgeord skal jeg bruge?...6 Ting man skal passe på...6 Tilføjning/nedlægning af søgeord...6 Ændring

Læs mere

Innovative Business Software A/S

Innovative Business Software A/S Innovative Business Software A/S Technical Note Kalendermodulet 18. december 2014 ii MEDDELELSE OM OPHAVSRET Copyright 2014 Innovative Business Software A/S. Alle rettigheder forbeholdt. Oplysningerne

Læs mere

Internetbaseret borgerinddragelse i planlægningen

Internetbaseret borgerinddragelse i planlægningen Internetbaseret borgerinddragelse i planlægningen I dag er borgerinddragelse en vigtig del af kommunernes hverdag. Men hvordan fastholder kommunerne borgernes interesse for at deltage i kommunens planlægning?

Læs mere

Computeren repræsenterer en teknologi, som er tæt knyttet til den naturvidenskabelige tilgang.

Computeren repræsenterer en teknologi, som er tæt knyttet til den naturvidenskabelige tilgang. Den tekniske platform Af redaktionen Computeren repræsenterer en teknologi, som er tæt knyttet til den naturvidenskabelige tilgang. Teknologisk udvikling går således hånd i hånd med videnskabelig udvikling.

Læs mere

Rolf Fagerberg. Forår 2014

Rolf Fagerberg. Forår 2014 Forår 2014 Mål for i dag Dagens program: 1 2 3 4 5 6 Forudsætninger: Format: Programmering og Diskret matematik I (forelæsninger), TE (øvelser), S (arbejde selv og i studiegrupper) Eksamenform: Skriftlig

Læs mere

Vejledning Rapportbanken

Vejledning Rapportbanken Vejledning Rapportbanken Version 1.2 (opdateret 18. november 2013) Support KL yder kun begrænset support på anvendelse af Rapportbanken. Brug derfor gruppen KOMHEN 2.0 på Dialogportalen (http://dialog.kl.dk)

Læs mere

Oprids over grundforløbet i matematik

Oprids over grundforløbet i matematik Oprids over grundforløbet i matematik Dette oprids er tænkt som en meget kort gennemgang af de vigtigste hovedpointer vi har gennemgået i grundforløbet i matematik. Det er en kombination af at repetere

Læs mere

Lars Andersen: Anvendelse af statistik. Notat om deskriptiv statistik, χ 2 -test og Goodness of Fit test.

Lars Andersen: Anvendelse af statistik. Notat om deskriptiv statistik, χ 2 -test og Goodness of Fit test. Lars Andersen: Anvendelse af statistik. Notat om deskriptiv statistik, χ -test og Goodness of Fit test. Anvendelser af statistik Statistik er et levende og fascinerende emne, men at læse om det er alt

Læs mere

Læringsprogram. Talkonvertering. Benjamin Andreas Olander Christiansen Niclas Larsen Jens Werner Nielsen. Klasse 2.4. 1.

Læringsprogram. Talkonvertering. Benjamin Andreas Olander Christiansen Niclas Larsen Jens Werner Nielsen. Klasse 2.4. 1. Læringsprogram Talkonvertering Benjamin Andreas Olander Christiansen Niclas Larsen Jens Werner Nielsen Klasse 2.4 1. marts 2011 Fag: Vejleder: Skole: Informationsteknologi B Karl G. Bjarnason Roskilde

Læs mere

Effektiv søgning på web-steder

Effektiv søgning på web-steder Effektiv søgning på web-steder 7. maj 1998 Udarbejdet af DialogDesign ved Rolf Molich, Skovkrogen 3, 3660 Stenløse Indhold 1. Indledning 3 1.1. Model for søgning 3 2. Forskellige former for søgning 4 2.1.

Læs mere

Hvad kan jeg i WebUntis?

Hvad kan jeg i WebUntis? Hvad kan jeg i WebUntis? Hvad kan jeg i WebUntis? 1 1. Login 1.1 Login og rettigheder på WebUntis 4 2 2. Skemaer 2.1 Skemaer i WebUntis 7 3 3. Undervisning 3.1 3.2 3.3 3.4 3.5 3.6 3.7 Undervisning i WebUntis

Læs mere

TANKERNE BAG DE NYE VEJLEDENDE SÆT I MATEMATIK

TANKERNE BAG DE NYE VEJLEDENDE SÆT I MATEMATIK TANKERNE BAG DE NYE VEJLEDENDE SÆT I MATEMATIK De foreliggende vejledende sæt i matematik er gældende fra sommeren 2012 på matematik B og sommeren 2013 på matematik A. Der er en del ændringer i forhold

Læs mere

Klasse 1.4 Michael Jokil 03-05-2010

Klasse 1.4 Michael Jokil 03-05-2010 HTX I ROSKILDE Afsluttende opgave Kommunikation og IT Klasse 1.4 Michael Jokil 03-05-2010 Indholdsfortegnelse Indledning... 3 Formål... 3 Planlægning... 4 Kommunikationsplan... 4 Kanylemodellen... 4 Teknisk

Læs mere

APPENDIX A INTRODUKTION TIL DERIVE

APPENDIX A INTRODUKTION TIL DERIVE APPENDIX A INTRODUKTION TIL DERIVE z x y z=exp( x^2 0.5y^2) CAS er en fællesbetegnelse for matematikprogrammer, som foruden numeriske beregninger også kan regne med symboler og formler. Det betyder: Computer

Læs mere

I. Deskriptiv analyse af kroppens proportioner

I. Deskriptiv analyse af kroppens proportioner Projektet er delt i to, og man kan vælge kun at gennemføre den ene del. Man kan vælge selv at frembringe data, fx gennem et samarbejde med idræt eller biologi, eller man kan anvende de foreliggende data,

Læs mere

Center for Statistik. Multipel regression med laggede responser som forklarende variable

Center for Statistik. Multipel regression med laggede responser som forklarende variable Center for Statistik Handelshøjskolen i København MPAS Tue Tjur November 2006 Multipel regression med laggede responser som forklarende variable Ved en tidsrække forstås i almindelighed et datasæt, der

Læs mere

Indledning. På de følgende sider vises, primært i tegneserieform, lidt om mulighederne i PC-AXIS for Windows.

Indledning. På de følgende sider vises, primært i tegneserieform, lidt om mulighederne i PC-AXIS for Windows. Indledning PC-AXIS for Windows er et talbehandlingsprogram, der kan håndtere store mængder statistisk materiale. PC-AXIS giver mulighed for at arbejde videre med det statistiske materiale i egne programmer

Læs mere

Matematik, maskiner og metadata

Matematik, maskiner og metadata MATEMATIK, MASKINER OG METADATA VEJE TIL VIDEN Matematik, maskiner og metadata af CHRISTIAN BOESGAARD DATALOG IT Development / DBC 1 Konkrete projekter med machine learning, hvor computersystemer lærer

Læs mere

Hjemmeprøve 1 Efterår 2013: Afkast og risiko ved investering i aktier

Hjemmeprøve 1 Efterår 2013: Afkast og risiko ved investering i aktier Hjemmeprøve 1 Efterår 2013: Afkast og risiko ved investering i aktier Udviklingen i OMXC20 aktieindekset 2008 2013 1 1 OMXC20 er et indeks over de 20 mest omsatte aktier på Nasdaq OMX Copenhagen ( Københavns

Læs mere

Microsoft Project 2013 ser anderledes ud end tidligere versioner, så vi har lavet denne guide for at gøre din læreproces nemmere.

Microsoft Project 2013 ser anderledes ud end tidligere versioner, så vi har lavet denne guide for at gøre din læreproces nemmere. Startvejledning Microsoft Project 2013 ser anderledes ud end tidligere versioner, så vi har lavet denne guide for at gøre din læreproces nemmere. Værktøjslinjen Hurtig adgang Tilpasse dette område så dine

Læs mere

Dynamisk programmering. Flere eksempler

Dynamisk programmering. Flere eksempler Dynamisk programmering Flere eksempler Eksempel 1: Længste fælles delstreng Alfabet = mængde af tegn: {a,b,c,...,z}, {A,C,G,T}, {,1} Streng = sekvens x 1 x 2 x 3... x n af tegn fra et alfabet: helloworld

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet Eksamen 005, F side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed:

Læs mere

Evolutionsteorien set i et historisk lys med fokus på nåturvidenskåbelige årbejdsformer på Dårwins tid.

Evolutionsteorien set i et historisk lys med fokus på nåturvidenskåbelige årbejdsformer på Dårwins tid. Evolutionsteorien set i et historisk lys med fokus på nåturvidenskåbelige årbejdsformer på Dårwins tid. Skole Deltagende lærer(e) og klasse(r) Emne Indgående fag Niveau Læringsmål Omfang - herunder konkret

Læs mere

MatematiKan Et matematisk skriveværktøj for hele skoleforløbet

MatematiKan Et matematisk skriveværktøj for hele skoleforløbet MatematiKan Et matematisk skriveværktøj for hele skoleforløbet Tænk, hvis alle elever kunne arbejde med procesorienteret matematik. En arbejdsform, hvor du forsøger at arbejde med matematiske problemstillinger

Læs mere

OVERGANGS- OG OPBYGNINGSEFFEKTER

OVERGANGS- OG OPBYGNINGSEFFEKTER OVERGANGS- OG OPBYGNINGSEFFEKTER Kan PowerPoint ikke animere, kan programmet i stedet lave overgangs- og opbygningseffekter. Ikke mindst opbygningseffekter giver rige muligheder, for at lave særdeles avancerede

Læs mere

IMADAs Fagråd. Evalueringsrapport. Matematik & Datalogi. 29. april 2010. Kontaktpersoner

IMADAs Fagråd. Evalueringsrapport. Matematik & Datalogi. 29. april 2010. Kontaktpersoner Evalueringsrapport Matematik & Datalogi 29. april 2010 Kontaktpersoner Magnus Find - magnus06@imada.sdu.dk Niels Kjeldsen - tiels@imada.sdu.dk Tilde My Larsen - tilla07@student.sdu.dk Anders Nielsen Helmar

Læs mere

LEKTION 4 MODSPILSREGLER

LEKTION 4 MODSPILSREGLER LEKTION 4 MODSPILSREGLER Udover at have visse fastsatte regler med hensyn til udspil, må man også se på andre forhold, når man skal præstere et fornuftigt modspil. Netop modspillet bliver af de fleste

Læs mere

ViTre ver. 91 Opdatering fra ScanDis A/S. Instruktion og nyheder i TAL. Automatisk ro Ny forbedret udtalebog. Automatisk ro

ViTre ver. 91 Opdatering fra ScanDis A/S. Instruktion og nyheder i TAL. Automatisk ro Ny forbedret udtalebog. Automatisk ro ViTre ver. 91 Opdatering fra ScanDis A/S Instruktion og nyheder i TAL Automatisk ro Ny forbedret udtalebog Automatisk ro ScanDis A/S ViTre version 91 opdatering Side 1 Ny indstilling af oplæsning med funktionen

Læs mere

Det Rene Videnregnskab

Det Rene Videnregnskab Det Rene Videnregnskab Visualize your knowledge Det rene videnregnskab er et værktøj der gør det muligt at redegøre for virksomheders viden. Modellen gør det muligt at illustrere hvordan viden bliver skabt,

Læs mere

Lektion 9s Statistik - supplerende eksempler

Lektion 9s Statistik - supplerende eksempler Lektion 9s Statistik - supplerende eksempler Middelværdi for grupperede observationer... Summeret frekvens og sumkurver... Indekstal... Lektion 9s Side 1 Grupperede observationer Hvis man stiller et spørgsmål,

Læs mere

t a l e n t c a m p d k Matematiske Metoder Anders Friis Anne Ryelund 25. oktober 2014 Slide 1/42

t a l e n t c a m p d k Matematiske Metoder Anders Friis Anne Ryelund 25. oktober 2014 Slide 1/42 Slide 1/42 Hvad er matematik? 1) Den matematiske metode 2) Hvad vil det sige at bevise noget? 3) Hvor begynder det hele? 4) Hvordan vælger man et sæt aksiomer? Slide 2/42 Indhold 1 2 3 4 Slide 3/42 Mængder

Læs mere

Undervisning i Dansk Palliativ Database

Undervisning i Dansk Palliativ Database Undervisning i Dansk Palliativ Database - AnalysePortalen og mulighederne for at anvende egne data Undervisning i Dansk Palliativ Database - AnalysePortalen og mulighederne for at anvende egne data Dagens

Læs mere

Vidensmedarbejdere i innovative processer

Vidensmedarbejdere i innovative processer Vidensmedarbejdere i innovative processer Vidensmedarbejdere i innovative processer af direktør og partner Jakob Rasmussen, jr@hovedkontoret.dk, HOVEDkontoret ApS 1. Indledning Fra hårdt til blødt samfund

Læs mere

Bilag 1: Prisudvikling, generelt effektiviseringskrav og robusthedsanalyser FORSYNINGSSEKRETARIATET AUGUST 2014 VERSION 3

Bilag 1: Prisudvikling, generelt effektiviseringskrav og robusthedsanalyser FORSYNINGSSEKRETARIATET AUGUST 2014 VERSION 3 Bilag 1: Prisudvikling, generelt effektiviseringskrav og robusthedsanalyser FORSYNINGSSEKRETARIATET AUGUST 2014 VERSION 3 Indholdsfortegnelse Indledning Prisudvikling 2.1 Prisudviklingen fra 2014 til

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne: Opgave

Læs mere

Studieordning for bacheloruddannelsen i softwareudvikling ved IT-Universitetet i København

Studieordning for bacheloruddannelsen i softwareudvikling ved IT-Universitetet i København Studieordning for bacheloruddannelsen i softwareudvikling ved IT-Universitetet i København Studieordning a 1. september 2012 Revideret 16. juni 2014 Revideret 19. august 2015 Indhold Indledning Kapitel

Læs mere

Maple. Skærmbilledet. Vi starter med at se lidt nærmere på opstartsbilledet i Maple. Værktøjslinje til indtastningsområdet. Menulinje.

Maple. Skærmbilledet. Vi starter med at se lidt nærmere på opstartsbilledet i Maple. Værktøjslinje til indtastningsområdet. Menulinje. Maple Dette kapitel giver en kort introduktion til hvordan Maple 12 kan benyttes til at løse mange af de opgaver, som man bliver mødt med i matematiktimerne på HHX. Skærmbilledet Vi starter med at se lidt

Læs mere

Fagdage/fordybelsesdage

Fagdage/fordybelsesdage Fagdage/fordybelsesdage På nogle folkeskoler ønsker man, at en bestemt dag i ugen anvendes som fagdag/fordybelsesdag. Forstået således, at en klasse én dag om ugen KUN har ét fag. I det næste tager vi

Læs mere

Indholdsfortegnelse. EasyIQ IDM 5.4 Brugermanual

Indholdsfortegnelse. EasyIQ IDM 5.4 Brugermanual Indholdsfortegnelse Indledning... 2 Forsiden... 2 Dine genveje... 3 Nyheder... 3 EasyIQ og EasyIQ Quick Funktioner... 3 Administration... 8 Licens... 8 Nyheder... 9 Eksterne links... 11 Log... 12 Password...

Læs mere

BAAN IVc. Brugervejledning til BAAN Data Navigator

BAAN IVc. Brugervejledning til BAAN Data Navigator BAAN IVc Brugervejledning til BAAN Data Navigator En udgivelse af: Baan Development B.V. P.O.Box 143 3770 AC Barneveld Holland Trykt i Holland Baan Development B.V. 1997. Alle rettigheder forbeholdes.

Læs mere

DANSK SKOLEDATA APS. Tlf. 86 44 80 99 E-mail DSD@skoledata.dk DSA-Ventelisten

DANSK SKOLEDATA APS. Tlf. 86 44 80 99 E-mail DSD@skoledata.dk DSA-Ventelisten Indholdsfortegnelse Overordnet beskrivelse af programmets funktioner... 2 Log på... 2 Manuel oprettelse af elev.... 3 Optagelse af elever... 3 1 Gruppering og sortering af elever... 3 2 Udvælg aspiranter...

Læs mere

LØNSPREDNINGSOPGØRELSER NU TILGÆNGELIG I LOPAKS

LØNSPREDNINGSOPGØRELSER NU TILGÆNGELIG I LOPAKS LØNSPREDNINGSOPGØRELSER NU TILGÆNGELIG I LOPAKS INDHOLD 2 Formål 2 LOPAKS 3 Begreber 6 Eksempler 6. december 2010 LOPAKS er nu udvidet med en ny tabel, der giver mulighed for at opgøre lønspredning på

Læs mere

19 Hashtabeller. Noter. PS1 -- Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse.

19 Hashtabeller. Noter. PS1 -- Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse. 19 Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse. Sammenligning af hashtabeller og søgetræer. 281 Hashing-problemet (1). Vi ønsker at afbilde n objekter på en tabel

Læs mere

Guide til lektielæsning

Guide til lektielæsning Guide til lektielæsning Gefions lærere har udarbejdet denne guide om lektielæsning. Den henvender sig til alle Gefions elever og er relevant for alle fag. Faglig læsning (=lektielæsning) 5- trinsmodellen

Læs mere

Statistik med TI-Nspire CAS version 3.2. Bjørn Felsager September 2012. [Fjerde udgave]

Statistik med TI-Nspire CAS version 3.2. Bjørn Felsager September 2012. [Fjerde udgave] Statistik med TI-Nspire CAS version 3.2 Bjørn Felsager September 2012 [Fjerde udgave] Indholdsfortegnelse Forord Beskrivende statistik 1 Grundlæggende TI-Nspire CAS-teknikker... 4 1.2 Lister og regneark...

Læs mere

Brugervejledning til Højkvalitetsdokumentationen og Dialogforummet på Danmarks Statistiks hjemmeside

Brugervejledning til Højkvalitetsdokumentationen og Dialogforummet på Danmarks Statistiks hjemmeside Brugervejledning til Højkvalitetsdokumentationen og Dialogforummet på Danmarks Statistiks hjemmeside Forord Denne vejledning beskriver baggrunden for begreber og sammenhænge i Danmarks Statistiks dokumentationssystem

Læs mere

IDAP manual Emission

IDAP manual Emission IDAP manual Emission Dato: 08-06-2005 16:32:35 Indhold INDHOLD... 1 1 EMISSION... 2 1.1 KURVER... 2 1.2 RAPPORTER... 5 1.3 DATA REDIGERING... 6 1.3.1 Masse redigering... 7 1.3.2 Enkelt redigering... 10

Læs mere

YouYonder. så husker du det du lærer

YouYonder. så husker du det du lærer YouYonder så husker du det du lærer Lidt om kunsten at tage effektive noter Hvis du læser en artikel på internettet, ser en video, læser en bog eller hører et foredrag, så vil du kunne øge dit udbytte

Læs mere

Appendiks 6: Universet som en matematisk struktur

Appendiks 6: Universet som en matematisk struktur Appendiks 6: Universet som en matematisk struktur En matematisk struktur er et meget abstrakt dyr, der kan defineres på følgende måde: En mængde, S, af elementer {s 1, s 2,,s n }, mellem hvilke der findes

Læs mere

Oprettede studieretninger på de gymnasiale uddannelser 2007

Oprettede studieretninger på de gymnasiale uddannelser 2007 Oprettede studieretninger på de gymnasiale uddannelser 2007 Af Susanne Irvang Nielsen og Simon Reusch 1. Indledning Fra den 15. februar til den 15. marts 2007 er der blevet indsamlet data for oprettede

Læs mere

Projekt - Visual Basic for Applications N på stribe

Projekt - Visual Basic for Applications N på stribe Projekt - Visual Basic for Applications N på stribe Mikkel Kaas og Troels Henriksen - 03x 3. november 2005 1 Introduktion Spillet tager udgangspunkt i det gamle kendte 4 på stribe, dog med den ændring,

Læs mere

Effectiveness of Data

Effectiveness of Data The Unreasonable Effectiveness of Data Af Halevy, Norvig og Pereira Oversigt The unreasonableeffectiveness of Data Learning from Text at Web Scale Talegenkendelse Maskinoversættelse Generelt Semantisk

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet ksamen 06, side af sider anmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. ursusnavn: lgoritmer og datastrukturer ursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer

Læs mere

Daglig brug af JitBesked 2.0

Daglig brug af JitBesked 2.0 Daglig brug af JitBesked 2.0 Indholdsfortegnelse Oprettelse af personer (modtagere)...3 Afsendelse af besked...4 Valg af flere modtagere...5 Valg af flere personer der ligger i rækkefølge...5 Valg af flere

Læs mere

Dette er et uddrag fra: Lis og Torben Pøhler: "Hu Hej - Vild med dyr" - en læsevejledning Maaholms Forlag 2000.

Dette er et uddrag fra: Lis og Torben Pøhler: Hu Hej - Vild med dyr - en læsevejledning Maaholms Forlag 2000. LET-tallet Dette er et uddrag fra: Lis og Torben Pøhler: "Hu Hej - Vild med dyr" - en læsevejledning Maaholms Forlag 2000. Langt de fleste letlæsningsbøger i Danmark er i dag»lix'et«, det vil sige, at

Læs mere

Sikre Beregninger. Kryptologi ved Datalogisk Institut, Aarhus Universitet

Sikre Beregninger. Kryptologi ved Datalogisk Institut, Aarhus Universitet Sikre Beregninger Kryptologi ved Datalogisk Institut, Aarhus Universitet 1 Introduktion I denne note skal vi kigge på hvordan man kan regne på data med maksimal sikkerhed, dvs. uden at kigge på de tal

Læs mere

Forsvundet ved oversættelsen? Ny viden om hvordan proteinet for Huntingtons Sygdom dannes Du siger kartoffel. huntingtingenet

Forsvundet ved oversættelsen? Ny viden om hvordan proteinet for Huntingtons Sygdom dannes Du siger kartoffel. huntingtingenet Forskningsnyheder om Huntingtons Sygdom På hverdagssprog Skrevet af forskere. Til det globale HS-fællesskab Forsvundet ved oversættelsen? Ny viden om hvordan proteinet for Huntingtons Sygdom dannes Dannelsen

Læs mere

GODE RÅD TIL SPECIALEPROCESSEN

GODE RÅD TIL SPECIALEPROCESSEN 5 trin i en god specialeproces: Den rigtige indstilling Tidlig start på forberedelsesfasen Planlægning af processen Gode arbejdsvaner Passende start på jobsøgningen Der er ingen universel løsning på, hvordan

Læs mere

NR. 55 LUDUS. Valg af valgfag DEN 7. OKTOBER 2011 LUDUS. Tilpas valgfag

NR. 55 LUDUS. Valg af valgfag DEN 7. OKTOBER 2011 LUDUS. Tilpas valgfag NR. 55 LUDUS DEN 7. OKTOBER 2011 INDHOLD LUDUS Tilpas valgfag Om valgfag i øvrigt Tilpas studieretning Fag i studieretningen Valgfag til studieretningen Fag til fravælgelse af valgfag Kopier studieretning

Læs mere

ALMINDELIGT ANVENDTE FUNKTIONER

ALMINDELIGT ANVENDTE FUNKTIONER ALMINDELIGT ANVENDTE FUNKTIONER I dette kapitel gennemgås de almindelige regnefunktioner, samt en række af de mest nødvendige redigerings- og formateringsfunktioner. De øvrige redigerings- og formateringsfunktioner

Læs mere

Projekt 1 Spørgeskemaanalyse af Bedst på Nettet

Projekt 1 Spørgeskemaanalyse af Bedst på Nettet Projekt 1 Spørgeskemaanalyse af Bedst på Nettet D.29/2 2012 Udarbejdet af: Katrine Ahle Warming Nielsen Jannie Jeppesen Schmøde Sara Lorenzen A) Kritik af spørgeskema Set ud fra en kritisk vinkel af spørgeskemaet

Læs mere

Datalogistudiet. Rolf Fagerberg. Institut for Matematik og Datalogi Syddansk Universitet. Studiestart, 1. september 2014

Datalogistudiet. Rolf Fagerberg. Institut for Matematik og Datalogi Syddansk Universitet. Studiestart, 1. september 2014 Datalogistudiet Rolf Fagerberg Institut for Matematik og Datalogi Syddansk Universitet Studiestart, 1. september 2014 Datalogistudiet Studiestart, 1. september, 2014 1 / 15 Hvad arbejder du med bagefter?

Læs mere

Tietgenskolen - Nørrehus. Data warehouse. Database for udviklere. Thor Harloff Lynggaard DM08125

Tietgenskolen - Nørrehus. Data warehouse. Database for udviklere. Thor Harloff Lynggaard DM08125 Tietgenskolen - Nørrehus Data warehouse Database for udviklere Thor Harloff Lynggaard DM08125 Juni 2010 Indhold Beskrivelse... 3 Data warehouse... 3 Generelt... 3 Sammenligning... 3 Gode sider ved DW...

Læs mere

Brug af Brobygning.NET for UU-vejledere

Brug af Brobygning.NET for UU-vejledere Brug af Brobygning.NET for UU-vejledere Indhold Indledning... 2 Kom godt i gang... 3 Holdlisten... 6 Skriv i kontaktbogen... 9 Udskriv fra holdlisten... 10 Tilmeldingslisten... 10 Opret fravær på en eller

Læs mere

Kapitel 1. statusseminar HERE GOES TEXT

Kapitel 1. statusseminar HERE GOES TEXT Kapitel 1 statusseminar HERE GOES TEXT 1 Kapitel Problemanalyse.1 Indledning I mange år har evolutionsteorien været centrum for en stærk debat. De som er enige om en evolution, er dog ikke altid enige

Læs mere

Excel tutorial om indekstal og samfundsfag 2008

Excel tutorial om indekstal og samfundsfag 2008 Excel tutorial om indekstal og samfundsfag 2008 I denne note skal vi behandle data fra CD-rommen Samfundsstatistik 2008, som indeholder en mængde data, som er relevant i samfundsfag. Vi skal specielt analysere

Læs mere