Projects
- Project statement
- [optional] groups aiming to submit their contributions to the EDP or InnCyber challenges:
https://portugal.edp.com/pt-pt/edp-university-challenge#sobre-o-concurso
https://www.inncyberinnovationhub.com
- [optional] groups aiming to submit their contributions to the EDP or InnCyber challenges:
- Exercise statement (delivery: Friday, Abril 17th)
- Mooshak submission: Java, Python, C and C++ are supported
- Mooshak available at https://acp.tecnico.ulisboa.pt/~mooshak
- Sign in: https://acp.tecnico.ulisboa.pt/~mooshak/cgi-bin/aasma2020getpass to access your username and password
- Testing:
- simple cases_v2 from the statement
- provisory input-output_v3 (input-output_v2) cases
- new: input_output cases v4 (with alternative outputs) and task points in Mooshak
- Final assessment: exercise will be evaluated on new cases yet resembling the given testing cases
- Submission templates according to the accepted languages
- JAVA
- create a .JAR file with your .java classes
- guarantee that the .JAR filename is the same as the .java file where your main method is located
- if you need to use a LP solver in Java, add this file to your project: https://algs4.cs.princeton.edu/code/edu/princeton/cs/algs4/LinearProgramming.java.html
- compiler: javac 1.8.0
- example: Agent.jar
- Python
- create a .ZIP file with your .py files and a Makefile (no folders in your .ZIP are allowed)
- guarantee that the executable generated by your Makefile is named "exercise"
- to use Python 3.8 (with scipy), replace python3 (python 3.5.3) in your Makefile by python3.8
- compiler: python 3.5.3 / python 3.8
- example: exercise.zip
- create a .ZIP file with your .py files and a Makefile (no folders in your .ZIP are allowed)
- C and C++
- create a .ZIP file with your .c or .cpp files and a Makefile (no folders in your .ZIP are allowed)
- guarantee that the executable generated by your Makefile is named "exercise"
- examples: exercise in C and exercise in C++
- JAVA
- Mooshak submission: Java, Python, C and C++ are supported
FAQ
Please always consult the FAQ before posting questions to the faculty hosts.1. Exercise statement, example 1.1.1: expected utility of task T4 is NA.
Output of statement case T01: "state={T1=3.00,T2=1.00,T3=1.00,T4=NA} gain=11.00".
Use the provided testing cases to test differences on your output.
2. Provisory input-output cases: T03 input of version 2 is flawed (there should be TIKs where the agent does not observe utilities).
Still, the reference T03 output is "state={T0=2.00,T1=NA,T2=NA,T3=8.00,T4=0.00,T5=5.50,T6=NA,T7=NA,T8=NA,T9=NA} gain=29.00"
3. T15 output was updated in Mooshak. Click here to see the correct output of T15. Be aware of double precision problems in Java (e.g. 4.999999).
4. In T08, please do not worry with the rounding problems associated with 0.625 and 0.375. The different answers (0.63, 0.62, 0.37 and 0.38) will be counted as corrected to the final evaluation.
5. There are two formats for the input parameter agents: "agents={...}" and "agents=[...]". Only the later, "agents=[...]" will be tested.
7. Agents with concurrency penalties. The observed utility (e.g. "A1 u=3") is in fact the gathered utility by the agent. To simplify, assume the agents do not know whether the remaining agents are performing tasks concurrently. As such, agents do not update this perceived utility (e.g. "u=3") according to whether or not there are other agents executing the task. Example: "A1 u=3", if another agent A2 is doing the same task as A1, A1 still believes that the last utility for executing that task is 3.
8. There is another accepted output for test T19: "state={A1={T0=2.00,T1=4.53,T2=NA,T3=NA,T4=2.00,T5=NA},A2={T0=4.83,T1=NA,T2=NA,T3=NA,T4=2.98,T5=NA}} gain=45.00\n" (alternative T19_input_v2 and T19_output_v2)Please note T08 (FAQ entry 4) and T19 tests have more than one valid output. Even if Mooshak gives you wrong answer, these alternative outputs will not be discounted in the final evaluation.
10. To access all alternative outputs allowed in Mooshak, please download input-output cases v4.
Note that the output for the alternative T19: "...A2={T0=4.83,.. gain=45.00\n" and T19b: "...A2={T0=4.83,.. gain=45.00\n"
11. Insight: an agent with memory factor of 0.3 executes T1 in second and third TIK. Expected value of T1 is w_t2 * u_t2 + w_t3 * u_t3 where weight w_t2 = 2^0.3 / (2^0.3+3^0.3).
12. Small differences due to rounding problems (e.g. a difference of 0.01) will not be discounted on the final evaluation. Please note that this is the case with T08, T_alternative_08 or T15, do not worry if they do not succeed in Mooshak.