Supervisors:
Other projects offered to the Bacheor of Digital System (Honours) are also available to Computer Science students who have the required background.
Previous experience and demonstrated ability in interactive computer graphics is a necessary prerequisite for this project. The aim is to provide a 3-D world, distributed over many servers and clients, and to investigate and solve the problems of maintaining consistent views and time-lines for the users. Jamie Cameron's 1995 "indoors" world may provide some inspiration [http://www.cs.monash.edu.au/hons/projects_1995/Jamie.Cameron/index.html] In 1997 Eugene Ware produced an "outdoors" world programmed in Java and VRML (not available in '95). The aim is to develop this world further.
Many of the programming mistakes made by novice programmers result from their inability to correctly translate an algorithm to code. This project aims to produce software which assists them in overcoming these such problems by automatically translating their erroneous code back to algorithmic language (with annotations indicating possible errors).
In taking on this project all of the following would be of definite advantage:
Prof David Abramson is proposing to build a multi-processor using twenty or so PCs. Processing programs in functional languages can be done in a parallel fashion. The project is therefore in several parts. Devise a way of parallel processing a simple functional language, then upgrade that to David's multi-processor or extend the system to more complicated languages Alan Robinson's massively prallel system (which is a mixture of Prolog, lambda calculus and logic). The work can also be extended to improve performance of our ProofEd2 system which extracts programs from mathematical proofs.
Further details on either or both of Prof. Crossley's project can be obtained from him personally (phone x55200).
This project builds on some existing work done in C++ where a different and (hopefully) better approach was tried. This project performs an AI search to piece together data which happens to come from the Human Genome project. There is a need to view results of the search, so a GUI using either Java or tcl/tk will probably also be developed. (No knowledge of biology/biochemistry is required!)
Joyce-Linda is a language that forces the use of parallel processes. The Linda communication model is provides a convenient mechanism for many sorts of parallel programs. This project involves changing the Joyce-Linda compiler and runtime support code to run with different packages, including running across a network.
Attaching to predictions an indication of how certain the predictor is, and rewarding such predictions properly, are important issues in many fields. This project focuses on football tipping because it is topical, accessible and may be useful in teaching. The project is partly software engineering, and partly implementation of ideas concerning prediction and inference.
For the last three years, the Department of Computer Science has run a football tipping competition in which participants must nominate, for each game, not only which team they think will win, but a probability that that team will win. Tips are scored according to a simple formula, and the theory is linked to information theory and gambling theory. This year the competition was extended to allow participants to nominate a mean and standard deviation for the margin of each game. Again, there is a soundly based way to score such tips. The competition is currently run using software written in C++ (with a curses interface) by John Hurst. The software is written as a literate program (nutweb), and managed by a version control system (RCS), currently at www.csse.monash.edu.au/~footy/ .
The aim of the project is to implement new probabilistic football tipping ideas in software, and to extend the software so that the competition can be run over the World Wide Web.
In more detail, the main tasks of the project are to:
NEW PROJECT (Not offered at start of 1998)
Graphs and networks are useful models of many different kinds of information: electronic circuits, software engineering diagrams, communications networks, the WWW etc. Many applications require such graphs to be laid out in space in some way, perhaps for display as a diagram or for implementing as a circuit in several layers in VLSI. In some such cases, it is important to represent the graph in 3 dimensions, and also that any angles where edges meet or bend be right angles. Such a drawing is called a 3D orthogonal graph drawing.
For an example of such a drawing, see http://www.cs.newcastle.edu.au/~richard/phd/k7-wood.gif. (The graph drawing underlying this picture was found by local PhD student David Wood, and the picture itself was made by Richard Webber (PhD student, University of Newcastle).)
The aim of the project is to develop a tool which allows 3D graph drawings to be manipulated interactively. The tool will use the C++/Java constraint solving toolkit QOCA to ensure that the constraints of orthogonality etc are properly handled. A graphical editor for 3D orthogonal graph drawings will need to be written, probably in VRML. (Prior experience in VRML is not necessary.)
The tool should provide an interesting case study in the application of QOCA, and should be useful in current research on 3-dimensional orthogonal graph drawing. (Indeed, its desirability became apparent in research by David Wood, supervised by Graham Farr.)
Strict Minimum Message Length (SMML) is a criterion (due to Wallace) by which models of data can be assessed. It can be shown to have many desirable properties, and is important in the theory of machine learning. It is, however, very difficult to compute, except in the simplest cases. In the binomial case, we have an exact and efficient algorithm, but the trinomial case is significantly harder, and may well be NP-hard. The aim of this project will be to implement and study some algorithms for cases such as the binomial, trinomial and normal, and thus hopefully shed light on the theory. A strong mathematical background is required.
Some background in discrete mathematics would help.
Programming will be in C++ and will build on the Leda package for combinatorial computing.
The project is part of work I am doing with Prof. Peter Eades (University of Newcastle).
The sort of games considered are board games like Chess. A long term aim is to be able to take as input a record of the chess games of (e.g.) Garry Kasparov (World Champion), and infer something (but not everything!) about his chess playing strategy. This may be an ambitious goal, but we propose to move toward it in achievable steps. Initially, a program capable of inferring very simple aspects of strategy would be developed, and tested using records of games played by appropriately simple computer players. We have developed some basic methods for doing the inference, and expect to improve on them. Several types of inference are possible; among these, we intend to apply the principles of Minimum Message Length (MML) inference. This project builds on a 1997 project by Tony Jansen.
Programming will almost certainly be in C.
The most expensive phase in the software life cycle is program maintenance, during which programs typically get modified so frequently that this phase may account for up to 70\% of their total development cost. A major factor in this cost is the need for software engineers to re-engineer some (rarely all) of the program code to either fix bugs, or to develop new functionality. In both of these cases, having access to the design decisions made during initial and subsequent program development can be invaluable in terms of understanding the code.
Literate Programming offers a mechanism to maintain such information. Originally proposed by Donald Knuth in 1984, the idea has seen a resurgence of activity with the advent of "second generation" (language independent) and "third generation" (WEB based) literate programming tools. The use of advanced macro processing features can also ease the program maintenance task, through appropriate revision control and platform independence mechanisms.
This project is about exploring these issues, and developing a state-of-the-art literate programming tool.
Currently, when performing analytical flutter clearances for the RAAF, a technique is used which, whilst giving an accurate estimate for the flutter speed, can result in non-physical solutions remote from a flutter point. It would be desirable to implement a technique which gives realistic solutions throughout the range of desired airspeeds for two reasons: i) greater faith in the results in the mind of the customer; and ii) such physically realistic solutions can be used in flight-flutter trials to monitor the performance of the mathematical model well before a potential flutter region is approached.
A method of solution which achieves the above aims does exist, but, for a number of reasons, it is computationally intensive and, therefore, time consuming. One of the main difficulties with this method is that sufficiently small increments in airspeed must be chosen such that the results at previous airspeeds can be used to predict a possible solution from which to start the iterations for the next airspeed. The question is then, what is a sufficiently small increment? In early implementations of technique, a uniform, very small increment was used for all of the roots to be solved. What is really sufficiently small, for any given mode, however, depends very much upon the behaviour of that mode in the region of interest. In a previous Honours project (1996), a student developed some algorithms to vary the airspeed increments for any given mode as the airspeed is increased. This honours project will build on that work by:
This project would involve several extensions to the basic existing hardware and software implementation.
This project would suit a BCSE student who has completed CSC2091/3091 Artificial Intelligence and who can program in C. In addition, non-engineering student could also do this project, focusing on the software aspects.
The cricket scheduling system was originally implemented on a PC using Visual Basic, however the simulated annealing algorithm was written in Fortran; this Fortran code also currently runs under UNIX. The student could continue to use this platform, or shift to C/C++ or any other suitable language. The student doing this project should have completed CSC2091/3091 Artificial Intelligence.
If we select a pixel at random from a picture, it is highly likely that the pixel will be in the same segment as its nearest neighbouring pixels. The next most likely outcome is that a pixel and its nearest neighbours are likely to be in no more than two segments. That is, the block straddles the boundary between two regions. If a pixel and all its neighbours are in the same segment, then we may use all the pixel values in subsequent processing of the current pixel. If we determine that some neighbouring pixel values are not in the same segment as the current pixel, then we should exclude those pixels from processing of the current pixel.
The aim of this project is to investigate ways of looking at small blocks of pixels and deciding whether the pixels in the block all belong to the same segment or whether they belong to at least two different segments. Minimal Message Length (MML) Inductive Inference gives us a way of choosing between two possible models or explanations for a body of data. In this case, MML techniques will be used to decide whether a block of pixels can be best described by saying that all pixels in the block belong to the same segment or they belong to at least two different segments.
The process of classifying blocks of pixels as consisting of only one segment or at least two segments can be termed local segmentation. Local segmentation is of fundamental importance in an image coding technique called Block Truncation Coding. In addition, local segmentation can be used in algorithms for edge detection, segmentation and for noise removal.
Binary images are picture whose pixels are either black or white. Binary images are often used to represent faxes or pages of documents. The Fax group 3 and group 4 compression algorithms were designed to compress binary images which consist of pages of text. These algorithms are quick and achieve reasonable results on pages of text but they perform poorly on other kinds of binary images.
The algorithms in the JBIG standard were designed to adapt to the characteristics of the binary image and perform very well across a wide range of binary images. The JBIG algorithms perform better on images of text than the Group 3 and Group 4 algorithms and can still achieve good compression on other kinds of binary images, e.g. scanned pictures and dithered pictures. The JBIG algorithms are more expensive to implement and they make use of a form of arithmetic coding which has been patented by IBM.
The aim of this project is to develop a way of compressing binary images of text that will deliver as much compression as the Group 3 and Group 4 algorithms, will adapt to the characteristics of the binary image and will deliver better throughput rates than the JBIG algorithm. Ideas to be investigated include: transforming the binary image, use of run-length coding, use of adaptive modeling, Rice coding and chain coding.
The aim of this project is to use Minimal Message Length (MML) techniques to come up with a good objective criteria for comparing segmentations of the same image. The approach involves constructing two-part messages for each segmentation. The first part of the message allows us to recover the segmentation of the image. Once the segmentation has been recovered, it is used in conjunction with the information in the second part of the message to recover all the information in the original image. The use of the MML criterion suggests that the two-part message with the shortest overall message length is the one with the best segmentation.
The project involves looking at ways of encoding a segmentation and then using the segment information to encode the image. One approach is to associate a segment number with each pixel and to form an image of the segment numbers. This image we can call the segment map. Segment maps can be regarded as being generalised forms of binary images and effective techniques for the lossless coding of binary images may be generalised and applied to segment maps.
Graph layout is difficult, but there exist some techniques that normally give reasonable results for small graphs. The aim of the project is to modify such a technique to cope with the extra complication of finite automata in that they have labels on the edges.
Other NLP projects may be available and interested students should discuss them with I. Zukerman
The project requires skills in parallel computing, Unix and C, as well as exisiting debuggers like gdb.
Some more details can be obtained from [http://www.dgs.monash.edu.au/research/guard/].
SSCOP has been proposed by some people as a possible replacement for TCP as a wide-area transport protocol, however some doubts have been expressed as to its efficiency in the face of errors, congestion, variable delays, etc. etc.
What is needed is a thorough investigation of SSCOP, including simulation
to determine its performance in terms of throughput, goodput, etc. in a
typical error/congestion/delay environment.
This project investigates genetic and other algorithms for the optimisation of fuzzy controllers in terms of membership functions and linguistic rules.
This project simulates and implements a bit-parallel CPU with different control mechanism. Mentor Graphics will be used for simulation.
The objective of the project is to investigate image interpretation/segmentation algorithms for ophthalmological images, implement selected algorithms in Matlab, C++ and Photoshop for PCs, and test the behaviour of the algorithms with real-live images. These are images of an intraocular lens implanted during cataract surgery into the posterior eye capsule. The images are recorded to monitor a state of patient's vision after opeartin
Objectives include
a) an investigation of speech coding techniques at low bit rates;
b) an implementation and evaluation of a 16 or an 8 kbps speech codec in the form of either software or hardware.
The characteristics of robot motion is of great importance especially during manoeuvres which must be performed to follow accurate and complex paths. This project focuses on research in the area of laser tracking. The student is required to further develop the laser tracking apparatus (developed initially in 1996 and 1997) and perform experiments using the ABB and/or Scorbot robot. Further, the project aims to establish techniques to employ the apparatus for laser guidance of long reach or mobile robots.
This project involves research in the area of long reach manipulation. An experimental manipulator will be developed incorporating 3-5 axes with 3-5 metre- reach. An investigation must be carried out to develop techniques for positioning and control of the manipulator which would exhibit bending. A student from France will also be involved in this project.
Service robotics is one of the fastest emerging areas of research and commercial development. The potential market is large and applications include: floor cleaning, courier services, research platforms, security and monitoring, tasks in hazardous environment, etc. The project focuses on continuation of the research (a robot built in 1997) to develop an autonomous mobile robot platform for research purposes. In 1998, the research will focus on development of sensory-based navigation strategies for the autonomous mobile robot system.
The research is focused on the study of control strategies on a robotic adjustment system. The project also involves exploring various techniques in computer-aided engineering (CAE) software to describe tasks in a virtual reality environment (i.e. the user is immersed in a virtual reality environment for task specification). Students will be provided access to robots, SGI workstations, Envision software, and virtual reality devices (i.e. crystal eyes, data gloves, ..).
Image tracking is a computationally expensive process. In recent times there have been a number of attempts to implement image tracking in hardware. Some recent results are very encouraging; leading us to believe that an implementation in FPGA using VHDL and the Mentor Graphics ECAD software, will be quite successful. The hardware component of this project would involve the acquisition of an off-the-shelf FPGA board to which the memory (to hold the images) has to be interfaced.
This is hardware only project. Most solid state cameras convert the image data to an analog video signal. A much better idea is to tranfer the data from the CCD area array to memory chips which are also mapped into the address space of a microprocessor. The project involves design and building a CCD and memory circuit on a PCI based interface card. The design is to be accomplished with the Mentor Graphics ECAD software.
This project concerns the development of computer architectures which implement various optimisation algorithms. The designs will be implemented on a multiple FPGA platform in the school, and will be specified in VHDL. The algorithms are based on Simulated Annealing, Tabu Search and Neural Networks.
The project builds on an ARC project. The student will make use of a variety of CAD tools, including VHDL synthesis and simulation and FPGA configuration tools. Interested students are referred to [ http://www.dgs.monash.edu.au/ davida/guess.html/].