Here we have the selected problems from bote_problems.html that I am going to represent in Cyc and make Solve solve. The problem numbers refer to those in the original bote_problems.html file.

General Representation Issues

All these questions require finding a number for something. There seems to be two main possibilites --
  1. Countable/discrete things: number of elements in some set.
  2. Number of members of a collection. Is this different from 1?
  3. Continuous things: the exact value for a continuous parameter.
The answer should match with the representation we proposed in the Carve paper. We have the following types of symbolic representations of quantity --
Cyc used to provide high/medium/lowAmountFn. Now they have been replaced with h/m/lAmountOf which works in a funny way. I think this is a consequence of getting rid of attributes. I'll ignore that representation for a while, since I am not sure that it is even stable.

High/Medium/LowValueFn
 (isa Canada (HighValueFn Area))
High/Medium/LowValueContextualizedFn
 (isa Algeria (HighValueContextualizedFn Area AfricanCountries))

Should the second argument be a PhysicalAmountSlot, in this case, areaOfRegion? That will definitely help in making the inference if somebody asked me what the area of Algeria was.

Set : (cardinality SETORCOL N)
Collection
Group

Why do these make me unhappy? If there is no real reason, then we can represent most of the problems as large conjuncts like this.

(cardinality
       (TheSetOf ?SHIP
           (and
               (isa ?SHIP Ship)
               (owns Iceland ?SHIP)
               (not
                   (isa ?SHIP MilitaryVehicle))
               (vehicleCargoCapacity-Volume ?SHIP
                   (IntervalMinFn
                       (CubicFoot 100000))))) 4)

If the input to solve is a conjunction, what do we want it to do? If the entire query is saved as a node, then its a problem, because since we are doing unification to match a suggestion with the query, there are combinatorial possibilities in the ways in which conjuncts could be arranged (that could be taken care of by canonicalization), but still there is the problem if the query is all conjuncts minus one, the suggestion still might apply, and are we going to write all such possibilites for a suggestion? On the other hand, we can not do that, and when we get a query that is a conjunct, it expands into and-nodes, via an and-suggestion, and now we have primitive queriable forms.

Created 03/22/04

#
Problem, and English worked out solution
Problem, and CycL and other needed knowledge.
Comments
3
How many babies are born in the USA each minute?

Population = 300 mil
Life expectancy = 75
Assume uniform distribution of people over age
# of people 1 yr old = 1/75 * 300
# of babies born per min = 1/70 * 300 * 1/365 * 1/24 * 1/60 mil
=  8 per min
[US Census website: 1 baby per 8 seconds = 7.5 babies per sec]
(populationDuring UnitedStatesOfAmerica (MonthFn July
 (YearFn 1997)) 267954764)
(lifeExpectancyForGroupInRegion UnitedStatesOfAmerica
FemaleHuman (YearsDuration 79.7))
(lifeExpectancyForGroupInRegion UnitedStatesOfAmerica MaleHuman
(YearsDuration 72.8))

There is no notion of distribution. Need to make a strategy.
Given life expectancy, population, and an age range; the number of
people in that range assuming uniform distribution is given by the fraction
of people in that age group multiplied by the population.

Alternate:
(birthRate UnitedStatesOfAmerica 15.25)
Thats per thousand per year. Since population = 300mil, that implies
15.25/1000 * 300mil = 15.25 * 300 *1000 = 4575000
Per minute = 4575000/365*24*60 = 8.7

Query:
The populationDuring statement occurs in many microtheories -- Factbook 1995, 1996, HPKP, Agent Factsheet, etc. How to know which one to pick when that happens?
And the time is implicit in question -- maybe now?
Male/female implicit?

4
How many K-8 elementary school teachers are in the USA?
Given life expectany = 75 and 9 of these years are spent in K-8, the number of kids is approx 1/8 th of the population.
Number of kids in K-8 schools = 300/8 mil
Assume for every 25 kids there is a teacher
Number of teachers  =  300/8 * 1/25
  = 1.5 million
 [1.9 million according to Statistical Abstracts, Hoover Business Press]
ElementarySchool -- the collection of all elementary schools.
Teacher

"K-8 Elementary school teachers"
ElementarySchoolTeacher --> USElementarySchoolTeacher

(cardinality ElementarySchoolTeacher ?x)
Strategy1: find number of students, and number of  teachers per student.
We need another strategy that says that the number of
Using the same logic as in #2, find the number of kids going to K-8 schools.

5
How much is spent on newspapers in USA?
300 mil, Assume 3 per household, 100 mil household.
Assume each house buys a newspaper a day.
Assume it costs 50 cents
Per year money spent = 100 * 365 *0.5 mil
  = 18 billion
[26 billion according to SA, HBP]

NewspaperIssue is all the instances of a newspaper on a date.
annualSales OBJ PLACE YEAR MONEY
annualSales NewspaperCopy UnitedStates 2003 ?sales

unitsSold OBJ PLACE TIME NUM
cost OBJ PRICE

;; Law of suppy and demand
unitsSold OBJ PLACE TIME NUM
unitsBought OBJ PLACE TIME NUM

unitsBought OBJ PLACE TIME NUM
numberOfBuyers OBJ PLACE TIME NUM
unitsBoughtPerBuyer OBJ PLACE TIME NUM

units
NewspaperSeries: "The collection of all PeriodicalSeries which have NewspaperIssues as subWorks."
(priceChargedFor PLACE PRODUCT-TYPE MONEY-RATE)
(totalCharge THING MONEY)
(relationAllInstance cost Toothbrush  (Dollar-UnitedStates 1 3))

OK, cost is the simplest one to use. We need to talk about specific newspapers, and not the brands, so NewspaperCopy
Introduce a collection, (genls USNewspaper  NewspaperSeries)
Now how do we say cost for the whole year?
Introduce a predicate (annualCost USNewspapers ?x)
:goal (annualCost USNewspaperIssues ?news-cost)
:subgoals (unitsSoldPerYear NewsPaperCopy
                   UnitedStatesOfAmerica 2003 ?num)
               (cost NewsPaperCopy ?price)
:result-step (evaluate ?newscost (multfn ?num ?price))

:goal (unitsSoldPerYear NewsPaperCopy
                   UnitedStatesOfAmerica 2003 ?num)
:subgoals (
Lets see, how will I ideally do this:                                  
(and (isa ?x NewspaperCopy)
        (isa ?x USNewspaper)
        (sold
       
We need to be able to create collections on the fly for these queries, rather than creating new collections like USNewspapers and USDentists, everytime we have a question about US.
6
How many cars are bought in the USA?
300 mil, Assume 3 per household, 100 mil household.
Assume 1 car per household
Assume a car lives 10 years on an avg
So, on an average 1/10th of the cars will be replaced any year = 10 million cars
[8 millions in 1997]
[133 million cars nationwide in 2000, Stat Abs, 2002]

"cars bought in the usa"
"per year"
(and (isa ?car Automobile)
        (buys ?car ?person)
        (isa ?person UnitedStatesPerson))
Now, either we say per year, or in a specific year.
(relationAllInstance age Automobile (YearsDuration 5 50))
Whenever we find an interval, we cant  bother to do interval math, just average it to get a scalar?
7
How many dentists are there in US?
Assume 1 person makes two visits per year.
Assume a dentist sees 10 people a day, or 3650 visits per year
Number of visits required per year = 300 mil * 2
Number of dentists = 300 * 2/3650 = 164,000
[160,000 according to SA, HBP]
Dentist