This example considers the terrorist communications network from the attacks on the United States on September 11, 2001, described in Krebs 2002. Figure 9.78 shows this network, which was constructed after the attacks, based on collected intelligence information.
Figure 9.78: Terrorist Communications Network from 9/11
The full network data include 153 links. The following statements show a small subset to illustrate the use of the BICONCOMP option in this context:
data LinkSetInTerror911; input from & $32. to & $32.; datalines; Abu Zubeida Djamal Beghal Jean-Marc Grandvisir Djamal Beghal Nizar Trabelsi Djamal Beghal Abu Walid Djamal Beghal Abu Qatada Djamal Beghal Zacarias Moussaoui Djamal Beghal Jerome Courtaillier Djamal Beghal Kamel Daoudi Djamal Beghal Abu Walid Kamel Daoudi Abu Walid Abu Qatada Kamel Daoudi Zacarias Moussaoui Kamel Daoudi Jerome Courtaillier ... more lines ... Nawaf Alhazmi Khalid Al-Mihdhar Osama Awadallah Khalid Al-Mihdhar Abdussattar Shaikh Khalid Al-Mihdhar Abdussattar Shaikh Osama Awadallah ;
Suppose that this communications network had been discovered before the attack on 9/11. If the investigators’ goal was to disrupt the flow of communication between different groups within the organization, then they would want to focus on the people who are articulation points in the network.
To find the articulation points, use the following statements:
proc optmodel; set<str,str> LINKS; read data LinkSetInTerror911 into LINKS=[from to]; set NODES = union{<i,j> in LINKS} {i,j}; set<str> ARTPOINTS; solve with NETWORK / links = (include=LINKS) biconcomp out = (artpoints=ARTPOINTS) ; put ARTPOINTS; create data ArtPoints from [node]=ARTPOINTS artpoint=1; quit;
The data set ArtPoints
contains members of the network who are articulation points. Focusing investigations on cutting off these particular members
could have caused a great deal of disruption in the terrorists’ ability to communicate when formulating the attack.
Output 9.1.1: Articulation Points of Terrorist Communications Network from 9/11