Reference no: EM132988228 , Length: word count:1200
Artificial Intelligence
1) Intelligent agents
The purpose of this task is that you will sample the state-of-the-art within AI research, and relate this to the course book intelligent agent framework.
The following tasks are examples of areas where AI technology has been successful in the last few years:
• Producing original works of art (paintings, music, literature)
• So-called deepfake videos, where still images of people are used to create film sequences of them
• Online facial recognition
• Games and quizzes, previously very hard for computers, such as Go (AlphaGo) and Jeopardy (Watson)
• Medical diagnosis (Dr. Watson)
• Autonomous vehicles and aircraft
Choose one of the above areas and complete the following tasks. Each task is worth 1 point.
a) Characterize the task environment, according to the following six dimensions, as described and discussed in Russel & Norvig, chapter 2:
1. Fully vs. partially observable
2. single agent vs. multiagent
3. deterministic vs. stochastic
4. episodic vs. sequential
5. static vs. dynamic
6. discrete vs. continuous
The characterization of the task environments above may have several correct answers, depending on how you interpret the task. When grading, the main emphasis will be on coherence amongst your answers and how well you reason and motivate your answers. So, think for yourselves and do not confer with classmates!
b) Perform a literature search and find a recent (from 2017 onwards), peer-reviewed journal paper within that area. Briefly describe how you performed the search (databases and/or search engines used, journals targeted, search terms, any filtering criteria, etc).
c) Summarize the paper according to the following points:
1. That is the problem statement or objective in the paper, i.e. what problem do the authors attempt to solve?
2. What is the method used?
3. What are the main conclusions of the work?
2) General problem solver (2 points) This question may be solved in pairs
The farmer-goat-wolf-cabbage river crossing problem (a.k.a Farmer Crosses River Puzzle) is an old problem often used to illustrate uninformed search.
a) Give a formal description of this problem, i.e., define/describe:
• A state
• The start and goal states using your suggested state representation The operations/rules
b) Show how GPS solves the problem using breadth first search by giving the different lists (OPEN, CLOSED and NEW) for every step.
c) How is the actual solution (the set of moves) retrieved?
3) Evolutionary optimization (5 points) This question may be solved in pairs
This task is intentionally very open-ended, and the marking will depend on the quality of the submitted solution and report.
You shall implement and evaluate an evolutionary solution for an optimization problem of your own choice. Two possible candidate problems are n-queens and TSP (traveling salesperson problem).
The deliverable for this task is a written report where you describe the problem, the system design (i.e., representation, fitness function, operations, parameter values etc.), an experimental setup, results from the experimentation and some analysis with conclusions.
An important part of the task is to decide on the exact experimentation, but one thing that should be varied is the size of the problem; for n-queens the number of queens and the corresponding size of the board, for TSP the number of cities. You must choose a problem where this is possible. In addition to the problem size, you may try different parameter values or vary some other aspect of your system. For the actual evaluation, you should look at the quality of the solution, but also at the running time and maybe some other metrics. Here, you should test your system "to its limits", i.e., not just try a bunch of small problems.
Hand in a report following the instructions above. Attach your source code as an appendix. The choice of programming language is free, with the exception that Prolog or functional languages like Haskell, LISP etc. may not be used.
There are of course many existing solutions to similar tasks online. While you may get some inspiration from those, you must write your own code from scratch, i.e., you may *not* copy-paste any code. If we suspect that you have not followed these instructions, we will require you to describe your own system in detail at a personal meeting.
4) A*
When using A*, the theory says that a more informed heuristics will mean that fewer states need to be explored. Explain in your own words, preferably by using an example, why this
is the case for the two 8-puzzle heuristics discussed in the course, i.e., h1= the number of misplaced tiles and h2 = the sum of the Manhattan distances to the correct positions.
PROLOG PART (8 points)
Each solution in this part must include both the source Prolog code and examples of questions with answers.
Please do not include screenshots of code. Just copy and paste the text into a document keeping indentation but not the color of the background. To do this:
• Either set a light color scheme, e.g. in VS Code "Workbench: Color Theme -> Visual Studio Light",
• Or paste as plain text and then use the Consolas font.
5) Backtracking (2p)
Given the following program, determine if the given query fails or succeeds. Draw the tree of the complete execution trace, and answer whether there is any backtracking during the execution.
c(f).
c(n).
d(m).
e(f,g).
e(n,m).
b(f,g).
b(n,m).
a :- b(K,L),c(K),d(L),e(K,L).
?- a.
6) Facts and Rules (2p: 1p for the facts, 1p for the rules)
Represent the following statements in Prolog using facts or rules. Copy-paste your source code making sure that coloring and indentation are correct.
a) A (particular) university has an (particular) educational programme. At least two clauses.
b) An (particular) educational programme includes a (particular) course. At least two clauses.
c) A (particular) student studies an (particular) educational programme. At least two clauses.
d) A student studies a course if he/she studies a programme and the programme has a course.
e) A student is enrolled at a university if he/she studies a programme and a university has the programme.
Your program should be able to find:
• all courses that a particular student studies
• all students that are enrolled at a particular university
7) Recursive Rules (4p) This question may be solved in pairs
The task is to write two predicates for first converting an arithmetic expression from the notation using function names into the standard mathematical notation with operators and then performing the conversion backwards with output to screen.
The first predicate is convert_term(Expression, Result)
Expression is an arithmetic expression with mathematical function names, Result is an equivalent arithmetic expression with mathematical operators, both Expression and Result are compound Prolog terms (data structures).
The second predicate is output_term(Result)
Result is the equivalent arithmetic expression with mathematical operators. This predicate should output to screen an equivalent expression using mathematical function names.
Both predicates have to be implemented using recursive rules.
To make it more convenient to query the program, introduce one more predicate go(Expression, Result), which calls in turn the two predicates described above. Three examples of questions with answers and output that your Prolog program should provide:
?- go(subtract(add(a,b),multiply(c,d)), T). subtract(add(a,b),multiply(c,d)) T = a+b- c*d.
?- go(add(a,subtract(b,c)), T). add(a,subtract(b,c)) T = a+(b- c).
?- go(add(a,subtract(b,divide(multiply(c,d),e))),T). add(a,subtract(b,divide(multiply(c,d),e))) T = a+(b- c*d/e).
5.3) Backtracking (2p)
Given the following program, determine if the given query fails or succeeds. Draw the tree of the complete execution trace, and answer whether there is any backtracking during the execution.
c(f).
c(n).
d(m).
e(f,g).
e(n,m).
b(f,g).
b(n,m).
a :- b(K,L),c(K),d(L),e(K,L).
?- a.