⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 connectionhelper.java

📁 一个纯java写的神经网络源代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                if (target instanceof AbstractConverterPlugIn) {            if (source instanceof ConverterPlugIn) {                retValue = ((AbstractConverterPlugIn)target).addPlugIn((ConverterPlugIn)source);            }            return retValue;        }                if (target instanceof OutputSwitchSynapse) {            retValue = connectToOutputSwitchSynapse(source, (OutputSwitchSynapse)target);        }        return retValue;    }        private static boolean connectToLayer(Object source, Object media, Layer target) {        boolean retValue = false;        if (source instanceof Layer) {            if ((media != null) && (media instanceof Synapse)) {                if (((Layer)source).addOutputSynapse((Synapse)media)) {                    retValue = target.addInputSynapse((Synapse)media);                }            }        }        if (source instanceof InputPatternListener) {            retValue = target.addInputSynapse((InputPatternListener)source);        }                return retValue;    }        private static boolean connectToStreamOutputSynapse(Object source, StreamOutputSynapse target) {        boolean retValue = false;        if (source instanceof Layer)            retValue = ((Layer)source).addOutputSynapse(target);        if (source instanceof ComparingElement)            retValue = ((ComparingElement)source).addResultSynapse(target);        if (source instanceof OutputConverterPlugIn)            retValue = target.addPlugIn((OutputConverterPlugIn)source);        if (source instanceof OutputSwitchSynapse)            retValue = ((OutputSwitchSynapse)source).addOutputSynapse(target);        return retValue;    }        private static boolean connectToComparingElement(Object source, ComparingElement target) {        boolean retValue = false;        if (source instanceof Layer)            retValue = ((Layer)source).addOutputSynapse(target);        if (source instanceof StreamInputSynapse)            retValue = target.setDesired((StreamInputSynapse)source);        return retValue;    }        private static boolean connectToOutputSwitchSynapse(Object source, OutputSwitchSynapse target) {        boolean retValue = false;        if (source instanceof Layer)            retValue = ((Layer)source).addOutputSynapse(target);        if (source instanceof ComparingElement)            retValue = ((ComparingElement)source).addResultSynapse(target);        if (source instanceof OutputSwitchSynapse)            retValue = ((OutputSwitchSynapse)source).addOutputSynapse(target);        return retValue;    }        /**     * Disconnects two elements.     * Warning: This method is sensitive to the order of the elements.     * If this method returns false when called with (obj1, obj2) as parameters,     * you should recall it using the parameters in reverse order (obj2, obj1)     * @param source The source element to disconnect     * @param target The target element to disconnect     * @return true if the two elements have been disconnected     */    public static boolean disconnect(Object source, Object target) {        boolean retValue = false;        if (target instanceof InputConnector) {            if (source instanceof StreamInputSynapse)                retValue = ((InputConnector)target).setInputSynapse(null);            return retValue;        }                if (target instanceof LearningSwitch) {            if (source instanceof StreamInputSynapse) {                if (((LearningSwitch)target).getTrainingSet() == source) {                    ((LearningSwitch)target).removeTrainingSet();                    retValue = true;                }                if (((LearningSwitch)target).getValidationSet() == source) {                    ((LearningSwitch)target).removeValidationSet();                    retValue = true;                }            }            return retValue;        }                if (target instanceof InputSwitchSynapse) {            if (source instanceof StreamInputSynapse)                retValue = ((InputSwitchSynapse)target).removeInputSynapse(((StreamInputSynapse)source).getName());            return retValue;        }                        if (target instanceof Layer) {            retValue = disconnectFromLayer(source, (Layer)target);            return retValue;        }                if (target instanceof StreamInputSynapse) {            if (source instanceof ConverterPlugIn) {                retValue = ((StreamInputSynapse)target).addPlugIn(null);            }            return retValue;        }                if (target instanceof StreamOutputSynapse) {            retValue = disconnectFromStreamOutputSynapse(source, (StreamOutputSynapse)target);            return retValue;        }                if (target instanceof ComparingElement) {            retValue = disconnectFromComparingElement(source, (ComparingElement)target);            return retValue;        }                if (target instanceof AbstractConverterPlugIn) {            if (source instanceof ConverterPlugIn) {                retValue = ((AbstractConverterPlugIn)target).addPlugIn(null);            }            return retValue;        }                if (target instanceof OutputSwitchSynapse) {            retValue = disconnectFromOutputSwitchSynapse(source, (OutputSwitchSynapse)target);        }        return retValue;    }        private static boolean disconnectFromLayer(Object source, Layer target) {        boolean retValue = false;        if (source instanceof Layer) {            Object media = getConnection((Layer)source, target);            if ((media != null) && (media instanceof Synapse)) {                ((Layer)source).removeOutputSynapse((Synapse)media);                target.removeInputSynapse((Synapse)media);                retValue = true;            }        }        if (source instanceof InputPatternListener) {            target.removeInputSynapse((InputPatternListener)source);            retValue = true;        }        return retValue;    }        private static boolean disconnectFromStreamOutputSynapse(Object source, StreamOutputSynapse target) {        boolean retValue = false;        if (source instanceof Layer) {            ((Layer)source).removeOutputSynapse(target);            retValue = true;        }        if (source instanceof ComparingElement) {            ((ComparingElement)source).removeResultSynapse(target);            retValue = true;        }        if (source instanceof OutputConverterPlugIn)            retValue = target.addPlugIn(null);        if (source instanceof OutputSwitchSynapse)            retValue = ((OutputSwitchSynapse)source).removeOutputSynapse(target.getName());        return retValue;    }        private static boolean disconnectFromComparingElement(Object source, ComparingElement target) {        boolean retValue = false;        if (source instanceof Layer) {            ((Layer)source).removeOutputSynapse(target);            retValue = true;        }        if (source instanceof StreamInputSynapse)            retValue = target.setDesired(null);        return retValue;    }        private static boolean disconnectFromOutputSwitchSynapse(Object source, OutputSwitchSynapse target) {        boolean retValue = false;        if (source instanceof Layer) {            ((Layer)source).removeOutputSynapse(target);            retValue = true;        }        if (source instanceof ComparingElement) {            ((ComparingElement)source).removeResultSynapse(target);            retValue = true;        }        if (source instanceof OutputSwitchSynapse)            retValue = ((OutputSwitchSynapse)source).removeOutputSynapse(target.getName());        return retValue;    }        // Searches the synapse that connects two Layers    private static Object getConnection(Layer source, Layer target) {        Object conn = null;        Vector inps = target.getAllInputs();        Vector outs = source.getAllOutputs();        if ((inps != null) && (inps.size() > 0) && (outs != null) && (outs.size() > 0)) {            for (int i=0; (conn == null) && (i < inps.size()); ++i) {                Object cc = inps.elementAt(i);                if (cc instanceof Synapse) {                    for (int u=0; (conn == null) && (u < outs.size()); ++u) {                        if (outs.elementAt(u) == cc) {                            conn = cc;                        }                    }                }            }        }        return conn;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -