Ejemplo n.º 1
0
        /// <summary>
        ///     Tworzy tablice wielowymiarową zawierającą ilość wystąpień poszczególnych żądań po sobie oraz prawdobodobieństwo
        ///     takiego wystąpienia.
        /// </summary>
        private void CreateMatrix()
        {
            Probability = new float[UniqueRequest.Count, UniqueRequest.Count];
            Probability.Initialize();

            foreach (var session in Sessions)
            {
                for (var i = 0; i < session.Requests.Count - 1; i++)
                {
                    var firstReq = session.Requests[i];
                    var nextReq  = session.Requests[i + 1];

                    var posI = UniqueRequest.FindIndex(x => x.NameType == firstReq);
                    var posJ = UniqueRequest.FindIndex(x => x.NameType == nextReq);

                    Probability[posI, posJ]++;
                }
            }

            for (var i = 0; i < UniqueRequest.Count; i++)
            {
                for (var j = 0; j < UniqueRequest.Count; j++)
                {
                    Probability[i, j] /= UniqueRequest[i].Quantity;
                }
            }
        }
Ejemplo n.º 2
0
Archivo: Group.cs Proyecto: Anav0/Lam
 /// <summary>
 ///     Dodaje do <see cref="Sessions" /> takie <see cref="Request" /> które nie wystąpiło wcześniej
 /// </summary>
 /// <param name="request">Sprawdzane żądanie</param>
 public void AddUniqueRequest(Request request)
 {
     // Jeśli żądanie nie wystąpiło wcześniej to:
     if (UniqueRequest.FindAll(x => x.NameType == request.NameType).Count <= 0)
     {
         request.Quantity = 1;
         UniqueRequest.Add(request);
     }
     // Jeśli wystąpiło
     else
     {
         UniqueRequest
         .Find(x => x.NameType == request.NameType).Quantity++;
     }
 }