Topmask专注于java、Python、C/C++，HTML，CSS，JavaScript，GoLang，PhP，Scala，Shell，数据结构，算法分析，面向对象编程，网络安全，数据挖掘，大数据分析，机器学习，深度学习，计算机视觉，自然语言处理，人工智能，网站开发，网页设计，软件工程，数据库，操作系统，计算机网络，分布式系统，并行计算，编译技术，自动机，最优化理论，离散数学，概率统计，线性代数，微积分等CS代写。

为什么选择Topmask？

专业实力强：原创代码，免费附赠代码查重报告；不写超纲代码，通过所有的test并且完成bonus part。

资深导师团队：导师均拥有CS/Math方向的硕博士学位，3000+导师库任您选择，且导师的学术背景可供查看。

贴心周到的服务：严格保护客户隐私，交付后14天免费售后，无时差服务。

## CS代写服务流程

**Step1：售前咨询，导师匹配**

添加微信客服:** maxxuezhang**后，同学们将相关资料发送给客服，我们将从导师库中筛选出最合适的导师。

**Step2：免费导师咨询**

为了让老师和同学充分沟通需求，在下单前我们支持免费与老师语音沟通需求，针对订单提出问题。

**Step3：沟通细节，下单定金**

客服与您确认目标分数，交付时间，和价格等细节后，支付定金将即刻建立项目群开始订单任务。我们支持paypal，微信，支付宝，淘宝（可花呗分期）四种支付方式。

**Step4：交付任务，支付尾款**

导师完成任务后，我们会有内部专家进行再次审核，确保无误。交付后还我们还将提供全方位的帮助，包括但不限于本地环境调试、代码运行、代码注释讲解、修复Bug。

**Step5：售后服务**

任务完结后，支持14天免费售后服务。若分数不达预期分数，将按照下单时细则原路退款。

## CPSC 322 Artificial Intelligence Assignment 代写案例

**Question One**

CSP techniques are useful in solving complex configuration and allocation problems. You are given the task of allocating four developments in a new site in Whistler. You have to place a housing complex, a big hotel, a recreational area and a garbage dump. The area for development can be represented as 3×3 grid (three rows 0,1,2 and three columns 0,1,2) and you need to place each development in their own cell of the grid. Unfortunately there are some practical constraints on the problem that you need to take into account. In the following, A is close to B if A is in a cell that shares an edge or a corner with B.

• There is a cemetery in cell 0,0.

• There is a lake in cell 1,2.

• The garbage dump should not be close to the lake.

• The housing complex and the big hotel should not be close to the cemetery.

• The recreational area should be close to the lake.

• The housing complex and the big hotel should be close to the recreational area.

• The housing complex and the big hotel should not be close to the garbage dump.

Represent this problem as a CSP. Be as precise as you can in specifying the constraints. Also there may be some basic constraints that are in the description (and not just in the points). You need to give a human-level description of the variables, domains and constraints as well as either an AIspace or AIPython CSP representation and demonstrate that it works. How many solutions are there? If there are solutions, what are they? If there are no solutions, explain why. The solutions and the explanations you give, must be in straightforward non-techical language that a member of the public could understand.

**Question Two**

Consider a scheduling problem, where there are eight variables A, B, C , D, E, F, G, H each with domain {1, 2, 3, 4}. Suppose the constraints are: A > G, A ≤ H , |F −B| = 1, G < H , |G −C | = 1, H − C is even, H 6= D, D > G, D 6= C , E 6= C , E < D − 1, E 6= H − 2, G 6= F, H 6= F, C 6= F, D 6= F, |E − F| is odd. (a) Show how search can be used to solve this problem, using the variable ordering A, B, C , D,E, F, G, H . To do this, write a program to print out all answers and count the number of nodes expanded and the number failing consistency checks. You can use whatever programming language you like. We don’t want a general program; just one for this example. Python code that produces the answer for variables X , Y and Z each with domains {t, f }, and constraints X 6= Y , Y 6= Z is at http://www.cs.ubc.ca/~poole/cs322/2020/as3/streeCount.py (b) Is there a smaller tree? Give a node ordering that results in as small a tree as you can find. Show both how many failing consistency checks there are, and how many nodes are expanded to find all solutions. Explain how you found this ordering and why you would expect the tree resulting from this ordering to be good. (A good explanation as to why your ordering is expected to be good is more important than the perfect ordering.) (c) How many failures would there be for generate-and-test? Hint: it can be computed in a straightforward manner if you know the number of variables, the size of the domains, and the number of solutions; you do not need to write a program like the second part of streeCount.py. The file as3csp.py in the zip file contains an AIPython representation of this domain. Note that AIPython does not tell us how many failing consistency checks there are.

**Question Three**

Show how arc consistency can be used to solve the scheduling problem of question 2 of assignment 3. To do this you need to

(a) For the first 5 instances of arc consistency, explain which elements of a domain are deleted

at each step, and which arc is responsible for removing the element. You need to explain

it at a level for one of your peers to understand if this is the first time they have seen arc

consistency. Select arcs to cover the interesting cases.

(b) Show explicitly the constraint graph after arc consistency has stopped.

(c) Show how splitting domains can be used to solve this problem. Draw the tree of splits and

show the solutions.

(d) Based on this experience, discuss how much arc consistency saves over the backtracking for

this problem (include the best tree that you found and an arbitrary tree). Make sure there is

something quantitative in your answer and there is evidence for your claims.

**Question Four**

Show how stochastic local search can be used for the scheduling problem of question one. Make sure that it tries 2000 steps before termination. You can use the AIspace applet or the Python code.

(a) For one particular run, where you select a variable that is involved in the most conflicts, and either select a value at random or that results in the minimum number of conflicts, explain which element is changed at each step and what was the resulting number of unsatisfied arcs.

(You only need to do this for 5 steps). Again, explain this at a level for one of your peers to understand if this is the first time they have seen local search. (Try to make the example interesting as if you were explaining it.)

(b) Compare and explain the result of the following settings:

i) select a variable involved in the maximum number of unsatisfied constraints, and either its best value or a random value (but tell us which one)

ii) select any variable which is involved in unsatisfied constraints, and either its best value or a random value

iii) a probabilistic mix of the (i) and (ii), such as with probability 0.4 select a variable involved in the most conflicts, otherwise select variable in any conflict, and either select its best value or a random value. Try a few probabilities and report on the best one found.

You must show and explain the runtime distributions and describe what you observe (in particular, tell us which curves correspond to which settings, when one algorithm better than another, and how often each setting does not find solutions; be specific). You should use multiple runs for each setting in the comparisons.

(c) Does a random restart help for any of these cases? Explain. (d) Based on this experience suggest good settings for the parameters that control which algorithms is run (e.g., which method is chosen, and the probabilities that different choices are made). Justify your choice.