Faglighed Hvad interesserer du dig for? Hvad ved du noget om? Hvad kan du? Vanskeligheden ved for en datalog at beskrive sin egen faglighed er udgangspunktet.

Slides:



Advertisements
Lignende præsentationer
DPS Data ApS Få bedre datakvalitet, spar tid og penge - med Adresse*Kontrol Henrik Skalbo DPS Data ApS Blokhusvej 3, DK-2920 Charlottenlund Tlf:
Advertisements

©Jenny Bohr – Til underviserne Her er valgt at vise filmen ”et liv i kaos”. Hvis kursisterne er unge, kan man vælge en anden film eks. ”det.
– med fælles MC-funktion
Hypotese test – kapitel 6 (Signifikans test)
1 Problemkompleksitet 2 Problemers kompleksitet En ineffektiv algoritme: køretiden vokser eksponentielt med input- størrelsen Et problem, der ikke kan.
UDVIKLINGSKATALOG - A •være mere direkte og krævende overfor andre •påtage sig nye varierede opgaver noget oftere •bruge sin autoritet noget mere •træffe.
Kamerabaseret udpegning af svin TEST Torben Gregersen IHA/ASE
Projektforslag Keld Helsgaun.
Efterafgrøder og miljøet
Vejret Datalogger og database. Forsøg i Natur/Teknik
Usability E2002, IT-højskolen CPH, Paulin Hansen Fjernstyret og automatiseret usability John Paulin Hansen (7)
1. Ordreside: Køretøjerside: Brugereside: Timesedlerside: Beskederside: Oversigtskortside: Themeside: 19.
Koordinatsystemet Y-aksen 2. aksen X-aksen 1. aksen.
Den rejsende sælgers problem
1 Effektiv forrentning Kjeld Tyllesen PEØ, CBS Erhvervsøkonomi / Managerial Economics Kjeld Tyllesen, PEØ, CBS.
Anden information Bettina Dahl Søndergaard Lektor Hvad er svært ved beviser for gymnasieelever - og kan vi gøre noget ved det? Fredag den 18. marts 2011.
Fagets Informations Teknologi Introduktion til Programmering i Java For Industri, Global Forretningsudvikling, samt fri studie aktivitet ved Bent Thomsen.
Artikel præsentation Kenneth Pedersen DESIGN SCIENCE IN INFORMATION SYSTEMS RESEARCH Hevner, A. R., March, S. T., Jinsoo, P. and Ram, S. (2004)
Introduktion til Microsoft CRM Christian Cletus Bjørn Eilertsen.
Gentagne tværsnit og panel data II 9. maj 2007
Introduktion til Access (Access, del 1)
Delphi. Hjælper dig med at træffe de rigtige beslutninger Via Delphi Scoring gør vi dig i stand til at træffe bedre og mere profitable beslutninger. Nøgleelementerne.
FEN Diskret matematik/Seminar 3 - proofs 1 Beviser Et bevis er en argumentation, som overbeviser om, at en påstand er sand, påstanden kaldes.
Søgning & sortering Intro søgning Lineær søgning Binær søgning
Handicaphjælperens psykiske arbejdsmiljø - en interviewundersøgelse
1 Bevisteknikker. 2 Bevisteknikker (relevant både ved design og verifikation) Teorem: Der findes uendeligt mange primtal Bevis: Antag at der findes et.
FEN Diskret matematik/Seminar 11 Diplomuddannelsen i Softwarekonstruktion (Master-brobygning) Fagpakke: Formelle modeller for programmering Diskret.
Danske skoleelevers matematikvanskeligheder
1 Projektforslag på modul 2 ved Keld Helsgaun. 2 Fagligt indhold Projekt- og kursusarbejdet skal give de studerende indsigt i følgende emnekredse: Gå.
1 UNION-FIND. 2 inddata: en følge af heltalspar (p, q); betydning: p er “forbundet med” q uddata: intet, hvis p og q er forbundet, ellers (p, q) Eksempel.
Algoritmer og Datastrukturer 2 Dynamisk Programmering [CLRS, kapitel 15] Gerth Stølting Brodal Aarhus Universitet.
FORMÅL med Garudas profilværktøjer er:
Objektorienteret programmering
Velkommen.
1 Algoritme til at løse knude P-center problemet Algoritmen brugte set covering problemet Virker derfor kun til knude problemer Vi vil alligevel bruge.
1 Datalogi C Datastrukturer og algoritmer ved Keld Helsgaun.
® Edlund A/S, 21. maj All rights reserved. Fra Ivy League til Actulus John Olsen, Edlund A/S Fremtidens matematik, 21. maj John Olsen.
Sandsynligheder Udfald og hændelser Sandsynligheder Additionsreglen
Psykometriske egenskaber ved DIP-Q
Context- og flow-diagrammer (databaser, del 3)
Innovation præsentations eks. Start med at forklare hvilket problem du mener dit innovative forslag ville kunne løse. Mit innovative forslag tager udgangspunkt.
1 Algoritmik ved Keld Helsgaun. 2 Plan Algoritmebegrebet et simpelt eksempel Et eksempel på algoritmedesign.
”Lineær Programmering - Minimering”
Informatik-civilingeniør på DTU. Civilingeniøruddannelsen 5. årEksamensprojekt + valgfrie kurser 4. årValgfrie kurser 3. årValgfrie kurser 2. årFagpakke.
1 Algoritmik ved Keld Helsgaun. 2 Plan Hvad er algoritmik? Et eksempel Kursusbeskrivelse formål, indhold og form.
GP 11, 14/ Grundlæggende programmering Efterår 2001 Forelæsning 11 onsdag 14/ kl. 9:15 – 12:00.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal.
1 Ideer til datalogiprojekter Keld Helsgaun 2 Forskning: kombinatorisk optimering heuristisk søgning (kunstig intelligens) programmeringsværktøjer Undervisning:
1 Design, analyse og verifikation. 2 Algoritmebegrebet Design Bevisteknikker Design ved hjælp at matematisk induktion Analyse O-notation Logaritmer Binær.
FEN KbP/seminar 1: Specifikationer/Notationen Q 1 Kontraktbaseret programmering: Seminar 1 Om specifikationer Algoritmenotationen Q.
Design, verifikation og analyse
1 Design, analyse og verifikation. 2 Design Bevisteknikker Design ved hjælp at matematisk induktion Analyse O-notation Logaritmer Binær søgning Verifikation.
1 Grafalgoritmer I. 2 Plan Grafer - definition - anvendelser - terminologi - eksempler på grafproblemer Grafgennemgang - dybde-først-gennemgang - bredde-først-gennemgang.
Introduktion til Access (Access, del 1). RHS – Informationsteknologi – Fra design til udvikling Vi ved nu, hvordan vi finder et design for en database,
Kapitel 5 Lineære DB-modeller
Et eller andet datalogi… Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet Voronoi Diagrammer Datalogi, Studiestart 2013.
Algoritmer og Datastrukturer 2 Grådige Algoritmer [CLRS ] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal.
Datamanipulation, rekodning etc. Christian Albrekt Larsen Centre for Comparative Welfare Studies (
Algoritmer og Datastrukturer 2 Grådige Algoritmer [CLRS ] Gerth Stølting Brodal.
Grundlæggende programmering Forår 2002
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal.
Forretnings innovation ! 1/15 Det overordnede mål er værdiskabelse i virksomheder Metoder til afklaring af hvilke veje der skal følges. Idé og Udviklingshuset.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Aarhus Universitet.
1 Projektforslag ved Keld Helsgaun. 2 Mine interesser Kunstig intelligens Kombinatorisk optimering (heuristiske metoder) Programmering.
SKABELON.
Erhvervsrettet innovation - elektrikeruddannelsen Uge 26 – Aalborg Dag 2 1.
‘I skal vandre i kærlighed’ (Ef 5, 2).
Teoretiske kontinuerte fordelinger
Toksikologi med agenter – et forløb i matematik (og bioteknologi)
Præsentationens transcript:

Faglighed Hvad interesserer du dig for? Hvad ved du noget om? Hvad kan du? Vanskeligheden ved for en datalog at beskrive sin egen faglighed er udgangspunktet for artiklen E. W. Dijkstra: ”The Humble Programmer”, Comm. ACM., Vol. 10 (1972), pp

Uddannelse og beskæftigelse Uddannelse: Cand. Scient. fra Københavns Universitet 1973: Hovedfag: datalogi Bifag: matematik Speciale: Automatisk bevisførelse Beskæftigelse: Pædagogikum i matematik1973(1/2 år) Matematiklærer på Hf1974(1/2 år) Timelærer på RUC1974(1/2 år) Adjunkt i datalogi på RUC Lektor i datalogi på RUC1979-

Automatisk bevisførelse Bevisførelse: at påvise af at et udsagn følger logisk af en række andre udsagn Automatisk bevisførelse: en mekanisering af bevisførelsesprocessen

Eksempel på et bevisførelsesproblem Givet følgende 2 udsagn: Socrates er et menneske. Alle mennesker er dødelige. Påvis at vi kan konkludere, at Socrates er dødelig.

En andet eksempelproblem Arne, Børge og Christian er medlemmer af Alpinistklubben. Ethvert medlem, som ikke er skiløber, er bjergbestiger. Bjergbestigere kan ikke lide regn, og enhver, som ikke kan lide sne, er ikke skiløber. Børge kan ikke lide det, som Arne kan lide, men kan lide alt det, som Arne ikke kan lide. Arne kan lide regn og sne. Spørgsmålet lyder: Er der et medlem af Alpinistklubben, som er bjergbestiger, men ikke skiløber?

Opgave og kompetencer Implementering og vurdering af en algoritme til automatisk bevisførelse i første-ordens prædikatkalkulen baseret på SL- resolution og modelelimination. Kompetencer: matematisk logik datastrukturer oversætterteknik filstrukturer

Databaser Problem: Lad der være givet en mængde af geografiske lokationer. Find hurtigt alle de lokationer, der ligger inden for en givet område (f.eks. en polygon).

Opgaver og kompetencer Design af en datastruktur, der muliggør effektiv indsættelse, søgning og sletning. Teoretisk og empirisk vurdering af effektiviteten. Implementering i det objektorientede sprog SIMULA af et databaseværktøj baseret på datastrukturen. Kompetencer: datastrukturer filstrukturer geometriske algoritmer objektorienteret design og programmering algoritmeanalyse

Simulering Udvikling af et sprog til kombineret kontinuert og diskret simulering. Simulering: eksperimentering med modeller på en datamaskine. Diskret simulering: simulering, hvor modellen er beskrevet ved hændelser. (eks.: simulering af kassebetjeningen i et supermarked) Kontinuert simulering: simulering, hvor modellens variabler varierer kontinuert, typisk beskrevet ved hjælp af differentialligninger. (eks.: simulering af planeternes bevægelse).

Kombineret simulering Kombineret simulering: Simulering, hvor der indgår såvel hændelser som kontinuert variation. (eks.: simulering af et elevatorsystem).

Opgave og kompetencer Udvikling i SIMULA af et objektorienteret programmerings- værktøj til kombineret kontinuert og diskret simulering. Kompetencer: Sprogdesign Simuleringsteknik og -sprog Numerisk analyse

Programmeringsparadigmer Ikke-deterministisk programmering (baksporing). Programmering ved hjælp af korutiner.

Baksporing (”baglæns” udførelse, eng. backtracking) Baksporing er velegnet til løsning af kombinatoriske problemer, d.v.s. problemer, hvor målet er, blandt et (ofte stort) antal muligheder, at finde den eller de, der opfylder en række givne betingelser. Algoritmen starter med at gå forlæns og træffer undervejs en række beslutninger. Men hvis den kommer til en blindgyde, som ikke vil kunne føre til en løsning, baksporer den, d.v.s. går baglæns og omgør (om muligt) den sidst trufne beslutning. Derefter går den atter fremad.

Opgaver og kompetencer Udvikling og afprøvning af værktøjer til baksporsprogrammering i SIMULA C Kompetencer: Sprogdesign Køretidssystemer Maskinnær programmering Kombinatorisk problemløsning

Programmering ved hjælp af korutiner En korutine (eng. coroutine) er en rutine, der kan blive afbrudt i sit arbejde, for så eventuelt senere at genoptage det. Korutiner repræsenterer rutiner, der samarbejder for at løse en given opgave. Idet der dog ikke er tale om parallelitet. Brugen af korutiner forenkler programmeringen i en lang række tilfælde. To eksmpler på anvendelsesområder: diskret simulering oversætterkonstruktion

Opgaver og kompetencer Udvikling og afprøvning af et værktøj til programmering ved hjælp af korutiner i C++. Kompetencer: Sprogdesign Køretidssystemer

Kombinatorisk optimering Løsning af kombinatoriske problemer, hvor målet er, blandt et antal muligheder, at finde den, der opfylder en række givne betingelser, og som er den mest ”optimale”. Denne type af problemer forekommer hyppigt i praksis, men de er ofte vanskelige at løse på grund af et stort antal muligheder.

Den rejsende sælgers problem ?

En sælger skal besøge et antal byer. Find den korteste tur, som starter og ender i en given by. En sælger skal besøge et antal byer. Find den korteste tur, som starter og ender i en given by. Den rejsende sælgers problem Rønne Hasle Sandvig-Allinge Gudhjem Svaneke Neksø Åkirkeby Eksempel med 7 byer:

F. Voigt (1831): Der handlungsreisende, wie er sein soll und was zu tun hat, um Aufträge zu erhalten und eines glucklischen Erfolgs in seinen Geschäften gewiss zu sein. Von einem alten Commis-Voyageur. F. Voigt (1831): Der handlungsreisende, wie er sein soll und was zu tun hat, um Aufträge zu erhalten und eines glucklischen Erfolgs in seinen Geschäften gewiss zu sein. Von einem alten Commis-Voyageur. Problemets fødsel Råd: Besøg så mange steder som muligt uden at besøge noget sted to gange. Problemet blev første gang forsøgt løst af matematikere ved Princeton University i 1931.

Eksempler på anvendelse Ruteplanlægning Produktionsplanlægning Ledningsføring Robotstyring Boring af printplader

Motivation Mange anvendelser. Problemet er typisk for en lang række tilsvarende problemer. Teoretisk og praktisk indsigt opnået fra studiet af problemet kan ofte overføres til tilsvarende problemer. (Landvindinger: Branch-and-bound, kompleksitetsteori)

Problem med 532 byer

Optimal løsning

Antallet af mulige ruter for symmetriske tilfælde med n byer: (n-1)!/2 Antallet af mulige ruter for symmetriske tilfælde med n byer: (n-1)!/2 for n = 20: antal ruter > for n = 532: antal ruter > Jvf.: - antal mikrosekunder på et år: ≈ antal elementarpartikler i hele det kendte univers: ≈ Problemets kompleksitet

Løsningsalgoritmer Eksakte algoritmer Problemet tilhører en mængde, NP, af “svære” problemer med eksponentiel tidskompleksitet. Approksimative (heuristiske) algoritmer Turkonstruktionsalgoritmer Turforbedringsalgoritmer Kombinerede algoritmer

Eksempel på turkonstruktionsalgoritme Nærmeste nabo Ingen kvalitetsgaranti

Eksempel på turforbedringsalgoritme Ombytning (2-opt)

Lin-Kernighans algoritme (variabel k-opt) Opgave: forbedring af denne algoritme.

Vurdering af ydeevne (tid og løsningskvalitet) Analyse af værste opførsel Analyse af gennemsnitlig opførsel Empirisk analyse

Resultater Den forbedrede algoritme finder ikke blot næroptimale løsninger på kort tid. Den finder optimum med meget stor sandsynlighed! For alle problemer med kendt optimum har algoritmen fundet optimum. TSPLIB indeholder cirka 100 sådanne problemer, hvoraf det største er på byer (svarende til 10 50,000 mulige ture).

2392-by problem (optimal løsning) Tidsforbrug: cirka 2 minutter

3038-by problemet (optimal løsning) Tidsforbrug: cirka 7 minutter

4461-by problem (optimal løsning) Tidsforbrug: cirka 20 minutter

7397-by problem (optimal løsning) Tidsforbrug: cirka 4 timer

13509-by problem (optimal løsning) Tidsforbrug: cirka 2 dage

85900-by problem (hidtil bedste løsning) Tidsforbrug: cirka 5 dage