1. Homepage
  2. Programming
  3. Cmput 455 Search, Knowledge and Simulation - Assignment 4: Ninuki

Cmput 455 Search, Knowledge and Simulation - Assignment 4: Ninuki

Engage in a Conversation
AlbertaCMPUT455Search Knowledge and SimulationPython

Cmput 455 Assignment 4 CourseNana.COM

In this assignment, you develop your own player for the game of Ninuki. You can implement any player you want using any techniques, as long as it's in Python3 and follows the rules and constraints below. We will test the performance of your player in two tournaments. CourseNana.COM

In the marking tournament, for regular assignment marks, we will match your player against a fixed set of our Ninuki players.
championship tournament, for bonus points and eternal fame, will be a tournament among student programs. The winning team will be crowned the Fall 2023 Cmput 455 Ninuki champions. CourseNana.COM

Setup CourseNana.COM

  1. First, as in previous assignments, make sure you have your Python 3, NumPy and GoGui 1.51 set up. You can review the procedures under Lecture 3 activities. CourseNana.COM

  2. Choose a team name, and a directory name. We would like to provide updates as the tournament progresses. In your readme file, please provide the team name which we will use for public updates. If you want to retain a level of anonymity, then your team name should not hint at the team members. Implement your player in a new directory your_directory_name which you add to your assignment4 directory. Your directory name should be a reasonable shortened form of your team name, without any spaces or other special characters that could mess up test scripts. CourseNana.COM

  3. Download assignment4.tgz and expand it. The directory assignment4 contains:
    A script
    play.py for playing test games between two programs.
    Code for two of the four opponents for the marking tournament: a directory random_player containing the random Ninuki player
    Ninuki-random.py, and a directory ab_player containing a simple alphabeta-based player Ninuki- ab.py.
    We will not publish the other two opponents before the tournament based player. We will tune the strength of these two players such that they will be a little bit stronger than the public players, but perfectly possible to defeat within the scope of an assignment.

4. Add the code to implement your solution in a new directory assignment4/your_directory_name. Your main program must be named Ninuki.py. CourseNana.COM

RULES CourseNana.COM

All games will be played on a 7x7 board. CourseNana.COM

The time limit will be 60 seconds per move. If a program does not play within the time limit, it will be killed by the script and instantly loses the game. We recommend leaving a little bit of extra time and not fully use the 60 seconds, just to be safe.
The memory limit will be 1 Gigabyte per program.

If a program generates an illegal move, it instantly loses the game.
If a program crashes or exceeds the memory limit, it instantly loses the game.
If a game is interrupted for other reasons, it may be replayed at the decision of the instructor.
Your player is allowed but not required to resign. It will not be called to generate a move after the game is over.


You can use any code provided by us, or created by you as part of this course, but no other outside sources of code. Using standard python libraries is OK, before using other more exotic libraries ask on the eClass forum.
Your program is not allowed to use more than one thread for computation/search

The total file size of the assignment submission, including all files, is limited to 1 Megabyte uncompressed.
Further reasonable constraints to prevent abuse may be imposed as we become aware of them.


genmove color
Your genmove command should generate a move using your player, and comply with the rules and constraints above. CourseNana.COM

All other existing GTP commands should be left as-is. CourseNana.COM

The Usual Warnings, Hints and Details - Read them All CourseNana.COM

Please make sure that these details are correct in your assignment 4 submission.
Your file must be a valid tgz file named
assignment4.tgz which can be uncompressed with tar xvfz assignment4.tgz
Name your main file Ninuki.py, and put it in a directory assignment4/your_directory_name named after your team.
Do not introduce extra levels of directories.
You may add extra python files within the same directory.
By default, we assume that teams will stay the same as in assignment 3. If you change your team, email Abbas the new information one week before the assignment 4 deadline at the latest.

Pre-submission Test and Submission CourseNana.COM

Play one test game against Ninuki-random.py as follows: CourseNana.COM

Change player1 in the play.py script to your program's path, your_directory_name/Ninuki.py
Use numGame=1 as the parameter for the playGames() function.
After the game finishes, there will be a file named game_result.txt, that contains the summary of the test game. Include this file in your submission. CourseNana.COM

Follow the same general steps as in assignment 1 to create your presubmission.log and readme.txt to your assignment4 directory. The readme file should also state your public team name for the tournament and your_directory_name. CourseNana.COM

Marking CourseNana.COM

There will be 5+2 marks for this assignment. CourseNana.COM

1 mark for your file presubmission.log which shows the log of your correct test execution, your game_result.txt, and your readme.txt file.
4x1 mark for your wins and draws against our 4 test opponents. We will play at least two games against each opponent, one with each color. We might play more games depending on available machines and time.

Up to 2 bonus marks for doing well in the championship tournament. Typically, the top 8 teams receive some bonus marks, and the two finalists receive two marks. CourseNana.COM

Get in Touch with Our Experts

Wechat WeChat
Whatsapp Whatsapp
Alberta代写,CMPUT455代写,Search Knowledge and Simulation代写,Python代写,Alberta代编,CMPUT455代编,Search Knowledge and Simulation代编,Python代编,Alberta代考,CMPUT455代考,Search Knowledge and Simulation代考,Python代考,Albertahelp,CMPUT455help,Search Knowledge and Simulationhelp,Pythonhelp,Alberta作业代写,CMPUT455作业代写,Search Knowledge and Simulation作业代写,Python作业代写,Alberta编程代写,CMPUT455编程代写,Search Knowledge and Simulation编程代写,Python编程代写,Albertaprogramming help,CMPUT455programming help,Search Knowledge and Simulationprogramming help,Pythonprogramming help,Albertaassignment help,CMPUT455assignment help,Search Knowledge and Simulationassignment help,Pythonassignment help,Albertasolution,CMPUT455solution,Search Knowledge and Simulationsolution,Pythonsolution,