Puzzels, Blokken en Veranderbare Kunst

Slides:



Advertisements
Verwante presentaties
H3 Tweedegraads Verbanden
Advertisements

BRIDGE Vervolgcursus Vervolg op starterscursus Bridgeclub Schiedam ‘59 info: Maandagavond: 19: – of
Sudoku puzzels: hoe los je ze op en hoe maak je ze?
Voorrangsregels bij rekenen (2)
Bij een herhaald experiment, met telkens dezelfde kans op succes gebruiken we de binomiale kansverdeling Een binomiale kansverdeling wordt gekenmerkt door.
Doublet deel 1 – de basis.
Stelling van Pythagoras
Differentie vergelijkingen differentie vergelijkingen
Aflezen van analoge en digitale meetinstrumenten
Downloaden: Ad-aware. Downloaden bestaat uit 3 delen: •1. Zoeken naar de plek waar je het bestand kan vinden op het internet •2. Het nemen van een kopie.

H1 Basis Rekenvaardigheden
dia's bij lessenserie Pythagoras ± v Chr.
Hoofdstuk 8 Regels Ontdekken Sebnem YAPAR.
Hoofdstuk 8: Recursie.
Ronde (Sport & Spel) Quiz Night !
Keuzeondersteunend model voor inbouwpakketten bij herbestemmingsprojecten Eindcolloquium Wiebrand Bunt.
Hogere Wiskunde Complexe getallen college week 6
Kb.1 Ik leer op een goede manier optellen en aftrekken
Datastructuren Analyse van Algoritmen en O
Leiden University. The university to discover. ICLON, Interfacultair Centrum voor Lerarenopleiding, Onderwijsontwikkeling en Nascholing Denkgereedschap.
En zijn magisch vierkant
(11,25;10) (10,15) (10,16) Totaal 7 lijnen getekend.

1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Functies Records Dynamische gegevenstructuren Macro’s C.
Overzicht presentatie
Internationale hogeschool Breda Wiskunde bij het ontwerpen en evalueren van verkeerslichtenregelingen Wachten voor een verkeerslicht duurt altijd te lang…..
Elke 7 seconden een nieuw getal
Fibonacci & Friends Met dank aan Gerard Tel.
vwo A Samenvatting Hoofdstuk 9
Extra vragen voor Havo 3 WB
Regelmaat in getallen … … …
De grafiek van een lineair verband is ALTIJD een rechte lijn.
Regelmaat in getallen (1).
Parallelle Algoritmen String matching. 1 Beter algoritme patroonanalyse Bottleneck in eenvoudig algoritme: WITNESS(j) (j = kandidaat in eerste i-blok)
1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam.
Bewegen Hoofdstuk 3 Beweging Ing. J. van de Worp.
GESPRG Les 9 Gestructureerd programmeren in C dimensionale array Array van array’s int i = 31; int a[4] = {7, 23, 6, 2}; int m[2][4] = { {1, 1,
In dit vakje zie je hoeveel je moet betalen. Uit de volgende drie vakjes kan je dan kiezen. Er is er telkens maar eentje juist. Ken je het juiste antwoord,
Optuigen van datastructuren
Werken aan Intergenerationele Samenwerking en Expertise.
De vierkantjes ! Dit is een puzzel om uw hersens eens goed te laten werken. De vraag is bij elk figuur hoeveel vierkanten u ziet.
Les 2 Elektrische velden
Elektriciteit 1 Basisteksten
2009 Tevredenheidsenquête Resultaten Opleidingsinstellingen.
Puzzels, Blokken en Veranderbare Kunst
ribwis1 Toegepaste wiskunde Lesweek 01 – Deel B
ribwis1 Toegepaste wiskunde, ribPWI Lesweek 01
ribWBK11t Toegepaste wiskunde Lesweek 02
havo A Samenvatting Hoofdstuk 3
Tweedegraadsfuncties
Statistiekbegrippen en hoe je ze berekent!!
ECHT ONGELOOFLIJK. Lees alle getallen. langzaam en rij voor rij
Bewerkingen met breuken Les 37.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 3.
Fractale en Wavelet Beeldcompressie
De financiële functie: Integrale bedrijfsanalyse©
Vergelijkingen oplossen
Even voorstellen : Groep 3b
De vierkantjes ! Dit is een puzzel om uw hersens eens goed te laten werken. De vraag is bij elk figuur hoeveel vierkanten u ziet.
Voorraadbeheer en bestellen
Sketchup 2014 Les 9.
Goederenverwerking H1 Voorraadadministratie bijhouden Manager Handel.
1 Zie ook identiteit.pdf willen denkenvoelen 5 Zie ook identiteit.pdf.
Voorraadbeheer en bestellen
Voorraadbeheer en bestellen
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag top-down decompositie Opdrachten:
Transcript van de presentatie:

Puzzels, Blokken en Veranderbare Kunst Marc van Kreveld Instituut voor Informatica en Informatiekunde Universiteit Utrecht http://www.cs.uu.nl/~marc/composable-art/

Puzzels, Blokken, Veranderbare kunst … en meetkunde, combinatoriek en computerprogramma’s

Overzicht Voorbeelden veranderbare kunst Meetkundige puzzels & blokken Ontwerp van een ‘moeilijkste’ puzzel m.b.v. wiskunde en informatica Tellen van de mogelijkheden van veranderbare kunst m.b.v. wiskunde en informatica

Veranderbare kunstobjecten Meerdere delen Niet ‘gefixeerd’ Veranderbaar Niet: bewegend

Veranderbaar ‘wandkleed’ Latten (staven) hangen aan elkaar 54 delen

Veranderbaar schilderij 6 panelen in een box Box heeft 4 gleuven Panelen hebben gaten

Veranderbaar schilderij

Puzzels en blokken 6 stukken: 2 van 3 soorten 2 soorten zijn gespiegelden

Variatie: 8 stukken

Een puzzelidee 8 stukken, 1 voor elk hoekpunt van een kubus Aangrenzende stukken moeten passen in hun gezamenlijke ribbe Elk stuk heeft 1 hoek en 3 halve ribben

Bestaat zo’n puzzel? En hoe vinden we ‘m? Eisen aan de puzzel Alle 8 stukken anders Geen stukken die - als je ze draait - hetzelfde zijn Zo moeilijk mogelijk (unieke oplossing) Bestaat zo’n puzzel? En hoe vinden we ‘m?

Analyse van de stukken Hoeveel verschillende stukken zijn er? Er zijn 4 mogelijkheden voor halve ribben  noem ze typen A, B, C, D A B A D C

Analyse van de stukken Het type van een stuk (BDD): Kies het alfabetisch gezien kleinste type (dus niet DDB of DBD, maar BDD)

Oefening Welke stukken zijn dit?

Vraagstuk (2 minuten) Hoeveel verschillende stukken zijn er? Maximaal 4 x 4 x 4 = 64, maar precies? Hint: Hoeveel met 3 dezelfde letters? Hoeveel met 2 dezelfde letters? Hoeveel met 3 verschillende letters? AAA, AAB, AAC, AAD, ABA, … gelijk +

Antwoord 3 dezelfde letters: 4 2 dezelfde letters: 4 keuzen voor dubbele letter, nog 3 over voor enkele letter: 12 3 verschillende letters: 4 keuzen welke letter niet, voor elke keuze twee spiegelvarianten (bijv. ABC en ACB): 8 + 24

Welke types passen? A en D passen altijd; B en C passen altijd Verder past niets

Extra eis Elk type halve ribbe - A, B, C en D - komt precies 6 keer voor in de puzzel

De stukken Er zijn 24 verschillende stukken, maar 4 daarvan willen we niet Er zijn ( ) = 124.970 sets van 8 verschillende stukken. Welke passen op 1 unieke wijze? 20 8

Een puzzeloplosprogramma? Per 8 stukken: Leg eerste stuk vast neer 2e stuk: 7 plekken, 3 standen 3e stuk: 6 plekken, 3 standen … Dus 7! · 37 = 11.022.480 manieren om te passen Alle 125.970 kandidaat puzzels: 1.388.501.805.600 manieren testen Kan beter door de eis met 6 halve ribben van elk type mee te nemen, en met backtracking

Andere aanpak (programma) Neem een kubus en splits alle 12 ribben op de 4 mogelijke manieren

Andere aanpak (programma) Als we weten hoe de 12 ribben gesplitst zijn, dan weten we de 8 puzzelstukken; dit geeft de 412 = 16.777.216 oplossingen van alle mogelijke kubuspuzzels! Test elk stuk op: niet AAA, BBB, CCC, DDD Test elk paar op ongelijkheid Test of A, B, C en D elk 6 x voorkomen

Andere aanpak Er blijven 1.023.360 oplossingen van puzzels over, volgens het computer-programma Laatste eis: Unieke oplosbaarheid  Zoek verschillende oplossingen met dezelfde 8 stukken; zulke puzzels zijn niet uniek oplosbaar

Resultaten De 1.023.360 oplossingen zijn van 2290 puzzels die aan 3 eisen voldoen Het minimum is 24 oplossingen (34 puzzels) Het maximum is 1656 oplossingen (4 puzzels) 24 oplossingen  1 oplossing

De makkelijkste puzzel Met 1656  69 oplossingen

Vraagstuk (1 minuut) Alle 34 moeilijkste puzzels hebben de stukken AAD, ADD, BBC en BCC Is dit logisch? Verklaar N.B. Alle 4 makkelijkste puzzels hebben de stukken AAB, ABB, CCD en CDD, of AAC, ACC, BBD en BDD

Resultaten 34 verschillende puzzels zijn uniek oplosbaar, bijv. AAB, AAD, ABC, ADD, BBC, BCC, BDC, CDD AAC, AAD, ACB, ADD, BBC, BCC, BCD, BDD AAD, ACB, ACD, ADB, ADD, BBC, BCC, BDC + nog 31 puzzels

Resultaten 34 verschillende puzzels zijn uniek oplosbaar, bijv. AAB, AAD, ABC, ADD, BBC, BCC, BDC, CDD B  C C  B AAC, AAD, ACB, ADD, BBC, BCC, BCD, BDD AAD, ACB, ACD, ADB, ADD, BBC, BCC, BDC + nog 31 puzzels

Resultaten Er zijn 5 equivalentieklassen in de 34 uniek oplosbare puzzels Maar: is er nog verschil in moeilijkheid?

Naar een definitie van moeilijkheid Hoe lost een puzzelaar zo’n puzzel op? Waarschijnlijk: beginnen met de onderste 4 stukken = 1 cykel / ondervlak van de kubus

Naar een definitie van moeilijkheid Nadat je een onderste cykel hebt is het ‘slechts’ een puzzel met 4 stukken Moeilijkheid puzzel = Aantal goede cykels Totaal aantal cykels

Vraagstuk (5 minuten) Maak een (ruwe) schatting van de moeilijkheid van de moeilijkste puzzels Hint: Wat is het verwachte/ruw geschatte aantal cykels voor een willekeurige puzzel als je weet dat er 6 A’s, 6 B’s, 6 C’s en 6 D’s zijn?

Antwoord Aantal goede cykels: 6 Schatting totaal aantal cykels willekeurige puzzel: Leg 1 stuk neer, zeg, met AB op tafel Er passen 5 à 6 halve ribben aan de A, zeg, 5,25 Er passen 4 à 5 halve ribben aan de B, zeg, 4,5 4e stuk van de cykel moet aan 2 kanten passen: kans 1/16; de 5 resterende stukken hebben 5 x 3 = 15 geordende paren Dit geeft geschat 5,25 x 4,5 x 15/16 = 22 cykels Er zijn 8 x 3 = 24 keuzen voor eerste paar Nu tellen we elke cykel 4x Dus geschat 22 x 24/4 = 132 cykels in een puzzel Argument van de 5 a 6 halve ribben: er zijn nog 21 halve ribben beschikbaar, elk heeft kans ¼ om van juiste type te zijn, geeft 5,25. Argument 4 a 5 halve ribben: nog 18 ribben beschikbaar, elk kans ¼, geeft 4,5. Moeilijkheid moeilijkste  132/6  22

Berekenen van moeilijkheid Met een computerprogramma: de 5 echt verschillende puzzels (andere equivalentieklasse) hebben 107, 116, 116, 118 en 122 cykels Makkelijkste puzzels & maximum: 230 cykels Moeilijkheid moeilijkste puzzel = Aantal goede cykels Totaal aantal cykels 6 = 122

Nog meer puzzels

Een persoonlijke puzzel

Scharnierende puzzel

Poortjespuzzel

… tot zover de puzzels

Veranderbare kunst Vraag uit nieuwsgierigheid: hoeveel verschillende composities zijn er? Kunnen we een willekeurige compositie laten genereren door een computer? Toekomst: automatisch evalueren van ‘mooie’ composities  kunst + software

Mogelijkheden tellen Fibonacci reeks: 1, 1, 2, 3, 5, 8, 13, … F(0) = 1, F(1) = 1, F(n) = F(n-1) + F(n-2) als n  2 Er zijn twee manieren om het 100ste Fibonacci getal met de computer te berekenen

Recursief Met array int Fib(n) { if ((n==0) or (n==1)) then return 1; else return ( Fib(n-1) + Fib(n-2) ); } Recursief int Fib(n) { int A[] = new int[n+1]; A[0] = 1; A[1] = 1; for (i=2; i <= n; i++) A[i] = A[i-1] + A[i-2]; return A[n]; } Met array

Efficiëntie Aantal optellingen voor eerste manier is Fib(n) -1 > 1,618n ( Fib(100) is getal met 21 cijfers) Aantal optellingen tweede manier is n -1 Tussenoplossingen die vaker nodig zijn opslaan in een array (tabel): Dynamisch Programmeren

Veranderbaar Wandkleed 3 x 3 latten van 125 cm (4 haakjes); 3 x 3 latten van 85 cm; 3 x 3 latten van 45 cm 3 x 9 latten van 5 cm (1 haakje) Aluminium & vierkant, hout & rond, zwart & vierkant op punt

Wandkleed composities tellen Alleen rechthoekig, vier-breed, geen brede gaten Tel kleurtoewijzingen en silhouetten apart

Kleurtoewijzingen tellen Voor elk willekeurig silhouet zijn er kleurtoewijzingen ( ) 27 9 ( ) 18 9 [ ( ) 9 3 ( ) 6 3 ] 3 • • •

Silhouetten tellen We hebben rijen, kolommen en latten in verschillende lengten Met een recurrente betrekking?

Silhouetten tellen Elke laag bestaat uit: één 125 cm lat, of één 85 cm lat en één 5 cm lat, of twee 45 cm latten, of één 45 cm lat en twee 5 cm latten, of vier 5 cm latten (1) (2) (1) (3) (1)

Silhouetten tellen Laat A(j,k,m,n) het aantal silhouetten zijn voor j 125 cm latten, k 85 cm latten, m 45 cm latten, n 5 cm latten A(j,k,m,n) = A(j-1,k,m,n) + 2 A(j,k-1,m,n-1) + A(j,k,m-2,n) + 3 A(j,k,m-1,n-2) + A(j,k,m,n-4)

Silhouetten tellen A(j,k,m,n) = A(j-1,k,m,n) + 2 A(j,k-1,m,n-1) + A(., ., ., .) = 0 als een argument negatief is B(j,k,m,n) = B(j-1,k,m,n) + B(j,k-1,m,n-1) + B(j,k,m-2,n) + B(j,k,m-1,n-2) + B(j,k,m,n-4) #recursieve aanroepen voor A(9,9,9,27) is B(9,9,9,27)= 7 • 1014

Silhouetten tellen A[j,k,m,n] = A[j-1,k,m,n] + 2 A[j,k-1,m,n-1] + A(., ., ., .) = 0 als een argument negatief is Dynamisch programmeren: 4-dimensionale tabel met 28,000 waarden om A[9,9,9,27] te verkrijgen

Silhouetten tellen A(1,1,1,3) = 36 A(2,2,2,6) = 3960

Diago 20 latten; 4 x 5 lengten Blokhut principe 9 uitsteeksels in achterplaat

Diago We draaien over 45 en doen alsof de achterplaat vierkant is

Diago tellen Op hoeveel manieren kunnen we 20 latten met lengten 2, 3, 4, 5 en 6 op een 10 x 10 grid leggen?

Diago tellen Veronderstel eerst dat alle latten horizontaal zijn Laat de grid grootte Z x Z zijn Welke recurrente betrekking? Laat A(i,j,k,m,n,r,c) = # manieren om i, j, k, m en n latten met lengten 2, 3, 4, 5 en 6 te plaatsen, beginnend bij rij r en kolom c, op een grid [0..Z-1] x [0..Z-1]

Diago tellen c 3-lat (0,0) Z-1 A(i,j,k,m,n,r,c) = A(i,j-1,k,m,n,r,c+3) of A(i,j-1,k,m,n,r+1,0) (of 1 of 0)

Diago tellen A(i,j,k,m,n,r,c) =  #manieren met een 2-lat op (r,c) #manieren met een 3-lat op (r,c) #manieren met een 4-lat op (r,c) A(i,j,k,m,n,r,c) =  #manieren met een 5-lat op (r,c) #manieren met een 6-lat op (r,c) #manieren met géén lat op (r,c) Als j > 0 en c  Z-4, dan A(i, j-1, k, m, n, r, c+3), etc.

Diago tellen De definitie van A(i, j, k, l, m, n, r, c), met alle bijbehorende voorwaarden, gaat in een 7-dimensionale tabel die door een programma wordt gevuld

Diago tellen Horizontal en vertikaal: Neem alle 55 = 3125 manieren om een deelverzameling horizontalen te kiezen uit de 4+4+4+4+4 latten; rest is vertikaal #Comp =  A(i,j,k,m,n,0,0) • A(4-i,4-j,4-k,4-m,4-n,0,0) 0  i,j,k,m,n  4

Tellingen voor Diago 6 x 6 grid: 0 7 x 7 grid: 2,1 • 1016

Willekeurig één genereren Hoe kunnen we random en uniform één van de 9.9 • 1031 composities genereren?  Neem het dynamisch programmeren proces achterstevoren: We weten hoe A[4,4,4,4,4,0,0] is opgebouwd uit deelcomposities

Willekeurig één genereren A[3,4,4,4,4,0,2] A[4,3,4,4,4,0,3] A[4,4,3,4,4,0,4] A[4,4,4,4,4,0,0] =  A[4,4,4,3,4,0,5] A[4,4,4,4,3,0,6] A[4,4,4,4,4,0,1] Dit geeft een kansverdeling van de deelcomposities

Willekeurig genereren Werkt voor Diago en het Veranderbare Wandkleed Werkt ook voor de Veranderbare Toren en Façade

Diago II

GeoMecca

Matisse’s leaves

Hexagonen

Geneste vierkanten

De toekomst Ideeën voor nieuwe puzzels Ideeën voor veranderbare kunst Automatisch evalueren hoe ‘mooi’ een compositie is 24 verschillende stukjes