Modeled Solution of a Rubik s Cube and Implementation of Techniques to Simulate Human Solutions

Size: px
Start display at page:

Download "Modeled Solution of a Rubik s Cube and Implementation of Techniques to Simulate Human Solutions"

Transcription

1 Proc. of Int. Conf. on Advances in Computer Science, AETACS Modeled Solution of a Rubik s Cube and Implementation of Techniques to Simulate Human Solutions Sumedh Ghaisas and Harman Singh III rd Year Undergraduates, B.E. (Hons.) Computer Science BITS-Pilani K.K. Birla Goa Campus, Zuarinagar, India sumedhghaisas@gmail.com harman28@gmail.com Abstract The ZZ Method of solving the Rubik s Cube is mapped and modeled to mirror the simple decision-making process of a human mind. Using sequence detection as our learning model, we try to optimize the solution achieved through very basic cases. This is an alternate solution to the heuristic search method which uses a huge pattern database of cube permutations. Index Terms artificial intelligence, Rubik s cube, sequence detection I. INTRODUCTION The Rubik's Cube* is a mechanical puzzle invented by Erno Rubik. Although invented decades ago, the Rubik s Cube continues to break records of popularity. Since 2003, the World Cube Association has organized many events under the categories 3v3, 4v4, 5v5, 7v7 and other variations. The Rubik's Cube has been a major attraction to mathematicians and computer scientists who pursue interests in discrete mathematics. Games and Puzzles is an important domain of research under Artificial Intelligence. The puzzle of Rubik s Cube is being studied formally alongside the 15-puzzle, Sudoku under the category of heuristic search. Morwen B. Thistlethwaite [4] is a mathematician who devised a clever algorithm for solving the Rubik s Cube in remarkably few moves. It is a rather complicated method which cannot be memorised, and is thus only practical for computers and not for humans, although there is a variant which can be performed by humans known as the Human Thistlethwaite algorithm which is developed by Ryan Heise. The algorithm is important from a theoretical standpoint however, as it has long been the method with the fewest number of moves to a complete solution. Using nested groups this algorithm can solve any permutation of Rubik s Cube in no more than 52 moves. To keep the size of the lookup tables down [3], Thistlethwaite used simplifying preliminary moves which is the reason why the number of moves he needed is sometimes more than the best possible. Later research decreased this number to as small as 23. In 2010, using latest computational technologies and the huge storage space of Google s San Francisco headquarters, a group of scientists exhaustively proved that any permutation can be solved with no more than 20 moves [2]. The number of valid permutations of Rubik s Cube Elsevier, 2013

2 is approximately forty-three quintillion. It took 35 CPU years to prove the above result. But the puzzle of Rubik s Cube is not completely solved yet. We did prove that the so-called God Number for this puzzle is 20 but the God Algorithm is still a mystery. A deterministic algorithm to solve any permutation optimally is yet to be found. With current computation advances heuristics-based state space search may be capable of finding the solution. It is noted however that the grand majority of systems designed to solve the puzzle in the minimum number of ways function on the principle of balancing efficiency and optimisation with reducing time for look-up operations. Large look-up tables are necessary to produce the most efficient move sequences, as the computer must be prepared to handle an extremely large number of situations. In the method proposed in this paper however, we hope to find a way around that. The Rubik s Cube can be solved with deterministic algorithms which permute it through well-defined states to the end state or solved state. Many algorithms are used to solve the Rubik s cube, some of which use subgroups of the group of cube permutations as defined states. A lookup table must be generated for all the cases in a certain stage against the algorithm required to bring it to the next stage. Here, while generating the lookup table, one has to manually enter the algorithms for all the cases. This is highly inefficient however, as the number of cases in a particular stage can be quite large. This paper gives an alternative approach to lookup tables, by trying to generate the solution through simple rules and sequence detection, i.e. a small lookup table will first be used to create a simple, inefficient sequence of moves, and then a sequence reduction algorithm (here called F-elimination) will be used to eliminate moves from and shorten the sequence into a much shorter version, which is observed to often be the same efficient sequence generated by a large lookup table. This solution is based on the process of learning which a human mind follows rather than mapping. If we teach our brain algorithms to solve simple cases, we can learn to solve more complex cases through experience. Similarly, here we provide the machine with base cases and define rules of sequence detection as the learning process. In this paper, we shall be modeling the popular ZZ method of solving the cube, a modified version of the Human Thistlethwaite algorithm. II. TERMINOLOGY A. Moves and Cubies For the remainder of this paper we will use certain terms to refer to parts and pieces, as well as standard moves of the cube. These notations are not fixed with respect to colours, but they give us a way of depicting the orientation of the cube and allow us to choose our own colours according to a frame of reference. Fig 1. Face notations and respective clockwise movements There are 8 corner and 12 edge independently-rotating pieces on a cube. In total 12 moves are defined for a cube, each corresponding to one of the 6 faces. A clockwise move of a face is represented by the letter used for the face representation, whereas an anticlockwise move is accompanied by ' symbol (transpose operator). The clockwise and anticlockwise direction for each face is given by Figure 1. For example, F denotes a rotation of the Front face clockwise by 90 degrees, while F' denotes a rotation of the Front face anti-clockwise. Sometimes extended notations like 2F are used to represent a 180 degree rotation of the front face. To refer to an individual unit or piece of the cube (also referred to as a 'cubie') we will use single letter to refer to centre pieces, two letters to refer to an edge piece, and three letters to refer a corner piece. The convention is an intuitive one. UFR stands for Up Front Right, implying the piece common to the Up, Front, and Right faces of the cube. And similarly UFL (Up Front Left), DBL(Down Back Left), etc. are defined for each of the corners. For edge 449

3 references similar notations involving two letter groups like UB(Up Back), DL(Down Left), etc. are used. To differentiate between cubies and the space they fill we define cubicles. These are labeled the same way as cubies but define the physical space in which the cubie is located. If the Rubik's Cube is solved each cubie is in the cubicle of the same name, eg. UFR cubie is in UFR cubicle. All cubies (except the centre pieces) can be moved by valid cube rotations but all cubicles always stay in their position. III. THE ZZ METHOD [1] Thistlewaite used nested groups to solve the Rubik s cube stage by stage. The entire state space can be considered a group with cube moves <R, L, U, D, B, F> as generator and the concatenation of these moves as the operator. For example the sequence RURUUU will define one scrambled state of Rubik s cube and the result of any valid cube operations on any scrambled state will generate a valid scrambled state. Based on this theory Thistlewaite created nested groups to solve the Rubik s optimally. In a certain group, there is a restriction on the applicable cube rotations. This grouping allows us to restrict the cube rotations until the cube is completely solved. The ZZ method by Zbigniew Zborowski [1] is based on this nested group method of solving the Cube stage by stage. The different stages of this method are: Edge Orientation: All edge pieces are reoriented so as to simply their positioning in the later stages. EO Cross: The edge pieces on the bottom face (D) are correctly placed, with some restriction on moves to preserve edge orientation. F2L: Corner pieces of the D face and edge pieces of the second layer are correctly placed, thus completing the First 2 Layers (F2L). Last Layer: Last layer is corrected. We will use sequence detection and reduction algorithms on particular stages of the ZZ method and try to get optimum solution to each of the stages. In this paper, we will analyse the first two stages. IV. REPRESENTATION RULES A. Similarity of Colours Two colours are similar if they either represent the same face or opposite faces. For example, if we consider a Rubik's Cube which has colour White on its Front face and colour Yellow on its Back face then we say that White and Yellow are similar colours corresponding to that particular Rubik's Cube. Colours White-White and Yellow-Yellow will also be similar. The restrictions on any sound Rubik s Cube imply that: (1) any edge has to be associated with two dissimilar colours, and (2) any corner has to be associated with three dissimilar colours. B. Edge Representation Good Edge/Bad Edge The Good Edge/Bad Edge concept is used by many speedcubers to boost their solving time as it gives a quick idea of the orientation of any edge. Using this concept we can effectively represent any edge by just one number without compromising any time complexity in cube rotations. We define a Good Edge as any edge which can be solved (brought to its original position) using only the rotations/moves R, U, L, D. Any edge which cannot be solved with this regular expression is a Bad Edge. Effectively, F and B rotations of the cube convert edges on the same face (face of rotation) from Good to Bad or Bad to Good. This method belongs to strategies used to find optimized solutions for Rubik s cube. By restricting movements further we can classify the state of a certain cube and find optimized solution for it. C. Corner Representation To represent a corner piece efficiently we need to extend notations using our behavioral knowledge. Grouping each corner piece with the three different colours on it slows the entire model representation process. In place of three colours we can group each corner with three integers to enable us to generalize the idea of rotation for any corner. For this we define primary, secondary and tertiary colours of our cube, each referring to a pair of similar colours. i. Primary Colours - {U face colour on solved cube, D face colour on solved cube} ii. Secondary Colours - {F face colour on solved cube, B face colour on solved cube} 450

4 iii. Tertiary Colours - {R face colour on solved cube, L face colour on solved cube} Now the each corner can be defined with respect to primary, secondary and tertiary colours. If we represent primary by 1, secondary by 2, and tertiary 3, we have nine integer sequences which can uniquely identify the orientation of any corner at any moment. For that we need to define orientation with respect to our new notations. We define it as shown below. Consider the UFR corner in Figure 4. For this configuration Primary colours are blue and green, Secondary are white and yellow, and Tertiary are red and orange. We will write the orientation of this cubie, aligning it with its name U, F, R. Thus we will represent this orientation as Green-White-Red, corresponding to Up- Front-Right. In terms of groups it will be P-S-T (primary-secondary-tertiary). By this logic UFL corner will also decode to PST. If we observe every corner in its default configuration will be PST. In Figure 5 UFR orientation is STP. This is because the Secondary color of the piece (White) is on the corner's Up face and Tertiary color (Red) is on the corner's Front face. This leaves the Primary color (Green) on the Right face. Thus, White-Red-Green decodes to STP. By this representation every corner piece is represented only by {P, S, T} and the meaning changes as the corner moves, because the default configuration of every corner is its naming convention. The PST representation only represents piece's orientation and not the piece itself, so to represent each corner piece uniquely we need to assign each piece a unique number. Now we will look at the effect of valid cube rotations on corner orientation. We can easily see that the rotation R will swap Primary and Secondary colours of corners on face R and so does rotation R'. Rotation L and L' will also swap Primary and secondary colours of respective corners. Rotations U, U', D and D' will swap Secondary and Tertiary colours while F, F', B and B' will swap Primary and Tertiary colours. V. SOLVING THE CUBE The ZZ method of Rubik s Cube solving includes 3 or 4 stages depending on the variant. (A) Edge orientation, (B) EO-Cross, (C) F2L, and (D) solving the last layer are basic stages of this algorithm. A. Edge Orientation Edge orientation stage converts all the Bad Edges to Good Edges. The purpose of this stage is to orient the edges so as to restrict the cube rotations to <R, U, L, D, 2F, 2B>, thus reducing the number of cases that need to be taken care in later stages. As we know, Bad Edges can only appear in pairs so we can divide our cases further with regards to number of bad edges to be solved. Let us take our base case as only 2 bad edges. We know F, F, B or B rotation flips the orientation of all the 4 edges on the corresponding face. Take the case where both the bad edges are on the Front face. In this case F rotation will cause both bad edges to turn good while the remaining two good edges will turn bad. So we will not be able to achieve our goal. To solve this case we need to perform a setup move to get one bad edge out of the Front face (a setup move is defined as one that brings the cube to one of the base cases, but does not contain F or B rotation to ensure constant orientation of the edges in question). When both bad edges are not on the Front face one of them can be taken to front face through setup moves. This will reduce our base cases further. We define our base cases as cases in which one of the bad edges is in FL or in UF. Fig 2. Example A for Edge Orientation with two bad edges For example, let us take one base case, Example A as shown in Figure 2. Bad edges are FL and UR. We will perform FUF to turn both bad edges good. The F move turns one bad edge good while U replaces it with the remaining one and F finishes the task. The end F move can be replaced by F as both fulfil the same function. As the cube is symmetric the algorithm for FR and UR will be F UF. In total there will be 18 such base cases. The solutions for all these cases are intuitive and will not exceed 4 steps. o Note on n-replacement policies In the example explained above, only two edges were out of place, so a set to moves aimed at turning both 451

5 these edges into good edges would necessarily only replace one bad edge at a time. Put simply, the method involves correcting the orientation of one bad edge B1 with an F or F move (and displacing three other good edges on the face in the process), then replacing it with the other bad edge B2, and reversing the initial F or F to correct B2 (and the other three edges as well). This one-replacement method also works for cases involving four or more (even numbered) bad edges, but results in long drawn sets of moves which are largely unnecessary. On the other hand, a two-replacement policy is applied in a case where two bad edges (out of at least four) exist in the front face, in which case both can be corrected, replaced, and then their replacements can be corrected (the initial condition of two bad edges in the front face can be achieved using another set of setup moves ), thus achieving a shorter set of moves than that attained by the one-replacement policy. Such higher n-replacement policies are easy to apply for a human user, but cannot be arrived at by a computer without extremely costly lookup operations. For this reason, we will teach the machine only 1-replacement policies to arrive at the initial long algorithm, then apply various sequence reduction techniques to reduce the algorithm to its shortest possible form. This final form of the algorithm is often equivalent to the algorithm that a human might have arrived at using the higher n-replacement policy described earlier. Fig 3. Example B for Edge Orientation with four bad edges Let us now analyse the solution of a case involving four bad edges Example B in Figure 3. First we shall solve this using only base cases i.e. one-replacement policy. For the first replacement we have 4 options: UF- UR, UF-UL, DF-UR or DF-BL. We need to check for every case (every replacement as well as every set of setup moves) and compare the solutions after reduction to find the optimized solution. Let us first solve UF- UR. These can be corrected using FR F. Now there are two bad edges remaining namely DF and UL. These in turn can be corrected using FLLF. Concatenation will give us the complete solution: (FR F )(FLLF ). We know that F is inverse of F so FF will be an empty string. Thus the solution reduces to (FR LLF ). If we look closely, we can see that the solution is the same as that achieved using 2-replacement policy F corrects two edges, R and LL replace both of them, and F corrects the replacements. We need to check for all the combinations of 1 replacement algorithms possible to find the true optimal solution. o Further Sequence Reduction In case analyzed above, the solution can be even further optimized. In fact, a set of moves as short as R LLF could achieve correction for all four bad edges. Thus the first F has been eliminated. This is a special case in which all bad edges are simultaneously placed in the front face, which forms one of two exceptional cases, which we now attempt to explain. If it is ever possible to place (i) four bad edges on the front face, or (ii) half of the existing bad edges on the front face (for example, 3 in the case having 6 bad edges) then these cases provide the optimal solution to edge correction. Let us call these F B4 and F B3 states respectively. Of these two favourable states, we state that F B4 has higher priority than F B3. For example, in a case where there exist a total of six bad edges, placing half the edges on the front face (using setup moves), correcting them, then replacing them and correcting the replacements. In order for the machine to realise such reduction, we must define further rules. F-Elimination Let us take the previous example to demonstrate this technique, through which we are able to remove pairs of F-moves at a time. We shall use the algorithm as described in the pseudocode below in Code Block 1. For purposes of the algorithm, we shall use: o A copy of the present state cube, called cube_temp o A sequence, initially empty, L1 o A sequence, initially empty, L2 o A set G1 which contains {F,F } o A set G2 which contains all possible moves except for elements of G1. o Situation_full refers to an arrangement where 4 bad edges are present on the Front face. 452

6 o Situation_half refers to an arrangement where half of the total number of bad edges is present on the Front face. o Situation_null refers to an arrangement where neither of the above two situations are applicable. o An Isolated move is on that does not affect any bad edge on the front face of cube_temp. In this particular case, the sequence is we will be using and attempting to reduce is FR F FL2F. Code Block 1. Pseudocode for F-elimination So, in the first instance of the loop, temp=f, which belongs to G1. L1 is initially empty, to we add temp to it. L1 is now {F}. After reading the next move from the sequence, temp will become R', and is added to L1. R is isolated, so we add it to L2 and perform it on cube_temp. Now L1= {FR }, L2={R }. A check reveals that cube_temp now has three bad edges on the front face, which corresponds to Situation_null. So set temp=f, the next move and add it to L1. So L1={R F }, L2={R }. The count of bad edges is still not zero so we repeat the procedure. 453

7 Temp is now F, the next move in the sequence, which happens to belong to G1. Now temp is an inverse of L1_x, the last move in L1, as L1_x is F. So L1_x is removed and L1={R }. Temp is next set to L2, and is added to L1. Temp is also an isolated move, so it is added to L2, and performed on cube_temp. L1=L2={R LL}. A check reveals we are now in Situation_full. Set temp to the next move from the sequence, but add F to L2, and perform it on cube_temp. Equate L1=L2. A check reveals there are now no bad edges remaining and the algorithm is complete. The final value of L1, which is R LLF, gives us the optimized solution for this stage. Note that the last step of Situation_half, had it occurred, would have required us to once more generate a new sequence of moves, this time from the cube_temp. This new sequence would be achieved in a way similar to that described in the last section, i.e. using one-replacement policy. Analysis of F-Elimination The initial sequence used in our example was FR F FLLF. The subsequence F F can be removed to give us FR LLF. Careful examination of this new sequence shows us that it is in fact the implementation of a tworeplacement policy to solve edge orientation. After applying the F-elimination technique, we are left with the shortened sequence R LLF. Another examination shows us that, if applied on the original cube, this sequence seeks to first place all bad edge on the front face and then correct each of them using a single F move. This is thus an implementation of the four-replacement policy. This is remarkable, as the initial sequence of FR F FLLF is one generated by the machine when it was only programmed to do one-replacement techniques, but after application of the reduction algorithm, it simulates being able to perform a much high-replacement policy. The learning process here can be compared to that which any human might go through when first trying to solve edge orientation. Instead of using only one-replacement policy, a human might correctly identify the highest number of edges one can correct at a time, and use that. This is exactly what F-elimination achieves. B. EO-Cross The EO-Cross stage sets the initial cross-shape of edge pieces on the lowermost face of the cube, henceforth referred to as Layer #1. The purpose of this stage is to actually begin building the cube in its solved state, with the added restriction of never using the <F, F, B, B > operations, as any of these with affect the edge orientations that were set in the previous stage. Simply put, this step involves bringing all four edge pieces belonging to the D face to their correct places. This is achieved by placing each of them in the edge location common to the two faces whose colours they carry. A human mind would attempt to optimize these moves by simultaneously placing as many of the four relevant edges in their correct location as possible. However, similar to the technique we used in the Edge Orientation stage, here too we will create an algorithm to only correctly place one edge piece at a time, and run this algorithm for all four pieces to achieve in a long series of solving moves. Sequence reductions will then be applied to this series to optimize it and bring it as close as possible to the ideal one that the human solver might arrive at. Before we define the algorithm, some salient categorization of edge pieces should be noted: o A relevant edge piece may reside in the lowermost face D (Layer #1), the uppermost face U (Layer #3), or in the middle row of the cube (Layer #2). o Even though edge pieces are by nature common to two faces at any point of time, in this algorithm, whenever possible we shall say they belong to face L or face R, i.e. they are a part of, or currently reside in face L or R. o The only edge pieces that cannot be referred to in the manner described above are those in UF and DF, and UB and DB. These are said to belong to F and B respectively. With these statements in mind, we can now begin to elaborate the EO-Cross algorithm. The algorithm will give us, for each edge piece to be corrected, a series of moves which shall have the following form: Sequence = ABCA B Where A, B, and C are short adjustment moves and A and B are the inverses or reversals of A and B respectively. A, B and C can be obtained as follows. Move A For edge pieces residing in Layers #2 and #3, do nothing. Therefore, A= {}. For edge pieces residing in Layer #1, For edge pieces on X face, where X is F or B, A is given by A= {2X}, i.e. {2F} for DF and {2B} for DB. 454

8 For edge pieces on X face, where X is L or R, A is given by A= {X}, i.e. {L} for DL and {R} for DR. Move B Move B is given by the number of D moves required to shift an edge piece from the face it belongs to now to the face it should belong to in the solved state. For example, if an edge belongs to L now, but must belong to B eventually, then this is one D move away. Similarly, R is 2 D moves away (2D) and F is 3 D moves away (D ). All possible combinations are given in Table I. Here the row is given by the initial face the edge belongs to, while the column is given by the final face the edge must be brought to. TABLE I. B STAGE MOVES FOR EO CROSS From\To F L B R F - D 2D D L D - D 2D B 2D D - D R D 2D D - Move C For edge pieces residing in Layer #1, C= {}. For edge pieces residing in Layer #2, For FL, C= {L} For FR, C= {R } For BL, C= {L } For BR, C= {R} For edge pieces residing in Layer #3, C= {2X}, where X is the face that the edge currently belongs to. For example, for an edge piece at UL, C= {2L}, but for one at UB, C= {2B}. Having thus obtained all three moves A, B, and C, it is now possible to string together the complete sequence for solving a single edge piece with the equation, Sequence = ABCA B A series of sequences, one for each of the four edge pieces belonging to the D face, would then together solve the cross-shape on the D face and thus complete EO-Cross. However, the order of selection of the four edge pieces also matters. It can be seen that giving priority to edge pieces that can be solved with the fewest number of moves is help shorten the overall EO-Cross stage, as the early short sequences will displace the edge pieces having longer sequences and put in more favourable positions. For this purpose, it is noted that edge pieces initially residing in Layer #2 are most favourable, followed by those in Layer #3. This is because Layer #2 pieces have no move A, and move B of length 1. Layer #3 pieces also have no move A, but have a move B of length 2. Layer #1 pieces will generally have the longest correction sequences. As an example, let us take an edge piece existing in the UL position (Example A in Figure 4) and needing to be placed in the DL position, as shown. Fig 4. Example A for EO Cross with relevant edge at UL It is readily apparent to us that a simple 2L turn will place the edge piece in the correct location. Let us a see what sequence the algorithm produces. Firstly, we find A. A is empty for pieces in the 3 rd layer. Next, we find B. The piece belongs to L, and must travel to L itself, so Table I states that B is also empty. Finally, C is given by 2X, where X is the face, here L. Thus the produced sequence is ABCA B, where only C has a value=2l. Thus the sequence is 2L, which the same result we predicted. 455

9 Let us study a more complicated example (Example B in Figure 5), namely an edge piece located in DF, needing to be placed in the back face, i.e. DB. Fig 5. Example B for EO Cross with relevant edge at DF A naïve solution would be to perform 2D, but this would alter the correctly placed edge pieces on the D face. Instead, let us see if the algorithm can preserve the placing while relocating the piece in question. First, since the piece belongs to layer #1, A is 2X, or 2F. Next, B is given by a move from F to B, for which Table I supplies a value of 2D. Finally, C is empty for layer #1. The given sequence ABCA B is thus {2F2D2F 2D }, which correctly places the edge piece. Closer observation will show how the correctness of the edge pieces and the D cross is preserved. The two A groups contain 2F, which does not alter edge orientation as set in the first stage. The two B groups use 2D. This affects the edges on the bottom face, but the effect is reversed by the B move, which reinstalls the edges in their former positions, with the exception of the piece in question, which has be correctly placed at DB. VI. CONCLUSION It is thus observed that a machine can be made to simulate more complex and optimized solutions to extended problems, even though in the learning step it is only taught to put together the longest, most simple set of moves that solves the problem. By implementing certain reduction techniques, this extended sequence can be greatly shortened and optimized, such that the solution mimics that of a human who has learnt more than just the simplest techniques. In the four stages of the ZZ method of solving a Rubik s Cube, we have here dealt with only the first two stages. The greatest benefit can be seen in the F-elimination technique applied to the first Edge Orientation stage. A reduction algorithm has also been developed for the EO-Cross stage, to moderately reduce number of steps. Further work would include modeling the most basic solutions for the remaining two stages, F2L and Last Layer, and developing similarly efficient reduction algorithms to optimize the solutions. At the conclusion of this work on all layers, it will be possible to completely program a machine to mimic the same process that a human undertakes as he attempts to combine multiple sequences into fewer, shorter amalgamations of moves, by using the reduction algorithms to simulate thinking. This method of solving a Rubik s Cube using sequence detection and reduction is a suitable alternate to the heuristic search method, especially which regards to solving cube of higher degrees, as the huge pattern databases used by the latter method could pose a serious memory problem. REFERENCES [1] Zbigniew Zborowski, Expert Method of Solving the Rubik s Cube, 2006, [2] Rubik's Cube, AI Technology in the Computer Game World, [3] Richard E. Korf, "Finding Optimal Solutions to Rubik s Cube Using Pattern Databases", AAAI-97 Proceedings, 1997 [4] Thistlethwaite, M.B.: The Move Strategy. London CL VIII (1981) 456

A Solution of Rubik s Cube

A Solution of Rubik s Cube A Solution of Rubik s Cube Peter M. Garfield January 8, 2003 The basic outline of our solution is as follows. (This is adapted from the solution that I was taught over 20 years ago, and I do not claim

More information

1974 Rubik. Rubik and Rubik's are trademarks of Seven Towns ltd., used under license. All rights reserved. Solution Hints booklet

1974 Rubik. Rubik and Rubik's are trademarks of Seven Towns ltd., used under license. All rights reserved. Solution Hints booklet # # R 1974 Rubik. Rubik and Rubik's are trademarks of Seven Towns ltd., used under license. All rights reserved. Solution Hints booklet The Professor s Cube Solution Hints Booklet The Greatest Challenge

More information

Permutation Groups. Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles April 2, 2003

Permutation Groups. Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles April 2, 2003 Permutation Groups Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles April 2, 2003 Abstract This paper describes permutations (rearrangements of objects): how to combine them, and how

More information

Extended Essay Mathematics: Finding the total number of legal permutations of the Rubik s Cube

Extended Essay Mathematics: Finding the total number of legal permutations of the Rubik s Cube Extended Essay Mathematics: Finding the total number of legal permutations of the Rubik s Cube Rafid Hoda Term: May 2010 Session number: 000504 008 Trondheim Katedralskole Word Count: 3635 Abstract In

More information

DIRECTIONS FOR SOLVING THE 5x5x5 (Professor) CUBE

DIRECTIONS FOR SOLVING THE 5x5x5 (Professor) CUBE DIRECTIONS FOR SOLVING THE 5x5x5 (Professor) CUBE These instructions can be used to solve a 5x5x5 cube, also known as the professor cube due to its difficulty. These directions are a graphical version

More information

Comments on the Rubik s Cube Puzzle

Comments on the Rubik s Cube Puzzle Comments on the Rubik s Cube Puzzle Dan Frohardt February 15, 2013 Introduction The Rubik s Cube is a mechanical puzzle that became a very popular toy in the early 1980s, acquiring fad status. Unlike some

More information

Solving the Rubik's Revenge (4x4x4) Home Pre-Solution Stuff Step 1 Step 2 Step 3 Solution Moves Lists

Solving the Rubik's Revenge (4x4x4) Home Pre-Solution Stuff Step 1 Step 2 Step 3 Solution Moves Lists Solving your Rubik's Revenge (4x4x4) 07/16/2007 12:59 AM Solving the Rubik's Revenge (4x4x4) Home Pre-Solution Stuff Step 1 Step 2 Step 3 Solution Moves Lists Turn this... Into THIS! To solve the Rubik's

More information

Enumerating possible Sudoku grids

Enumerating possible Sudoku grids Enumerating possible Sudoku grids Bertram Felgenhauer Department of Computer Science TU Dresden 00 Dresden Germany bf@mail.inf.tu-dresden.de Frazer Jarvis Department of Pure Mathematics University of Sheffield,

More information

ݱ³ ±² ±º Ϋ¾ µž Ý«¾» ͱ ª ²¹ Ó» ±¼ Ó ¼» º± Ø«³ ²

ݱ³ ±² ±º Ϋ¾ µž Ý«¾» ͱ ª ²¹ Ó» ±¼ Ó ¼» º± Ø«³ ² ÜÛÙÎÛÛ ÐÎÑÖÛÝÌô Ò ÝÑÓÐËÌÛÎ ÍÝ ÛÒÝÛ ô Ú ÎÍÌ ÔÛÊÛÔ ô ݱ³ ±² ±º Ϋ¾ µž Ý«¾» ͱ ª ²¹ Ó» ±¼ Ó ¼» º± Ø«³ ² ÜßÒ ÛÔ ÜËÞÛÎÙô ÖßÕÑÞ Ì ÜÛÍÌÎJÓ ÕÌØ ÎÑÇßÔ ÒÍÌ ÌËÌÛ ÑÚ ÌÛÝØÒÑÔÑÙÇ ÝÍÝ ÍÝØÑÑÔ Comparison of Rubik s Cube

More information

TEACHER S GUIDE TO RUSH HOUR

TEACHER S GUIDE TO RUSH HOUR Using Puzzles to Teach Problem Solving TEACHER S GUIDE TO RUSH HOUR Includes Rush Hour 2, 3, 4, Rush Hour Jr., Railroad Rush Hour and Safari Rush Hour BENEFITS Rush Hour is a sliding piece puzzle that

More information

Graph Theory Problems and Solutions

Graph Theory Problems and Solutions raph Theory Problems and Solutions Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles November, 005 Problems. Prove that the sum of the degrees of the vertices of any finite graph is

More information

MATH10212 Linear Algebra. Systems of Linear Equations. Definition. An n-dimensional vector is a row or a column of n numbers (or letters): a 1.

MATH10212 Linear Algebra. Systems of Linear Equations. Definition. An n-dimensional vector is a row or a column of n numbers (or letters): a 1. MATH10212 Linear Algebra Textbook: D. Poole, Linear Algebra: A Modern Introduction. Thompson, 2006. ISBN 0-534-40596-7. Systems of Linear Equations Definition. An n-dimensional vector is a row or a column

More information

Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March

More information

Colored Hats and Logic Puzzles

Colored Hats and Logic Puzzles Colored Hats and Logic Puzzles Alex Zorn January 21, 2013 1 Introduction In this talk we ll discuss a collection of logic puzzles/games in which a number of people are given colored hats, and they try

More information

The Mathematics of the Rubik s Cube

The Mathematics of the Rubik s Cube Introduction to Group Theory and Permutation Puzzles March 17, 2009 Introduction Almost everyone has tried to solve a Rubik s cube. The first attempt often ends in vain with only a jumbled mess of colored

More information

Reading 13 : Finite State Automata and Regular Expressions

Reading 13 : Finite State Automata and Regular Expressions CS/Math 24: Introduction to Discrete Mathematics Fall 25 Reading 3 : Finite State Automata and Regular Expressions Instructors: Beck Hasti, Gautam Prakriya In this reading we study a mathematical model

More information

Mathematics of Sudoku I

Mathematics of Sudoku I Mathematics of Sudoku I Bertram Felgenhauer Frazer Jarvis January, 00 Introduction Sudoku puzzles became extremely popular in Britain from late 00. Sudoku, or Su Doku, is a Japanese word (or phrase) meaning

More information

LAMC Beginners Circle: Parity of a Permutation Problems from Handout by Oleg Gleizer Solutions by James Newton

LAMC Beginners Circle: Parity of a Permutation Problems from Handout by Oleg Gleizer Solutions by James Newton LAMC Beginners Circle: Parity of a Permutation Problems from Handout by Oleg Gleizer Solutions by James Newton 1. Take a two-digit number and write it down three times to form a six-digit number. For example,

More information

Sudoku puzzles and how to solve them

Sudoku puzzles and how to solve them Sudoku puzzles and how to solve them Andries E. Brouwer 2006-05-31 1 Sudoku Figure 1: Two puzzles the second one is difficult A Sudoku puzzle (of classical type ) consists of a 9-by-9 matrix partitioned

More information

Group Theory via Rubik s Cube

Group Theory via Rubik s Cube Group Theory via Rubik s Cube Tom Davis tomrdavis@earthlink.net http://www.geometer.org ROUGH DRAFT!!! December 6, 2006 Abstract A group is a mathematical object of great importance, but the usual study

More information

Group Theory and the Rubik s Cube. Janet Chen

Group Theory and the Rubik s Cube. Janet Chen Group Theory and the Rubik s Cube Janet Chen A Note to the Reader These notes are based on a 2-week course that I taught for high school students at the Texas State Honors Summer Math Camp. All of the

More information

Algebra of the 2x2x2 Rubik s Cube

Algebra of the 2x2x2 Rubik s Cube Algebra of the 2x2x2 Rubik s Cube Under the direction of Dr. John S. Caughman William Brad Benjamin. Introduction As children, many of us spent countless hours playing with Rubiks Cube. At the time it

More information

7 Gaussian Elimination and LU Factorization

7 Gaussian Elimination and LU Factorization 7 Gaussian Elimination and LU Factorization In this final section on matrix factorization methods for solving Ax = b we want to take a closer look at Gaussian elimination (probably the best known method

More information

Unit 1 Number Sense. In this unit, students will study repeating decimals, percents, fractions, decimals, and proportions.

Unit 1 Number Sense. In this unit, students will study repeating decimals, percents, fractions, decimals, and proportions. Unit 1 Number Sense In this unit, students will study repeating decimals, percents, fractions, decimals, and proportions. BLM Three Types of Percent Problems (p L-34) is a summary BLM for the material

More information

Solving Simultaneous Equations and Matrices

Solving Simultaneous Equations and Matrices Solving Simultaneous Equations and Matrices The following represents a systematic investigation for the steps used to solve two simultaneous linear equations in two unknowns. The motivation for considering

More information

6 3 4 9 = 6 10 + 3 10 + 4 10 + 9 10

6 3 4 9 = 6 10 + 3 10 + 4 10 + 9 10 Lesson The Binary Number System. Why Binary? The number system that you are familiar with, that you use every day, is the decimal number system, also commonly referred to as the base- system. When you

More information

Genetic Algorithms and Sudoku

Genetic Algorithms and Sudoku Genetic Algorithms and Sudoku Dr. John M. Weiss Department of Mathematics and Computer Science South Dakota School of Mines and Technology (SDSM&T) Rapid City, SD 57701-3995 john.weiss@sdsmt.edu MICS 2009

More information

ALGEBRA. sequence, term, nth term, consecutive, rule, relationship, generate, predict, continue increase, decrease finite, infinite

ALGEBRA. sequence, term, nth term, consecutive, rule, relationship, generate, predict, continue increase, decrease finite, infinite ALGEBRA Pupils should be taught to: Generate and describe sequences As outcomes, Year 7 pupils should, for example: Use, read and write, spelling correctly: sequence, term, nth term, consecutive, rule,

More information

Factorizations: Searching for Factor Strings

Factorizations: Searching for Factor Strings " 1 Factorizations: Searching for Factor Strings Some numbers can be written as the product of several different pairs of factors. For example, can be written as 1, 0,, 0, and. It is also possible to write

More information

Commutative Property Grade One

Commutative Property Grade One Ohio Standards Connection Patterns, Functions and Algebra Benchmark E Solve open sentences and explain strategies. Indicator 4 Solve open sentences by representing an expression in more than one way using

More information

Session 7 Fractions and Decimals

Session 7 Fractions and Decimals Key Terms in This Session Session 7 Fractions and Decimals Previously Introduced prime number rational numbers New in This Session period repeating decimal terminating decimal Introduction In this session,

More information

Pigeonhole Principle Solutions

Pigeonhole Principle Solutions Pigeonhole Principle Solutions 1. Show that if we take n + 1 numbers from the set {1, 2,..., 2n}, then some pair of numbers will have no factors in common. Solution: Note that consecutive numbers (such

More information

Lottery Looper. User Manual

Lottery Looper. User Manual Lottery Looper User Manual Lottery Looper 1.7 copyright Timersoft. All rights reserved. http://www.timersoft.com The information contained in this document is subject to change without notice. This document

More information

6.4 Normal Distribution

6.4 Normal Distribution Contents 6.4 Normal Distribution....................... 381 6.4.1 Characteristics of the Normal Distribution....... 381 6.4.2 The Standardized Normal Distribution......... 385 6.4.3 Meaning of Areas under

More information

This puzzle is based on the following anecdote concerning a Hungarian sociologist and his observations of circles of friends among children.

This puzzle is based on the following anecdote concerning a Hungarian sociologist and his observations of circles of friends among children. 0.1 Friend Trends This puzzle is based on the following anecdote concerning a Hungarian sociologist and his observations of circles of friends among children. In the 1950s, a Hungarian sociologist S. Szalai

More information

S on n elements. A good way to think about permutations is the following. Consider the A = 1,2,3, 4 whose elements we permute with the P =

S on n elements. A good way to think about permutations is the following. Consider the A = 1,2,3, 4 whose elements we permute with the P = Section 6. 1 Section 6. Groups of Permutations: : The Symmetric Group Purpose of Section: To introduce the idea of a permutation and show how the set of all permutations of a set of n elements, equipped

More information

1 Solving LPs: The Simplex Algorithm of George Dantzig

1 Solving LPs: The Simplex Algorithm of George Dantzig Solving LPs: The Simplex Algorithm of George Dantzig. Simplex Pivoting: Dictionary Format We illustrate a general solution procedure, called the simplex algorithm, by implementing it on a very simple example.

More information

CS 3719 (Theory of Computation and Algorithms) Lecture 4

CS 3719 (Theory of Computation and Algorithms) Lecture 4 CS 3719 (Theory of Computation and Algorithms) Lecture 4 Antonina Kolokolova January 18, 2012 1 Undecidable languages 1.1 Church-Turing thesis Let s recap how it all started. In 1990, Hilbert stated a

More information

Multiplication and Division with Rational Numbers

Multiplication and Division with Rational Numbers Multiplication and Division with Rational Numbers Kitty Hawk, North Carolina, is famous for being the place where the first airplane flight took place. The brothers who flew these first flights grew up

More information

8 Divisibility and prime numbers

8 Divisibility and prime numbers 8 Divisibility and prime numbers 8.1 Divisibility In this short section we extend the concept of a multiple from the natural numbers to the integers. We also summarize several other terms that express

More information

We can express this in decimal notation (in contrast to the underline notation we have been using) as follows: 9081 + 900b + 90c = 9001 + 100c + 10b

We can express this in decimal notation (in contrast to the underline notation we have been using) as follows: 9081 + 900b + 90c = 9001 + 100c + 10b In this session, we ll learn how to solve problems related to place value. This is one of the fundamental concepts in arithmetic, something every elementary and middle school mathematics teacher should

More information

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Why? A central concept in Computer Science. Algorithms are ubiquitous. Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online

More information

Unit 6 Number and Operations in Base Ten: Decimals

Unit 6 Number and Operations in Base Ten: Decimals Unit 6 Number and Operations in Base Ten: Decimals Introduction Students will extend the place value system to decimals. They will apply their understanding of models for decimals and decimal notation,

More information

5.1 Radical Notation and Rational Exponents

5.1 Radical Notation and Rational Exponents Section 5.1 Radical Notation and Rational Exponents 1 5.1 Radical Notation and Rational Exponents We now review how exponents can be used to describe not only powers (such as 5 2 and 2 3 ), but also roots

More information

Twenty-Five Moves Suffice for Rubik s Cube

Twenty-Five Moves Suffice for Rubik s Cube Twenty-Five Moves Suffice for Rubik s Cube Tomas Rokicki Abstract How many moves does it take to solve Rubik s Cube? Positions are known that require 20 moves, and it has already been shown that there

More information

DIVISIBILITY AND GREATEST COMMON DIVISORS

DIVISIBILITY AND GREATEST COMMON DIVISORS DIVISIBILITY AND GREATEST COMMON DIVISORS KEITH CONRAD 1 Introduction We will begin with a review of divisibility among integers, mostly to set some notation and to indicate its properties Then we will

More information

Regular Languages and Finite Automata

Regular Languages and Finite Automata Regular Languages and Finite Automata 1 Introduction Hing Leung Department of Computer Science New Mexico State University Sep 16, 2010 In 1943, McCulloch and Pitts [4] published a pioneering work on a

More information

3. Mathematical Induction

3. Mathematical Induction 3. MATHEMATICAL INDUCTION 83 3. Mathematical Induction 3.1. First Principle of Mathematical Induction. Let P (n) be a predicate with domain of discourse (over) the natural numbers N = {0, 1,,...}. If (1)

More information

A Concrete Introduction. to the Abstract Concepts. of Integers and Algebra using Algebra Tiles

A Concrete Introduction. to the Abstract Concepts. of Integers and Algebra using Algebra Tiles A Concrete Introduction to the Abstract Concepts of Integers and Algebra using Algebra Tiles Table of Contents Introduction... 1 page Integers 1: Introduction to Integers... 3 2: Working with Algebra Tiles...

More information

Lecture 16 : Relations and Functions DRAFT

Lecture 16 : Relations and Functions DRAFT CS/Math 240: Introduction to Discrete Mathematics 3/29/2011 Lecture 16 : Relations and Functions Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT In Lecture 3, we described a correspondence

More information

Midterm Practice Problems

Midterm Practice Problems 6.042/8.062J Mathematics for Computer Science October 2, 200 Tom Leighton, Marten van Dijk, and Brooke Cowan Midterm Practice Problems Problem. [0 points] In problem set you showed that the nand operator

More information

APP INVENTOR. Test Review

APP INVENTOR. Test Review APP INVENTOR Test Review Main Concepts App Inventor Lists Creating Random Numbers Variables Searching and Sorting Data Linear Search Binary Search Selection Sort Quick Sort Abstraction Modulus Division

More information

Lab 11. Simulations. The Concept

Lab 11. Simulations. The Concept Lab 11 Simulations In this lab you ll learn how to create simulations to provide approximate answers to probability questions. We ll make use of a particular kind of structure, called a box model, that

More information

Continued Fractions and the Euclidean Algorithm

Continued Fractions and the Euclidean Algorithm Continued Fractions and the Euclidean Algorithm Lecture notes prepared for MATH 326, Spring 997 Department of Mathematics and Statistics University at Albany William F Hammond Table of Contents Introduction

More information

2) Write in detail the issues in the design of code generator.

2) Write in detail the issues in the design of code generator. COMPUTER SCIENCE AND ENGINEERING VI SEM CSE Principles of Compiler Design Unit-IV Question and answers UNIT IV CODE GENERATION 9 Issues in the design of code generator The target machine Runtime Storage

More information

International Journal of Advanced Research in Computer Science and Software Engineering

International Journal of Advanced Research in Computer Science and Software Engineering Volume 3, Issue 7, July 23 ISSN: 2277 28X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Greedy Algorithm:

More information

SYSTEMS OF EQUATIONS AND MATRICES WITH THE TI-89. by Joseph Collison

SYSTEMS OF EQUATIONS AND MATRICES WITH THE TI-89. by Joseph Collison SYSTEMS OF EQUATIONS AND MATRICES WITH THE TI-89 by Joseph Collison Copyright 2000 by Joseph Collison All rights reserved Reproduction or translation of any part of this work beyond that permitted by Sections

More information

6.3 Conditional Probability and Independence

6.3 Conditional Probability and Independence 222 CHAPTER 6. PROBABILITY 6.3 Conditional Probability and Independence Conditional Probability Two cubical dice each have a triangle painted on one side, a circle painted on two sides and a square painted

More information

POLYNOMIAL FUNCTIONS

POLYNOMIAL FUNCTIONS POLYNOMIAL FUNCTIONS Polynomial Division.. 314 The Rational Zero Test.....317 Descarte s Rule of Signs... 319 The Remainder Theorem.....31 Finding all Zeros of a Polynomial Function.......33 Writing a

More information

Integrated Accounting System for Mac OS X

Integrated Accounting System for Mac OS X Integrated Accounting System for Mac OS X Program version: 6.3 110401 2011 HansaWorld Ireland Limited, Dublin, Ireland Preface Standard Accounts is a powerful accounting system for Mac OS X. Text in square

More information

Operation Count; Numerical Linear Algebra

Operation Count; Numerical Linear Algebra 10 Operation Count; Numerical Linear Algebra 10.1 Introduction Many computations are limited simply by the sheer number of required additions, multiplications, or function evaluations. If floating-point

More information

Math vocabulary can be taught with what Montessorians call the Three Period Lesson.

Math vocabulary can be taught with what Montessorians call the Three Period Lesson. Full Transcript of: Montessori Mathematics Materials Presentations Introduction to Montessori Math Demonstrations ( Disclaimer) This program is intended to give the viewers a general understanding of the

More information

Chapter 3. Cartesian Products and Relations. 3.1 Cartesian Products

Chapter 3. Cartesian Products and Relations. 3.1 Cartesian Products Chapter 3 Cartesian Products and Relations The material in this chapter is the first real encounter with abstraction. Relations are very general thing they are a special type of subset. After introducing

More information

a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2.

a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2. Chapter 1 LINEAR EQUATIONS 1.1 Introduction to linear equations A linear equation in n unknowns x 1, x,, x n is an equation of the form a 1 x 1 + a x + + a n x n = b, where a 1, a,..., a n, b are given

More information

3 Some Integer Functions

3 Some Integer Functions 3 Some Integer Functions A Pair of Fundamental Integer Functions The integer function that is the heart of this section is the modulo function. However, before getting to it, let us look at some very simple

More information

Preliminary Mathematics

Preliminary Mathematics Preliminary Mathematics The purpose of this document is to provide you with a refresher over some topics that will be essential for what we do in this class. We will begin with fractions, decimals, and

More information

Introduction Solvability Rules Computer Solution Implementation. Connect Four. March 9, 2010. Connect Four

Introduction Solvability Rules Computer Solution Implementation. Connect Four. March 9, 2010. Connect Four March 9, 2010 is a tic-tac-toe like game in which two players drop discs into a 7x6 board. The first player to get four in a row (either vertically, horizontally, or diagonally) wins. The game was first

More information

C H A P T E R Regular Expressions regular expression

C H A P T E R Regular Expressions regular expression 7 CHAPTER Regular Expressions Most programmers and other power-users of computer systems have used tools that match text patterns. You may have used a Web search engine with a pattern like travel cancun

More information

What Is Singapore Math?

What Is Singapore Math? What Is Singapore Math? You may be wondering what Singapore Math is all about, and with good reason. This is a totally new kind of math for you and your child. What you may not know is that Singapore has

More information

1.2 Solving a System of Linear Equations

1.2 Solving a System of Linear Equations 1.. SOLVING A SYSTEM OF LINEAR EQUATIONS 1. Solving a System of Linear Equations 1..1 Simple Systems - Basic De nitions As noticed above, the general form of a linear system of m equations in n variables

More information

A Rubik's cube solution that is easy to memorize

A Rubik's cube solution that is easy to memorize A Rubik's cube solution that is easy to memorize Cedric Beust, January 2003 Foreword A couple of weeks ago at a party, I came in contact with a Rubik's cube. It's not that I hadn't seen one in a long time

More information

Rubiks Cube or Magic Cube - How to solve the Rubiks Cube - follow these instructions

Rubiks Cube or Magic Cube - How to solve the Rubiks Cube - follow these instructions The solution to the Rubiks Cube or Magic Cube - How to solve the Rubiks Cube - follow these instructions The first step to complete the Rubiks Cube. Complete just one face of the cube. You will at some

More information

47 Numerator Denominator

47 Numerator Denominator JH WEEKLIES ISSUE #22 2012-2013 Mathematics Fractions Mathematicians often have to deal with numbers that are not whole numbers (1, 2, 3 etc.). The preferred way to represent these partial numbers (rational

More information

Kenken For Teachers. Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles June 27, 2010. Abstract

Kenken For Teachers. Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles June 27, 2010. Abstract Kenken For Teachers Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles June 7, 00 Abstract Kenken is a puzzle whose solution requires a combination of logic and simple arithmetic skills.

More information

So let us begin our quest to find the holy grail of real analysis.

So let us begin our quest to find the holy grail of real analysis. 1 Section 5.2 The Complete Ordered Field: Purpose of Section We present an axiomatic description of the real numbers as a complete ordered field. The axioms which describe the arithmetic of the real numbers

More information

Welcome to Basic Math Skills!

Welcome to Basic Math Skills! Basic Math Skills Welcome to Basic Math Skills! Most students find the math sections to be the most difficult. Basic Math Skills was designed to give you a refresher on the basics of math. There are lots

More information

CPS122 Lecture: State and Activity Diagrams in UML

CPS122 Lecture: State and Activity Diagrams in UML CPS122 Lecture: State and Activity Diagrams in UML Objectives: last revised February 14, 2012 1. To show how to create and read State Diagrams 2. To introduce UML Activity Diagrams Materials: 1. Demonstration

More information

Elements in the periodic table are indicated by SYMBOLS. To the left of the symbol we find the atomic mass (A) at the upper corner, and the atomic num

Elements in the periodic table are indicated by SYMBOLS. To the left of the symbol we find the atomic mass (A) at the upper corner, and the atomic num . ATOMIC STRUCTURE FUNDAMENTALS LEARNING OBJECTIVES To review the basics concepts of atomic structure that have direct relevance to the fundamental concepts of organic chemistry. This material is essential

More information

Mathematical Induction

Mathematical Induction Mathematical Induction (Handout March 8, 01) The Principle of Mathematical Induction provides a means to prove infinitely many statements all at once The principle is logical rather than strictly mathematical,

More information

Assignment 2: Option Pricing and the Black-Scholes formula The University of British Columbia Science One CS 2015-2016 Instructor: Michael Gelbart

Assignment 2: Option Pricing and the Black-Scholes formula The University of British Columbia Science One CS 2015-2016 Instructor: Michael Gelbart Assignment 2: Option Pricing and the Black-Scholes formula The University of British Columbia Science One CS 2015-2016 Instructor: Michael Gelbart Overview Due Thursday, November 12th at 11:59pm Last updated

More information

Sowing Games JEFF ERICKSON

Sowing Games JEFF ERICKSON Games of No Chance MSRI Publications Volume 29, 1996 Sowing Games JEFF ERICKSON Abstract. At the Workshop, John Conway and Richard Guy proposed the class of sowing games, loosely based on the ancient African

More information

Clock Arithmetic and Modular Systems Clock Arithmetic The introduction to Chapter 4 described a mathematical system

Clock Arithmetic and Modular Systems Clock Arithmetic The introduction to Chapter 4 described a mathematical system CHAPTER Number Theory FIGURE FIGURE FIGURE Plus hours Plus hours Plus hours + = + = + = FIGURE. Clock Arithmetic and Modular Systems Clock Arithmetic The introduction to Chapter described a mathematical

More information

Chapter 11 Number Theory

Chapter 11 Number Theory Chapter 11 Number Theory Number theory is one of the oldest branches of mathematics. For many years people who studied number theory delighted in its pure nature because there were few practical applications

More information

Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson

Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson Mathematics for Computer Science/Software Engineering Notes for the course MSM1F3 Dr. R. A. Wilson October 1996 Chapter 1 Logic Lecture no. 1. We introduce the concept of a proposition, which is a statement

More information

Lecture L3 - Vectors, Matrices and Coordinate Transformations

Lecture L3 - Vectors, Matrices and Coordinate Transformations S. Widnall 16.07 Dynamics Fall 2009 Lecture notes based on J. Peraire Version 2.0 Lecture L3 - Vectors, Matrices and Coordinate Transformations By using vectors and defining appropriate operations between

More information

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS Systems of Equations and Matrices Representation of a linear system The general system of m equations in n unknowns can be written a x + a 2 x 2 + + a n x n b a

More information

Current California Math Standards Balanced Equations

Current California Math Standards Balanced Equations Balanced Equations Current California Math Standards Balanced Equations Grade Three Number Sense 1.0 Students understand the place value of whole numbers: 1.1 Count, read, and write whole numbers to 10,000.

More information

INTRUSION PREVENTION AND EXPERT SYSTEMS

INTRUSION PREVENTION AND EXPERT SYSTEMS INTRUSION PREVENTION AND EXPERT SYSTEMS By Avi Chesla avic@v-secure.com Introduction Over the past few years, the market has developed new expectations from the security industry, especially from the intrusion

More information

Regular Expressions and Automata using Haskell

Regular Expressions and Automata using Haskell Regular Expressions and Automata using Haskell Simon Thompson Computing Laboratory University of Kent at Canterbury January 2000 Contents 1 Introduction 2 2 Regular Expressions 2 3 Matching regular expressions

More information

Beads, Racks and Counting.. Ian Sugarman

Beads, Racks and Counting.. Ian Sugarman Beads, Racks and Counting.. Ian Sugarman Ian believes there is an ambiguous and sometimes uneasy relationship between Numbers and the Number System and Calculations elements of the primary strategy, and

More information

Just the Factors, Ma am

Just the Factors, Ma am 1 Introduction Just the Factors, Ma am The purpose of this note is to find and study a method for determining and counting all the positive integer divisors of a positive integer Let N be a given positive

More information

3.1. RATIONAL EXPRESSIONS

3.1. RATIONAL EXPRESSIONS 3.1. RATIONAL EXPRESSIONS RATIONAL NUMBERS In previous courses you have learned how to operate (do addition, subtraction, multiplication, and division) on rational numbers (fractions). Rational numbers

More information

Elasticity. I. What is Elasticity?

Elasticity. I. What is Elasticity? Elasticity I. What is Elasticity? The purpose of this section is to develop some general rules about elasticity, which may them be applied to the four different specific types of elasticity discussed in

More information

CAs and Turing Machines. The Basis for Universal Computation

CAs and Turing Machines. The Basis for Universal Computation CAs and Turing Machines The Basis for Universal Computation What We Mean By Universal When we claim universal computation we mean that the CA is capable of calculating anything that could possibly be calculated*.

More information

PROG0101 Fundamentals of Programming PROG0101 FUNDAMENTALS OF PROGRAMMING. Chapter 3 Algorithms

PROG0101 Fundamentals of Programming PROG0101 FUNDAMENTALS OF PROGRAMMING. Chapter 3 Algorithms PROG0101 FUNDAMENTALS OF PROGRAMMING Chapter 3 1 Introduction to A sequence of instructions. A procedure or formula for solving a problem. It was created mathematician, Mohammed ibn-musa al-khwarizmi.

More information

1. Define: (a) Variable, (b) Constant, (c) Type, (d) Enumerated Type, (e) Identifier.

1. Define: (a) Variable, (b) Constant, (c) Type, (d) Enumerated Type, (e) Identifier. Study Group 1 Variables and Types 1. Define: (a) Variable, (b) Constant, (c) Type, (d) Enumerated Type, (e) Identifier. 2. What does the byte 00100110 represent? 3. What is the purpose of the declarations

More information

Lecture 2. Binary and Hexadecimal Numbers

Lecture 2. Binary and Hexadecimal Numbers Lecture 2 Binary and Hexadecimal Numbers Purpose: Review binary and hexadecimal number representations Convert directly from one base to another base Review addition and subtraction in binary representations

More information

Efficient Data Structures for Decision Diagrams

Efficient Data Structures for Decision Diagrams Artificial Intelligence Laboratory Efficient Data Structures for Decision Diagrams Master Thesis Nacereddine Ouaret Professor: Supervisors: Boi Faltings Thomas Léauté Radoslaw Szymanek Contents Introduction...

More information

A Tool for Generating Partition Schedules of Multiprocessor Systems

A Tool for Generating Partition Schedules of Multiprocessor Systems A Tool for Generating Partition Schedules of Multiprocessor Systems Hans-Joachim Goltz and Norbert Pieth Fraunhofer FIRST, Berlin, Germany {hans-joachim.goltz,nobert.pieth}@first.fraunhofer.de Abstract.

More information

COMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012

COMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012 Binary numbers The reason humans represent numbers using decimal (the ten digits from 0,1,... 9) is that we have ten fingers. There is no other reason than that. There is nothing special otherwise about

More information