# McCulloch Pitts Neuron Model

In previous article, we studied about the biological neuron cells. We will focus on Artifical Neuron in this article. **McCulloch**(neuroscientist) and **Pitts**(logician) proposed a highly simplified computational model of neuron in 1943.

As you can see in given figure, An artificial neuron takes input **$x_1, x_2,...,x_n$**, ** g** aggregates the inputs and function

**takes decision based on this aggregation and returns output in terms of Boolean value (0 or 1).**

*f*Inputs in this model can be exhibitory or inhibitory. If any of input is inhibitory, the output **y** will always be 0.

## Example

Let's take one example to understand this model. Suppose one robot has to watch a movie and has many options for movies to watch. How does robot decide whether to watch a movie or not? Of course, robot need some factors like **isMovieStarSanjayDutt**, **isDirectorRajuHirani**, **isGenreComedy** etc. for decision making.

So, we have to design a neuron model which will be fitted in the brain of the robot to make decisions. That neuron model takes inputs like **isDirectorRajuHirani**,**isMovieStarSanjayDutt**,**isGenreComedy** and based on the past experiences of your movie watching, robot will take a decision. If we apply an inhibitory input factor like ** I Am ill** than irrespective of any other factor you will not gonna watch that film because you might not be feeling well. So, these are inhibitory inputs. If any of input is inhibitory, the output **y** will always be 0. So, this is how the McCulloch-Pitts neuron model works.

## Mathematical Equation

\begin{equation} g(x_1,x_2,...,x_n) = g(x) = \sum_{x=1}^n x_i \\ \end{equation}

= 0 if g(x) $< \theta$

Equation is very simple, ** g** aggregates all the inputs and

**f(g(x))**f takes that aggregated fuction and decides output to be fired as 1 or as 0 based on condition of g(x). $\theta$ is called as thresholding parameter. If $\theta$ is greater than or equals to 1 then y will return boolean output 1 else 0.

This mathematical equation is called as **Thresholding Logic**.

**Now the question is how value of $\theta$ is being decided ?**

## Example

Lets take one more example to understand how to decide the value of $\theta$. This is the simplified McCulloch Pitts unit. It simply takes three inputs and based on value of $\theta$ makes decision making to return output 1 or 0.

## AND Function

First we perform **AND function** with these three inputs. We have to decide when will this neuron model returns 1.

As we know, AND fuction returns 1 only when all the inputs are 1 else 0.

So, what will be the value of $\theta$ in this AND function? The function will write 1 only when all the inputs are 1. So, $\theta$ will aggregate means sum all the inputs (1 + 1 + 1) and returns 3 which is greater than or equals to 1. That means output is 1 and value of $\theta$ is 1.

## OR Function

Perform **OR function** with these three inputs.

As we know, OR fuction returns 1 only if any one of input is 1 else 0.

So, if any of three inputs is 1, output will be 1. That's why,value of $\theta$ will be 1.

Perform **AND function** with these two inputs.

$x_1 AND !x_2

So, when value of any inhibitory input is 1 output will be 0.

Here, if we take 1 AND 1, then x1 = 1 AND x2 = 0 output, 0 1 AND 0, then x1 = 1 AND x2 = 1 output 1 0 AND 1,then x1 = 0 AND x2 = 0 output 0 0 AND 0, then x1 = 0 AND x2 = 1 output 0

So only one of the given inputs gives positive output. Value of $\theta$ will be 1 here.

**
**

**codzify.com**

Largest collection of up-to-date tutorials to learn programming languages. We are focused on easy learning. Massive collection of interview questions one may need for preparation.

**Tutorials Library**

C, C++, Java, Python Data Structures, Swift, Objective C, Swift iOS, iOS Objective C, Socket.Io, Android, Extras by Codzify.