Thoughts and experiences on various topics: puzzles, games, AI, collaboration, music, politics, and whatever else is on my mind

Archive for October, 2013

Notes on the Power of Collaboration

Alert readers will have noticed that my blog-posting schedule slipped last Sunday — I had promised to discuss the Power of Collaboration,  but it turned out that one of my current  collaborators was visiting from out of town.  So instead of writing about collaboration, I actively engaged in some fun and collaborative work!

I have been mostly self-employed for the last 15 years.  Working from home has distinct advantages, among them not having to commute, and having the freedom to set my own schedule.  The biggest downside I’ve encountered is a lack of collaborators to work with. My experience is that I’m many times more productive when I’m collaborating on some project, so for the last 5 years or so I’ve been actively seeking out collaborations.  I’ve been fortunate in the last 3 years to have found a number of excellent collaborators, and have been engaged in some really exciting projects:

1.  Monorail iPhone puzzle app  — a collaboration with my son Aaron during 2011.

2.  Android version of my Target Tiling (Tetris-inspired) puzzle app  — working with one of my brother’s former students.

3.  Working on a new iPhone puzzle app — as part of a team assembled by an MIT classmate of my son’s.

4.  Researching techniques for solving very large search problems — collaborating with my brother, Wayne, who is a CS professor at Westmont College.

The last 3 of these are actively ongoing, and I plan to write more about them in future posts.

The Power of Collaboration

It seems fairly obvious and natural (as a general rule) that 2 or more people working together can accomplish more than any one person working alone.  They can share the work and thus accomplish more.  But my experience is that the productivity of collaboration is not additive, but is in fact multiplicative.  When I’m working with a collaborator, I estimate that I am at minimum 10 times more productive  and sometimes even more than that!  My intent in this note is to examine how this works, and why it is the case.  I will be focusing on 2-person collaborations since that is what I have the most experience with.

Advantages of collaboration

1.  Dividing up the work

2.  Synergy of knowledge, skills, and ideas

3.  Maintaining focus and commitment

4.  Avoiding prolonged periods of being stuck on something

Dividing up work

If there is a fixed amount of work to do for a project, then 2 collaborators might be expected to accomplish it in half the time.  This assumes that both collaborators are equally capable of doing all of the work themselves with comparable efficiency.   If the collaborators are specialized so that each works best on separate sub-tasks, then dividing the work according to these specialties yields a greater than 2-fold increase in productivity.  In the most extreme case, imagine that neither collaborator has all the skills needed to do the project / task.  Then the time for either one working alone would be infinite!   But working together, if their skills together cover what’s needed, they can accomplish the task collaboratively in finite time.  That’s quite a speedup!

Synergy of knowledge, skills, and ideas

The knowledge and skills of even a 2-person team can be much greater than that of either individual alone.  Beyond dividing tasks according to respective expertise and specialization, the collaborators can share their knowledge and skills with each other so that each becomes individually more productive as well!  This seems very similar to the power of community learning environments (such as ESG at MIT), where the shared knowledge within the community enhances the knowledge of each individual community member.  There is also synergy of ideas — collaborative brainstorming can be both fun and productive, with each collaborator contributing ideas, and feeding off of (reacting to) the ideas of the other.  When it comes to evaluating ideas, having 2 points of view can be beneficial as well.

Maintaining focus and commitment

I have a very great tendency to get distracted (I’m probably ADD or something along those lines).   When I’m actively collaborating (in realtime) with someone, I find that I’m much more able to maintain focus and “stay on track”.   Even when not in realtime, it is still helpful to have a commitment to one’s collaborator — putting off or avoiding things is letting your partner down.

Getting unstuck more quickly (avoiding staying stuck for prolonged periods).

A very specific and powerful aspect of collaboration is reducing the length of stuck times!   When working on a task alone, I often run up against obstacles which stump me (sometimes for prolonged periods).  This can occur for many reasons, including lack of a specific skill or piece of knowledge, or simply not being able to immediately solve some challenge.  Very often, one’s collaborator can offer a key insight or suggest a useful tool or mechanism that gets me quickly unstuck.  Without that outside help, I am much more likely to stay stuck for an extended period.  Similarly, my collaborators can often “rescue” me from pursuing a dead end, by helping me recognize earlier on that it’s either hopeless or unproductive.

Some slight disadvantages of collaboration

There are also a few small disadvantages of collaboration, for example:

1. Overhead in scheduling / finding time to work together

2. Having to compromise (sometimes involving lengthy discussions to resolve differences)

But overall I find that the powerful benefits of collaboration far outweigh any disadvantages!

Next week:

Collaboration “case studies” — exploring more concretely some of my experiences in working with collaborators.

Target Tiling – Achieving Symmetry and Pseudo-Symmetry

Today I’ll wrap up the current discussion of Target Tiling with a look at how to achieve symmetry.  Also, I’ll describe something I call pseudo-symmetry,  which is similar to and behaves somewhat like symmetry.

Achieving Symmetry

For Target Tiling on a board of width = 5, there are a total of 32 different row patterns (5-cell patterns of filled and empty cells).  Of these, there are 8 that are left-right mirror symmetric (they are the same when order of cells is reversed).   Last week I illustrated the 6 “non-trivial” symmetric patterns (omitting both the empty pattern and the completely filled pattern).  That leaves 24 row patterns that are non-symmetric.    These non-symmetric patterns match up into groups of 4 related patterns:  each group containing the 2 mirror reflections of one non-symmetric pattern, each occurring twice — once with the center cell filled and once with the center cell empty.  So fundamentally there are 6 different asymmetric patterns (each generating a related group of 4 out of the 24 patterns).

The next image illustrates all 6 possible non-symmetric row patterns (with center-cell empty, and omitting the mirror reflections):

Canonical asymmetric rows (with center cell empty)

Canonical asymmetric rows (with center cell empty)

Each of these asymmetric patterns (and the variants with reflection and center filled) can be first transformed into a symmetric pattern, and then cleared by a symmetric wipeout using the symmetric macro-operators described in my blog post last week.

I will present an illustration  using a single 1-cell pattern, starting with just a single cell in the 2nd row (1 cell left of center).  Here is the starting board position:

Start pattern for example of achieving symmetry

Start pattern for example of achieving symmetry

This non-symmetric pattern can be transformed into a symmetric pattern with just 2 T-piece placements. The first T piece is placed to the right with its stem pointing right, which yields this position:

After first T-piece is placed at right

After first T-piece is placed at right

Now place the second T piece to the left with stem pointing up, yielding this symmetric position (before the filled row clears):

Symmetry achieved (before row clear)

Symmetry achieved (before row clear)

After the filled row clears, the pattern is still symmetric:

Symmetry achieved (after row clear)

Symmetry achieved (after row clear)

This symmetric pattern can be wiped out with the application of symmetric macro-operators as discussed last week.

The macro-level description could be:

Repeat 2 times:  DO  [ Clear-Center-Hole    +   Clear-3  ]

This takes a total of 14 moves.

Transforming Pseudo-symmetry into Symmetry

Here is a second example, of clearing a non-symmetric pattern by first transforming it into a pseudo-symmetric pattern (symmetric if rows were superimposed on one another).

To illustrate this, consider the challenge of clearing a T-shaped start pattern (where the T is off-center to begin with):

Start with off-center T at right

Start with off-center T at right

This position is non-symmetric.  There is an easy pattern I discovered for clearing it, though.  The first move is placing a T on the left with stem down, achieving a nearly symmetric position (what I call pseudo-symmetry):

Pseudo-symmetric pattern after placing T at left

Pseudo-symmetric pattern after placing T at left

The only feature that breaks symmetry here is that the single filled cells in the left and right columns are in different rows.  Ignoring this difference, the position is symmetric.  It turns out that this can be transformed into an actually symmetric position with 2 moves.  The first move is to place a T at far right with stem in so as to fill the hole at the right of the 2nd row.

After filling hole at right (but before row clear)

After filling hole at right (but before row clear)

When the row clears we arrive at this pattern:

After row clear

After row clear

Now a 2nd T piece placed at the left (with stem pointing right) yields a true symmetric position:

Symmetric position after T placed to fill left hole

Symmetric position after T placed to fill left hole

This symmetric position can be wiped out with just 1 more piece filling the T-shaped hole.

There are many more patterns to learn, but with practice, one builds up skills for clearing all the non-symmetric patterns.

My experience is that symmetric patterns are significantly easier to clear, so it is worthwhile to learn how to achieve symmetry from non-symmetric patterns.

Check out Target Tiling — it’s free, it’s fun, and it’s fantastically challenging!

Instructions on how to download and run my game are on my web page:

Next Week:  The Power of Collaboration

Tag Cloud