Sudoku Mål: Lage et enkelt system som løser Sudoku-oppgaver.

Slides:



Advertisements
Liknende presentasjoner
Ny ordlyd på rapportene i avdelingen og nye rutiner for registrering av skyteaktiviteter For nye brukere: Du må først være registrert med en e-postadresse.
Advertisements

utnytte ledg rom/medløpspasning
Klikk Aktiver redigering i meldingsfeltet.
PowerPoint laget av Bendik S. Søvegjarto Konsept, tekst og regler av Skage Hansen.
Velkommen som spiller i aksjespillet.
En innføring i spillet: Dobbeltkrig – Grønn
Tallet e - Funksjonen e x Eksponensialfunksjon Eks: Mobiltlf – sms [1/5] La oss tenke oss at vi er 7 milliarder mennesker på jorden og at alle har hver.
Hva trenger jeg av data, og hvordan skal jeg innhente disse?
Ideutvikling - Problemdefinisjonen. Hva gjør de erfarne problemløserne? •Samler og analyserer informasjon og data •Snakker med mennesker som kjenner problemet.
Samordna Opptak Mål: Fordele studenter på studier.
Gjenfinningssystemer og verktøy II
Fartsmåling Mål: Lage et program som regner ut gjennomsnittsfart ut fra to passeringer av fotobokser.
Enkel kryptering Mål: Kode et dokument slik at det blir uleselig for de som ikke har kodenøkkelen.
Corporate Finance Planlegging og kontroll. Investeringsprosessen Vi har hittil bare behandlet en snever del av investeringsprosessen, kun regneteknikker.
Klargjøring fra forrige gang
PowerPoint laget av Bendik S. Søvegjarto Konsept, tekst og regler av Skage Hansen.
INF 295 Algoritmer og datastrukturer Forelesning 7 ADT Lister, Stakker og Køer Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 1 - kapittel 1 Introduksjon Hans F. Nordhaug (Ola Bø) (Ketil Danielsen, 2007)
Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 2 - kapittel 1 Hans F. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 10 Invarianter og Hashing Hans Fr. Nordhaug (Ola Bø)
Høgskolen i Oslo Webprogrammering Ajax og PHP. I dag l Hvordan få en bedre brukeropplevelse via Ajax- script l Gjennomgang av kode l Oppgaveløsning på.
Eksempel på SQL ”SQL-setninger” har en struktur som likner på ”naturlig språk”, med ”verb, subjekter og adjektiver”. SQL-setningene begynner alltid med.
Dynamiske nettsider PHP Del 3 – Funksjoner. Funksjoner  Funksjoner brukes for å dele større oppgaver i mindre oppgaver  Når vi lager programmer basert.
Dynamiske nettsider PHP Del 2 – Kontrollstrukturer.
Askøy Sjakklubb Ungdom
Linq To SQL Fagdag 20. November DataContext  DataContexten er mappingen mot databasen –Generer objekter for alle entiteter (tabeller), med properties.
Justering av priser Mål: Lage et system som justerer priser ut fra en offisiell prisindeks.
AI - Kunstig Intelligens
Kapping av plater Mål: Vi skal lage komponenter for en møbelfabrikk ut fra standardiserte plater på 12 x 24 dm. Komponentene har lengde og bredde oppgitt.
Tema: Kommunikasjon i team
Behov for plater Mål: En møbelfabrikk har en kappliste som definerer materialbehovet framover for alle komponenter som skal sages ut av plater. Vi skal.
Opptelling av karakterer Mål: Vi skal sammenligne karakterer studentene får i to kurs.
LAST OPP S2-SCANNEREN. Å laste opp scanneren betyr: Å sende data fra scanningene du har utført fra scanneren til en verdensomspennende Nu Skin-server.
INF 295 Algoritmer og datastrukturer Forelesning 22 Teknikker for algoritmeutvikling Hans Fr. Nordhaug/ Ola Bø.
Ortering Mål: Se på forskjellige måter for sortering.
Pakkekontroll Mål: Kontrollere at kunder har mottatt pakker vi har sendt i posten.
Mål: Sortere materialer i klasser ut fra lengde.
Høydemeter Mål: Lage et program som regner ut stigning, største høyde, minste høyde m.m.
LISP-OPPGAVER 1)Skriv en prosedyre som konverterer en liste til en array, altså en prosedyre som leser inn en liste og returnerer en endimensjonal array.
1 INF oktober 2010 Stein Krogdahl Foreløpige foiler Dagens program: –Første time: Kap 23.5: Trær og strategier for spill med to spillere –Andre.
Kermit kysser Askepott. Kysser(kermit,askepott) Første ordens predikatlogikk relasjonssymbol individkonstanter.
Valutaomregning Mål: Lage et program som regner om fra en valuta til en annen.
Celsius til Fahrenheit
Mer avansert kryptering Mål: Kode et dokument slik at det blir uleselig for de som ikke har kodenøkkelen.
Kombinatorikk og sannsynlighet
§4. Irrasjonale og komplekse tall
A2A / A2B M1 årskurs 4. november 2009
Android-Programmering Våren Oversikt Long-running operasjoner Introduksjon til Android services On-demand service Bruk av servicer på tvers av prosesser.
Kap. 9 – Computer Intelligence How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen,
1 Kan noen virkelig tro at Jesus stod opp fra de døde?
Spill bridge 3 Kapittel 9 Spilleføring i trumfkontrakter.
Kap. 4 – Cases of Formalization How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A.
Prosjektpresentasjon for [Virksomhet]
Kap. 4 – Cases of Formalization
TDT4105 Informasjonsteknologi, grunnkurs
Øvingsforelesning i Python (TDT4110)
Multiplikasjon - Leksjon 1: Sammenheng mellom multiplikasjon og divisjon Lekse til mandag.
Paradigmer og ulike kultur i psykisk helsetjeneste
Kap. 4 – Cases of Formalization
Kap. 48 – A Better Model? How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen, Universitetet.
Kermit kysser Askepott
Samling 2 klasse 5, Tromsø 28. – 30. april 2015
Eldre og moderne teknologi
فصل هفتم شاخص گذاری.
Begynnerkurs i Python Realfagskonferansen 2019 Henrik H. Løvold
Oppgaver Hvit i trekket. Er hvit sjakk, matt eller patt?
PROTO.IO INTERAKTIV PROTOTYPING.
IN3030 – Effektiv parallellprogrammering Uke 1 2. del, våren 2019
Utskrift av presentasjonen:

Sudoku Mål: Lage et enkelt system som løser Sudoku-oppgaver.

Kai A. Olsen, BIBSYS, Oppgaven Vi skal sette inn 1 til 9 i de hvite feltene Men det samme tallet skal bare forekomme en gang i en rad, en kolonne eller i hver 3x3 firkant.

Kai A. Olsen, BIBSYS, Metode Vi forsøker å sette inn ett 1-tall i første felt. Kontrollerer om dette går. Det gjør det ikke, det er allerede et 1-tall i raden og kolonnen. Forsøker med et 2-tall. Det går. Forsøker så med et 1-tall i neste felt. Går ikke. Heller ikke 2, 3, 4. Men 5 går. Slik fortsetter vi til vi ikke finner noen løsning. Da må vi backtracke. F.eks. om vi ikke hadde funnet noe gyldig tall for felt to måtte vi revurdere løsningen for felt en, og forsøkt neste mulige tall her.

Kai A. Olsen, BIBSYS, Brute force Metoden kalles rå regnekraft (brute force). Vi forsøker alle muligheter, går rett på uten å forsøke å være smart. For enkle problemer som dette kan vi finne beste løsning, for mer komplekse (som i sjakk) må vi kanskje bare antyde en vei til løsning. Kan brukes på spill, som her, men også på mange anvendelser i det virkelige liv.

Kai A. Olsen, BIBSYS, Implementering Vi ser at vi har et symetrisk problem: Forsøk løsninger 1 til 9 i første felt For første løsning gå videre til neste felt. Forsøk 1 til 9 her. Dersom ingen gir en løsning gå tilbake til forrige felt og forsøk neste løsning her. Vi kan implementere dette med rekursjon, altså en funksjon som kaller seg selv.

Kai A. Olsen, BIBSYS, Rekursjon Forsøk prøver alle mulige tall i feltet rad, col om feltet er åpent. Låste felt har verdier gitt i oppgaven og kan da ikke endres. For å spare tid har vi på forhånd registrert hvilke tall som er ”mulige” (altså som ikke kolliderer med låste verdier) Dersom vi er kommet forbi siste felt returnerer vi true. Finner vi en løsning forsøker vi neste felt (rekursivt kall markert med rødt). Finnes ingen løsning returnerer vi false.

Kai A. Olsen, BIBSYS, Avansert Rekursjon er en avansert teknikk. En skal ha meget god forståelse for hav som foregår for å selv kunne lage rekursive funksjoner.