From Daan
Jump to: navigation, search
(Created page with " thumb|right|Een versailles-patroon. ==Inleiding== Tegelzetten is een vak apart. Hoewel de meeste zettingen regelmatig zijn (denk aan de vierk...")
 
m (Protected "Number Crunching" (‎[edit=autoconfirmed] (indefinite) ‎[move=autoconfirmed] (indefinite)))
 
(20 intermediate revisions by 4 users not shown)
Line 1: Line 1:
  
  
[[Image:numbercrunching2.jpg|thumb|right|Een versailles-patroon.]]
+
[[Image:numbercrunching2.jpg|thumb|right|Number Crunching]]
 
==Inleiding==
 
==Inleiding==
  
Tegelzetten is een vak apart. Hoewel de meeste zettingen regelmatig zijn (denk aan de vierkantjes in keuken en badkamer) zijn er ook ambitieuzere patronen, zoals een Versailles-patroon waarin twee of drie verschillende tegeltjes in een veelal herhalend patroon worden gerangschikt. In een zeldzaam geval is de zetting echt onregelmatig, en is de kunstenaar of architect veel tijd kwijt aan het in elkaar puzzelen.  
+
De basisingredienten van deze opgave zijn het begingetal 4 en drie operatoren: de faculteit, de vierkantswortel en de floor-functie, in het nederlands beter bekend als 'afronden naar beneden'. Er bestaat een hypothese dat alle natuurlijke getallen met deze drie operatoren uit het begingetal gemaakt kunnen worden. We gaan deze hypothese testen, en hopelijk een klein beetje vordering maken in het oplossen van dit vraagstuk.
 +
 
 +
==Opdracht==
 +
 
 +
a) Maak de getallen 1,2,5 en 24 met deze operatoren uit het begingetal. Noteer de operatorensequentie die nodig is om ieder getal te maken. Doe hierna hetzelfde voor de getalen 6, 10, 26 en 30.
  
In deze opdracht zul je een algoritme ontwikkelen om tegelsets van oplopende moeilijkheid in elkaar te zetten. Er is [http://wiki.phoib.net/resources/tegelzettensourcecode.zip java-sourcecode] beschikbaar gemaakt door Joris de Ruiter.
 
  
==Opdracht==
+
b) Schrijf een algoritme (als je dat nog niet gedaan had) om verschillende operatorsequenties op je begingetal uit te proberen. Maak de getallen 43, 44, 46 en X. Noteer wederom de operatorsequentie. Test je algoritme goed, een foutje is in dit soort programma's gauw gemaakt.
  
a) Verzin een algoritme om tegelset #1 in het bijgeleverde invoervak te zetten. Een zetting is correct als er geen tussenruimte tussen de tegels is, en tegels elkaar niet overlappen.
 
  
 +
c) Zorg dat je algoritme alle getallen onder de 100 vindt. Documenteer goed hoe je dit doet. Op tijd van schrijven is er zo weinig bekend over deze casus dat je best eens nieuwe dingen zou kunnen ontdekken.
  
b) Verzin een algoritme om tegelset #2 in het bijgeleverde invoervak te zetten. Een zetting is correct als er geen tussenruimte tussen de tegels is, en tegels elkaar niet overlappen. Tegels hoeven niet gedraaid te worden.
 
  
 +
d) Vind zoveel mogelijk getallen onder de 10 000. Wat is de ''minimale'' operatorsequentie die nodig is voor ieder getal? probeer een beeld te schetsen welke van deze getallen dichtbij je begingetal liggen. Probeer ook iets te zeggen over de overeenkomsten in operatorsequenties.
  
c) Verzin een algoritme om tegelset #3 in het bijgeleverde invoervak te zetten. Een zetting is correct als er geen tussenruimte tussen de tegels is, en tegels elkaar niet overlappen.
 
  
 +
==Advanced==
 +
 +
Kies uit elk van de onderstaande boxen één functie of getal en bepaal de kortste operatorsequenties voor de getallen 1-100. Welke combinatie  begingetal+operatorset levert de kortste gemiddelde operatorsequentie voor de getallen 1-100?
 
<Center>
 
<Center>
{|
+
{| class="wikitable"
![[Image:Tegelset1.jpg|thumb|upright=2|border|Tegelset #1]]
+
|-
![[Image:Tegelset2.jpg|thumb|upright=1.5|border|Tegelset #2]]
+
! colspan="2" style="width: 200px;"| Box 1
![[Image:Tegelset3.jpg|thumb|upright=1.65|border|Tegelset #3]]
+
! colspan="2" style="width: 200px;"| Box 2
 +
! colspan="2" style="width: 200px;"| Box 3
 +
! colspan="2" style="width: 100px;"| Box 4
 +
|-
 +
| n faculteit
 +
| (n!)*
 +
| wortel
 +
| (√n)
 +
| afronden naar beneden
 +
| (floor)
 +
| colspan="2" align="center"| 4
 +
|-
 +
| som van 1 tot n
 +
| (∑n)*
 +
| 17de machtswortel
 +
| (<sup>17</sup>√n)
 +
| afronden naar boven
 +
| (ceiling)
 +
| colspan="2" align="center"| 7
 +
|-
 +
| 3 tot de n-de
 +
| (3<sup>n</sup>)
 +
| ln
 +
| (ln = log<sub>e</sub>)
 +
| 'normaal' afronden
 +
| (round)
 +
| colspan="2" align="center"| 97
 
|}
 
|}
 +
(*) = Let erop dat deze functies alleen gehele getallen accepteren.
 
</Center>
 
</Center>
  
==Advanced==
+
==Links==
  
We werken met rechthoeken waarvan de ene zijde net één eenheid korter is dan de andere zijde. Deel c van de vorige opdracht bestaat uit rechthoeken 1 tot en met 20 (1x2, 2x3, 3x4 .... 20x21), die samen in een groter rechthoek (55x56) passen. Kijk of er een oplossing bestaat voor 1 tot en met 34. Je weet niet of de rechthoeken gedraaid moeten worden, en hoe groot het invoervlak moet zijn. Probeer het zo goed mogelijk te passen!
+
Hier vind je [http://www.links.nl links].
 
 
 
 
==Links==
 
  
Best leuk om even te kijken naar perfect squares op [http://mathworld.wolfram.com/PerfectSquareDissection.html WolframMathWorld].
+
En hier blijkbaar [http://en.wiktionary.org/wiki/rechts rechts].
  
 +
En wie echt niet kan kiezen klikt [http://www.linksrechts.de hier].
  
 
==Terug==
 
==Terug==
  
 
Terug naar de [[Heuristieken|Heuristieken hoofdpagina]].
 
Terug naar de [[Heuristieken|Heuristieken hoofdpagina]].

Latest revision as of 10:42, 24 March 2014


Number Crunching

Inleiding

De basisingredienten van deze opgave zijn het begingetal 4 en drie operatoren: de faculteit, de vierkantswortel en de floor-functie, in het nederlands beter bekend als 'afronden naar beneden'. Er bestaat een hypothese dat alle natuurlijke getallen met deze drie operatoren uit het begingetal gemaakt kunnen worden. We gaan deze hypothese testen, en hopelijk een klein beetje vordering maken in het oplossen van dit vraagstuk.

Opdracht

a) Maak de getallen 1,2,5 en 24 met deze operatoren uit het begingetal. Noteer de operatorensequentie die nodig is om ieder getal te maken. Doe hierna hetzelfde voor de getalen 6, 10, 26 en 30.


b) Schrijf een algoritme (als je dat nog niet gedaan had) om verschillende operatorsequenties op je begingetal uit te proberen. Maak de getallen 43, 44, 46 en X. Noteer wederom de operatorsequentie. Test je algoritme goed, een foutje is in dit soort programma's gauw gemaakt.


c) Zorg dat je algoritme alle getallen onder de 100 vindt. Documenteer goed hoe je dit doet. Op tijd van schrijven is er zo weinig bekend over deze casus dat je best eens nieuwe dingen zou kunnen ontdekken.


d) Vind zoveel mogelijk getallen onder de 10 000. Wat is de minimale operatorsequentie die nodig is voor ieder getal? probeer een beeld te schetsen welke van deze getallen dichtbij je begingetal liggen. Probeer ook iets te zeggen over de overeenkomsten in operatorsequenties.


Advanced

Kies uit elk van de onderstaande boxen één functie of getal en bepaal de kortste operatorsequenties voor de getallen 1-100. Welke combinatie begingetal+operatorset levert de kortste gemiddelde operatorsequentie voor de getallen 1-100?

Box 1 Box 2 Box 3 Box 4
n faculteit (n!)* wortel (√n) afronden naar beneden (floor) 4
som van 1 tot n (∑n)* 17de machtswortel (17√n) afronden naar boven (ceiling) 7
3 tot de n-de (3n) ln (ln = loge) 'normaal' afronden (round) 97

(*) = Let erop dat deze functies alleen gehele getallen accepteren.

Links

Hier vind je links.

En hier blijkbaar rechts.

En wie echt niet kan kiezen klikt hier.

Terug

Terug naar de Heuristieken hoofdpagina.