FIT1016 &FIT2044 Advanced Project

Semester 2, 2011

These are zero-credit-point units designed to challenge the more advanced 1st and 2nd year students in the B. Computer Science, B. Software Engineering, B. Science majoring in Computer Science, and other related double degrees. (BBIS and BITS students with a strong interest in programming may also apply to do this unit.) This unit introduces students to a variety of topics outside the curriculum, and provides an opportunity to write programs (or, rarely, to build hardware) in an area of interest to the student and the School. The subject operates in an informal manner, and the programming tasks are designed to be interesting and challenging to advanced students. Students will typically meet with their supervisor on a weekly basis and in addition to demonstrating the results of their project, they will also give an oral presentation at the end of the semester.

 

Coordinator:.

 

Final presentations: Wednesday 19th October, Room 135, Blg 26

Time

Student(s)

Supervisor

Talk title

3.05-3.20

Zoi Petroulias

Carlo Kopp

Polychromatic Spherical plotting tool for radiofrequency charts

3.20-3.35

James Hart

Ann Nicholson

Generating CEGs from BNs

3.35-4.10

Simon Cai, William Miller, Bianca Gibson

 

David Albrecht

Sudoku

4.10-4.25

Dora Le Pei

Maria Garcia de la Banda and Chris Mears

Computing constraint propagation impact

4.25-4.40

Daniel Sun

Maria Garcia de la Banda, Chris Mears & Michael Wybrow

Visualising constraints and their impact

 

 

Information Session: Wednesday 27th July, Room 135, Blg 26

 

Project

Supervisor

Student

Converting Bayesian networks to CEGs: The first part of this project will involve the student learning about Bayesian networks. The programming task is to convert a BN into another type of graphical model. Part of this task was done as an advanced project last year (in Python).

Ann Nicholson

James Hart

fugu: scripting growth under fg

We are developing new 3D graphics software (called "fg")  that allows people to easily create complex animated organic shapes. These shapes grow and develop over time under the control of a script, based on the popular Lua scripting language (http://www.lua.org/). The user generates forms by writing scripts which control the way 3D polygonal meshes grow and change over time. For this project you will write scripts in Lua to implement a number of popular models that grow and define complex organic shapes, including L-systems and the Cellular Developmental Model. These models can be used to create plants, trees, and soft-bodies sea creatures for example. The forms can be displayed in real-time (e.g. in games applications), or rendered using a software renderer for greater complexity and realism.

Ben Porter and Jon McCormack

Andisheh Partovi

Resmi Hasankolli

[Not completed]

 

Solving Sudoku Puzzles with Supersymmetry
In the standard Sudoku puzzle you are given a 9x9 set of cells with some of these cells containing numbers 1 - 9. This set of
cells is divided into 9 rows, 9 columns and 9 boxes. Each box
consists of 3x3 set of cells, and each row, column and box must
contain the numbers 1 - 9. The object of the puzzle to fill in the
missing numbers.

One approach used to solve Sudoku puzzles, is to identify various patterns. These patterns have been given names, such as Hidden Single, Naked Pair, X-Wing, Swordfish, and Jellyfish. Supersymmetry provides an equivalence between various patterns using different representations of the Sudoku puzzle, e.g., a X-Wing in one representation is a Naked Pair in another representation.

The object of this project is to write a program that assists a user to solve a Sudoku puzzle by allowing them to switch between the different representations of the Sudoku puzzle. It will involve programming in Python and GUI programming.

David Albrecht

·         Zhao Xiang Cai  (Sudoku generator)

·         William Miller

·         Bianca Gibson

(Sudoku solver)

 

Polychromatic Spherical plotting tool for radiofrequency charts:

Carlo Kopp

Zoi Petroulias

Visualising constraints and their impact:

When solving a combinatorial problem such as exam timetabling or job scheduling, the aim is to find a good solution, i.e., a combination of values that satisfies a set of constraints and maximizes/minimizes a variety of criteria.

In Constraint Programming combinatorial problems are solved by first modeling the problem and then solving it. The solving process uses a search strategy to determine how to best explore the usually huge search space, and a constraint solver which at each step of the search uses the constraints to prune values that are now known not to be possible in a solution.

Combinatorial problems can however be modeled in many different ways and each model can be solved using different search strategies. Unfortunately, it is often not obvious which models are better for a given problem and search strategy. In particular, it is not always clear which constraints have the biggest impact in terms of values pruned.

We would like to start addressing this issue by (a) building a visual diagram of the constraints present in a given model and  (b) connecting the visualisation to the execution of the model in a way that shows, at each point of the search, which constraints are having actual impact (i.e., which ones are yielding a reduction in the values of at least one variable). Due to time constraints, we will focus on matrix-like models, i.e., those in which the variables appear in a matrix, since their associated constraints are easier to visualise (and many interesting problems are matrix-like).

Maria Garcia de la Banda, Chris Mears and Michael Wybrow

Daniel Sun

Computing constraint propagation impact

Maria Garcia de la Banda and Chris Mears

Dora Le Pei