diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000000000000000000000000000000000000..8d6c6d0402087875ff03fdd9ffd4d62583e4d917 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="CompilerConfiguration"> + <annotationProcessing> + <profile name="Maven default annotation processors profile" enabled="true"> + <sourceOutputDir name="target/generated-sources/annotations" /> + <sourceTestOutputDir name="target/generated-test-sources/test-annotations" /> + <outputRelativeToContentRoot value="true" /> + <module name="shared-memory-maximal-clique" /> + </profile> + </annotationProcessing> + <bytecodeTargetLevel> + <module name="shared-memory-maximal-clique" target="1.8" /> + </bytecodeTargetLevel> + </component> +</project> \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000000000000000000000000000000000000..b26911bd02d86bf83ab8041f7c51d786129a80ed --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="Encoding"> + <file url="file://$PROJECT_DIR$" charset="UTF-8" /> + </component> +</project> \ No newline at end of file diff --git a/.idea/libraries/Maven__junit_junit_3_8_1.xml b/.idea/libraries/Maven__junit_junit_3_8_1.xml new file mode 100644 index 0000000000000000000000000000000000000000..71b2993d4e8356fd6aca6118eefc861af2d5b53c --- /dev/null +++ b/.idea/libraries/Maven__junit_junit_3_8_1.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: junit:junit:3.8.1"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/junit/junit/3.8.1/junit-3.8.1.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/junit/junit/3.8.1/junit-3.8.1-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/junit/junit/3.8.1/junit-3.8.1-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 84da703c3b6737ae27e4c89f3e04cb1712cf3a17..d30d09e204ed7b99f11b1af2bd0f33d1a72375d0 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,5 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> + <component name="MavenProjectsManager"> + <option name="originalFiles"> + <list> + <option value="$PROJECT_DIR$/pom.xml" /> + </list> + </option> + </component> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK"> <output url="file://$PROJECT_DIR$/classes" /> </component> diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 5963822f28424297cd226c329c26ed72838a059f..1fd24af8fbda5c0c82bc6c7e8ae05a264db8d2b2 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,7 +2,19 @@ <project version="4"> <component name="ChangeListManager"> <list default="true" id="4147d207-c8c5-4588-84f6-f0b5a4c854f8" name="Default" comment=""> + <change beforePath="" afterPath="$PROJECT_DIR$/.idea/compiler.xml" /> + <change beforePath="" afterPath="$PROJECT_DIR$/.idea/encodings.xml" /> + <change beforePath="" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__junit_junit_3_8_1.xml" /> + <change beforePath="" afterPath="$PROJECT_DIR$/src/main/java/Algorithm/MCE/Peamc.java" /> + <change beforePath="" afterPath="$PROJECT_DIR$/test" /> + <change beforePath="$PROJECT_DIR$/.idea/misc.xml" afterPath="$PROJECT_DIR$/.idea/misc.xml" /> + <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" /> + <change beforePath="$PROJECT_DIR$/pom.xml" afterPath="$PROJECT_DIR$/pom.xml" /> + <change beforePath="$PROJECT_DIR$/shared-memory-maximal-clique.iml" afterPath="$PROJECT_DIR$/shared-memory-maximal-clique.iml" /> <change beforePath="$PROJECT_DIR$/src/main/java/Algorithm/Graph.java" afterPath="$PROJECT_DIR$/src/main/java/Algorithm/Graph.java" /> + <change beforePath="$PROJECT_DIR$/src/main/java/Algorithm/MCE/CN.java" afterPath="$PROJECT_DIR$/src/main/java/Algorithm/MCE/CN.java" /> + <change beforePath="$PROJECT_DIR$/src/main/java/Algorithm/MCE/ELS.java" afterPath="$PROJECT_DIR$/src/main/java/Algorithm/MCE/ELS.java" /> + <change beforePath="$PROJECT_DIR$/src/main/java/Algorithm/MCE/TTT.java" afterPath="$PROJECT_DIR$/src/main/java/Algorithm/MCE/TTT.java" /> <change beforePath="$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParMCEBaseline.java" afterPath="$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParMCEBaseline.java" /> <change beforePath="$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParMCEDegeneracy.java" afterPath="$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParMCEDegeneracy.java" /> <change beforePath="$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParMCEDegree.java" afterPath="$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParMCEDegree.java" /> @@ -11,7 +23,7 @@ <change beforePath="$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParVertexMCE.java" afterPath="$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParVertexMCE.java" /> <change beforePath="$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParVertexParMCE.java" afterPath="$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParVertexParMCE.java" /> </list> - <ignored path="$PROJECT_DIR$/target/classes/" /> + <ignored path="$PROJECT_DIR$/target/" /> <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> <option name="TRACKING_ENABLED" value="true" /> <option name="SHOW_DIALOG" value="false" /> @@ -20,28 +32,86 @@ <option name="LAST_RESOLUTION" value="IGNORE" /> </component> <component name="FileEditorManager"> - <leaf> - <file leaf-file-name="Graph.java" pinned="false" current-in-tab="true"> - <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/Graph.java"> + <leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> + <file leaf-file-name="ParMCEBaseline.java" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParMCEBaseline.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="2455"> - <caret line="212" column="35" lean-forward="true" selection-start-line="212" selection-start-column="35" selection-end-line="212" selection-end-column="35" /> + <state relative-caret-position="394"> + <caret line="170" column="116" lean-forward="false" selection-start-line="170" selection-start-column="116" selection-end-line="170" selection-end-column="116" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="ParMCEDegeneracy.java" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParMCEDegeneracy.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="360"> + <caret line="255" column="108" lean-forward="false" selection-start-line="255" selection-start-column="108" selection-end-line="255" selection-end-column="108" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="ParMCEDegree.java" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParMCEDegree.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="360"> + <caret line="247" column="108" lean-forward="false" selection-start-line="247" selection-start-column="108" selection-end-line="247" selection-end-column="108" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="ParMCETriangles.java" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParMCETriangles.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="360"> + <caret line="247" column="108" lean-forward="false" selection-start-line="247" selection-start-column="108" selection-end-line="247" selection-end-column="108" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="ELS.java" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/MCE/ELS.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="394"> + <caret line="180" column="107" lean-forward="false" selection-start-line="180" selection-start-column="107" selection-end-line="180" selection-end-column="107" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="TTT.java" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/MCE/TTT.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="425"> + <caret line="150" column="76" lean-forward="false" selection-start-line="150" selection-start-column="76" selection-end-line="150" selection-end-column="76" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="CN.java" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/MCE/CN.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="462"> + <caret line="358" column="62" lean-forward="false" selection-start-line="358" selection-start-column="62" selection-end-line="358" selection-end-column="62" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="Peamc.java" pinned="false" current-in-tab="true"> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/MCE/Peamc.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="496"> + <caret line="84" column="113" lean-forward="false" selection-start-line="84" selection-start-column="113" selection-end-line="84" selection-end-column="113" /> <folding> <element signature="imports" expanded="true" /> - <element signature="e#4408#4409#0" expanded="true" /> - <element signature="e#4444#4445#0" expanded="true" /> - <element signature="e#4640#4641#0" expanded="true" /> - <element signature="e#4655#4656#0" expanded="true" /> - <element signature="e#4691#4692#0" expanded="true" /> - <element signature="e#4736#4737#0" expanded="true" /> - <element signature="e#4776#4777#0" expanded="true" /> - <element signature="e#4813#4814#0" expanded="true" /> - <element signature="e#4849#4850#0" expanded="true" /> - <element signature="e#4888#4889#0" expanded="true" /> - <element signature="e#4938#4939#0" expanded="true" /> - <element signature="e#4971#4972#0" expanded="true" /> - <element signature="e#4995#4996#0" expanded="true" /> - <element signature="e#5017#5018#0" expanded="true" /> + <element signature="e#202#203#0" expanded="true" /> + <element signature="e#243#244#0" expanded="true" /> </folding> </state> </provider> @@ -50,13 +120,23 @@ <file leaf-file-name="CliqueEnumerator.java" pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/CliqueEnumerator.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="187"> + <state relative-caret-position="-1918"> <caret line="12" column="13" lean-forward="false" selection-start-line="12" selection-start-column="13" selection-end-line="12" selection-end-column="13" /> <folding /> </state> </provider> </entry> </file> + <file leaf-file-name="kCliqueSublist.java" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/kCliqueSublist.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="-864"> + <caret line="4" column="13" lean-forward="false" selection-start-line="4" selection-start-column="13" selection-end-line="4" selection-end-column="13" /> + <folding /> + </state> + </provider> + </entry> + </file> </leaf> </component> <component name="FileTemplateManagerImpl"> @@ -83,20 +163,33 @@ <option name="CHANGED_PATHS"> <list> <option value="$PROJECT_DIR$/src/main/java/Algorithm/parMCE/Peamc.java" /> - <option value="$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParVertexParMCE.java" /> - <option value="$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParVertexMCE.java" /> - <option value="$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParTTT.java" /> - <option value="$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParMCETriangles.java" /> - <option value="$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParMCEDegree.java" /> - <option value="$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParMCEDegeneracy.java" /> - <option value="$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParMCEBaseline.java" /> <option value="$PROJECT_DIR$/src/main/java/Algorithm/Graph.java" /> + <option value="$PROJECT_DIR$/src/main/java/Algorithm/MCE/test" /> + <option value="$PROJECT_DIR$/test" /> + <option value="$PROJECT_DIR$/src/main/java/Algorithm/MCE/Peamc.java" /> + <option value="$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParMCEBaseline.java" /> + <option value="$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParMCEDegeneracy.java" /> + <option value="$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParMCEDegree.java" /> + <option value="$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParMCETriangles.java" /> + <option value="$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParTTT.java" /> + <option value="$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParVertexMCE.java" /> + <option value="$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParVertexParMCE.java" /> + <option value="$PROJECT_DIR$/src/main/java/Algorithm/MCE/TTT.java" /> + <option value="$PROJECT_DIR$/src/main/java/Algorithm/MCE/ELS.java" /> + <option value="$PROJECT_DIR$/src/main/java/Algorithm/MCE/CN.java" /> </list> </option> </component> + <component name="MavenImportPreferences"> + <option name="importingSettings"> + <MavenImportingSettings> + <option name="importAutomatically" value="true" /> + </MavenImportingSettings> + </option> + </component> <component name="ProjectFrameBounds" extendedState="6"> - <option name="x" value="327" /> - <option name="y" value="92" /> + <option name="x" value="889" /> + <option name="y" value="199" /> <option name="width" value="1936" /> <option name="height" value="1176" /> </component> @@ -134,10 +227,8 @@ <foldersAlwaysOnTop value="true" /> </navigator> <panes> - <pane id="PackagesPane" /> - <pane id="Scope" /> - <pane id="Scratches" /> <pane id="AndroidView" /> + <pane id="Scratches" /> <pane id="ProjectPane"> <subPane> <expand> @@ -171,6 +262,15 @@ <item name="java" type="462c0819:PsiDirectoryNode" /> <item name="Algorithm" type="462c0819:PsiDirectoryNode" /> </path> + <path> + <item name="shared-memory-maximal-clique" type="b2602c69:ProjectViewProjectNode" /> + <item name="shared-memory-maximal-clique" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + <item name="main" type="462c0819:PsiDirectoryNode" /> + <item name="java" type="462c0819:PsiDirectoryNode" /> + <item name="Algorithm" type="462c0819:PsiDirectoryNode" /> + <item name="MCE" type="462c0819:PsiDirectoryNode" /> + </path> <path> <item name="shared-memory-maximal-clique" type="b2602c69:ProjectViewProjectNode" /> <item name="shared-memory-maximal-clique" type="462c0819:PsiDirectoryNode" /> @@ -184,12 +284,20 @@ <select /> </subPane> </pane> + <pane id="PackagesPane" /> + <pane id="Scope" /> </panes> </component> <component name="PropertiesComponent"> <property name="settings.editor.selected.configurable" value="reference.settings.ide.settings.spelling" /> <property name="last_opened_file_path" value="$PROJECT_DIR$" /> </component> + <component name="RecentsManager"> + <key name="MoveFile.RECENT_KEYS"> + <recent name="U:\Desktop\research\shared-memory cliques\shared-memory-maximal-clique" /> + <recent name="U:\Desktop\research\shared-memory cliques\shared-memory-maximal-clique\src" /> + </key> + </component> <component name="RunDashboard"> <option name="ruleStates"> <list> @@ -209,6 +317,25 @@ <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" /> <module /> </configuration> + <configuration name="Peamc" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true"> + <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea"> + <pattern> + <option name="PATTERN" value="Algorithm.MCE.*" /> + <option name="ENABLED" value="true" /> + </pattern> + </extension> + <option name="MAIN_CLASS_NAME" value="Algorithm.MCE.Peamc" /> + <option name="VM_PARAMETERS" value="" /> + <option name="PROGRAM_PARAMETERS" value="test" /> + <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" /> + <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> + <option name="ALTERNATIVE_JRE_PATH" /> + <option name="ENABLE_SWING_INSPECTOR" value="false" /> + <option name="ENV_VARIABLES" /> + <option name="PASS_PARENT_ENVS" value="true" /> + <module name="shared-memory-maximal-clique" /> + <envs /> + </configuration> <configuration default="true" type="Application" factoryName="Application"> <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> <option name="MAIN_CLASS_NAME" /> @@ -283,6 +410,11 @@ <option name="PROGRAM_PARAMETERS" /> <predefined_log_file id="idea.log" enabled="true" /> </configuration> + <recent_temporary> + <list size="1"> + <item index="0" class="java.lang.String" itemvalue="Application.Peamc" /> + </list> + </recent_temporary> </component> <component name="ShelveChangesManager" show_recycled="false"> <option name="remove_strategy" value="false" /> @@ -314,30 +446,30 @@ <layout> <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> + <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32950193" sideWeight="0.49791667" order="8" side_tool="false" content_ui="tabs" /> <window_info id="Palette	" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> <window_info id="Image Layers" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> <window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> - <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32950193" sideWeight="0.525" order="7" side_tool="true" content_ui="tabs" /> + <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32950193" sideWeight="0.55625" order="7" side_tool="true" content_ui="tabs" /> <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> - <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32950193" sideWeight="0.45" order="2" side_tool="false" content_ui="tabs" /> + <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32950193" sideWeight="0.44375" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" /> <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" /> <window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.29270834" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> - <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32950193" sideWeight="0.475" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> <window_info id="Theme Preview" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> - <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3994253" sideWeight="0.45833334" order="3" side_tool="false" content_ui="tabs" /> + <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3994253" sideWeight="0.45625" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="true" content_ui="tabs" /> <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" /> - <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32950193" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" /> <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> + <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32950193" sideWeight="0.475" order="1" side_tool="false" content_ui="tabs" /> </layout> </component> <component name="VcsContentAnnotationSettings"> @@ -348,81 +480,207 @@ <option name="LAST_COMMIT_MESSAGE" value="The code is changed" /> </component> <component name="XDebuggerManager"> - <breakpoint-manager /> + <breakpoint-manager> + <breakpoints> + <line-breakpoint enabled="true" type="java-line"> + <url>file://$PROJECT_DIR$/src/main/java/Algorithm/MCE/Peamc.java</url> + <line>69</line> + <properties /> + </line-breakpoint> + </breakpoints> + <option name="time" value="1" /> + </breakpoint-manager> <watches-manager /> </component> <component name="editorHistoryManager"> - <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/Peamc.java"> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/Graph.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding> + <element signature="imports" expanded="true" /> + <element signature="e#5033#5034#0" expanded="true" /> + <element signature="e#5069#5070#0" expanded="true" /> + <element signature="e#5265#5266#0" expanded="true" /> + <element signature="e#5280#5281#0" expanded="true" /> + <element signature="e#5316#5317#0" expanded="true" /> + <element signature="e#5361#5362#0" expanded="true" /> + <element signature="e#5401#5402#0" expanded="true" /> + <element signature="e#5438#5439#0" expanded="true" /> + <element signature="e#5474#5475#0" expanded="true" /> + <element signature="e#5513#5514#0" expanded="true" /> + <element signature="e#5563#5564#0" expanded="true" /> + <element signature="e#5596#5597#0" expanded="true" /> + <element signature="e#5620#5621#0" expanded="true" /> + <element signature="e#5642#5643#0" expanded="true" /> + </folding> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParTTT.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="731"> + <caret line="54" column="18" lean-forward="false" selection-start-line="54" selection-start-column="18" selection-end-line="54" selection-end-column="18" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParVertexMCE.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="136"> - <caret line="8" column="37" lean-forward="true" selection-start-line="8" selection-start-column="37" selection-end-line="8" selection-end-column="37" /> + <state relative-caret-position="612"> + <caret line="46" column="34" lean-forward="false" selection-start-line="46" selection-start-column="34" selection-end-line="46" selection-end-column="34" /> <folding /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParVertexParMCE.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="313"> + <state relative-caret-position="561"> <caret line="44" column="8" lean-forward="true" selection-start-line="44" selection-start-column="8" selection-end-line="44" selection-end-column="8" /> <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParVertexMCE.java"> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/MCE/TTT.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="255"> - <caret line="46" column="34" lean-forward="false" selection-start-line="46" selection-start-column="34" selection-end-line="46" selection-end-column="34" /> + <state relative-caret-position="629"> + <caret line="43" column="31" lean-forward="false" selection-start-line="43" selection-start-column="31" selection-end-line="43" selection-end-column="31" /> <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParTTT.java"> + <entry file="file://$PROJECT_DIR$/pom.xml"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="221"> - <caret line="54" column="18" lean-forward="false" selection-start-line="54" selection-start-column="18" selection-end-line="54" selection-end-column="18" /> + <state relative-caret-position="306"> + <caret line="18" column="30" lean-forward="true" selection-start-line="18" selection-start-column="30" selection-end-line="18" selection-end-column="30" /> <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParMCETriangles.java"> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/MCE/ELS.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="476"> - <caret line="45" column="18" lean-forward="false" selection-start-line="45" selection-start-column="18" selection-end-line="45" selection-end-column="18" /> + <state relative-caret-position="170"> + <caret line="21" column="13" lean-forward="false" selection-start-line="21" selection-start-column="13" selection-end-line="21" selection-end-column="13" /> <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParMCEDegeneracy.java"> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/MCE/CN.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="496"> - <caret line="45" column="18" lean-forward="false" selection-start-line="45" selection-start-column="18" selection-end-line="45" selection-end-column="18" /> + <state relative-caret-position="1190"> + <caret line="86" column="0" lean-forward="true" selection-start-line="86" selection-start-column="0" selection-end-line="86" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/CliqueEnumerator.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="187"> + <caret line="12" column="13" lean-forward="false" selection-start-line="12" selection-start-column="13" selection-end-line="12" selection-end-column="13" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/Peamc.java" /> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/Graph.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="132"> + <caret line="87" column="0" lean-forward="false" selection-start-line="87" selection-start-column="0" selection-end-line="87" selection-end-column="0" /> <folding> - <element signature="e#1027#1036#0" expanded="true" /> - <element signature="e#1074#1083#0" expanded="true" /> - <element signature="e#1122#1131#0" expanded="true" /> + <element signature="imports" expanded="true" /> + <element signature="e#5033#5034#0" expanded="true" /> + <element signature="e#5069#5070#0" expanded="true" /> + <element signature="e#5265#5266#0" expanded="true" /> + <element signature="e#5280#5281#0" expanded="true" /> + <element signature="e#5316#5317#0" expanded="true" /> + <element signature="e#5361#5362#0" expanded="true" /> + <element signature="e#5401#5402#0" expanded="true" /> + <element signature="e#5438#5439#0" expanded="true" /> + <element signature="e#5474#5475#0" expanded="true" /> + <element signature="e#5513#5514#0" expanded="true" /> + <element signature="e#5563#5564#0" expanded="true" /> + <element signature="e#5596#5597#0" expanded="true" /> + <element signature="e#5620#5621#0" expanded="true" /> + <element signature="e#5642#5643#0" expanded="true" /> </folding> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParMCEBaseline.java"> + <entry file="file://$PROJECT_DIR$/pom.xml"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="428"> + <caret line="32" column="30" lean-forward="false" selection-start-line="32" selection-start-column="30" selection-end-line="32" selection-end-column="30" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/test"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="68"> + <caret line="4" column="3" lean-forward="false" selection-start-line="4" selection-start-column="3" selection-end-line="4" selection-end-column="3" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParVertexParMCE.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="206"> - <caret line="44" column="18" lean-forward="false" selection-start-line="44" selection-start-column="18" selection-end-line="44" selection-end-column="18" /> + <state relative-caret-position="383"> + <caret line="215" column="99" lean-forward="false" selection-start-line="215" selection-start-column="99" selection-end-line="215" selection-end-column="99" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParVertexMCE.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="394"> + <caret line="169" column="107" lean-forward="false" selection-start-line="169" selection-start-column="107" selection-end-line="169" selection-end-column="107" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParTTT.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="360"> + <caret line="228" column="108" lean-forward="false" selection-start-line="228" selection-start-column="108" selection-end-line="228" selection-end-column="108" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParMCETriangles.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="360"> + <caret line="247" column="108" lean-forward="false" selection-start-line="247" selection-start-column="108" selection-end-line="247" selection-end-column="108" /> <folding /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParMCEDegree.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="272"> - <caret line="45" column="18" lean-forward="false" selection-start-line="45" selection-start-column="18" selection-end-line="45" selection-end-column="18" /> + <state relative-caret-position="360"> + <caret line="247" column="108" lean-forward="false" selection-start-line="247" selection-start-column="108" selection-end-line="247" selection-end-column="108" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParMCEDegeneracy.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="360"> + <caret line="255" column="108" lean-forward="false" selection-start-line="255" selection-start-column="108" selection-end-line="255" selection-end-column="108" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/ParMCEBaseline.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="394"> + <caret line="170" column="116" lean-forward="false" selection-start-line="170" selection-start-column="116" selection-end-line="170" selection-end-column="116" /> <folding /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/kCliqueSublist.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="68"> + <state relative-caret-position="-864"> <caret line="4" column="13" lean-forward="false" selection-start-line="4" selection-start-column="13" selection-end-line="4" selection-end-column="13" /> <folding /> </state> @@ -430,32 +688,44 @@ </entry> <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/parMCE/CliqueEnumerator.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="187"> + <state relative-caret-position="-1918"> <caret line="12" column="13" lean-forward="false" selection-start-line="12" selection-start-column="13" selection-end-line="12" selection-end-column="13" /> <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/Graph.java"> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/MCE/TTT.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="425"> + <caret line="150" column="76" lean-forward="false" selection-start-line="150" selection-start-column="76" selection-end-line="150" selection-end-column="76" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/MCE/ELS.java"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="2455"> - <caret line="212" column="35" lean-forward="true" selection-start-line="212" selection-start-column="35" selection-end-line="212" selection-end-column="35" /> + <state relative-caret-position="394"> + <caret line="180" column="107" lean-forward="false" selection-start-line="180" selection-start-column="107" selection-end-line="180" selection-end-column="107" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/MCE/CN.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="462"> + <caret line="358" column="62" lean-forward="false" selection-start-line="358" selection-start-column="62" selection-end-line="358" selection-end-column="62" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/Algorithm/MCE/Peamc.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="496"> + <caret line="84" column="113" lean-forward="false" selection-start-line="84" selection-start-column="113" selection-end-line="84" selection-end-column="113" /> <folding> <element signature="imports" expanded="true" /> - <element signature="e#4408#4409#0" expanded="true" /> - <element signature="e#4444#4445#0" expanded="true" /> - <element signature="e#4640#4641#0" expanded="true" /> - <element signature="e#4655#4656#0" expanded="true" /> - <element signature="e#4691#4692#0" expanded="true" /> - <element signature="e#4736#4737#0" expanded="true" /> - <element signature="e#4776#4777#0" expanded="true" /> - <element signature="e#4813#4814#0" expanded="true" /> - <element signature="e#4849#4850#0" expanded="true" /> - <element signature="e#4888#4889#0" expanded="true" /> - <element signature="e#4938#4939#0" expanded="true" /> - <element signature="e#4971#4972#0" expanded="true" /> - <element signature="e#4995#4996#0" expanded="true" /> - <element signature="e#5017#5018#0" expanded="true" /> + <element signature="e#202#203#0" expanded="true" /> + <element signature="e#243#244#0" expanded="true" /> </folding> </state> </provider> diff --git a/pom.xml b/pom.xml index 9caf0f3bf9cecc0477e68a875815218bd3474b01..e150b26280553f67490bca4183191f8c218d4f7c 100644 --- a/pom.xml +++ b/pom.xml @@ -5,6 +5,18 @@ <groupId>Maximal-Clique-Parallel</groupId> <artifactId>v1</artifactId> <version>0.0.1-SNAPSHOT</version> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <source>1.8</source> + <target>1.8</target> + </configuration> + </plugin> + </plugins> + </build> <packaging>jar</packaging> <name>v1</name> diff --git a/shared-memory-maximal-clique.iml b/shared-memory-maximal-clique.iml index c56d7ddf1d595359d8060afbdca60e20a30dc418..fbf5f782f3b0eb20fa27a521dfadacfcf00974c3 100644 --- a/shared-memory-maximal-clique.iml +++ b/shared-memory-maximal-clique.iml @@ -7,15 +7,17 @@ <src_folder value="file://$MODULE_DIR$/src/test/java" expected_position="1" /> </src_description> </component> - <component name="NewModuleRootManager"> + <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> <output url="file://$MODULE_DIR$/target/classes" /> - <exclude-output /> + <output-test url="file://$MODULE_DIR$/target/test-classes" /> <content url="file://$MODULE_DIR$"> <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="false" /> + <excludeFolder url="file://$MODULE_DIR$/target" /> </content> <orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="inheritedJdk" /> <orderEntry type="library" name="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER" level="application" /> + <orderEntry type="library" scope="TEST" name="Maven: junit:junit:3.8.1" level="project" /> </component> </module> \ No newline at end of file diff --git a/src/main/java/Algorithm/Graph.java b/src/main/java/Algorithm/Graph.java index 25b8a31b54499f768fd49dc9a865c77b115d41b6..13e90fc0418210b12001c05951d91b8d8b9190be 100644 --- a/src/main/java/Algorithm/Graph.java +++ b/src/main/java/Algorithm/Graph.java @@ -15,6 +15,7 @@ import utils.Vscore; public class Graph { public ArrayList <HashSet<Integer>> AdjList; + public ArrayList <HashSet<Integer>> M ; // used in Peamc private Map<Integer, Integer> degenscores; // (key, value) pair; key = vertex, value = degeneracy score private Vscore[] S; private int degeneracy; // contains degeneracy value @@ -37,6 +38,17 @@ public class Graph { this.vertices = new ArrayList<>() ; } + public void buildM () { + M = new ArrayList<>() ; + for (Integer vertex : this.vertices) { + M.add(new HashSet<>()) ; + for (Integer neighbor : AdjList.get(vertex)) { + if (neighbor > vertex) + M.get(vertex).add(neighbor) ; + } + } + } + public boolean isAllDigits (String s) { for (int i = 0; i < s.length(); i++) { if (Character.isDigit(s.charAt(i)) == false) return false ; @@ -112,14 +124,11 @@ public class Graph { } public boolean containsEdge(int u, int v){ - if(AdjList.get(u) != null){ if(AdjList.get(u).contains(v)) return true; else return false; - - } return false; } diff --git a/src/main/java/Algorithm/MCE/CN.java b/src/main/java/Algorithm/MCE/CN.java index efae9bae89b266756aac76600af39e49b95eb9be..83691d862df3976a3c857286fda9ba03c468e455 100644 --- a/src/main/java/Algorithm/MCE/CN.java +++ b/src/main/java/Algorithm/MCE/CN.java @@ -356,7 +356,7 @@ public class CN { new CN(new Graph(args[0])); long elapsed = System.currentTimeMillis(); System.out.println("Number of Maximal Cliques: " + C.size()); - System.out.println("Sequential Time: " + elapsed/1000 + " sec."); + System.out.println("Sequential Time: " + elapsed/1000. + " sec."); } diff --git a/src/main/java/Algorithm/MCE/ELS.java b/src/main/java/Algorithm/MCE/ELS.java index 96798874d58f97945f33b30b04a8f5d626ab1711..a12d861c09a9254a94734390050f71cc3b4de6a1 100644 --- a/src/main/java/Algorithm/MCE/ELS.java +++ b/src/main/java/Algorithm/MCE/ELS.java @@ -178,7 +178,7 @@ public class ELS { new ELS(G, "output_TTT"); long elapsed = System.currentTimeMillis() - t1; System.out.println("number of maximal cliques: " + count); - System.out.println("Time taken to compute maximal cliques in" + args[0] + ": " + elapsed/1000 + " sec."); + System.out.println("Time taken to compute maximal cliques in" + args[0] + ": " + elapsed/1000. + " sec."); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); diff --git a/src/main/java/Algorithm/MCE/Peamc.java b/src/main/java/Algorithm/MCE/Peamc.java new file mode 100644 index 0000000000000000000000000000000000000000..ec8ecb80953350568efebb39df87aed3f7af8c93 --- /dev/null +++ b/src/main/java/Algorithm/MCE/Peamc.java @@ -0,0 +1,87 @@ +package Algorithm.MCE; + +import Algorithm.Graph; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; + +public class Peamc { + int nMaximalCliques; + Graph G ; + Peamc () { + this.nMaximalCliques = 0 ; + } + + boolean isMaximal (ArrayList <Integer> clq) { + HashSet <Integer> clqSet = new HashSet<>(clq) ; + for (Integer vertex : clq) { + for (Integer neighbor : this.G.AdjList.get(vertex)) { + if (clqSet.contains(neighbor)) + continue; + boolean isConnectedToAll = true; + for (Integer vertexInClq : clq) { + if (this.G.AdjList.get(neighbor).contains(vertexInClq) == false) { + isConnectedToAll = false; + } + } + if (isConnectedToAll == true) + return false; + } + } + return true ; + } + + void print (ArrayList <Integer> clq) { + System.out.printf("%d: ", clq.size()); + for (Integer vertex : clq) { + System.out.print(vertex + ","); + } + System.out.println(); + } + + public void clique (ArrayList <Integer> clq, HashSet<Integer> T, int vx) { + for (Integer vj : T) { + int vk = G.numV() ; + HashSet <Integer> newT = new HashSet<>() ; + for (Integer neighbor : this.G.M.get(vj)) { + if (T.contains(neighbor) == true) { + newT.add(neighbor) ; + vk = Math.min(vk, neighbor) ; + } + } + clq.add(vj) ; + if (newT.isEmpty() == false) { + clique(clq, newT, vk); + }else { + + if (isMaximal (clq)) { + //print (clq) ; + nMaximalCliques++; + } + } + clq.remove(clq.size() - 1) ; + } + } + + public static void main(String[] args) { + System.out.println("Sequential Peamc Algorithm"); + System.out.println("Input Graph: " + args[0]); + Peamc instance = new Peamc() ; + instance.G = new Graph(args[0]); + System.out.println("Graph Reading Complete"); + System.out.println("Number of Vertices: " + instance.G.numV()); + System.out.println("Number of Edges: " + instance.G.numE()); + + instance.G.buildM(); + + long begTime = System.currentTimeMillis(); + for (Integer vertex : instance.G.vertices) { + ArrayList <Integer> clq = new ArrayList<>(Arrays.asList(vertex)); + instance.clique(clq, instance.G.M.get(vertex), vertex); + } + long elapsed = System.currentTimeMillis() - begTime; + System.out.println("number of maximal cliques: " + instance.nMaximalCliques); + System.out.println("Sequential time taken to compute maximal cliques in" + args[0] + ": " + elapsed/1000. + " sec."); + } +} diff --git a/src/main/java/Algorithm/MCE/TTT.java b/src/main/java/Algorithm/MCE/TTT.java index ffb0a85c2f92c8f116403545593fb9d52b44260c..4e628b3a16889160b7155d5a1d9dea57d17e8c2e 100644 --- a/src/main/java/Algorithm/MCE/TTT.java +++ b/src/main/java/Algorithm/MCE/TTT.java @@ -148,7 +148,7 @@ public class TTT { long elapsed = System.currentTimeMillis() - t1; System.out.println("number of maximal cliques: " + count); System.out.println("Sequential time taken to compute maximal cliques in" + args[0] + ": " + elapsed/1000 + " sec."); - System.out.println("Total loop overhead : " + loopoverhead/1000 + " sec."); + System.out.println("Total loop overhead : " + loopoverhead/1000. + " sec."); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); diff --git a/src/main/java/Algorithm/parMCE/ParMCEBaseline.java b/src/main/java/Algorithm/parMCE/ParMCEBaseline.java index f64ced89416a6991e666e96e7d6d5dd78c17cd41..38478d3b05718d2a8e2e0a88a446c6d7fe6c4cc0 100644 --- a/src/main/java/Algorithm/parMCE/ParMCEBaseline.java +++ b/src/main/java/Algorithm/parMCE/ParMCEBaseline.java @@ -168,7 +168,7 @@ public class ParMCEBaseline { new ParMCEBaseline(G, "output_TTT"); long elapsed = System.currentTimeMillis() - t1; System.out.println("number of maximal cliques: " + count.get()); - System.out.println("Parallel time taken to compute maximal cliques in" + args[0] + ": " + elapsed/1000 + " sec."); + System.out.println("Parallel time taken to compute maximal cliques in" + args[0] + ": " + elapsed/1000. + " sec."); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); diff --git a/src/main/java/Algorithm/parMCE/ParMCEDegeneracy.java b/src/main/java/Algorithm/parMCE/ParMCEDegeneracy.java index 19b41190d443d8e616f6c0a53d2e4f64a659ea5c..b38bc09603bfe80ebd1f2ea7956a4b57c399eae6 100644 --- a/src/main/java/Algorithm/parMCE/ParMCEDegeneracy.java +++ b/src/main/java/Algorithm/parMCE/ParMCEDegeneracy.java @@ -253,7 +253,7 @@ public class ParMCEDegeneracy { // System.out.println("number of maximal cliques: " + CLQ.size()); System.out.println("number of maximal cliques: " + count.get()); System.out.println( - "Parallel time taken to compute maximal cliques in " + args[0] + " : " + elapsed / 1000 + " sec."); + "Parallel time taken to compute maximal cliques in " + args[0] + " : " + elapsed / 1000. + " sec."); // System.out.println("Total loop overhead : " + loopoverhead/1000 + // " sec."); } catch (IOException e) { diff --git a/src/main/java/Algorithm/parMCE/ParMCEDegree.java b/src/main/java/Algorithm/parMCE/ParMCEDegree.java index 00118dfd75800e28b61ec0fc03ace802aa09071c..a4b351e1804a07859cad7bf2a1e4b3f264ee8099 100644 --- a/src/main/java/Algorithm/parMCE/ParMCEDegree.java +++ b/src/main/java/Algorithm/parMCE/ParMCEDegree.java @@ -245,7 +245,7 @@ public class ParMCEDegree { // System.out.println("number of maximal cliques: " + CLQ.size()); System.out.println("number of maximal cliques: " + count.get()); System.out.println( - "Parallel time taken to compute maximal cliques in " + args[0] + " : " + elapsed / 1000 + " sec."); + "Parallel time taken to compute maximal cliques in " + args[0] + " : " + elapsed / 1000. + " sec."); // System.out.println("Total loop overhead : " + loopoverhead/1000 + // " sec."); } catch (IOException e) { diff --git a/src/main/java/Algorithm/parMCE/ParMCETriangles.java b/src/main/java/Algorithm/parMCE/ParMCETriangles.java index e047b616de86cb5a300ec571f53d6e17c02daa53..11bf8b348eefe83a4611ba41b1648c4a88d109b2 100644 --- a/src/main/java/Algorithm/parMCE/ParMCETriangles.java +++ b/src/main/java/Algorithm/parMCE/ParMCETriangles.java @@ -245,7 +245,7 @@ public class ParMCETriangles { // System.out.println("number of maximal cliques: " + CLQ.size()); System.out.println("number of maximal cliques: " + count.get()); System.out.println( - "Parallel time taken to compute maximal cliques in " + args[0] + " : " + elapsed / 1000 + " sec."); + "Parallel time taken to compute maximal cliques in " + args[0] + " : " + elapsed / 1000. + " sec."); // System.out.println("Total loop overhead : " + loopoverhead/1000 + // " sec."); } catch (IOException e) { diff --git a/src/main/java/Algorithm/parMCE/ParTTT.java b/src/main/java/Algorithm/parMCE/ParTTT.java index 41ef6e389e4bfadae901671a6e0387d3af97caf1..e8c3bf8817dd903d954753714b97cc9618b75ec7 100644 --- a/src/main/java/Algorithm/parMCE/ParTTT.java +++ b/src/main/java/Algorithm/parMCE/ParTTT.java @@ -226,7 +226,7 @@ public class ParTTT { long elapsed = System.currentTimeMillis() - t1; System.out.println("number of maximal cliques: " + count.get()); System.out.println( - "Parallel time taken to compute maximal cliques in " + args[0] + " : " + elapsed / 1000 + " sec."); + "Parallel time taken to compute maximal cliques in " + args[0] + " : " + elapsed / 1000. + " sec."); // System.out.println("Total loop overhead : " + loopoverhead/1000 + // " sec."); } catch (IOException e) { diff --git a/src/main/java/Algorithm/parMCE/ParVertexMCE.java b/src/main/java/Algorithm/parMCE/ParVertexMCE.java index 9f4624acada81ab74328559ff6b5048fb9ae29a9..87aec65c3c65eff6cd2389ab62acd4953b574022 100644 --- a/src/main/java/Algorithm/parMCE/ParVertexMCE.java +++ b/src/main/java/Algorithm/parMCE/ParVertexMCE.java @@ -167,7 +167,7 @@ public class ParVertexMCE { new ParVertexMCE(G, "output_TTT"); long elapsed = System.currentTimeMillis() - t1; System.out.println("number of maximal cliques: " + count); - System.out.println("Time taken to compute maximal cliques in" + args[0] + ": " + elapsed/1000 + " sec."); + System.out.println("Time taken to compute maximal cliques in" + args[0] + ": " + elapsed/1000. + " sec."); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); diff --git a/src/main/java/Algorithm/parMCE/ParVertexParMCE.java b/src/main/java/Algorithm/parMCE/ParVertexParMCE.java index ebe3c2d808831a1a33bef31183b3f7496f394687..4edc7382e706b8fbd65d9c4fafd9cbdb0005f836 100644 --- a/src/main/java/Algorithm/parMCE/ParVertexParMCE.java +++ b/src/main/java/Algorithm/parMCE/ParVertexParMCE.java @@ -213,7 +213,7 @@ public class ParVertexParMCE { //System.out.println("number of maximal cliques: " + CLQ.size()); System.out.println("number of maximal cliques: " + count.get()); System.out.println( - "Time taken to compute maximal cliques in " + args[0] + " : " + elapsed / 1000 + " sec."); + "Time taken to compute maximal cliques in " + args[0] + " : " + elapsed / 1000. + " sec."); //System.out.println("Total loop overhead : " + loopoverhead/1000 + " sec."); } catch (IOException e) { // TODO Auto-generated catch block diff --git a/target/classes/Algorithm/Graph.class b/target/classes/Algorithm/Graph.class new file mode 100644 index 0000000000000000000000000000000000000000..c55b8f18778564ac0bf8e9e3ca019617905d9475 Binary files /dev/null and b/target/classes/Algorithm/Graph.class differ diff --git a/target/classes/Algorithm/MCE/CN$1.class b/target/classes/Algorithm/MCE/CN$1.class new file mode 100644 index 0000000000000000000000000000000000000000..2070be2975f82c907b347393a133eb84cf01479a Binary files /dev/null and b/target/classes/Algorithm/MCE/CN$1.class differ diff --git a/target/classes/Algorithm/MCE/CN.class b/target/classes/Algorithm/MCE/CN.class new file mode 100644 index 0000000000000000000000000000000000000000..52a8ec793e485b5ca3dac863d831e891066c07c1 Binary files /dev/null and b/target/classes/Algorithm/MCE/CN.class differ diff --git a/target/classes/Algorithm/MCE/ELS.class b/target/classes/Algorithm/MCE/ELS.class new file mode 100644 index 0000000000000000000000000000000000000000..8a969c208f3e2ebd9bbe3c9bc59eafa9ec584f8e Binary files /dev/null and b/target/classes/Algorithm/MCE/ELS.class differ diff --git a/target/classes/Algorithm/MCE/Peamc.class b/target/classes/Algorithm/MCE/Peamc.class new file mode 100644 index 0000000000000000000000000000000000000000..df5087a77c617c19a30296dc90dee1efe34ffbaa Binary files /dev/null and b/target/classes/Algorithm/MCE/Peamc.class differ diff --git a/target/classes/Algorithm/MCE/TTT.class b/target/classes/Algorithm/MCE/TTT.class new file mode 100644 index 0000000000000000000000000000000000000000..acf359ec2d7a1c639e69fcc24707361e23b60db6 Binary files /dev/null and b/target/classes/Algorithm/MCE/TTT.class differ diff --git a/target/classes/Algorithm/parMCE/CliqueEnumerator.class b/target/classes/Algorithm/parMCE/CliqueEnumerator.class new file mode 100644 index 0000000000000000000000000000000000000000..e4fecfd2747cef229e4330f20e863589557579ce Binary files /dev/null and b/target/classes/Algorithm/parMCE/CliqueEnumerator.class differ diff --git a/target/classes/Algorithm/parMCE/ParMCEBaseline.class b/target/classes/Algorithm/parMCE/ParMCEBaseline.class new file mode 100644 index 0000000000000000000000000000000000000000..0e76ca427fb5e43c03aa3dc60f3357e54b007df3 Binary files /dev/null and b/target/classes/Algorithm/parMCE/ParMCEBaseline.class differ diff --git a/target/classes/Algorithm/parMCE/ParMCEDegeneracy.class b/target/classes/Algorithm/parMCE/ParMCEDegeneracy.class new file mode 100644 index 0000000000000000000000000000000000000000..8a0ba904826a93c3c22da11e8e43f1b2cab0641e Binary files /dev/null and b/target/classes/Algorithm/parMCE/ParMCEDegeneracy.class differ diff --git a/target/classes/Algorithm/parMCE/ParMCEDegree.class b/target/classes/Algorithm/parMCE/ParMCEDegree.class new file mode 100644 index 0000000000000000000000000000000000000000..8c7ae2e7d8538ea06aba75f90258cee2d0492a4f Binary files /dev/null and b/target/classes/Algorithm/parMCE/ParMCEDegree.class differ diff --git a/target/classes/Algorithm/parMCE/ParMCETriangles.class b/target/classes/Algorithm/parMCE/ParMCETriangles.class new file mode 100644 index 0000000000000000000000000000000000000000..cd28a598e1455f4e9d092335a3496f688763b24d Binary files /dev/null and b/target/classes/Algorithm/parMCE/ParMCETriangles.class differ diff --git a/target/classes/Algorithm/parMCE/ParTTT.class b/target/classes/Algorithm/parMCE/ParTTT.class new file mode 100644 index 0000000000000000000000000000000000000000..3f3b69eb497a8e371d7edcab00f392e88537495f Binary files /dev/null and b/target/classes/Algorithm/parMCE/ParTTT.class differ diff --git a/target/classes/Algorithm/parMCE/ParVertexMCE.class b/target/classes/Algorithm/parMCE/ParVertexMCE.class new file mode 100644 index 0000000000000000000000000000000000000000..983b385b2fb7cf825bf03a001aed2eafae1009df Binary files /dev/null and b/target/classes/Algorithm/parMCE/ParVertexMCE.class differ diff --git a/target/classes/Algorithm/parMCE/ParVertexParMCE.class b/target/classes/Algorithm/parMCE/ParVertexParMCE.class new file mode 100644 index 0000000000000000000000000000000000000000..65d34d16d7b339104f30ea855012f7fd6ceccf63 Binary files /dev/null and b/target/classes/Algorithm/parMCE/ParVertexParMCE.class differ diff --git a/target/classes/Algorithm/parMCE/kCliqueSublist.class b/target/classes/Algorithm/parMCE/kCliqueSublist.class new file mode 100644 index 0000000000000000000000000000000000000000..b60baff868348d322a706e1517bc15857fefa9fa Binary files /dev/null and b/target/classes/Algorithm/parMCE/kCliqueSublist.class differ diff --git a/target/classes/utils/CheckHeap.class b/target/classes/utils/CheckHeap.class new file mode 100644 index 0000000000000000000000000000000000000000..a5c202f0f1bca4792c9298b369b2a6e7c32da82e Binary files /dev/null and b/target/classes/utils/CheckHeap.class differ diff --git a/target/classes/utils/MathOperations.class b/target/classes/utils/MathOperations.class new file mode 100644 index 0000000000000000000000000000000000000000..ff5d5be092919f64b9d89ce9877c271a901ca8e1 Binary files /dev/null and b/target/classes/utils/MathOperations.class differ diff --git a/target/classes/utils/MurmurHash3$State.class b/target/classes/utils/MurmurHash3$State.class new file mode 100644 index 0000000000000000000000000000000000000000..26169bceeb1fcf6864a5b51e0dfee7b3ecbb90c6 Binary files /dev/null and b/target/classes/utils/MurmurHash3$State.class differ diff --git a/target/classes/utils/MurmurHash3.class b/target/classes/utils/MurmurHash3.class new file mode 100644 index 0000000000000000000000000000000000000000..91fb180222015d67f65b003898bfd0718eb8f22e Binary files /dev/null and b/target/classes/utils/MurmurHash3.class differ diff --git a/target/classes/utils/Parallel$1$1.class b/target/classes/utils/Parallel$1$1.class new file mode 100644 index 0000000000000000000000000000000000000000..8891f82ef23563a3ae74ab5c2d240196ab215ecf Binary files /dev/null and b/target/classes/utils/Parallel$1$1.class differ diff --git a/target/classes/utils/Parallel$1.class b/target/classes/utils/Parallel$1.class new file mode 100644 index 0000000000000000000000000000000000000000..431adced5343f89859821aa525d2e7fea3c68d76 Binary files /dev/null and b/target/classes/utils/Parallel$1.class differ diff --git a/target/classes/utils/Parallel$2$1.class b/target/classes/utils/Parallel$2$1.class new file mode 100644 index 0000000000000000000000000000000000000000..acbcb257b62254b73d262cb3aae38cec0faa3bb5 Binary files /dev/null and b/target/classes/utils/Parallel$2$1.class differ diff --git a/target/classes/utils/Parallel$2.class b/target/classes/utils/Parallel$2.class new file mode 100644 index 0000000000000000000000000000000000000000..cc31e5555a26c6cc6596417e5693202523f81a4b Binary files /dev/null and b/target/classes/utils/Parallel$2.class differ diff --git a/target/classes/utils/Parallel$Action.class b/target/classes/utils/Parallel$Action.class new file mode 100644 index 0000000000000000000000000000000000000000..ca5cb78262fd784047b337682d3d8578cc60fb82 Binary files /dev/null and b/target/classes/utils/Parallel$Action.class differ diff --git a/target/classes/utils/Parallel$F.class b/target/classes/utils/Parallel$F.class new file mode 100644 index 0000000000000000000000000000000000000000..4b24d02a8bf4a3d70e655490c7ebe926ada21414 Binary files /dev/null and b/target/classes/utils/Parallel$F.class differ diff --git a/target/classes/utils/Parallel$ForEach$1.class b/target/classes/utils/Parallel$ForEach$1.class new file mode 100644 index 0000000000000000000000000000000000000000..01dd03f84f2f4a4fd7bd20f159d7a385921d74bc Binary files /dev/null and b/target/classes/utils/Parallel$ForEach$1.class differ diff --git a/target/classes/utils/Parallel$ForEach$2.class b/target/classes/utils/Parallel$ForEach$2.class new file mode 100644 index 0000000000000000000000000000000000000000..f23814fded5c160615fcf37165c02977c2e6e570 Binary files /dev/null and b/target/classes/utils/Parallel$ForEach$2.class differ diff --git a/target/classes/utils/Parallel$ForEach.class b/target/classes/utils/Parallel$ForEach.class new file mode 100644 index 0000000000000000000000000000000000000000..d46391a3dc18c030df9457c89a0e70b10a81a043 Binary files /dev/null and b/target/classes/utils/Parallel$ForEach.class differ diff --git a/target/classes/utils/Parallel$TaskHandler.class b/target/classes/utils/Parallel$TaskHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..82d841d2ac5b9a65936b4650bcb2ab01837acb03 Binary files /dev/null and b/target/classes/utils/Parallel$TaskHandler.class differ diff --git a/target/classes/utils/Parallel.class b/target/classes/utils/Parallel.class new file mode 100644 index 0000000000000000000000000000000000000000..23fc8a91bea77330f3172c62aa82e09416f13b65 Binary files /dev/null and b/target/classes/utils/Parallel.class differ diff --git a/target/classes/utils/SetOperations.class b/target/classes/utils/SetOperations.class new file mode 100644 index 0000000000000000000000000000000000000000..dce9a64d8b0af70dbda84ca21e5f75d12e826c02 Binary files /dev/null and b/target/classes/utils/SetOperations.class differ diff --git a/target/classes/utils/ValueComparator.class b/target/classes/utils/ValueComparator.class new file mode 100644 index 0000000000000000000000000000000000000000..543bcba6c0ce4d7d358205f37a39663da63746b9 Binary files /dev/null and b/target/classes/utils/ValueComparator.class differ diff --git a/target/classes/utils/Vscore.class b/target/classes/utils/Vscore.class new file mode 100644 index 0000000000000000000000000000000000000000..8110194300a13a3246d87f7b158541e57a2f9ead Binary files /dev/null and b/target/classes/utils/Vscore.class differ diff --git a/test b/test new file mode 100644 index 0000000000000000000000000000000000000000..d373421aa8a8895614a1434d213238264728c82a --- /dev/null +++ b/test @@ -0,0 +1,8 @@ +0 1 +0 2 +1 2 +2 3 +2 4 +3 4 +0 3 +1 3