对于“人工智能导论”中的一项作业,我需要解决以下问题:
Let f(n) = c1*g(n) + c2*h(n) be an evaluation function, where c1,c2 be constants.
1. Define c1,c2,h(.),g(.) such that A* with this evaluation function is bfs.
2. Define c1,c2,h(.),g(.) such that A* with this evaluation function is dfs.
对于BFS,我有以下想法:假设g(n)是从开始节点到当前节点的成本,h(
我正在尝试解决这个问题,而且我对图形是相当陌生的。我试过BFS来解决这个问题,但是我没有得到正确的答案。
我做错了什么?另外,除了我正在使用的方法之外,有没有更好的方法来做到这一点。
public static boolean isThereARoute(int[][] graph ,gNode n1 , gNode n2 ) {
// where can we move? - anywhere where the value of x and y is 1 - else can't move
// Start with node 1 and then traverse
我有一个听起来像这样的问题:一家公司在4个不同的(A,B,C,D)地点有4辆出租车。4个人(W X Y Z)打电话给公司,说他们需要一辆出租车。我需要找到出租车到达他们的人的最快方式,知道一辆出租车只能载一个人,而且每辆出租车都在其目的地和人们的目的地之间分配了一个值。
我正在考虑用所有可能的组合来构建一棵树,例如: AW-BX-CY-DZ或AX-BW-CY-DZ等,并找到每个组合的最小成本,但我需要使用DFS或贪婪的BFS方法来解决这个问题。你知道这是怎么回事吗?我无法想象。
我只想知道如何使用DFS/GBFS解决这个问题。我不知道它将如何进行,也不知道搜索何时结束,因为我正在寻找使用的最小
在我深入讨论这个问题之前,这里有一些我已经掌握的背景信息:
-I首先基于美国各地的城市创建了一个无向邻接矩阵图,边权重是计算出的距离(通过距离公式实现)。
-I还使用prim算法实现了最小生成树。
现在我需要实现Edmonds Karp最大流算法,但我不知道如何根据我拥有的数据创建容量图,以便实现以下代码中使用的算法:
def edmonds_karp(C, source, sink):
n = len(C) # C is the capacity matrix
F = [[0] * n for i in xrange(n)]
# residual capacity f
好的,我有一个BFS的Lisp实现,我正试图将其转换为爬山搜索。
下面是我的BFS代码:
; The list of lists is the queue that we pass BFS. the first entry and
; every other entry in the queue is a list. BFS uses each of these lists and
; the path to search.
(defun shortest-path (start end net)
(BFS end (list (list start)) net))
我最近编写了一个Java应用程序,它使用最大流来执行图像分割。当节点数量很小时,代码工作得很好,但是当我使用大量节点时,代码工作非常慢。是因为我的算法实现速度慢,还是当节点数和边数较大时,最大流算法的速度较慢是正常的?下面是有关计算最大流量的相关规范。其思想是计算最大流,并得到一个将源s与接收器t分隔开的切分。
// find path from nodeU to nodeV if one exists
public Map<Integer, Edge> BFS_(Integer nodeU, Integer nodeV)
{
Map<Integer, Boolean
在3D数组中,对角线元素是0,即k=1为10时为akk=0。我需要在剩余的矩阵中填充距离最接近的0。 我遇到了广度优先搜索,但我可以不使用数据结构吗?(不熟悉数据结构) unsigned short d = 10, r = 10, c = 10;
double*** a = new double** [d];
for (int i = 0; i < d; ++i) {
a[i] = new double* [r];
for (int j = 0; j < r; ++j)
a[i][j] = new double[c];
}
我有一个关于一个程序的Java算法的问题。我想写一个android程序,提供有关“巴士路线”的信息。程序工作时,用户选择一个汽车站(A站),程序对用户说:“乘4路公交车,然后下车B station.And,乘8路公交车,然后下车C站。”有人知道那个程序算法吗?我能用什么来节省每条公共汽车路线呢?Queue,stack或诸如此类的东西?我可以使用BFS或DFS算法来处理最短的公交线路吗?
Purpose of program;用户如何使用总线找到交通线路。(4路公共汽车不直接到8站,用户需要转乘到B站)
I need to know ;我使用哪种数据结构和最短路径算法。
我使用Map来实现图形的pure functional DFS和BFS。
这是我的代码:
module IntMap = Map.Make(struct type t = int let compare = compare end);;
module IntSet = Set.Make(struct type t = int let compare = compare end);;
type digraph = int list IntMap.t;;
exception CantAddEdge;;
let create v =
let rec fill i acc =
if