De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Puzzels, Blokken en Veranderbare Kunst Marc van Kreveld Instituut voor Informatica en Informatiekunde Universiteit Utrecht

Verwante presentaties


Presentatie over: "Puzzels, Blokken en Veranderbare Kunst Marc van Kreveld Instituut voor Informatica en Informatiekunde Universiteit Utrecht"— 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 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 C B D A

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):

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 –2 e stuk: 7 plekken, 3 standen –3 e stuk: 6 plekken, 3 standen –… Dus 7! · 3 7 = manieren om te passen Alle kandidaat puzzels: manieren testen

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 4 12 = 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 1656  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 AAC, AAD, ACB, ADD, BBC, BCC, BCD, BDD AAD, ACB, ACD, ADB, ADD, BBC, BCC, BDC B  C C  B + 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 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 int Fib(n) { if ((n==0) or (n==1)) then return 1; else return ( Fib(n-1) + Fib(n-2) ); } 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]; } Recursief Met array

54 Efficiëntie Aantal optellingen voor eerste manier is Fib(n) -1 > 1,618 n ( 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) (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(j,k,m-2,n) + 3 A(j,k,m-1,n-2) + A(j,k,m,n-4) A(0,0,0,0) = 1 A(.,.,.,.) = 0 als een argument negatief is #recursieve aanroepen voor A(9,9,9,27) is B(9,9,9,27)= 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)

62 Silhouetten tellen 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] A[0,0,0,0] = 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 A(3,3,3,9) = A(4,4,4,12) = 1, A(5,5,5,15) = 2, A(6,6,6,18) = 4, A(7,7,7,21) = 9, A(8,8,8,24) = 2, A(9,9,9,27) = 4,

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 r c Z-1(0,0) 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) 3-lat

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) #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 5 5 = 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, x 8 grid: 6, x 9 grid: 3, x 10 grid: 9, x 11 grid: 6, x 12 grid: 1,

73 Willekeurig één genereren Hoe kunnen we random en uniform één van de 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[4,4,4,4,4,0,0] =  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,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 Marc van Kreveld Instituut voor Informatica en Informatiekunde Universiteit Utrecht"

Verwante presentaties


Ads door Google