AI Flashcards
Games played an important role in the history of AI. Name three computers that defeated human players.
- Deep blue
- IBM Watson
- AlphaGo
What are the three driving forces why AI is booming right now?
- Computing power
- Data availability
- Better Algorithms
Give three giant tech companies which used AI in their applications. What did they use AI for?
- google
-> predictive searches - JPMorgan
-> COiN - analyze legal documents - IBM
-> medical diagnosis
What are the three types of AI (plus a very short explanation)?
- Artificial Intelligence
-> a computer program that does something smart - machine learning
-> machines take data en learn for themselves - deep learning
-> neural networks that simulate human decision-making
What is recursion? Give an example.
an operation in terms of itself
- The Towers of Hanoi
What are the two different cases you need to consider in recursion? Explain.
- Base case
-> a simple occurrence that can be answered directly - Recursive case
-> a more complex occurrence of the problem that cannot be answered directly, but instead can be described in terms of smaller occurences of the same problem
Consider the following recursive function:
```python
def mystery(n):
if n < 10:
return n
else:
a = n // 10 # integer division: 7 // 2 gives 3
b = n % 10 # module or division remainder: 7 % 2 gives 1
return mystery(a + b)
~~~
What is the result of:
```python
print(mystery(648))
~~~
9
Give three examples where a graph can be used to represent/solve real world problems.
- Navigation systems
- Web pages links
- Social networks
How do you call a node in a graph? How are they connected? What is the difference between a directed graph and an unordered graph?
vertex
by edges
The edges are directional = directed graph. Bij een unordered graph lopen alle edges in bijde richtingen.
Search algorithms are divided into two categories. Can you name them (plus a very short explanation)?
- Uninformed search algorithms
-> The search algorithms have no additional information on the goal node - Informed search algorithms
-> the algorithms have information on the goal state
Name three domains where the A* algorithm is widely used.
- games programming
- natural language prosessing
- financial trading systems
What is a heuristic?
something that estimates how close a state is to the goal state
What is the branching factor for the following games (The simple path game, Tic Tac Toe, Chess)? Is it uniform or not? If not, what is the average branching factor?
- The simple path game:
-> uniform; 2 - Tic Tac Toe
-> not; first=9 second=9-1, …. - Chess
-> no; 35,
Name four important programming paradigms (plus a very short explanation).
-> Imperative programming
* follow my commands
* in the order I give them
* remember state
-> Object-oriented programming
* keep your state to yourself
* receive my messages
* respond as you see fit
-> Functional programming
* mutable state is dangerous
* pure functions are safe
* data goes in, data comes out
-> Declarative programming
* these are the facts
* this is what I want
* I don’t care how you do it
Can you give a visual metaphor for these four programming paradigms (Imperative programming, Object-oriented programming, Functional programming, Logical programming)? Give also an example language.
IP: complex clock, clockwork machinery
C
OOP: notion of cells in a body
Python
FP: factory -> materials input, car output Scheme (Lisp)
LP: ogic puzzle like sudoku
Prolog
What are the building blocks of logic programming? Give a brief explanation.
-> facts
true statements about the program and data
-> rules
relationships between facts and are the constraints which allow us to make conclusions about the problem domain
-> Resolver
What is the difference between imperative and declarative programming?
i: HOW a problem is solved
d: WHAT needs to be solved
Consider the following programming languages (Java, SQL, Prolog, Python). How would you solve a problem in those langugages (by describing the HOW or the WHAT)?
- Java: HOW
- SQL: WHAT
- Prolog: WHAT
- Python: HOW