# Project3CS7637.docx - 1 Project 3 Allan Reyes...

• 11
• 100% (1) 1 out of 1 people found this document helpful

This preview shows page 1 - 3 out of 11 pages.

1 Project 3 Allan Reyes [email protected] Project’s Approach For this project I decided to take the lessons learned from Project 2 (where I wasted a whole week trying to implement a fractal- based algorithm with mediocre results) and stick to my original approach which had great success on the past two projects. Furthermore, in Project 2 I had already worked on extending it to handle 3x3 problems, so applying it to this last project was straightforward. At a high-level my approach involves using visual transformations to manipulate images, as well as, semantic relationships whenever image transformations are not enough to solve the problems. Once I started following the approach mentioned above, I had two key realizations based on the problems in each of the two sets. First, for set D, I realized that almost all the problems involved finding a missing element of the matrix: shapes or patterns or both. For example, Basic Problem D-02 ( Figure 1.A ) involves finding the missing shape, while Basic Problem D-07 ( Figure 1.B ) involves finding the missing shape and the missing pattern around that shape. This allowed me to focus most of my efforts efficiently in developing common heuristics for finding shapes and patterns, and then simply adapting them to each of the problems’ particular characteristics. Figure 1 . A. Basic Problem D-02 where a shape is missing. B. Basic Problem D-07 where a shape and a pattern are missing Figure 2. A. Basic Problem E-07 solved by using XOR. B. Basic Problem E- 11 solved by using intersection.
2 On the other hand, for set E, I realized that the vast majority of the problems could be solved by simple purely-visual transformations. I thought this was interesting because, being the last set, I had imagined the problems in set E would be the hardest ones to solve; however, my agent was able to perform really well on this set because the transformations were fairly simple. As an example, look at Basic Problem E-07 ( Figure 2.A ), at first sight it seems this problem is quite complicated with several different shapes being transformed; however, it can be easily solved by taking the pixel-wise difference between the images in the first two frames (something known as the XOR operator). Likewise, Basic Problem E-11 ( Figure 2.B ), despite having different patterns based on filled vs. empty squares, can be solved by finding the common pixels between the images in the first two frames, i.e. the intersection . One of the other things that I noticed while working on the problems was that the existing transformations and semantic relationships, which were implemented as part of Project 2 for the set C, were causing a lot of false positives when they were running against the new sets D and E. One way of solving this would have been to simply separate the problem sets; however, to me it seemed like a band-aid instead of a solution to the actual problem. After some debugging, I came to the conclusion that the root cause was the fact that existing heuristics were always trying to find an answer for the problem even if the problem did not really meet the conditions . So, one of the
• • • 