00001 /************************************************************************ 00002 * Verve * 00003 * Copyright (C) 2004-2006 * 00004 * Tyler Streeter tylerstreeter@gmail.com * 00005 * All rights reserved. * 00006 * Web: http://verve-agents.sourceforge.net * 00007 * * 00008 * This library is free software; you can redistribute it and/or * 00009 * modify it under the terms of EITHER: * 00010 * (1) The GNU Lesser General Public License as published by the Free * 00011 * Software Foundation; either version 2.1 of the License, or (at * 00012 * your option) any later version. The text of the GNU Lesser * 00013 * General Public License is included with this library in the * 00014 * file license-LGPL.txt. * 00015 * (2) The BSD-style license that is included with this library in * 00016 * the file license-BSD.txt. * 00017 * * 00018 * This library is distributed in the hope that it will be useful, * 00019 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00020 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files * 00021 * license-LGPL.txt and license-BSD.txt for more details. * 00022 ************************************************************************/ 00023 00024 #ifndef VERVE_ACTIVE_TD_CONNECTION_LIST_H 00025 #define VERVE_ACTIVE_TD_CONNECTION_LIST_H 00026 00027 #include "Projection.h" 00028 #include <list> 00029 00030 namespace verve 00031 { 00032 class Neuron; 00033 class TDConnection; 00034 00038 class ActiveTDConnectionList 00039 { 00040 public: 00041 VERVE_DECL ActiveTDConnectionList(); 00042 00043 VERVE_DECL virtual ~ActiveTDConnectionList(); 00044 00047 VERVE_DECL virtual void VERVE_CALL clearList(); 00048 00051 VERVE_DECL virtual void VERVE_CALL addNewActiveConnection( 00052 TDConnection* c); 00053 00056 VERVE_DECL virtual void VERVE_CALL increaseETraces(); 00057 00059 VERVE_DECL virtual void VERVE_CALL decayETraces(); 00060 00063 VERVE_DECL virtual void VERVE_CALL trainConnections( 00064 real learningFactorTimesTDError); 00065 00066 protected: 00068 std::list<TDConnection*> mConnections; 00069 }; 00070 } 00071 00072 #endif