2. What is Android?
Android is a mobile operating system developed by Google.
The Android operating system (OS) is based on the Linux kernel.
Android is open source, meaning developers can modify and customize the OS
for each phone.
Developers can create programs for Android using the free Android software
developer kit (SDK).
History of Android
3. Introduction of AI?
AI is a human made system that is capable of performing works concisely like human.
Basically, AI is an intelligent code or algorithm.
Forms: ML, NLP, Speech Recognization, Computer Vision, Robotics, Expert system etc.
The theory and development of computer systems able to perform tasks normally
requiring human intelligence, such as visual perception, speech recognition, decision-
making, and translation between languages.
The goals of AI research include reasoning, learning natural language processing and
ability to move and manipulate object.
There are a large number of tools used in AI, including versions of search and
mathematical optimization ,logic ,method based on probability and economics and many
others.
4. History of AI
The intellectual roots of AI and concepts of intelligent machines may be found in
Greek mythology.
But, the modern age of AI is said to be begun from 1956 when John McCarthy
coined the term “Artificial Intelligence” as the topic of Dartmouth Conference.
In mid 80’s, NN became widely used with backpropagation algorithm.
In 1990’s, data mining, machine vision, NLP, virtual reality et cetera were born.
Autonomous robotics system, SoJourner, developed in the surface of mars by
NASA in 1997.
Recently in 2015, AlphaGo(Monte Carlo Tree Search Algorithm) became first
computer program to beat a professional Go player.
5. Fields in which AI is used
AI can be seen everywhere nowadays. From a mobile phone in your hand to super
computers used by high tech companies.
Medical diagnosis
Speech recognition
Stock trading
Robot control law
Remote sensing
Scientific discovery
Games like tic tac toe and chess
-
6. Tic Tac Toe Board
It is two players, X and O, game who take turns marking the spaces in a 3*3 grid.
The player who succeeds in placing three respective marks in a horizontal, vertical,
or diagonal wins the game.
There are 9 position in board. 1 2 3
4 5 6
7 8 9
7. Purpose
Tic Tac Toe is a great way to pass your free time. The friendliness of Tic Tac Toe
makes it ideal as a pedagogical tool for teaching and learning the concepts of good
sportsmanship and the branch of artificial intelligence that deals with the searching
of game trees.
The main purpose of developing a Tic Tac Toe application is to computerize the
traditional way of playing Tic Tac Toe and give it a modern technological touch.
Another purpose for developing this app is to make this traditional game famous
among today’s exclusively tech loving kids.
8. Aims and Objective
Following are the objectives of this project:
To be familiar with Object Oriented Programming(OOP).
To learn about android device and android app development.
To learn process of project development.
To implement AI based MINIMAX ALGORITHM in digital device.
To eliminate the use of paper for playing TIC-TAC-TOE.
The aim of this project is to develop a Tic-Tac-Toe game for mobile device. The
game is supposed to consist of two parts, one a single player game (a player against
a system), and the other a multi-player game (two players on their mobile devices,
playing against each other).
9. Minimax Algorithm in Game Theory
Minimax is a kind of backtracking algorithm that is used in decision making and
game theory to find the optimal move for a player, assuming that your opponent
also plays optimally. It is widely used in two player turn based games such as
Tic-Tac-Toe, Chess, etc.
Minimax is based on the assumption that your opponent will make the move that
will maximize his/her potential score, thus minimizing your potential score and
you want to do same to your opponent.
In case of Minimax algorithm first we assign worst case that is MAX=-
INFINITY and MIN=+INFINITY. After that new value is assigned to MAX or
MIN by comparison.
Minimax search is also Depth First Search.
10. Algorithm for our project
In case of AI move we use MINIMAX ALGORITHM
A pseudocode for minimax is described below:
Minimax(node n, depth d, player p)
1. If depth=0 then
return value (node)
2. If player = “MAX” // for a maximizing player
set a= - INFINITY
for every child of node
value = minimax(child , depth +1 , “MIN”)
a = max(a , value)
return (a)
else // for minimizing player
set a = + INFINITY
for every child of node
value = minimax (child , depth+1 , “MAX”)
a= min(a , value)
return (a)
11. Making our AI more smart
In case of first move for AI we use
Random ran=new Random()
int n=ran.nextInt(9)
For AI move ,we have to select that move
which lead us for fast victory and slow defeat.