合肥生活安徽新闻合肥交通合肥房产生活服务合肥教育合肥招聘合肥旅游文化艺术合肥美食合肥地图合肥社保合肥医院企业服务合肥法律

代做CMPT 477、代写Java/python语言编程
代做CMPT 477、代写Java/python语言编程

时间:2024-10-02  来源:合肥网hfw.cc  作者:hfw.cc 我要纠错



CMPT 477 / 777 Formal Verification
Programming Assignment 1
This assignment is due by 11:59pm PT on Wednesday Oct 2, 2024. Please submit it to Canvas. Late policy:
Suppose you can get n (out of 100) points based on your code and report
• If you submit before the deadline, you can get all n points.
• If you submit between 11:59pm PT Oct 2 and 11:59pm PT Oct 3, you get n − 10 points. • If you submit between 11:59pm PT Oct 3 and 11:59pm PT Oct 4, you get n − 20 points. • If you submit after 11:59pm PT Oct 4, you get 0 points.
Problem Description
(100 points) A solution to a graph coloring problem is an assignment of colors to vertices such that no two adjacent vertices have the same color. Formally, a finite graph G = (V,E) consists of vertices V = {v1,...,vn} and edges E = {(vi1,wi1),...,(vik,wik)}. The finite set of colors is given by C = {c1,...,cm}. A problem instance is given by a graph and a set of colors: the problem is to assign each vertex v ∈ V a color(v) ∈ C such that for every edge (v,w) ∈ E, color(v) ̸= color(w). Clearly, not all instances have solutions.
Please write a Java program with Z3 APIs to solve the graph coloring problem. The input is a file in the following format
NM
vi1 wi1
vi2 wi2
...
vik wik
where the first line contains two positive integers: N is the number of vertices, and M is the number of colors (separated by a space). Without loss of generality, we can assume V = {1,...,N} and C = {1,...,M}. Each of the rest line contains two positive integers vij and wij that are no more than N, which corresponds to an edge (vij , wij ).
The output is also a file. If an instance does not have a solution, write “No Solution” in the output file. Otherwise, write an assignment of colors to vertices in the following format.
v1 c1
v2 c2
...
vm ck
where vi denotes the vertex and ci denotes its color, i.e., color(vi) = ci, separated by a space.
You might want to use the following hints for encoding: • Introduce a boolean variable pv,c for color(v) = c.
• Describe the formula asserting every vertex is colored.
1

• Describe the formula asserting every vertex has at most one color.
• Describe the formula asserting that no two connected vertices have the same color.
2 Sample Input and Output
Suppose we have an input file input.txt that contains the following six lines
which represents the following graph
43 12 13 14 24 34
12
34
   After running the program, we can get a file with the following lines (not unique)
11 22 32 43
It means the colors of vertices v1, v2, v3, v4 are c1, c2, c2, c3, respectively. 3 Compilation and Execution
Compilation. The provided codebase uses the Maven build system. After you enter the verif-sat direc- tory, the project can be easily compiled with one command
$ mvn package
Then you should be able to see the message “BUILD SUCCESS”. A directory called target will be created
and a jar file called verif-sat-1.0.jar will be generated inside the target.
Execution. In the verif-sat directory, you can execute the program using the following command (use ;
instead of : on Windows)
$ java -cp lib/com.microsoft.z3.jar:target/verif-sat-1.0.jar sat.GraphColoring <in-path> <out-path>
where <in-path> is the path to the input file and <out-path> is the path to the output file. For example, you can run
$ java -cp lib/com.microsoft.z3.jar:target/verif-sat-1.0.jar sat.GraphColoring input.txt output.txt
You will see a runtime exception with message “To be implemented”, because the program is not imple- mented yet. After you finish the implementation, you should see a file named output.txt with the content as shown in Section 2.
2

4 Deliverable
A zip file called P1 SFUID.zip (SFUID is replaced with your 9-digit student ID number) that contains the followings:
• The verif-sat directory that contains your Java program. You can have multiple source files if you want, but you need to make sure the project can be built and executed in the way described in Section 3.
• A short report called P1 SFUID.pdf that describes your encoding and explains the design choices, features, issues (if any), and anything else that you want to explain about your program.
3

请加QQ:99515681  邮箱:99515681@qq.com   WX:codinghelp






 

扫一扫在手机打开当前页
  • 上一篇:CVEN9612代写、代做Java/Python程序设计
  • 下一篇:代做COMP3230、代写c/c++编程设计
  • 无相关信息
    合肥生活资讯

    合肥图文信息
    海信罗马假日洗衣机亮相AWE  复古美学与现代科技完美结合
    海信罗马假日洗衣机亮相AWE 复古美学与现代
    合肥机场巴士4号线
    合肥机场巴士4号线
    合肥机场巴士3号线
    合肥机场巴士3号线
    合肥机场巴士2号线
    合肥机场巴士2号线
    合肥机场巴士1号线
    合肥机场巴士1号线
    合肥轨道交通线路图
    合肥轨道交通线路图
    合肥地铁5号线 运营时刻表
    合肥地铁5号线 运营时刻表
    合肥地铁4号线 运营时刻表
    合肥地铁4号线 运营时刻表
  • 关于我们 | 打赏支持 | 广告服务 | 联系我们 | 网站地图 | 免责声明 | 帮助中心 | 友情链接 |

    Copyright © 2024 hfw.cc Inc. All Rights Reserved. 合肥网 版权所有
    ICP备06013414号-3 公安备 42010502001045