Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1
|
|
- Jan-Olof Samuelsson
- för 9 år sedan
- Visningar:
Transkript
1 Inlämningsuppgift : Finn 2D1418 Språkteknologi Christoffer Sabel E-post: csabel@kth.se 1
2 1. Inledning Teori Termdokumentmatrisen Finn Implementation Databasen Algoritm för att skapa en databas Algoritm för att söka i en databas Tokstem Förbättringar...6 2
3 1. Inledning Om man har en stor textmängd, t ex artiklar, är det vanligt att man vill kunna söka bland dessa efter specifika ord. Då är det vanligt att man skapar ett index som är en form av databas. Frågan är då: hur fungerar egentligen ett index. För att lära mig det har jag skapat ett program som jag kallar Finn. Finn har två funktioner: 1) Utifrån vissa textfiler skapar man ett index i form av tre stycken filer. 2) Sedan kan man använda dessa filer med Finn för att söka efter i vilka texter som olika ord förekommer. Sökresultaten sorteras sedan efter hur viktiga sökorden anses vara i de olika texterna. För att avgöra hur viktigt ett visst ord är i en text så brukar man beräkna hur stor andelen av alla ord i texten är just det man söker efter. Ifall ett ord nämns ofta i en text så anses det viktigt för vad texten handlar om och ger därför ett högre värde. Man kan även låta ord som inte förekommer i så många texter få ett högre värde. 2. Teori 2.1 Termdokumentmatrisen För att kunna söka på ord i textmängderna så behöver man spara statistisk data över hur orden förekommer i de olika texterna. Det sparas i en matris där varje rad motsvarar ett unikt ord och varje kolumn en text. Vad man använder för statistik kan variera men två vanliga mått är: i = Rad. j = Kolumn. N = Antal texter i mängden. n = Antal texter som ordet (i) förekommer i. i m i, j = Antal förekomster av ordet (i) i texten (j). M j = Antal ord i text (j). Termfrekvens mi, j tf i, j = M j Hur stor andel av orden i text (j) är ordet (i). Inversdokumentfrekvens N idf = i log ni Ord som inte förekommer i så många olika texter får ett större värde, dom är ovanliga och ska därför betraktas som viktigare ifall man söker på dom. 3
4 2.2 Finn Finn sparar tf*idf som statistiskt mått i sin termdokumentmatris. Inversdokumentfrekvensen har bara betydelse ifall man gör en sökning på flera ord samtidigt, annars så skalar den bara om värdena utan att påverka vilken text klassas som bästa söksvar. Finn är egentligen två program, först så kan den skapa databas filer utifrån en mängd källfiler och sedan så kan man göra en sökning efter ord i specificerad databas. Skapa databas finn i [VALMÖJLIGHETER]* [DBNAMN] [FILLISTA] VALMÖJLIGHETER: -mx Begränsa antalet källfiler till X. -s Använd endast ordstammen. -o Låt ovanliga ord få en högre vikt. FILLISTA: Fil innehållande en lista över vilka filer som ska indexeras. Varje rad innehåller fullständigt namn på en fil att använda. DBNAMN: Basnamn för filerna som utgör databasen. Sök efter ord finn f [DBNAMN] DBNAMN: Basnamn för filerna som utgör databasen. 3. Implementation Efter att snabbt ha gått igenom teorin bakom hur sökmotorn Finn fungerar så ska det här avsnittet beskriva hur implementationen är gjord. Avslutningsvis så beskrivs några förslag hur man kan modifiera Finn för bättre prestanda och funktionalitet. 3.1 Databasen Databasen för textmängden är i grund och botten Termdokumentmatrisen som man har lagrat på ett effektivt sätt. Det är opraktiskt att spara alla fält i matrisen eftersom majoriteten kommer att innehålla nollor, det är inte ofta det finns en text som innehåller alla ord. Exempel: Vi har 60 texter som tillsammans innehåller 3000 olika ord, för att spara denna matris skulle man behöva *storlek_att_spara_ett_fält med minne. Man tittar närmare på matrisen och ser att varje text innehåller i genomsnitt 50 olika ord, för att spara detta behöver man endast 3000*storlek_att_spara_ett_fält med minne. Att spara matrisen på det sista sättet kräver endast 1.7% av minnet som det första. 4
5 I Finn sparas matrisen i tre stycken filer med samma basnamn:.words Varje unikt ord sparas i en datastruktur. 1) Ordet i textform (max 19 tecken). 2) Varje ord tilldelas ett unikt nummer (som de andra filerna sedan använder). Orden sparas sorterade så att det går att använda binärsökning när man ska ta reda på de unika numren för sökorden..files Varje text läses från fil och sparas i en datastruktur. 1) Namn på filen, inklusive sökväg (max 127 tecken). 2) Var i index filen som orden för den här texten börjar. 3) Antal ord (rader i matrisen) som ska läsas in..index Här sparas förekomsterna för orden i de olika texterna (matrisdata). 1) Ordets unika nummer. 2) Vikt som det här ordet har i texten. Alla delar som tillhör en och samma text sorteras efter ordets nummer för att göra sökningen effektivare. 3.2 Algoritm för att skapa en databas För att sökningen ska bli bättre så kan man säga åt Finn att spara ordens stam istället för hela formen, detta gör att t ex bilen och bilarna räknas som samma ord bil. För att dela upp en text i ord (eventuellt stammen) så använder jag ett program. Sedan tar jag svaret från det och kör ett antal unix kommandon (cut, sort, uniq) för att få texten i den form jag vill ha. Pseudo kod För varje text i indata. Skapa lista över orden och antal förekomster. För varje ord Är det ett nytt ord. Lägg till i den globala ordlistan. Ge det ett unikt nummer. Spara ordet till.index. Spara filnamn, var i.index det första ordet sparades och antal ord i texten till.files. Sortera den globala ordlistan och spara den till.words. 3.3 Algoritm för att söka i en databas Man kan söka på ett eller flera ord åt gången. Det går till så att man skapar en vektor med alla sökorden. Sedan multipliceras den med varje kolumn i matrisen, och de resultat som är större än noll sparas som svarsresultat (i sorterad ordning så högst värde först). 5
6 Pseudo kod För varje ord i söksträngen. Använd binärsökning för att hitta ordet i.words och spara dess nummer (om det finns). Skapa en vektor med alla nummer och sortera den. För varje text i.files Beräkna totala vikt genom att summera värdena för varje sökord som finns i texten. Sortera och skriv ut namnet på alla texter som hade en vikt större än noll. Anledning till att jag sorterar de olika vektorerna efter ordens nummer är att det går snabbare att jämföra två sorterade vektorer än osorterade. Om mängden av tal i vektorerna inte överlappar varandra så behöver man inte göra några jämförelser. 3.4 Tokstem Som jag nämnde i 3.2 så använder Finn ett program som heter tokstem för att plocka ut de olika orden från en text (den klarar av att ta bort html taggar). Ifall s flaggan används när man skapar databasen så ska bara stammen för varje ord användas, och det ordnar tokstem automatiskt. Finn fungerar bara ifall tokstem finns tillgängligt från katalogen man arbetar i. Tokstem är skapat av Magnus Rosell rosell@nada.kth.se, det i sin tur använder sig utav två andra verktyg som är utvecklade på nada: 1) Stava, av Viggo Kann och Joachim Hollman. 2) En svensk stemmer av Johan Carlberger. 3.5 Förbättringar Som med dom flesta program finns det saker man kan göra för att effektivisera Finn. Två viktiga egenskaper för en sökmotor är mängden minne och tid den behöver för att skapa databasen. Minne (hårddisk) Varje ord i.words och filnamn i.files lagras med förbestämd storlek oavsett hur många tecken som används. Detta är slöseri på minne då de allra flesta strängar använder betydligt färre tecken. Man skulle kunna låta strängar ha varierande längd, men det har som nackdel att det blir svårare att söka i filerna och baskostnaden (i minne) för att spara en sträng kan öka en aning. Finn läser det mesta av data från filerna när den behöver dom, det är bara vid skapandet av ordlistan som alla unika ord sparas i minnet. Därför så har Finn inte så höga minneskrav annat än för hårddisken. Tid att skapa databaser Tokstem anropas för varje textfil vilket innebär att en ny process hela tiden måste skapas. Jag vet inte hur tokstem är skrivet men ifall det kräver någon sorts initiering så kommer den att köras en gång för varje textfil som ska läsas, vilket är slöseri på tid. För att förbättra det skulle man kunna gruppera textfiler och låta tokstem bearbeta flera åt gången, men då blir det samtidigt svårare att läsa in. Beroende på vilken funktionalitet tokstem har så kan man effektivisera på olika sätt. Att implementera funktionaliteten som tokstem ger direkt i Finn skulle öka effektiviteten, men komplexiteten för programmet skulle även det öka. 6
7 Söktid Den nuvarande implementationen sparar kolumnerna i termdokumentmatrisen. För att effektivisera söktiden så skulle man eventuellt kunna spara raderna istället. Då behöver man bara gå igenom en lista för varje sökord (som finns sparad på fil) och notera de filerna som söksvar. Man måste skriva lite extra kod för att sökning på flera ord ska fungera. Men att spara matrisen på det här sättet gör att det blir mycket svårare att jämföra hur lika två texter är. Eventuellt skulle man kunna spara båda varianterna, men minneskraven skulle då öka. Att spara vilka ord som förekommer i en text kallas framåt indexering. Invers indexering är tvärtom, man sparar vilka texter ett visst ord förekommer i. Finn använder sig utav framåt indexering vilket egentligen passar bättre för att jämföra texter än att söka efter ord. Men utifrån ett framåt index kan man skapa ett invers index ifall man skulle vilja bygga vidare på programmet. Finn var konstruerat som ett enkelt testprogram, och någonstans måste man dra gränsen för vad som räcker att implementera. Flera filer till en För att kod och exekvering ska vara överskådlig så har de olika delarna sparats i separata filer. Man skulle kunna kombinera alla filerna till en enda fil för att ha all data samlad. 7
LABORATION 4 OBJEKTORIENTERAD PROGRAMMERING I C++ I
LABORATION 4 OBJEKTORIENTERAD PROGRAMMERING I C++ I Vt 2002 Mål: Lära sig: Filhantering Stränghantering Vektorer Funktioner Programstruktur Tid: Läroboken: 6 timmars handledd laborationstid. Beräknad klar
Uppgift 1 (grundläggande konstruktioner)
Uppgift 1 (grundläggande konstruktioner) a) Skriv ett program som låter användaren mata in 7 heltal och som gör utskrifter enligt nedanstående körexempel. Mata in 7 heltal: 1 0 0 3 1 1 1 Tal nr 2 var en
EVO DEV. EvodevExcel.GarpReportAddin
EVO DEV EvodevExcel.GarpReportAddin Evodev AB web www.evodev.se epost info@evodev.se Telefon 033-4300300 Fax 033-126697 Innehåll Installera programmet 1 Installation 1 Registerinställningar 1 Start av
Teoretisk del. Facit Tentamen TDDC (6)
Facit Tentamen TDDC30 2014-08-29 1 (6) Teoretisk del 1. (6p) "Snabba frågor" Alla svar motiveras väl. a) Vad är skillnaden mellan synligheterna public, private och protected? (1p) Svar:public: Nåbar för
Programbeskrivning. Chaos på Web. Version 1.0 2005-09-21
2005-09-21 Programbeskrivning Chaos på Web Version 1.0 Chaos systems AB Tel. 08-410 415 00 e-post: info@chaos.se Solna strandväg 18, 6tr Fax. 08-29 06 66 http://www.chaos.se 171 54 SOLNA Reg. nr: 556476-6813
Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp
Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen
Matriser och vektorer i Matlab
CTH/GU LABORATION 2 TMV157-2014/2015 Matematiska vetenskaper Matriser och vektorer i Matlab 1 Inledning Först skall vi se lite på matriser, vilket är den grundläggande datatypen i Matlab, sedan skall vi
Föreläsning 5 Innehåll
Föreläsning 5 Innehåll Algoritmer och effektivitet Att bedöma och jämföra effektivitet för algoritmer Begreppet tidskomplexitet Datavetenskap (LTH) Föreläsning 5 VT 2019 1 / 39 Val av algoritm och datastruktur
Introduktion till frågespråket SQL (v0.91)
DD1370: Databaser och Informationssystem Hösten 2014 Petter Ögren Introduktion till frågespråket SQL (v0.91) 13:e November Disclaimer: Dessa anteckningar har producerats under viss tidspress, och kan därför
Databaser Design och programmering. Fysisk design av databasen att ta hänsyn till implementationsaspekter: minnesteknik filstrukturer indexering
Databaser Design och programmering Fysisk design av databasen att ta hänsyn till implementationsaspekter: minnesteknik filstrukturer indexering 2 Programdesign, databasdesign Databasdesign Kravspecifikation
Sökning och sortering
Sökning och sortering Programmering för språkteknologer 2 Sara Stymne 2013-09-16 Idag Sökning Analys av algoritmer komplexitet Sortering Vad är sökning? Sökning innebär att hitta ett värde i en samling
Språkteknologi och Open Source
Språkteknologi och Open Source Erik Edin F01 erikedin@kth.se 15 oktober 2004 1 1 Open Source Open Source är en rörelse som syftar till att skriva datorprogram som släpps fria utan kommersiella intressen.
Vanliga frågor för VoiceXpress
Vanliga frågor för VoiceXpress 1) Hur stort ordförråd (vokabulär) innehåller VoiceXpress? VoiceXpress innehåller ett mycket omfattande ordförråd, och svaret på frågan varierar en aning beroende på hur
Föreläsning 11 - Automater, textsökning, tillstånd
Föreläsning 11 - Automater, textsökning, tillstånd Automater Textsökning KMP-automat (Knuth-automat) Boyer-Moore Rabin-Karp Sökning på webben Automater En portkodsautomat med nio knappar kan se ut så här:
Föreläsning REPETITION & EXTENTA
Föreläsning 18 19 REPETITION & EXTENTA Programmeringsteknik på 45 minuter Klasser och objekt Variabler: attribut, lokala variabler, parametrar Datastrukturer Algoritmer Dessa bilder är inte repetitionsbilder
Databaser - Design och programmering. Minnesteknik. Minnesteknik, forts. Hårddisk. Primärminne (kretsteknik) Fysisk design av databasen
Databaser Design och programmering Fysisk design av databasen att ta hänsyn till implementationsaspekter minnesteknik filstrukturer indexering Minnesteknik Primärminne (kretsteknik) Flyktigt Snabbt Dyrt
Tentamen TEN1 HI1029 2014-05-22
Tentamen TEN1 HI1029 2014-05-22 Skrivtid: 8.15-13.00 Hjälpmedel: Referensblad (utdelas), papper (tomma), penna Logga in med tentamenskontot ni får av skrivvakten. Det kommer att ta tid att logga in ha
TDDI16: Datastrukturer och algoritmer
TDDI16: Datastrukturer och algoritmer Lab 3: Ordkedjor Höstterminen 2018 2018-05-14 1 Upplägg Första delen av instruktionen, avsnitt 2 till 6, innehåller en fullständig beskrivning av problemet utan några
Flex - Manual. Innehåll
Flex Manual Innehåll Introduktion... 3 På- och avloggning... 4 Startsida... 5 Specificera & ladda upp indatafil... 6 Välj information... 7 Namnge & godkänn beställning... 8 Hämta beställning... 9 Välj
Databaser Design och programmering Minnesteknik Minnesteknik, forts Utvecklingen Hårddisk Hårddisk, forts
Databaser Design och programmering Fysisk design av databasen att ta hänsyn till implementationsaspekter minnesteknik filstrukturer indexering 1 Minnesteknik Primärminne (kretsteknik) Flyktigt Snabbt Dyrt
3. Toppkvinnor på hög Låt lådan och de två kvinnornas famnar utgöra stackarna L, K1 respektive K2. Från början finns alla kort i L.
KTH, Nada, Erik Forslin 2D1343, LÖSNING TILL TENTAMEN I DATALOGI FÖR ELEKTRO Lördagen den 8 mars 2003 kl 14 19 Maxpoäng tenta+bonus = 50+7. Betygsgränser: 25 poäng ger trea, 35 ger fyra, 45 ger femma.
Gränssnitt för FakeGranska. Lars Mattsson
Gränssnitt för FakeGranska av Lars Mattsson (larsmatt@kth.se) Innehållsförteckning 1 Introduktion...3 2 Genomförande:...3 3 Användning...5 4 Kända buggar:...6 5 Källförteckning...6 2 1 Introduktion Taken
Objektorienterad programmering E. Algoritmer. Telefonboken, påminnelse (och litet tillägg), 1. Telefonboken, påminnelse (och litet tillägg), 2
Objektorienterad programmering E Algoritmer Linjär sökning Binär sökning Tidsuppskattningar Föreläsning 9 Vad behöver en programmerare kunna? (Minst) ett programspråk; dess syntax och semantik, bibliotek
Datastrukturer, algoritmer och programkonstruktion (DVA104, VT 2015) Föreläsning 6
Datastrukturer, algoritmer och programkonstruktion (DVA104, VT 2015) Föreläsning 6? DAGENS AGENDA Komplexitet Ordobegreppet Komplexitetsklasser Loopar Datastrukturer Några nyttiga regler OBS! Idag jobbar
Uppgift 1 ( Betyg 3 uppgift )
2008-03-12.kl.14-19 Uppgift 1 ( Betyg 3 uppgift ) Du skall skriva ett program som läser igenom en textfil som heter FIL.TXT och skriver ut alla rader där det står ett decimaltal först på raden. Decimaltal
Kungl. Tekniska högskolan NADA Grundformer med Stava
Kungl. Tekniska högskolan NADA Grundformer med Stava Språkteknologi 2D1418 Höstterminen 2004 Författare: Andreas Pettersson az@kth.se 1. Bakgrund Om man automatiskt ska plocka ut de informationsbärande
Importera och använda en textdatabas i Excel
Importera och använda en textdatabas i Excel I denna beskrivning tänkte jag visa hur man kan hantera information från en databas, som är sparad som en semikolonseparerad textfil. Textfilen kommer att behandlas
UMEÅ UNIVERSITET 26 april 2002 Instutionen för datavetenskap. Grafproblem. Laboration 4, Datastrukturer och Algoritmer VT02
UMEÅ UNIVERSITET 26 april 2002 Instutionen för datavetenskap Grafproblem Laboration 4, Datastrukturer och Algoritmer VT02 Laboration 4 - grafproblem Förpackningsdatum: Denna lab-spec är senast ändrad:
Försättsblad till skriftlig tentamen vid Linköpings Universitet
Försättsblad till skriftlig tentamen vid Linköpings Universitet Datum för tentamen 2013-03-27 Sal Tid 08:00 12:00 Kurskod Provkod Kursnamn/benämning Institution Antal uppgifter som ingår i tentamen Antal
1 Skapa Tabell...2. 2 Skapa Relationer...20. 3 Redigera Relationer...24. 4 Redigera Fält i Tabell...26. 5 Lägga till Poster i Tabell...
Kapitel 5 Tabell 1 Skapa Tabell...2 1.1 Tabellfönstret... 4 1.2 Fältegenskaper... 8 1.3 Primärnyckel... 11 1.4 Spara Tabell... 12 1.5 Tabellguiden... 12 2 Skapa Relationer...20 3 Redigera Relationer...24
Behörighetssystem. Ska kontrollera att ingen läser, skriver, ändrar och/eller på annat sätt använder data utan rätt att göra det
Behörighetssystem Ska kontrollera att ingen läser, skriver, ändrar och/eller på annat sätt använder data utan rätt att göra det Systemet måste kunna registrera vilka resurser, d v s data och databärande
Föreläsning 2. Operativsystem och programmering
Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data
MMA132: Laboration 2 Matriser i MATLAB
MMA132: Laboration 2 Matriser i MATLAB Introduktion I den här labben skall vi lära oss hur man använder matriser och vektorer i MATLAB. Det är rekommerad att du ser till att ha laborationshandledningen
Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP.
Laboration 1 Översikt 1. Att komma igång med laborationsmiljön a. installera Aptana Studio 3 b. Installera EasyPHP 2. Testa lite programmering a. Testa enkla uppgifter b. Testa automatiskt 3. Skapa inloggningsformulär
Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.
Uppdatera Mobilus Professional till version 2.0.1 Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering. * Filen MP.exe (Mobilus programmet) får inte användas* under tiden uppdateringen
TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 9 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 9 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Prioritetskö Heap Representation som
Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor
http://w3.msi.vxu.se/multimedia Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor Rune Körnefors Innehåll Variabler i JavaScript
Emacs. Eric Elfving Institutionen för datavetenskap (IDA) 22 augusti 2016
Emacs Eric Elfving Institutionen för datavetenskap (IDA) 22 augusti 2016 Historia 2/21 Utvecklas konstant, från 70-talet Är en generellt texteditor (INTE ordbehandlare) som fokuserar på texten, inte utseendet
Lösningsförslag DD1320/DD
1. KMP för IT-support K Ö A R I K Ö N 0 1 1 1 1 0 1 3 eller 0 1 1 1 1 1 1 0 1 3 Lösning med eller utan mellanslag godkänns 5 ettor i följd godkänd (slarvfel) sista siffran (3) ett krav men kan avvika om
Innehåll. Förändringar i v6.0
Innehåll Innehåll... 2 Allmän information... 3 Systemförändringar... 3 Databasen... 3 Import... 3 DuoSTATION Manager... 3 Ärenden... 3 E-post... 3 Dokumenthantering... 3 Utrustningar... 3 Användare...
Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php
Introlektion PHP är ett av de enklare språken att lära sig just pga. dess dynamiska struktur. Det används för att bygga upp båda stora och mindre system. Några vanliga system som använder sig av PHP är
Föreläsning 5 Innehåll. Val av algoritm och datastruktur. Analys av algoritmer. Tidsåtgång och problemets storlek
Föreläsning 5 Innehåll Val av algoritm och datastruktur Algoritmer och effektivitet Att bedöma och jämföra effektivitet för algoritmer Begreppet tidskomplexitet Det räcker inte med att en algoritm är korrekt
Optimering av webbsidor
1ME323 Webbteknik 3 Lektion 7 Optimering av webbsidor Rune Körnefors Medieteknik 1 2019 Rune Körnefors rune.kornefors@lnu.se Agenda Optimering SEO (Search Engine Optimization) Sökmotor: index, sökrobot
Kort om World Wide Web (webben)
KAPITEL 1 Grunder I det här kapitlet ska jag gå igenom allmänt om vad Internet är och vad som krävs för att skapa en hemsida. Plus lite annat smått och gott som är bra att känna till innan vi kör igång.
Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4
Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 014-015 Denna lektion ska vi studera rekursion. Lektion 4 Principen om induktion Principen om induktion är ett vanligt sätt att bevisa
HI1024 Programmering, grundkurs TEN2 2015-10-30
HI1024 Programmering, grundkurs TEN2 2015-10-30 KTH STH Haninge 8.15-13.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King
Datastrukturer och algoritmer. Innehåll. Tabell. Tabell - exempel. Gränsyta till Tabell. Tabell. Modell. Hashtabell Relation, lexikon.
Datastrukturer och algoritmer Föreläsning 7 Tabell, hashtabell Relation & lexikon Innehåll Tabell Tabell Hashtabell Relation, lexikon Modell Uppslagsbok Organisation Ändlig avbildning av argument på värden
Manual för ett litet FEM-program i Matlab
KTH HÅLLFASTHETSLÄRA Manual för ett litet FEM-program i Matlab Programmet består av en m-fil med namn SMALL_FE_PROG.m och en hjälp-fil för att plotta resultat som heter PLOT_DEF.m. Input För att köra programmet
Tentamen omfattar 40 poäng fördelade på 7 uppgifter. 20 poäng krävs för betyget 3, 30 poäng för betyget 4 och 36 poäng för betyget 5.
% & ' ()* #$! "#$ +-,/.
Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.
Uppdatera Mobilus Professional till version 3.1.2 Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering. Mobilus Digital Rehab AB * Filen MP.exe (Mobilus programmet) får inte användas
Objektorienterad programmering Föreläsning 10. Copyright Mahmud Al Hakim Sorteringsalgoritmer
Objektorienterad programmering Föreläsning 10 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Fält fort. Fält som parametrar Parameterfält params Parametrar till Main Listor ArrayList
Introduktion till användning av linux-servern sledge och några övningsuppgifter
Uppsala universitet Institutionen för utbildning, kultur och medier Monica Langerth Zetterman och Richard Walls IT-stöd i undervisningen, HT10 Introduktion till användning av linux-servern sledge och några
Nya Klartext Dokumentsök Söker blixtsnabbt igenom alla era dokument!
Nya Klartext Dokumentsök Söker blixtsnabbt igenom alla era dokument! Varför lägga ut dyra pengar på externa dokumenthanteringssystem? Klartext Akthantering i kombination med Klartext Dokumentsök är allt
Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp
Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen
Tentamen TEN1 HI
Tentamen TEN1 HI1029 2014-03-14 Skrivtid: 8.15-13.00 Hjälpmedel: Referensblad (utdelas), papper (tomma), penna Logga in med tentamenskontot ni får av skrivvakten. Det kommer att ta tid att logga in ha
Föreläsning 5: Dynamisk programmering
Föreläsning 5: Dynamisk programmering Vi betraktar en typ av problem vi tidigare sett: Indata: En uppsättning intervall [s i,f i ] med vikt w i. Mål: Att hitta en uppsättning icke överlappande intervall
Fredag 10 juni 2016 kl 8 12
KTH CSC, Alexander Baltatzis DD1320/1321 Lösningsförslag Fredag 10 juni 2016 kl 8 12 Hjälpmedel: En algoritmbok (ej pythonkramaren) och ditt eget formelblad. För betyg E krävs att alla E-uppgifter är godkända,
Programmering B med Visual C++ 2008
Programmering B med Visual C++ 2008 Innehållsförteckning 1 Repetition och lite nytt...5 I detta kapitel... 5 Programexekvering... 5 Loop... 5 Källkod... 6 Verktyg... 6 Säkerhetskopiera... 6 Öppna, kompilera,
Översikt. Stegvis förfining. Stegvis förfining. Dekomposition. Algoritmer. Metod för att skapa ett program från ett analyserat problem
Översikt Stegvis förfining Pseudokod Flödesdiagram Dekomposition KISS-regeln Procedurell dekomposition DRY-regeln Algoritmer Sortering och sökning Stegvis förfining Metod för att skapa ett program från
Import / export av personer i Vaka 2.
Import / export av personer i Vaka 2. Med hjälp av Microsoft Excel kan du skapa en fil för att importera personer. Detta kan vara en stor fördel om du redan har en Excel lista över personer som skall tilldelas
Laboration med Internet och HTML
Laboration med Internet och HTML Denna laboration går ut på att du skall kunna skapa enkla hemsidor i HTML. Vi kommer inte att ta upp edstorer för hemsidor som t.ex. DreamWeaver eller FrontPage. Dessa
ALEPH ver. 16 Sökning
Fujitsu, Westmansgatan 47, 582 16 Linköping INNEHÅLLSFÖRTECKNING 1. INLEDNING... 1 2. SÖK... 1 2.1 Avancerad sökning... 2 2.2 CCL flera databaser... 2 2.3 Flera fält... 3 2.4 Regler för sökning... 4 2.5
Agenda. Arrayer deklaration, åtkomst Makron Flerdimensionella arrayer Initiering Strängar Funktioner och arrayer. Övningar nu och då
Agenda Arrayer deklaration, åtkomst Makron Flerdimensionella arrayer Initiering Strängar Funktioner och arrayer Övningar nu och då 1 Motivering I de flesta problem ingår att hantera multipla data I de
Projektuppgift - Gymmet
Projektuppgift - Gymmet 2013 1. Projekt - syfte, instruktioner och uppgift Syftet med den här projektuppgiften är att ni nu ska tillämpa allt det ni har lärt er i kursens två labbdelar, dvs både kunskaper
Försättsblad till skriftlig tentamen vid Linköpings Universitet
Försättsblad till skriftlig tentamen vid Linköpings Universitet Datum för tentamen 2015-08-28 Sal Tid 08:00 12:00 Kurskod Provkod Kursnamn/benämning Institution Antal uppgifter som ingår i tentamen Antal
Algoritmer, datastrukturer och komplexitet
Algoritmer, datastrukturer och komplexitet Övning 6 Anton Grensjö grensjo@csc.kth.se 4 oktober 2017 1 Idag Algoritmkonstruktion (lite blandat) Redovisning och inlämning av labbteori 3 2 Uppgifter Uppgift
Linjära ekvationssystem i Matlab
CTH/GU LABORATION 2 MVE11-212/213 Matematiska vetenskaper Linjära ekvationssystem i Matlab 1 Inledning Först skall vi se lite på matriser, vilket är den grundläggande datatypen i Matlab, sedan skall vi
Tentamen i Realtidsprogrammering
Tentamen i Realtidsprogrammering Ordinarie Tentamen Datum: 2011-05-14 Tid: 08:15 11:15 Ansvarig lärare: Telefon: 301438 Hjälpmedel: Miniräknare Poäng: Tentamen omfattar 40 poäng fördelade på 5 uppgifter.
Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.
Schenker har interna system som handhar information som är av intresse för våra kunder/partners. Idag finns ett flertal av dem tillgängliga via Internet, sk Online-tjänster. Dessa erbjuder inte bara hämtning
Instruktion för laboration 1
STOCKHOLMS UNIVERSITET MATEMATISKA INSTITUTIONEN Avd. för matematisk statistik MD, ANL, TB (rev. JM, OE) SANNOLIKHETSTEORI I Instruktion för laboration 1 De skriftliga laborationsrapporterna skall vara
Nyheter i. Solen ORBIT 6.7
2014-02-12 Nyheter i Solen ORBIT 6.7 Cartesia GIS AB Nyheter i konceptet Mobila klienter och e-tjänst Till ORBIT finns nu två mobila klienter (HTML5-appar) tillgängliga. En för allmänheten, ORBIT Felanmälan,
Bildbaskontoret. Bruksanvisning. Handitek. anpassar tekniken till människan BRUX\...\809082 BILDBASKONTORET
Bildbaskontoret Bruksanvisning Handitek BRUX\...\809082 BILDBASKONTORET anpassar tekniken till människan Innehållsförteckning Introduktion... 3 Datorkrav...3 Om bildbaser... 4 Vad är en bildbas?...4 Varför
Projektuppgift - Biblioteket
Projektuppgift - Biblioteket 2013 1. Projekt - syfte, instruktioner och uppgift Syftet med den här projektuppgiften är att ni nu ska tillämpa allt det ni har lärt er i kursens två labbdelar, dvs både kunskaper
Lösningar Datastrukturer TDA
Lösningar Datastrukturer TDA416 2016 12 21 roblem 1. roblem 2. a) Falskt. Urvalssortering gör alltid samma mängd av jobb. b) Sant. Genom att ha en referens till sista och första elementet, kan man nå både
Objektorienterad programmering, Java, 5p TDBA63
UMEÅ UNIVERSITET Datavetenskap 030219 PRAKTISKT DELPROV Objektorienterad programmering, Java, 5p TDBA63 Datum : 030205 Tid : 9 13 Hjälpmedel : Allt. Kommunikation med andra personer (direkt eller indirekt)
Algoritmer och effektivitet. Föreläsning 5 Innehåll. Analys av algoritmer. Analys av algoritmer Tidskomplexitet. Algoritmer och effektivitet
Föreläsning 5 Innehåll Algoritmer och effektivitet Algoritmer och effektivitet Att bedöma, mäta och jämföra effektivitet för algoritmer Begreppet tidskomplexitet Undervisningsmoment: föreläsning 5, övningsuppgifter
Emacs. Eric Elfving Institutionen för Datavetenskap (IDA)
Emacs Eric Elfving Institutionen för Datavetenskap (IDA) Emacs Utveckas konstant, från 70-talet Är en texteditor (inte ordbehandlare) och fokuserar på texten, inte utseendet. Ingår i GNU-projektet Har
kl Tentaupplägg. TIPS 4: Du kan kompilera din kod med följande kommandon g++11, w++11 (för mer varningar)
Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer
Föreläsning 3.1: Datastrukturer, en översikt
Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,
SQLs delar. Idag. Att utplåna en databas. Skapa en databas
Idag SQLs delar Hur skapar vi och underhåller en databas? Hur skapar man tabeller? Hur får man in data i tabellerna? Hur ändrar man innehållet i en tabell? Index? Vad är det och varför behövs de? Behöver
Användarhandledning Version 1.2
Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...
Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.
Att förstå variabler Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Vad är en variabel? En variabel är en plats att lagra information. Precis
Magnus Nielsen, IDA, Linköpings universitet
Föreläsning 7 Introduktion till sortering TDDC91,TDDE22,725G97: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 24 september 2018 Magnus Nielsen, IDA, Linköpings universitet 7.1 1
Steg 5 Webbsidor One.com och OpenOffice Writer Mac OS X
Steg 5 Webbsidor One.com och OpenOffice Writer Mac OS X Nov 13 Liljedalsdata.se Liljedalsdata Steg 5 Mac Sida 1 Inledning Förkunskaper Steg 1, 2, 3 och 4. Innan du är mogen för att lägga ut en sida på
Uppdatera Mobilus Professional till version 3.2.1. * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.
Uppdatera Mobilus Professional till version 3.2.1 Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering. Mobilus Digital Rehab AB * Filen MP.exe (Mobilus programmet) får inte användas
Taltaggning. Rapport av Daniel Hasselrot 781105-0157, d98-dha@nada.kth.se 13 oktober 2003
Taltaggning av Daniel Hasselrot 781105-0157, d98-dha@nada.kth.se 13 oktober 2003 Sammanfattning Denna rapport är skriven i kursen Språkteknologi och behandlar taggning av årtal i en text. Metoden som används
Föreläsning Datastrukturer (DAT036)
Föreläsning Datastrukturer (DAT036) Nils Anders Danielsson 2013-11-27 Idag Balanserade sökträd Splayträd Skipplistor AVL-träd AVL-träd Sökträd Invariant (för varje nod): Vänster och höger delträd har samma
Generell säkerhet. Loggning - Hur mycket ska man logga? Inloggningsrutinerna i Unix. Loggning fortsättning
Generell säkerhet Här finns det inga direkta rätt eller fel. Snarare saker man bör tänka på när man implementerar ett program. Kort sagt: Efter att du kommit på hur du tänkt göra, sov på saken och tänk
Algoritmer, datastrukturer och komplexitet
Algoritmer, datastrukturer och komplexitet Övning 6 Anton Grensjö grensjo@csc.kth.se 9 oktober 2015 Anton Grensjö ADK Övning 6 9 oktober 2015 1 / 23 Översikt Kursplanering Ö5: Grafalgoritmer och undre
1. Enkel sökning Globalsökning Avancerad sökning Historik Söka via klassificeringsstruktur 14
Ledningskansliet, Juridik och dokumentation Patrik Spånning Westerlund MANUAL 2017-11-16 SLU ID: SLU.ua.2017.2.1.1.IA-9 Manual Sökningar i Public 360 Manual Sökningar i Public 360 Dokumentägare: LK/Dokumentationsenheten/
Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod
Föreläsning 3-4 Innehåll Diskutera Vad gör programmet programmet? Föreslå vilka satser vi kan bryta ut till en egen metod. Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer
Föreläsning 7. Felrättande koder
Föreläsning 7 Felrättande koder Antag att vi vill skicka ett meddelande som består av bokstäver a,b,c,d. Vi kan koda a,b,c,d. Antag att det finns en viss sannolikhet att en bit i ett meddelande som skickas
Beräkningsvetenskap föreläsning 2
Beräkningsvetenskap föreläsning 2 19/01 2010 - Per Wahlund if-satser if x > 0 y = 2 + log(x); else y = -1 If-satsen skall alltid ha ett villkor, samt en då det som skall hända är skrivet. Mellan dessa
Föreläsning 9. Sortering
Föreläsning 9 Sortering Föreläsning 9 Sortering Sortering och Java API Urvalssortering Instickssortering Söndra och härska Shellsort Mergesort Heapsort Quicksort Bucketsort Radixsort Läsanvisningar och
Googles sidrankning - linjär algebra värt en förmögenhet
Googles sidrankning - linjär algebra värt en förmögenhet Outline 1 Sökmotorer 2 Grafteori Linjär algebra 3 Målet Utifrån användarens sökord lista de mest relevanta webbsidorna. Dessutom i en ordning som
Icarus - Enkelt Skript. Manual revision 1.2, Keylogic AB.
Icarus - Enkelt Skript Manual revision 1.2, Keylogic AB. 1 Innehållsförteckning: Icarus - Enkelt Skript... 1 Innehållsförteckning:... 2 Allmänt... 3 Några grundläggande begrepp.... 3 Att komma igång, steg
DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion
Staffan Romberger 2008-10-31 DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion Efter den här laborationen ska du kunna hantera vektorer och matriser, villkorssatser
Flera processer. Minneshantering. Trashing kan uppstå ändå. Ersätta globalt
Flera processer Minneshantering Operativsystem lektion 6 Potentiellt problem: Den sida som plockas bort behöver inte vara den sida som används minst!! Det kan finnas andra processer som inte körs eller
Kom igång med TIS-Office
Kom igång med TIS-Office Denna guide hjälper dig att komma igång med TIS-Office, mer information om hur man använder programmet finns i manualer på TIS-Office CD-skivan och i den inbyggda hjälpfunktionen