diff --git a/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..1eb0b0f7a3565ddb357eea94110afdb88795ca7a --- /dev/null +++ b/README.md @@ -0,0 +1,42 @@ +# LxPlot + +A library for data clustering using multi-agent system + +## Set up (With Gradle on an existing project) + +* Download CluMATE source + +* Rename the extracted folder "clumate" + +* Create a new gradle project in the same directory as CluMATE + +* In this new project, open build.gradle + +* Add CluMATE to the dependencies +``` +dependencies { + + // Add the two following lines + // CluMATE + implementation project(':clumate') + + ... +} +``` +* Open settings.gradle + +* Add link to local CluMATE folder +include ':clumate' +project(':clumate').projectDir = new File(settingsDir, '../clumate') + +* Click on the Gradle Refresh button + + +## Usage example + +```java +var clumate = new CluMATE<CustomDataPoint>(new MASSettings(new CustomDataPointSimilarityScoreMethod(), 0.5f, EnumSet.noneOf(AMASOption), new CustomDataPointFuser())) + +clumate.fit([new CustomDataPoint(1), new CustomDataPoint(2)]) +var results = clumate.retrieveClusters() +``` \ No newline at end of file diff --git a/src/main/java/fr/irit/smac/clumate/amas/ClusterAgent.java b/src/main/java/fr/irit/smac/clumate/amas/ClusterAgent.java index 0840cf14edab83bb07f8e81a2789a009e79c74b4..958b2eca79dfb162a54c8df0c330d2a14069fadf 100644 --- a/src/main/java/fr/irit/smac/clumate/amas/ClusterAgent.java +++ b/src/main/java/fr/irit/smac/clumate/amas/ClusterAgent.java @@ -82,7 +82,7 @@ public class ClusterAgent<T extends DataPoint> extends Agent<ClusterAMAS<T>, Clu protected void onPerceive() { switch (state) { case DORMANT -> { - var receivedRequestSimilarityMessage = this.mailbox.read(RequestSimilarityMessage.class); + var receivedRequestSimilarityMessage = this.getMailbox().read(RequestSimilarityMessage.class); if (receivedRequestSimilarityMessage.isPresent()) { receivedClusterForRequestSimilarity = receivedRequestSimilarityMessage.get().getCluster(); receivedRequestSimilarityRequester = (ClusterAgent) receivedRequestSimilarityMessage.get().getSender(); @@ -93,7 +93,7 @@ public class ClusterAgent<T extends DataPoint> extends Agent<ClusterAMAS<T>, Clu } case WAITING_FOR_REPLY -> { while (mailbox.hasMessageOfType(EvaluatedScoreMessage.class)) { - var evaluatedScoreMessage = this.mailbox.read(EvaluatedScoreMessage.class); + var evaluatedScoreMessage = this.getMailbox().read(EvaluatedScoreMessage.class); if (evaluatedScoreMessage.isPresent()) { similarityScoresReceived.put((ClusterAgent) evaluatedScoreMessage.get().getSender(), evaluatedScoreMessage.get().getSimilarityScore()); } @@ -172,7 +172,7 @@ public class ClusterAgent<T extends DataPoint> extends Agent<ClusterAMAS<T>, Clu for (var agent : clusterAgentsRoughlySimilarOnReady) { if (logger.isLoggable(Level.INFO)) logger.info(this + " sends RequestSimilarityMessage to " + agent); - agent.mailbox.receive(new RequestSimilarityMessage(this, cluster)); + agent.getMailbox().receive(new RequestSimilarityMessage(this, cluster)); requestSimilarityMessageSentAgents.add(agent); }