Scénario de test & Cas d'usage
Análisis de redes y algoritmos de grafos.
Descubrir todas las acciones de optNetworkGeneración simulada de un grafo dirigido con ciclos cerrados (comunidades) y rutas lineales.
| 1 | DATA mycas.social_graph; |
| 2 | INPUT usuario_origen $ usuario_destino $; |
| 3 | DATALINES; |
| 4 | User1 User2 |
| 5 | User2 User3 |
| 6 | User3 User1 |
| 7 | User4 User5 |
| 8 | User5 User6 |
| 9 | ; |
| 10 | RUN; |
| 1 | |
| 2 | PROC CAS; |
| 3 | |
| 4 | TABLE.tableInfo / TABLE="social_graph"; |
| 5 | |
| 6 | RUN; |
| 7 |
| 1 | PROC CAS; |
| 2 | optNetwork.connectedComponents / |
| 3 | direction="DIRECTED" |
| 4 | algorithm="DFS" |
| 5 | distributed=true |
| 6 | links={name="social_graph", vars={from="usuario_origen", to="usuario_destino"}} |
| 7 | out={name="ResumenComunidades", replace=true} |
| 8 | outNodes={name="DetalleUsuarios", replace=true}; |
| 9 | RUN; |
La tabla 'DetalleUsuarios' debe identificar a User1, User2 y User3 como un único componente fuertemente conectado (debido al ciclo 1->2->3->1). User4, User5 y User6 tendrán IDs de componentes diferentes o individuales dependiendo de si forman ciclos o son solo rutas. El parámetro 'distributed=true' valida que la acción se ejecute sin errores en la arquitectura distribuida.