Friday, December 25, 2015

South East Asia 2015

South East Asia 2015


Koh Phangan, Thialand

We are currently in Koh Phangan, Thailand. It is so beautiful here. Up to this point, my transit adventures to get to Thailand will need to be further explained in a later blog because it is quite a story.







A Christmas Dinner

We are staying in a dorm style hostel... 24 roommates! This is quite the cultural experience. Given the Christmas holiday, a group of us went out to have a British Christmas Dinner. The dinner consisted of turkey, veggies, and potatoes. Get Pic from CC of dinner. The dinner was very similar to our thanksgiving, however, with the additional of Yorkshire Pudding. Please note: This is not actually pudding but rather an English muffin. At dinner, there were many cultural discussions as everyone was from a different part of the world (South Africa, Columbia, Great Britain, Netherlands (aka Holland aka the Netherlands), and America)

 

12/26/2015 Survived the Full Moon

The party of the year was last night. Full Moon + Christmas + 30,000 people. 


Sunday, November 16, 2014

Flow Free The Color Connect Solution: 5x5

Thank you for reading! The first section of this article discuss the game and strategy to the puzzle Flow Free. As you continue to the second section in this article I will describe the algorithm and a walk through the key components of the Python implementation for the solution for any 5x5 Flow Free puzzle. 

It has been a month now since I have been introduced to the Flow Free game by Big Duck Games. I have been obsessed on how fascinating this puzzle is. I definitely have to give the credit to my friend, Alan, for introducing this game to me and also letting me blitz though all of his levels. On the pursuit of tackling more levels, obviously the challenge grew difficult to complete.

Objective of Flow Free


The objective in the game Flow Free,  is to connect each dot of the same color in a continuous line. The path of the line can not cross or overlap to a color dot/path that is not the same color. Finally before the level is complete, you cant leave a single piece of the grid uncovered.

Once you start working your way though the game, each level will gradually become unlocked. I found it extremely useful to work each level in order. As the levels increase, each level pack will becoming bigger. This will increase the grid size and also add additional dots. 

No worries, if you find yourself blitzing through each level in a staggering pace, you can buy new level packs from in the app store. So you can play the Flow Free game FOREVER. With the general overview of the game, let me explain how a simple puzzle peaked my interest.


As I started to understand how to play, this directly correlated with the amount of levels I was able to complete. This encouraged me to progress further through each Flow Free level. I would often catch myself finishing a level and rework it to see how many possibilities there could be for each level, or passing the game on to a friend and see how they would solve the level. So I also want to thank my friends letting me overwhelm them with my vast amount of question on how they solved the level.

My Observations



Many of my observational questions I would ask my friends and also myself were based around the the strategy, reasoning and basic principles for succeeding each level?  

Initially I would ask: "Why did you chose to start at that particular dot?"


Easy Dots First.  


Was the chosen dot the closest to it's corresponding dot? If this was the case, this strategy could suggest to solve the puzzle, one must connect the closest corresponding dots together first and then continue to the next closest dots, etc. 


Outside Inside. 


Was the chosen dot on the outside also with its corresponding dot on an outside edge. This could suggest the strategy some what like the old snake game. In order to be successful one must complete the outside-most dots first to ensure an easy possible pathway for the inner most dots. 


I Liked The Dot Color. 


Nuff said. Sometimes one must go on their intuition and know that completing their favorite color dots first, delivered confidence that the level was less difficult. All games are mental, just like a baseball player who's team is on a winning streak and wears the same pair of boxers to the ballpark the next day to ensure that his team keeps winning. Or maybe they just told me this so I wont ask any further questions and let them play the game without converse. They know I love them. 

While examining how different the everyone's strategy was, it only motivated me more to find the answer. My first stop was Google which lead me to my first theory. Theory 1: Teacher is Always Right. Considering that the entire population of my observations were still attending college, I put myself in their shoes. How can we prove who complete the puzzle correctly? Is it possible to have multiple correct answers? To answer this, I went online and looked up the cheat codes per level to see who's path matched the solution. In school, the teachers solution is always right (supposedly). Analyzing the results to everyone's strategy, there still wasn't a consistent strategy that proved to baron higher respect over the others. And provided that finding a solution cannot be solved by looking at the answers because it doesn't matter if the teacher's path and my path are the same. All that matters is if the problem has been solved with the requirements met. The answer must be on the how, and the best way to find the order of operations is by constructing an algorithm.

One of my friends, Sarah told me that she stayed up all night one day bustling through each level, she was on a mission. There comes a time when something challenging peaks your interest that challenges you to see how far you can go. Have you ever had the notion to see how far out you can swim in an open body of water?

My basic strategy for succeeding in Free Flow is as follows:



Objective: Find out the most efficient way of finding the shortest path between 2 nodes in a graph with a connecting edge cost that goes through the subset of nodes. 


Solution: Return a list with the tiles coordinates searched when looking for goal node. 







Color Connect Algorithm [CCA]: A Recursive Walk



My strategy was use a nested list of integers to represent the map locations maze as an adjacent matrix. 

Identify and map each dot and their corresponding dot.

    • Path1 list = starting point
    • Path2 list = ending point

Use a nested list of numbers to visualize as the Flow Free map. 

    • The values used in the maze are the following:
      • 0: empty cells
      • -1: Noncurrent starting or ending points
      • 1: Starting Point
      • 'x': Ending Point

Start from the current starting point that is set to '1' and move recursively to all of its 0 neighbors and set to '2'. Append to all 2's to the list. Then mark all of the '0' neighbors of '2' to '3' and append to the list. This will recursively happen until the destination of cell 'x' is reached.

When cell 'x' has been reached, we know have found the path from our starting dot to the ending dot. To find our way back we will again recursively move from 'x'-1 until we have reached 1=1. There should only be one cell that is marked with a '1'. 



Save path and move to the next starting and ending point in the list still path1|2 is empty. 

It took me a whole month to develop, research, implement, and code this algorithm. Using a recursive algorithm isn't the most efficient algorithm. However, now that I have my first program and algorithm under my belt, my idea list has definitely grown. Solving problems now utilizing a newly discovered and developed algorithmic mind, critically solving problems have become interesting. 


Here is my code that can be viewed and forked on GitHub: https://github.com/plhale/Flow-Free.py

Friday, October 31, 2014

Commander Phillip Hale

Before I begin, I just want to know Happy Halloween.

As of Friday morning, 1.3 million names have been submitted their names to NASA and received a "boarding pass."

On Dec. 4, the spacecraft will take its first test flight 3,600 miles from Earth.

The spacecraft will travel a 4.5-hour, two-orbit trip "before returning to Earth at speeds near 20,000 mph and generating temperatures up to 4,000 degrees Fahrenheit," according to NASA.

No astronauts will be aboard this first flight to test its critical systems.

boarding passOrion is built to send crews deeper into space than ever before, including to Mars, NASA says.

"When we set foot on the Red Planet, we'll be exploring for all of humanity. Flying these names will enable people to be part of our journey," said Mark Geyer, Orion Program manager, in a statement.