Die Aktion `clique` berechnet die maximalen Cliquen in einem Graphen. Eine Clique ist eine Teilmenge von Knoten, in der jeder Knoten direkt mit jedem anderen Knoten in der Teilmenge verbunden ist. Eine maximale Clique ist eine Clique, die nicht erweitert werden kann, indem ein weiterer benachbarter Knoten hinzugefügt wird. Diese Aktion ist nützlich in der sozialen Netzwerkanalyse, um eng verbundene Gruppen von Personen zu identifizieren, oder in der Bioinformatik, um funktionelle Module in Protein-Interaktions-Netzwerken zu finden.
| Parameter | Beschreibung |
|---|---|
| cliqueNumber | Gibt an, ob die Cliquenzahl des Graphen berechnet werden soll. |
| deterministic | Wenn auf True gesetzt, stellt sicher, dass jeder Aufruf (mit derselben Maschinenkonfiguration und Parametereinstellungen) dasselbe Endergebnis liefert. |
| direction | Gibt an, ob der Eingabegraph als gerichtet oder ungerichtet betrachtet werden soll. |
| display | Gibt eine Liste von Ergebnistabellen an, die zur Anzeige an den Client gesendet werden sollen. |
| distributed | Wenn auf True gesetzt, wird ein verteilter Graph verwendet. |
| graph | Gibt den zu verwendenden In-Memory-Graphen an. |
| indexOffset | Gibt den Index-Offset für Bezeichner in den Protokoll- und Ergebnisausgabetabellen an. |
| links | Gibt die Eingabedatentabelle an, die die Kanteninformationen des Graphen enthält. |
| linksVar | Gibt die Datenvariablennamen für die Kantentabelle an. |
| logFreqTime | Steuert die Frequenz n (in Sekunden) für die Anzeige von Iterationsprotokollen für einige Algorithmen. |
| logLevel | Steuert die Menge der im SAS-Protokoll angezeigten Informationen. |
| maxCliques | Gibt die maximale Anzahl der Cliquen an, die während der Cliquen-Enumeration zurückgegeben werden sollen. |
| maxLinkWeight | Gibt die maximale Summe der Kantengewichte in einer Clique an. |
| maxNodeWeight | Gibt die maximale Summe der Knotengewichte in einer Clique an. |
| maxSize | Gibt die maximale Anzahl der Knoten in einer Clique an. |
| maxTime | Gibt die maximale Zeitspanne an, die der Algorithmus aufwenden darf. |
| minLinkWeight | Gibt die minimale Summe der Kantengewichte in einer Clique an. |
| minNodeWeight | Gibt die minimale Summe der Knotengewichte in einer Clique an. |
| minSize | Gibt die minimale Anzahl der Knoten in einer Clique an. |
| multiLinks | Wenn auf True gesetzt, werden Mehrfachkanten beim Lesen eines Eingabegraphen berücksichtigt. |
| nodes | Gibt die Eingabedatentabelle an, die die Knoteninformationen des Graphen enthält. |
| nodesVar | Gibt die Datenvariablennamen für die Knotentabelle an. |
| nThreads | Gibt die maximale Anzahl der für die Multithread-Verarbeitung zu verwendenden Threads an. |
| out | Gibt die Ausgabedatentabelle an, die die maximalen Cliquen enthalten soll. |
| outGraphList | Gibt die Ausgabedatentabelle an, die zusammenfassende Informationen über In-Memory-Graphen enthalten soll. |
| outLinks | Gibt die Ausgabedatentabelle an, die die Kanteninformationen des Graphen zusammen mit allen Ergebnissen der Algorithmen enthält, die Metriken für Kanten berechnen. |
| outNodes | Gibt die Ausgabedatentabelle an, die die Knoteninformationen des Graphen zusammen mit allen Ergebnissen der Algorithmen enthält, die Metriken für Knoten berechnen. |
| outputTables | Listet die Namen der Ergebnistabellen auf, die als CAS-Tabellen auf dem Server gespeichert werden sollen. |
| selfLinks | Wenn auf True gesetzt, werden Schleifen (Self-Links) beim Lesen eines Eingabegraphen berücksichtigt. |
| standardizedLabels | Wenn auf True gesetzt, gibt an, dass die Eingabegraphdaten in einem standardisierten Format vorliegen. |
| standardizedLabelsOut | Wenn auf True gesetzt, wird angefordert, dass die Ausgabegraphdaten ein standardisiertes Format enthalten. |
| timeType | Gibt an, ob CPU-Zeit oder Echtzeit für das maximale Zeitlimit verwendet werden soll. |
Dieser SAS-Code erstellt eine Beispieltabelle `mycas.Links`, die die Kanten eines ungerichteten Graphen darstellt. Dieser Graph enthält zwei unterschiedliche Cliquen, die zur Demonstration der `clique`-Aktion verwendet werden können.
| 1 | DATA mycas.Links; |
| 2 | INFILE DATALINES delimiter=','; |
| 3 | INPUT from $ to $ @@; |
| 4 | DATALINES; |
| 5 | A,B A,C A,D B,C B,D C,D |
| 6 | A,E E,F F,G G,E |
| 7 | ; |
| 8 | RUN; |
Dieses Beispiel findet die größte maximale Clique im Eingabegraphen `mycas.Links`. Standardmäßig gibt die Aktion nur eine Clique zurück (die größte).
| 1 | PROC CAS; |
| 2 | optNetwork.clique / |
| 3 | links={name='Links'} |
| 4 | out={name='Cliques', replace=true}; |
| 5 | RUN; |
Dieses Beispiel listet alle maximalen Cliquen im Graphen auf, indem der Parameter `maxCliques` auf 'ALL' gesetzt wird.
| 1 | PROC CAS; |
| 2 | optNetwork.clique / |
| 3 | links={name='Links'} |
| 4 | maxCliques='ALL' |
| 5 | out={name='AllCliques', replace=true}; |
| 6 | RUN; |
Dieses Beispiel findet alle maximalen Cliquen, die eine Größe zwischen 3 und 3 haben, unter Verwendung der Parameter `minSize` und `maxSize`.
| 1 | PROC CAS; |
| 2 | optNetwork.clique / |
| 3 | links={name='Links'} |
| 4 | maxCliques='ALL' |
| 5 | minSize=3 |
| 6 | maxSize=3 |
| 7 | out={name='CliquesSize3', replace=true}; |
| 8 | RUN; |