Skip to content

Commit 895c5d7

Browse files
author
Lukas Molzberger
committed
work on neuron deletion
1 parent a1b3942 commit 895c5d7

File tree

7 files changed

+18
-6
lines changed

7 files changed

+18
-6
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<groupId>org.aika-software</groupId>
66
<artifactId>aika</artifactId>
77
<packaging>jar</packaging>
8-
<version>1.4.5</version>
8+
<version>1.4.6-SNAPSHOT</version>
99
<name>aika</name>
1010
<url>http://aika.network</url>
1111
<description>An artificial intelligence for knowledge acquisition</description>

src/main/java/network/aika/Provider.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ public class Provider<T extends AbstractNode> implements Comparable<Provider<?>>
2525

2626
private volatile T n;
2727

28+
private boolean markedDeleted;
29+
2830

2931
public enum SuspensionMode {
3032
SAVE,
@@ -168,7 +170,13 @@ public void delete(Set<String> modelLabels) {
168170

169171
n.delete(modelLabels);
170172

171-
model.suspensionHook.delete(id);
173+
// model.removeProvider(this);
174+
model.suspensionHook.delete(n.getLabel(), id);
175+
markedDeleted = true;
176+
}
177+
178+
public boolean isMarkedDeleted() {
179+
return markedDeleted;
172180
}
173181

174182
@Override

src/main/java/network/aika/SuspensionHook.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public interface SuspensionHook {
3737

3838
byte[] retrieve(int id);
3939

40-
void delete(int id);
40+
void delete(String label, int id);
4141

4242
Iterable<Integer> getAllNodeIds();
4343
}

src/main/java/network/aika/lattice/Node.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,9 @@ public void addActivation(A act) {
298298

299299

300300
public void remove() {
301-
assert !isRemoved;
301+
if(isRemoved) {
302+
return;
303+
}
302304

303305
lock.acquireWriteLock();
304306
setModified();

src/main/java/network/aika/lattice/OrNode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ void removeParents(Set<String> modelLabels) {
235235
pn.removeOrChild(oe);
236236
pn.setModified();
237237

238-
pp.delete(modelLabels);
238+
// pp.delete(modelLabels);
239239
}
240240
andParents.clear();
241241
}

src/main/java/network/aika/neuron/INeuron.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -740,6 +740,8 @@ public void reactivate() {
740740
@Override
741741
public void delete(Set<String> modelLabels) {
742742
new ArrayList<>(getInputSynapses())
743+
.stream()
744+
.filter(s -> !s.getInput().isMarkedDeleted())
743745
.forEach(s -> {
744746
s.unlink();
745747
s.getInput().delete(modelLabels);

src/test/java/network/aika/network/SuspensionTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ public byte[] retrieve(int id) {
148148
}
149149

150150
@Override
151-
public void delete(int id) {
151+
public void delete(String label, int id) {
152152
storage.remove(id);
153153
}
154154

0 commit comments

Comments
 (0)