Artificial Intelligence

Project on Physical Training

Introduction Project Overview Schedule Some Details Specifications Run Instructions


This project applies various elements of theory to the practical tasks of developing expert systems and neural networks for a specific application. In particular, for expert systems, we have studied ways of expressing rules, and we have considered approaches for making logical inferences based on those rules. For a specific application, we also must consider several practical questions: For neural networks, we have studied alternative types of inputs and outputs, various configurations of nodes, and backward propagations to correct weights. Again, several practical problems arise in developing a specific application: In developing expert systems and neural networks, the solving of such problems requires a combination of technical knowledge and intuition. This extended project is designed to provide direct experience with many of the practical problems that can arise and begin the development of intuition that contributes to the effective art of developing such systems. Since experts in a field often do not have extensive computer-science background, this project also will provide insights into the nature of the teamwork that may be required between subject-specific experts and AI experts to develop specific expert systems.

Project Overview

This project focuses on a real-work application: the development of an expert system and a neural network to help train middle-distance runners. If the resulting projects are sufficiently successful, they may be used by the Coach Freeman and the Grinnell coaching staff. At the very least, the projects should provide insights into this application domain, so that more extensive AI programs may be developed in the future.

Altogether the training of athletes is multi-faceted, including the development of long-term training models and goals. These long-term goals guide the development of short-term workout schedules, which include specific day-by-day training plans for runners. Ideally, daily workouts should allow athletes to progress along an optimal, progressive curve toward long-term goals.

Overall, running ability and skill may be categorized by major levels, and an athlete would like to progress steadily from one major level to the next. Also, since major levels of achievement include various sublevels, the ideal training program would allow athletes to progress through sublevels appropriately.

In an academic setting, however, the load or intensity for a specific workout must be subject to several variables, such as:

Also, training should take into account physiological measurements as Finally, training for one day should reflect results from recent workouts: Given a training program and information about these several variables, one can ask whether an adjustment is advisable for an athlete. Further, if an adjustment is needed, one wants to know the extent of modification needed. Specifically, an adjustment factor for training might involve any of the following: The purpose of this project is to determine the appropriate adjustment factor for an athlete's training, given information about the relevant variables. The project will utilize both expert systems (based on TMYCIN) and neural networks (probably based on NevProp). At the end, it is hoped that these two approaches and the corresponding results can be compared.

Project Schedule

Work on this project may be done in groups of 2 or 3 with the following milestones:
Due Date Milestone
Mon., Apr. 20 Completion of Questionnaire
Wed., Apr. 22 Administration of survey to coach/athletes
Completion of data entry program
Fri., Apr. 24 Completion of TMYCIN modifications
Completion of default rule base
Completion of automated testing tools
Mon., Apr. 27 Data entry of survey information
Mon., May 4 Submission of rule base
Fri., May 8 Description of issues for neural network approach
Click here for a daily schedule of class activities. The daily schedule has the following features:

Some Details

As previously noted, in order to produce something of possible value within the time constraints of the course, the project will focus only on adjustments to an existing training schedule. Thus, the project will assume that a coach already has determined an appropriate general workout schedule, which will allow athletes to meet their long-term goals over a season. The determination of such an overall schedule is beyond the scope of what can be done in this class

As with the development of many expert systems, a major difficulty here is the determination of what factors should have what effects. This is the domain of experts in the field -- in this case, Coach Freeman and the athletes. To identify such information, the class will develop a questionnaire, asking for known outcomes for various values of variables (as noted below). Specifically, each athlete will be asked to provide information on current experiences and on any patterns that seem common in the athlete's experience. Similarly, Coach Freeman will be asked to record common patterns which he has observed.

With this information, the class's challenge will be to formulate rules which may predict the outcomes from the variables.

To help formulate rules, the survey results will be stored in a standardized format. TMYCIN will be modified to read each case, apply the rules, and print both the rule-based result and the expert's result. Thus, after possible rules have been formulated, they can be tested against the known cases to determine how well they yield desired results. Such automated testing can greatly facilitate the rule-development process.

Additional details are covered under the "specifications" section that follows.



This project utilizes the following values for the designated variables:

Variable Abbr. Values
Normal MilesNor-Mi Unknown < any integer >
Week MilesWeek-Mi Unknown < any integer >
Hard DaysH-Days Unknown < any integer >
Volume Volume Unknownvery-light light normal heavy very-heavy  
Intensity Intens Unknownvery-light light normal heavy very-heavy  
Density Density Unknownvery-few few normal many very-many  
Sleep/Rest Rest Unknownnone very-littlelittleaverageexcess  
Recovery Recovery Unknownmuch-shorter shorternormallonger much-longer  
Acad. StressStress Unknownvery-light light normal heavy very-heavy  
Motivation Motiv Unknownweak average strong  
Heart Rate HR Unknowndown-3%normal up-3% up-6% up-10%  
Last Race l-race Unknownpoorbelow-avgaveragegoodvery-goodpers-best
Adjustment Adjust Unknownfar-belowbelow normal above far-above  

Data File:

The survey results will be stored in file ~walker/261/labs/survey-data in the following format:

Results File:

When reading from the data file, the expert system will record the results in a local file in the following format:
<234567890123456789012345678901234567890123 -- reference numbers>
Case Identifier     Predicted Adjust.   Expert Adjust.
Here, the case identifier will be printed in the first 20 spaces, the predicted adjustment in the next 20, and the adjustment reported by the athlete or an expert in the last 20 spaces.

The first line of the output file will include titles of the columns. The rest of the file will contain one case per line.

Run Instructions

To resolve some interface troubles, some alternative files should be used -- at least for current runs.

Note: the expert conclusions were reviewed on Sunday, April 26. Corrections reflect errors identified at that time.

To use the current data files, follow these steps:

  1. Copy the default rules file ~walker/public_html/courses/261/track/template-alt.rev
    to your account.

  2. Experiment altering rules by adding, deleting, or modifying rules in your copy of template-alt.rev.

  3. Run tmycin with your rules by:

    • Starting LISP with the acl command.
    • Loading your rule file with the statement (load "template-alt.rev").
      (Note that tmycin should be loaded automatically.)
    • Running the program by typing (placement) or (adjustment)
    • Using option i for individual placement experiments, or
      using option f to read and write to default files
      the default input file will be ~walker/public_html/courses/261/track/survey-data
      (file survey-data.rev duplicates this data file).
      the default output file will be tmycin.output in your local directory.
    • Leaving the menu with the q option.

  4. To run the file-output analyzer, follow these steps:
    • Run LISP as above.
    • If needed, load the analyzer:
      (load "~walker/public_html/courses/261/track/analyze.lsp")
      (This also is loaded automatically by template-alt.rev.)
    • Run the program by typing (analyze).

  5. Run the analyzer with the command (analyze)

  6. You will need to delete or rename your old tmycin.output file before you can run the program again.
Reports programming or data errors or difficulties to

This document is available on the World Wide Web as

created April 5, 1998
last revised April 24, 1998