1. Homepage
  2. Programming
  3. COMP3411/9814 Artificial Intelligence Assignment 1 - Bridge Puzzle

COMP3411/9814 Artificial Intelligence Assignment 1 - Bridge Puzzle

Engage in a Conversation
UNSWCOMP3411 Artificial IntelligenceCOMP9814Bridge PuzzleJava

COMP3411/9814 Artificial Intelligence
CourseNana.COM

Term 1, 2024 Assignment 1 – Bridge Puzzle CourseNana.COM

Due: Friday 15 March, 10pm Marks: 12% of final assessment CourseNana.COM

Specification CourseNana.COM

This project is based on a popular puzzle, variously known as "Hashiwokakero", "Hashi" or "Bridges". You will need to write a program to solve this puzzle, and provide a brief description of the algorithm and data structures you have used. The input to your program will be a rectangular array of numbers and dots, for example: CourseNana.COM

.1...6...7....4.4.2. ..4.2..2...3.8...6.2 .....2.............. 5.c.7..a.a..5.6..8.5 .............2...... ...5...9.a..8.b.8.4. 4.5................3 ....2..4..1.5...2... .2.7.4...7.2..5...3. ............4..3.1.2 CourseNana.COM

Each number represents an "island", while the dots represent the empty space (water) between the islands. Numbers larger than 9 are indicated by 'a' (10), 'b' (11) or 'c' (12). The aim is to connect all the islands with a network of bridges, satisfying these rules: CourseNana.COM

  1. all bridges must run horizontally or vertically CourseNana.COM

  2. bridges are not allowed to cross each other, or other islands CourseNana.COM

  3. there can be no more than three bridges connecting any pair of islands CourseNana.COM

  4. the total number of bridges connected to each island must be equal to the number on the island CourseNana.COM

    For example, after reading the 10-line input above, your program should produce this output: CourseNana.COM

1---6EEE7====4=4=2 4-2" 2 " 3E8EEE6 2 # |2 " " " # " CourseNana.COM

5EcE7EEaEa==5"6EE8=5 "# "##2# | " #5===9Ea--8=bE8E4| 4=5# "# "#"|3 CourseNana.COM

#2==4 #1-5 # 2 |" 2=7=4===7=2" 5===3" 4==3-1 2 CourseNana.COM

Note that single bridges are indicated by the characters '-' or '|', pairs of bridges by '=' or '"' and triples by 'E' or '#', depending on whether they run horizontally or vertically. Water between bridges and islands is indicated by space characters ' '.
In some cases, there may be many solutions, in which case your program should only print one solution. More details about the puzzle can be found on this
Wikipedia page. Note, however, that our version allows up to 3 bridges instead of 2; also, we do not insist that the entire graph be connected. CourseNana.COM

Tools CourseNana.COM

An executable file called bridgen is provided in the tools directory which can be used to generate sample data of any specified size (type bridgen -help for details). Another executable called bridgecheck is also provided, to help you test the validity of your solutions (see FAQ for details). CourseNana.COM

Questions CourseNana.COM

At the top of your code, in a block of comments, you must provide a brief answer (one or two paragraphs) to this Question: CourseNana.COM

Language Options CourseNana.COM

You are free to write the code in a language of your choosing.
If you write in C, C++, or another compiled languge, your program will be invoked by:
./hashi CourseNana.COM

Briefly describe how your program works, including any algorithms and data structures employed, and explain any design decisions you made along the way. CourseNana.COM

You should submit your source files (no object files) as well as a Makefile which, when invoked with the command make , will produce an executable called hashi CourseNana.COM

If you write in Python, your program will be invoked by: ./hashi.py
You should submit your .py files (including hashi.py ).
The first line of your code must specify which version of Python you are using, e.g.
CourseNana.COM

#!/usr/bin/python3 CourseNana.COM

If you write in Java, your program will be invoked by: java Hashi You should submit your .java files (no .class files).
The main file must be called
Hashi.java CourseNana.COM

If you wish to write in some language not covered by the above options, let us know and we will try to accommodate you. CourseNana.COM

Regardless of the language, you are not allowed to use dedicated constraint programming packages like python-constraint , etc. You are expected to implement the search method(s) yourself. CourseNana.COM

Submission CourseNana.COM

You should submit by typing CourseNana.COM

  give cs3411 hashi ...

Remember to include all necessary files in your submission (including the one with the answer to the Question). CourseNana.COM

You can submit as many times as you like – later submissions will overwrite earlier ones. You can check that your submission has been received by using the following command: CourseNana.COM

  3411 classrun -check

The submission deadline is Friday 15 March, 10 pm.
5% penalty will be applied to the mark for every 24 hours late after the deadline, up to a maximum of 5 days (in accordance with UNSW policy).
CourseNana.COM

Additional information may be found in the FAQ and will be considered as part of the specification for the project. CourseNana.COM

Questions relating to the project can also be posted to the Forums on WebCMS.
If you have a question that has not already been answered on the FAQ or the Forums,
CourseNana.COM

Assessment CourseNana.COM

Your program will be tested on a series of sample inputs of successively increasing size and difficulty. There will be: CourseNana.COM

6 marks for functionality (automarking) CourseNana.COM

4 marks for your algorithm and implementation 2 marks for answer to the Question
CourseNana.COM

You should always adhere to good coding practices and style. In general, a program that attempts a substantial part of the job but does that part correctly will receive more marks than one attempting to do the entire job but with many errors. CourseNana.COM

Groups CourseNana.COM

This assignment may be done individually, or in groups of two students. Groups are determined by an SMS field called pair1 . Every student has initially been assigned a unique pair1 which is "h" followed by their student ID number, e.g. h1234567 . CourseNana.COM

  1. If you plan to complete the assignment individually, you don't need to do anything (but, if you do create a group with only you as a member, that's ok too). CourseNana.COM

  2. If you wish to team up with someone, you should go to the WebCMS page and click on "Groups" in the left hand column, then click "Create". Click on the menu for "Group Type" and select "pair". After creating a group, click "Edit", search for the other member, and click "Add". WebCMS assigns a unique group ID to each group, in the form of "g" followed by six digits (e.g. g012345 ). We will periodically run a script to load these values into SMS. CourseNana.COM

Plagiarism Policy CourseNana.COM

Your program must be entirely your own work. In addition, soliciting another person (or an AI bot) to write code for you – either in person or through the Internet – is never permitted. Generally, the copying of code already available on the Internet is also forbidden. If you find some piece of "standard" code in a textbook, or on the Internet, which you would like to adapt and incorporate into your own assignment, you must email the lecturer in charge to ask if it is permissible to do so in the particular circumstances – in which case the source would have to be acknowledged in your submission, and you would need to demonstrate that you had done a substantial amount of work for the assignment yourself. Plagiarism detection software will be used to compare all submissions pairwise and serious penalties will be applied, particularly in the case of repeat offences. CourseNana.COM

Get in Touch with Our Experts

WeChat WeChat
Whatsapp WhatsApp
UNSW代写,COMP3411 Artificial Intelligence代写,COMP9814代写,Bridge Puzzle代写,Java代写,UNSW代编,COMP3411 Artificial Intelligence代编,COMP9814代编,Bridge Puzzle代编,Java代编,UNSW代考,COMP3411 Artificial Intelligence代考,COMP9814代考,Bridge Puzzle代考,Java代考,UNSWhelp,COMP3411 Artificial Intelligencehelp,COMP9814help,Bridge Puzzlehelp,Javahelp,UNSW作业代写,COMP3411 Artificial Intelligence作业代写,COMP9814作业代写,Bridge Puzzle作业代写,Java作业代写,UNSW编程代写,COMP3411 Artificial Intelligence编程代写,COMP9814编程代写,Bridge Puzzle编程代写,Java编程代写,UNSWprogramming help,COMP3411 Artificial Intelligenceprogramming help,COMP9814programming help,Bridge Puzzleprogramming help,Javaprogramming help,UNSWassignment help,COMP3411 Artificial Intelligenceassignment help,COMP9814assignment help,Bridge Puzzleassignment help,Javaassignment help,UNSWsolution,COMP3411 Artificial Intelligencesolution,COMP9814solution,Bridge Puzzlesolution,Javasolution,