<?xml version="1.0" encoding="UTF-8"?>
<!--
*************************************************
	         AnyLogic Project File
*************************************************
-->
<AnyLogicWorkspace WorkspaceVersion="1.9" AnyLogicVersion="8.9.7.202512010503" AlpVersion="8.9.7">
<Model>
	<Id>1525251582282</Id>
	<Name><![CDATA[How to move around a 2D discrete space randomly]]></Name>
	<EngineVersion>6</EngineVersion>
	<JavaPackageName><![CDATA[reinforcementlearningpathfinder]]></JavaPackageName>
	<ModelTimeUnit><![CDATA[Second]]></ModelTimeUnit>
	<Folders>
	</Folders>
	<ActiveObjectClasses>
		<!--   =========   Active Object Class   ========  -->
		<ActiveObjectClass>
			<Id>1525251582287</Id>
			<Name><![CDATA[Main]]></Name>
			<Generic>false</Generic>
			<GenericParameter>
				<Id>1525251582286</Id>
				<Name><![CDATA[1525251582286]]></Name>
				<GenericParameterValue Class="CodeValue">
					<Code><![CDATA[T extends Agent]]></Code>
				</GenericParameterValue>
				<GenericParameterLabel><![CDATA[Generic parameter:]]></GenericParameterLabel>
			</GenericParameter>
			<FlowChartsUsage>ENTITY</FlowChartsUsage>
			<SamplesToKeep>100</SamplesToKeep>
			<LimitNumberOfArrayElements>false</LimitNumberOfArrayElements>
			<ElementsLimitValue>100</ElementsLimitValue>
			<MakeDefaultViewArea>true</MakeDefaultViewArea>
			<SceneGridColor/>
			<SceneBackgroundColor>-4144960</SceneBackgroundColor>
			<SceneSkybox>null</SceneSkybox>
			<AgentProperties>
				<EnvironmentDefinesInitialLocation>true</EnvironmentDefinesInitialLocation>
				<RotateAnimationTowardsMovement>true</RotateAnimationTowardsMovement>
				<RotateAnimationVertically>false</RotateAnimationVertically>
				<VelocityCode Class="CodeUnitValue">
					<Code><![CDATA[10]]></Code>
					<Unit Class="SpeedUnits"><![CDATA[MPS]]></Unit>
				</VelocityCode>
				<PhysicalLength Class="CodeUnitValue">
					<Code><![CDATA[1]]></Code>
					<Unit Class="LengthUnits"><![CDATA[METER]]></Unit>
				</PhysicalLength>
				<PhysicalWidth Class="CodeUnitValue">
					<Code><![CDATA[1]]></Code>
					<Unit Class="LengthUnits"><![CDATA[METER]]></Unit>
				</PhysicalWidth>
				<PhysicalHeight Class="CodeUnitValue">
					<Code><![CDATA[1]]></Code>
					<Unit Class="LengthUnits"><![CDATA[METER]]></Unit>
				</PhysicalHeight>
			</AgentProperties>
			<EnvironmentProperties>
					<EnableSteps>true</EnableSteps>
					<StepDurationCode Class="CodeUnitValue">
						<Code><![CDATA[1.0]]></Code>
						<Unit Class="TimeUnits"><![CDATA[SECOND]]></Unit>
					</StepDurationCode>
					<BeforeStepCode><![CDATA[if ( ! v_FlagTargetReached) {
	// decide where to go
	CellDirection directionToMoveTo = f_getRandomEmptyNeighbor(pathfinder);
	// check if you would reach target
	if (pathfinder.getAgentNextToMe(directionToMoveTo) != null &&
		pathfinder.getAgentNextToMe(directionToMoveTo) instanceof Target) {
		v_FlagTargetReached = true;
		// do not move there as it would cause error
	}
	// not reaching target, just move to empty cell
	else {
		pathfinder.moveToNextCell(f_getRandomEmptyNeighbor(pathfinder));
		pathfinder.v_StepsDone ++; // count moves
	}
}]]></BeforeStepCode>
					<AfterStepCode><![CDATA[if (v_FlagTargetReached) {
	getEngine().finish();
}]]></AfterStepCode>
					<SpaceType>DISCRETE</SpaceType>
					<WidthCode><![CDATA[300]]></WidthCode>
					<HeightCode><![CDATA[300]]></HeightCode>
					<ZHeightCode><![CDATA[0]]></ZHeightCode>
					<ColumnsCountCode><![CDATA[15]]></ColumnsCountCode>
					<RowsCountCode><![CDATA[15]]></RowsCountCode>
					<NeigborhoodType>MOORE</NeigborhoodType>
					<LayoutType>USER_DEF</LayoutType>
					<NetworkType>USER_DEF</NetworkType>
					<ConnectionsPerAgentCode><![CDATA[2]]></ConnectionsPerAgentCode>
					<ConnectionsRangeCode><![CDATA[50]]></ConnectionsRangeCode>
					<NeighborLinkFractionCode><![CDATA[0.95]]></NeighborLinkFractionCode>
					<MCode><![CDATA[10]]></MCode>
			</EnvironmentProperties>
			<DatasetsCreationProperties>
				<AutoCreate>true</AutoCreate>
					<Id>1525251569998</Id>
					<OccurrenceAtTime>true</OccurrenceAtTime>
					<OccurrenceDate>1525334400000</OccurrenceDate>
					<OccurrenceTime Class="CodeUnitValue">
						<Code><![CDATA[0]]></Code>
						<Unit Class="TimeUnits"><![CDATA[SECOND]]></Unit>
					</OccurrenceTime>
					<RecurrenceCode Class="CodeUnitValue">
						<Code><![CDATA[1]]></Code>
						<Unit Class="TimeUnits"><![CDATA[SECOND]]></Unit>
					</RecurrenceCode>
			</DatasetsCreationProperties>
			<ScaleRuler>
				<Id>1525251582284</Id>
				<Name><![CDATA[scale]]></Name>
				<X>0</X><Y>-150</Y>
				<PublicFlag>false</PublicFlag>
				<PresentationFlag>false</PresentationFlag>
				<ShowLabel>false</ShowLabel>
				<DrawMode>SHAPE_DRAW_2D3D</DrawMode>
				<Length>100</Length>
				<Rotation>0</Rotation>
				<ScaleType>BASED_ON_LENGTH</ScaleType>
				<ModelLength>10</ModelLength>
				<LengthUnits>METER</LengthUnits>
				<Scale>10</Scale>
				<InheritedFromParentAgentType>true</InheritedFromParentAgentType>
			</ScaleRuler>
			<CurrentLevel>1771509258053</CurrentLevel>
			<ConnectionsId>1525251582283</ConnectionsId>
			<Variables>
				<Variable Class="PlainVariable">
					<Id>1525259653473</Id>
					<Name><![CDATA[v_FlagTargetReached]]></Name>
					<Description><![CDATA[Flage when f_getRandomEmptyNeighbor makes pathfinder move onto target.
@author benjamin_schumann@mckinsey.com
@since 02/05/2018]]></Description>
					<X>60</X><Y>550</Y>
					<Label><X>10</X><Y>0</Y></Label>
					<PublicFlag>false</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>true</ShowLabel>
					<Properties SaveInSnapshot="true" Constant="false" AccessType="public" StaticVariable="false">
						<Type><![CDATA[boolean]]></Type>        
						<InitialValue Class="CodeValue">
							<Code><![CDATA[false]]></Code>
						</InitialValue>
					</Properties>
				</Variable>
				<Variable Class="PlainVariable">
					<Id>1525263190125</Id>
					<Name><![CDATA[v_Gamma]]></Name>
					<Description><![CDATA[The discount factor ‘γ’ determines how much importance you want to give to future rewards.
Typically 0.8
@author benjamin_schumann@mckinsey.com
@since 02/05/2018]]></Description>
					<X>60</X><Y>570</Y>
					<Label><X>10</X><Y>0</Y></Label>
					<PublicFlag>false</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>true</ShowLabel>
					<Properties SaveInSnapshot="true" Constant="false" AccessType="public" StaticVariable="false">
						<Type><![CDATA[double]]></Type>        
						<InitialValue Class="CodeValue">
							<Code><![CDATA[0.8]]></Code>
						</InitialValue>
					</Properties>
				</Variable>
			</Variables>
			<Functions>
				<Function AccessType="default" StaticFunction="false">
					<ReturnModificator>RETURNS_VALUE</ReturnModificator>
					<ReturnType><![CDATA[CellDirection]]></ReturnType>
					<Id>1525253232941</Id>
					<Name><![CDATA[f_getRandomEmptyNeighbor]]></Name>
					<Description><![CDATA[Finds all empty neighbor cells and returns a random one. If that one happens to be the target, v_FlagTargetReached is updated.
@return movement direction to random empty neighbor cell.
@author benjamin_schumann@mckinsey.com
@since 02/05/2018]]></Description>
					<X>360</X><Y>480</Y>
					<Label><X>10</X><Y>0</Y></Label>
					<PublicFlag>false</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>true</ShowLabel>
					<Parameter>
						<Name><![CDATA[pathfinder]]></Name>
						<Type><![CDATA[Pathfinder]]></Type>
					</Parameter>
					<Body><![CDATA[ArrayList<CellDirection> emptyCellPositions = new ArrayList<CellDirection>();

// check all possible directions
for (CellDirection currentDirection : CellDirection.values()) { // for each direction
	// could I move there?
    if (f_IsNeighborEmpty(currentDirection, pathfinder) != null) {
    	emptyCellPositions.add(f_IsNeighborEmpty(currentDirection, pathfinder));
    }
}

// move there
return randomFrom(emptyCellPositions);
]]></Body>
				</Function>
				<Function AccessType="default" StaticFunction="false">
					<ReturnModificator>RETURNS_VALUE</ReturnModificator>
					<ReturnType><![CDATA[CellDirection]]></ReturnType>
					<Id>1525258435956</Id>
					<Name><![CDATA[f_IsNeighborEmpty]]></Name>
					<Description><![CDATA[Check if cell in given direction exists and is empty. 
@direction CellDirection you want to move to
@pathfinder the agent that wants to move.
@return if cell in given direction exists and is empty, returns movement direction to get there. Else null
@author benjamin_schumann@mckinsey.com
@since 02/05/2018]]></Description>
					<X>370</X><Y>500</Y>
					<Label><X>10</X><Y>0</Y></Label>
					<PublicFlag>false</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>true</ShowLabel>
					<Parameter>
						<Name><![CDATA[direction]]></Name>
						<Type><![CDATA[CellDirection]]></Type>
					</Parameter>
					<Parameter>
						<Name><![CDATA[pathfinder]]></Name>
						<Type><![CDATA[Pathfinder]]></Type>
					</Parameter>
					<Body><![CDATA[// if cell in given direction exists
if (pathfinder.isNextCellInsideSpace(direction)) {
	// and that cell is empty
	Agent cellNeighbor = pathfinder.getAgentNextToMe(direction);
	if (cellNeighbor == null) {
		return direction;
	}
	// also go if you would reach the target
	else if (cellNeighbor instanceof Target) {
		return direction;
	}
}
return null;]]></Body>
				</Function>
			</Functions>
			<AgentLinks>
				<AgentLink>
					<Id>1525251582283</Id>
					<Name><![CDATA[connections]]></Name>
					<X>50</X><Y>-50</Y>
					<Label><X>15</X><Y>0</Y></Label>
					<PublicFlag>false</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>true</ShowLabel>
					<HandleReceiveInConnections>false</HandleReceiveInConnections>
					<AgentLinkType>COLLECTION_OF_LINKS</AgentLinkType>
					<AgentLinkBidirectional>true</AgentLinkBidirectional>
					<MessageType><![CDATA[Object]]></MessageType>
					<LineStyle>SOLID</LineStyle>
					<LineWidth>1</LineWidth>
					<LineColor>-16777216</LineColor>
					<LineZOrder>UNDER_AGENTS</LineZOrder>
					<LineArrow>NONE</LineArrow>
					<LineArrowPosition>END</LineArrowPosition>
				</AgentLink>
			</AgentLinks>

			<EmbeddedObjects>
				<EmbeddedObject>
					<Id>1525251683759</Id>
					<Name><![CDATA[pathfinder]]></Name>
					<X>60</X><Y>470</Y>
					<Label><X>15</X><Y>0</Y></Label>
					<PublicFlag>false</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>true</ShowLabel>
					<PresentationId>1525251685273</PresentationId>
					<ActiveObjectClass>
						<PackageName><![CDATA[reinforcementlearningpathfinder]]></PackageName>
						<ClassName><![CDATA[Pathfinder]]></ClassName>
					</ActiveObjectClass>
					<GenericParameterSubstitute>
						<GenericParameterSubstituteReference>
							<PackageName><![CDATA[reinforcementlearningpathfinder]]></PackageName>
							<ClassName><![CDATA[Pathfinder]]></ClassName>
							<ItemName><![CDATA[1525251675474]]></ItemName>
						</GenericParameterSubstituteReference>
					</GenericParameterSubstitute>
					<Parameters>
					</Parameters>
					<ReplicationFlag>false</ReplicationFlag>
					<Replication Class="CodeValue">
						<Code><![CDATA[100]]></Code>
					</Replication>
					<CollectionType>ARRAY_LIST_BASED</CollectionType>
					<InEnvironment>true</InEnvironment>
					<InitialLocationType>XYZ</InitialLocationType>
					<ColumnCode Class="CodeValue">
						<Code><![CDATA[2]]></Code>
					</ColumnCode>
					<RowCode Class="CodeValue">
						<Code><![CDATA[3]]></Code>
					</RowCode>
					<LocationNameCode Class="CodeValue">
						<Code><![CDATA[""]]></Code>
					</LocationNameCode>
					<InitializationType>SPECIFIED_NUMBER</InitializationType>
					<InitializationDatabaseTableQuery>
						<Id>1525251569997</Id>
						<TableReference>
						</TableReference>
					</InitializationDatabaseTableQuery>
					<InitializationDatabaseType>ONE_AGENT_PER_DATABASE_RECORD</InitializationDatabaseType>
					<QuantityColumn>
					</QuantityColumn>
				</EmbeddedObject>
				<EmbeddedObject>
					<Id>1525251957152</Id>
					<Name><![CDATA[cells]]></Name>
					<X>60</X><Y>490</Y>
					<Label><X>15</X><Y>0</Y></Label>
					<PublicFlag>false</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>true</ShowLabel>
					<PresentationId>1525251958814</PresentationId>
					<ActiveObjectClass>
						<PackageName><![CDATA[reinforcementlearningpathfinder]]></PackageName>
						<ClassName><![CDATA[Cell]]></ClassName>
					</ActiveObjectClass>
					<GenericParameterSubstitute>
						<GenericParameterSubstituteReference>
							<PackageName><![CDATA[reinforcementlearningpathfinder]]></PackageName>
							<ClassName><![CDATA[Cell]]></ClassName>
							<ItemName><![CDATA[1525251950686]]></ItemName>
						</GenericParameterSubstituteReference>
					</GenericParameterSubstitute>
					<Parameters>
					</Parameters>
					<ReplicationFlag>true</ReplicationFlag>
					<Replication Class="CodeValue">
						<Code><![CDATA[10]]></Code>
					</Replication>
					<CollectionType>ARRAY_LIST_BASED</CollectionType>
					<InEnvironment>true</InEnvironment>
					<InitialSpeedCode Class="CodeUnitValue">
						<Code><![CDATA[0]]></Code>
						<Unit Class="SpeedUnits"><![CDATA[MPS]]></Unit>
					</InitialSpeedCode>
					<InitialLocationType>XYZ</InitialLocationType>
					<ColumnCode Class="CodeValue">
						<Code><![CDATA[0]]></Code>
					</ColumnCode>
					<RowCode Class="CodeValue">
						<Code><![CDATA[0]]></Code>
					</RowCode>
					<LocationNameCode Class="CodeValue">
						<Code><![CDATA[""]]></Code>
					</LocationNameCode>
					<InitializationType>SPECIFIED_NUMBER</InitializationType>
					<InitializationDatabaseTableQuery>
						<Id>1525251569996</Id>
						<TableReference>
						</TableReference>
					</InitializationDatabaseTableQuery>
					<InitializationDatabaseType>ONE_AGENT_PER_DATABASE_RECORD</InitializationDatabaseType>
					<QuantityColumn>
					</QuantityColumn>
				</EmbeddedObject>
				<EmbeddedObject>
					<Id>1525254768547</Id>
					<Name><![CDATA[target]]></Name>
					<X>60</X><Y>510</Y>
					<Label><X>15</X><Y>0</Y></Label>
					<PublicFlag>false</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>true</ShowLabel>
					<PresentationId>1525254770072</PresentationId>
					<ActiveObjectClass>
						<PackageName><![CDATA[reinforcementlearningpathfinder]]></PackageName>
						<ClassName><![CDATA[Target]]></ClassName>
					</ActiveObjectClass>
					<GenericParameterSubstitute>
						<GenericParameterSubstituteReference>
							<PackageName><![CDATA[reinforcementlearningpathfinder]]></PackageName>
							<ClassName><![CDATA[Target]]></ClassName>
							<ItemName><![CDATA[1525254745306]]></ItemName>
						</GenericParameterSubstituteReference>
					</GenericParameterSubstitute>
					<Parameters>
					</Parameters>
					<ReplicationFlag>false</ReplicationFlag>
					<Replication Class="CodeValue">
						<Code><![CDATA[100]]></Code>
					</Replication>
					<CollectionType>ARRAY_LIST_BASED</CollectionType>
					<InEnvironment>true</InEnvironment>
					<InitialLocationType>XYZ</InitialLocationType>
					<ColumnCode Class="CodeValue">
						<Code><![CDATA[6]]></Code>
					</ColumnCode>
					<RowCode Class="CodeValue">
						<Code><![CDATA[12]]></Code>
					</RowCode>
					<LocationNameCode Class="CodeValue">
						<Code><![CDATA[""]]></Code>
					</LocationNameCode>
					<InitializationType>SPECIFIED_NUMBER</InitializationType>
					<InitializationDatabaseTableQuery>
						<Id>1525251569995</Id>
						<TableReference>
						</TableReference>
					</InitializationDatabaseTableQuery>
					<InitializationDatabaseType>ONE_AGENT_PER_DATABASE_RECORD</InitializationDatabaseType>
					<QuantityColumn>
					</QuantityColumn>
				</EmbeddedObject>
			</EmbeddedObjects>

			<Presentation>
				<Level>
					<Id>1771509258053</Id>
					<Name><![CDATA[level]]></Name>
					<X>0</X><Y>0</Y>
					<Label><X>10</X><Y>0</Y></Label>
					<PublicFlag>true</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>false</ShowLabel>
					<DrawMode>SHAPE_DRAW_2D3D</DrawMode>
					<Z>0</Z>
					<LevelVisibility>ALWAYS_SHOW</LevelVisibility>

			<Presentation>
				<EmbeddedObjectPresentation>
					<Id>1525251685273</Id>
					<Name><![CDATA[pathfinder_presentation]]></Name>
					<X>0</X><Y>0</Y>
					<Label><X>10</X><Y>0</Y></Label>
					<PublicFlag>true</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>false</ShowLabel>
					<DrawMode>SHAPE_DRAW_2D3D</DrawMode>
					<EmbeddedIcon>false</EmbeddedIcon>
					<Z>0</Z>
					<Rotation>0.0</Rotation>
					<ScaleType>AUTOMATICALLY_CALCULATED</ScaleType>
					<GISScaleForRealEmbeddedObjectPresentationSize>1000</GISScaleForRealEmbeddedObjectPresentationSize>
					<GISScaleForFixedEmbeddedObjectPresentationSize>1000000000</GISScaleForFixedEmbeddedObjectPresentationSize>
					<Latitude>0.0</Latitude>
					<Longitude>0.0</Longitude>
				</EmbeddedObjectPresentation>
				<EmbeddedObjectPresentation>
					<Id>1525251958814</Id>
					<Name><![CDATA[cells_presentation]]></Name>
					<X>0</X><Y>0</Y>
					<Label><X>10</X><Y>0</Y></Label>
					<PublicFlag>true</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>false</ShowLabel>
					<DrawMode>SHAPE_DRAW_2D3D</DrawMode>
					<EmbeddedIcon>false</EmbeddedIcon>
					<Z>0</Z>
					<Rotation>0.0</Rotation>
					<ScaleType>AUTOMATICALLY_CALCULATED</ScaleType>
					<GISScaleForRealEmbeddedObjectPresentationSize>1000</GISScaleForRealEmbeddedObjectPresentationSize>
					<GISScaleForFixedEmbeddedObjectPresentationSize>1000000000</GISScaleForFixedEmbeddedObjectPresentationSize>
					<Latitude>0.0</Latitude>
					<Longitude>0.0</Longitude>
				</EmbeddedObjectPresentation>
				<EmbeddedObjectPresentation>
					<Id>1525254770072</Id>
					<Name><![CDATA[target_presentation]]></Name>
					<X>0</X><Y>0</Y>
					<Label><X>10</X><Y>0</Y></Label>
					<PublicFlag>true</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>false</ShowLabel>
					<DrawMode>SHAPE_DRAW_2D3D</DrawMode>
					<EmbeddedIcon>false</EmbeddedIcon>
					<Z>0</Z>
					<Rotation>0.0</Rotation>
					<ScaleType>AUTOMATICALLY_CALCULATED</ScaleType>
					<GISScaleForRealEmbeddedObjectPresentationSize>1000</GISScaleForRealEmbeddedObjectPresentationSize>
					<GISScaleForFixedEmbeddedObjectPresentationSize>1000000000</GISScaleForFixedEmbeddedObjectPresentationSize>
					<Latitude>0.0</Latitude>
					<Longitude>0.0</Longitude>
				</EmbeddedObjectPresentation>
			</Presentation>

				</Level>
			</Presentation>

		</ActiveObjectClass>
		<!--   =========   Active Object Class   ========  -->
		<ActiveObjectClass>
			<Id>1525251675475</Id>
			<Name><![CDATA[Pathfinder]]></Name>
			<Generic>false</Generic>
			<GenericParameter>
				<Id>1525251675474</Id>
				<Name><![CDATA[1525251675474]]></Name>
				<GenericParameterValue Class="CodeValue">
					<Code><![CDATA[T extends Agent]]></Code>
				</GenericParameterValue>
				<GenericParameterLabel><![CDATA[Generic parameter:]]></GenericParameterLabel>
			</GenericParameter>
			<FlowChartsUsage>ENTITY</FlowChartsUsage>
			<SamplesToKeep>100</SamplesToKeep>
			<LimitNumberOfArrayElements>false</LimitNumberOfArrayElements>
			<ElementsLimitValue>100</ElementsLimitValue>
			<MakeDefaultViewArea>true</MakeDefaultViewArea>
			<SceneGridColor/>
			<SceneBackgroundColor>-4144960</SceneBackgroundColor>
			<SceneSkybox>null</SceneSkybox>
			<AgentProperties>
				<EnvironmentDefinesInitialLocation>true</EnvironmentDefinesInitialLocation>
				<RotateAnimationTowardsMovement>true</RotateAnimationTowardsMovement>
				<RotateAnimationVertically>false</RotateAnimationVertically>
				<VelocityCode Class="CodeUnitValue">
					<Code><![CDATA[10]]></Code>
					<Unit Class="SpeedUnits"><![CDATA[MPS]]></Unit>
				</VelocityCode>
				<PhysicalLength Class="CodeUnitValue">
					<Code><![CDATA[1]]></Code>
					<Unit Class="LengthUnits"><![CDATA[METER]]></Unit>
				</PhysicalLength>
				<PhysicalWidth Class="CodeUnitValue">
					<Code><![CDATA[1]]></Code>
					<Unit Class="LengthUnits"><![CDATA[METER]]></Unit>
				</PhysicalWidth>
				<PhysicalHeight Class="CodeUnitValue">
					<Code><![CDATA[1]]></Code>
					<Unit Class="LengthUnits"><![CDATA[METER]]></Unit>
				</PhysicalHeight>
			</AgentProperties>
			<EnvironmentProperties>
					<EnableSteps>false</EnableSteps>
					<StepDurationCode Class="CodeUnitValue">
						<Code><![CDATA[1.0]]></Code>
						<Unit Class="TimeUnits"><![CDATA[SECOND]]></Unit>
					</StepDurationCode>
					<SpaceType>CONTINUOUS</SpaceType>
					<WidthCode><![CDATA[500]]></WidthCode>
					<HeightCode><![CDATA[500]]></HeightCode>
					<ZHeightCode><![CDATA[0]]></ZHeightCode>
					<ColumnsCountCode><![CDATA[100]]></ColumnsCountCode>
					<RowsCountCode><![CDATA[100]]></RowsCountCode>
					<NeigborhoodType>MOORE</NeigborhoodType>
					<LayoutType>USER_DEF</LayoutType>
					<NetworkType>USER_DEF</NetworkType>
					<ConnectionsPerAgentCode><![CDATA[2]]></ConnectionsPerAgentCode>
					<ConnectionsRangeCode><![CDATA[50]]></ConnectionsRangeCode>
					<NeighborLinkFractionCode><![CDATA[0.95]]></NeighborLinkFractionCode>
					<MCode><![CDATA[10]]></MCode>
			</EnvironmentProperties>
			<DatasetsCreationProperties>
				<AutoCreate>true</AutoCreate>
					<Id>1525251569994</Id>
					<OccurrenceAtTime>true</OccurrenceAtTime>
					<OccurrenceDate>1525334400000</OccurrenceDate>
					<OccurrenceTime Class="CodeUnitValue">
						<Code><![CDATA[0]]></Code>
						<Unit Class="TimeUnits"><![CDATA[SECOND]]></Unit>
					</OccurrenceTime>
					<RecurrenceCode Class="CodeUnitValue">
						<Code><![CDATA[1]]></Code>
						<Unit Class="TimeUnits"><![CDATA[SECOND]]></Unit>
					</RecurrenceCode>
			</DatasetsCreationProperties>
			<ScaleRuler>
				<Id>1525251675472</Id>
				<Name><![CDATA[scale]]></Name>
				<X>0</X><Y>-150</Y>
				<PublicFlag>false</PublicFlag>
				<PresentationFlag>false</PresentationFlag>
				<ShowLabel>false</ShowLabel>
				<DrawMode>SHAPE_DRAW_2D3D</DrawMode>
				<Length>100</Length>
				<Rotation>0</Rotation>
				<ScaleType>BASED_ON_LENGTH</ScaleType>
				<ModelLength>10</ModelLength>
				<LengthUnits>METER</LengthUnits>
				<Scale>10</Scale>
				<InheritedFromParentAgentType>true</InheritedFromParentAgentType>
			</ScaleRuler>
			<CurrentLevel>1771509258055</CurrentLevel>
			<ConnectionsId>1525251675471</ConnectionsId>
			<Variables>
				<Variable Class="PlainVariable">
					<Id>1525262473701</Id>
					<Name><![CDATA[v_StepsDone]]></Name>
					<Description><![CDATA[Every move will add 1 to this counter.
]]></Description>
					<X>60</X><Y>60</Y>
					<Label><X>10</X><Y>0</Y></Label>
					<PublicFlag>false</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>true</ShowLabel>
					<Properties SaveInSnapshot="true" Constant="false" AccessType="public" StaticVariable="false">
						<Type><![CDATA[int]]></Type>        
						<InitialValue Class="CodeValue">
							<Code><![CDATA[0]]></Code>
						</InitialValue>
					</Properties>
				</Variable>
			</Variables>
			<AgentLinks>
				<AgentLink>
					<Id>1525251675471</Id>
					<Name><![CDATA[connections]]></Name>
					<X>50</X><Y>-50</Y>
					<Label><X>15</X><Y>0</Y></Label>
					<PublicFlag>false</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>true</ShowLabel>
					<HandleReceiveInConnections>false</HandleReceiveInConnections>
					<AgentLinkType>COLLECTION_OF_LINKS</AgentLinkType>
					<AgentLinkBidirectional>true</AgentLinkBidirectional>
					<MessageType><![CDATA[Object]]></MessageType>
					<LineStyle>SOLID</LineStyle>
					<LineWidth>1</LineWidth>
					<LineColor>-16777216</LineColor>
					<LineZOrder>UNDER_AGENTS</LineZOrder>
					<LineArrow>NONE</LineArrow>
					<LineArrowPosition>END</LineArrowPosition>
				</AgentLink>
			</AgentLinks>

			<ContainerLinks>
				<ContainerLink>
					<Id>1525251685281</Id>
					<Name><![CDATA[main]]></Name>
					<X>50</X><Y>-100</Y>
					<Label><X>10</X><Y>0</Y></Label>
					<PublicFlag>false</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>true</ShowLabel>
					<ActiveObjectClass>
						<PackageName><![CDATA[reinforcementlearningpathfinder]]></PackageName>
						<ClassName><![CDATA[Main]]></ClassName>
					</ActiveObjectClass>
				</ContainerLink>
			</ContainerLinks>

			<Presentation>
				<Level>
					<Id>1771509258055</Id>
					<Name><![CDATA[level]]></Name>
					<X>0</X><Y>0</Y>
					<Label><X>10</X><Y>0</Y></Label>
					<PublicFlag>true</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>false</ShowLabel>
					<DrawMode>SHAPE_DRAW_2D3D</DrawMode>
					<Z>0</Z>
					<LevelVisibility>ALWAYS_SHOW</LevelVisibility>

			<Presentation>
				<Group>
					<Id>1525251675477</Id>
					<Name><![CDATA[lorry]]></Name>
					<X>0</X><Y>0</Y>
					<Label><X>2.381</X><Y>0</Y></Label>
					<PublicFlag>true</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>false</ShowLabel>
					<DrawMode>SHAPE_DRAW_2D</DrawMode>
					<EmbeddedIcon>false</EmbeddedIcon>
					<Z>0</Z>
					<Rotation>0.0</Rotation>

			<Presentation>
				<Rectangle>
					<Id>1525251675479</Id>
					<Name><![CDATA[_ps86]]></Name>
					<X>3.095</X><Y>-1.6</Y>
					<Label><X>10</X><Y>10</Y></Label>
					<PublicFlag>true</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>false</ShowLabel>
					<DrawMode>SHAPE_DRAW_2D3D</DrawMode>
					<EmbeddedIcon>false</EmbeddedIcon>
					<Z>0</Z>
					<ZHeight>10</ZHeight>
					<LineWidth>1</LineWidth>
					<LineColor/>
					<LineMaterial>null</LineMaterial>
					<LineStyle>SOLID</LineStyle>
					<Width>0.476</Width>
					<Height>3.4</Height>
					<Rotation>0.0</Rotation>
					<FillColor>-12566464</FillColor>
					<FillMaterial>null</FillMaterial>
				</Rectangle>
				<Curve ControlPoints="true">
					<Id>1525251675481</Id>
					<Name><![CDATA[_ps87]]></Name>
					<X>6.19</X><Y>-1.8</Y>
					<Label><X>-20</X><Y>40</Y></Label>
					<PublicFlag>true</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>false</ShowLabel>
					<DrawMode>SHAPE_DRAW_2D</DrawMode>
					<EmbeddedIcon>false</EmbeddedIcon>
					<Z>0</Z>
					<ZHeight>10</ZHeight>
					<LineWidth>1</LineWidth>
					<LineColor/>
					<LineMaterial>null</LineMaterial>
					<LineStyle>SOLID</LineStyle>
					<BeginArrowSize>1</BeginArrowSize>
					<BeginArrowStyle>0</BeginArrowStyle>
					<EndArrowSize>1</EndArrowSize>
					<EndArrowStyle>0</EndArrowStyle>
					<FillColor>-13284514</FillColor>
					<FillMaterial>null</FillMaterial>
					<Points>
					   <Point><X>0</X><Y>0</Y><Z>0</Z></Point>
					   <Point><X>0.238</X><Y>0.4</Y><Z>0</Z></Point>
					   <Point><X>0</X><Y>0.6</Y><Z>0</Z></Point>
					   <Point><X>-0.238</X><Y>0.2</Y><Z>0</Z></Point>
					   <Point><X>-0.476</X><Y>-0.2</Y><Z>0</Z></Point>
					   <Point><X>-0.238</X><Y>-0.4</Y><Z>0</Z></Point>
					</Points>
					<Closed>true</Closed>
				</Curve>
				<Curve ControlPoints="true">
					<Id>1525251675483</Id>
					<Name><![CDATA[_ps88]]></Name>
					<X>6.19</X><Y>2</Y>
					<Label><X>-20</X><Y>40</Y></Label>
					<PublicFlag>true</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>false</ShowLabel>
					<DrawMode>SHAPE_DRAW_2D</DrawMode>
					<EmbeddedIcon>false</EmbeddedIcon>
					<Z>0</Z>
					<ZHeight>10</ZHeight>
					<LineWidth>1</LineWidth>
					<LineColor/>
					<LineMaterial>null</LineMaterial>
					<LineStyle>SOLID</LineStyle>
					<BeginArrowSize>1</BeginArrowSize>
					<BeginArrowStyle>0</BeginArrowStyle>
					<EndArrowSize>1</EndArrowSize>
					<EndArrowStyle>0</EndArrowStyle>
					<FillColor>-13284514</FillColor>
					<FillMaterial>null</FillMaterial>
					<Points>
					   <Point><X>0</X><Y>0</Y><Z>0</Z></Point>
					   <Point><X>-0.238</X><Y>0.4</Y><Z>0</Z></Point>
					   <Point><X>-0.476</X><Y>0.2</Y><Z>0</Z></Point>
					   <Point><X>-0.238</X><Y>-0.2</Y><Z>0</Z></Point>
					   <Point><X>0</X><Y>-0.6</Y><Z>0</Z></Point>
					   <Point><X>0.238</X><Y>-0.4</Y><Z>0</Z></Point>
					</Points>
					<Closed>true</Closed>
				</Curve>
				<Curve ControlPoints="true">
					<Id>1525251675485</Id>
					<Name><![CDATA[_ps89]]></Name>
					<X>3.571</X><Y>-1.6</Y>
					<Label><X>-20</X><Y>40</Y></Label>
					<PublicFlag>true</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>false</ShowLabel>
					<DrawMode>SHAPE_DRAW_2D</DrawMode>
					<EmbeddedIcon>false</EmbeddedIcon>
					<Z>0</Z>
					<ZHeight>10</ZHeight>
					<LineWidth>1</LineWidth>
					<LineColor>-13284514</LineColor>
					<LineMaterial>null</LineMaterial>
					<LineStyle>SOLID</LineStyle>
					<BeginArrowSize>1</BeginArrowSize>
					<BeginArrowStyle>0</BeginArrowStyle>
					<EndArrowSize>1</EndArrowSize>
					<EndArrowStyle>0</EndArrowStyle>
					<FillColor>-12156236</FillColor>
					<FillMaterial>null</FillMaterial>
					<Points>
					   <Point><X>0</X><Y>0</Y><Z>0</Z></Point>
					   <Point><X>0</X><Y>0</Y><Z>0</Z></Point>
					   <Point><X>0</X><Y>3.4</Y><Z>0</Z></Point>
					   <Point><X>0</X><Y>3.4</Y><Z>0</Z></Point>
					   <Point><X>0</X><Y>3.4</Y><Z>0</Z></Point>
					   <Point><X>2.381</X><Y>3.4</Y><Z>0</Z></Point>
					   <Point><X>2.381</X><Y>3.4</Y><Z>0</Z></Point>
					   <Point><X>2.381</X><Y>3.4</Y><Z>0</Z></Point>
					   <Point><X>2.857</X><Y>3.4</Y><Z>0</Z></Point>
					   <Point><X>3.095</X><Y>3.2</Y><Z>0</Z></Point>
					   <Point><X>3.571</X><Y>2.8</Y><Z>0</Z></Point>
					   <Point><X>3.571</X><Y>0.6</Y><Z>0</Z></Point>
					   <Point><X>3.095</X><Y>0.2</Y><Z>0</Z></Point>
					   <Point><X>2.857</X><Y>0</Y><Z>0</Z></Point>
					   <Point><X>2.381</X><Y>0</Y><Z>0</Z></Point>
					   <Point><X>2.381</X><Y>0</Y><Z>0</Z></Point>
					   <Point><X>2.381</X><Y>0</Y><Z>0</Z></Point>
					   <Point><X>0</X><Y>0</Y><Z>0</Z></Point>
					</Points>
					<Closed>true</Closed>
				</Curve>
				<RoundedRectangle>
					<Id>1525251675487</Id>
					<Name><![CDATA[_ps90]]></Name>
					<X>3.81</X><Y>-1.2</Y>
					<Label><X>10</X><Y>10</Y></Label>
					<PublicFlag>true</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>false</ShowLabel>
					<DrawMode>SHAPE_DRAW_2D</DrawMode>
					<EmbeddedIcon>false</EmbeddedIcon>
					<Z>0</Z>
					<ZHeight>10</ZHeight>
					<LineWidth>1</LineWidth>
					<LineColor/>
					<LineMaterial>null</LineMaterial>
					<LineStyle>SOLID</LineStyle>
					<Width>2.143</Width>
					<Height>2.6</Height>
					<Rotation>0.0</Rotation>
					<FillColor>-9066808</FillColor>
					<FillMaterial>null</FillMaterial>
					<ArcRadius>1</ArcRadius>
				</RoundedRectangle>
				<Rectangle>
					<Id>1525251675489</Id>
					<Name><![CDATA[_ps91]]></Name>
					<X>-6.905</X><Y>-1.6</Y>
					<Label><X>10</X><Y>10</Y></Label>
					<PublicFlag>true</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>false</ShowLabel>
					<DrawMode>SHAPE_DRAW_2D3D</DrawMode>
					<EmbeddedIcon>false</EmbeddedIcon>
					<Z>0</Z>
					<ZHeight>10</ZHeight>
					<LineWidth>1</LineWidth>
					<LineColor/>
					<LineMaterial>null</LineMaterial>
					<LineStyle>SOLID</LineStyle>
					<Width>0.476</Width>
					<Height>3.4</Height>
					<Rotation>0.0</Rotation>
					<FillColor>-12566464</FillColor>
					<FillMaterial>null</FillMaterial>
				</Rectangle>
				<Rectangle>
					<Id>1525251675491</Id>
					<Name><![CDATA[_ps92]]></Name>
					<X>-6.429</X><Y>-1.8</Y>
					<Label><X>10</X><Y>10</Y></Label>
					<PublicFlag>true</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>false</ShowLabel>
					<DrawMode>SHAPE_DRAW_2D3D</DrawMode>
					<EmbeddedIcon>false</EmbeddedIcon>
					<Z>0</Z>
					<ZHeight>10</ZHeight>
					<LineWidth>1</LineWidth>
					<LineColor>-16777216</LineColor>
					<LineMaterial>null</LineMaterial>
					<LineStyle>SOLID</LineStyle>
					<Width>9.762</Width>
					<Height>3.8</Height>
					<Rotation>0.0</Rotation>
					<FillColor>-4144960</FillColor>
					<FillMaterial>null</FillMaterial>
				</Rectangle>
				<RoundedRectangle>
					<Id>1525251675493</Id>
					<Name><![CDATA[_ps93]]></Name>
					<X>-6.19</X><Y>-1.4</Y>
					<Label><X>10</X><Y>10</Y></Label>
					<PublicFlag>true</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>false</ShowLabel>
					<DrawMode>SHAPE_DRAW_2D</DrawMode>
					<EmbeddedIcon>false</EmbeddedIcon>
					<Z>0</Z>
					<ZHeight>10</ZHeight>
					<LineWidth>1</LineWidth>
					<LineColor/>
					<LineMaterial>null</LineMaterial>
					<LineStyle>SOLID</LineStyle>
					<Width>9.286</Width>
					<Height>3</Height>
					<Rotation>0.0</Rotation>
					<FillColor>-1</FillColor>
					<FillMaterial>null</FillMaterial>
					<ArcRadius>1</ArcRadius>
				</RoundedRectangle>
				<Curve ControlPoints="true">
					<Id>1525251675495</Id>
					<Name><![CDATA[_ps94]]></Name>
					<X>5.952</X><Y>1.6</Y>
					<Label><X>-20</X><Y>40</Y></Label>
					<PublicFlag>true</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>false</ShowLabel>
					<DrawMode>SHAPE_DRAW_2D</DrawMode>
					<EmbeddedIcon>false</EmbeddedIcon>
					<Z>0</Z>
					<ZHeight>10</ZHeight>
					<LineWidth>1</LineWidth>
					<LineColor/>
					<LineMaterial>null</LineMaterial>
					<LineStyle>SOLID</LineStyle>
					<BeginArrowSize>1</BeginArrowSize>
					<BeginArrowStyle>0</BeginArrowStyle>
					<EndArrowSize>1</EndArrowSize>
					<EndArrowStyle>0</EndArrowStyle>
					<FillColor>-13421226</FillColor>
					<FillMaterial>null</FillMaterial>
					<Points>
					   <Point><X>0</X><Y>0</Y><Z>0</Z></Point>
					   <Point><X>0</X><Y>0</Y><Z>0</Z></Point>
					   <Point><X>0.238</X><Y>0</Y><Z>0</Z></Point>
					   <Point><X>0.476</X><Y>-0.4</Y><Z>0</Z></Point>
					   <Point><X>0.476</X><Y>-0.4</Y><Z>0</Z></Point>
					   <Point><X>0.714</X><Y>-0.6</Y><Z>0</Z></Point>
					   <Point><X>0.714</X><Y>-1.4</Y><Z>0</Z></Point>
					   <Point><X>0.714</X><Y>-2.2</Y><Z>0</Z></Point>
					   <Point><X>0.476</X><Y>-2.6</Y><Z>0</Z></Point>
					   <Point><X>0.476</X><Y>-2.6</Y><Z>0</Z></Point>
					   <Point><X>0.238</X><Y>-3</Y><Z>0</Z></Point>
					   <Point><X>0</X><Y>-3</Y><Z>0</Z></Point>
					   <Point><X>0</X><Y>-3</Y><Z>0</Z></Point>
					   <Point><X>0</X><Y>-3</Y><Z>0</Z></Point>
					   <Point><X>0.238</X><Y>-2.2</Y><Z>0</Z></Point>
					   <Point><X>0.238</X><Y>-1.4</Y><Z>0</Z></Point>
					   <Point><X>0.238</X><Y>-0.6</Y><Z>0</Z></Point>
					   <Point><X>0</X><Y>0</Y><Z>0</Z></Point>
					</Points>
					<Closed>true</Closed>
				</Curve>
			</Presentation>

				</Group>
			</Presentation>

				</Level>
			</Presentation>

		</ActiveObjectClass>
		<!--   =========   Active Object Class   ========  -->
		<ActiveObjectClass>
			<Id>1525251950691</Id>
			<Name><![CDATA[Cell]]></Name>
			<Generic>false</Generic>
			<GenericParameter>
				<Id>1525251950686</Id>
				<Name><![CDATA[1525251950686]]></Name>
				<GenericParameterValue Class="CodeValue">
					<Code><![CDATA[T extends Agent]]></Code>
				</GenericParameterValue>
				<GenericParameterLabel><![CDATA[Generic parameter:]]></GenericParameterLabel>
			</GenericParameter>
			<FlowChartsUsage>ENTITY</FlowChartsUsage>
			<SamplesToKeep>100</SamplesToKeep>
			<LimitNumberOfArrayElements>false</LimitNumberOfArrayElements>
			<ElementsLimitValue>100</ElementsLimitValue>
			<MakeDefaultViewArea>true</MakeDefaultViewArea>
			<SceneGridColor/>
			<SceneBackgroundColor>-4144960</SceneBackgroundColor>
			<SceneSkybox>null</SceneSkybox>
			<AgentProperties>
				<EnvironmentDefinesInitialLocation>true</EnvironmentDefinesInitialLocation>
				<RotateAnimationTowardsMovement>true</RotateAnimationTowardsMovement>
				<RotateAnimationVertically>false</RotateAnimationVertically>
				<VelocityCode Class="CodeUnitValue">
					<Code><![CDATA[10]]></Code>
					<Unit Class="SpeedUnits"><![CDATA[MPS]]></Unit>
				</VelocityCode>
				<PhysicalLength Class="CodeUnitValue">
					<Code><![CDATA[1]]></Code>
					<Unit Class="LengthUnits"><![CDATA[METER]]></Unit>
				</PhysicalLength>
				<PhysicalWidth Class="CodeUnitValue">
					<Code><![CDATA[1]]></Code>
					<Unit Class="LengthUnits"><![CDATA[METER]]></Unit>
				</PhysicalWidth>
				<PhysicalHeight Class="CodeUnitValue">
					<Code><![CDATA[1]]></Code>
					<Unit Class="LengthUnits"><![CDATA[METER]]></Unit>
				</PhysicalHeight>
			</AgentProperties>
			<EnvironmentProperties>
					<EnableSteps>false</EnableSteps>
					<StepDurationCode Class="CodeUnitValue">
						<Code><![CDATA[1.0]]></Code>
						<Unit Class="TimeUnits"><![CDATA[SECOND]]></Unit>
					</StepDurationCode>
					<SpaceType>CONTINUOUS</SpaceType>
					<WidthCode><![CDATA[500]]></WidthCode>
					<HeightCode><![CDATA[500]]></HeightCode>
					<ZHeightCode><![CDATA[0]]></ZHeightCode>
					<ColumnsCountCode><![CDATA[100]]></ColumnsCountCode>
					<RowsCountCode><![CDATA[100]]></RowsCountCode>
					<NeigborhoodType>MOORE</NeigborhoodType>
					<LayoutType>USER_DEF</LayoutType>
					<NetworkType>USER_DEF</NetworkType>
					<ConnectionsPerAgentCode><![CDATA[2]]></ConnectionsPerAgentCode>
					<ConnectionsRangeCode><![CDATA[50]]></ConnectionsRangeCode>
					<NeighborLinkFractionCode><![CDATA[0.95]]></NeighborLinkFractionCode>
					<MCode><![CDATA[10]]></MCode>
			</EnvironmentProperties>
			<DatasetsCreationProperties>
				<AutoCreate>true</AutoCreate>
					<Id>1525251569993</Id>
					<OccurrenceAtTime>true</OccurrenceAtTime>
					<OccurrenceDate>1525334400000</OccurrenceDate>
					<OccurrenceTime Class="CodeUnitValue">
						<Code><![CDATA[0]]></Code>
						<Unit Class="TimeUnits"><![CDATA[MINUTE]]></Unit>
					</OccurrenceTime>
					<RecurrenceCode Class="CodeUnitValue">
						<Code><![CDATA[1]]></Code>
						<Unit Class="TimeUnits"><![CDATA[MINUTE]]></Unit>
					</RecurrenceCode>
			</DatasetsCreationProperties>
			<ScaleRuler>
				<Id>1525251950687</Id>
				<Name><![CDATA[scale]]></Name>
				<X>0</X><Y>-150</Y>
				<PublicFlag>false</PublicFlag>
				<PresentationFlag>false</PresentationFlag>
				<ShowLabel>false</ShowLabel>
				<DrawMode>SHAPE_DRAW_2D3D</DrawMode>
				<Length>100</Length>
				<Rotation>0</Rotation>
				<ScaleType>BASED_ON_LENGTH</ScaleType>
				<ModelLength>10</ModelLength>
				<LengthUnits>METER</LengthUnits>
				<Scale>10</Scale>
				<InheritedFromParentAgentType>true</InheritedFromParentAgentType>
			</ScaleRuler>
			<CurrentLevel>1771509258051</CurrentLevel>
			<ConnectionsId>1525251950695</ConnectionsId>
			<AgentLinks>
				<AgentLink>
					<Id>1525251950695</Id>
					<Name><![CDATA[connections]]></Name>
					<X>50</X><Y>-50</Y>
					<Label><X>15</X><Y>0</Y></Label>
					<PublicFlag>false</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>true</ShowLabel>
					<HandleReceiveInConnections>false</HandleReceiveInConnections>
					<AgentLinkType>COLLECTION_OF_LINKS</AgentLinkType>
					<AgentLinkBidirectional>true</AgentLinkBidirectional>
					<MessageType><![CDATA[Object]]></MessageType>
					<LineStyle>SOLID</LineStyle>
					<LineWidth>1</LineWidth>
					<LineColor>-16777216</LineColor>
					<LineZOrder>UNDER_AGENTS</LineZOrder>
					<LineArrow>NONE</LineArrow>
					<LineArrowPosition>END</LineArrowPosition>
				</AgentLink>
			</AgentLinks>

			<ContainerLinks>
				<ContainerLink>
					<Id>1525252962766</Id>
					<Name><![CDATA[main]]></Name>
					<X>50</X><Y>-100</Y>
					<Label><X>10</X><Y>0</Y></Label>
					<PublicFlag>false</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>true</ShowLabel>
					<ActiveObjectClass>
						<PackageName><![CDATA[reinforcementlearningpathfinder]]></PackageName>
						<ClassName><![CDATA[Main]]></ClassName>
					</ActiveObjectClass>
				</ContainerLink>
			</ContainerLinks>

			<Presentation>
				<Level>
					<Id>1771509258051</Id>
					<Name><![CDATA[level]]></Name>
					<X>0</X><Y>0</Y>
					<Label><X>10</X><Y>0</Y></Label>
					<PublicFlag>true</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>false</ShowLabel>
					<DrawMode>SHAPE_DRAW_2D3D</DrawMode>
					<Z>0</Z>
					<LevelVisibility>ALWAYS_SHOW</LevelVisibility>

			<Presentation>
				<Rectangle>
					<Id>1525251950693</Id>
					<Name><![CDATA[rectangle]]></Name>
					<X>-10</X><Y>-10</Y>
					<Label><X>10</X><Y>10</Y></Label>
					<PublicFlag>true</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>false</ShowLabel>
					<DrawMode>SHAPE_DRAW_2D3D</DrawMode>
					<EmbeddedIcon>false</EmbeddedIcon>
					<Z>0</Z>
					<ZHeight>10</ZHeight>
					<LineWidth>1</LineWidth>
					<LineColor>-16777216</LineColor>
					<LineMaterial>null</LineMaterial>
					<LineStyle>SOLID</LineStyle>
					<Width>20</Width>
					<Height>20</Height>
					<Rotation>0.0</Rotation>
					<FillColor>-8355712</FillColor>
					<FillMaterial>null</FillMaterial>
				</Rectangle>
			</Presentation>

				</Level>
			</Presentation>

		</ActiveObjectClass>
		<!--   =========   Active Object Class   ========  -->
		<ActiveObjectClass>
			<Id>1525254745307</Id>
			<Name><![CDATA[Target]]></Name>
			<Generic>false</Generic>
			<GenericParameter>
				<Id>1525254745306</Id>
				<Name><![CDATA[1525254745306]]></Name>
				<GenericParameterValue Class="CodeValue">
					<Code><![CDATA[T extends Agent]]></Code>
				</GenericParameterValue>
				<GenericParameterLabel><![CDATA[Generic parameter:]]></GenericParameterLabel>
			</GenericParameter>
			<FlowChartsUsage>ENTITY</FlowChartsUsage>
			<SamplesToKeep>100</SamplesToKeep>
			<LimitNumberOfArrayElements>false</LimitNumberOfArrayElements>
			<ElementsLimitValue>100</ElementsLimitValue>
			<MakeDefaultViewArea>true</MakeDefaultViewArea>
			<SceneGridColor/>
			<SceneBackgroundColor>-4144960</SceneBackgroundColor>
			<SceneSkybox>null</SceneSkybox>
			<AgentProperties>
				<EnvironmentDefinesInitialLocation>true</EnvironmentDefinesInitialLocation>
				<RotateAnimationTowardsMovement>true</RotateAnimationTowardsMovement>
				<RotateAnimationVertically>false</RotateAnimationVertically>
				<VelocityCode Class="CodeUnitValue">
					<Code><![CDATA[10]]></Code>
					<Unit Class="SpeedUnits"><![CDATA[MPS]]></Unit>
				</VelocityCode>
				<PhysicalLength Class="CodeUnitValue">
					<Code><![CDATA[1]]></Code>
					<Unit Class="LengthUnits"><![CDATA[METER]]></Unit>
				</PhysicalLength>
				<PhysicalWidth Class="CodeUnitValue">
					<Code><![CDATA[1]]></Code>
					<Unit Class="LengthUnits"><![CDATA[METER]]></Unit>
				</PhysicalWidth>
				<PhysicalHeight Class="CodeUnitValue">
					<Code><![CDATA[1]]></Code>
					<Unit Class="LengthUnits"><![CDATA[METER]]></Unit>
				</PhysicalHeight>
			</AgentProperties>
			<EnvironmentProperties>
					<EnableSteps>false</EnableSteps>
					<StepDurationCode Class="CodeUnitValue">
						<Code><![CDATA[1.0]]></Code>
						<Unit Class="TimeUnits"><![CDATA[SECOND]]></Unit>
					</StepDurationCode>
					<SpaceType>CONTINUOUS</SpaceType>
					<WidthCode><![CDATA[500]]></WidthCode>
					<HeightCode><![CDATA[500]]></HeightCode>
					<ZHeightCode><![CDATA[0]]></ZHeightCode>
					<ColumnsCountCode><![CDATA[100]]></ColumnsCountCode>
					<RowsCountCode><![CDATA[100]]></RowsCountCode>
					<NeigborhoodType>MOORE</NeigborhoodType>
					<LayoutType>USER_DEF</LayoutType>
					<NetworkType>USER_DEF</NetworkType>
					<ConnectionsPerAgentCode><![CDATA[2]]></ConnectionsPerAgentCode>
					<ConnectionsRangeCode><![CDATA[50]]></ConnectionsRangeCode>
					<NeighborLinkFractionCode><![CDATA[0.95]]></NeighborLinkFractionCode>
					<MCode><![CDATA[10]]></MCode>
			</EnvironmentProperties>
			<DatasetsCreationProperties>
				<AutoCreate>true</AutoCreate>
					<Id>1525251569992</Id>
					<OccurrenceAtTime>true</OccurrenceAtTime>
					<OccurrenceDate>1525334400000</OccurrenceDate>
					<OccurrenceTime Class="CodeUnitValue">
						<Code><![CDATA[0]]></Code>
						<Unit Class="TimeUnits"><![CDATA[SECOND]]></Unit>
					</OccurrenceTime>
					<RecurrenceCode Class="CodeUnitValue">
						<Code><![CDATA[1]]></Code>
						<Unit Class="TimeUnits"><![CDATA[SECOND]]></Unit>
					</RecurrenceCode>
			</DatasetsCreationProperties>
			<ScaleRuler>
				<Id>1525254745304</Id>
				<Name><![CDATA[scale]]></Name>
				<X>0</X><Y>-150</Y>
				<PublicFlag>false</PublicFlag>
				<PresentationFlag>false</PresentationFlag>
				<ShowLabel>false</ShowLabel>
				<DrawMode>SHAPE_DRAW_2D3D</DrawMode>
				<Length>100</Length>
				<Rotation>0</Rotation>
				<ScaleType>BASED_ON_LENGTH</ScaleType>
				<ModelLength>10</ModelLength>
				<LengthUnits>METER</LengthUnits>
				<Scale>10</Scale>
				<InheritedFromParentAgentType>true</InheritedFromParentAgentType>
			</ScaleRuler>
			<CurrentLevel>1771509258057</CurrentLevel>
			<ConnectionsId>1525254745303</ConnectionsId>
			<AgentLinks>
				<AgentLink>
					<Id>1525254745303</Id>
					<Name><![CDATA[connections]]></Name>
					<X>50</X><Y>-50</Y>
					<Label><X>15</X><Y>0</Y></Label>
					<PublicFlag>false</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>true</ShowLabel>
					<HandleReceiveInConnections>false</HandleReceiveInConnections>
					<AgentLinkType>COLLECTION_OF_LINKS</AgentLinkType>
					<AgentLinkBidirectional>true</AgentLinkBidirectional>
					<MessageType><![CDATA[Object]]></MessageType>
					<LineStyle>SOLID</LineStyle>
					<LineWidth>1</LineWidth>
					<LineColor>-16777216</LineColor>
					<LineZOrder>UNDER_AGENTS</LineZOrder>
					<LineArrow>NONE</LineArrow>
					<LineArrowPosition>END</LineArrowPosition>
				</AgentLink>
			</AgentLinks>

			<ContainerLinks>
				<ContainerLink>
					<Id>1525254770078</Id>
					<Name><![CDATA[main]]></Name>
					<X>50</X><Y>-100</Y>
					<Label><X>10</X><Y>0</Y></Label>
					<PublicFlag>false</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>true</ShowLabel>
					<ActiveObjectClass>
						<PackageName><![CDATA[reinforcementlearningpathfinder]]></PackageName>
						<ClassName><![CDATA[Main]]></ClassName>
					</ActiveObjectClass>
				</ContainerLink>
			</ContainerLinks>

			<Presentation>
				<Level>
					<Id>1771509258057</Id>
					<Name><![CDATA[level]]></Name>
					<X>0</X><Y>0</Y>
					<Label><X>10</X><Y>0</Y></Label>
					<PublicFlag>true</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>false</ShowLabel>
					<DrawMode>SHAPE_DRAW_2D3D</DrawMode>
					<Z>0</Z>
					<LevelVisibility>ALWAYS_SHOW</LevelVisibility>

			<Presentation>
				<Rectangle>
					<Id>1525254754478</Id>
					<Name><![CDATA[rectangle]]></Name>
					<X>-10</X><Y>-10</Y>
					<Label><X>10</X><Y>10</Y></Label>
					<PublicFlag>true</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>false</ShowLabel>
					<DrawMode>SHAPE_DRAW_2D3D</DrawMode>
					<EmbeddedIcon>false</EmbeddedIcon>
					<Z>0</Z>
					<ZHeight>10</ZHeight>
					<LineWidth>1</LineWidth>
					<LineColor>-16777216</LineColor>
					<LineMaterial>null</LineMaterial>
					<LineStyle>SOLID</LineStyle>
					<Width>20</Width>
					<Height>20</Height>
					<Rotation>0.0</Rotation>
					<FillColor>-10496</FillColor>
					<FillMaterial>null</FillMaterial>
				</Rectangle>
			</Presentation>

				</Level>
			</Presentation>

		</ActiveObjectClass>
	</ActiveObjectClasses>
	<DifferentialEquationsMethod>EULER</DifferentialEquationsMethod>
	<MixedEquationsMethod>RK45_NEWTON</MixedEquationsMethod>
	<AlgebraicEquationsMethod>MODIFIED_NEWTON</AlgebraicEquationsMethod>
	<AbsoluteAccuracy>1.0E-5</AbsoluteAccuracy>
	<FixedTimeStep>0.001</FixedTimeStep>
	<RelativeAccuracy>1.0E-5</RelativeAccuracy>
	<TimeAccuracy>1.0E-5</TimeAccuracy>
	<InspectionWindowColorTheme>DEFAULT</InspectionWindowColorTheme>
	<Frame>
		<Id>1525251569999</Id>
		<Width>1000</Width>
		<Height>600</Height>
	</Frame>
	<Database>
		<Id>1525251569991</Id>
		<Logging>false</Logging>
		<AutoExport>false</AutoExport>
		<ShutdownCompact>false</ShutdownCompact>
		<ImportSettings>
		</ImportSettings>
		<ExportSettings>
		</ExportSettings>
	</Database>

	<RunConfiguration ActiveObjectClassId="1525251582287">
		<Id>1525251582292</Id>
		<Name><![CDATA[RunConfiguration]]></Name>
		<MaximumMemory>512</MaximumMemory>
		<ModelTimeProperties>
			<StopOption><![CDATA[Stop at specified time]]></StopOption>
			<InitialDate><![CDATA[1525219200000]]></InitialDate>	
			<InitialTime><![CDATA[0.0]]></InitialTime>	
			<FinalDate><![CDATA[1527897600000]]></FinalDate>	
			<FinalTime><![CDATA[100.0]]></FinalTime>	
		</ModelTimeProperties>
		<AnimationProperties>
			<StopNever>true</StopNever>
			<ExecutionMode>realTimeScaled</ExecutionMode>
			<RealTimeScale>1.0</RealTimeScale>
			<EnableZoomAndPanning>true</EnableZoomAndPanning>
			<EnableDeveloperPanel>false</EnableDeveloperPanel>
			<ShowDeveloperPanelOnStart>false</ShowDeveloperPanelOnStart>
		</AnimationProperties>
		<Inputs>		
		</Inputs>
		<Outputs>
		</Outputs>
	</RunConfiguration>
	<Experiments>
		<!--   =========   Simulation Experiment   ========  -->
		<SimulationExperiment ActiveObjectClassId="1525251582287">
			<Id>1525251582289</Id>
			<Name><![CDATA[Simulation]]></Name>
			<CommandLineArguments><![CDATA[]]></CommandLineArguments>
			<MaximumMemory>512</MaximumMemory>
			<RandomNumberGenerationType>fixedSeed</RandomNumberGenerationType>
			<CustomGeneratorCode>new Random()</CustomGeneratorCode>
			<SeedValue>1</SeedValue>
			<SelectionModeForSimultaneousEvents>LIFO</SelectionModeForSimultaneousEvents>
			<VmArgs><![CDATA[]]></VmArgs>
			<LoadRootFromSnapshot>false</LoadRootFromSnapshot>

			<Presentation>
				<Text>
					<Id>1525251582290</Id>
					<Name><![CDATA[text]]></Name>
					<X>40</X><Y>30</Y>
					<Label><X>10</X><Y>0</Y></Label>
					<PublicFlag>true</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>false</ShowLabel>
					<DrawMode>SHAPE_DRAW_2D3D</DrawMode>
					<EmbeddedIcon>false</EmbeddedIcon>
					<Z>0</Z>
					<Rotation>0.0</Rotation>
					<Color>-12490271</Color>
					<Text><![CDATA[ReinforcementLearningPathfinder]]></Text>
					<Font>
						<Name>SansSerif</Name>
						<Size>24</Size>
						<Style>0</Style>
					</Font>
					<Alignment>LEFT</Alignment>
				</Text>
				<Control Type="Button">
				 	<EmbeddedIcon>false</EmbeddedIcon>				
					<Id>1525251582291</Id>
					<Name><![CDATA[button]]></Name>
					<X>40</X><Y>80</Y>
					<Label><X>10</X><Y>0</Y></Label>
					<PublicFlag>true</PublicFlag>
					<PresentationFlag>true</PresentationFlag>
					<ShowLabel>false</ShowLabel>
					<DrawMode>SHAPE_DRAW_2D3D</DrawMode>
					<BasicProperties Width="100" Height="30">
                        <EmbeddedIcon>false</EmbeddedIcon>	
						<TextColor>-16777216</TextColor>
						<Enabled>true</Enabled>
						<ActionCode><![CDATA[if ( getState() == IDLE )
	run();
getExperimentHost().setPresentable( getEngine().getRoot() );]]></ActionCode>
					</BasicProperties>
					<ExtendedProperties>
						<Font Name="Dialog" Size="11" Style="0"/>
						<LabelText><![CDATA[Run]]></LabelText>
						<LabelCode><![CDATA[getState() == IDLE ?
	"Run" :
	"Top level agent"]]></LabelCode>
					</ExtendedProperties>
				</Control>
			</Presentation>

			<Parameters>
			</Parameters>
			<PresentationProperties>
				<EnableZoomAndPanning>true</EnableZoomAndPanning>
				<ExecutionMode><![CDATA[realTimeScaled]]></ExecutionMode>
				<Title><![CDATA[ReinforcementLearningPathfinder : Simulation]]></Title>
				<EnableDeveloperPanel>true</EnableDeveloperPanel>
				<ShowDeveloperPanelOnStart>false</ShowDeveloperPanelOnStart>
				<RealTimeScale>1.0</RealTimeScale>
			</PresentationProperties>
			<ModelTimeProperties>
				<StopOption><![CDATA[Never]]></StopOption>
				<InitialDate><![CDATA[1525219200000]]></InitialDate>
				<InitialTime><![CDATA[0.0]]></InitialTime>
				<FinalDate><![CDATA[1527897600000]]></FinalDate>
				<FinalTime><![CDATA[100.0]]></FinalTime>
			</ModelTimeProperties>
			<BypassInitialScreen>false</BypassInitialScreen>
		</SimulationExperiment>	
	</Experiments>
    <RequiredLibraryReference>
		<LibraryName><![CDATA[com.anylogic.libraries.modules.markup_descriptors]]></LibraryName>
		<VersionMajor>1</VersionMajor>
		<VersionMinor>0</VersionMinor>
		<VersionBuild>0</VersionBuild>
    </RequiredLibraryReference>
</Model>
<ConvertersApplied>
	<Uuid>9f7858c9-b2c8-4ead-9244-fd08833f642b</Uuid>
	<Uuid>404652e6-561a-404c-aab2-ab7415f40ef5</Uuid>
	<Uuid>6fd6cd57-6dfe-4fc6-be0b-c74065351957</Uuid>
	<Uuid>3325dc48-3ad4-41e3-836f-dfd0e98fe1ed</Uuid>
	<Uuid>3f69ef3d-706e-41a6-8af0-11658c5eef68</Uuid>
	<Uuid>3f6fe405-e047-4304-91d6-6eee206d1106</Uuid>
	<Uuid>820d2b51-5b4a-48e7-b0b6-e46418e3c0f2</Uuid>
	<Uuid>630818fa-8975-4b70-976f-03180dce01db</Uuid>
	<Uuid>7c7e471c-004e-495e-a4ad-d840620ab38e</Uuid>
	<Uuid>3e38ff63-1f70-4ec0-b42c-e879b146785d</Uuid>
	<Uuid>b1eb86e4-14b3-405c-8257-56b80f1b485d</Uuid>
	<Uuid>d55f9fb6-86bb-45ea-9db1-79cecfa0ce91</Uuid>
	<Uuid>ab77aafd-8f02-4354-b789-928d45b1f73c</Uuid>
	<Uuid>e4f14fd7-1c4a-42e9-b91d-db2415f475db</Uuid>
	<Uuid>6d208120-6c7a-45a6-b411-402f18890d9b</Uuid>
	<Uuid>1816cdd0-177c-4973-9e88-dd8b95318556</Uuid>
	<Uuid>5c23f62f-06dc-46ad-8ead-688ec434e3e5</Uuid>
	<Uuid>5c7d7990-3f35-41eb-ae16-d0c16098acc6</Uuid>
	<Uuid>02a16c52-a834-4f30-b6af-a6aee51a294e</Uuid>
	<Uuid>f0988929-2718-4984-a1b6-c1f2ce152f1f</Uuid>
	<Uuid>1c9d9cfe-ea2b-43f9-8f62-dc31d8ed3ae1</Uuid>
	<Uuid>34cb742a-8ba4-47a7-87e6-f2685fe69e97</Uuid>
	<Uuid>4fe10751-c399-4752-94b7-30113ad45070</Uuid>
	<Uuid>c13fe5ac-6466-446e-886a-12df1431b1eb</Uuid>
	<Uuid>714f9ca2-426e-4bff-8569-2d18f58fdcf8</Uuid>
	<Uuid>045aeb5f-1087-4ac7-9702-a49404e7f7e8</Uuid>
	<Uuid>840e9a0a-de98-4b7d-a172-f9bbda2d6b98</Uuid>
	<Uuid>e342358b-75ed-4812-9376-6043fb6cb473</Uuid>
	<Uuid>f3d5ccdc-1bb3-466f-871d-f6b92a26cbb4</Uuid>
	<Uuid>59acb6fb-561c-4038-b722-a596a748b3c7</Uuid>
	<Uuid>be7e6726-05c0-4228-821d-a8df91aeb5bc</Uuid>
	<Uuid>df4a6a60-9ce8-4c6c-91c0-ad5a5d732259</Uuid>
	<Uuid>47491eb9-4606-42bd-8399-125a2b95fded</Uuid>
	<Uuid>9b2d1306-5d19-439a-8f2c-b144dd7e22fa</Uuid>
	<Uuid>ef421152-8732-4f97-9acb-c8e9a6890d5e</Uuid>
	<Uuid>d48f8080-25b1-44f5-8322-7bf2712ff974</Uuid>
	<Uuid>6c4de826-daad-4cd4-b703-51dfe803e822</Uuid>
	<Uuid>01af22d6-6889-4e98-a3df-e6eddc40fc92</Uuid>
	<Uuid>ea3b3dbe-cca2-4bde-957b-feaef7e18789</Uuid>
	<Uuid>e737c8c6-b526-4f88-b89e-554e205b0614</Uuid>
	<Uuid>efd24e87-d7f7-425f-9cb0-3ee17c7b2116</Uuid>
	<Uuid>a62607e6-047e-4910-a1ec-5426bf9283b5</Uuid>
	<Uuid>64dceb5b-de05-47c7-8e40-e9b293e80d75</Uuid>
	<Uuid>8d51c652-6aee-4de8-ba03-47b289a13ec5</Uuid>
	<Uuid>51d7b5ce-5664-4750-b1a0-fabcdc31e49a</Uuid>
	<Uuid>6522e3af-aa9e-421c-b667-e11db73cd8ca</Uuid>
	<Uuid>9ac073a0-7abf-4dff-826f-9c44d4780590</Uuid>
	<Uuid>2da9c21c-adc7-405a-a36e-46fbd9dfcd42</Uuid>
	<Uuid>fe4d1053-9c84-4221-bac7-cb489a7064ff</Uuid>
	<Uuid>1f005f88-e6d7-4bdc-81fa-3acf4c89cf64</Uuid>
	<Uuid>42dc5a7c-d7b1-4653-92b9-9359b46cc2d4</Uuid>
	<Uuid>e25721a9-34f9-479c-a4c3-31f5ec9e117d</Uuid>
	<Uuid>506d1de3-06df-4131-9e88-e43f1768e3d8</Uuid>
	<Uuid>e6625695-25a2-43d0-9056-1e9a1a594b1e</Uuid>
	<Uuid>91990287-4edf-4e38-aa6c-66d0e906807b</Uuid>
	<Uuid>2216cdd0-177c-5678-9e88-dd8b95312234</Uuid>
	<Uuid>1737c8c6-b526-4dd8-589e-ee4e205b06f4</Uuid>
	<Uuid>6a43bef6-8b70-4253-a828-82c3ab399655</Uuid>
	<Uuid>0a27038a-0f3a-48bb-b235-4a44066a1402</Uuid>
</ConvertersApplied>
</AnyLogicWorkspace>