91精品国产91久久久久久_国产精品二区一区二区aⅴ污介绍_一本久久a久久精品vr综合_亚洲视频一区二区三区

合肥生活安徽新聞合肥交通合肥房產生活服務合肥教育合肥招聘合肥旅游文化藝術合肥美食合肥地圖合肥社保合肥醫院企業服務合肥法律

代寫CSCI-561 Artificial Intelligence 程序

時間:2024-01-27  來源:合肥網hfw.cc  作者:hfw.cc 我要糾錯


CSCI-561 - Spring 2023 - Foundations of Artificial Intelligence Homework 1 Due February 5, 2024 23:59 Image from https://www.astronomy.com/space-exploration/check-out-nasas-latest-mars-rover/ Guidelines This is a programming assignment. You will be provided sample inputs and outputs (see below). The goal of the samples is to check that you can correctly parse the problem definitions and generate a correctly formatted output which is also a correct solution to the problem. For grading, your program will be tested on a different set of samples. It should not be assumed that if your program works on the samples it will work on all test cases, so you should focus on making sure that your algorithm is general and algorithmically correct. You are encouraged to try your own test cases to check how your program would behave in some corner cases that you might think of. Since each homework is checked via an automated A.I. script, your output should match the specified format exactly. Failure to do so will most certainly cost some points. The output format is simple and examples are provided below. You should upload and test your code on vocareum.com, and you will also submit it there. Grading Your code will be tested as follows: Your program should not require any command-line argument. It should read a text file called “input.txt” in the current directory that contains a problem definition. It should write a file “output.txt” with your solution to the same current directory. Format for input.txt and output.txt is specified below. End-of-line character is LF (since vocareum is a Unix system and follows the Unix convention). The grading A.I. script will, 50 times: - Create an input.txt file, delete any old output.txt file. - Run your code. - Check correctness of your program’s output.txt file. - If your outputs for all 50 test cases are correct, you get 100 points. - If one or more test case fails, you get 100 – 2xN points where N is the number of failed test cases. Note that if your code does not compile, or somehow fails to load and parse input.txt, or writes an incorrectly formatted output.txt, or no output.txt at all, or OuTpUt.TxT, or runs out of memory or out of time (details below), you will get zero points. Anything you write to stdout or stderr will be ignored and is ok to leave in the code you submit (but it will likely slow you down). Please test your program with the provided sample files to avoid any problem. Academic Honesty and Integrity All homework material is checked vigorously for dishonesty using several methods. All detected violations of academic honesty are forwarded to the Office of Student Judicial Affairs. To be safe you are urged to err on the side of caution. Do not copy work from another student or off the web. Keep in mind that sanctions for dishonesty are reflected in your permanent record and can negatively impact your future success. As a general guide: Do not copy code or written material from another student. Even single lines of code should not be copied. Do not collaborate on this assignment. The assignment is to be solved individually. Do not copy code off the web. This is easier to detect than you may think. Do not share any custom test cases you may create to check your program’s behavior in more complex scenarios than the simplistic ones considered below. Do not copy code from past students. We keep copies of past work to check for this. Even though this problem differs from those of previous years, do not try to copy from homeworks of previous years. Do not ask on piazza how to implement some function for this homework, or how to calculate something needed for this homework. Do not post code on piazza asking whether or not it is correct. This is a violation of academic integrity because it biases other students who may read your post. Do not post test cases on piazza asking for what the correct solution should be. Do ask the professor or TAs if you are unsure about whether certain actions constitute dishonesty. It is better to be safe than sorry. Project description In this project, we look at the problem of path planning in a different way just to give you the opportunity to deepen your understanding of search algorithms and modify search techniques to fit the criteria of a realistic problem. To give you a context for how search algorithms can be utilized, we invite you Mars. Using a rover, we want to collect soil samples. Because the rover has a limited life expectancy, we want to travel from our current location to the next soil sample location as efficiently as possible, i.e., taking the shortest path. Using advanced satellite imaging techniques, the terrain of Mars has already been scanned, discretized, and simplified into a set of locations that are deemed safe for the rover, as well as a set of path segments that are safe between locations. This is similar to a standard route planning problem using a topological map of cities and street segments, except that here we also account for elevation (locations have 3D coordinates). One additional complication is that the rover has a limited amount of available motor energy on every move, such that it cannot travel on path segments that are going uphill above a certain limit. This, however, can be overcome in some cases if the rover has gained some momentum by going downhill just before it goes uphill. This is explained in more details below. For now, just beware that whether the rover can or cannot traverse an uphill path segment depends on whether it has been going downhill and has gained momentum just before. Search for the optimal paths Our task is to lead the rover from a start location to a new location for the next soil sample. We want to find a shortest path among the safe paths, i.e., one that minimizes the total distance traveled. There may be one, several, or no solutions on a given instance of the problem. When several optimal (shortest) solutions exist, your algorithm can return any of those. Problem definition details You will write a program that will take an input file that describes the terrain (lists of safe locations and of safe path segments), the starting location, the goal location, and the available motor energy for going uphill. Your program should then output a shortest path as a list of locations traversed, or FAIL if no path could be found. A path is composed of a sequence of elementary moves. Each elementary move consists of moving the rover from its current safe location to a new safe location that is directly connected to the current location by a single safe path segment. To find the solution you will use the following algorithms: - Breadth-first search (BFS) with step cost of 1 per elementary move. - Uniform-cost search (UCS) with 2D step costs (ignoring elevation). - A* search (A*) with 3D step costs. In all cases, you should consider that a path segment is only traversable if either it is not going uphill by more than the uphill energy limit, or the rover currently has enough momentum from the immediately preceding move to overcome that limit. Terrain map The terrain will be described as a graph, specified in input.txt using two lists: - List of safe locations, each with a name and a 3D coordinate (x, y, z) - List of safe path segments, each given as a pair of two safe location names. Path segments are not directed, i.e., if segment “aaa bbb” is in the list, then the rover could in principle either travel from aaa to bbb or from bbb to aaa. Beware, however, that the uphill energy limit and momentum may prevent some of those travels (details below). To avoid potential issues with rounding errors, your path will be considered a correct solution if its length is within 0.1 of the optimal path length calculated by our reference algorithm (and if it also does not violate any energy/momentum rules). We recommend using double (64-bit) rather than float (**-bit) for your internal calculations. Energy and momentum The required energy for a given move is always calculated from a point (x1, y1, z1) to another point (x2, y2, z2) as z2 – z1. Likewise, momentum is here simply defined as the opposite of the energy of the previous move. For simplicity, we assume that momentum does not accumulate over several successive moves. Hence, momentum at a given point is only given by the downhill energy obtained from the last move that brought us to that point. If the combined momentum from the previous move and required energy for the next move is exactly the energy limit, assume that the robot will be able to make that next move. To avoid issues with rounding errors, energy limit and location coordinates are integers, and hence momentum is too. Algorithm variants To help us distinguish between your three algorithm implementations, you must follow the following conventions for computing operational path length: - Breadth-first search (BFS) In BFS, each move from one location to a direct neighbor counts for a unit path cost of 1. You do not need to worry about the elevation levels or about the actual distance traveled. However, you still need to make sure the move is allowed according to energy and momentum. Therefore, any allowed move from one location to a graph-adjacent location costs 1. The length of any path will hence always be an integer. - Uniform-cost search (UCS) When running UCS, you should compute unit path costs in 2D, as the Euclidean distance between the (x1,y1) and (x2,y2) coordinates of two locations. You still need to make sure the move is allowed, in the same way you did for BFS. Path length is now a floating point number. - A* search (A*). When running A*, you should compute unit path costs in 3D, as the Euclidean distance between the (x1,y1,z1) and (x2,y2,z2) coordinates of two locations. You still need to make sure the move is allowed, in the same way you did for BFS and UCS. Path length is again a floating point number. Remember: In addition to computing the path cost, you also need to design an admissible heuristic for A* for this problem. File formats Input: The file input.txt in the current directory of your program will be formatted as follows: First line: Instruction of which algorithm to use, as a string: BFS, UCS or A* Second line: One positive **-bit integer specifying the rover’s uphill energy limit. Third line: One strictly positive **-bit integer for the number N of safe locations. Next N lines: A string on each line with format “name x y z” where name is a lowercase alphabetical string denoting the name of the location x, y, and z are **-bit signed integers for the location’s coordinates You are guaranteed that exactly one of the N names will be “start”, and exactly one will be “goal”. These are the starting and goal locations. Next line: One strictly positive **-bit integer for the number M of safe path segments. Next M lines: A string on each line for safe path segments with format “nameone nametwo” where nameone and nametwo are the names of two locations, each guaranteed to exist in the previously provided set of N locations. For example: BFS 23 4 start 0 0 0 abcd 1 2 3 efgh 4 5 6 goal 8 9 10 3 start abcd abcd efgh efgh goal You are guaranteed that the format of input.txt will be correct (e.g., if the file specifies that N is 4, you can assume that the following 4 lines always exist and are correct definitions of safe locations). There will be no duplicate safe path segments (e.g., if “abcd efgh” is specified in the list of paths, it will only appear once, and the equivalent “efgh abcd” will not appear in the list). Finally, two safe locations will never have the same coordinates, nor even the same (x,y) coordinates. Output: The file output.txt which your program creates in the current directory should be formatted as follows: First line: A space-separated list of safe location names that are along your solution path. This list should always start with the “start” location name and should always end with the “goal” location name. If no solution was found (goal location was unreachable by the rover from the given starting point), write a single word FAIL. For example, output.txt may contain: start abcd efgh goal Notes and hints: - Please name your program “homework.xxx” where ‘xxx’ is the extension for the programming language you choose (“py” for python, “cpp” for C++17, and “java” for Java). - Likely (but no guarantee) we will create 12 BFS, 19 UCS, and 19 A* test cases for grading. - When you submit on vocareum, your program will run against the training test cases. Your program will be killed and the run will be aborted if it appears stuck on a given test case for more than 10 seconds. During grading, the test cases will be of similar complexity, but you will be given up to 30 seconds per test case. Also note that vocareum has time limits for the whole set of 50 test cases, which are 300 seconds total for submission and 1800 seconds total for grading. - You can tell vocareum to run only one test case instead of all of them, for faster debugging, by adding the following line anywhere in your code: o For python: # RUN_ONLY_TESTCASE x o For C++ or Java: // RUN_ONLY_TESTCASE x where x is a number from 1 to 50. Or you can write your own script to copy and run one test case at a time in the interactive shell of vocareum. - The sample test cases are in $ASNLIB/publicdata/ on vocareum. In addition to input.txt and output.txt, we also provide pathlen.txt with the total cost of the optimal path that is given in output.txt - There is no limit on input size, number of safe locations, number of safe path segments, etc. other than specified above (**-bit integers, etc.). However, you can assume that all test cases used for grading will take < 30 secs to run on a regular laptop. - If several optimal solutions exist, any of them will count as correct as long as its path length is within 0.1 of the optimal path length found by our reference algorithm and your path does not violate any energy/momentum rule. - In vocareum, if you get “child exited with value xxx” on some test case, this means that your agent either crashed or timed out. Value 124 is for timeout. Value 137 if your program timed out and refused to close (and had to be more forcefully killed -9). Value 139 is for segmentation fault (trying to access memory that is not yours, e.g., past the end of an array). You can look up any other codes on the web. - The 50 test cases given to you for training and debugging are quite big. We recommend that you first create your own small test cases to check for correct traversal order, correct loop detection, correct heuristic, etc. Also, there is no FAIL test case in the samples. To check for correct failure detection (no valid path exists from start to goal), you can take any of the test cases and either reduce the energy limit, or delete one arc that is on the solution path (you may have to try several times as other solution paths may still exist, though possibly more costly). - Most of the 50 test cases given for training run in < 1 second with our reference code, with a few running in up to 3 seconds.
如有需要,請加QQ:99515681 或WX:codehelp

掃一掃在手機打開當前頁
  • 上一篇:代寫CSCI 1170 Lab 2
  • 下一篇:代做EEE6207、代寫 c/c++語言程序
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    2025年10月份更新拼多多改銷助手小象助手多多出評軟件
    2025年10月份更新拼多多改銷助手小象助手多
    有限元分析 CAE仿真分析服務-企業/產品研發/客戶要求/設計優化
    有限元分析 CAE仿真分析服務-企業/產品研發
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發動機性能
    挖掘機濾芯提升發動機性能
    海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
    海信羅馬假日洗衣機亮相AWE 復古美學與現代
    合肥機場巴士4號線
    合肥機場巴士4號線
    合肥機場巴士3號線
    合肥機場巴士3號線
  • 短信驗證碼 目錄網 排行網

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    91精品国产91久久久久久_国产精品二区一区二区aⅴ污介绍_一本久久a久久精品vr综合_亚洲视频一区二区三区
    97精品视频在线观看自产线路二| 日本精品裸体写真集在线观看| 国产九色sp调教91| 男人操女人的视频在线观看欧美 | 国产精品美女一区二区三区| 2021国产精品久久精品| 精品伦理精品一区| 日韩午夜电影在线观看| 91麻豆精品国产91久久久资源速度 | 国产成a人亚洲精品| 国产成人在线电影| 国产91高潮流白浆在线麻豆| 国产高清精品网站| 国产91精品一区二区麻豆亚洲| 国产99久久久国产精品潘金| 国产丶欧美丶日本不卡视频| 成人综合婷婷国产精品久久| 成人免费福利片| 欧美激情1区2区3区| 韩日成人av| 国产精品一卡| 在线看一区二区| 69p69国产精品| 久久久亚洲综合| 一区在线中文字幕| 亚洲福利视频一区| 紧缚捆绑精品一区二区| 波多野洁衣一区| 在线观看亚洲| 色老汉一区二区三区| 欧美另类高清zo欧美| 久久天天做天天爱综合色| 中文字幕一区二区三区视频| 亚洲夂夂婷婷色拍ww47| 久久精品久久综合| 波多野结衣的一区二区三区| 激情丁香综合| 欧美亚一区二区| 国产亚洲精品资源在线26u| 综合在线观看色| 美女在线视频一区| 欧美a级片一区| 色先锋久久av资源部| 日韩精品影音先锋| 一区二区三区四区中文字幕| 另类综合日韩欧美亚洲| 91麻豆高清视频| 在线一区二区视频| 欧美极品美女视频| 免费成人在线影院| 欧美激情第二页| 欧美三级电影在线看| 久久久五月婷婷| 男人的天堂亚洲一区| 欧美ab在线视频| 精品视频123区在线观看| 国产女人水真多18毛片18精品视频| 亚洲第一二三四区| 波多野洁衣一区| 久久国产主播| 欧美精彩视频一区二区三区| 久久se精品一区精品二区| 国产一区美女| 日韩一区二区三区观看| 午夜视频一区在线观看| 午夜精品久久久久99热蜜桃导演| 欧美日韩中文字幕精品| 亚洲日本免费电影| 91一区二区在线观看| 日本福利一区二区| 亚洲欧洲一区二区在线播放| 国产精品一区在线观看乱码 | 欧美影院精品一区| 亚洲另类色综合网站| 成人性生交大片免费看在线播放 | 国产精品视频看| 国产河南妇女毛片精品久久久| 久久高清国产| 亚洲欧美日韩成人高清在线一区| 91一区二区在线| 91精品国产综合久久福利软件 | 韩国精品免费视频| 久久综合激情| 午夜精品久久久久久| 亚洲国产免费看| 国产精品免费丝袜| 99久久99久久久精品齐齐| 欧美色区777第一页| 日韩精品电影在线观看| 一区在线中文字幕| 北条麻妃国产九九精品视频| 亚洲欧美日韩综合一区| 国产精品美女www爽爽爽| heyzo一本久久综合| 日韩一区二区三区观看| 国产精品一级片在线观看| 色欧美片视频在线观看在线视频| 亚洲一区二区在线免费看| 亚洲欧洲在线一区| 亚洲欧美日韩国产另类专区| 亚洲国产精品一区二区第一页| 久久久久亚洲综合| 97成人超碰视| 久久久久久久久免费| av在线不卡观看免费观看| 精品乱人伦小说| www.欧美色图| 国产欧美精品一区二区三区四区 | 国产suv精品一区二区883| 91麻豆精品91久久久久久清纯| 国产美女精品人人做人人爽| 欧美一区二区黄| 成人毛片在线观看| 亚洲精品一区二区三区影院| 欧美国产激情| 中文字幕一区二区三区不卡在线| 一区二区视频欧美| 亚洲午夜激情av| 在线观看av不卡| 成人精品鲁一区一区二区| 久久久久久久久久久电影| 欧美激情日韩| 亚洲国产精品久久久久婷婷884| 久久亚洲一区二区| 国内成人自拍视频| 久久免费偷拍视频| av成人激情| 久久国产精品99精品国产| 日韩一区二区免费在线观看| 午夜精品短视频| 亚洲福利视频导航| 91精品国产综合久久久久久| 91在线播放网址| 亚洲一区二区在线观看视频 | 欧美一区午夜视频在线观看| 99精品欧美一区二区三区综合在线| 中文字幕日韩一区| 色悠久久久久综合欧美99| 国产xxx精品视频大全| 国产精品久久久久久久浪潮网站| 麻豆精品传媒视频| 成人黄色777网| 伊人色综合久久天天人手人婷| 欧美揉bbbbb揉bbbbb| 99久久精品情趣| 亚洲18女电影在线观看| 91精品国产91久久综合桃花| 伊人成年综合电影网| 奇米精品一区二区三区在线观看一 | 欧美日韩在线大尺度| 日韩和欧美一区二区三区| 精品国产免费人成在线观看| 欧美高清视频一二三区| 91在线视频网址| 三级在线观看一区二区| 2023国产精品自拍| 一本一本大道香蕉久在线精品 | 成人一二三区视频| 午夜激情一区二区三区| 久久色视频免费观看| 久久久久久一区二区| 91免费视频网址| 蜜桃视频一区二区| 中文字幕av一区 二区| 在线观看亚洲一区| 激情一区二区| www.亚洲人| 久久99最新地址| 亚洲自拍偷拍网站| 国产日韩av一区| 91精品在线一区二区| 亚洲欧美日韩专区| 欧美精品激情| 成人免费黄色大片| 免费人成在线不卡| 一区二区三区在线免费视频| 久久久久久久综合| 欧美一二三四区在线| 在线观看亚洲专区| 亚洲一区日韩在线| 亚洲精品男同| 欧美午夜国产| av电影在线观看不卡| 国产一区91精品张津瑜| 日韩电影网1区2区| 亚洲自拍欧美精品| 亚洲男人的天堂在线观看| 久久美女高清视频| 日韩欧美激情一区| 欧美乱妇15p| 欧美欧美午夜aⅴ在线观看| 久久性天堂网| 国产精品社区| 99视频在线精品国自产拍免费观看| 91视频.com| 91麻豆自制传媒国产之光| 国产iv一区二区三区| 国产精品资源网站| 国产一区二区福利| 国产在线观看免费一区|