De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Puzzels, Blokken en Veranderbare Kunst

Verwante presentaties


Presentatie over: "Puzzels, Blokken en Veranderbare Kunst"— Transcript van de presentatie:

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

6

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

10

11

12 Variatie: 8 stukken

13

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

15

16

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

37

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

44

45

46

47 Scharnierende puzzel

48 Poortjespuzzel

49

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

79

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


Download ppt "Puzzels, Blokken en Veranderbare Kunst"

Verwante presentaties


Ads door Google