We are born with the much-needed intuition of extracting complex information from our environments. We learn by developing hypothesis and testing them for truth, and if they hold truth, we accept them as fact, until they are debunked, and we repeat until we die :(.
Over the years models have been built to reproduce the learning process in computational systems. There are varying degrees of success, but the main idea in machine learning/numerical analysis is to find a trend and model it. One thing that human brains are very good at is relationship extraction, which is a great skill considering that the world’s entities are connected. Our understanding of these relationships help us survive, like when my son learnt that a burning candle is related to burning your fingers.
IN REAL LIFE
Growing up in Mpumalanga most people still used coal for heating and cooking. My folks sold coal. For them to effectively run their business they had to build a mental graph of their business entities.
Yay pretty colours, and logical relationships between vertices in a graph. Before we go any further lets first address what is a graph. In mathematical graph theory, graphs are structures used to model pair wise relationship between entities. The entities are called vertices or nodes while the relationships are called edges or arcs.
The wikipedia page gives nice definitions and applications. So I will not attempt to go into detail on graph theory. Instead let’s try to make the connection between my parents business and graph theory. My parents never tried to pump their operational data into a graphing engine to try to find insight, but they understood, how these component were interconnected.
The first relationship noted above is that “my parents sell coal”, and the second one is that “coal is sold to make profit”. From these two edges, we understand that “my parents wanted to make profit”:
So this whole exercise has one primary goal, which is “Increase profit, so that we can buy Kabelo the 100gb hard drive he has been wanting for a long time”. In case you are interested my first PC only had 20gb HDD, not enough for my movie collection.
To increase profit we need to decrease on spending. For the sake of this exercise we are going to assume that the mine’s price per ton of coal is constant, because we do not want to build a huge graph yet. So, the only variable that can increase spending is transportation cost, which in turn can be affected by several other variables. We will focus on a variable we can accurately gauge, fuel price. So, we know if the fuel price increase the truck owner will increase the transportation cost, and that is basically out of our hands. But we can monitor the news and make purchase decisions in time before the next price hike.
This helps us be proactive and save some money, for this purchase cycle. Next, we need to keep the right amount of coal, not too much and not too little. Well since coal is primarily used for heat and cooking in Verena (my home town). We can predict when sales are going to increase:
- Cold Weather
- Rainy Weather
- Power outages
- After old people get government grants (because they like to buy in bulk)
These four conditions can be monitored, through media sources. So, we can predict them and make the correct purchase moves.
LET’S CONCLUDE FOR NOW
This was just an introduction to graph processing and graph based technology. The example was deliberately simplified just to get everyone’s feet wet and understand how we can have a holistic view of your operations by using the wonderful technologies that we have. The next post, we will build a much more advanced graph and do graph traversals to find the closest path to buying that Lamborghini you have been meaning to buy.