Monday, January 18, 2010

Graph theory in action

There is a cool applet on the web that allows you to build and debug pretty complex Graphs. The site is Ashitani's GraphViz and it comes up with a simple example to get you started.

Here is a more substantial example, showing the methodology of estimating permeability from 3D seismic data:

"Cross Plot" [shape=box]
"Measured Data" [shape=diamond]
"Core Porosity" [shape=diamond]
"Permeability" [shape=diamond]
"Logs" [shape=diamond]
"Seismic" [shape=diamond]
"Corrected Porosity" [shape=box]
"Seismic Porosity" [shape=box]
"Seismic Perm" [shape=box]
"k-phi" [shape=box]
Wells->Logs
Wells->Core
Logs->"Neutron,DT,RHO"
"Neutron,DT,RHO"->"Log Porosity"
Core->"Permeability"
Core->"Core Porosity"
"Core Porosity"->"Corrected Porosity"
"Log Porosity"->"Corrected Porosity"
Seismic->Impedance
Logs->"DT,RHO"
"DT,RHO"->Impedance
Impedance->"Seismic Porosity"
"Corrected Porosity"->"Seismic Porosity"
"Seismic Porosity"->"Seismic Perm"
"k-phi"->"Seismic Perm"
Permeability->"k-phi"
"Corrected Porosity"->"k-phi"

These lines describe relationships shown in the figure below. To make your own version of the figure, copy the lines, paste into Ashitani's input window, and hit the return key. The graph image can be saved in the usual way with right click and Save As...

Anyone who has struggled with PowerPoint or a drawing program to make such graphs will appreciate this cool tool. Behind this applet is the GraphViz language which has many options like arrow types, colors, fonts, orientation, etc. If a reader who knows more than I sends a great example using extended functionality, I will let you know.