Browse Prior Art Database

Method for Providing a Deterministic Chronological Sequence of Events for Non-Deterministic Baseball Plays

IP.com Disclosure Number: IPCOM000241365D
Publication Date: 2015-Apr-21
Document File: 5 page(s) / 407K

Publishing Venue

The IP.com Prior Art Database

Related People

Andrew Lysyk: INVENTOR

Abstract

A method is disclosed for providing a deterministic chronological sequence of events for non-deterministic baseball plays. The events are a non-sequential set of baseball events. Additionally, the method provides unique identifiers for every event that occurs within a baseball game.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 52% of the total text.

Method for Providing a Deterministic Chronological Sequence of Events for Non-Deterministic Baseball Plays

Abstract

A method is disclosed for providing a deterministic chronological sequence of events for non-deterministic baseball plays.  The events are a non-sequential set of baseball events.  Additionally, the method provides unique identifiers for every event that occurs within a baseball game.

Description

Disclosed is a method for providing a deterministic chronological sequence of events for non-deterministic baseball plays.  The method involves looping through individual plays in Stats Extensible Markup Language (XML) feed using an Extensible Stylesheet Language (XSL) stylesheet. 

Each baseball play that is listed in the Stats XML feed is determined by a play that occurred in a half inning period that is derived from a play-by-play XML element.  The baseball play is also determined based on plate appearance number for a selected period.  The plate appearance number is derived by utilizing a recursive scanning of at-bats to find all completed at-bats.  Additionally, a phase type associated with the baseball play is derived from type of play and grouped into pre-play, at-bat and post-play.  The method also determines a pitch number within the plate appearance associated with the baseball play.  The pitch number is derived from a local XML attribute selector and a recursive scan of previous incomplete plate appearances.  The incomplete plate appearances may include a “broken” plate appearance, when a pitcher leaves during the at-bat.

Additionally, information regarding individual pitches is extracted.  The individual pitches may include sub-elements of multiple plate appearances in the broken plate appearance.  The information extracted for the entire set of plays with a playlist is passed into a Chuck Riess's Realwire system for extracting XML into Java objects.

 

Further, a normalization process is followed in the play through Java* objects to assign a unique sequence number for each play by utilizing the following algorithm:

Map sortedEventPlayList = new TreeMap ();

int period = event.getPeriod();

int batterNum = event.getBatterNum();

int pitchNum = event.getPitchNum();

int playNum = period * 1000000 + batterNum * 10000 + pitchNum * 100;

if (event instanceof Inning) {

// Set to the last possible play in the period   

playNum = (period + 1) * 1000000 - 1;

} else if (event instanceof BatterEnd) {

// Set to the last possible play in the plate appearance

playNum = period * 10000 + (batterNum + 1) * 100 - 1;

} else if (!(event instanceof Pitch)) {

// Set to the order of appearance in the stream

  if (pitchNum != 0) {

  // If a pitch has been thrown in the plate appearance, reserve the number 00 for it

    playNum++;

  }

  while (sortedEventPlayList.containsKey(playNum)) {

  // If that play number already exists, keep incrementing until you find a free playNum

    playNum++;

  }

}

event.setPlayNum(playNum);

He...