Skip to content
Snippets Groups Projects
Commit 16dac635 authored by Alexandre's avatar Alexandre
Browse files

Add README, Use mailbox getter

parent 7630a8f0
Branches
Tags
No related merge requests found
# 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
...@@ -82,7 +82,7 @@ public class ClusterAgent<T extends DataPoint> extends Agent<ClusterAMAS<T>, Clu ...@@ -82,7 +82,7 @@ public class ClusterAgent<T extends DataPoint> extends Agent<ClusterAMAS<T>, Clu
protected void onPerceive() { protected void onPerceive() {
switch (state) { switch (state) {
case DORMANT -> { case DORMANT -> {
var receivedRequestSimilarityMessage = this.mailbox.read(RequestSimilarityMessage.class); var receivedRequestSimilarityMessage = this.getMailbox().read(RequestSimilarityMessage.class);
if (receivedRequestSimilarityMessage.isPresent()) { if (receivedRequestSimilarityMessage.isPresent()) {
receivedClusterForRequestSimilarity = receivedRequestSimilarityMessage.get().getCluster(); receivedClusterForRequestSimilarity = receivedRequestSimilarityMessage.get().getCluster();
receivedRequestSimilarityRequester = (ClusterAgent) receivedRequestSimilarityMessage.get().getSender(); receivedRequestSimilarityRequester = (ClusterAgent) receivedRequestSimilarityMessage.get().getSender();
...@@ -93,7 +93,7 @@ public class ClusterAgent<T extends DataPoint> extends Agent<ClusterAMAS<T>, Clu ...@@ -93,7 +93,7 @@ public class ClusterAgent<T extends DataPoint> extends Agent<ClusterAMAS<T>, Clu
} }
case WAITING_FOR_REPLY -> { case WAITING_FOR_REPLY -> {
while (mailbox.hasMessageOfType(EvaluatedScoreMessage.class)) { while (mailbox.hasMessageOfType(EvaluatedScoreMessage.class)) {
var evaluatedScoreMessage = this.mailbox.read(EvaluatedScoreMessage.class); var evaluatedScoreMessage = this.getMailbox().read(EvaluatedScoreMessage.class);
if (evaluatedScoreMessage.isPresent()) { if (evaluatedScoreMessage.isPresent()) {
similarityScoresReceived.put((ClusterAgent) evaluatedScoreMessage.get().getSender(), evaluatedScoreMessage.get().getSimilarityScore()); similarityScoresReceived.put((ClusterAgent) evaluatedScoreMessage.get().getSender(), evaluatedScoreMessage.get().getSimilarityScore());
} }
...@@ -172,7 +172,7 @@ public class ClusterAgent<T extends DataPoint> extends Agent<ClusterAMAS<T>, Clu ...@@ -172,7 +172,7 @@ public class ClusterAgent<T extends DataPoint> extends Agent<ClusterAMAS<T>, Clu
for (var agent : clusterAgentsRoughlySimilarOnReady) { for (var agent : clusterAgentsRoughlySimilarOnReady) {
if (logger.isLoggable(Level.INFO)) if (logger.isLoggable(Level.INFO))
logger.info(this + " sends RequestSimilarityMessage to " + agent); logger.info(this + " sends RequestSimilarityMessage to " + agent);
agent.mailbox.receive(new RequestSimilarityMessage(this, cluster)); agent.getMailbox().receive(new RequestSimilarityMessage(this, cluster));
requestSimilarityMessageSentAgents.add(agent); requestSimilarityMessageSentAgents.add(agent);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment