Download de presentatie
GepubliceerdAnnemie Segers Laatst gewijzigd meer dan 10 jaar geleden
1
Puzzels, Blokken en Veranderbare Kunst
Marc van Kreveld Instituut voor Informatica en Informatiekunde Universiteit Utrecht
2
Puzzels, Blokken, Veranderbare kunst
… en meetkunde, combinatoriek en computerprogramma’s
3
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
4
Veranderbare kunstobjecten
Meerdere delen Niet ‘gefixeerd’ Veranderbaar Niet: bewegend
5
Veranderbaar ‘wandkleed’
Latten (staven) hangen aan elkaar 54 delen
7
Veranderbaar schilderij
6 panelen in een box Box heeft 4 gleuven Panelen hebben gaten
8
Veranderbaar schilderij
9
Puzzels en blokken 6 stukken: 2 van 3 soorten
2 soorten zijn gespiegelden
12
Variatie: 8 stukken
14
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
17
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?
18
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
19
Analyse van de stukken Het type van een stuk (BDD):
Kies het alfabetisch gezien kleinste type (dus niet DDB of DBD, maar BDD)
20
Oefening Welke stukken zijn dit?
21
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 +
22
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
23
Welke types passen? A en D passen altijd; B en C passen altijd
Verder past niets
24
Extra eis Elk type halve ribbe - A, B, C en D - komt precies 6 keer voor in de puzzel
25
De stukken Er zijn 24 verschillende stukken, maar 4 daarvan willen we niet Er zijn ( ) = sets van 8 verschillende stukken. Welke passen op 1 unieke wijze? 20 8
26
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 = manieren om te passen Alle kandidaat puzzels: manieren testen Kan beter door de eis met 6 halve ribben van elk type mee te nemen, en met backtracking
27
Andere aanpak (programma)
Neem een kubus en splits alle 12 ribben op de 4 mogelijke manieren
28
Andere aanpak (programma)
Als we weten hoe de 12 ribben gesplitst zijn, dan weten we de 8 puzzelstukken; dit geeft de 412 = 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
29
Andere aanpak Er blijven 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
30
Resultaten De 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
31
De makkelijkste puzzel
Met 69 oplossingen
32
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
33
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
34
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
35
Resultaten Er zijn 5 equivalentieklassen in de 34 uniek oplosbare puzzels Maar: is er nog verschil in moeilijkheid?
36
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
38
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
39
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?
40
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
41
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
42
Nog meer puzzels
43
Een persoonlijke puzzel
47
Scharnierende puzzel
48
Poortjespuzzel
50
… tot zover de puzzels
51
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
52
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
53
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
54
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
55
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
56
Wandkleed composities tellen
Alleen rechthoekig, vier-breed, geen brede gaten Tel kleurtoewijzingen en silhouetten apart
57
Kleurtoewijzingen tellen
Voor elk willekeurig silhouet zijn er kleurtoewijzingen ( ) 27 9 ( ) 18 9 [ ( ) 9 3 ( ) 6 3 ] 3 • • •
58
Silhouetten tellen We hebben rijen, kolommen en latten in verschillende lengten Met een recurrente betrekking?
59
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)
60
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)
61
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
62
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
63
Silhouetten tellen A(1,1,1,3) = 36 A(2,2,2,6) = 3960
64
Diago 20 latten; 4 x 5 lengten Blokhut principe
9 uitsteeksels in achterplaat
65
Diago We draaien over 45 en doen alsof de achterplaat vierkant is
66
Diago tellen Op hoeveel manieren kunnen we 20 latten met lengten 2, 3, 4, 5 en 6 op een 10 x 10 grid leggen?
67
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]
68
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)
69
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.
70
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
71
Diago tellen Horizontal en vertikaal:
Neem alle 55 = 3125 manieren om een deelverzameling horizontalen te kiezen uit de 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
72
Tellingen voor Diago 6 x 6 grid: 0 7 x 7 grid: 2,1 • 1016
73
Willekeurig één genereren
Hoe kunnen we random en uniform één van de 9.9 • composities genereren? Neem het dynamisch programmeren proces achterstevoren: We weten hoe A[4,4,4,4,4,0,0] is opgebouwd uit deelcomposities
74
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
75
Willekeurig genereren
Werkt voor Diago en het Veranderbare Wandkleed Werkt ook voor de Veranderbare Toren en Façade
76
Diago II
77
GeoMecca
78
Matisse’s leaves
80
Hexagonen
81
Geneste vierkanten
82
De toekomst Ideeën voor nieuwe puzzels Ideeën voor veranderbare kunst
Automatisch evalueren hoe ‘mooi’ een compositie is 24 verschillende stukjes
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.