close

Вход

Забыли?

вход по аккаунту

?

Task-network planning using total-order forward search, and applications to bridge and to microwave module manufacture

код для вставкиСкачать
INFORMATION TO USERS
This manuscript has been reproduced from the microfilm master. UMI
films the text directly from the original or copy submitted. Thus, some
thesis and dissertation copies are in typewriter free, while others may be
from any type o f computer printer.
The quality of this reproduction is dependent upon the quality of the
copy submitted. Broken or indistinct print, colored or poor quality
illustrations and photographs, print bleedthrough, substandard margins,
and improper alignment can adversely affect reproduction.
In the unlikely event that the author did not send UMI a complete
manuscript and there are missing pages, these will be noted.
Also, if
unauthorized copyright material had to be removed, a note will indicate
the deletion.
Oversize materials (e.g., maps, drawings, charts) are reproduced by
sectioning the original, beginning at the upper left-hand comer and
continuing from left to right in equal sections with small overlaps. Each
original is also photographed in one exposure and is included in reduced
form at the back o f the book.
Photographs included in the original manuscript have been reproduced
xerographically in this copy. Higher quality 6” x 9” black and white
photographic prints are available for any photographs or illustrations
appearing in this copy for an additional charge. Contact UMI directly to
order.
UMI
A Bell & Howell Information Company
300 North Zeeb Road, Ann Arbor MI 48106-1346 USA
313/761-4700 800/521-0600
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
A bstract
T itle of D issertation:
Task-Network Planning
using Total-Order Forward Search.
and Applications to Bridge
and to Microwave Module Manufacture
Stephen J. J. Sm ith, Doctor of Philosophy, 1997
D issertation directed by:
Professor Dana S. Nau
D epartm ent of C om puter Science
Because m ost real-world planning problems are difficult, AI planning re­
searchers have needed to make simplifying assum ptions in order to solve som e of
these problem s a t all. These simplifying assum ptions elim inated some of th e dif­
ficult features th a t need to be considered to solve other problems. For exam ple,
in existing AI planning algorithm s, the approaches to dealing w ith u n certain ty
and num erical values are insufficient to handle m any im p o rtan t problem s.
To address these lim itations, I have developed a new variant of H ierarchical
Task N etwork (H TN ) planning, which I call planning using TO FS (T otal-O rder
Forward Search). In T O FS. a planner always instantiates the operators in a plan
in the order th a t they will be executed.
I have applied T O F S successfully to two very different real-world problem s.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
• T he first problem was play of declarer's cards at contract bridge. My im­
plem entation of HTN planning using TO FS. called T ignum 2. does statisti­
cally significantly b etter than the best available co m p u ter bridge program.
• T h e second problem was autom ated process p lanning for th e manufacture
of microwave modules. My im plem entation of H T N planning using TO FS.
called the ED A PS Process Planner, incorporates electronic and mechani­
cal m anufacturing processes, works concurrently w ith an electronic CAD
tool, and provides feedback about m an u factu rab ility and lead tim e to the
designers, based on actual process plans for th e m an u factu re of the device.
In b o th dom ains, HTN planning using TO FS ran relatively quickly, and searched
relatively few nodes.
In this dissertation, I describe HTN planning using T O F S . its application
to these two dom ains, and consequent observations. I d etail th e adaptations of
HTN planning using TO FS required to apply it to bridge, and th e adaptations
required to apply it to microwave module m anufacture. I observe th at TOFS
allows the preconditions of methods to be w ritten w ith a rb itra ry com puter code,
and discuss the advantages and disadvantages of th is technique.
Because both research projects were successful, I am confident th at HTN
planning using T O FS is an im portant new AI planning m ethodology. To reap
the benefits of HTN planning using TO FS, a classification of dom ains into those
for which it is suitable and those for which it is u n su itab le m ust be further
developed.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
T ask-N etw ork P lanning
using T otal-O rder Forward Search,
and A p p lication s to B ridge
and to M icrow ave M odule M anufacture
by
Stephen J. J. Smith
D issertation su b m itted to th e Faculty of the G rad u ate School of the
University of M aryland at College Park in p a rtia l fulfillment
of th e requirem ents for the degree of
Doctor of Philosophy
1997
Advisory C om m ittee:
Professor
Professor
A ssociate
Associate
Associate
D ana S. Nau. Advisor
John Baras
Professor Jim Hendler
Professor Clyde Kruskal
Professor David Mount
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
UMI Number: 9736631
UMI Microform 9736631
Copyright 1997, by UMI Company. All rights reserved.
This microform edition is protected against unauthorized
copying under Title 17, United States Code.
UMI
300 North Zeeb Road
Ann Arbor, MI 48103
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
D ed ica tio n
“For there is no friend like a sister
In calm or storm y w eather.’— Goblin M arket (last two lines), by C hristina G eorgina
Rossetti, 1862 ([13], p. 608)
To Jennifer Clare Teresa Sm ith McVeigh, my dear sister and close
friend, for free counseling, for teaching me how to use a plunger, for
always making m e feel welcome in her home, for waking up to answer
my tearful phone calls, for our visits together, for years of holding
my life together, and for being all th a t I could ask for in a sister and
a friend.
"And may our sweet affections, like the spheres
Be still in m otion.”
— Antonio, in The Duchess o f Malfi (act I, scene ii, lines
395-396). by John W ebster, 1623 [164]
And to Hilary Jan e Meek, my dearest love and best friend, for tea.
for her understanding of R elative Tim e, for her patience w ith the
ii
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
long hours of dissertation-w riting, for her prayers, for sharing her
poetry with me. for Gene Wolfe and H arry Chapin and The Fisher
King and all th e rest, for passion, for continued friendship, for caring
com m unication, for bringing joy to my life, and for her love and
continual support.
iii
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
A ck n ow led gem en ts
“A nd we’re ju st another piece of the puzzle
J u s t another part of the plan
How one life touches the other
Is so hard to understand
Still we walk this road together
We try to go as far as we can
A nd we have waited for this moment in tim e
E ver since the world began.
— “Ever Since the World Began” , from Eye o f the Tiger,
by Survivor, 1982 [151]
This m ay not be the last book I ever write, but it is th e first, and
my en tire life has been leading up to this book.
T h u s these are
acknowledgm ents for not only this dissertation, but for my life as
well.
T he B egin n in g
T. Scott Sm ith, my father, taught me many things, introduced me
to com puters, and showed me how to be a professor; my Dickinson
IV
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
years would have been impossible w ithout him.
Carol P. Sm ith,
my m other, taught me many things as well— most im portantly, how­
to be a fem inist: she also m ade my life easier by handling m any
of its endless financial details.
G reg McVeigh, my brother-in-law',
has made my sister very happy and me feel very welcome. A nd I
owe many thanks to my dear sister Jessica K atherine Teresa Sm ith,
who ridiculed my calculation skills and helped me to see th e lighter
side of dissertationhood. and who also unw ittingly wrote h er own
acknowdedgment. Laura Meg Teresa Sm ith, my sister, was ever a
delight to be w ith, and provided some of th e most profound insights
into my life. Jo n ath a n Jerem y A lexander Smith, my brother, saved
me from having too many sisters by being male, showed m e how
to drop-kick, and helped me be slightly more cool. Daniel Francis
Xavier Sm ith, my brother, played Lemmings with me far too m uch,
and understands me better th a n he knows. Sharon Teresa Sm ith,
my sister, always told me she m issed me and made me happy to be
home.
Lisa Pawelski provided insight in to m usic and medicine. Fr. A ndrew
Fontanella was a friend to our family. Mrs. Rossiter. my first-grade
teacher, and Mrs. Seal, my fourth-grade teacher, axe still two of my
favorite teachers ever. Jeff G erstem eier introduced me to Ultima III
and to Shippensburg. Aunt Sharon is th e best aunt ever; she and
Uncle Michael graciously hosted m e for Thanksgiving 1995. G ran d p a
Roy and G randm a Inez made m e w ant to come back and visit them
in A labam a again. Marnie was a wonderful grandm other, an d m ade
v
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
cassette tapes of us kids when we were very young.
Pappy made
excellent grilled cheese sandwiches. I co u ld n 't wish for better god­
parents than Dermott and Sue M ullan. nor b e tte r godsiblings than
Wendy, Kathy. Michael, Maggie, Angie, E lizabeth, John Paul, P eter
Jam es, Laura Therese, and Rebecca Joan.
D ickinson C ollege
Shari Feldman was there for bridge, M oria, consulting, pizza on S at­
urday nights, the most excellent spring-of-1989 trip to Kentucky and
the even more excellent summer-of-1989 trip to Colorado, and the
all-nighter before senior honors papers were due, and has somehow
managed to keep in touch.
C hristian A bdelm alek was also there
for Kentucky. Colorado and th e all-nighter, and helped teach me to
drive and throw a frisbee. Paul Stodghill. Tom (Wiz) Wisnewski,
and Steven Santos were classm ates and program m ing team m ates of
distinction.
Shannon Sanborn M ada was my first and favorite apartm ent-m ate
ever. Joy Carol Stretton took a chance on a fifteen-year-old, for which
I become more grateful every passing year. Ev Short understands
what it means to have a map of th e n a tu ra l num bers in one’s head (I
still haven't found anybody else yet. Ev.) K ristin Brooks was there
for me during one of the sad tim es in my life.
Andi Hadley was
always refreshingly blunt and always m akes me smile when I think
of her. Kevin Laws described the Sentinel interview perfectly, and
vi
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
had the best answering machine announcem ent ever.1
Rudy Surovcik took me to my first rock concert (the H ooters). Aaron
Krebs tried valiantly to get me interested in some good music that
I was too young to appreciate.
W endy K opit. Sarah K opit, and
Chrissy Godfrey m ade the summer of 1988 fun. Fr. Paul Helwig m ade
Mass meaningful. Thom as Drucker (who also supervised my honors
paper). Nancy B axter (who supervised my undergraduate teaching
assistantship). Tom Allison. Jack Stodghill, Lee Baric. E. Robert
Paul, M ary Moser, Leon Fitts, and R obert Sider were inspirational
professors, and I learned to teach from them . Uncle Phil Lockhart
was not ju st a professor, but also a m entor in m any ways. Liz W hite
was a program m ing team coach who cared enough to go to contests
w ith us, and later a fellow graduate student!
T h e U n iv ersity of M aryland at C ollege
P ark
"Seven years
Went under th e bridge
Like tim e was standing s till... ”
— "If You Leave”, from The Best o f OM D, by O rchestral
M anoeuvres in the Dark. 1988 [111]
D ana Nau, my advisor, taught me how to w rite technical papers (and
how to do "w ordsm ithing” ), how to do artificial intelligence, and gave
me a thousand little lessons in academ ia.
Tom T hroop provided
^ h e announcement ended with: “Leave a message. D on’t be a sta tistic.”
vii
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
financial support and a great deal of guidance in bridge.
M artha
Throop m ade extended hours at G reat Game P ro d u cts possible with
meals and a bed.
Bill Regli was an officemate. friend, emacs guru, comprehensive exam
study p artner, and colleague; he and Subrata G hosh (USA! USA!
USA!) provided the C om m unications o f the A C M every m onth so
th a t I could look for jobs. Dan Eshner was a comprehensive exam
study p artn er and my only regular bridge p a rtn e r ever. Raghu Karinthi showed by exam ple how to sleep on the office couch and work
insanely hard, skills w ithout which I couldn’t have w ritten this dis­
sertation.
M att E vett was an officemate, friend, and role model;
Sue Evett welcomed us for M ystery Science Theatre 3000. Leonard
Dickens introduced me to th e term “girl voice” and made the 1992
V ice-Presidential C andidate Gore rally fun. S aty an d ra G upta was
the first person to teach me about engineering.
N irupam a Chan-
drasekaran was an officemate and friend. K u tlu h an Erol was great
company for th e ride back from Bill Regli’s wedding. Dr. Dr. M ar­
tin Farach helped convert me to emacs. Tony G uilfoyle set up some
bridge code th a t, despite being com plicated was surprisingly easy to
update and m aintain: he also solved a puzzling m athem atics problem
for me. Kiran H ebbar's assistance in understanding mechanical engi­
neering was invaluable. The anonym ous system staff known largely
through the email address " s ta ffQ c s .u m d .e d u ” handled my endless
questions over the years, and still impress me w ith th eir efficiency and
breadth of knowledge. Alexei Elinson, Reiko T su n eto , Sean Luke,
viii
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
and Shu C'hiun Cheah were a pleasure to work with. Tom Weaver
was irrepressibly friendly. B jorn Jonsson translated "tignum ” from
the Icelandic.
My officemates. at various times, let me take over
tulgey. snark. and the table next to tulgey.
Olafur Gudmundsson coached program m ing teams, and Jam ie da
Silva. Christine Hofmeister, M ark Pleszkoch. Jack Callahan. Georgios Panagapoulos, Lev Novik, Sergey B rin, and Scott Blanksteen
were on them with me or while I was co-coaching them .
Clyde
Kruskal, Bill Gasarch. A. U daya Shankar, and David Kueker were
inspirational professors. D ave M ount was an inspirational professor
and provided background m aterial for the first real college course
I taught. Adm iral G am era salutes Wreck (Leonard Dickens), FillInTheBlank! (Jam ie Ivey), W ilson (H sieh), Sarpedon, Tom Servo
(Dave Gosselin). and other n etrek com rades.
Doris Tang. Laurie G oodm an. M aribeth K irk. Elizabeth Schade. and
Allison Scheer made New Leonardtow n 246-05 a “home away from
home” during 1990-1991. M argaret Clarkson was always electroni­
cally there when I was fasting. G ene M orris made role-playing gam es
unpredictable.
The Police A uxiliary kept waving me on cam pus,
night after night, year after year.
Stephen Turnour. chef, caterer, and engineer, could fix anything and
was my favorite housem ate ever.
Florence Newberger understood
my life, was always a pleasure to dance w ith, and was my favorite
housemate's girlfriend ever. Phil W hite added “Come on Bob!” to
my vocabulary. Phil L atona. yet an o th er fine housemate, listened to
ix
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
my woman troubles. Devin Schaffer, my only room m ate ever, was
a badass (and we were right— the Steelers d id end up making the
playoffs in 1989-1990.) Eric Pugh, six-foot-four and fully muscled,
helped broaden my horizons. Wayne Kelly and I went through the
job search process together, and I’m grateful th a t he pointed me to
the Alan K aplan web page, but it was during the Blizzard of ’96 th a t
we truly bonded.2 M any of my housemates did the dishes at random
times. Tom and Sandy Eichbaum were fine landlords; for example,
they painted the bathroom . Ken G erber and Stephanie Welch have
continued to be p atien t and understanding.
Carl Brady was a friend, housem ate, car m aintenance adviser; some­
how, whenever I was unm otivated and sent email to him, I got m oti­
vated: he also m ade it to my dissertation defense. Jean B rady gave
me a 1995 calendar to burn.
Gwen Kaye directed all of my teaching efforts at M aryland w ith pre­
cise attention, and loaned me a C + + book when I desperately needed
one. Edna Walker and Nancy Parker were friendly and indispensable.
Jennifer Fajm an supported my work w ith the Royal Saudi Air Force.
Nancy Lindley knows everything and can handle any problem , which
she dem onstrated tim e and again over the course of my academ ic
career. Jodie Gray. Janice Jastrzebski, and Grier Smokovich helped
with countless financial and business concerns. Bob Ivarig proofread
my curriculum vitae in 1994 and 1995; he is excellent. My sum m er
1995 420 students w rote me thank-you notes for the course when I
2I t’s my dissertation. W ayne, so I can say whatever I want.
X
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
re a lly needed them . Dong-In Kang. Yi Qiu. and Frantisec Brabek
were fine teaching assistants: Tolga U rhan was a fine teaching assis­
tan t and officemate who s e rv e d m e t e a in the m iddle of the night
while I was working on my dissertation. Dru Bagwell made Omicron
D elta Kappa meaningful. Ken Salem took th e tim e to dull the sharp
edge of a rejection letter. Jason Liu an d David Woods sold me some
fine used VCRs. I am grateful to anyone who ever played volleyball
or Ultimate Frisbee with me.
T h e C atholic S tudent C en ter
“I ’ll see you next Sunday
We all had our reasons to be th ere
We all had a thing or two to learn
We all needed som ething to cling to
So we did”
— "Forgiven” , from Jagged Little Pill, by Alanis Morissette. 1995 [101]
It is impossible for me to imagine role-playing games without Tom
Iovino, who with R honda DeAtley hosted me on Halloween 1993.
M ark Mitschow got the role-playing gam es started . John and Lori
Boia were enjoyable in role-playing gam es and in folk group. Mike
Bosworth helped me o u t with a very im p o rtan t concern in 1990.
Rich Mack took care of all the 10 am Buildings and Groups Com­
m ittee announcements. G ary Tosadori had a unique appreciation of
Early 80’s Music (Hell). Dave Lucero helped me get involved in the
Catholic Student C enter in the first place. K ristin W hite supervised
me as a beginning lector and was always gentle.
Jennifer Molin-
xi
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
eaux always wished me peace and joy. Dawn Marie T heresa Depew
worked a t the Reserve Desk in Hornbake Library as no one else could.
Regina Cronin paid close attention to my dancing. M arti Middle­
ton was a good friend for many years. Austin Conaty was a friend,
a role m odel, and the funniest volleyball player I’ve known. Glo­
ria Scheuerm an and Joyce Raynor m ade the Second-Tim er’s R etreat
fun. and C arrie W alker gave Pennsylvania’s “Pass w ith C are” signs
a special meaning. K athy Diemer was a source of stre n g th for me
during Fall 1991. Allyson Adams took a chance on an eighteen-yearold. Stephanie Lenkey was an excellent Social C om m itee co-chair.
Amie Hsu took me to Hamlet and finally got me to listen to In to
t h e W o o d s . Stephen Kerrigan was a fine storyteller and hosted a
m em orable Election Night. Andrea P a tti was a pleasure to tu to r. I
enjoyed getting to know Brian M artin twice. C hristine Marinaccio
was always a very genuine, caring person. Eileen Polakovic was a
fine Elderly Com m itee co-chair. Stacy Calvert went to some great
lunches w ith me. and kept our friendship going.
Jennifer Lynn W im m er has been a tru e and loyal friend who stands
by me. who was always there for me in the good tim es and the
bad tim es, and who also appreciates of Laura B ranigan and John
Cusack. Michael Vaughan wasn’t ju st a great guy, he was t h e great
guy. Billie Follensbee taught me about wine and ballroom dancing,
and worked hard to m aintain our friendship. Jam ie M cDonald was
endlessly w itty ( “throw blonde” ). Renee Delfosse m ade life a little
more pleasant, especially during early fall 1995.
I w ouldn’t have
xii
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
made it through the fall 1995 Love R etreat w ithout P at Zapor. who
collaborated with me on a session. D an'L Langsdale (P.S.) went out
of his way to set me straight when I really needed to be set straight.
Tom W hite sold me the M onarchist P arty T -shirt.
Rory Deering
made up his spare bed for me when I was sick and d id n ’t want to
drive home. Leo and Tina Kent M otter hosted a fabulous m urder
party. Tom Payerle and Jim Perreault provided Babylon 5 tapes.
Teresa Sim m s was a fun roomm ate, and made uw hen I was Social
C om m ittee chair” a catch phrase.
Betty T im er was helpful with Elderly C om m itte, as was Sr. R ita
Ricker w ith Social Com m ittee. Fr. Tom K alita gave inspiring sermons
and m ade th e Catholic Student C enter a place where I could grow up.
Fr. M ark B rennan has been a perfect F ather Confessor and adviser for
the G rad u ate Student Group. Fr. Bob Keffer has m ade th e Catholic
Student C enter b e tte r and better.
T hat you hold this dissertation in your hands (or read it on your
screen) is a strong argument for the existence of a loving God. All
the people acknowledged in this dissertation are an even stronger
argum ent.
H ood C ollege
I would not have been able to teach MATH 111 w ith o u t all the help
that Jo h n Boon gave me. Jeff M artens answered all m y strange ques­
tions and put up with me coming into his office an d saying totally
xiii
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
random things while the dissertation was driving me insane. Paul
Gowen was an understanding and supportive departm ent chair. Tom
Samet was very clear and inform ative while I was deciding to come
to Hood. B etty Mayfield. Doug Peterson, Judy Seymour. Liz C hang.
Regina Lightfoot, G ary G illard. and Atsuko Crum made me feel at
home in the M athem atics and C om puter Science departm ent. B ar­
bara Tyler has answered all my financial questions easily. C olette
Cooney has consistently assisted w ith the adm inistrivia associated
with teaching. My students have been very patient with my busy
schedule, and interested in the statu s of the dissertation.
T he D isserta tio n Itse lf
John Baras, Jim Hendler, Clyde Kruskal, and David Mount agreed
to be on my P h.D . defense com m ittee; David Mount noticed Best
o f the Georgia Satellites [56] and asked if they had any hits o th er
than “Keep Your Hands to Y ourself’ (not to my knowledge). John
Gannon filled in a t my defense.
Ferne Radichevich m ade me feel
at ease during these last few frenetic days. Pablo Straub w rote the
dissertation style file, and Satyandra G upta and Bill Regli ad ap ted
it.
xiv
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
M iscellaneous
W ithout C'arl C'apriloglio at Oglio Records, there would be no Men
W ithout H ats Collection CD. W ith o u t Alan Kaplan at th e U niversity
of M assachusetts, there would have been no list of C om puter Science
faculty positions.
W ithout Jan e W ise at Walker-Poole Insurance
Agency. I wouldn’t have waited till my 24th birthday to apply for
car insurance, and wouldn’t have saved nearly $1000.
Rufus, my
faithful steed, and I have spent over 90,000 miles together.
I find it impossible to imagine life w ithout Kate Bush, M eat Loaf,
and Rush. O ther music for the d issertatio n was provided by W HFS
99.1, especially the Flashback Cafe; and by ABBA, A lphaville, Tori
Amos. P at B enatar, Bon Jovi, L au ra Branigan, B elinda Carlisle.
H arry Chapin. Peter Gabriel. G o-G o’s, H eart, Jethro Tull, Cyndi
Lauper, Men W ithout Hats, M ike + th e M echanics, Offspring, O r­
chestral Manoeuvres in the D ark, P in k Floyd, Queen, R .E .M ., REO
Speedwagon, Roxette. Jim S teinm an. T in a Turner, Chess, Les Miserables, and Just C an’t Get Enough: New Wave Hits o f the 8 0 ’s,
volumes 1-15.
Food for this dissertation was provided by Jerry at Taco Fiesta,
A lario’s, the Sichuan R estau ran t, th e Mongolian B arbecue, and the
24-hour nature of the College P ark M cDonald's. Coke and C herry
Coke for this dissertation were provided by Coca-Cola. G as for this
dissertation was provided by th e nice woman at the Amoco who al­
ways smiles at me.
XV
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Electronic distractions from my work were provided by Moria. netrek.
Lemmings. Spaceward Ho!, and alt.folklore.urban. W ritten distrac­
tions from my work were provided by Scott Adam s. Berke B reathed.
David Eddings. Robert Jordan . C hristopher Stasheff, Bill W atterson.
and Gene Wolfe. Televised distractions from my work were provided
by Twin Peaks, M ystery Science Theatre 3000, S ta r Trek in various
forms, and especially Babylon 5?
3W hat can I say. I’m a geek.
xvi
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Table o f C o n ten ts
List o f F igu res
1
x x ii
Introd u ction
1
1.1 Contributions of This W o r k ..............................................................
1.2
2
Sum m ary of D is s e rta tio n ............................................................................
In trod u ction to H T N P lan n in g
2.1
4
P la n n in g
4
6
R elated Work on HTN P la n n in g ..............................................................
2.2 H TN Planning in Bridge and M icrowave Module M anufacture
3
3
9
. . 10
Using TO FS (T otal-O rder Forward Search)
12
3.1
E x a m p le ..........................................................................................................
13
3.2
Reasons Why O ther AI R esearchers Use Partial-O rder Planning .
16
3.3
Reasons to Consider the Choice of Planning Using T O F S ..............
IS
3.4
Domains Suitable for HTN P lan n in g using T O F S ............................
19
P la n n in g in D eclarer P lay at C o n tra ct B ridge
4.1
21
R elated Work in G a m e - P la y in g ................................................................... 21
4.1.1 Games in W hich AI A pproaches Have Had Success . . . .
xvii
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
22
4.1.2
Go: One Game in W hich AI Approaches Have Not Had
S uccess...............................................................................................
4.1.3
4.3
Contract Bridge: Another G am e in Which AI Approaches
Have Not Had S u c c e s s .................................................................
26
4.1.4
G am e-Plaving with U n c e r ta in ty ................................................
30
4.1.5
Planning w ith Multi-Agency. U ncertainty, and Incom plete
I n f o r m a tio n .....................................................................................
31
Planning in G a m e s ........................................................................
32
Introduction to B r i d g e ..............................................................................
32
4.2.1
Rules of B r i d g e ..............................................................................
32
4.2.2
A bstract Characteristics of B r id g e ............................................
34
M y Algorithm for Declarer Play in C o n tract B r id g e ........................
35
4.3.1
Overview of My A lg o rith m ..........................................................
35
4.3.2
Problem R e p r e s e n ta tio n ..............................................................
36
4.3.3
M ulti-Agency in Task N e tw o r k s ................................................
41
4.3.4
G am e-Playing P ro c e d u re ..............................................................
47
4.1.6
4.2
60
5 R esu lts o f B ridge Research
5.1
5.2
25
......................................................................................................
60
5.1.1
T i g n u m ............................................................................................
61
5.1.2
Tignum 2:s Knowledge B a s e .......................................................
62
5.1.3
Speed of Tignum 2 ........................................................................
70
Tignum 2's Victories Against the Bridge B a r o n ...............................
71
5.2.1
Bridge B a r o n ..................................................................................
72
5.2.2
Comparing Bridge P r o g r a m s ......................................................
72
5.2.3
Results of Tignum 2’s M atches A gainst Bridge B aron . . . 75
T ignum 2
xviii
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
5.3
•5.4
6
5.3.1
A Deal T h at Tignum 2 W o n ............................................................77
5.3.2
A Deal T h a t Bridge Baron W o n ..................................................... 90
Observations A bout C om puter B rid g e .......................................................97
5.4.1
R unning O ut of T im e ..........................................................................98
5.4.2
Almost R unning O ut of T i m e ........................................................ 98
5.4.3
A dapting HTN Planning for B r id g e .............................................. 99
5.4.4
E xtending from No Trum p Deais to Suit D e a ls ........................101
P lan n in g for th e M anufacture o f M icrow ave M od u les
6.1
7
Deais From Tignum 2's M atches A gainst Bridge B a r o n .....................77
Related W ork in C oncurrent Engineering and Process Planning
102
. 103
6.1.1
Process P l a n n i n g .............................................................................. 103
6.1.2
C oncurrent Engineering
.................................................................104
6.2
Introduction to Microwave M o d u le s ........................................................ 105
6.3
The Electro-M echanical Design and Planning System (EDAPS)
6.4
The EDAPS Process Planner
. Ill
...................................................................113
6.4.1
Overview
............................................................................................ 113
6.4.2
I n p u t ...................................................................................................... 114
6.4.3
O p e r a t i o n ............................................................................................ 119
6.4.4
H ierarchical Task N e tw o rk ..............................................................121
R esu lts o f R esearch on M icrowave M od u le M anufacture
144
7.1
Success of th e ED A PS Process P l a n n e r ................................................. 144
7.2
Sample Tests of the EDAPS Process P la n n e r ....................................... 167
7.2.1
Test on a M anufacturable Microwave M odule
........................167
7.2.2
Test on an U nm anufacturable Microwave M o d u l e .................168
x ix
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
7.3
Observations A bout Autom ated Process Planning for Microwave
Module M a n u f a c tu r e ....................................................................................184
8
C onclusion
8.1
8.2
186
Discussion of HTN Planning using T O F S ..............................................186
8.1.1
Review of R e s u lts ............................................................................186
5.1.2
Benefits of HTN P l a n n i n g ........................................................... 187
8.1.3
TO FS (T otal-O rder Forward S e a r c h ) ...................................... 189
8.1.4
Lessons Learned from P lanning using T O F S ...........................190
Discussion of Bridge and Microwave M odule M an u fac tu re ............... 192
8.2.1
C om paring and C ontrasting D eclarer Play at C ontract
Bridge w ith Process Planning for th e M anufacture of Mi­
crowave M o d u l e s .............................................................................193
5.3
5.4
Future R e s e a rc h .............................................................................................194
5.3.1
Future Research in B r i d g e ............................................................. 195
8.3.2
Future Research in Microwave M o d u le s ..................................... 196
8.3.3
Future Research in Forward P r u n i n g ......................................... 196
5.3.4
O ther Future R e s e a r c h ...................................................................197
Final T h o u g h t s ............................................................................................. 197
A Forward P run in g
A .l
199
Game-Tree M o d e l s ...................................................................................... 201
A .1.1
N-Game-Like T r e e s ........................................................................ 201
A. 1.2 Com parison of N-Game-Like Trees w ith Bridge
A.1.3
A.2
.................. 203
P-G am e T r e e s .................................................................................. 204
Forward-Pruning M o d e ls ............................................................................ 205
xx
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
A.3
M athem atical D e r i v a t i o n s .........................................................................306
A .3.1
Forward P runing on N-Game-Like T r e e s ..................................206
A .3.2
Forward P runing on P-G am e T r e e s ........................................... 213
A .3.3
Probability of C orrect D e c i s i o n .................................................. 216
..................................................................... 219
A.4
Results and In terp retatio n s
A.5
C onclusion........................................................................................................221
B Size o f the B ru te-F orce G am e Tree in B ridge
222
B.l
T he Brute-Force A p p ro a c h .........................................................................223
B.2
W orst-Case Size of th e G am e T r e e ........................................................... 223
B.3
W hy the Tree is Usually S m a lle r.............................................................. 226
C G lossary
227
Bibliography
260
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
L ist o f F igures
2.1
Finessing part of th e bridge task netw ork...........................................
S
2.2
Artwork part of th e microwave module ta sk netw ork......................
9
3.1
Partial-order plan n er’s m ethods for the “dinner and a movie”
exam ple.........................................................................................................
3.2
13
Total-order planner’s m ethods for the “d in n er and a movie” ex­
am ple.............................................................................................................
15
4.1
Finessing part of th e bridge network of m ulti-agent methods. . . 42
4.2
Some of the m ethods and operators used in the finessing part of
the network of m ulti-agent m ethods for bridge..................................... 44
4.3
Some more of th e m ethods and operators used in the finessing
part of the network of m ulti-agent m ethods for bridge...................
4.4
45
Decision tree generated on my example. For the sake of clarity,
some nodes have been om itted. Labeled notes are explained in
the te x t..............................................................................................................49
4.5
Instantiation of th e finessing part of th e netw ork..................................50
4.6
Evaluation of th e decision tree generated on my example. For
the sake of clarity, m any nodes have been o m itte d .............................. 56
xxii
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
5.1
One of the deals th a t Tignum. ancestor of Tignum 2. correctly
d
Tasks used in Tignum
2, p art one............................................................. 63
Ci
.3
Tasks used in Tignum
2, part two............................................................. 64
Ct
.4
Tasks used in Tignum 2. part th re e .......................................................... 65
.5
Tasks used in Tignum
2. part four............................................................ 66
.6
Tasks used in Tignum
2, p art five............................................................. 67
.7
Tasks used in Tignum 2. p art six...............................................................68
.8
R esults of com petitions between th e Tignum 2 team and the
Ci
C«
C«
.2
Ci
solved..................................................................................................................62
B ridge Baron te am .....................................................................................
Cn
.9
One of the deals on which the Tignum 2 team defeated th e BB
te a m ................................................................................................................
Ci
.10
76
78
Play of the deal from Figure 5.9 on Page 78 showing th e Tig­
num 2 team beating th e BB team . An arrow (—»•) indicates a
card led to a trick. An asterisk (*) indicates a card th a t won a
trick .....................................................................................................................78
Ci
.11
Reasoning th a t Tignum 2 used to decide on its play to the first
trick .....................................................................................................................81
S ituation at trick 5...........................................................................................82
.13
G am e tree th at Tignum 2 generated and evaluated to decide on
Ci
Ci
.12
its play at trick 5.............................................................................................84
Ci
.14
One of the deals on which the T ignum 2 team lost to th e BB
te am ................................................................................................................
xxiii
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
90
5.15
Play of the deal from Figure 5.14 on Page 90 showing the Tig­
num 2 team losing to the BB team . An arrow (—>) indicates a
card led to a trick. An asterisk (x) indicates a card th a t won a
tric k .................................................................................................................... 91
6.1
A typical microwave module, consisting of the MIC and the
housing............................................................................................................. 106
6.2
T h e design, process planning, and m anufacturing cycle for..m i­
crowave m odules............................................................................................109
6.3
An overview’ of the architecture of EDAPS, th e Electro-m echan­
ical Design and Planning System ..............................................................112
6.4
ED A PS
Process Planner HTN, p art one................................................. 122
6.5
ED A PS
Process Planner HTN, part two.................................................123
6.6
ED A PS
Process Planner HTN, part th ree.............................................. 124
6.7
ED A PS
Process Planner HTN. part four................................................ 125
6.8
EDAPS
Process Planner HTN, part five................................................. 126
6.9
ED A PS
Process Planner HTN, p art six.................................................. 127
6.10
ED A PS
Process Planner HTN, p art seven............................................. 12S
6.11
ED A PS
Process Planner HTN, p art eig h t.............................................. 129
6.12
ED A PS
Process Planner HTN, p art nine................................................130
6.13
ED A PS
Process Planner HTN, p art te n ..................................................131
6.14
ED APS
Process Planner HTN, part eleven............................................132
6.15
ED APS
Process Planner HTN. part tw elve............................................133
6.16
ED A PS
Process Planner HTN, p art th irte e n .........................................134
6.17
ED APS Process Planner operators, p art one......................................... 136
6.18
ED A PS Process Planner operators, p art tw o.........................................137
xxiv
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
6.19
ED APS Process Planner operators, part th ree..................................... 138
6.20
ED APS Process Planner operators, part four....................................... 139
6.21
ED A PS Process Planner operators, part five........................................140
6.22
ED A PS Process Planner operators, part six ......................................... 141
6.23
ED A PS Process Planner operators, part seven.................................... 142
6.24
ED A PS Process Planner operators, part eig h t..................................... 143
7.1
Sum m ary of ten designs used in tests of the EDAPS Process
P la n n e r............................................................................................................ 146
7.2
R esults of EDAPS Process P lanner tests on ten designs....................147
7.3
Schem atic circuit for R M l.......................................................................... 151
7.4
Layout for R M l............................................................................................. 152
7.5
M echanical features and com ponents for R M l..................................... 153
7.6
P lan n er input
file for R M l. p art one........................................................154
7.7
P lan n er input
file for R M l, p art two....................................................... 155
7.8
P lanner input file for R M l, p art th ree.................................................... 156
7.9
P lan n er input file for R M l. p art four.......................................................157
7.10
Echo of the translated input for R M l, p a rt one..................................158
7.11
Echo of the translated in p u t for R M l. p art tw o..................................159
7.12
Echo of the translated input for R M l. p art th re e...............................160
7.13
Echo of the translated input for R M l. p a rt four................................. 161
7.14
Echo of the translated input for R M l, p a rt five.................................. 162
7.15
Echo of the translated input for R M l. p art six................................... 163
7.16
Echo of the translated input for R M l, p a rt seven.............................. 164
7.17
Echo of the translated input for R M l, p a rt e ig h t...............................165
7.18
Echo of the translated in p u t for R M l. p a rt nine................................ 166
xxv
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
7.19
Echo of the translated input for R M l. part..........ten............................ 167
7.20
O u tp u t of the process planner on R M l: a
process plan for the
m anufacture of RM l. part o n e.................................................................. 169
7.21
O u tp u t of the process planner on R M l: a
process plan for the
m anufacture of RM l. part tw o..................................................................170
7.22
O u tp u t of the process planner on R M l: a
m anufacture of
7.23
7.24
7.26
7.27
7.28
7.29
7.30
7.31
process plan for the
R M l, part te n ................................................................ 17S
O u tp u t of the process planner on R M l: a
m anufacture of
process plan for th e
RM l, part n in e.............................................................. 177
O u tp u t of the process planner on R M l: a
m anufacture of
process plan for the
R M l. part e ig h t.......................................................... 376
O u tp u t of the process planner on R M l: a
m anufacture of
process plan for the
R M l, part seven............................................................ 175
O u tp u t of the process planner on R M l: a
m anufacture of
process plan for the
R M l, part six................................................................. 174
O u tp u t of the process planner on R M l: a
m anufacture of
process plan for th e
R M l, part five................................................................173
O u tp u t of the process planner on R M l: a
m anufacture of
process plan for the
RM l, part fo u r...............................................................172
O u tp u t of the process planner on R M l: a
m anufacture of
7.25
RM l, part th re e .............................................................171
O u tp u t of the process planner on R M l: a
m anufacture of
process plan for the
process plan for the
RM l, part eleven.......................................................... 179
O u tp u t of the process planner on R M l: a process plan for the
m anufacture of
RM l, part tw elve.......................................................... 180
xx vi
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
7.32
O utput of the process planner on R M l: a process plan for the
m anufacture of R M l. part th irteen ......................................................... 181
7.33
O utput of the process planner on R M l: a process plan for the
m anufacture of R M l. p art fourteen.........................................................1S2
7.34
Differences between R M l and R U M l......................................................1S3
7.35
O utput of the process planner on R U M l: an indication th at the
design is unm anufacturable. what p a rt of the design is unmanufacturable, and why....................................................................................184
8.1
A figure from an electronics assem bly handbook, with striking
similarities to a hierarchical task netw ork.............................................188
A .l
Example of an N-game-like tree................................................................202
A.2
Example of a P-gam e tree.......................................................................... 204
A.3
Dh and D'h versus h for various values of p ...........................................219
xxvii
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
C hapter 1
In tro d u ctio n
The Boss: “L et’s go around the table and give an u p d a te on each of
our projects.”
Employee: “My project is a pathetic series of poorly planned, near­
random acts. My life is a tragedy of emotional desperation.”
The Boss: “I t’s more or less custom ary to say things are going fine.”
Employee: “I think I need a hug.”
— Dilbert, by Scott A dam s, 10 January 1994 ([3], p. 56)
Artificial intelligence (AI) is an area of specialization in com puter science,
which has its foundations in attem p tin g to duplicate hum an intelligence with
a com puter. However, AI has expanded to address m any difficult problems—
such as game-playing and planning— whose relationship w ith hum an intelligence
sometimes seems tenuous. A I planning is an area of specialization in AI. con­
cerned with th e selection and ordering of actions th a t can be used to progress
from a state of th e world to some o ther desired state or states of the world.
Because m ost real-world planning problems are difficult, AI planning re­
searchers have needed to make simplifying assum ptions in order to solve some of
these problems a t all. These simplifying assumptions elim inated some of the dif­
ficult features th a t need to be considered to solve other problem s. For example,
in existing AI planning algorithm s, the approaches to dealing w ith uncertainty
1
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
and numerical values are insufficient to handle many im portant problems.
To address these lim itations. 1 have developed a new variant of Hierarchical
Task Network ( HTN) planning, which I call planning using TO F S (Total-Order
Forward Search). In T O F S . a planner always instantiates th e operators in a plan
in the order th a t they will be executed. The tim e sequence for all events in each
partial plan in the planner is exactly specified.
I have applied T O F S successfully to two very different real-world problems.
• The first problem was play of declarer's cards a t co n tract bridge.
My
implementation of HTN planning using TO FS, called Tignum 2. does sta­
tistically significantly b e tte r ( a = 0.025) than the best available com puter
bridge program, th e Bridge Baron.
• The second problem was autom ated process planning for the m anufacture
of microwave m odules. M y implem entation of HTN planning using TOFS.
called the E D A P S Process Planner, incorporates electronic and mechani­
cal m anufacturing processes, works concurrently with an electronic CAD
(Computer-Aided Design) tool, and provides feedback ab o u t m anufactura­
bility and lead tim e to th e designers, based on actual process plans for
the m anufacture of th e device. The EDAPS Process Planner is part of
EDAPS (Electro-Mechanical Design and Planning S ystem ), an integrated
computer system for th e design and process planning of microwave mod­
ules, developed a t th e University of Maryland.
In both domains, H TN planning using TOFS ran relatively quickly, averaging
72.70 seconds per deal in bridge, and always taking less th a n 1.5 seconds per
realistic microwave m odule, both on a SPARCstation 5. H TN planning using
9
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
TOFS also searched relatively few nodes, averaging 21S46.1 nodes per deal in
bridge, and always taking less than S300 nodes per realistic microwave module.
In this dissertation. I describe HTN planning using T O F S . the application of
HTN planning using TO FS to these two domains, and consequent observations.
I detail the ad aptations of HTN planning using TO FS required to apply it to
bridge, including the association of critic functions w ith external-agent nodes,
and the association of belief functions with m ethods. I investigate th e adap­
tations required for microwave m odule m anufacture, including a p artial plan
pruner and a plan explanation facility. I observe th a t T O F S allows th e precon­
ditions of m ethods to be w ritten w ith arbitrary com puter code, and discuss the
advantages an d disadvantages of this technique.
Because b o th research projects were successful, I am confident th a t HTN
planning using TO FS is an im portan t new AI planning methodology. To reap
the benefits of HTN planning using TO FS, a classification of domains into those
for which it is suitable and those for which it is u nsuitable m ust be further
developed.
1.1
C on trib u tion s o f This W ork
• I have dem onstrated th e effectiveness of HTN planning using T O F S (TotalO rder Forward Search). Tignum 2, my im plem entation for bridge of HTN
planning using T O F S , perform s better than any previous approach to de­
clarer play in bridge (see Section 5.2 on Page 71). T he EDAPS Process
Planner, m y im plem entation for microwave m odule m anufacture of H TN
planning using T O F S, is a successful generative process planner for mi-
3
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
crowave module m anufacture (see Section 7.1 on Page 144). I have a n a ­
lyzed particular issues involved in applying HTN planning using T O FS to
these domains (see Section S.2 on Page 192).
• I have analyzed the applicability of TO FS. I have described the ch aracter­
istics of domains in which it will work well (see Section 3.4 on Page 19).
• T he success of TO FS on real-world problems led me to closely investigate
the reasons for its success. I have m ade consequent observations about
the results of applying AI planning to the real world (see Section 8.1 on
Page 186).
• I have provided theoretical illum ination of the success of HTN planning
using TOFS in bridge. Though sim ilar approaches did not work well in
chess, I explain the characteristics of bridge th a t allow HTN planning using
TO FS to work well
1.2
(see A ppendix A on Page 199).
Sum m ary o f D isserta tio n
In C hapter 2 on Page 6, I review th e concept of HTN planning. In C h ap ter 3
on Page 12. I introduce my new idea of planning using TOFS. In C hapter 4 on
Page 21, I describe my adaptation of H TN planning using TOFS for bridge, and
its im plem entation in Tignum 2. In C h ap ter 5 on Page 60, I present the results
from tests of Tignum 2. In C hapter 6 on Page 102, I describe my ad ap tatio n
of HTN planning using TO FS for process planning for the m anufacture of mi­
crowave modules, and its im plem entation in th e EDAPS Process Planner.
In
C hapter 7 on Page 144, I present the results from tests of the EDAPS Process
4
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Planner. In C hapter 8 on Page 186. I conclude with a review of th e result? of
m y programs of research, a discussion of my consequent observations, and a look
tow ards future work.
In Appendix A on Page 199. I discuss a theoretical illumination of th e success
of HTN planning using T O F S in bridge. In A ppendix B on Page 222, I prove
th a t th e worst-case size of th e game tree generated for declarer play in bridge
by the brute-force approach is 5.55 x 1044 leaf nodes. A glossary appears in
A ppendix C on Page 227.
5
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
C h ap ter 2
In tro d u ctio n to H T N P lan n in g
“Though this be m adness, yet there is m ethod in ’t."
— Polonius, in Hamlet (act II, scene ii, line 211), by W illiam Shake­
speare, 1600-1601 ([13], p. 216)
H T N planning, a type of AI planning, proceeds by taking a com plex task to
be perform ed and considering various methods for accomplishing the task. Each
m ethod provides a way to decom pose th e task into a set of sm aller subtasks. By
applying other methods to decompose these subtasks into even sm aller tasks,
th e planner will eventually produce a set of prim itive tasks. or operators, th a t
cannot be broken down into any sm aller tasks.
Som etim es a particular m ethod can always be used to perform a p articu lar
task. Sometimes a p articu lar m ethod can only sometimes be used to perform
a p a rticu lar task. For this reason, each m ethod has preconditions th a t m ust be
tru e if the m ethod to be used.
M ethods link tasks together in a hierarchy, bu t the hierarchy does not always
have distinct levels. For exam ple, a m ethod m ight decompose a task into a set of
subtasks th a t include th a t task (consider, for exam ple, m ethod M2 in Figure 2.1
on Page 8.) Thus, the collection of tasks linked together by m ethods is called a
6
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
hierarchical task network ( HTN) . or ju st task network, rath er than a "task tree".
Note that I use a different definition of “task network” than Erol et al. [43. 44j
and other researchers do. In th eir work, a plan itself can be represented as a
task network, and the collection of tasks linked together by m ethods is called
a “decomposition hierarchy” . In my work, all plans are totally ordered, so I
need not represent a plan as a task network. Instead, I use a task network to
represent the “decom position hierarchy”—th e domain knowledge, consisting of
th e possible schemes th a t can be employed to perform th e tasks.
In contrast to the task netw orks used in m ost task-network planners, my task
networks are totally ordered; th a t is. the list of tasks for a m ethod includes the
order in which th e tasks m ust be com pleted. I explain my reasons for this choice
in Section 8.1.3 on Page 189.
HTN planning looks at all of, or some of, th e possible ways in which a complex
task to be performed can be recursively decomposed into prim itive tasks, and
then chooses the set of prim itive tasks th a t is “best” according to some criteria.
For details of my im plem entations of HTN planning, see Section 4.3 on Page 35.
and Section 6.4 on Page 113.
For the part of the task netw ork th a t I use for declarer play in contract bridge
th a t deals with “finessing” , see Figure 2.1 on Page 8.1 For the p a rt of the task
network that I use for process planning for microwave module m anufacture th at
deals with “m aking th e artw ork” , see Figure 2.2 on Page 9.
1For definitions o f “decom posable m ethod” and “operator m ethod” , see Section 4.3 on
Page 35.
i
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
! NIL |
!I
Everything})
M2 :
Something! P)
Everything!)
M3 :
Finesse!P\ Z\
operator
method: M4 :
our p la yer.
\
decomposable methods
M5 :
FinesseTwo(P2; Z
M8:
M7 :
M6:
Easy Finesse! Pi : Z )
BustedFinesse( P2; Z
StandardFinesse( P j'.Z )
tasks
| StandardFinesseTwotP?: z ]
operator
methods:
opponent
StandardFinesseThree(P3; Z)
FinesseFour( P\ ; Z )
PlayCard(P2: Z , R2)
operators
PlayC ard(P3;Z, R3)
PlayCard(
: Z ,R \)
PlayCard( P«: Z, R.
Figure 2.1: Finessing p art of the bridge task network.
S
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
complex tasks
M akin g the artwork)
"do these tasks
in this order"
primitive tasks
Precleaning for the artw ork
Photolithography
Etching
Application of photoresist
methods
P a in tin g o f photoresist
Spindling o f photoresist
Spraying of photoresist
Spreading o f photoresist
Figure 2.2: A rtw ork p art of the microwave m odule task network.
2.1
R ela ted W ork on H T N P lan n in g
“Those who cannot rem em ber the past are condem ned to repeat it.'"
— The Sense o f Beauty (part IV, “Expression” ), by George San­
tayana, 1892 ([13]. p. 703)
M y work on H TN planning draws on th e previous work of T ate with Nonlin [152, 153] and Sacerdoti w ith NOAH [124, 125, 126]. Some related work in­
cludes th a t of C urrie and T ate with O -Plan [36] and W ilkins w ith SIPE [16S, 169].
However, for bridge, I needed to modify HTN planning to be able to represent
m ulti-agency and uncertainty; for more details, see Section 4.3 on Page 35.
Some of my notation was m otivated by th a t of Erol et al. [43, 44], but note
th a t I use a different definition of “task netw ork” th an Erol et al. do. In their
work, a plan itself can be represented as a task network; in my work, I have
chosen to consider only “totally ordered” plans, so I need only use a task net-
9
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
work to represent the domain knowledge— th a t is. the possible schemes th at can
employed to perform a task.
I have also chosen to perform “forward search" to find these ‘'totally ordered"
plans. I define both terms, and justify these choices further, in Section S.1.3 on
Page 189).
These choices define a refinement strategy, a strategy for choosing which plan
refinem ent to perform next. T suneto e t al. have described the consequences of
several different refinement strategies in H TN planning [160]. (In fact, they are
currently investigating the consequences of the refinement strategy defined by
perform ing “forward search” to find “to tally ordered” plans.) As well, T suneto et
al. have shown th a t a good “forward pruning” strategy is far more im portant than
even the optim al refinement strategy, a t least in one theoretical situation [161].
I investigate the conditions under which a good “forward pruning” strategy is
possible in A ppendix A on Page 199.
2.2
H T N P lanning in B rid ge and M icrowave
M odule M anufacture
“T he best-laid schemes o ? mice and m en
Gang aft a-gley.”
— To A Mouse (st. 7), by R obert Burns, 1785 ([13], p. 408)
As we have seen, HTN planning generates search spaces in which the set of
alternativ e choices is determ ined not by th e set of possible actions, but rath er
by th e set of available schemes, ways of accom plishing tasks. These schemes are
represented by the methods in the task network.
In most situations the set of available schemes is much smaller than th e set of
10
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
possible actions. Thus, th ere is a reduction in the branching factor, the num ber
of possibilities th at must be considered at each step in the recursive planning
algorithm, in comparison to a brute-force recursive algorithm th at considers all
possible actions at every step .
Because HTN planning avoids exam ining all
possible actions, it is related to th e idea of forward pruning; for more details on
forward pruning and its relation to HTN planning, see A ppendix A on Page 199.
In bridge, the available schem es are “tactical" and “stra teg ic ” schemes based
on knowledge from th e bridge lite ra tu re [62, 163, 120.134]. In microwave m odule
m anufacture, the available schemes are processes or sets of processes of varying
degrees of complexity, based on inform ation from B rindley’s book [25], from P ete
Mendicino of N orthrop G ru m m an ’s Electronic Sensors and Systems Division [96].
and from M ark Creighton of M odular Components [35].
11
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
C hapter 3
P lan n in g U sin g TO FS (T otal-O rd er
Forward Search)
“W hat do we do now?” “I don’t know!”
“The rhym ing song, the rhyming song... ”
“Let’s all ju m p up and down and wave our arm s
And get off th e stage!” “Yeah yeah yeah!”
— “The Rhym ing Song” , from Muppet H its, by The M uppets, 1993
[1051
A list of events has total order if there is exactly one event th a t can come
first in the tim e sequence, exactly one event th a t can come second in th e tim e
sequence, and so forth. A list of events has partial order if there is some place
in th e time sequence such th a t more them one event can come at th a t place.
I give the nam e total-order planning to any approach in which all plans have
to tal order. In contrast, if any plan ever has p artial order in an approach, I give
th e name partial-order planning to th at approach.
If an approach only plans for an event when it has already planned for all
prior events in the tim e sequence, th at approach employs forward search. Note
th a t total-order planning does not imply forward search: for exam ple, total-order
plans may be constructed by startin g with a final state and planning backwards
12
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
complex tasks
i Go-To-Movie j
Go-To-Dinner-and-Movie j
methods
Go-To-Dinner
Go-To-Movie
Buy-Movie-Ticket
Watch-Movie
primitive tasks
Figure 3.1: P artial-order planner’s m ethods for the “din n er and a movie” exam­
ple.
tow ards the current state.
3.1
E xam p le
Consider th e following problem:
• T he goal is to go to dinner and a movie.
• T he prim itive tasks are Buy-Movie-Ticket, W atch-M ovie, and Go-To-Dinner. Buy-M ovie-Ticket must be performed before W atch-M ovie, and the
movie ticket m ust be for the movie watched.
• Say th a t dinner m ust happen at the Mongolian B arbecue, and th a t the
movie m ust be th e 10:20 pm showing of Grosse Pointe Blank.
• T he complex tasks m ight be Go-To-Movie, which decomposes into BuyM ovie-Ticket and Watch-Movie; and Go-To-Dinner-and-M ovie. which de­
composes into Go-To-Movie and Go-To-Dinner.
13
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
A partial-order planner might use the m ethods in Figure 3.1 on Page 13 for
th e "dinner and a movie" exam ple. The planner would start with the plan GoTo-Dinner-and-Movie. T he planner would then decom pose that task to produce
th e plan consisting of Go-To-Dinner and Go-To-Movie, w ithout any specifica­
tion on the order of these two tasks (these two tasks form a network w ith no
edges; thus, it is clear th a t partial-order planners need a task network for the
current plan). The planner m ight then decompose Go-To-Movie into Buy-MovieTicket and Watch-Movie. T h e planner might then in stan tiate Buy-M ovie-Ticket
into Buy-Movie-Ticket for th e 10:20 pm showing of Grosse Pointe Blank. The
planner m ight then in sta n tiate Go-To-Dinner into Go-To-Dinner at th e Mon­
golian Barbecue. T he planner might then impose the required ordering th at
Buy-M ovie-Ticket come before Watch-Movie, and instantiate W atch-M ovie to
th e 10:20 pm showing of Grosse Pointe Blank. T he planner would th en impose
th e ordering th a t G o-To-Dinner come before W atch-M ovie (because you c an ’t
go to dinner a f te r a 10:20 pm show), and m ight finish by imposing th e ordering
th a t Go-To-Dinner come before Buy-M ovie-Ticket.
A total-order planner w ith b a c k w a rd search m ight use the m ethods in Fig­
ure 3.2 on Page 15 for the “dinner and a movie” exam ple. The planner would
s ta rt with th e plan Go-To-Dinner-and-Movie. T h e planner would th e n try to
decompose th a t task into th e task sequence Go-To-Movie then Go-To-Dinner.
a n d into th e task sequence Go-To-Dinner then Go-To-Movie: assume it inves­
tigates the fo r m e r first. T h e planner would then in stan tiate Go-To-Dinner (it
being the la s t task) into Go-To-Dinner at the M ongolian Barbecue. T h e planner
would then decompose Go-To-Movie into Buy-M ovie-Ticket and W atch-M ovie.
T he planner would then realize th a t it cannot w atch the 10:20 pm showing of
14
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
complex tasks
Go-To-Dinner-and-Movie I
Go-To-Dinner-and-Movie
methods
Go-To-Dinner
Go-To-Movie
Go-To-Movie
Go-To-Dinner
prim itive tasks
Go-To-Movie
Buy-Movie-Ticket
Watch-Movie
Figure 3.2: Total-order plan n er’s m ethods for th e “dinner and a movie'1 exam ple.
Grosse Pointe Blank before dinner.
It would then try the o th er task sequence: Go-To-Dinner then Go-To-Movie.
T h e planner would then decompose Go-To-Movie into Buy-M ovie-Ticket and
W atch-M ovie. The planner would then in stan tiate Watch-Movie into W atchMovie at the 10:20 pm showing of Grosse Pointe Blank, instantiate Buy-M ovieTicket similarly, and finish by instantiating Go-To-Dinner into Go-To-Dinner at
th e Mongolian Barbecue.
Finally, a total-order planner w ith fo rw a rd search m ight also use the m e th ­
ods in Figure 3.2 on Page 15 for the “dinner and a movie” example. The p lan n er
would s ta rt with the plan Go-To-Dinner-and-M ovie. T he planner would th en
try to decompose th a t task into the task sequence Go-To-Movie then Go-ToD inner. a n d into th e task sequence Go-To-Dinner th en Go-To-Movie; assum e
15
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
it investigates the f o r m e r first.
The planner would then decompose Go-To-
Movie (it being the f ir s t task) into Buy-M ovie-Ticket and W atch-Movie. The
planner would then in sta n tiate Buy-M ovie-Ticket (it being the firs t task) into
Buy-Movie-Ticket for th e 10:20 pm showing of Grosse Pointe Blank, in sta n ti­
ate Watch-Movie similarly, and then realize th a t it cannot go to din n er after
watching the 10:20 pm showing of Grosse Pointe Blank.
It would then try th e other task sequence: G o-To-D inner then Go-To-Movie.
The planner would then in stan tiate Go-To-Dinner into Go-To-Dinner a t the
Mongolian Barbecue.
T h e planner would th en decompose Go-To-Movie into
Buy-Movie-Ticket and W atch-M ovie. The plan n er would then in sta n tiate BuyMovie-Ticket into Buy-M ovie-Ticket for the 10:20 pm showing of Grosse Pointe
Blank, and finish by in stan tiatin g Watch-Movie similarly.
3.2
R easons W h y O ther A I R esearchers U se
Partial-O rder P lanning
Partial-order planning has some theoretical advantages over total-order planning.
B arrett and Weld showed th a t there are domains in which partial-order planners
produce plans in tim e linearly related to the num ber of goals, whereas totalorder planners produce plans in tim e exponentially related to th e n um ber of
goals [12].
M inton et al. described a partial-order planner and a to tal-o rd er
planner such th a t the total-order planner's search space is alw ay s larger than
the partial-order planner’s search space [98].
Partial-order planning also has some practical advantages over total-order
planning.
Consider the ‘‘dinner and a movie” exam ple from Section 3.1 on
16
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Page 13.
The total-order planners m ight waste tim e considering an ordering
(movie before dinner) that does not lead to a successful plan, while th e partialorder planner can put off its com m itm ent to the ordering of Go-To-Movie and
G o-To-Dinner until the correct ordering becomes clear.
C onsider also the following exam ple, ad ap ted from an exam ple th a t D ana
Nau described [144]. Suppose th a t I w ant to arrive at a hotel in Nagoya. Jap an
w ith 100000 yen in my pocket, as soon as possible. Because th ere are a lim ited
num ber of flights to Japan, it is probably b e tte r for me first to decide w hat flight
to take, rath er than how to get to th e airport. By considering th e “fly” task
before th e “get to airport” task, I can probably constrain th e search space a
great deal.
Because I need to arrive w ith 100000 yen in my pocket, I need to change
money a t some point. However, w hether it is quicker for me to change money
in th e U nited States or in Japan is not clear until I decide how I am going to
get to th e airport, because I do not know if I will have spare tim e a t th e airport
in th e U nited States. Thus, if I consider th e “change money” task a t this point,
it is b e tte r if I do not yet specify th e order of th e “fly” task and th e “change
m oney” task.
Finally, backward search can help th e planner focus on the goal. Because it
is clear th a t I need to arrive at a hotel in Nagoya, Japan, it is clear th a t flying
from W ashington, DC, USA to Zurich, Sw itzerland will not be useful in th e plan.
17
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
3.3
R easons to C onsider the C hoice o f P lan­
ning U sing T O FS
While there are theoretical and practical advantages of partial-order planning
in some domains, these advantages do not always apply. Consider, instead, the
choice of planning using total-order forward search (T O FS).
In a state of the world, partial-order planners do not always know what
operators have been in stan tiated prior to this current state. Because their plans
are partially ordered, the plans often contain actions th a t m a y o r m a y n o t have
already been performed. P artial-ord er planners typically handle this problem by
restricting the preconditions and effects of m ethods and operators to lists of
logical atoms.
In contrast, a planner using TO FS d o e s always know exactly w hat operators
have been instantiated prior to this current state. T hus, a planner using TO FS
can use arbitrary com puter code to represent the preconditions and effects of
methods and operators. T his makes im plem entation much easier, especially for
complicated domains th at do not lend themselves to representation by logical
atoms.
Consider yet again the “dinner and a movie” exam ple from Section 3.1 on
Page 13. Say th a t it is possible to buy popcorn at th e movie, and th a t buying
popcorn at the movie requires having enough money to do so, but results in a
better plan (and a b etter date!) A partial-order planner may not know w hether
it has enough money to buy popcorn at the movie until it decides how much
dinner will cost— partial-order planners have trouble w ith numerical values such
as money, because they are difficult to represent w ith logical atom s.
But a
IS
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
planner using TOFS will know e x a c tly how much money it has at the tim e that
it plans for watching the movie (and possibly buying popcorn.)
To sum m arize, because partial-order planners do not impose an order on
their plans, they do not know th e current state. Thus, they have difficulty using
the current sta te to guide preconditions, and have problem s with uncertainty,
complexity, geometry, and anything else th at is difficult to represent w ith logical
atoms. In contrast, because a planner using TOFS imposes an order on its plans,
it can use any aspects of the current sta te to guide preconditions.
Backward search helps a planner focus on th e goal. But HTN planning also
helps a planner focus on the goal, by restricting the search to methods th a t help
achieve the goal. HTN planning thus allows forward search while m aintaining a
focus on the goal.
A planner using TOFS can also take advantage of the power of approaches
for total-order tree search th a t have already been developed. In single-agent
dom ains, such approaches include branch-and-bound. In m ulti-agent domains,
such approaches include ad ap tatio n s of alpha-beta pruning. In either kind of
dom ain, such approaches include transposition tables.
3.4
D om ains S u itab le for H T N P lanning using
TO FS
Domains suitable for HTN planning using TO FS m ust have c h a r a c te r is tic s
t h a t m a k e to ta l- o r d e r f o r w a r d s e a rc h a t t r a c t i v e . These reasons include
uncertainty, geometry, num erical values in preconditions, or any requirem ent
that a planner com pute a com plicated function to determ ine whether a m ethod
19
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
is applicable in the current state.
Domains suitable for HTN planning using T O F S must also have no c h a r a c ­
te r is tic s t h a t m a k e t o t a l - o r d e r fo rw a rd s e a r c h u n a ttr a c tiv e . There must
be no “bottlen eck ” decisions late in the plan, such as “which-flight-to-take-toJapan?”—or it m ust be possible to address such decisions with m ethods in the
HTN. Also, am ong the variables in tasks th a t m ust be performed early, there
m ust be no variables worth leaving unbound until late in the planning.
20
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
C h apter 4
P la n n in g in D eclarer P lay at C on tract
B rid ge
“I don’t understand how th e last card is played
B u t somehow a vital connection is m a d e ... ”
— “C onnection” , from Elastica. by Elastica. 1995 [42]
4.1
R elated W ork in G am e-P laying
The problem of declarer play a t contract bridge is certainly a problem in gameplaying.
I discuss the state of the a rt in game-playing here to provide some
perspective on the state of th e a rt in bridge.
I consider games in which AI
approaches have had success in Section 4.1.1 on Page 22, and one game o th e r
than bridge in which AI approaches have not had success in Section 4.1.2 on
Page 25. I then can investigate the sta te of the art in bridge in Section 4.1.3 on
Page 26.
My approach to bridge is a planning approach with multi-agency, uncertainty,
and incom plete information. Therefore, I need to describe th e related work in
gam e-playing with uncertainty, and th e related work in planning with m ulti-
21
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
agency, uncertainty, and incom plete inform ation, as well as the related work in
planning in games. Thus. I investigate gam e-playing with uncertainty in Sec­
tion 4.1.4 on Page 30; planning w ith multi-agency, uncertainty, and incom plete
inform ation in Section 4.1.5 on Page 31: and planning in games in Section 4.1.6
on Page 32.
4.1.1
G am es in W h ich A I A p p roach es Have H ad Suc­
cess
A perfect-information game is a gam e in which all players have the sam e am ount
of inform ation [20]. If all players know all possible moves and their determ inistic
results for all players in all situations in a gam e, I call the game a standard
perfect-inform ation game. If there is a random elem ent in a game—say. the roll
of th e dice— that no player has more inform ation about that any other player. I
call th e game a perfect-information game with randomness.
AI approaches have had success w ith some popular games.
I consider in
Section 4.1.1.1 on Page 22 games th a t have been “solved’'; in Section 4.1.1.2 on
Page 23 a game th a t has been nearly “solved” ; in Section 4.1.1.3 on Page 24
stan d ard perfect-inform ation games in which AI has had success; and in Sec­
tion 4.1.1.4 on Page 25 backgam m on, a perfect-inform ation game with random ­
ness in which AI has done very well.
4 .1 .1 .1
Gam es T h at H ave B een “S olved ”
All th e games th a t have been “solved” or nearly “solved” are standard perfectinform ation games. By solved, I mean th a t th ere exists a program th a t is guar­
anteed to play optim ally under tournam ent conditions (that is. reasonable tim e
99
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
limits).
Allis et al. have solved three of these games using techniques called "proofnum ber search” and “dependency-based search” [6 ]. The first game to be solved
was Connect Four [4]. played by two players on a vertical board with seven
columns and six rows. Players altern ate dropping checkers into columns until
a player gets four checkers of th a t player's color in a row. winning; or until all
columns are full, which is a draw. Allis proved th a t Connect Four is a win for
the first player, and wrote a program th at plays perfectly as the first player.
T he second gam e to be solved was Qubic, two-player three-dimensional tictac-toe on a four-by-four-by-four cube [5]. W hile Patashnik had proven th a t
Qubic is a win for th e first player in 1977 [113]. th e game was not solved because
Patashnik did not w rite a program th a t played optim ally under tournam ent
conditions (though it was probably a simple extension of his work.) Allis et al.
presented an alte rn ate proof th a t Qubic is a win for the first player, and wrote
a program th a t plays perfectly as the first player.
T h e third game to be solved was go-moku. two-player five-in-a-row on a
fifteen-by-fifteen board [7]. Allis et al. proved th a t go-moku. as well as a similar
variant o f go-moku, are wins for the first player, and w rote a program th a t plays
both variants perfectly as the first player.
4.1 .1 .2
N in e M e n ’s Morris: A G am e T h a t H as N early B een Solved
Nine M en's M orris, also known as Merrills or Mill, is a two-player game on
a board with twenty-four spaces arranged in th ree linked concentric squares.
Gasser [55] has proven by exhaustive endgam e databases and alpha-beta search
th at Nine M en’s Morris is a draw . However, G asser has not yet written a program
23
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
th a t plays perfectly u nder to u rn a m e n t conditions, so th e g am e is not yet solved.
4.1.1.3
Standard P erfect-in fo rm a tio n Games
“I thought I was sm art b u t I soon found out
I didn’t know w hat life was all about
But then I learned I m ust confess
T hat life is like a game of ch ess... ’’
— “It A in’t W hat You Do ( I t’s th e Way That You Do I t) ” , from The
Fun Boy Three, by T he Fun Boy T hree with B ananaram a. 1982 [52]
C hess: No other game has received as much atten tio n from th e AI com­
m unity as chess, a tw o-player game w ith thirty-tw o
sixty-four squares [166, 167,
8 8
pieces on a board with
, 18. 70. 99]. Deep Blue, which grew out of Deep
Thought [71] is acknowledged to be the best com puter chess program : it played
human world cham pion G arry K asparov in a six-game m atch under stan d ard
tournam ent conditions on 10-17 February 1996. Kasparov won th e m atch by
th e score of three to one, w ith two draws [64, 72].
C h ec k e rs: AI researchers have studied checkers, a tw o-player gam e w ith
twenty-four pieces on a board w ith sixty-four squares, since a t least 1967 [127].
Chinook [130] is the best checkers player— human or m achine— still alive [64,
131]. In 1994, th e best hum an player in the world was Dr. M arion Tinsley:
Tinsley played six games of th e M an-M achine World C ham pionship against
Chinook—all draws— before resigning due to illness. Chinook then played Don
Lafferty, U.S. checkers cham pion, in a twenty-game m atch, which ended tied one
to one, with eighteen draws. In a rem atch with Don Lafferty in Jan u a ry 1995,
Chinook won by the score of one to zero, w ith thirty-one draws. Tinsley died in
April 1995.
O th e llo :
Othello (also called Reversi). a two-player gam e in which play-
24
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
ers (usually) fill up all sixty-four squares of the board, has received significant
atten tio n from AI researchers [ST. 100. 45]. Logistello is probably the w orld's
best Othello-playing program, winning sixteen of the twenty-one tournam ents
in which it has participated since O ctober 1993 [26. 28]. Logistello may well be
b e tte r at O thello than any hum an, b u t no hum an-com puter Othello m atches of
significance have yet been held [27]; Logistello is scheduled to play Takeshi M u­
rakami, current human Othello world cham pion, in a six-game match in A ugust
1997 [29].
4 .1 .1 .4
Backgam m on: a P erfect-in fo rm a tio n G am e w ith R an d om ­
ness
Backgammon— a two-player game w ith th irty pieces on a board consisting of
tw enty-four separate points—differs from chess, checkers, and Othello in th a t it
has an elem ent of randomness resulting from the roll of the dice. Backgammon
has received attention from AI researchers for some tim e [11], being—by v irtu e
of its random ness—the first board or card game in which a com puter b eat a
world champion, albeit in a short m atch [17]. TD -G am m on is a self-training
neural network program th a t lost by only one point in a forty-game m atch to
Bill R obertie, a former world backgam m on champion [154].
4.1.2
Go:
One G am e in W h ich A I A pproaches H ave
N o t Had Success
W hile Go, a two-player game where players place stones on a 381-square board
(nineteen-by-nineteen), is a standard perfect-inform ation game, it has not re­
sponded well to any AI approaches to d ate [78, 102]. Because a player may
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
play on almost any open square on th e board, the branching factor for the
game is in the hundreds, and thus the game tree is too big to search in any
reasonable am ount of time. H andTalk. by Chen ZhiXing. is probably the best
com puter Go program to date: it won the 1995 and 1996 FO ST cups, and the
1995 Interational C om puter Go Congress. HandTalk beat two of three human
“experts”—all youth champions, nine or ten years old—in 1995, but HandTalk
had a 13-stone handicap [103, 104].
4.1.3
C on tract Bridge: A n o th e r G am e in W h ich A I A p­
proaches Have N o t H ad Success
Contract bridge— a four-player gam e w ith fifty-two cards, w ith rules as described
in Section 4.2.1 on Page 32—is a n o th er gam e in which AI approaches had not
succeeded. Because I devote much of th e dissertation to th e developm ent and
implem entation of an autom ated approach to declarer play a t contract bridge.
I investigate the related work in bridge in detail here. I begin by sketching the
work in com puter bidding in Section 4.1.3.1 on Page 26. I th en summarize the
prior work in com puter bridge play in Section 4.1.3.2 on Page 27, and discuss
Ginsberg's ongoing work in com puter bridge play in Section 4.1.3.3 on Page 28.
I myself have previously described my approach to com puter bridge play in
numerous papers [137, 138, 139, 142, 144. 146].
4.1.3.1
C om p u ter B idding in B rid ge
Stanier im plem ented a prim itive com puter program for bidding [147].
John
Smith implem ented a com puter program th a t modeled p a rtn e r’s hand and the
26
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
opponents' hands 1 and did some rule-based reasoning and bidding in non-com­
petitive auctions [136]. Lindelof used a machine-learning approach to sim ulta­
neously build a com puter program and bidding system for non-com petitive auc­
tions [90]. Gamback et al. combined a rule-based expert system w ith a neural net
to do simple bidding in both non-com petitive and com petitive auctions [53. 54],
4.1.3.2
C om puter P lay in B rid ge
While Stainer only im plem ented a prim itive bidding program, his ideas about
play still offer insight today [147]. Q uinlan wrote a knowledge-based system
for reasoning about high cards, but it never developed into an algorithm for
play [119]. Berlin proposed an approach to play of the hand a t bridge th a t is
similar to mine [15]; sadly, he never had a chance to develop th e approach (his
paper was published posthum ously).
T here are no really good com puter program s for card-playing in bridge, es­
pecially in comparison to the success of com puter programs for chess, checkers,
and Othello. G reat Game P ro d u cts’ Bridge Baron, the best available com puter
bridge program (see Section 5.2.1 on Page 72 for details), can be beaten by a
reasonably advanced novice.
Sterling and N ygate wrote a rule-based program for recognizing and executing
squeeze plays, b u t squeeze opportu n ities in bridge are rare [148]. Frank et al.
have proposed a proof-planning approach (sim ilar to the approach th a t Gamback
et al. proposed for play [53, 54]), b u t thus far, they have only described the results
of applying this approach to planning th e play of a single suit [49]. K hem ani has
'T h e player doing the bidding cannot see partner’s hand nor the opponents’ hands, but
those players give clues about their hands by their calls during the bidding.
27
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
investigated a case-based planning approach to n olrum p declarer play, but has
not described th e speed and skill of the program in actual com petition [77].
T he approaches to play used in current com m ercial bridge programs are based
almost exclusively on domain-specific techniques. O ne approach is to make as­
sum ptions a b o u t th e placem ent of the opponents' cards based on inform ation
from the bidding and prior play, and then search th e game tree resulting from
these assum ptions. T his approach was taken in the Alpha Bridge program, with
a 20-ply (5-trick) search [91]. However, this approach did not work very well: at
the 1992 C om puter O lym piad. A lpha Bridge placed last.
Play of b e tte r quality can be achieved by generating several random hy­
potheses for w hat hands th e opponents might have, and doing a full completeinform ation gam e-tree search for each hypothesized hand. This approach, which
I call the M onte Carlo approach, is used late in th e game in the Bridge Baron.
However, this approach a t first seems feasible only late in the game, after most
of the tricks have been played, because otherwise th e game tree is too large to
search to any significant d epth w ithin the tim e available.
4 .1.3.3
G in sb e r g ’s A pproach to C om puter P la y in Bridge
Ginsberg has proposed using a M onte Carlo approach throughout the deal, em ­
ploying clever techniques th a t m ake it possible to perform such a full gam e-tree
search in a reasonable am ount of tim e [57, 58, 162]. Called “partition search",
G insberg’s approach speeds up the full gam e-tree search by combining many
sim ilar nodes in th e gam e tree.
On the one hand, Frank and Basin have shown some pitfalls in any approach
th at treats an incom plete-inform ation problem as a collection of complete-infor-
28
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
m ation problems, as all Monte Carlo approaches do [50]. T here is not yet any
concrete evidence th at these pitfalls can be overcome, though G insberg thinks he
has a theoretical solution that he describes as an "algorithmic nightm are" [59].
As well, in contrast to my tests of T ignum 2 against the Bridge Baron (see
Section 5.2.3 on Page 75 for details), G in sb erg s approach has not been tested
on random deals against any other bridge program .
On the oth er hand, since the w riting of this dissertation began, G insbergs
program , known as G IB (Goren In a Box), seems to be growing increasingly
successful. G insberg tested his program , as well as the Bridge Baron, on a suite
of 180 problem deals—th a t is, deals of bridge cards constructed by humans to
test particular aspects of a players bidding or play. GIB m ade all the correct
plays in 116 out of the 180 deals, while th e Bridge Baron only scored 33 out of
180 [60].
GIB has an additional advantage. Consider my program, Tignum 2. Tig­
num
2
requires a hum an to do knowledge engineering—th a t is. descriptions of
specific knowledge about its problem dom ain (bridge) in a form at th a t it can
understand [92]— to improve its task network and thus its play. A faster com­
p u ter improves th e quality of the play of Tignum 2 only on those deals in which
Tignum 2 exceeds w hatever tim e lim its are applicable.
GIB needs no such knowledge engineering (though G insberg can certainly
improve his program by coding the algorithm s to run faster). A faster com puter
makes GIB play b e tte r immediately.
How does G IB com pare to Tignum
2
?
1. GIB does declarer play and defensive play. Tignum 2 only does declarer
play. (G insberg is adding bidding algorithm s to his im plem entation; these
29
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
bidding algorithm s use "partition search*' to resolve difficult bidding deci­
sions.)
2. It is not clear which program plays b e tte r. GIB has not been compared
directly to Tignum 2, and th e indirect com parisons to the Bridge Baron are
on incom parable scales— a huge advantage on problem deals will probably
tran slate to a sm aller advantage on random deals.
3. Even if GIB is b e tte r th an Tignum 2 now, T ignum 2’s knowledge engineer­
ing m ay be turned to its advantage. F u tu re knowledge engineering may
im prove Tignum 2’s play to be b e tte r th an G IB ’s. There are no theoretical
restrictions on th e quality of Tignum 2’s play, in contrast to the apparent
theoretical restrictions on G IB ’s play.
4. A hybrid HTN plan n in g /p artitio n search approach may prove to be b etter
th an either GIB or T ignum 2 on its own.
C om pare the “hybrid alpha-
be ta/b est-first m inim ax search” approach, which has proven to be b e tte r
th a n either “alpha-beta” or “best-first m inim ax search” alone [82].
5
. H TN planning has the advantage of “know ing” why it does what it does,
and thus having an easier tim e of explaining it to a human user. In general,
because HTN planning is closer to how hum ans seem to play bridge th an
p artitio n search is, H TN planning has a b e tte r chance of shedding light on
hum an cognitive processes.
4.1 .4
G a m e-P la y in g w ith U n cer ta in ty
Some work has been done on extending gam e-tree search to address uncertainty.
Horacek introduced uncertainty to his chess p ro g ra m s com putations to improve
30
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
its play in the endgam e [70].
B allard’s approach to backgammon included a
game-tree search w ith uncertainty [11]. However, these works do not address
games, such as bridge, which do not have perfect inform ation.
4.1.5
P lan n in g w ith M u lti-A gen cy, U n certain ty, and In­
co m p lete In form ation
Some work has been done on planning with uncertainty and incom plete inform a­
tion. focusing on sm all-scale problem s w ith only a few uncertain conditions in the
state of the world [117, 40, 83, 33]. Problem s on a grander scale are starting to
be studied [65, 23, 89]. T he lim itation of these partial-order planning approaches
is that they do not scale well, because they have difficulty with preconditions
involving uncertainty, geometry, or num erical values.
Much of the previous research on m ulti-agent planning has dealt with dif­
ferent issues than those th a t concern us here. In reactive planning [38], the
agent m ust respond in real tim e to externally-caused events— and the necessity
of making quick decisions largely precludes the possibility of reasoning far into
the future. In cooperative m ulti-agent planning [61, 116], th e prim ary issue is
how to coordinate the actions of cooperating agents—and this makes it largely
unnecessary for a single planning agent to generate a plan th a t accounts for all
of the alternative actions th a t anoth er agent might perform.
Planning for contingencies deals w ith issues closer to those th a t concern us
in bridge [118]. However, w ithout planning with uncertainty, even planning with
contingencies cannot handle th e problem of reasoning about situations th at have
different probabilities.
31
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
4.1.6
Planning in G am es
W ilkins uses “knowledge sources" to g enerate and analyze chess moves for both
the player and the opponent [166. 167]. T hese knowledge sources have a sim ilar
intent to the “m ulti-agent m ethods” th a t I describe in Section 4.3 on Page 35—
but there are two significant differences.
F irst, because chess is a perfect-
information game, W ilkins's work does not address uncertainty and incom plete
information, which m ust be addressed for bridge play. Second. W ilkins's work
was directed at specific kinds of chess problem s, ra th e r th a n the problem o f play­
ing entire games of chess; in contrast, I have developed a program for playing
entire deals of bridge.
4.2
Introduction to B rid g e
4.2.1
R ules o f B ridge
Bridge is a card game th a t is played by four players called North. East, South,
and W est, using a standard 52-card playing deck. N orth and South are p artn ers
against East and W est. A Bridge gam e consists of a series of deals. In each deal,
the cards are distributed evenly am ong the four players; thus, each player has a
hand of thirteen cards. Then, there is an “auction” followed by thirteen “tricks”
of play.
T he purpose of the auction is to decide who gets to declare what the “tru m p
suit” is, and how m any “tricks” this declarer needs to take. The auction consists
of a num ber of calls which are m ade by th e players one at a time, s ta rtin g with
the dealer and progressing clockwise. A call is eith er a bid to take a certain
num ber of “tricks” with a certain “tru m p su it” , or a Pass. Double, or Redouble.
32
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
A player may only bid to take a num ber of tricks between seven and thirteen: by
convention, a bid of
1
m eans seven tricks, a bid of
2
means eight tricks, and so
forth, up to a bid of 7. m eaning th irteen tricks. If the auction begins with four
Passes, it ends im m ediately; otherw ise, the auction ends after th ree consecutive
Passes.
Unless the auction began w ith four Passes, the play begins. T he contract
is the last bid th a t was m ade, plus any doubling or redoubling after that bid.
The trump suit is the suit ( £ , 0 ,
or A) of the last bid th a t was made (or
no suit if the last bid was a No Trum p bid.) The declarer is the player who
made the last bid (not call) in th e auction— unless his partner m ade the first bid
of the same suit for th a t partnersh ip in the auction, in which case this partner
becomes declarer. The player on declarer’s left plays a card, th e opening lead.
Then dum m y, or declarer’s p a rtn e r, lays down his hand for th e declarer to see
and play and for the defenders, or opponents, to see.
After everyone plays a card, the trick is over. The w inner of a trick leads
to the next trick. A trick is won by the player who plavs th e highest card in
the trum p suit, if any; otherw ise, the trick is won by the player who plays the
highest card in th e sam e suit as th e card th a t was led (played first in a trick.)
Tricks won by dum m y count for declarer; tricks won by eith er defender count
for the defensive partnership.
Each player m ust play a card in the led suit whenever possible. (If the led
suit was not trum p, but a player plays a trum p card, it is called a ruff.) After
all thirteen tricks have been played, scoring occurs, based on w hether declarer
took all the tricks contracted for or not, how m any extra tricks or how much
shortfall there was. and w hether th e contract was doubled or redoubled. The
33
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
declarer receives a positive score only by making at least as m any tricks as the
contract specifies.
4.2.2
A b stra ct C h a ra cteristics of B ridge
“She said. ‘Don’t hand me no lines
And keep your hands to yourself!’ ”
— “Keep Your H ands to Yourself” , from Let It Rock: B est o f the
Georgia Satellites, by T he Georgia Satellites. 1993 [56]
In this dissertation, I consider th e problem of declarer play a t bridge. My
player controls two agents, declarer and dummy. Two other players control two
other agents, the defenders. T he auction is over and th e contract has been fixed.
T he opening lead has been m ade and the dummy is visible. T he hands held by
the two agents controlled by my player are in full view of my player at all times;
the other two hands are not, hence th e im perfect inform ation.
As I described in Section 4.1.1 on Page 22, game-tree search has worked well
in perfect-inform ation games. However, it does not always work as well in other
games, such as bridge. Bridge is an im perfect-information game, in which the
players have different am ounts of inform ation. Usually, no player has com plete
knowledge about the sta te of th e world, th e possible actions, and th eir effects.
Thus the branching factor of th e gam e tree is very large. Since th e bridge deal
m ust be played in ju st a few m inutes, a full game-tree search will not search a
significant portion of this tree w ithin the tim e available.
Bridge has the following characteristics th a t are necessary for my approach:
1
. Only one player m ay move at a t tim e.
2
. In general, no player has perfect inform ation about th e cu rren t sta te S .
However, each player has enough inform ation to determ ine whose tu rn it
34
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
is to move.
3. A player may control more than one agent in the gam e (as in bridge, in
which th e declarer controls two hands rather th an one). If a player is in
control of the agent A whose tu rn it is to move, th en the player knows
w hat moves A can make.
4. If a player is not in control of th e agent A whose tu rn it is to move, then
the player does not necessarily know w hat moves A can make. However,
in this case the player does know the set of possible moves A m ig h t be
able to make; th a t is, th e player knows a finite set of moves Y such th a t
every move th a t A can m ake is a member of V .
My approach is applicable to any domain with these characteristics. Modifica­
tions of my approach m ay be possible if some of these characteristics are missing.
4.3
M y A lgorith m for D eclarer P la y in C on­
tract B rid ge
4.3.1
O verview o f M y A lgorith m
My algorithm for declarer play in contract bridge is based on the observation
th a t bridge is a game of planning. For addressing various card-playing situ a­
tions, the bridge literatu re describes a number of tactical schemes, or sh o rt-term
card-playing tactics, such as finessing and ruffing; the bridge literatu re also de­
scribes a num ber of strategic schem es, or long-term card-playing tactics, such as
crossruffing. (I arbitrarily define “short-term ” as one or two tricks, and “long­
term ” as longer than two tricks.) It appears th a t there is a small num ber of such
35
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
schemes for each bridge deal, and that each of them can be expressed relatively
simply. To play bridge, many humans use these schemes to create plans. They
then follow those plans for some num ber of tricks, re-planning when appropriate.
I have taken advantage of the planning n a tu re of bridge, by adapting and
extending some ideas from task-netw ork planning.
To represent th e tactical
and strategic schemes of card-plaving in bridge. I use multi-agent, m ethods—
structures sim ilar to the “action schem as” or “m ethods” used in hierarchical
single-agent planning systems such as N onlin [152, 153], NOAH [124, 125. 126].
0 -P la n [36], and S IP E [168, 169], but m odified to represent multi-agency and
uncertainty.
To generate gam e trees, I use a procedure sim ilar to task decomposition. The
m ethods th a t perform my tasks correspond to th e various tactical and strategic
schemes for playing the game of bridge.
I th en build up a game tree whose
branches represent moves th a t are generated by these methods. This approach
produces a gam e tre e in which the num ber of branches from each state is d eter­
mined not by th e num ber of actions th a t an agent can perform, but instead by
the num ber of different tactical and strateg ic schemes th a t the agent can employ.
If at each node of th e tree, the num ber of applicable schemes is smaller th an the
num ber of possible actions, this will result in a sm aller branching factor, and a
much sm aller search tree.
4.3.2
P ro b lem R ep resen tation
A bstractly, I will consider the current s ta te S (or any other state) to be a col­
lection of ground atom s (th a t is, com pletely in stan tiated predicates) of some
function-free first-order language £ th a t is generated by finitely m any constant
36
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
sym bols and predicate sym bols.
I do not care w hether this is how 5' would
actually be represented in an im plem entation of a game-playing program .
Among other things. 5 will contain inform ation about who th e players are.
a n d whose turn it is to move. To represent this inform ation. I will consider 5 to
include a ground atom A gent(x) for each player x, and a ground ato m Turn(t/)
for the player y whose tu rn it is to move. For exam ple, in the gam e of bridge. 5
would include the ground atom s Agent(N orth), A gent(South), A gent(E ast). and
A gent(W est). If it were S o u th ’s turn to move, th en S would include th e ground
ato m Turn(South).
I will be considering S from the point of view of a particular player V (who
m ay be a person or a com puter system). O ne or more of the players will be
u nder "P’s control; these players are called th e controlled agents (or som etim es
“ ou rv agents). The other players are the uncontrolled agents, o r my player's
opponents. For each controlled agent x, I will consider S to include a ground
ato m C ontrol(x). For exam ple, in bridge, suppose V is South. T hen if South
is th e declarer, 5 will contain th e atoms C ontrol(South) and C ontrol(N orth), as
well as ->Control(East) and -iControl(W est).
Because V is playing an im perfect-inform ation gam e, V will be certain about
some the ground atoms of 5 , and uncertain ab o u t others.
To represent the
inform ation about which V is certain, I use a set of ground literals I s called V 's
state inform ation set (I will w rite I rath er th a n I s when the context is clear).
Each positive literal in I s represents som ething th a t V knows to be tru e about
5 , and each negative literal in Is represents som ething th a t V knows to be false
ab o u t S . Because I require th a t V knows whose tu rn it is to move. I s will include
a ground atom Turn(y) for th e agent y whose tu rn it is to move, and ground
37
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
atoms -> T urn(rJ for each of the o th er agents. For example, in bridge, suppose
that V is South. South is declarer, it is S o u th 's turn to move, and South has the
4 6 but not th e 4 7 . Then Is would contain th e following literals (among others):
C ontrol(N orth),
-■ T urn( N orth).
H as(S o u th .4 ,6 ),
-> C ontrol(E ast),
Control(South).
-> Turn (E ast).
Turn(South).
-> Control(W est').
-> T urn(W est).
-> H as(S outh .4 ,7 ).
Unless South somehow finds o u t w hether West has the 4 7 . Is would contain
neither H as(W est,4,7) nor -< H as(W est.4 ,7 ).
In practice, V will know I b u t not S . Given a state inform ation set / , a state
5 is consistent w ith I if every literal in I is true in S. /" is the set of all states
consistent w ith I.
V m ight have reason to believe th a t some states in I m are more likely th an
others. For exam ple, in bridge, inform ation from the bidding or from prior play
often gives clues to the location of key cards. To represent this, I define V s
belief fu n ctio n to be a probability function j : /* —►[0,1], where [0,1] = {x :
0
< x <
1
}.
To represent th e possible actions of th e players, I use operators som ew hat sim ­
ilar to those used in STRIPS [48]. More specifically, if AT, -V2, . . . , AT a re vari­
able sym bols, then a primitive operator 0(A T; AT, • . . . AT) is a triple (P re(O ).
A dd(O ), Del((9)), where Pre(O ), A dd(O ), and Del(O) are as follows: 2
1. P re(O ), th e precondition fo rm u la , is a formula in £ whose variables are
all from { A T ,...,A T } .
P re(O ) m ust always begin with “Agent(AT) A
Turn(AT) A . . . \
2T he sem icolon separates A*t from the rest o f the arguments because A’i is the agent who
uses the operator when it is AVs turn to move.
38
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
2. Add(O) and Del(O) are both finite sets of atom s (possibly non-ground)
whose variables are all from {A'i
A'n }. A dd(O ) is called the add list
of O. and Del(O) is called the delete list of O.
For example, in bridge, one operator might be P la y C a rd (P ; Z . R). where the
variable P represents the player (N orth, East, South o r W est). Z represents the
suit played (4k, 0 ,
or 4k), and R represents the rank (2. 3. . . . , 9, T (for 10).
J, Q, K, or A). P re(P layC ard) would contain conditions to ensure th a t player P
has the card of suit Z and rank R. A dd(PlayC ard) an d D el(PlavCard) would
contain atoms to express th e playing of the card, the removal of the card from
th e player’s hand, and possibly any trick which may be won by the play of the
card.
I define applicability in th e usual way: if 0{ay; <Z2 , 0 3 , . . . , an ) is an instantia­
tion of a prim itive operator O , then 0 { a \\
5 if Pre( 0 (a!; a 2 . 0 3 ,
0 2
, a3, . . . , an ) is applicable in a state
a n )) is tru e in S. If 0{ai', a 2. a 3, . . . , a n ) is applicable in
some state S a € /*, and if C o n t r o l ^ ) holds, then I require th a t the instantiation
be applicable in all states S € /*. This will guarantee th a t, as required, if V
is in control of th e agent a x whose tu rn it is to move, th en V will have enough
additional inform ation to determ ine which moves a t can make. In bridge, for
example, if V has control of South, and it is South’s tu rn , then V knows what
cards South can play.
I let S be th e set of all states, and J be the set of all state information sets.
An objective function is a partial function / : S —*■ [0,1]. Intuitively, f { S )
expresses th e perceived benefit to V of th e state S; w here f { S ) is undefined, this
means th a t S ’s perceived benefit is not known. In bridge, for states representing
the end of the deal, / m ight give the score for the p a rtic ip a n t’s side, based on
39
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
the num ber of tricks taken. For other states. / might well be undefined.
Game-plaving programs for perfect-inform ation games make use of a static
evaluation function, which is a total function e : S —*■ [0,1] such th a t if 5 is a
state and f { S ) is defined, then e(S) = f { S ) . In im perfect-inform ation games,
it is difficult to use e(S) directly, because instead of knowing th e s ta te 5 . all V
will know is the state inform ation set I . Thus. I will instead use a distributed
evaluation function e’ (7) = U se/* p( S) e ( S) .
Intuitively, e*(7) expresses the estim ated benefit to V of th e set of states
consistent with the state inform ation set I. My game-playing procedure will use
e” only when it is unable to proceed p a st a s ta te .3
A game is a pair G = (C. O ) where C is th e planning language and O is a
finite set of operators. G represents th e rules of th e game. Given a gam e G, a
problem in G is a quadruple Q = (7s, ,p , / , e), where 7s, is the s ta te inform ation
about an initial state S \, j is a belief function, / is an objective function and e
is a static evaluation function. For exam ple, if G is the game of bridge, then the
problem Q would be a particular hand, from a particular player’s point of view.
All the information required to com pute e“ is expressed in e and j , th u s I need
not include e' in my definition of Q.
3However, I can imagine that in tim e-sensitive situations, one might want to modify my
procedure so that it som etim es uses e* on nodes that it can proceed past, ju st as chess-playing
com puter programs use a static evaluation function rather than searching to the end o f the
gam e.
40
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
4.3.3
M u lti-A g en cy in Task N etw orks
Given a game G = (C . O ) and a problem Q = (7 s ,.p ./ . c) in G. the set of all
plausible initial states for Q is th e set /£ of all states consistent with / s , . The
set of all states th a t might plausibly occur as a result of th e various players'
moves is the set T q of all states th a t can be reached via sequences of legal moves
from states in I * s In general, T q is a proper subset of S . b u t T q is usually
quite large.
Much of the difficulty of gam e-playing is due to the large num ber of states
in Tq th at m ust be examined and discarded. In order to avoid generating and
examining every sta te in T q (as would be done by a brute-force search procedure),
I will attem p t to generate only those states that appear to fit into coherent
tactical and strategic schemes such as finessing, ruffing, and crossruffing.
My approach is an adap tatio n of hierarchical task netw orks (HTNs). I use
two kinds of multi-agent m ethods to build a task network: “op erato r m ethods1'
and “decomposable m ethods” . An operator method is a trip le M = (T . F , E ).
where
1. T is a task. This may e ith e r be the expression ‘N IL 1 or a syntactic ex­
pression of th e form N ( AT; AT, A T ,. . . , X n) where N is a symbol called th e
name of the task, and each X is a variable of C. N ote th a t n may be 0. in
which case th e task has no variables. If n > 1, then a semicolon separates
A’i from the rest of the argum ents because AT is th e agent whose turn it is
to move when the m ethod is used. If, when an o p erato r m ethod M is used,
AT is an opponent, then M m ust associate both a critic and a weighting
function w ith th e branch th a t it creates in the gam e tree, as described in
Section 4.3.4.3 on Page 57 and 58.
41
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
EverythingOI
M2:
Something! P )
M3:
operator
method: M4:
our pla y e r.
\
decomposable methods
M5:
PlayC ard(P ; Z, R\
FinesseTwo(Pi\ Z
M7:
M6 :
| EasyFinesse(p 2 ; Z)
M8 :
BustedFinesse(P 2 ; Z
StandardFinesse(P 2 ; Z)\
tasks
StandardFinesseTw o(P;; z \
operator
methods:
opponent
StandardFinesseThree( P 3 ; Z)
FinesseFour( P«; Z)
PlayCard ( P z jZ .f o )
operators
P layC ard(P 3 ;Z , P 3)
PlayCard( P«: Z. R *)
PlayC ard(P 4 : Z. R\
Figure 4.1: Finessing p art of the bridge network of m ulti-agent m ethods.
42
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
2. F is th e precondition formula of M . This may be any formula in C that is
sufficient to ensure the tru th of the precondition form ula of th e operator
instantiation 0 {t x, t 2
t m) described below.
3. E is a syntactic expression 0 { t \ . t 2
tm). where O is an operator in O.
and tx, t 2, . . . , tm are term s of C.
A decomposable method is a triple M = (T . F . E ), where
1. T is a task. This may eith er be the expression ‘N IL \ or a syntactic expres­
sion of th e form N { X i \ X 2. X 3
, A'n ), where N is a symbol called the
nam e of the task, and each A', is a variable of C.
Note th a t n may be 0, in which case the task has no variables. If n > 1.
then a semicolon separates AT from the rest of th e argum ents because AT
is th e agent whose tu rn it is to move when the m ethod is used.
2. F , th e precondition form ula, is any formula in C such th a t if n > 0 above,
then F is sufficient to ensure the tru th of the atom Agent(AT).
3. E is a (possibly em pty) tu p le of tasks
(2T(*l,li
, T . m , )•
T 2 { t 2 'i , t 2 '2 ,
. . . , <2,m2 )< ' ‘
•
Tk(tk.l ,tk.2,
....
h,m k ) ) •
E . called the expansion list, lists th e subtasks th a t m ake up this method.
For declarer and dummy, networks of methods are used to represent ta cti­
cal schemes such as finessing and ruffing. For defenders, networks of methods
represent tactical schemes such as causing the finesse to fail or to succeed.
For exam ple, consider Figure 4.1 on Page 42, in which th e task Finesse(P; Z )
represents th e tactical scheme of finessing. In a finesse. I try to win a trick with a
43
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
D e c o m p o sa b le m ethods:
T:
NIL
F:
NIL
E:
E v erything()
T:
Everything()
F:
Agent ( P ) ATurn( P)
E:
Som ething(P ) then Everythingf)
T:
Som ething(P)
F:
A gentfPlA O nLeadfPlA (M A C R O :Trum pD raw n(P)) A
(M ACRO:FinesseInSuit(P; Z))
E:
F inesse(P ; Z)
T:
Finesse(P: Z)
F:
A gent(P)A Turn(P)A N ext(P, P2 )
E:
LeadLow( P ;Z ) then FinesseTwo(P; Z)
T:
FinesseTw o(P 2 ; Z)
F:
A gent(P 2 )ATurn(P2)A (M ACRO:Singleton(P2; Z. R)) A
(M ACRO:KeyFinesseCard(Z. R))
E:
EasyFinesse(P2: Z)
Figure 4.2: Some of th e m ethods and operators used in th e finessing part of the
network of m ulti-agent m ethods for bridge.
44
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
M ore d e c o m p o sa b le m ethods:
T:
FinesseTw o(P2: Z)
P:
A gent(P 2 )ATurn(P 2 )A (MACRO:VoidInSuit(P2; Z))
E:
B ustedFinesse(P 2 ; Z)
T:
FinesseTw o(P 2 ; Z)
F:
A gent(P 2)ATurn(P2)A Has(P2; Z , R ) A (R ^ P 2) A
(MACRO :KeyFinesseCard(Z, R 2 ))
E:
StandardF inessefP j: Z)
Operator method:
T:
LeadLow( P; Z )
F:
Agent (P ) A (M A C R O :Playable(P; Z. R)) A (M ACRO:LowestInSuit(P: Z, R))
E:
PlayC ard(P: Z, R)
Operator:
Name:
Preconditions:
P lay C ard (P ; Z, R)
A gent(P)A (M ACRO:Playable(P; Z, R))
Add list:
P lay ed (P ; Z ,P )A (M A C R O :TurnC hangeA dds(P;Z.P))
Delete list:
H a s (P ;Z , P )A ( M ACRO:TurnChangeDels(P; Z, R))
Figure 4.3: Some more of th e m ethods and o p erato rs used in the finessing p art
of the network of m ulti-agent m ethods for bridge.
45
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
high card by playing after the opponent that has a higher card: see Figure 4.4 on
Page 49. and Figure 4.6 on Page 56. for an exam ple of a decision tree for a finesse.
The task S tandardF inesse(P 2; Z ) is the core of the tactical scheme of a finesse.
The task FinesseFour(P4; Z ) represents the defenders causing the finesse to fail or
to succeed. “Two” in FinesseTw o(P2; Z ) and StandardFinesseTw o(P2: Z ) refers
to the second card played to the trick; similarly “Three” and “Four” . For th e
meaning of B ustedFinesse(P2: Z ) and EasvFinesse(P2: Z ). see Section 4.3.4.2 on
Page 55.
Some of the m ethods used in Figure 4.1 on Page 42 are shown in Figure 4.2
on Page 44, and Figure 4.3 on Page 45. The syntax
(MACRO:MacroName(AT; X 2. X 3— , A'„))
means th a t MacroName(AT; A 2, . . . , A n ) is not an atom of £ , but expands into a
second-order form ula of C. For example. (M A CR O :Playable(P; Z , R ) ) expands
into
H as(P ; Z, P )A T u rn (P ) A (O nLead(P)V SuitLed(Z) V (S u itL e d ( Z \) A
(V R xK -H as(P; Z U R X)))).
I present a detailed exam ple using these m ethods in Section 4.3.4.2 on Page 53.
If an in stantiation of a m ethod (say M (at; a 2, a3, . . . , a n)) is applicable in
some state S a 6 I ' , and if C ontrol(ai) holds, then 1 require th at th e instantiation
be applicable in all states S 6
This will guarantee th a t if V is in control
of the agent a x whose tu rn it is to move, then V will have enough additional
inform ation to determ ine which m ethods are applicable. In bridge, for exam ple,
this means th a t if V has control of South, and it is South’s turn, then V knows
what strategic and tactical schemes South can employ.
46
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
Let M be a set of operator m ethods and decomposable m ethods. Then M
is a network o f m ulti-agent methods. Figure 4.1 on Page 42 shows how m ethods
link tasks together, m aking a "network".
In contrast to the task networks used in most task-netw ork planners, my task
networks are totally ordered; th a t is, the expansion lists in all the decom posable
methods are in the o rd er in which tasks must be com pleted.
For exam ple,
nowhere do I allow a single decom posable m ethod to generate two tasks such as
“Set Up (Spade) Suit” and “G et a (H eart) Ruff” w ithout specifying the order
of the tasks. I explain my reasons for this choice in Section 8.1.3 on Page 189.
Some of the tasks used for bridge in my im plem entation are listed in Sec­
tion 5.1.2 on Page 62.
4.3.4
G a m e-P la y in g P roced u re
My gam e-playing procedure constructs a decision tree, as described in Sec­
tion 4.3.4.1 on Page 48, and in Section 4.3.4.2 on Page 53. It th en evaluates
the decision tree to produce a plan for playing some or all of the gam e, as de­
scribed in Section 4.3.4.3 on Page 56. It then executes this plan eith e r until the
plan runs out, or until some opponent does something th a t the plan did not an­
ticipate (at which point th e procedure will re-plan); this execution is described
in Section 4.3.4.3 on Page 58.
47
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
4.3.4.1
C o n stru ctin g a D ecision Tree
Given a network of multi-agent m ethods and a s ta te inform ation set /. my
game-playing procedure constructs a decision tree rooted at / . 4 A decision tree
resembles a gam e tree.5 It contains two kinds of non-leaf nodes: decision nodes.
representing th e situations in which it is V s tu rn to move, and extemal-agent
nodes. representing situations in which it is some ex tern al ag en t’s tu rn to move.
The tree’s leaves are nodes where the procedure has no m ethods to apply, either
because the gam e has ended, or because the m ethods sim ply do not tell the
procedure w hat to do.
Each node of the decision tree D will contain a s ta te inform ation set and a
sequence of 0 or more tasks to be solved. My procedure for creating D is as
follows:
Let the root of D be a node containing the s ta te inform ation set /
and no tasks. Do the following steps repeatedly:
1. Pick a leaf node u of D such th a t u is not th e end of th e game
and th e procedure has never tried to expand u before. If no
4I use the term “decision tree” as it is used in the decision theory literature [51, 46, 47].
as well as the learning literature, to represent a structure sim ilar to a gam e tree. I am n o t
employing “decision trees” (also, and less ambiguously, referred to as “comparison trees” [79])
as they are defined in the sorting literature ([34], p. 173). I apologize for the confusion, but it
is inescapable.
5In the decision theory literature, what I call extem al-agent nodes are usually called “chance
nodes” , because decision theorists usually assume that the external agent is random. What I
call leaf nodes are usually called “consequence nodes” , because they represent the results of
the paths taken to reach them .
48
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
our move
S -» Q
Hr>ii=^2-Q^o
S— ♦ o
“FINESSE"
Later
ta c tic a l
ploys
.umm
i
al *
a3
a4
E—* K ^~-s S—*3
W —* 2 ,
i
opponent’s move
Figure 4.4: Decision tree generated on m y example. For th e sake of clarity, some
nodes have been om itted . Labeled notes are explained in the text.
such node exists, then exit, retu rn in g D. O therw ise, let I u be
the s ta te inform ation set in u , and U — (f7j. £-2 , . . . , Un) be the
sequence of tasks in u.
2. For each instantiated m eth o d M th a t is applicable to u, let v
be th e node produced by applying M to u. Install v into D as
a child of u. (Below, I define the term s “in stan tiated m ethod,”
“applicable,” and “produced.” )
Planning stops when all rem aining leaf nodes cannot be expanded. A leaf
node cannot be expanded if there are no m ethods to perform th e first task in its
task sequence; usually, this happens at th e end of the game.
Using the netw ork shown in Figure 4.5 on Page 50, th e procedure m ight
generate a piece of a decision tree for finesse such as th a t shown in Figure 4.4 on
Page 49. I will give an exam ple of an operation of this procedure in Section 4.3.4.2
on Page 53.
An instantiated method is any ground instance M of some method M . Let
49
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
NIL
O ur players: East declarer.
West dummy
Opponents: Defenders.
South and North
Contract: East—3NT.
Everything!)
On lead: West at trick 3.
East:
West:
*K JT4
AA2
Out:
AQT98653
Something!/*)
Everything!)
Finesse! P; S )
LeadLowfP; S)
PlayCard ( P ; S , R t )
FinesseT wo( P i ; S)
West—* 2
StandardFinesse( P2; S)
AV s^
(North—AQ)
StandardFinesseTwo! P2 ; S)
7
V/
(North—A3)
StandardFinesseThree( P i;S )
FinesseFourf P\ ; 5)
PIayCard(/?2 ; S y R 2 )
PlayC ardfP$;Sy Rz)
North—^ 3
East—AJ
PlayCardfP\;S, R\)
South—# 5
PlavCard(P4; S y R A)
South— ♦Q
Figure 4.5: In stan tiatio n of the finessing p art of the network.
50
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
u be a node whose state inform ation set is /„ and whose task sequence is U =
(U 1 .U 2 ........f'n)- Then an in stan tiated m ethod M = ( T . F . E ) is applicable to u
if:
1. Either U is em pty and T is NIL. or T matches U\.
2. Some state S consistent w ith /„ satisfies F . i.e.. some s ta te 5 € / ' satisfies
F.
If V is in control of th e agent A u whose turn it is to move at node u. and if
one state S consistent w ith I u satisfies F , then all states S ' consistent w ith Iu
(i.e., all S ' € /*) satisfy F . I m ade this property a requirem ent of my m ulti-agent
methods in Section 4.3.3 on Page 46. Because all states S ' consistent w ith I u
satisfy F , it follows th a t F C /„.
If V is n o t in control of th e agent A u whose turn it is to move at node u , then
it is possible for one state S \ consistent with Iu to satisfy F , while some other
state S 2 consistent w ith /„ does n o t satisfy F. In this case, my procedure will
need to assume th a t F holds, so th a t it can investigate w hat happens when some
opponent makes a move using th e instantiated m ethod M . O ther in stan tiated
methods iV/j, M 2, . . . , M m will investigate what happens in states where F does
not hold.
For exam ple, in Figure 4.4 on Page 49, before investigating the uncontrolled
agent’s move Play (N orth; ♦ , 3), my procedure would need to make th e assum p­
tion th at North holds the ^ 3 . T he procedure would investigate th e o th er moves
for West under different assum ptions (say, that North holds only the 4kQ, or
th at North holds no spades.)
If M is applicable to u, then applying M to u produces the node v whose
state inform ation set I v and task sequence V are as follows:
•51
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
• If M = (T. F. E ) is a decom posable m ethod, then I v = Iu U F. Intuitively,
/t- is I u with all th e conditions in F assum ed.
If M = (T . F . E ) is an
operator m ethod, th e n Iv = [(/„ U F) — D el(£’)] U Add(£'). Intuitively. /,
is / u. with all the conditions in F assum ed, and then all the conditions in
Del(.E') deleted, and all the conditions in A d d (£ ) added.
• K M = ( T , F . E ) is a decomposable m ethod and E = (Vi,V 2 ,
Vm).
then V = {VX,V 2. . . . ,V m,U 2,U 3 ____ Un ). Intuitively, this corresponds to
saying th a t th e tasks V i,V 2
,V m need to be solved before a tte m p tin g
to solve the tasks U2,U 3 , . . . , Un. If M is an operator m ethod, th en V =
(U2,U3, . . . , U n).
• If M = (T, F , E ) is an operator m ethod, th en E is associated w ith th e edge
from u to u.
Recall th a t given a decision tree, a solution tree consists of all th e nodes
reachable from the root by taking some p ath at a node where it is o u r move,
and all paths at a node w here it is th e o p p o n en ts’ move. Each solution tree in
the decision tree represents an alternative plan. However, as seen in F igure 4.4
on Page 49, branches in m y decision tree correspond to possible schem es, not
to cards in the various hands. All opponents’ moves are completely in stan tiated
in my decision tree. I will show in Section 4.3.4.3 on Page 58 how a com pletely
instantiated card can represent a possible scheme, and on 59 what to do if the
opponent makes a move th a t does not ap p ear in my decision tree.
52
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
4.3.4.2
E xam p le o f D ecision-T ree C on stru ction
As an example, consider the situation in which “our" players (the players of which
V is in control) are E ast, the declarer, and W est, th e dummy. The opponents.
North and South, are th e defenders. The co n tract is 3NT by East. West is on
lead at trick 3. E ast has th e 4 KJ74. West has th e
6
A2. and the
6
QT9S653
are in N o rth s and S o u th s hands, although my program does not know who
holds which spades.
Initially, th e decision tree consists of the root node a, containing th e state
information set I a and th e task sequence Va- I a contains the following literals:
-> C ontrol(N orth),
C ontrol(East),
-> C ontrol(South),
C ontrol(W est),
-> T urn(N orth),
-> T urn(E ast),
-> T urn(S outh),
Turn(W est).
H as(E ast.^ .K ),
H as(E ast,4M )
H as(E ast.^,7)
H as(E ast.4 ,4 )
Has(W est,4k,A),
H as(W est,4,2)
-> Has(West,4k,Q)
-> H a s(E a st,4 ,Q )
-< Has(West.4k,T)
-> H as(E ast,4 ,T )
(and various other literals)
Va = (), the e m p ty sequence.
T he only in sta n tiated m ethod applicable to a is M l in Figure 4.1 on Page 42.
Thus, node a l becomes the child of a. Va\ = (E verythingO ). Iai = I a, because
Ml has no preconditions.
T he only in sta n tiated m ethod applicable to a 1 is M2 in Figure 4.1 on Page 42,
with the instan tiatio n P = West. Thus, node a2 becom es the child of a l. Va 2 =
(Som ething(W est), E verythingO ).
/ a2
= 7ai, because M 2 ’s only preconditions, as
seen in Figure 4.2 on Page 44, are A g en ^ P jA T u n ^ -P ). Indeed, if it is my player's
turn to move a t a node u, then for any child v of u produced by a decomposable
53
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
m ethod. /,. = /„. because I v = /UUF by th e definition of "produces": and F C /„.
as I dem onstrated when describing the applicability of F to u in Section 4.3.4.1
on Page 51.
The in sta n tiated m ethod applicable to a'2 which I will describe in this section
is M3 in Figure 4.1 on Page 42, with the instantiations P = W est. Z = 4k. Thus,
node a3 becomes th e child of a2.
V a 3 = (Finesse(W est: 4k), EverythingO).
I a 3 = la2 - O ther in sta n tiated methods are applicable to a2. such as the method
for cashing all th e high cards in E ast’s and W est’s hands. These methods are
indicated by th e dots in Figure 4.1 on Page 42, Figure 4.5 on Page 50. and
Figure 4.4 on Page 49.
The only in sta n tia te d m ethod applicable to a3 is M4 in Figure 4.1 on Page 42,
w ith the instan tiatio n s P = West, P2 = N orth, Z = 4 -
Thus, node a4 be­
Va 4 = (LeadLow(W est; 4k), FinesseTwo(North; 4k).
comes the child o f a3.
EverythingO ). I a4 = / a3-
The only in sta n tia te d method applicable to a4 is M5 in Figure 4.1 on Page 42.
with the instan tiatio n s P = West, Z = 4k, R = 2. Thus, node b becomes the
child of a4. V& = (FinesseTwo(N orth; 4k), EverythingO ).
Ib =
[(/a4 U F ) - D e l ( ^ ) ] u A d d ( £ )
=
[Ia4 - Del(F)] U A d d (F )
=
[ / a4
— {Has(W est.4k,2).Turn(W est)}] U
{Played (West ,4k, 2), T urn(N orth)}.
W est’s play of th e 4k2 is associated with the edge from a4 to 6 .
EcisyFinesse(P2; Z ) refers to a finesse in which the first opponent plays the
card that my program is trying to trap. In th e current situation, if North plays
54
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
the 4kQ. East can play the 4kK. and now the 4kJ is a card th at is sure to win
a trick.
B ustedFinesse(P2: Z ) refers to a finesse in which the first opponent
plays a card in a suit other than the suit led, in which case it is clear th a t the
first opponent does not have the card th at my program is try in g to trap. In
the cu rren t situation, if N orth plays the 4k3. West would have to play th e 4kK.
because South m ust have the 4kQ and the finesse m ust fail.
T h ree in stan tiated m ethods are applicable to 6 : M 6 . M7. and MS. They are
decom posable m ethods whose tasks are FinesseTw o(P2; Z ) w ith th e in stan tia­
tions Pi = N orth, Z = 4k:
• M 6 ’s expansion list is (EasyFinesse(P2; Z )). M 6 also has th e instantiation
R = Q. For M 6 , node d becomes
6
’s child. Vj = (EasyFinessefN orth:
4k), EverythingO ). M 6 ’s preconditions include (M A CRO :H asSingletonInS u it(P 2; Z, R )) A (M A CRO :K eyFinesseCard(Z, R )), and th u s /<* = /<, U
{H as(N orth, 4k, Q), ~’Has(N orth, 4k, 3), -<Has(North, 4k, 5), . . . , ->Has(
North,4k, T )}.
• M 7’s expansion list is (B ustedFinesse(P2; Z )).
b's child.
For M7, node g becomes
Vg = (BustedFinessefN orth: 4k), E verythingO ).
M 7‘s pre­
conditions include (MACRO: VoidInSuit(P2; Z ) ). and th u s Ig = h U
{->Has(North,4k,3),->Has(North.4k,5),. . . ,->Has(North.4k, Q )}.
• M S’s expansion list is (StandardFinesse(P2; Z )). MS also has the in stan ti­
ations R = 3 , R i = Q . For MS, node c becomes
6
’s child. Vc = (S tan d ard -
Finesse(N orth; 4k), EverythingO). MS’s preconditions include H as(P2; Z,
R ), and thus Ic = R U {Has(North.4k, 3)}.
The re st of th e decision tree in Figure 4.4 on Page 49 is generated in a similar
oo
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
: "FINESSE"
our move
S -*Q
0.5
r
N- * 3 r j E~ * J
S—4*5
^ T
0.0078
W— * 2
<E)
+270.73
N—* 3
0.0078
U --------- U ---------+630
+630
E—* K ^
S—*3
+600
i +630
0.5
+265
+265
(— I E - * K ^
5—4k3
opponenCs move
+270.73
o
i -100
a+600
i +630
,+ 600
Figure 4.6: Evaluation of the decision tree generated on my exam ple. For the
sake of clarity, many nodes have been om itted.
m anner.
4 .3 .4 .3
D ecision-T ree E valuation and P la n E xecution
Given a decision tree D , V will want to evaluate this tree by assigning a utility
value to each node of th e tree. As my program generates the decision tree D (as
described in the previous section), it is possible to evaluate it at th e sam e time.
However, for the sake of clarity, this section describes the evaluation of D as if
th e entire tree D had already been generated. Refer to Figure 4.6 on Page 56.
In perfect-inform ation games, the usual approach is to use the m inim ax pro­
cedure, which com putes the maxim um at nodes where it is V s move, and the
minimum at nodes where it is the opponent’s move. In the decision theory litera­
tu re, this procedure is referred to as the Wald maxim in-retum decision criterion.
This decision criterion is less appropriate for im perfect-inform ation games: be­
cause my program does not know what moves th e opponent is capable of making,
it makes less sense to assum e th a t the opponent will always m ake th e move th a t
is worst for my program . Thus, a more com plicated criterion which considers
the belief function is to be preferred, such as th e weighted-average-of-utilities
56
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
criterion outlined below.
Let v be an external-agent node whose children are u i
u„. For each u t. let
/, be the state inform ation set contained in u,. Suppose my program has already
com puted a utility value W{
6
[0 . 1 ] for each u,. Then I define a external-agent
criterion to be an algorithm C that retu rn s a utility value w = C {u, tii, . . . , u„)
for the node u.6
Many external-agent criteria can be used, taking ideas from the pure decision
criteria in the decision theory literature (such as “Hurwicz's optim ism -pessim ism
index” , “Savage’s m inim ax regret” , and W ald’s maximin retu rn ).
Some will
make use of the belief function j , others will not. In bridge, I generally use
an external-agent criterion th a t gives a w eighted average of the u tility values
Wi resulting from the best move the opponents could make in all th e states
consistent with th e sta te information set / . The weights are com puted using j
by functions associated w ith each operator m ethod th at yields opponents’ moves,
as described in Section 4.3.3 on Page 41. A weight represents th e probability
th a t th e opponent makes a given move, an d the functions com pute th e weights
on the basis of inform ation from the prior bidding and play.
Given a decision tree, a external-agent criterion for each uncontrolled agent,
an objective function, and a belief function, my program will evaluate th e deci­
sion tree as follows:
6T his definition o f external-agent criterion is som ew hat different from the usual definition
o f decision criterion in decision theory ([51], p. 28), which essentially defines decision criteria
on a two-level structure o f decision nodes and chance nodes, without the belief function j .
However, I believe that my definition, while in theory is not always as powerful, is in practice
strong enough to implement m ost desirable decision criteria in most domains.
ot
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
1
. The utility value of a leaf node u is the value of e '{I). where I is the state
information set associated w ith u. Recall that if / . the objective function,
is defined at a state 5 . th e n e(5 ) = f { S ) . Thus, if my program has reached
the end of the game, then th e objective function is used, as desired.
2. The utility value of an external-agent node u is the value C ( u . u ! . u 2. ---un), where iq , u 2, • • •* «n are the children of u.
3. The utility value of a decision node u is the maximum of the u tility values
of its children.
Although this evaluation m ay be com puted recursively as defined, th ere may
also be more efficient com putations (for example, if C (u, ui, u 2, . . . , un ) were
the minimum of the utility values of iq , u 2, . . . , un, then my program could use
alpha-beta pruning as a more efficient com putation of m inim ax).
Once the decision tree is solved, a plan (a policy in the decision th eo ry liter­
ature) has been created; V will, a t the sta te information set associated with any
decision node, simply choose th e m ethod th at leads to the node w ith highest
utility value.
This plan can be thought of as a contingency plan. After each of m y moves,
the tree includes nodes th at m atch most of the opponent’s possible responses: the
subtree below each such node represents th e plan my program will use to respond
to the oppo n en ts move. Each node where it is the opponent’s move contains a
planned card (the card my program thinks the opponent is most likely to play),
as well as a critic function (as m entioned in the list beginning in Section 4.3.3 on
Page 41). The purpose of this critic function is to tell us if certain o th e r cards
match by virtue of being “equivalent” to the planned card. For exam ple, the
58
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
critic associated with th e m ethod for StandardFinesseTw o(P 2 : ■?) in Figure -I.I
on Page 42. and Figure 4.5 on Page 50. would accept any of 4k3. 4*5- 4*6- 4*8.
* 9 . or 4>T as equivalent to 4k3.
Note th a t my definition of “critic” is consistent with th e stan d a rd definition of
“critic’* in the Al planning literatu re: “a function th a t takes a plan as in p u t and
returns a modified plan w ith some conflict or other anomaly co rrected ” ([123].
p. 379). Ju st as in stan d a rd Al planning, th e existence of a critic function does
not guarantee th at th a t critic function can be used.
“I said, ‘thanks, t h a t ’s very nice
A ppreciate your good advice
B ut things don’t always go th e way th a t I planned’. . . ”
— “My Heart Goes B ang” , from Youthquake, bv Dead or Alive,
1985 [37]
V follows the plan as far as possible. If the plan takes V to th e end of the
game, then th e problem is solved. If the plan should term in ate before th e end of
the game— which may occur e ith er because an external agent perform s an action
which is not present in th e plan, or because the plan has reached a previously
unexpanded node— then V sim ply re-plans, startin g at th e node where th e plan
ends.
59
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
C hapter 5
R esu lts o f B rid g e R esearch
“Here is the news
From my little hideaway
My sweet ivory to w e r... ”
— “Ivory Tower” , from Prostitute, by Alphaville, 1994 [8 ]
5.1
T ignum 2
Using the HTN planning techniques discussed in C h ap ter 4 on Page 21, I have
w ritten a program for declarer play at contract bridge, called Tignum 2. Tig­
num 2 is more th an 16000 lines of C. I first w rote Tignum 2 for declarer play
in deals where th e tru m p su it was No Trump, and then extended Tignum 2 for
play in deals w ith any tru m p suit.
For background, I review Tignum . the ancestor of Tignum 2, in Section 5.1.1
on Page 61. I describe T ignum 2’s knowledge base in Section 5.1.2 on Page 62.
I analyze the speed of Tignum 2 in Section 5.1.3 on Page 70. I investigate the
strength of Tignum 2’s bridge play in Section 5.2 on Page 71. and Section 5.3 on
Page 77. I discuss some of my observations about com puter bridge in Section 5.4
on Page 97.
60
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
5.1.1
T ignu m
I implemented Tignum as a prototype of a program for declarer play at con­
tra c t bridge [139]. Tignum was more th a n 9000 lines of C. Since Tignum was a
prototype and its knowledge base was both too small and too inaccurate. I did
not carry out extensive tests. However. I perform ed some prelim inary tests of
Tignum on a suite of bridge deals.
I developed my suite of bridge deals with several criteria in mind. Some of
them I developed to present various “worst case’' situations to Tignum, some I
developed to represent “norm al” bridge deals, and some I developed to represent
situations th at had caused problems to previously developed bridge programs.
My test of Tignum had the following results:
• On my suite of deals, the largest search tree generated by Tignum con­
tained 1301 t o t a l nodes. Since I had selected my suite of deals to include
deals th a t I had thought would generate “worst-case” sized search trees,
I believe th a t Tignum would not generate search trees significantly larger
than this. T his represents a large im provem ent over th e 5.55 x 104 4 le a f
nodes th a t a brute-force gam e-tree search would generate in th e worst case
(see A ppendix B on Page 222.)
Remember th a t the num ber of to ta l nodes in a tree is significantly greater
that the num ber of leaf nodes in th e same tree. T hus, when one of my pro­
grams generates far fewer to ta l nodes than a brute-force game-tree search
would generate le a f nodes, one of my program s generates even farther
fewer le a f nodes than a brute-force gam e-tree search.
• On deals th a t presented situations to Tignum th a t could be solved by
61
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Contract: South—5 4
Lead: West—0 6
Deal:
North
4 432
P 5432
0 5432
4 32
West
East
4 T98
4 7
P Q96
P JT87
0 T8 6
O Q J9 7
4A 987
4 K Q JT
South
4 AKQJ65
P AK
0 AK
* 654
Play:
W
N
E
S
-0 6
0 2 OJ OA*
*"
*2
*J*—+ 4
[Set up ruff]
OT
0 3 -0 "
OK*
48
4 3 4 T —4 5
[Set up ruff]
08
0 4 —0 9 45*
49
42* 4 Q — + 6
[Take ruff]
4 9 —4>3 4 7 4A*
48
44 4 K -4 K *
4 T
05
OQ—4>Q*
4A
P2 08 —4 J*
<76
0 3 0 7 —46*
<79
<74
<7T—PA*
<7Q <75 P J —PK*
Figure 5.1: One of the deals th a t Tignum , ancestor of T ignum 2, correctly solved.
schemes in Tignum 's lim ited knowledge base, T ignum cam e up w ith th e
correct plans. An exam ple is shown in Figure 5.1 on Page 62, where Tignum
successfully set up and took a club ruff in dummy.
W hile Tignum dem onstrated th a t I could generate small gam e trees and still do
correct play within the lim ited set of situations th a t its m ethods addressed, its
stru ctu re did not allow us to add m ethods to generalize its capabilities. Tignum 2
overcame these limitations.
5.1.2
T ignum 2 ’s K n ow led ge B ase
Because Tignum 2’s stru ctu re allows us to add m ethods to generalize its ca­
pabilities, the play of Tignum 2 continues to improve as I further develop th e
knowledge in its HTN. The tasks used in Tignum 2 a t present are shown in
Figure 5.2 on Page 63. Figure 5.3 on Page 64, Figure 5.4 on Page 65, Figure 5.5
on Page
6 6
. Figure 5.6 on Page 67. and Figure 5.7 on Page
6
S. I decided on
62
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Task nam e
Task d escrip tio n
Everything
Play the whole deal
Something
Use a particular strategic or tactical scheme
CashOut
Cash all the winners in declarer's and dummy's hands
CashHand
Cash all the winners in a particular hand
CashYVinner
Cash a winner in declarer’s hand in a particular suit
CashDummy Winner
Cash a winner in dummy
CashFollowed
Cash a winner in declarer's hand: have the
opponents follow suit
CashDummy Followed
Cash a winner in dummy; have the opponents follow
suit
Cash a winner to discard a potentially losing card
GetDiscard
in the other hand
Think about crossing from declarer to dummy, or
ConsiderCross
vice versa
SimpleCross
Cross from declarer to dummy, or vice versa
SimpleCrossNotlnTrump
Cross from declarer to dummy, or vice versa, not in
trump
LeadLow
Lead a low card
Finesse
Take a finesse
StandardFinesse
Play in a standard finesse
StandardFinesseThree
Play third hand in a standard finesse
MarkedStandardFinesse
Play in a marked finesse
ProvenFinesse
Play in a proven finesse
ProvenFinesseThree
Play third hand in a proven finesse
Figure 5. 2: Tasks used in Tignum 2, p art one.
63
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
Task nam e
Task d escrip tion
PlaySetCard
Play a card in a sequence
Play Set Followed
Play a card in a sequence: have the opponents follow
suit
Consider Length
Think about setting up a low card to win a trick
LengthWinner
Set up a low card to win a trick
WaitForControl
Wait to get back on lead before continuing
Follow
Follow to a trick th a t the opponents led
FollowVoid
Follow to a trick when void in the suit led
FollowSuit
Follow to a trick when holding cards in the suit led
Ruffin
Ruff a trick when void in the suit led
DiscardLow
Discard a low card when void in the suit led
DiscardDuringCash
Discard a low card when void in the suit led while
cashing out
FreeFinesse
Play a card in second hand that might win a trick
ThirdHandLow
Play a low card when third hand
ThirdHandHigh
Play a high card when third hand
ThirdHandEquiv
Play a card in third hand equivalent to a particular
card
ThirdHandCover
Play a card in third hand th at covers the card
that an opponent played in second hand
PlayLowInSuit
Play the lowest card in a particular suit when third
hand
ThirdHandRufF
Play a trump card in third hand when void in the
suit led
Figure 5.3: Tasks used in T ignum 2. part two.
64
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
T ask n am e
Task d escrip tio n
ThirteenthTrick
Play the thirteenth trick
ConsiderHard
Think about setting up a low card by losing some
tricks in a suit
HardLength Winner
Set up low card by losing some tricks in the suit
HardCash
Cash a winner before losing some tricks
HardWinner
Cash a winner in declarer’s hand before losing some
tricks
HardDummy Winner
Cash a winner in dummy before losing some tricks
HardFollowed
Cash a winner before losing some tricks; have the
opponents follow suit
HardDummy Followed
Cash a winner in dummy before losing some tricks;
have the opponents follow suit
HardLose
Lose a trick to set up a low card
LoseTrick
Lose a trick
LoseFollowed
Lose a trick; have the opponents follow suit
HardDuck
Intentionally lose a trick to preserve high cards
for crossing
DrawTrump
Play cards in the trump suit to remove cards in the
trump suit from the opponents’ hands
Crossruff
Ruff repeatedly in declarer’s and dummy's hands
Figure 5.4:: Tasks used in Tignum 2. p a rt three.
65
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Task n am e
Task d escrip tio n
ConsiderRuff
Think about setting up a low card opposite a void to
get a ruff
Set Up Ruff
Set up a low card opposite a void to get a ruff
RuffLow
Ruff with a low card
RuffRuffed
Ruff a trick, forcing the opponents to ruff with a
higher card
Cash all the winners and take all the ruffs in
RuffOut
declarer’s and dummy’s hands
CashTrumps
Cash all the winners in the trump suit
ForceThemRuff
Force the opponents to ruff by cashing winners
CashRuffed
Cash a winner in declarer’s hand, forcing the
opponents to ruff
CashDummy Ruffed
Cash a winner in dummy’s hand, forcing the
opponents to ruff
Figure ;5.5: Tasks used in Tignum 2, p a rt four.
66
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Task nam e
Task d escrip tio n
FinesseTwo
Opponents: play in second hand during a finesse
StandardFinesseT wo
Opponents: play in second hand during a standard
finesse
Easy Finesse
Opponents: play a card being finessed against
BustedFinesse
Opponents: show void in suit during a finesse
FinesseFour
Opponents: play in fourth hand during a finesse
FreeFinesseThree
Opponents: play in third hand during a free finesse
MarkedFinesseT wo
Opponents: play in second hand during a marked
finesse
MarkedFinesseFour
Opponents: play in fourth hand during a marked
finesse
P roven Fi nesseT wo
Opponents: play in second hand during a proven
finesse
Figure 5.6: Tasks used in T ignum 2, part five.
67
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Task nam e
Task d escrip tio n
ThemNot Winner
Opponents: play a card th at does not win the trick
ThemAny
Opponents: play any card
ThemLead
Opponents: lead to a trick
Them Void
Opponents: follow to a trick when void in the suit
led
Opponents: follow to a trick when holding cards in
ThemSuit
the suit led
Them Win
Opponents: win a trick
Them Any Low
Opponents: play any low card
ThemSplit
Opponents: follow to a trick, possibly void
in the suit led, possibly not
ThemSpIitLess
Opponents: follow to a trick, possibly void in the
suit led, possibly holding cards that do not beat a
particular card
ThemSuitLess
Opponents: follow to a trick when holding cards in
the suit led that do not beat a particular card
ThemRuff
Opponents: ruff a trick
ThemOverruff
Opponents: ruff a trick with a higher card than
the card with which declarer ruffed
ThemRufFFour
Opponents: play in fourth hand during a ruff
ThemFinesse
Opponents: take a finesse against declarer
Stop
Stop planning
Figure 5.7: Tasks used in T ignum
6
2
, p art six.
S
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
these tasks based on knowledge from the bridge lite ra tu re [62. 163. 120. 134].
Second hand refers to th e player who plays th e second card to a given trick:
sim ilarly third hand and fourth hand. A winner is a card that is higher than
any cards th e opponents hold in its suit. A sequence is a set of cards, such as
the
and ♦ Q . such th a t one of the cards m ust eventually be a winner: if the
4kK loses to th e opponents’ 4kA, the 4kQ is th e highest remaining spade, and is
thus called a sequence winner. A length winner is a card that is not part of a
sequence, but th at becomes a winner after th e opponents run out of cards in
the suit. A marked finesse is a finesse th at is likely to be successful, because a
sim ilar finesse in the sam e suit has already worked. A proven finesse is a finesse
th a t is known to be successful, because fourth h an d is known to be void'in the
suit. To follow suit is to play a card in the sam e suit as the card led to the
current trick. To cross is lead to a winner in p a rtn e r’s hand, so th a t p artn er is
on lead. To cash is to play a winner for the purposes of winning a trick. To draw
trump is to lead a card in the trum p suit to force th e opponents to get rid of
their cards in the trum p su it (if the opponents are allowed to keep their trum p
cards too long, they m ight win tricks by ruffing).
Tignum 2 “consciously” handles cashing o u t, ruffing out. crossing, finesses,
free finesses, autom atic finesses, marked finesses, proven finesses, sequence win­
ners, length winners, winners th a t depend on splits, opponents on lead, op­
ponents finessing against declarer and dummy, dangerous opponents, ducking,
hold-up plays, discarding worthless cards, draw ing tru m p , ruffing, and setting
up ruffs; th a t is, it has tasks and methods to address these tactical and strategic
schemes. Endplays and even squeezes are occasional em ergent behavior; th a t is.
while Tignum 2 does not consciously handle endplays and squeezes, occasionally
69
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
other tasks and m ethods will com bine to produce them . For Tignum 2 to handle
endplays and squeezes consciously. I would just have to add tasks and m ethods:
I have yet to address these strategies because they are rare.
5.1.3
S p eed o f T ignum 2
Tignum 2 is designed to stop planning after slightly more th an 1000 seconds of
C PU tim e (on a SPA RCstation 5). In the 1000 deals th a t make up th e sam ple
of ‘" played deals” described in Section 5.2.3 on Page 75. Tignum 2 reached this
lim it only 15 tim es (or 1.500%). Tignum 2 planned for only 72.70 seconds per
deal on average.
R em em ber th a t in bridge, declarer m ust play both declarer’s and d u m m y ’s
hands. Each hand has 13 cards, so to perform declarer play, Tignum 2 m u st play
26 cards per deal. Thus Tignum 2 is planning for only 2.797 seconds p er play.
To calculate my 95% confidence interval (a = 0.05) for the fraction of deals
in which T ignum 2 reaches the 1000-second limit, I use th e formula ([S5], p. 394):
x ± £
_ X ).
i
yjn
Thus my 95% confidence interval is:
0.01500 ± -^=2=^/0.01500(1 -0 .0 1 5 0 0 ) = [0.00746,0.02254].
To calculate my 95% confidence interval (a = 0.05) for the average planning
tim e of T ignum 2 in seconds, I use th e formula ([85], p. 385):
f i
—
\Jn
Thus m y 95% confidence interval is:
72.70 ± ^ 4 = = ^
v /l0 0 0
= [62-39.83.01].
1
70
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
In the same 1000 deals. Tignum 2 never generated m ore than 304907 to ta l
nodes, because of the 1000-second limit. Tignum 2 generated only *21846.1 nodes
per deal on average. Recall, again, th a t Tignum 2 must play 26 cards in each
deal, so it generated only 840.3 nodes per play on average.
Again, to calculate my 95% confidence interval (o = 0.05) for the average
num ber of nodes Tignum generates, I use th e formula:
, S x *!_*/2
x ± —
j s —
Thus my 95% confidence interval is:
21846.1 ± 48" ° ^ - L98- = [18778.6,24913.6],
n/ I ooo
Recall th a t in the worst case, a brute-force game tree search would generate
5.55 x 1044 le a f nodes for bridge.
T he best estim ate of th e num ber of le a f
nodes th at a brute-force gam e tree search would generate in th e average case is
1024 [91]. Thus Tignum 2 provides an enorm ous im provem ent over the number
of nodes generated by a brute-force approach.
5.2
T ignum 2 ’s V ictories A gainst th e B ridge
B aron
T he speed of Tignum 2 and the small size of the trees it generates would be
meaningless, especially with my artificial 1000-second lim it, unless Tignum 2
played well. In Section 5.2.1 on Page 72, I introduce B ridge Baron, the best
available com puter bridge program. In Section 5.2.2 on Page 72, I describe the
standard bridge m atch form at th a t is most appropriate for com paring two bridge
71
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
program s. In Section 5.2.3 on Page 75. I report on the results of Tignum 2's
three most recent matches against the Bridge Baron.
5.2.1
B rid ge Baron
It is probably safe to say th a t th e Bridge B aron (which was formerly known
as th e M icro Bridge Companion) is the best com m ercially available program in
the world for declarer play a t contract bridge. It won the 1990 and 1991 Com­
p u ter O lym piads, lost the 1992 C om puter O lym piad on a tiebreaker, won the
1993 C om puter Bridge world cham pionship, and won th e 1994 and 1995 Com­
p u ter Bridge com petitions sponsored by the A m erican C ontract Bridge League
(ACBL).
“W hen we play at cards
You use an extra sen se... ”
— “(I’m Always Touched By Your) Presence D ear” , from The Best
o f Blondie, by Blondie, 19S1 [21]
In th e ir review of seven commercially available program s [93], the ACBL
rated th e Bridge Baron to be the best of the seven, and th e skill of the Bridge
B aron to be th e best of the five th a t do declarer play w ithout “peeking” a t the
opponents' cards. David Levy, an international chess m aster and organizer of
the C om puter Olympiad, called Bridge Baron th e best bridge-playing program
in th e world [64]. When M att Ginsberg tested his new bridge-playing program,
he used Bridge Baron as a benchm ark [59, 60].
5.2 .2
C om paring B rid ge Program s
T he best m ethod of comparing bridge com petitors is duplicate bridge, which
elim inates th e possibility of any com petitor gaining a gross advantage simply by
72
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
the luck of the deal. In duplicate bridge, each deal is bid and played twice, with
every card in the same location each tim e. T he first tim e (played at th e first
table), two members of Team A sit N orth and South, and two members of Team
B sit East and West. The second tim e (played at the second table), two o th er
m em bers of Team A sit East and W est, and two other members of Team B sit
N orth and South. No single team m em ber plays the same deal twice, to ensure
th a t no one has foreknowledge of th e unknow ns in the deal.
One method of scoring duplicate bridge is Swiss teams board-a-match scoring.
W hen a deal is played twice, whichever team gets the higher num ber of total
points wins the board; if the team s have the sam e number of total points, the
board is tied, and each team wins 1 /2 a board. For exam ple, on the deal in
Figure 5.9 and Figure 5.10, the Tignum 2 team scores +620 a t one tab le and
the Bridge Baron team scores -100 a t th e oth er table; thus, Tignum 2 wins the
board.
In bridge, if th e bidding starts w ith a Pass from each of the four players, the
deal is passed out; there is no play, an d each team wins 1/2 a board. O f 1030
deals bid by the Bridge Baron in my bidding-distribution sample (which resulted
from the “played-deals” m atch described in Section 5.2.3 on Page 75). 30 were
passed out. Thus, I estim ate th at 30/1030 = 2.913% of bridge deals are passed
out by Bridge Baron bidding (and roughly th e same percentage for any deal in
which both partners are using the “S tan d ard Am erican” bidding system ).
Again, to calculate my 95% confidence interval (a = 0.05) for the fraction of
deals passed out by Bridge Baron bidding, I use the formula: ([85], p. 394):
X ± hz^llJx{l~X).
\/ n
73
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Thus mv 95% confidence interval is:
0.02913 ± -^ = = = ^ /o .02913(1 -0 .0 2 9 1 3 ) = [0.01S85.0.03941],
Any deal th a t is not passed ou t (by my estim ate, at least 96% of deals) has
a trum p suit, either 4b, 0 ,
4b, or No Trump. If th e tru m p suit is 4b, <>, 9 , 4b.
I call it a suit deal. Otherwise, th e trum p suit is No T rum p, and I simply call it
a No Trump deal. I call all deals th a t are not passed out played deals, because
deals th a t are passed out are never played. Because suit deals require different
tactical and strategic schemes th a n No Trump deals do, and because both kinds
of deals are common, it is im p o rtan t that any bridge program be able to play
well in both suit deals and No Trum p deals.
O f th e 1030 deals that were bid by the Bridge Baron in my bidding-distribution sam ple (which resulted from the “played-deals77 m atch described later in
this section), 709 were suit deals, 291 were No Trum p deals, and 30 were passed
out. T hus, of deals th a t the B ridge Baron bids but does not pass out, I estim ate
th a t 709/1000 = 70.90% are su it deals, and 291/1000 = 29.10% are No Trum p
deals.
Again, to calculate my 95% confidence interval ( a = 0.05) for the fraction of
suit deals out of all played deals, I use the formula:
X ±
s /n
v
-X).
T hus my 95% confidence interval is:
0.7090 ± -^ = = ^ 0 .7 0 9 0 ( 1 -0 .7 0 9 0 ) = [0.6808.0.7372],
Similarly, my 95% confidence interval for th e fraction of No Trum p deals out of
all played deals is [0.2628,0.3192].
74
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
5.2.3
R esu lts o f T ig n u m 2 ’s M atches A g a in st B ridge
B aron
"I set the wheels in m otion
Turn up all the machines
Activate the programs
And run behind the sce n e s... ”
— “Prim e M over’, from Hold Your Fire, by Rush. 19S7 [121]
In order to compare the declarer play of Tignum 2 against th e declarer play
of th e Bridge Baron, I formed th e following two teams:
• the B B team : BB (B ridge B aron) for declarer play, and BB for bidding
and defender play.
• the Tignum 2 team : T ignum 2 for declarer play, and BB for bidding and
defender play (because T ignum 2 does not do bidding and defender play).
I held three duplicate bridge m atches—one for suit deals, one for No Trump
deals, and one for all played deals—based on Swiss teams board-a-m atch scoring
between the Tignum 2 team and th e BB team . I used a SPA R C station 5 affec­
tionately known as googoo, from th e laboratories of the D epartm ent of C om puter
Science, University of M aryland a t College Park. Each m atch contained 1000
deals.
The Bridge Baron autom atically generates random bridge deals. It indexes
these deals w ith deal numbers from 1 to 2147483647 ( 231 —1). I s ta rte d th e suitdeal match at deal num ber 350000, and ran it for 1000 suit-play deals (ending
at deal num ber 351433). I s ta rte d th e No Trump-deal m atch a t deal num ber
355000, and ran it for 1000 No T rum p deals (ending at deal n u m b er 358366). I
started the played-deal m atch a t deal num ber 353000, and ran it for 1000 played
75
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
T ype o f
W in n er
D eals
W ins
Losses
T ies
M argin of
contracts
victory
Suit
T ignum 2
1000
219
179
602
40
No Trump
T ignum 2
1000
283
231
486
52
All Played Deals
T ignum 2
1000
250
191
559
59
Figure 5.S: R esults of com petitions between the Tignum 2 team and the Bridge
Baron team .
deals (ending at deal num ber 354029). I had never run T ignum 2 on any of these
deals before these m atches, so these results are free from any training-set biases
in favor of T ignum 2.
The results of th ese m atches are shown in Figure 5.8 on Page 76. In every
event, the Tignum 2 team defeated th e Bridge Baron te am by a statistically
significant m argin: 0.04000 boards per suit-play deal, 0.05200 boards per No
Trump deal, and 0.05900 boards per deal for all played deals. Rem em ber th a t
the Tignum 2 team has Tignum 2 for declarer play instead of Bridge Baron, but
is otherwise identical to th e Bridge Baron team. Thus, T ignum 2’s declarer play
is statistically significantly b e tte r th a n Bridge B aro n s declarer play.
Again, to calculate my 95% confidence interval (a = 0.05) for Tignum 2 ’s
superiority over th e Bridge Baron in boards per deal for various types of deals,
I use the formula:
—
S X h . a/2
\fn
Thus my 95% confidence interval for Tignum 2rs superiority over the Bridge
Baron in boards per suit-play deal is:
0.6270 x 1.980
r
0.04000 ± ------- = = ------ = 0.00074.0.07926 .
1
y io o o
J
76
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Also, my 95% confidence interval for Tignum 2's superiority over the Bridge
Baron in boards per No Trum p deal is:
0.05200 ± Q' -' lo ^ J L l -9-8- = [0.00720.0.096S0].
s/ 1 0 0 0
Finally, my 95% confidence interval for Tignum 2’s superiority over the Bridge
B aron in boards p er played deal is:
0.05900 ± ° '661^ -—L9— = [0.00175.0.10044].
x/Tooo
5.3
D eals From T ignum 2 ’s M atches A gain st
B ridge B aron
To shed some light on T ignum 2’s victories over the Bridge Baron. I describe in
detail in Section 5.3.1 on Page 77 a deal on which Tignum 2 beat th e Bridge
Baron. Presenting only my successes would be misleading; thus, in Section 5.3.2
on Page 90, I describe in detail a deal on which th e Bridge Baron beat T ignum 2.
This la tte r deal also helps illustrate where th ere is room for im provem ent in
T ignum 2.
A break in a p a rtic u la r suit refers to the distribution of the opponents' cards
in th a t suit. For exam ple, a 3-2 break in hearts m eans th at one of the opponents
was dealt three h earts, and the other opponent was dealt two hearts.
5.3.1
A D ea l T h a t T ignum 2 W on
Figure 5.9 shows one of the deals (deal num ber 353021) on which T ignum 2
dem onstrated the power of its planning ability. As seen in Figure 5.10, T ignum 2
realizes th a t to m ake th e contract, it must get rid of both club losers. After
11
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Deal:
Bidding:
North
A QJ65
<0 97
O AK532
West
♦ A2
O KQ4
0 J76
A KJT63
W
N
10
Pass
Pass
Pass
East
A T9743
O To
O T98
A Q 87
A A9
South
A K8
0? AJ8632
❖ Q4
A 542
1A
40
E
Pass
Pass
S
lO
30
Pass
Pas
Contract: South—4 0
Lead: West-- 0 6
Vulnerable: All
Figure 5.9: One of th e deals on which th e Tignum 2 team defeated the BB team .
BB declarer vs. BB defense
W
-0 6
N
E
S
02
08
OQ*
AA*
A3
A T * - -A9
- A A * A5
-A 2
04
07
02
07
04
OQ* 09
AA*
-A J
A6
A7
AK*
07 - -OA*
0 5 —OA*
0 9 —04
02 *
OT
OJ - -OK*
OK*—0 5
OQ*--OK
-A J
-0 6
09
OA*
O J - -0 3
07*
A6
-A K
OK*
A7 - A 2
A4
A8
A8
A3
Tignum 2 declarer vs. BB defense
W
N
S
E
AJ
05
AQ - A 5
OJ
OT
03*
A4
A9 —0 8
06*
AQ
AT
4 0 — Down 1
100 to East/W est
-A K
AA*
-A 3
A2
A9
A5
A6
OQ*
08
0 5 —OA*
[Get in control]
[Draw first round of trump]
OT
—02
A8
A2
[Get in control]
09
OT
A3
04
[Try to set up 0 discard]
[Discard first A loser]
A4
A5
03*
A~
A4 - A K
06*
AQ
A7 - A 8
08*
A9
AQ*
A6 - -0 3
A T —OJ*
AT
AJ
4 0 —•Made
620 to N orth/South
[Draw second round of trump]
[Discard second A loser]
[Get in control]
[Set up A sequence]
[Get in control]
[Cash the last three tricks]
Tignum 2 team wins board
Figure 5.10: Play of th e deal from Figure 5.9 on Page 78 showing the Tignum 2
team beating th e BB team . An arrow (—*■) indicates a card led to a trick. An
asterisk (*) indicates a card th at won a trick.
78
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
gaining the lead. Tignum 2 considered alternative plans and concluded that its
best chance of getting rid of both club losers was to draw two rounds of trum p
and then set up diam onds.1 A fter drawing two rounds of trum p, it discarded one
club loser on the OK, and another on the 0 5 th a t it had set up, guaranteeing
the contract.
In Section 5.3.1.1 on Page 79, I discuss th e bidding and play on th is deal by
the BB team and the T ignum 2 team at th e first table. In Section 5.3.1.2 on
Page 88, I discuss the bidding and play at th e second table.
5 .3 .1 .1
The F irst Table
At th e first table, the T ignum 2 team sat N orth and South, and th e BB team
sat E ast and West. T he bidding proceeded as shown in Figure 5.9— because
Tignum 2 does not bid, all four players used th e BB bidding routines. South
becam e declarer a t a contract of 4*7.
Because th e Tignum 2 te a m won the
contract. Tignum 2 perform ed the declarer play at this table, and BB performed
the defensive play at this table.
1
Bridge players should note that getting rid o f one club loser on the spades and one club loser
on the diamonds requires a 3-2 break in hearts (which has probability ((j) + ( 3 ) ) / 2 5 = 0.625).
a 3-3 break in diamonds (which has probability ( 3 ) / 2 e = 0.3125), and a 4-3 break in spades
(which has probability ( ( 3 ) + ( 4 ) ) / 2 ‘ = 0.5469, for a join t probability o f 0.625 x 0.3125 x
0.5469 = 0.1068). Alternatively, playing the trumps for one loser requires a 3-2 break in hearts
with the C?KQ onside (which has probability ((^) + ( j ) ) / 2 5 = 0.125) and a 3-3 or 4-2 break
in diamonds (which have probability ((®) + (®) + ( 4 ) ) / 2
6
= 0.625, for a join t probability of
0.125 x 0.625 = 0.0781.) Tignum 2 ’s plan is superior to both plans, because it requires only a 32 break in hearts (which has probability ((!j) + (3 ) ) / 2 5 = 0.625) and the 3-3 break in diamonds
(which has probability 0.3125 as before, for a joint probability of 0.625 x 0.3125 = 0.1953.
which is greater than both 0.1068 and 0.0781).
79
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
W est, a BB defender, m ade the opening lead of the <>6. It was then dum m y's
tu rn to play, and because Tignum 2 was declarer. Tignum 2 played both d e­
clarer's cards and dummy's cards. N orth, the Tignum 2 dummy, played th e 0 2 .
Because there were no alternatives th a t Tignum 2 considered worth investigat­
ing at trick 1 (th a t is, Tignum 2 believed th a t it had only one sensible choice).
Tignum 2 stopped planning after trick 1, and planned for trick 2 when it was
tim e to play to trick 2. T he reasoning th a t Tignum 2 used to decide on its play
to the first trick is shown in Figure 5.11.
East, a BB defender, played the 0 8 . T ignum 2 had planned on the O T, not
the 0 8 ; however, th e critic th a t Tignum 2 had associated w ith th e O T accepted
the 0 8 as equivalent. Thus South, th e Tignum 2 declarer, played the OQ w ithout
any further planning.
South was on lead at trick 2. Tignum 2 had to re-plan, because it had not
planned for trick 2 yet. Thus, Tignum 2 did extensive planning to decide am ong
three alternatives: setting up a discard in diam onds (by cashing the OA and
then th e O K); setting up a club ruff (by cashing th e 4kA and then losing a club
trick); or drawing trum p.
A fter generating and evaluating its gam e tree, Tignum 2 decided to draw
tru m p , and played the <3A appropriately.2 In trick 2, West and East happened
to play exactly the cards th a t Tignum 2 had planned on, so T ignum 2 continued
w ith the <02 at trick 3 as planned.
W est rose w ith the <0Q in the second seat, which was not consistent w ith
Tignum 2’s plan th a t East would win the trick, so Tignum 2 had to forget all of
2No. Tignum 2 cannot make the safety play against <?KQxx onside, because it needs to
save the 0 A for an entry later and the &A for a stopper.
SO
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
NIL
EverythingQ
Something! P)
Everything!)
Not expanded because
planning stops
W aitForControKP;)
Them Any NoRuff( P i )
WaitForControK-Ps)
PlavCard(P; 5, R x
North—02
WaitForControl( P\ )
Not expanded because
planning stops
PlayCard (P2;5 , P i )
East—OT
PlayCard( Pi; S, f t i )
South—OQ
Figure 5.11: Reasoning th a t Tignum 2 used to decide on its play to th e first
trick.
SI
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Deal:
North
# QJ65
Bidding:
vv
v
—
West
♦ A2
OK
0 J7
A KT63
0 AK53
.
* 9
_
.
South
4 K8
Jgg 3
East
4k T9743
O —
„
0 T9
A Q”
0 4
A 54
Pass
Pass
Pass
E
S
10
Pass
lO
14|k
40
Pass
Pass
30
Pass
Contract: South—4 0
Vulnerable: All
Declarer: 3 tricks
Defense: 1 trick
On lead: North at trick 5
Figure 5.12: Situation a t trick 5.
its current plan, and then re-plan before making d u m m y ’s play of the 9 9 in the
third seat. Because there were no alternatives th a t T ignum 2 considered worth
investigating at trick 3—indeed, T ignum 2 was forced to play dum m y’s singleton
heart—Tignum 2 stopped planning after trick 3, and planned for trick 4 when
it was tim e to play to trick 4. E ast made th e expected play of the 9 T to finish
the trick.
Because West won trick 3, W est lead to trick 4. W est chose the 4kJ. North
again planned only for the cu rren t trick, and played th e JfcA. After East played
the AS, which Tignum 2’s critic did not accept as equivalent to the £ 3 th at
Tignum 2 had planned on, S outh again planned only for the current trick, and
played th e A 2.
N orth was on lead at trick 5; the situation was as shown in Figure 5.12.
Because Tignum 2 had forgotten a t trick 3 any planning th a t it had done for
trick 5, Tignum 2 had to re-plan a t trick 5. Thus T ignum 2 did extensive planning
to decide among four alternatives: setting up a discard in diam onds; setting up a
length winner in diamonds: settin g up a sequence w inner in spades; or cashing its
high cards (starting with the O K .) Tignum 2 did not consider drawing trum p:
S2
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
the bridge literatu re advises against the strategic scheme of drawing tru m p when
the opponents' combined holding in tru m p is solely the highest tru m p card not
yet played, because th a t card must win a trick eventually anyway.
An a n n o tated version of the game tree th a t Tignum 2 generated and eval­
uated is shown in Figure 5.13.
Note th e discrepancies in Tignum 2's belief
function ab o u t th e diam ond split. Tignum 2 actually modifies its belief function
depending on th e m ethod it is using for a task.
For exam ple, when setting up the diam ond discard, Tignum 2 sees th e world
as eith er “opponent ruffs” or “opponent does not ruff” . Because the opponents
have only one card left in the trum p su it, when considering w hether th e suit
breaks 5-1 or not, Tignum 2 multiplies th e probability th a t th e suit breaks 5-1—
which, given th a t the suit did not break 6-0, is (Q ) + Q j) /2 ‘l = 0.125— by the
probability th a t th e opponent with the short diam ond suit has th e card in the
trum p s u it— which Tignum 2 calculates3 as 0.571 = 8/14—giving a probability
of 0.071 th a t W est plays the ^?K. Conversely, th e probability is 0.929 th a t West
does not ruff, playing the <)9.
If W est does not ruff, then when taking th e diam ond discard, Tignum 2 again
sees the world as either “opponent ruffs” or “opponent does not ruff” . As before,
because th e opponents have only one card left in th e tru m p suit, when consid­
ering w hether th e suit breaks 4-2 or not, Tignum 2 m ultiplies th e probability
th a t the suit breaks 4-2— which, given th a t the suit did not break 5-1 or 6-0.
3T his is a tiny bug. There are eighteen cards in the opponents’ hands. If one opponent has
all four m issing diam onds, that opponent has five non-diamond cards, while the other opponent
has nine non-diam ond cards. Thus, the probability that the opponent with no diamonds has
the non-diam ond card in the trump suit is 9 /9 + 5 = 9/14 = 0.642, which is what Tignum 2
should calculate.
S3
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
+394.271
Chosen play
Set up a
diamond
discard:
N -O A (* ?)
+394.271 Q
Set up a length-winner
in diamonds:
N—OA*
>------- ,
E—O"
-200 0
N -O K (* ? )
+440 ( j
+440 [ [ J
i
+440 O
W—OK*
-1 0 0
(_ )
r- Suit * r
i breaks • i
4-2 " !
.
-200 ( ~ ) :
W—09
N—OK(*
Suit
j
i breaks . _200
'
brCakS 3' 3
'u - - - - E—OT
E—O T : 0.375
"
+620
<-............1
S -* 4
r ------------------j
j_
+620 O
■
:
| -100 O
-200 O
W—OK*
-200 O
W—* 3
-2 oo
i----------,
N—* 9 :
s—*4 :
N—* 9
r --------------- J
-200 (~ ) !
i
S—04
r -----------------J
;
I
-200
W—* 3 ;
E—4 2
S -* 4
E—0"
W—*
A * j'
,— ~—
■_ -200 O
Suit
o
S—4»K
"
r . - - - J
S—04
W —0 9
,
,
g g9g Suit breaks
4-2 or 3-3
+170
+440
0.250
:
-200
+170 Q
W—OK*
-200
E -* 2
+170
+394.271
)i
N— A5 ,
E—0 7
S— 0 4
S -* 4
:
.......................... : + i ' o O
+394.271
Cash
all
high
cards:
N—OA
;
Set up a
| sequence winner
!
in spades:
-200 O
I.... .
E—* K
E—* K
,—
; -200 M
j
-200 M
W—OJ 1
W—O T^
S -* 4
W—OJ
_ - - J
0.750
p - - J n-*—|
; -200 ( j ; -200
+620
i +620
; -loo O
■
■
Suit "
■
■
■
breaks "
■
■
■
3-3 ■
S—* 4
O
Figure 5.13: G am e tree th a t Tignum 2 generated and evaluated to decide on its
play at trick 5.
S4
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
is ( ( 2J 4- ^ j ) / 2 2 = 0.5— by the probability that the opponent with th e short
diamond suit has the card in the tru m p su it—which Tignum 2 calculates as4 is
0.5 = 8/16— giving a probability of 0.250 th at West plays the CT\. Conversely,
the probability is 0.750 th a t West does not ruff, playing the OJOn th e other hand, when setting up a length-winner in diam onds. T ignum 2
sees the world as either "suit breaks evenly” or Usuit breaks unevenly” . T hus
it uses th e probability th a t the suit breaks 3-3— which, given th a t the suit did
not break 6-0, is Q) /2 4 = 0.375 —as th e probability th a t th e suit splits evenly,
that is, th e probability th a t East follows suit by playing th e O T. Conversely,
the probability is 0.625 th a t East does not follow suit, playing the 4 2 .
On th e gripping hand, when cashing high cards. Tignum 2 sees th e world
as always being worst-case; because it is not tr y in g to set up any of declarer's
or dum m y’s cards to be winners, it assumes th at it d o e s n o t set up any of
declarer’s or dum m y’s cards to be winners. Thus, Tignum 2 assum es th a t all
suits split as badly as possible, so it assumes th at West is c e r ta in to play the
9 I \ at th e first opportunity.
Note also th a t Tignum 2 does not bother considering both w hat happens
when W est has fewer diam onds and w hat happens when East has fewer d ia­
monds.
Because, if an opponent shows out in diamonds during a p articu lar
trick, it does not m a tte r w h ic h opponent shows out in diam onds, T ignum 2
assumes th e worst: ruffs come in fourth seat (so th a t Tignum 2 cannot change
its play in the third seat), and discards come in second seat (so th a t T ignum 2
cannot finesse in anticipation of a fourth-seat void).
The imprecision of Tignum 2’s evaluation might surprise the reader. I offer
4
Again, th is is a tiny bug. It should really be 0.5625 = 9/16.
85
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
two explanations.
F irst, the actual values of th e nodes do not really m atter:
what m atters is the relative ordering of the values of the nodes. In Figure 5.1:1.
as long as either “Set up a diamond discard’" or “Set up a length-w inner in
diam onds’" has a higher value than both “Set up a sequence winner in spades"
and “Cash all high cards’", Tignum 2 makes th e correct play. Second, T ignum 2
is a large (more th an 16000 lines) and complex program , and it still has a few
bugs.
A fter generating and evaluating this game tree, Tignum 2 decided to set up a
diam ond discard, and North played the OA appropriately. East played th e 0 9 .
Tignum 2 had planned on the O T but its critic accepted the 0 9 as equivalent,
so South played th e 0 4 without any further planning.
West played th e 0 7 , leaving N orth in th e lead for trick 6. However. Tig­
num 2’s critic did not accept the 0 7 as equivalent to the 0 9 th a t T ignum 2
had planned on, so it had to forget all of its current plan and re-plan a t trick
6. Again, Tignum 2 did extensive planning to decide among four alternatives:
taking a discard on a high diamond; setting up a length winner in diam onds;
setting up a sequence winner in spades; or cashing its high cards (sta rtin g with
the O K ). Again, Tignum 2 decided to take a discard on a high diam ond, and
N orth played th e OK appropriately. East played the 0 T , exactly as Tignum 2
had planned, so South discarded the 6 4 —the first club loser—as planned.
West played th e 0-E leaving N orth in the lead for trick 7, and guaranteeing
th a t declarer would make the contract with correct play. The 0 J was exactly
the card Tignum 2 had planned on, so it continued with the 0 5 at trick 7. East
discarded the ♦ 3 , which Tignum 2’s critic accepted as equivalent to th e 6 2 th at
Tignum 2 had planned on, so South discarded th e 6 5 — the second club loser—as
S6
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
planned.
West played the
(there are no b e tte r alternatives), and led the A K to
trick S. This was one of the two leads th a t T ignum 2 had planned on (th e other
was the
A A).
so Tignum 2 followed suit w ith th e A9 as planned. East played
th e AT, which Tignum 2’s critic accepted as equivalent to the A3 th a t T ignum 2
had planned on, so South ruffed w ith the ^ 3 as planned.
It was S outh’s lead at trick 9, so Tignum 2 led the AK as planned. W est rose
w ith the AA, which was not consistent w ith T ignum 2’s plan th a t East would
win the trick, so Tignum 2 had to forget all of its current plan, an d then re-plan
before playing dum m y’s A5. Because there were no alternatives th a t Tignum 2
considered w orth investigating at trick 9, T ignum 2 stopped planning after trick
9, and planned for trick 10 when it was tim e to play to trick 10. E ast played
th e A4, which Tignum 2’s critic accepted as equivalent to the A - th a t it had
planned on, b u t because Tignum 2 had forgotten a t trick 9 any planning th a t it
had done for trick 10, it had to re-plan at trick 10.
At trick 10, W est led the A3 (which would have defeated the co n tract if South
still held a club). North again planned only for the current trick, and played
th e A6. East played the AQ, exactly as T ignum 2 had planned, so South ruffed
w ith the ^ 6 as planned, winning the trick.
Again, because Tignum 2 had forgotten a t trick 9 any planning th a t it had
done for trick 11, it had to re-plan a t trick 11. The only altern ativ e T ignum 2
considered was cashing its high cards (sta rtin g with the AQ), th u s it stopped
planning after trick 11. South played th e A8. West played the A2, exactly as
T ignum 2 had planned, so N orth played the A Q as planned. E ast finished the
trick by playing th e A"-
ST
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Again, because Tignum 2 had forgotten at trick 9 any planning that it had
done for trick 12. it had to re-plan at trick 12. Tignum 2 actually considered two
alternatives at trick 12: cashing a diam ond w inner.3 or cashing its high cards
(starting with the 0 3 ). Both alternatives resulted in the same score (since South
at this point must win the last two tricks), so Tignum 2 arbitrarily chose the
first one it had considered: cashing a diam ond winner. Thus. North played the
0 3 . E ast played the 6 9 . which T ignum 2rs critic accepted as equivalent to the
£ 6 th a t it had planned on. so South played th e QS as planned. West finished
the trick with the 6 6 .
Finally, South led the
to trick 13, as planned. West followed w ith the
6 T , exactly as Tignum 2 had planned, so N orth played the 6 J - E ast finished
the play with the 6 T .
T he Tignum 2 declarer had taken ten tricks (tricks 1, 2, 4, 5, 6, S, 10, 11, 12.
and 13.) T he contract of
had required Tignum 2 to take 6 + 4 = 10 tricks,
so it had made its contract, for a score o f +620 to th e Tignum 2 team .
5.3.1.2
T h e Second Table
At th e second table, the BB team sat N orth and South, and the Tignum 2 team
sat East and West.
Because all four players at th e second table were again
using the determ inistic BB bidding routines, th e bidding was identical to th a t
at th e first table. South was again declarer at a contract of 4 ^ . Because th e BB
team won the contract, BB perform ed th e declarer play at this table. Because
the Tignum 2 team was on defense, an d because Tignum 2 does not perform
defender play, BB also performed the defensive play at this table.
’ Actually, it considered this alternative tw ice, another sm all bug.
88
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
West, a defender (using th e BB rules, but playing for the Tignum 2 team ),
again made the opening lead of th e 0 6 . and South, the BB declarer, won the
first trick with the OQ- ju st as Tignum 2 had done at the first tab le. At the
second trick, South was on lead. On th e basis of its ad-hoc rules, it decided to
lead the £ 2 . a m istake.6
After winning trick 2, N orth, th e BB dummy, was on lead at trick 3. It led
the A9, no worse than any oth er play. W est, a defender, won w ith th e A T .
cashed the A A—on which South played' th e AS—and led back th e A2. South
won with the AK, and then was on lead a t trick 6.
At trick 6, South then led th e C?A. W hen neither the *0K nor th e C’Q fell,
the contract was doomed no m a tte r how th e cards lay. Defense had already won
two tricks. The ‘v’KQ, being th e two highest trum p with an additional tru m p in
some opponent’s hand, were guaranteed to win two more tricks for th e defense,
for a total of four tricks for th e defense. Because there are only th irteen tricks
total, there were only nine tricks left for th e BB declarer—but the BB declarer
had contracted for ten tricks. Thus, th e BB declarer fell one trick short, for
6The contract cannot now be m ade as the cards lie. To make the contract, there are two
possibilities. One can discard a club loser on a high diamond (which requires a 3-3 diamond
break, probability 0.3125 as before), and then play to lose only one trick in hearts (which
requires a 3-2 break in hearts w ith the 'v’KQ onside, probability 0.125 as before, for a joint
probability o f 0.3125 x 0.125 = 0 .0391.) A lternatively, and slightly better, one can play to lose
the first trick, but not the second or third, in hearts (which requires the ^?KQ bare on either
side, probability (2 x (g ))/2 5 = 0.0625.) In either case, the chance of making the contract is
worse than the chance o f making the contract when using any of the three plans discussed in
the footnote in Section 5.3.1 on Page 79.
"South should actually discard the AK at this point, as it otherwise blocks the spades, but
this play is a bit esoteric.
S9
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Deal:
West
North
Bidding:
4 AJ63
\V
<2 Q952
0 954
4 KT85
O A873
0 J862
4 K
South
4 Q92
O T4
0 A73
« QJT92
East
* 74
N
It?
Pass
2NT Pass
E
1^
24
Pass
S
Pass
Pass
Pass
<0 KJ6
0 KQT
4 A8643
Contract: West—2NT
Lead: North—43
Vulnerable: All
Figure 5.14: O ne of the deals on which th e Tignum 2 team lost to th e BB team.
a score of -100 to the Bridge Baron team . Because the Tignum 2 team had
scored +620 a t th e first table, and because +620 is greater than th e -100 that
the Bridge B aron team had scored at th e second table, the Tignum 2 team won
the board.
5.3.2
A D e a l T h a t B ridge B aron W on
Figure 5.14 shows one of th e deals (deal num ber 353306) on which Tignum 2
dem onstrates th e power of its ability to com pletely bungle a deal. To guarantee
the contract, declarer m ust simply knock out th e OA early while holding on to
at least one club stopper. Declarer and dum m y then have enough winners to
take the eight tricks required by the contract (if spades break 5-0, declarer's 4 T
is a stopper; if spades break 4-1 or 3-2. declarer will get back in control with
enough winners still left.) Bridge Baron handles this deal with ease. Tignum 2
seems almost to be t r y i n g to botch this deal.
In Section 5.3.2.1 on Page 92. I discuss the bidding and play on this deal by
the BB team and the Tignum 2 team a t the first table. In Section 5.3.2.2 on
Page 93, I discuss the bidding and play a t the second table. In Section 5.3.2.3
on Page 97. I investigate the reason for T ignum 2’s loss on this deal.
90
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
BB d e c la re r v s. B B defen se
w
N
E
♦K*-*♦3
♦4
♦Q
A7
04
*3
+2
-A K *
—02
♦T
*J*
9A*
W
OK
OA*
♦7 -* 9
E
N
—9 3
97
AQ
[Get in control]
A2
94
[XXX etc.]
[Draw second round of trump]
*9
[Get in control]
OA*
[Try to set up Odiscard]
[Discard first A loser]
A4
*7
02
0 4 - -OQ
0 5 - -O T
*4
99
03
9T
98
♦5
05
95
92
9K *
9 5 - -9 6
9Q * 9 J
94
♦8
*6
*9
AT
-9 7
♦5 - •♦ A *
OQ*
*6
♦2
*T
*8
A 8 * -•♦ 6
AA
—98* * 5
AQ
2 N T - -M ade 1 overtrick
150 to E ast/W est
S
*3
9K *
92
* 5 -A A *
♦ K * -* 3
—A K*
07
06 - -0 9
OJ*
—08*
-9 3
T ig n u m 2 d e c la re r vs. BB defense
S
* 4 -A Q *
A6 - A J *
A8 - A T *
* J*
0 6 - -AA*
0 8 - -0 9
99 OJ
9
Q 9A *
A7 - A 2
96
A9
OT* 0 7
-OK*
•9 J
[Discard second A loser]
[Get in control]
[Set up A sequence]
[Get in control]
[Cash the last three tricks]
03
9T
2 NT-—Down 1
100 to N orth/South
BB team wins board
Figure 5.15: Play of the deal from Figure 5.14 on Page 90 showing the T ignum 2
team losing to th e BB team . An arrow (—►) indicates a card led to a trick. An
asterisk (*) indicates a card th a t won a trick.
91
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
5 .3 .2 .1
T h e First Table
At th e first table, the Tignum 2 team sat N orth and South, and the BB team
sat E ast and West. The bidding proceeded as shown in Figure 5.9— because
T ignum 2 does not bid, all four players used the BB bidding routines. West
becam e declarer at a contract of 2NT. Because the BB team won th e contract.
BB perform ed the declarer play a t this table. Because the Tignum 2 team was
on defense, and because T ignum 2 does not perform defender play. BB also
perform ed th e defensive play at this table.
N orth, a defender (using th e BB rules, but playing for the Tignum 2 team ),
m ade th e opening lead of th e 6 3 . East, th e BB dummy, played low. South, a
defender, rose with the
♦Q.
W est, the BB declarer, won the trick with the 6 K .
A t th e second trick, W est was on lead. On th e basis of its ad-hoc rules, it
decided to unblock the club suit by leading th e 6 K , which is not yet necessary
but is no worse than any o th e r play.
A fter w inning the second trick, West was on lead to the third trick. On th e
basis of its ad-hoc rules, it decided to knock out th e OA, the correct play. South,
w ith no real reason to hold up th e OA, decided to play it to win this trick.
At trick 4, South led th e 6 9 . As it happened, the defense only ended up
taking one spade trick at th is point; even if they had taken four spade tricks
(possible on some distributions of the defenders’ cards, though not as the cards
lay), declarer would still be able to make th e contract.
A t trick 5, North led a diam ond to put dum m y in control. A fter trick 5.
declarer had taken three tricks, was in control, and could guarantee th e contract
by sim ply cashing its five w inners.
In fact, after cashing th re e winners, BB had a chance to try to make an
92
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
overtrick w ithout risking th e contract. On the basis of its ad-hoc rules. East
took this chance by leading th e ^ 6 at trick 9 (rather th a n cashing the 4 A first).
After winning trick 9 w ith th e *s?A, West continued to try for an overtrick by
leading the
at trick 10.
North was forced to win trick 10 w ith the <?Q. A fter cashing its 4 A at trick
11, it led the 4 6 at trick 12, giving declarer the last two tricks. T he BB declarer
had taken nine tricks (tricks 1, 2, 5, 6, 7, 8, 9, 12. and 13.) T he contract of 2NT
had required BB to take 6 + 2 = 8 tricks, so it had m ade its contract w ith one
overtrick, for a score of +150 to the Bridge Baron team .
5.3.2.2
T h e Second Table
At the second table, th e BB team sat N orth and South, and th e Tignum 2 team
sat East and West. Because all four players at the second tab le were again using
the determ inistic BB bidding routines, the bidding was identical to th at at the
first table. West was again declarer at a contract of 2N T . Because the Tignum 2
team won the contract, T ignum 2 perform ed the declarer play at this table, and
BB perform ed the defensive play at this table.
N orth, a BB defender, again m ade the opening lead of th e 4 3 . E ast, the
Tignum 2 dummy, played th e 4 4 w ith minimal planning. South, a BB defender,
rose w ith th e
4Q-
T ignum 2 ’s critic did not accept th e
4Q
as equivalent to the
anticipated 4 A , and so W est, th e Tignum 2 declarer, had to re-plan (b u t only
to the end of th e trick) before playing the 4 5 .
At trick 2, West was on lead. Tignum 2 had to re-plan, because it had not
planned for trick 2 yet. T hus. T ignum 2 did extensive planning to decide among
five alternatives: cashing th e 4 K to unblock; setting up a length winner in clubs;
93
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
finessing the OJ: settin g up a sequence winner in diam onds: or cashing its high
cards (starting w ith the AK .)
A fter generating and evaluating is game tree, the following alternatives re­
sulted in the same score ( + 120, the score for making the contract w ith no over­
tricks): cashing th e A K to unblock; setting up a length winner in clubs; and
setting up a sequence w inner in diamonds. Tignum 2 arb itrarily chose the first
one it had considered: cashing the A K to unblock. T hus, West played the AK;
this play was identical to th e play at the first table, and is identically not yet
necessary, but is identically no worse than any other play. N orth played the AT,
which Tignum 2’s critic accepted as equivalent to the A 2 th a t it had planned
on, so East played th e A3 as planned.
South finished th e trick w ith the A2, leaving West in the lead for trick 3.
However, Tignum 2 ’s critic did not accept the A2 as equivalent to th e Ao th at
it had planned on, so it had to forget all of its current plan and re-plan at trick
3. Again, Tignum 2 did extensive planning to decide am ong four alternatives:
setting up a length w inner in clubs; finessing in hearts; setting up a sequence
winner in diamonds; or cashing its high cards (starting w ith the <?A.)
Finessing in h earts received a negative score. This negative score was correct,
because finessing in hearts risks giving away a trick needlessly, which also gives
the opponents a chance to set up their club suit too early. Cashing its high cards
also received a negative score. This negative score was also correct, because there
are only three high cards to cash, and declarer needs to take six more tricks to
make the contract.
Setting up a sequence winner in diamonds received th e score of +120. This
score was correct as well, because as I have discussed, knocking out the OA early
94
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
while holding on to one club stopper guarantees th e contract.
Setting up a length winner in clubs also received the score of +120. This
score was in c o r r e c t. Tignum 2 incorrectly assum ed th a t clubs would break 4-3.
holding the opponents’ club tricks to two: T ignum 2 also assum ed (correctly, as
th e cards lay. b u t incorrectly in general) th a t th e opponents would only be able
to cash two spade tricks. Two club tricks plus two spade tricks plus the <0>A
equals five tricks for the defense, leaving eight tricks for declarer, thus a score of
+ 120.
However, as th e cards lay, t h r e e club tricks plus two spade tricks plus the
OA equals six tricks for the defense, leaving seven tricks for declarer. Thus a
score of -100 will result from setting up a length w inner in clubs, as the cards
lay.
In the w orst case, three club tricks plus four spade tricks plus the OA would
equal eight tricks for the defense, leaving five tricks for declarer. Thus a score of
-300 would result from setting up a length w inner in clubs, in th e worst case.
Thus, th e correct score for setting up a length w inner in clubs is less than
+120. However, as I noted, Tignum 2 gave th is plan th e incorrect score of +120.
Thus, both se ttin g up a length winner in clubs and setting up a sequence winner
in diamonds resulted in the same score. T ignum 2 arb itrarily chose the first one
it had considered: setting up a length winner in clubs.
Thus, W est played the <93 at trick 3, crossing to dum m y’s hand to set up a
length winner in clubs. North played the Q2, ex actly as Tignum 2 had planned,
so East played the *s?K. West finished the trick w ith th e C’d, exactly as Tignum 2
had planned.
At this point, Tignum 2 could still g u aran tee th e contract by setting up
95
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
a sequence winner in diamonds. B ut Tignum 2 did not re-plan at this point:
it sim ply followed its plan of setting up a length winner in clubs.
Even had
T ignum 2 re-planned at this point, settin g up a length winner in clubs and settin g
up a sequence winner in diam onds would still have resulted in th e sam e score.
Thus, it would still have a rb itrarily chosen th e first one it had considered—
setting up a length winner in clubs— and it would still have m ade th e sam e
m istake.
East played the J|kA, the fatal m istake, as p art of Tignum 2’s plan to set up a
length w inner in clubs. South followed with th e A9. Because Tignum 2’s critic
did not accept the £ 9 as equivalent to the £ 5 th a t it had planned on, it had
to forget all of its current plan and re-plan before playing in third seat. West
re-planned for only the current trick, and played the CT. North finished the
trick w ith the 4k5.
At trick 5, Tignum 2 re-planned, and East m ade the play of the O Q . but
it was too late. South won th e trick w ith the OA, and the defense th en took
three club tricks, followed by two spade tricks, for a total of 1 -f 2 + 3 = 6 tricks.
Six tricks for the defense left only seven tricks for declarer, and so T ig n u m 2
was doom ed to fall one trick short, for a score of -100 to the Tignum 2 team .
Because th e BB team had scored +150 at th e first table, and because + 1 5 0 is
g reater th a n the -100 th a t the T ignum 2 team scored at the second tab le, the
Tignum 2 team lost the board.
“I’ve played all my cards
And th a t’s w hat you've done, too
N othing more to say
No more Ace to p la y ... ”
— “T he W inner Takes It All” , from Super Trouper, by ABBA,
1980 [1]
96
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
5 .3 .2 .3
W h y T ign u m 2 Lost
W hy did T ignum 2 lose this deal? It lost this deal because it scored one of its
plans incorrectly. W hy did Tignum 2 score one of its plans incorrectly? It made
incorrect assum ptions about the opponents' cards.
How do I fix T ignum 2's incorrect assum ptions about th e opponents' cards?
It would be easy to have Tignum 2 investigate what happens under all possible
assum ptions ab o u t the opponents’ cards. It would also cause T ignum 2 to do
too much planning, and so Tignum 2 would never be able to finish a deal in a
reasonable am ount of tim e.
A nother a ltern ativ e is to design new m ethods for T ignum 2’s so th at, in
addition to investigating the possibility th a t th e clubs will break 4-3, Tignum 2
will also investigate th e possibility th a t the clubs will break 5-2. This change to
Tignum 2’s design is alm ost certain to improve Tignum 2 ’s play. U nfortunately,
this change to T ignum 2 ’s design will increase its planning tim e on alm ost every
deal, and as I will show in Section 5.4.1 on Page 98, and Section 5.4.2 on Page 98.
Tignum 2 does n o t have much room to increase its planning tim e at present.
Thus, the b est solution starts with decreasing T ignum 2’s planning tim e
w ithout changing its play. I discuss ways to do this in Section 8.3.1 on Page 195.
T hen, I can design new methods for Tignum 2 to investigate both the 4-3 break
and th e 5-2 break in clubs.
5.4
O bservations A bout C om p u ter B rid ge
In this section, I discuss some of my observations about com puter bridge, es­
pecially as im plem ented by Tignum 2. M ore of my observations— those th a t
97
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
are more directly concerned w ith HTN planning and "partial-order planning" —
appear in C hapter 8 on Page 186.
In Section 5.4.1 on Page 98. I discuss what happens when Tignum 2 runs
out of planning time; in Section 5.4.2 on Page 98. I discuss w hat happens when
Tignum 2 a lm o s t runs o u t of planning time. In Section 5.4.3 on Page 99. I
review the adaptations of H TN planning required for bridge. In Section 5.4.4 on
Page 101, I describe the results of extending Tignum 2 from No Trum p deals to
suit deals.
5.4.1
R unning O u t o f T im e
I m entioned my 1000-second lim it on Tignum 2’s planning tim e for each deal in
Section 5.1.3 on Page 70. W h at happens on those deals in which Tignum 2 has
to stop planning because it runs out of time? (Tignum 2 usually runs out of
tim e considering deals w ith m ultiple finessing possibilities.)
In the 1000 deals th a t m ake up the sample of played deals described in
Section 5.2.3 on Page 75, Tignum 2 reached this lim it 15 tim es. Of those 15
deals, Tignum 2 won 1 board, lost 11 boards, and tied 3 boards. Thus running
ou t of tim e seems to be fairly disastrous for Tignum 2.
5.4.2
A lm ost R u n n in g O ut of T im e
W hy does Tignum 2 need to take 1000 seconds if i t ’s ju st going to lose most
boards th a t take 1000 seconds anyway? Is Tignum 2 going to do any b e tte r on
those deals th at take alm ost, but not quite, 1000 seconds?
In the 1000 deals th a t m ake up the sam ple of played deals described in
Section 5.2.3 on Page 75. th ere are 20 deals on which T ignum 2 spent more than
98
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
500 seconds, but less than 1000 seconds. Of those 20 deals. Tignum 2 won 6
boards, lost 4 boards, and tied 4 boards. On one of the wins. Tignum 2 took
over 931 seconds. Thus spending a lot of tim e deciding on a play does seem to
be valuable for Tignum 2.
5.4.3
A d a p tin g H T N P la n n in g for B ridge
I had to adapt HTN planning for bridge to be able to handle th e m ulti-agency
and uncertainty th a t are p a rt of bridge. Most of these adaptations were obvious
to me from the beginning of m y work; two were not.
To handle the m ulti-agency, it was obvious th a t I had to store plans as
decision trees. It was alm ost as obvious th a t I had to make it clear whose tu rn
it was to move when a m ethod was being used: thus I used a colon to sep arate
the agent whose tu rn it is to move from th e rest of a task ’s argum ents, startin g
in Section 4.3.3 on Page 41. I anticip ated both of these adaptations in my Ph.D .
proposal.
A nother obvious a d a p ta tio n is planning for only one move if I have only
one reasonable alternative. T ignum 2 actually plans an entire trick to help it
decide w hat card to play in th ird seat; the extra planning required is m inim al,
whereas if Tignum 2 did not do this e x tra planning, the ex tra m ethods required
for third-seat play would be substan tial. W hile I did not explicitly an ticip ate
this adaptation in my Ph.D proposal, this shortcut is well-known am ong gameplaying researchers.
In my Ph.D . proposal, I explicitly described the problem of avoiding re­
planning when an opponent plays a card th a t is ‘"equivalent” to, but not identical
to, the planned card. W h at was not immediately obvious was th e solution of
99
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
associating a critic function with each node in th e decision tree w here it is the
opponent's move. W ith o u t this adaptation. T ignum 2 would do far too much re­
planning. Because T ignum . Tignum 2’s ancestor, did not have this ad ap tatio n ,
it re-planned for alm ost every card.
To handle th e uncertainty, it was obvious th a t I needed sta te inform ation
sets to represent th e known information about th e sta te of the world, and belief
functions to classify the unknown information ab o u t the state of th e world. It
was almost as obvious th a t I needed to make assum ptions about th e state of
the world when applying m ethods associated w ith uncontrolled ag en ts' moves. I
anticipated all of these adaptations in my Ph.D . proposal.
A particular a d ap ta tio n for bridge th a t I have not yet discussed is a likelihood
pruner.
Before any m ethod associated with a n uncontrolled ag en t's move is
applied, Tignum 2 calculates the probability th a t the assumptions about the
state of the world necessary to apply th at m ethod are true, given th a t all prior
assumptions required to reach this state are tru e . If th e probability is less than
some cutoff value, th e m ethod is not applied. (In Tignum 2, th e cutoff is 0.05.)
I also anticipated th is adaptation in my Ph.D . proposal.
One m ajor p a rt o f th e anticipated im plem entation in my Ph.D . proposal was
never implemented in actuality. My m aster’s scholarly paper [137] describes a
system that uses probabilistic reasoning to produce probabilities th a t a particular
opponent holds a p a rtic u la r card. Unfortunately, this system took too much tim e
to be used in T ignum 2.
An adaptation for uncertainty th at was not im m ediately obvious was m od­
ifying a belief function depending on the m eth o d being used for a task, as I
discussed in Section 5.3.1.1 on Page 83. W ithout this adaptation, T ignum 2’s
100
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
decision trees w ould have too high a b ranching factor.
5.4.4
E x ten d in g from N o T rum p D ea ls to Suit D eals
Some tasks and methods th at I added for suit play turned out to improve
notrum p play as well. For exam ple, because discarding losers is much more
a factor in suit play than it is in notrum p play, it was not until I concentrated
on suit play th a t some vulnerabilities in the discarding routines became clear.
From th is, I learned th at broadening the focus of a task network can improve
the task netw ork on a narrower focus.
T here are some pitfalls in suit play th a t did not exist in notrum p play. For
exam ple, to get a ruff, one might have to cross to another hand. One way to
cross to th a t other hand might be in trum p, which m ight use up the tru m p for
the ruff. Once the trum p is used up, there’s no way to get it back. This pitfall
helps d em o n strate that so-called “w hite knights”—actions th at make tru e again
a false precondition th at was once true— rarely arise in bridge.
101
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
C hapter 6
P lan n in g for th e M anufacture o f
M icrow ave M o d u les
“Can you make me some magic with your own two hands?
Can you build an em erald city w ith these grains of sand?
Can you give me som ething I can take home?”
“Now I can do th a t!”
— “I’d Do A nything For Love (B ut I W on’t Do T h a t)” , from Bat
Out o f Hell II: Back Into Hell, by M eat Loaf, 1993 [95]
To provide context for my work on th e EDAPS Process P lan n er, I describe
related work
on Page 103.
in process planning and concurrent engineering in Section
6.1
I introduce my dom ain, microwave modules, in Section 6.2 on
Page 105. I sketch ED A PS, the system th a t includes the EDAPS Process Plan­
ner, in Section 6.3 on Page 111. Finally, I discuss the EDAPS Process Planner
itself in Section 6.4 on Page 113.
102
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
6.1
R ela ted W ork in C oncurrent E ngineering
and P rocess P lan n in g1
6.1.1
P ro cess P lan n in g
Process planning is the planning— by either hum ans, com puters, or b o th —of the
processes required to m anufacture a product. Specifically, process planning in­
volves preparing detailed operating instructions for th e processes th a t transform
an engineering design into a final part [31].
Com puter-aided process planning (C APP) system s have traditionally been
classified as e ith e r “variant” or “generative” . Variant process planning system s
match a new design to a database of old designs, and retrieve th e process plans
for the most sim ilar design or designs.
Then, hum ans modify these process
plans until they are appropriate for m anufacturing th e new design. Generative
process planning systems autom atically decide w hat processes are necessary to
m anufacture th e design, based on process knowledge, geom etric reasoning, and
other decision logic— though generative process planning system s have had little
success, except on specialized problems.
For a review of C A PP system s, see [132]. For a review of C A P P system s for
electronic parts, see [94]; m any such systems have been developed [32, 128, 129.
86,165, 156]. However, since electronic parts usually does not involve traditional
m anufacturing practices such as milling, these system s do not consider these
processes; their process planning is not integrated w ith an electronic/m echanical
CAD system; and they do not evaluate their plans for cost.
'[ have adapted most of the m aterial in this section from [67].
103
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
For classifying electro-m echanical designs. Candadai and o th ers [30] have
taken a Group-Technology-based approach. Based on this classification. Lam [84]
generates high level process plans for th e m anufacture of these designs. Though
Lam 's system considers the m anufacturing processes in both dom ains, it does
not work concurrently w ith an electronic CAD tool.
In [109], the authors argued th a t AI planning techniques can potentially be
useful in several m anufacturing dom ains. However, this potential could not be
realized unless researchers could develop more realistic and robust approaches to
issues im portant to m anufacturing engineers. I discuss the realistic and robust
features of my approach in Section 7.1 on Page 144, and Section 7.2 on Page 167.
I have previously described my approach to process planning in num erous pa­
pers [67, 143, 145, 157, 68].
6.1.2
C oncurrent E n gin eerin g
Concurrent engineering, also known as Integrated Product and Process Design
(IPPD ), is the sim ultaneous design of a product and process planning for its
m anufacture.
Seventy to eighty percent of m anufacturing cost is determ ined
during product design [150]. For this reason, concurrent engineering approaches
address design and m anufacturing issues concurrently to avoid expensive and
tim e-consuming design-manufacture-test-redesign cycles.
Researchers focused th eir initial atte m p ts to achieve concurrent engineering
on establishing guidelines for com m unicating m anufacturing and assem bly con­
cerns to the designers of products, and for having designers and process planners
talk. W ith these guidelines in place, designers could address these concerns at
th e design stage [22, 24, 10].
104
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
One way to help achieve some of th e goals of concurrent engineering is man­
ufacturability analysis, in which com puter programs analyze designs and report
on anything in the designs th a t cannot actually be m anufactured. Researchers
designed and im plem ented program s for m anufacturability analysis in problem
domains such as m achined p arts [75, 74, 63] and microwave modules [66]. There
is even a com m ercial CAD tool th a t performs m anufacturability analysis for
electronic circuits [41].
6.2
In trod u ction to M icrow ave M o d u les2
Most com m ercial electronic products operate at radio frequencies, th a t is, be­
tween 10 kilohertz and 1 gigahertz.3 However, radio frequencies have a low
signal-to-noise ratio, and have become overcrowded [158]. T hus, most modern
telecom m unications system s operate at microwave frequencies, th a t is. between
1 gigahertz an d 20 gigahertz. M odules of systems th a t o p erate a t microwave
frequencies are called microwave modules.
Each microwave m odule consists of a “housing” and a “microwave integrated
circuit” . T he microwave integrated circuit (M IC) is th e a ctu al telecom m unica­
tions device. T h e housing is a m etallic enclosure for th e M IC. For an exam ple
of a microwave module, including th e housing and th e M IC, see Figure 6.1 on
Page 106.
A microwave module consists of th e following pieces:
2I have adapted most of the material in this section from [67],
3One kilohertz is one thousand cycles per second; one gigahertz is one billion ( 1 0 9 =
1 0 0 0 0 0 0 0 0 0
) cycles per second.
105
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Transmission lines
Milled pocket
Plated
through-hole
Dielectric
Ground plane
Hybrid components
Through-hole
Housing
Figure 6.1: A typical microwave module, consisting of the MIC and the housing.
106
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
• The ground plane is a metallic layer of aluminum or copper. It provides
grounding for th e electrical circuitry of a microwave m odule, as well as
mechanical stre n g th . It also conducts away heat.
• The dielectric layer, usually m ade of polyolefin, an alum inum oxide ceramic
m aterial, or Teflon4 (also known by its chemical name of “polytetrafluorethylene (P T F E )” ). sits on top of the ground plane. T he dielectric does
not conduct electricity, but can sustain an electric field. I have exaggerated
the thickness of th e dielectric in Figure 6.1 on Page 106.
• The bullseye is a location on th e surface of the board, used to establish a da­
tum point. All m achining operations (other than drilling “plated throughholes” ) are done relative to this d atu m point.
• The artwork, usually made of copper, is a circuit layer, containing the
bullseye, “pads” , and transm ission lines, also called traces, which carry
energy to different parts of the circuit. The artwork is laid o u t on top of
the dielectric. I have greatly exaggerated the thickness of th e artw ork in
Figure 6.1 on Page 106.
• The board is th e ground plane, th e dielectric layer, and the artw ork.
• A mechanical feature is a place where p art of the board has been removed
by a m achining process, such as milling or drilling. M echanical features
include milling features (such as slots or pockets), m ade by milling, and
holes, made by drilling. A through-hole is a hole th a t has been drilled
completely through the board.
4Teflon is a registered trademark o f Du Pont.
107
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
Some holes are tapped w ith threads, so that a screw can be screwed into
the hole. Some holes have a counterbore—a small widening at the en tran ce
to the hole— so th a t, for exam ple, the head of a screw can be flush with
the board.
All m echanical features have certain tolerances, or allowed variances in
param eters. I concern m yself only with dim ensional tolerances, tolerance
for th e dim ensions of a mechanical feature. For exam ple, if a hole of 0.5
inches in diam eter m ust be m anufactured with tolerance 0.005 inches, then
the hole m u st be between 0.495 and 0.505 inches in diam eter.
A m illing feature m ust have a com er radius, th a t is, the intended radius
of the arcs in the corners of the otherwise rectangular feature. O therw ise,
it is not m anufacturable.
• A plated through-hole, also called a via. is a through-hole that has been
plated w ith th e sam e m aterial as th at used to m ake the artwork, usually
copper. P la te d through-holes carry electrical signals, and conduct heat,
from th e artw ork to th e ground plane.
• A hybrid com ponent is a functional component of the circuit—such as
a diode, a capacitor, or a resistor—whose connections to the circu it are
formed by soldering their leads, also known as pins, to pads. In m y do­
main, all hybrid com ponents are “surface-m ount” components, m eaning
th a t th ey are assembled on the surface of the dielectric, and their leads do
not go in to th e dielectric.
The design, process planning, and m anufacturing cycle for a microwave m od­
ule is shown in Figure 6.2. T he design and process planning phase, described
108
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
S ta r t
Feedback
Design and
process planning
phase
Feedback
Electrical
Design
Mechanical
Design
Process
Planning
Feedback
Module
Manufacture
Feedback
Module
Testing
End
Figure 6.2: The design, process planning, and m anufacturing cycle for microwave
modules.
in further detail in Section 6.3 on Page 111. takes place on paper and on com­
puters. Module m anufacture and testing, however, take place in the real world.
If problems are discovered during module m anufacture or testing, th e m odule
m ust be redesigned, wasting tim e and requiring fu rth er cost.
To detect and elim inate problems before th e m odule is m anufactured, engi­
neers m ust im plem ent an integrated, system atic approach to design and process
planning. Such approaches are called concurrent engineering or Integrated Prod­
uct and Process Design (IPPD ). Concurrent engineering of microwave m odules
requires interdisciplinary team s of electrical engineers, mechanical engineers, and
m anufacturing engineers to coordinate their efforts [39]. In large organizations,
achieving this coordination can be difficult [110].
109
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
This coordination would be easier w ith an appropriate com puter system. One
of the components of such a com puter system would be a process planner. In
this domain, a process planner takes, as input, inform ation about the parts list,
layout, and mechanical features of a microwave module. A process planner then
does process planning (highlighted in Figure 6.2), which produces, as output, a
description of the electronic and m echanical processes required to m anufacture
th e microwave module.
Such a process planner would have to incorporate both electronic and m e­
chanical m anufacturing processes. However, th e problem of process planning for
the m anufacture of microwave m odules is somewhat easier than the problem of
declarer play at bridge, because process planning has no ex tern al agents and no
uncertainty.0
Employing HTN planning using T O F S , I have im plem ented such a process
planner, called th e E D A P S Process Planner.
I describe th e EDAPS Process
P lanner further in Section 6.4 on Page 113, and the com puter system th at it is
a p art of in Section 6.3 on Page 111.
5
Certainly, there is “uncertainty” in process planning. For exam ple, if a vertical milling
m achine uses an 0.5-inch drill bit to drill a hole, the hole is not going to be e x a c t ly 0.5 inches
in diameter, and there is “uncertainty” about how close to 0.5 inches in diameter the hole is
going to be. However, such tolerance information is usually expressed as a guarantee that, for
exam ple, a hole o f 0.5 inches in diam eter is guaranteed to be between 0.492 and 0.508 inches
in diameter with “rough drilling” , and between 0.496 and 0.504 inches in diameter with “finish
drilling” . Thus, if I require a hole to be between 0.495 and 0.505 inches in diameter, I must
use “finish drilling” . and I am confident th at “finish drilling” will achieve this tolerance— there
is no true uncertainty involved.
110
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
6.3
T h e E lectro-M echanical D esig n and P la n ­
ning System (E D A P S )
E D A P S (the Electro-mechanical Design and Planning System ) is an integrated
com puter system for the design and process planning phase of th e design, process
planning, and m anufacturing cycle for microwave modules (see Figure 6.3 on
Page 112). EDAPS integrates electrical design, m echanical design, and process
planning for both the mechanical and electrical dom ains [67. 143. 145. 157, 68].
Thus, EDAPS helps achieve the goals of concurrent engineering.
EDAPS consists of a user interface, w ritten in T c l/T k [112]; a num ber of
routines w ritten in C + + and “AEL” ; and th e ED A PS Process Planner. I devel­
oped the EDAPS Process Planner; K iran H ebbar developed th e rest of ED A PS.
EDAPS uses th e following commercial software:
• E E sof [41], a tool for com puter-assisted electronic design. T he p a rts of
EEsof th a t EDAPS uses include Libra. a linear and nonlinear circuit design
tool; A C A D E M Y , a layout generator; and A E L . the Application Extension
Language.
• M icroStation, a tool for com puter-assisted m echanical design th a t uses the
AC IS solid modeler [2].
The design and process planning phase begins with an electronic designer
invoking E D A P S s circuit schematic and circuit layout m odule. The electronic
designer uses Libra to design a circuit schem atic, and invokes ACADEM Y to
select com ponents and transform the circuit schem atic into a circuit layout.
AEL routines in EDAPS extract the p a rts list from ACADEMY. C + + routines
111
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Circuit
Schematic
and Circuit
1 Layout
Module
EDAPS
User
Interface:
Commercial
software:
Files:
Mechanical
Designer
Electronic
Designer
Humans:
Libra
Process
Planning
and Plan
Evaluation
Module
M icrostation
ACADEMY
circuit
schematic
Substrate
Design
Module
Manufacturing
Engineer
layout
in IGES
format
mechanical
features
planner
input
file
EDAPS
software:
AEL
\ routines
C++
routines
routines /
EDAPS
Process
Planner
Figure 6.3: An overview of the architecture of ED A PS, th e Electro-mechanical
Design and Planning System.
112
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
in EDAPS supplem ent ACADEMY'S routines th at provide output for Micro­
station in th e ANSI-standard IG E S (Initial G raphics Exchange Specification)
format [73].
A m echanical designer then invokes ED A PS's su b strate design module. The
mechanical designer uses M icroStation to add mechanical features to the layout
and com ponents, producing a fully designed microwave module. C + + routines in
EDAPS take th e parts list, the layout, and the mechanical features, and produce
a planner in p u t file in a standard form at described in Section 6.4.2 on Page 114.
The ED A PS Process Planner, described further in Section 6.4 on Page 113.
takes the in p u t file and performs H TN planning to produce the best possible
process plan.
The plan is returned to the designers and the m anufacturing
engineer: th e microwave module can th en be m anufactured.
6.4
T h e E D A PS P ro cess P lanner
6.4.1
O verview
The EDAPS Process Planner is a g e n e r a tiv e process planning system , consist­
ing of more th a n 3000 lines of C.6 In Section 6.4.2 on Page 114, I prescribe the
input form at for the EDAPS Process Planner. In Section 6.4.3 on Page 119.
I describe th e operation of the ED A PS Process Planner. In Section 6.4.4 on
Page 121. I transcribe the inform ation in th e EDAPS Process P lan n er’s task
network; th e EDAPS Process P la n n e r’s task network is based on information
6W hile generative process planning system s have previously had little success, as described
in Section 6.1.1 on Page 103, the reasons for this lack o f success do not apply to the EDAPS
Process Planner, as 1 will explain in Section 7.3 on Page 184.
113
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
from B rindley's book [25]. from Pete Mendicino of Northrop G ru m m an ‘s Elec­
tronic Sensors and Systems Division [96j, and from Mark Creighton of M odular
C om ponents [35].
6 .4 .2
In pu t
T he EDAPS Process P lanner takes input from “s t d i n ” , the stan d a rd input
stream , which refers to th e keyboard if input has not been redirected. T he input
is a series of commands, one to a line, until end of file. Each line m ust begin
w ith a capital letter, which indicates the command; after the le tte r come the
argum ents of th e command.
A m il is 1/1000 of an inch. Numerical com m and argum ents are in inches
unless otherw ise stated.
C om m ands related to th e parts list are:
• D < le n g th > < w idth> < d e p th > :
Gives th e dimensions of th e board. For exam ple,
D 7 4 2
indicates a board 7 inches long (7 inches along the x-axis), 4 inches wide
(4 inches along th e y-axis), and 2 inches thick.
• I < d i e l e c t r i c m a te ria l> :
Gives the dielectric m aterial as a string. For example,
I T e flo n
indicates th at the dielectric is Teflon.
• 0 < c o n d u c to r r e s i s t i v i t y > :
Gives th e conductor resistivity in ohms. For example.
114
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
0 0.1
m eans th a t the conductor resistivity is 0.1 ohms.
• W < th .r o u g h - h o le p l a t i n g w id th > :
Gives th e width of plating for all plated through-holes. For exam ple.
W 0.1
indicates th a t the plating on th e through-holes is of w idth 0.1 inches.
• Z < lo c x > < lo cy > < d e g re e s o f r o t a t i o n > <dimx> <dimy> <dimz>
< ty p e num ber> < m o u n tin g h a rd w a re t y p e n u m b e r> < p a r t number>
< p re fo rm in g > < a u to m a tic i n s e r t i o n > < a d h e s io n >
< h a n d - s o ld e r in g > :
G ives th e location, orientation in d e g re e s , dim ensions, type (such as re­
sistor or capacitor), mounting hardw are (if any), an d p art num ber (as a
string) for each part; also, w hether the p art is preform ed, w hether it can
be autom atically inserted, w hether it needs to be adhered, and w hether it
needs to be hand-soldered. For each p art, th e pin locations— relative to
th e location of the p a rt at orientation 0— also need to be specified by:
Y < lo c x > < lo cy >
For exam ple,
Z 3 4
45 2 1 1 1 2
M eekl63 1 0
0 0
Y 0 1
Y 1 1
indicates at (3,4), rotated 45 degrees, of dim ensions 2 long, 1 wide, 1
high, a resistor (type 1) that is screwed in (type 2), a M eekl63 component
th a t is preform ed, but cannot be autom atically inserted and need not be
115
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
adh ered nor hand-soldered, that has pins at (0.1) and (1.1) (which become
(3 — y/2. 4 + \/2 ) and (3.4 + 2 \/2 ) on the b o a rd ’s coordinate system.)
C om ponent types are:
1. Resistor.
2. C apacitor.
3. Transistor.
4. Inductor.
5. F E T (Field-Effect Transistor).
6. Diode.
H ardw are types are:
1. None.
2. Screwed.
C om m ands related to the layout are:
• B < lo c x > < lo cy > :
G ives th e bullseye location. For example.
B 3 4
indicates th a t the bullseye is located at (3,4).
• F < f ile n a m e > :
G ives th e nam e of the file with the artw ork inform ation, so th a t the “pho­
to lith o g rap h er” can use it. For example,
F t r a n s m o g r i f i e r . ig e s
m e an s th a t th e artw ork inform ation is in th e file t r a n s m o g r i f i e r . ig e s .
116
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
• G <minimum gap>:
Gives the minimum gap of any coupler on the board. For example.
G 0 .0 1
indicates th a t at least one coupler has a gap of 0.01 inches (10 mils), and
no coupler has a sm aller gap.
• R < th ic k n e s s > :
Gives the thickness of all transm ission lines. For example.
R 0 .0 0 1 4
means th a t the thickness of all transm ission lines is 0.0014 inches.
Commands related to th e m echanical features are:
• H < locx> < lo cy > < d e p th > < d ia m e te r> < to le r a n c e > :
Gives th e location, dep th , diam eter, and th e dimensional tolerance in m ils
of a hole. For each ta p p ed hole, the tapping must be specified by:
T < th re a d s -p e r-in c h >
For each hole with a conical counterbore, the counterbore depth and di­
am eter m ust be specified by:
C 0 < d ep th > < d ia m e te r>
For each hole with a cylindrical counterbore, the counterbore depth and
diam eter m ust be specified by:
C Y < d ep th > < d ia m e te r>
For example:
H 3 4 2 0 .5 10
T 5
C 0 0 .5 1 .0
117
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
indicates a hole (3.4) of depth 2 inches, d iam eter 0.5 inches, dim ensional
tolerance 10 mils, tapped with a 5-threads-per-inch threading, and w ith a
conical counterbore of depth 0.5 inches and d iam eter 1.0 inches.
• M < lo cx > < lo c y > < d e g r e e s o f r o t a t i o n > < d e p th > < le n g th >
< w id th > < c o r n e r r a d i u s > < to le r a n c e > :
Gives the location, orientation in d e g re e s , d e p th , length, width, corner
radius, and dim ensional tolerance in m ils of a m illing feature. For exam ­
ple,
M 3 4 45 2 2 1 0 . 5
10
indicates a m illing feature at (3.4), rotated 45 degrees, of depth 2 inches,
length 2 inches (so it has a corner at (3 + 2 \ / 2 , 4 + 2 \/2 )), width 1 inch (so
it has corners at ( 3 — \/2,4-t- \/2 ) and (3 -f >/2*4-t-3\/2)). corner radius 0.5
inches (so th a t i t ’s actually an oval), and dim ensional tolerance 10 mils.
• P < lo cx > < lo c y > < d e p th > < d ia m e te r> < t o le r a n c e > :
Gives th e location, depth, diam eter, and dim ensional tolerance in m ils for
a plated through-hole. For example,
P 3 4 2 0 .5 10
is a plated through-hole at (3, 4) of depth 2 inches and diam eter 0.5 inches,
with a tolerance of 10 mils.
Commands related to planner internals are:
• E:
Switches “echo of tran slated in p u t” off (for details on th e echo of tran slated
input, see Section 7.2.1 on Page 167).
1 IS
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
• N:
Switches the ''p artial plan p ru n er-" off (for details on th e partial plan
pruner, see Section 6.4.3 on Page 120).
For a sample input file, see Section 7.2.1 on Page 167.
6.4.3
O peration
T he EDAPS Process P lanner uses th e following HTN planning algorithm to
create its tree of process plans, D:
Let the root of D be a node containing th e initial state and th e task
sequence consisting of one elem ent: “M akeB oard” . Do th e following
steps repeatedly:
1. Pick a leaf node u of D such th a t u is not in the final s ta te and
my program has never tried to expand u before. If no such node
exists, then exit, returning D . O therw ise, let 5„ be th e s ta te in
u, and U =
. . . , Un ) be th e sequence of tasks in u.
2. For each in stan tiated m ethod M th a t is applicable to u. let v
be the node produced by applying M to u. Install v into D as
a child of u.
This algorithm should look familiar; it is th e sam e algorithm I used for declarer
play at contract bridge! In fact, I w rote th e ED A PS Process P lan n er by c o p y in g
t h e c o d e for T ig n u m 2 a n d m o d if y in g it.
Most of my m odifications to the Tignum 2 code were simplifications. Because
there is no uncertainty in microwave m odule m anufacture, th e re are no state
119
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
inform ation sets: all states are completely specified. Thus a m ethod is applicable
if its preconditions are tru e in a state, and if its task m atches th e first task in the
task sequence; also, th e re is no need to assume the preconditions of a m ethod
are true, because they m ust be true to apply the m ethod.
Because there is
no m ulti-agency in microwave module m anufacture, there a re no external-agent
nodes.
Once EDAPS has created its tree of process plans, it evaluates the tree to see
which process plan takes the least amount of lead tim e, defined as th e to tal tim e
of all the operations required to m anufacture th e microwave m odule. Again, this
is sim pler than the evaluation in bridge. Because there are no external-agent
nodes in microwave m odule m anufacture, external-agent c riteria are unneces­
sary, as are critic functions; when evaluated, the tree reduces to a linked list,
containing the operations to do in the order they are to be done.
I have im plem ented one new adaptation of HTN planning in th e EDAPS
Process Planner.
In microwave module m anufacturing, som e process choices
do not affect any la te r process choices in any way.7 For exam ple, th e process
used to “apply photoresist” does not affect any later choices of which processes
to use.
Thus, I ev alu ate partial plans to see which process used to “apply
photoresist” takes th e least am ount of tim e, and discard all o th er p artial plans.
This adaptation, called partial plan pruning, saves planning tim e (see Section 7.1
on Page 144 for experim ental results) by pruning p artial plans th a t are known
to have no chance of becom ing optimal process plans.
"This is never true in bridge; if there is a meaningful choice between two cards, then
whichever one is played w ill not be available later, changing the situ ation .
120
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
T h e EDAPS Process P lanner o u tp u ts the best process plan—the one that
takes th e least amount of lead tim e. This process plan consists of a totally or­
dered sequence of process specifications th a t can be used to produce the finished
microwave m odule from the m aterials given. Because m anufacturing engineers
are accustom ed to a stan d ard form at for th e specification of process plans, the
ED A PS Process Planner produces o u tp u t in this form at. W hile meant to be
read by hum ans, inform ation about th e process plan could easily be extracted
by a com puter program, if necessary. For a process plan th a t was output by
ED A PS, see Section 7.2.1 on Page 167.
Som etim es a microwave m odule sim ply cannot be m anufactured. For exam ­
ple, th e m echanical designer m ay request a tolerance for a hole th a t cannot be
achieved for a hole of th a t diam eter. T he EDAPS Process P lanner then gives
an error, specifying why the device is unm anufacturable. For such an error, see
Section 7.2.2 on Page 168.
6 .4 .4
H ierarchical Task N etw ork
A com plete definition of the H TN in th e EDAPS Process P lanner appears in
Figure 6.4 on Page 122, Figure 6.5 on Page 123, . . . , Figure 6.16 on Page 134.
The form at is:
121
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Task
M eth o d s
MakeBoardQ
Make the microwave module.
(always)
M akeP thsO , M akeArtworkO , M akeF eatures( ) ,
A ssem b ly O , T e s tin g A n d ln s p e c tio n O ;
M akePthsO
Make plated through-holes.
(always)
D rillP th s O , P la te P th s O ;
M akeF eatures( )
Make mechanical features.
i f (there is a feature F left to be made)
M ak eF eatu re(F );
i f (there are no features left to be made)
l
D r illP th s O
Drill plated through-holes.
i f (there is a plated through-hole P left to be drilled)
S e tu p A n d D rill(P ), D r i l l P t h s O ;
i f (there are no plated through-holes left to be drilled)
»
M akeFeature(F)
Make a single mechanical feature F.
i f (F is a milling feature)
M ak eS lo tO rP o ck et(F );
i f (F is a hole)
S e tu p A n d D rill(F );
Figure 6.4: EDAPS Process P lan n er H TN , p art one.
122
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Task
M eth o d s
MakeSlot O rP ocket (F)
Make a single milling feature F.
i f (F has tolerance > 1.25 mils)
S etupA ndE ndM ill(F);
i f (F has tolerance > 5 mils)
S etu p A n d S lo tM ill(F );
i f (F has tolerance > 1.25 mils
and is on the side of the board)
S etu p A n d S id eM ill(F );
S etu p A n d D rill (H)
Set up for drilling hole H, and drill H.
(always)
S e tu p F o rO , S e tu p D r illB it( H ) , D r ill ( H ) ;
SetupAndEndM ill (H)
Set up for end-milling of milling feature F.
and end-mill F.
(always)
S e tu p F o r O , S e tu p E n d M illin g T o o l(F ),
E n d M ill(F );
S etu pA ndS lotM ill(H )
Set up for slot-milling of milling feature F.
and slot-mill F.
(always)
S e tu p F o rO , S e tu p S lo tM illin g T o o l(F ) ,
S lo tM i ll( F ) ;
F igure 6.5: EDAPS Process Planner HTN, part two.
123
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Task
M eth od s
SetupAndSideM i.il (H)
Set up for side-milling of milling feature F.
and side-mill F.
(always)
S e tu p F o rO , S e tu p S id e M illin g T o o l(F ),
S id e M ill( F ) ;
S etu p F o rO
Set up for machining.
i f (the vertical machining center is not already
set up for machining)
O rie n tF o rO , ClampForO ,
E sta b lis h D a tu m P o in tF o rO ;
i f (the vertical machining center is already
set up for machining)
S e tu p D rillB it(H )
Make sure a drill bit with diam eter equal to the
diameter of H is in the drill.
i f (the diam eter of the drill bit in the drill
is not equal to th e diam eter of H)
I n s ta llD rillB itF o r(H );
i f (the diam eter of the drill bit in the drill
is equal to th e diam eter of H)
Figure 6.6: EDAPS Process Planner HTN, p art three.
124
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Task
M eth o d s
S etu p E n d M illin g T o o l(F )
Make sure an end-milling tool of the size
of the corner radius of F is installed,
i f (the end-milling tool is not of the size
of the corner radius of F)
I n s ta llE n d M illin g T o o lF o r O ;
i f (the end-milling tool is of the size
of the corner radius of F)
S e tu p S id e M illin g T o o l(F )
Make sure an side-milling tool of the size
of the corner radius of F is installed,
i f (the side-milling tool is not of the size
of the corner radius of F)
I n s ta llS id e M illin g T o o lF o r O ;
i f (the side-milling tool is of the size
of the corner radius of F)
S e tu p S lo tM illin g T o o l(F )
Make sure an slot-m illing tool of the size
of the corner radius of F is installed,
i f (the slot-milling tool is not of the size
of the corner radius of F)
I n s ta llS lo tM illin g T o o lF o r O ;
i f (the slot-milling tool is of the size
of the corner radius of F)
Figure 6.7: EDAPS Process Planner H TN , p art four.
125
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Task
M eth o d s
D r i l l (H)
Drill a hole.
i f (H is a tapped hole, and has achievable
tolerance)
R o u g h D rill(H ), F in is h D r ill ( H ) , T ap (H );
i f (H is a plated through-hole. and has achievable
tolerance)
R o u g h D rill(H ), F in is h D r ill ( H ) ;
i f (H is a regular hole, and has tolerance
achievable with rough-drilling)
R o u g h D rill(H );
i f (H is a regular hole, but has tolerance
only achievable with finish-drilling)
R o u g h D rill(H ), F in is h D r ill ( H ) ;
EndM ill(F)
End-mill a feature.
i f (F has dimensional tolerance > 2.5 mils)
R oughE ndM ill(F );
i f (F has dimensional tolerance < 2.5 mils)
R oughE ndM ill(F ), F in is h E n d M ill(F );
S lo tM ill(F )
Slot-mill a feature.
i f (F has dimensional tolerance > 10 mils)
R o u g h S lo tM ill(F );
i f (F has dimensional tolerance < 10 mils)
R o u g h S lo tM ill(F ), F in is h S lo t M i ll( F ) ;
Figure 6.8: EDAPS Process P lan n er HTN, p art five.
126
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Task
M eth o d s
S id e M ill(F )
Side-mill a feature.
i f (F has dimensional tolerance > ‘2.5 mils)
R o u g h S id eM ill(F );
i f (F has dimensional tolerance < 2.5 mils)
R o u g h S id eM ill(F ), F in is h S id e M ill( F ) ;
P la te P th s O
P late plated through-holes.
i f ( there are any plated through-holes )
E l e c tr o l e s s D e p o s it io n O , G enericSetup 0 ,
P la t e R e s is tO , E l e c t r o p l a t i n g ( ) ,
T in L e a d P la tin g O , R em o v eP lateR esistO ;
E le c tr o le s s D e p o s itio n Q
Perform electroless deposition.
(always)
C o n d itio n in g ( ) , P ic k lin g O , A c tiv a tin g O ,
D e p o s itin g O ;
MakeArtworkO
Make the artwork. Because I am not considering
integrated components, I can ignore thin-film and
thick-film deposition techniques.
(always)
P reclean F o rA rtw o rk Q , DryBoardO ,
A p p ly P h o to re s is tO , G e n e ric S e tu p () ,
A rtw o rk L ith o g rap h y O , G enericS etup ( ) ,
E tc h in g 0 ;
Figure 6.9: EDAPS Process Planner H TN , p art six.
127
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Task
M eth o d s
A p p ly P h o to re s is t()
Apply the photoresist (partial plan pruner used here.)
(always)
G en eric S e tu p ( ) , S p re a d P h o to re s is tO ;
i f (m inim um coupler gap > 0.01 mils)
G e n e ric S e tu p 0 , S p in d le P h o to r e s is tO ;
i f (m inim um coupler gap > 0.01 mils)
G en eric S e tu p ( ) , S p ra y P h o to re s is tO ;
i f (m inim um coupler gap > 0.02 mils)
G e n e ric S e tu p 0 , P a in tP h o to r e s is tO ;
Assem blyO
Assemble th e hybrid components with the module.
(always)
G e n e ric S e tu p ( ) , P r e c le a n F o r S o ld e r in g O ,
G e n e ric S e tu p ( ) , S c r e e n p r in tS o ld e r R e s is tO ,
Mount in g A n d S o ld e rin g ( ) ;
Figure 6.10: EDAPS Process Planner HTN, part seven.
12S
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
T ask
M ethods
M ountingA ndS oldering0
Mount the com ponents and solder their leads.
i f (there are com ponents th a t require adhesive)
A p p ly S o ld erP aste( ) , D ry S o ld erP asteO ,
M anualPinTransf e rA d h e siv e O , G en eric S e tu p ( ) ,
H eatC ureA dhesiveO , PickA ndP laceO ,
G enericSetup ( ) , E eflo w S o ld erin g O ,
H andS olderingO . F lu x C le a n in g O ;
i f (there are no com ponents that require adhesive)
A p p ly S o ld e rP a ste ( ) , D ry S o ld erP asteO ,
P ick A n d P laceO , G en ericS etu p 0 ,
R e flo w S o ld e rin g O , H a n d S o ld e rin g O ,
F lu x C lean in g O ;
A p p ly S o ld e rP a s te ()
Apply solder p aste to the board.
i f (minimum coupler gap > 0.02 mils)
G enericS etupO , P u tS o ld e rP a ste O n S c re e n O ,
S c r e e n p r in tS o ld e r P a s te O ;
(always)
G en ericS etu p O , M a n u a lS o ld e rP a ste O ;
(always)
G en ericS etu p O ,
S e tu p F o rA u to m a tic S o ld e rP a ste O ,
A u to m a tic S o ld e rP a ste O ;
Figure 6.11: EDAPS Process P la n n e r H TN , part eight.
129
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission
Task
M eth o d s
P u tS o ld erP asteO n S creen O
P ut the solder paste on the screen
for screenprinting.
i f (pin location L left
to put solder paste on)
P u tS o ld e rP a s te A tL o c a tio n (L ),
P u tS o ld e rP a ste O n S c re e n O ;
i f (no pin location L left
to put solder paste on)
H an u alS o ld erP a steO
P u t the solder paste on the board manually.
i f (pin location L left
to put solder paste on)
M an u alS o ld erP asteA tL o c atio n (L ),
M a n u a lS o ld e rP a ste O ;
i f (no pin location L left
to put solder paste on)
Figure 6.12: EDAPS Process Planner HTN. p art nine.
130
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Task
M ethods
A u to m a tic S o ld e rP a ste O
Program and run autom atic machine to
apply solder p aste to the board,
i f (pin location L left
to put solder paste on)
A u to m a tic S o ld e rP a ste A tL o c a tio n (L ),
A u to m a tic S o ld e rP a ste O ;
i f (no pin location L left
to put solder paste on)
R u n A u to m a tic S o ld erP asteO ;
M an u alP in T ran sferA d h esiv eO
Transfer adhesive to the board for components.
(always)
G e n e ric S e tu p O , A d h e re P a rtsO ;
A d h e re P a rtsO
Transfer adhesive to the board for each
component th at needs to be adhered to
the board.
i f (component C left to adhere)
A dherePart(C ) , A d h e re P a rts O ;
i f (no com ponents left to adhere)
I
Figure 6.13: EDAPS Process P lanner HTN. part ten.
131
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Task
M eth od s
P ick A n d P laceO
Pick up components and place them on
the board.
(always)
M anualPickA ndPlace( ) ;
(always)
S etupF orA utom aticP ickA ndP laceO ,
A u to m aticP ick A n d P laceO ;
M anualP ickA ndP lace()
Pick up com ponents and place them on the board
manually.
i f (com ponent C left to pick and place)
M an u alP ick A n d P laceP art(C ),
M anualPickA ndPlace( ) ;
i f (no com ponents left to pick and place)
t
A u to m aticP ick A n d P lace0
Pick up components and place them on the board
with an autom atic machine.
i f (com ponent C left to pick and place)
A u to m a ticP ick A n d P laceP art(C ),
A utom aticP ickA ndP laceO ;
i f (no com ponents left to pick and place)
1
Figure 6.14: EDAPS Process P lan n er HTN, p a rt eleven.
132
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
T ask
M eth o d s
H andS olderingO
Hand-solder com ponents to the board.
(if there are com ponents to be hand-soldered)
S e tu p F o rH an d S o ld erin g O , H an d S o ld erP artsO ;
(if there are no com ponents to be hand-soldered)
H an d S o ld erP artsO
Hand-solder each com ponent to the board.
i f (component C left to hand-solder)
H a n d S o ld e rP a rt(C ), H a n d S o ld e rP a rts O ;
i f (no com ponents left to hand-solder)
F lu x C lean in g O
Clean the flux from the board.
(always)
B ru s h F lu x C le a n in g O ;
(always)
S p ray W ith V a p o rF lu x C lea n in g O ;
(if all com ponents are immersible)
Im m e rse ln L iq u id S o lv e n tF lu x C le a n in g O ;
(if all com ponents are immersible)
W ash ln A lco h o lF lu x C lean in g O ;
(if all com ponents are immersible and
no components a re integrated circuits )
U ltra s o n ic In L iq u id S o lv e n tF lu x C le a n in g ( ) ;
Figure 6.15: EDAPS Process P la n n e r H TN , part twelve.
133
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Task
M e th o d s
T e s tin g A n d ln sp e c tio n O
Test and inspect the microwave module.
(always)
P re C a p T e s tin g O , H e r m e tic a lly S e a lin g O ,
P o s tC a p T e s tin g O , F i n a l ln s p e c t io n O ;
Figure 6.16: EDAPS Process Planner H TN , part thirteen.
T ask
M e th o d s
TaskName
Description of task.
i f (preconditions)
S u b T a s k C l,l) , S u b T a s k ( l , 2 ) , . . . S u b T a s k ( l , m ( l ) ) ;
if
(p reco n d itio n s)
S u b T a s k ( 2 ,1) , S u b T a s k ( 2 ,2 ) , . . . S u b T a s k ( l,m ( 2 ) ) ;
if
(p reco n d itio n s)
S u b T a s k ( n ,1) , S u b T a s k ( n ,2 ) , . . . S u b T a s k ( l,m ( n ) ) ;
Sometimes '‘(alw ays)” appears in place of “i f (p rec o n d itio n s)” ; “ (alw ays)”
indicates that th a t m ethod is always applicable to th a t task. Sometimes “—
appears in place of the subtasks; “—
indicates th a t th ere are no subtasks.
The operators used in the ED A PS Process P lanner ap p ear in Figure 6.17 on
Page 136, Figure 6.18 on Page 137, . . . ,8 Figure 6.24 on Page 143. The format
is:
8Scotch-Brite is a trademark o f 3M Corporation.
134
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
O p e r a to r
D e s c r ip t io n
O p erato rN am e
Description of operator.
Time taken for operator ( “setu p tim e ” or “run tim e").
M anufacturing engineers differentiate betw een setup tim e. or tim e required
to set up some m anufacturing process, and run tim e, or time required to run
a process. Because the process plan must also differentiate between setu p tim e
and run tim e. I include in th e description of th e o p erato r an indication of w hat
k in d of tim e it takes. B oth setup tim e and run tim e contribute equally to lead
tim e.
135
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
O p e r a to r
D e s c rip tio n
O rie n tF o rO
Orient the p art in the vertical machining
center.
Takes 0.5 m inutes (setup time).
ClampForO
Clamp the p art so th a t it cannot move.
Takes 1 m inute (setup tim e).
E s ta b lish D a tu m P o in tF o rQ
Establish the d atu m point.
Takes 0.5 m inutes (setup tim e).
In s ta llD rillB itF o r(H )
P u t a drill bit whose diam eter is the same
as the diam eter o f H in the drill.
Takes 0.1 m inutes (setup tim e).
I n s ta llE n d M illin g T o o lF o r(F )
Install an end-m illing tool of the size
of the corner radius of F.
Takes 0.1 m inutes (setup time).
I n s ta llS lo tM illin g T o o lF o r ( F )
Install an slot-m illing tool of the size
of the corner radius of F.
Takes 0.1 m inutes (setup tim e).
I n s ta llS id e M illin g T o o lF o r ( F )
Install an side-m illing tool of the size
of the corner radius of F.
Takes 0.1 m inutes (setup tim e).
R ough D rill(H )
Do rough-drilling for H.
Takes (2.4 x diam eter2 x depth) minutes
(run time).
Figure 6.17: EDAPS Process Planner operators, p art one.
136
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
O p e r a to r
D e s c r ip tio n
F in is h D rill(H )
Do finish-drilling for H.
Takes (2.4 x diam eter2 x depth) minutes
(ru n time).
Tap(H)
Tap H so th a t a screw can be screwed into H.
Takes (2.4 x diameter2 x d ep th v x
threadsperinch) minutes (ru n tim e).
RoughEndM ill(F)
Rough end-milling for milling feature F.
Takes (depth x ((length x w id th )—
(7t/ 4 x toolsize2))/toolsize) minutes (run tim e).
F in ish E n d M ill(F )
Finish end-milling for m illing feature F.
Takes (depth x ((length x w id th )—
( t / 4 x toolsize2))/toolsize) minutes (run time).
R o u ghS lotM ill(F )
Rough slot-milling for m illing feature F.
Takes (1 /2 x depth x ((length x w idth) —
(7r/4 x toolsize2))/toolsize) minutes (run time).
F in is h S lo tM ill( F )
Finish slot-milling for milling feature F.
Takes (1 /2 x depth x ((length x w idth)—
(7r/4 x tooIsize2))/toolsize) minutes (run time).
R o u ghS ideH ill(F )
Rough side-milling for m illing feature F.
Takes (1/4 x depth x ((length x w idth)—
(7r/4 x toolsize2))/toolsize) minutes (run time).
F in is h S id e M ill(F )
Finish side-milling for m illing feature F.
Takes (1 /4 x depth x ((length x w id th )—
( tt/ 4 x toolsize2))/toolsize) minutes (run time).
Figure 6.18: ED A PS Process Planner operators, p art two.
137
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
O p e r a to r
D e s c r ip tio n
C o n d itio n in g ()
Condition (to that ensure holes and surfaces are
clean, free from contaminants, and deburred.)
Takes 10 minutes (run time).
P ic k lin g O
Pickle (to prepare the board surface for copper
deposition, and remove any remaining minor
deformities.)
Takes 10 minutes (run time).
A c tiv a tin g O
A ctivate (to sensitize and seed the board.)
Takes 10 minutes (run time).
D e p o s itin g O
Deposit (dip the board in a solution of copper
ions to build up copper on the prepared surfaces.)
Takes 15 minutes (run time).
P la t e R e s is tO
Apply plate resist to the board.
Takes 0.5 minutes (run time).
E l e c t r o p l a t in g ()
Electroplate (with copper).
Takes 250 minutes per inch of plating thickness
(run tim e).
T in L e a d P la tin g ()
P late with a tin-lead alloy.
Takes 150 minutes per inch of plating thickness
(run tim e).
R e m o v e P la te R e sistO
Remove plate resist from the board.
Takes 5 minutes (run time).
Figure 6.19: ED A PS Process Planner operators, part three.
13S
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
O p e ra to r
D e s c rip tio n
P re e le anForA rtw ork()
Scrub the copper on the board with a pumice
stone and Scotch-Brite by hand, and
wash the board.
Takes (2/21 x length x width) minutes (run tim e).
DryBoardO
D ry the board in an oven at 85 degrees
Fahrenheit.
Takes 30 minutes (run time).
S pread P h o to res i s t ()
Spread photoresist out from a spinner rotating at
1800 rotations p er minute.
Takes (^/(length2 + w idth2)/15) minutes (run tim e).
S p in d le P h o to r e s is t()
Spinde photoresist from a piece of
m ylar, with heat.
Takes (m in(length, w idth)/10) m inutes
(run time).
S p ra y P h o to r e s is t0
Spray photoresist on.
Takes 0.5 m inutes (run time).
P a in t P h o t o r e s is t()
P aint photoresist on.
Takes (length x w idth/300) minutes
(run time).
A rtw orkL ithography()
Do photolithography of artwork w ith a
phototool.
Takes 1.5 m inutes plus 500 m inutes per
inch of thickness of transm ission lines
(run time).
Figure 6.20: ED A PS Process P la n n e r operators, p art four.
139
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
O p e r a to r
D e s c rip tio n
E tc h in g ()
Etch (remove copper where it is
not wanted.)
Takes 20000 minutes per
inch of thickness of transm ission lines
(run time).
P re c le a n F o rS o ld e rin g O
Clean the board to prepare
for soldering.
Takes (5/21 x length x w idth)
minutes (run time).
G en ericS etu p O
Set up for a number of processes th a t
all have the same setup tim e.
Takes 30 minutes (setup tim e).
P u tS o ld e rP a ste A tL o c a tio n (L )
P u t solder paste on the screen
at location L for screenprinting.
Takes 0.125 minutes (run tim e).
S c r e e n p r in tS o ld e r P a s te ()
Screenprint all the solder paste
from the screen.
Takes 1/60 minutes (run tim e).
M anu alS o ld erP asteA tL o catio n (L )
P u t solder paste on the board
manually, at location L.
Takes 0.25 minutes (run tim e.)
Figure 6.21: EDAPS Process Planner operators, p a rt five.
140
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
O p e r a to r
D e s c r ip tio n
S etu p F o rA u to m a tic S o ld e rP a ste O
Set up for au tom atic application of
solder paste.
Takes 29.5 m inutes (setup time.)
A u to m a tic S o ld e rP a ste A tL o c a tio n (L )
Program for solder paste at
location L.
Takes 1/24 m inutes (run time).
Run the auto m atic solder-paste
R unA uto m aticS o ld erP aste ()
program.
Takes 0.5 m inutes (run time).
D ry S o ld e rP a st e ()
Dry the solder paste in an oven at
85 degrees Fahrenheit.
Takes (5/21 x length x width) minutes
(run tim e).
H eatC ureA dhesive()
Cure the board in an oven at 125 to
150 degrees Celsius.
Takes 10 m inutes (run time).
R eflo w S o ld e rin g O
Reflow solder in a furnace (for
example, w ith hot air at 205 degrees
Celsius.)
Takes 5 m inutes (run time).
A dhereP art(C )
Transfer adhesive to the board for
component C.
Takes 0.5 m inutes (run time).
Figure 6.22: ED A PS Process Planner o p erato rs, part six.
141
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
O p e ra to r
D e s c rip tio n
SetupF orAutomat ic P ick A n d P lace()
Program for au tom atic
picking and placing of components.
Takes 60 m inutes (setup time).
M anualPickA ndPlacePart(C )
Pick up com ponent C and
putting it on th e board.
Takes 0.5 m inutes (run tim e).
A utom aticP ickA ndP laceP art (C)
Run programm for
pick-and-place for component C.
Takes 0.01 m inutes (run time).
S etupF orH andS olderingO
Set up for hand soldering.
Takes 15 m inutes (setup time).
H andSolderPart(C )
Hand-solder com ponent C.
If C is not preform ed, takes
3 minutes (setup tim e).
In any event, takes 1 m inute per
lead of C (run tim e).
B rushF luxC leaning()
Clean flux by brush.
Takes 1 m inute per each lead of
each component (run time).
SprayW ith V ap o rF lu x C le a n in g ()
Clean flux by spraying
with vapor.
Takes (10/21 x length x width)
minutes (run tim e).
Figure 6.23: EDAPS Process Planner o p erato rs, p art seven.
142
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
O p e r a to r
D e s c rip tio n
Im m erseln L iq u id S o lv en tF lu x C lean in g O
Clean flux by immersion
in a liquid solvent.
Takes 5 minutes (run tim e).
W ashlnA lcoholFluxC leaningO
Clean flux by washing in
alcohol with nitrogren sprays.
Takes 20 m inutes (run tim e).
U ltra so n ic In L iq u id S o lv e n tF lu x C le a n in g ()
Clean flux by ultrasonics
in liquid solvent.
Takes 3 minutes (run tim e).
Test before encapsulation.
P reC ap T estin g O
Takes 35 minutes (run time).
Encapsulate th e board in a
H e rm e tic a lly S e a lin g O
hermetic seal.
Takes (0.776 x length x w idth)
minutes (run tim e).
P ostC ap T est in g ()
Test after encapsulation.
Takes 35 m inutes (run time).
F in a l l n s p e c t io n ()
Do final inspection of
microwave module.
Takes 89/3 m inutes (run tim e).
Figure 6.24: EDAPS Process Planner operators, p a rt eight.
143
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Chapter 7
R esu lts o f R esearch on M icrow ave
M odule M an u factu re
“I know w hat it means
To work hard on m achines
I t ’s a labor of love
So please don’t ask me w h y ... ”
— “You Take Me U p” , from Into the Gap, by T hom pson Twins,
1984 [155]
7.1
Success o f th e E D A P S P rocess P lanner
It is easy to generate random bridge deals. U nfortunately, it seems nearly im­
possible to generate random realistic microwave module designs. I tested the
EDAPS Process Planner on only two realistic, m anufacturable microwave mod­
ule designs. K iran H ebbar and I developed one of the designs, called R M t (for
Realistic and M anufacturable 1), solely as a planner input file, before the devel­
opment of the rest of ED A PS. K iran H ebbar developed th e o th er design, called
RM2. using all of th e ED APS modules, in th e fashion described in Section 6.3
on Page 111.
144
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
I also tested EDAPS on two realistic, but unm anufacturable microwave mod­
ule designs, called R U M I and RUMS. RUM1 is based on R M i: RUM2 is based
on RM2.
I generated six m anufacturable, but unrealistic module designs:
URM l.
URM2, and URM3. all based on RM I; and URM4, URM-5, and URM6. all based
on RM2. U R M l was formed by sticking two R M 1 's together: URM2 by three
R M l’s; and URM 3 by four R M l’s. Similarly, URM4 was formed by sticking two
RM2’s together; URMo by three RM2’s; and URM6 by four RM2's. Thus, these
designs were not realistic because they perform no useful electrical functions.
The ED APS Process Planner produced th e correct o u tp u t for every design.
Pete Mendicino of N orthrop G rum m an’s Electronic Sensors and Systems Divi­
sion gave the following endorsem ent of th e o u tp u t on RM I: ‘‘The inform ation
looks good.” [97]
Recall th a t EDAPS is a design and process planning environment whose goal
is to integrate mechanical and electronic design tools, with evaluation of the
design based on process planning. This goal would not be possible w ithout the
EDAPS Process Planner. T he EDAPS Process Planner successfully integrated
mechanical and electronic process planning, which allowed EDAPS to success­
fully integrate m echanical and electronic design. T he EDAPS Process P lan n er’s
correct o u tp u t on RM2 was the capstone of th e correct execution of EDAPS on
RM2.
My ten te st designs are summarized in Figure 7.1 on Page 146. I counted
the nodes and th e planning tim e that the ED A PS Process Planner used during
execution on each of the ten designs, both with and w ithout the partial plan
pruner.
Again, I used the SPA RCstation 5 affectionately known as googoo.
145
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
C om ponents
Total
H oles
Holes
M illin g
(regular)
(plated)
featu res
RM I
6
5
5
IS
37
RM2
6
0
4
3
12
RUM1
6
5
5
IS
37
RUM2
6
0
4
3
12
URM l
12
10
10
36
74
URM2
IS
15
15
54
111
URM3
24
20
20
72
148
URM4
12
0
S
6
24
URM5
IS
0
12
9
36
URM6
24
0
16
12
48
D esign
pins
Figure 7.1: S um m ary of ten designs used in tests of th e EDAPS Process Planner.
146
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
Partial plan p ru n er enabled:
No
Yes
D e s ig n
N odes
P la n n in g
L e a d T im e
T im e
T im e
(m in u te s )
(se c o n d s)
(se co n d s)
N odes
P la n n in g
RM I
3732
0.89
11078
2.52
642.33
RM2
8299
1.48
24879
4.21
411.57
RUM1
148
0.10
14S
0.09
—
RUM2
18
0.04
IS
0.04
—
URMl
12684
3.02
37864
8.92
867.88
URM2
35595
8.43
106527
25.28
1199.86
URM3
91546
22.10
274310
65.78
1664.02
URM4
199007
36.66
597003
110.54
591.85
URM5
4241103
831.71
12723291
2511.55
897.72
URM6
84796447
16803.07
254389323
51277.51
1335.79
Figure 7.2: R esults of EDAPS Process Planner tests on ten designs.
147
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
from the laboratories of th e D epartm ent of Com puter Science. U niversity of
M aryland at College P ark. These results are shown in Figure 7.2 on Page 147.
The EDAPS Process P lanner perform ed quite well on realistic designs, gen­
erating 8299 nodes at m ost, and taking no more than 1.480 seconds of planning
time. These numbers are especially small when compared with the process plan­
ning lead tim e of at least six h o u rs .
Observe th a t the p a rtia l plan pruner usually reduces the num ber of nodes,
as well as the am ount of planning tim e, by roughly a factor of 3. T h e partial
plan pruner didn’t help th e ED APS Process Planner on the unm anufacturable
designs.1 In fact, th e p a rtia l plan pruner couldn’t help the EDAPS Process
Planner on the unm anufacturable designs, because the EDAPS Process P lan n er
discovers th a t these designs are unm anufacturable before the partial plan pruner
can be used.
There are some results th a t bear further investigation. W hile th e ED A PS
Process Planner was robust enough to handle over 250 million nodes, why did it
take so much planning tim e on URM 4, URM5, and URM6, especially considering
that these designs had fewer m echanical features, fewer com ponents, and fewer
pins than URM3?
The answer lies in th e tolerances and locations of the milling features. In
RM I, there are five m illing features: two are on the side of the board, w ith
tolerance 2 mils; two are in th e m iddle of the board, with tolerance 4 mils: and
one is in the middle of th e board, w ith tolerance 10 mils. The milling features
in the middle of the b oard w ith tolerance 4 mils must be made w ith rough end!The 0.01-second shorter planning tim e on RUM1 without the partial plan pruner is alm ost
certainly a meaningless artifact o f the coarseness of the the timing mechanism.
148
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
milling and finish end-milling. The two milling features on the side of the board
may be made with rough and finish side-milling, or w ith rough and finish endmilling. The milling feature in the middle of the board w ith tolerance 10 mils
may be made with rough slot-m illing or with rough end-m illing. M ultiplying the
alternatives gives 22 x 2 = S possibilities for milling.
In URM3, the biggest design based on R M I, there are tw enty m illing features:
two are on the side of th e board, w ith tolerance 2 mils; six are in the middle of
the board (because they were on edges th at was stuck together), w ith tolerance
2 mils: eight are in the m iddle of th e board, with tolerance 4 mils: and four are
in th e middle of the board, w ith tolerance 10 mils. M ultiplying the alternatives
gives 22 x 24 = 64 possibilities for milling—still a relatively small num ber.
In RM2, there are only four milling features: however, all m illing features
have tolerance 5 mils. Two are on the side of the board, and thus they can be
m ade in three different ways: rough and finish slot-m illing, rough side-milling,
or rough end-milling. Two are in th e middle of the board, and thus they can be
m ade in two different ways: rough side-milling, or rough end-m illing. M ultiplying
the alternatives gives 32 x 22 = 36 possibilities for milling.
In URM4, the sm allest unm anufacturable design based on RM2, there are
eight milling features, all w ith tolerance 5 mils. Two are on the side of the
board, and six are in th e middle. M ultiplying th e alternatives gives 32 x 26 = 576
possibilities for milling.
In URM5, also based on RM2, there are twelve m illing features, all with
tolerance 5 mils. Two are on the side of the board, and ten are in th e middle.
M ultiplying the alternatives gives 32 x 210 = 9216 possibilities for milling.
In URM6. the largest unm anufacturable design based on RM2, there are
149
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
sixteen milling features, all with tolerance 5 mils. Two are on the side of the
board, and fourteen are in th e middle. M ultiplying the alternatives gives 32 x
214 = 147456 possibilities for milling, or over 2000 tim es as m any possibilities
as in URM3. T he EDAPS Process P lan n er took only about 760 tim es as long
on URM 6 as it did on URM3, because th e plans for URM6 were shorter (fewer
m echanical features, components, and pins, leading to a shorter lead tim e )— but
760 tim es as long is still very long.
How can th e EDAPS Process P lan n er be sped up on URM4, URM 5. and
URM 6? For one possibility, the partial p lan pruner could be extended to apply
to th e set of milling operations; the choice of a set of milling operations does not
affect any later choices of which processes to use.
O ne might wonder if the partial plan p ru n er can be applied to a single m illing
operation. It cannot, at least not w ithout sacrificing optim ality: the choice of
a single milling operation may in fact affect a later choice of which processes to
use.
To see why, consider the following m illing features:
F I : A milling feature at (0.00, 2.25), 0.05 inches deep, rotated 0 degrees, th a t
is 0.40 inches long and 0.30 inches wide. Its corner radius is 0.15; it has
dimensional tolerance 2 mils.
F 2: A milling feature at (2.00, 4 .0 i), 0.05 inches deep, rotated 0 degrees, th a t
is 0.40 inches long and 0.30 inches wide. Its corner radius is 0.15; it has
dimensional tolerance 2 mils.
F3: A milling feature at (0.00, 5.00), 0.C5 inches deep, rotated 0 degrees, th a t
is 0.40 inches long and 0.30 inches wide. Its corner radius is 0.15; it has
150
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
VDD
TL4
Cd
SIGin
Rd
Cf
TL5
D2
FET
LOin
TU
TLI
TL7
TU
C2
C l= C 2= 0.l4pF
C3=C4=0.5pF
Li=0.34nH
L2=10nH
C5=Cs=40pF
Rg=Rf=3kohm
Rs=50 ohm
Rd=250ohm
Cf=Cc=Cd=20pF
Figure 7.3: Schematic circuit for R M I.
dimensional tolerance 2 mils.
If ju st F l and F2 are present in a design, it is best to install a 0.15-diam eter
end-milling tool, for 0.10 m inutes setup time, and then end-m ill both features,
for 0.14 m inutes run tim e and a to tal of 0.24 minutes lead tim e. Installing a
0.15-diameter side-m iling tool as well would take 0.10 m inutes setup tim e and
only save 0.06 m inutes run tim e, for a total of 0.28 m inutes lead tim e.
However, if all three milling features are present in a design, it is best to
install a 0.15-diam eter side-milling tool, for 0.10 m inutes setu p tim e, and then
side-mill F l and F3, for 0.03 m inutes run time. Then, install a 0.15-diam eter
end-milling tool, for 0.10 m inutes setup time, and then end-m ill F2, for 0.07
minutes run tim e. T he grand to tal is then 0.30 m inutes lead tim e, b e tte r th an
the 0.31 m inutes lead tim e for end-m illing all the milling features.
Thus a partial plan pruner applied to a single milling operation, taking th e lo-
151
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
I
Substrate: Teflon
Thickness: 30 mils
Conductor thickness: 7 mils
TL1: Length = 60 mils Width =50 mils
TL2: Length = 140 mils Width = 60 mils
TL3: Length = 40 mils Width = 40 mils
TL4: Length = 80 mils Width = 30 mils
LOin TLS: Length = 50 mils Width = 50 mils
T L 6: Length = 120 mils Width = 60 mils
TL7: Length = 80 mils Width = 40 mils
C3(distributed)
SIGin
Vdd. IFouu SICin and LOin are connections
to the outside world
Text Artwork Items
s
92345D R I97
REVISION
IN 1-2
1 2 /2 4 /9 15
5
Via to
Vdd
grcwndif- 1 H
Space for U
IFout
. A
_
|
Space for H
^ Datum
^
Vbto
ground
II
R sH H
I
Figure 7.4: Layout for RM I.
152
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
=1
Holes for mounting the MIC
substrate in its housing
Milled pocket to mount the diodes
a
Ground Plane/
Heat sink
Dielectric
FET
a
Diodes D I. D2
REVISION 1.2
1 3 /2 4 / RS
Generic shape of all
capacitors and resistors
The shaded portions at the
end are the solder terminations
End cutouts for mounting the MIC
in its housing
Plated through-holcs
Milled pocket to mount
the FET
Figure 7.5: M echanical features and com ponents for R M I.
153
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
I T eflon
0 0.1
P 0.25 5.875 1 0 .2 10
P 5.75 5.875 1 0 .2 10
P 3 2.25 1 0 .2 10
P 3 .5 1 1 0 .2 10
P 1.5 0 .5 1 0 .3 10
B 0.25 1
W 0. 1
H 0 .5 0 .2 5 1 0 .4 10
H 0 .5 5 .7 5 1 0 .4 10
H 3.25 0 .2 5 1 0 .4 10
H 3.25 5 .7 5 1 0 .4 10
H 0 .2 2 .4 1 0 .1 5 2 .5
H 0 .2 4 .1 5 1 0 .1 5 2 .5
H 0 2 .2 5 0 0 .5 0 .4 0 .3 0 .1 5 2
N 0 4 0 0 .5 0 .4 0 .3 0 .1 5 2
H 1.2 4 .2
0
0 .5
0 .3
H 1.6
4 .2 0 0 .5 0 .3 0 .4 0 .0 7 5 4
M 3.1
1 0 0 .5 0 .5 0 .7 5 0 .0 7 5 10
0 .4 0 .0 7 5 4
D4 6 1
G 0.015
F r e a l.ig e s
R 0.0014
Figure 7.6: Planner in p u t file for RM I. part one.
154
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Z 3 .6 5 0 0 .3 5 0 .3 0 .2 2 1 Cl 1 1 0 0
Y 0.1 7 5 0
Y 0.1 7 5 0 .3
Z 0 .4 5 0 0 .3 5 0 .3 0 .2 2 1 C2 1 1 0 0
Y 0.1 7 5 0
Y 0.1 7 5 0 .3
Z 0 3 .2 5 0 0 .2 0 .3 0.1 2 1 C3 1 1 0 0
Y 0 0 .1 5
Y 0 .2 0 .1 5
Z 1.25 1 .2 5 0 0 .3 5 0 .3 0 .2 2 1 C4 1 1 0 0
Y 0.1 7 5 0
Y 0.1 7 5 0 .3
Z 1.75 1 .5 0 0 .2 0 .3 0 .1 2 1 C5 1 1 0 0
Y 0 0 .1 5
Y 0 .2 0 .1 5
Z 3 .6 0 .5 0 0 .3 5 0 .3 0 .2 2 1 Cs 1 1 0 0
Y 0.1 7 5 0
Y 0.1 7 5 0 .3
Z 3 .3 1 .7 5 0 0 .1 0 .1 0 .0 5 2 1 Cf 1 1 0 0
Y 0 0 .0 5
Y 0 .1 0 .0 5
Z 3 .7 1 .4 0 0 .2 0 .3 0 .1 2 1 Cc 1 1 0 0
Y 0 0 .1 5
Y 0 .2 0 .1 5
Figure 7.7: P lanner input file for R M I. p a rt two.
155
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Z 3 .3 2 .2 0 0 .1 0 .0 5 0 .0 2 5 2 1 Cd 1 1 0
Y 0 0.025
Y 0 .1 0.025
Z 1.25 0 .8 5 0 0 .3 5 0 .3 0 .2 4 1 LI 1 1 0
Y 0.175 0
Y 0.175 0 .3
Z 1.45 1 .5 0 0 .2 0 .3 0 .1 4 1 L2 1 1 0 1
Y 0 0 .1 5
Y 0 .2 0 .1 5
Z 1.2 4 .2 0 0 .3 0 .4 0 .5 6 1 D1 1 1 1 0
Y 0 .2 0
Y 0 0 .3
Z 1.6 4 .2 0 0 .3 0 .4 0 .5 6 1 D2 1 1 1 0
Y 0 .2 0
Y 0 .4 0 .3
Z 3 .1 1 0 0 .5 0 .7 5 0 .5 5 1 FET 1 1 1 1
Y 0 0 .3 5
Y 0 .5 0 .1
Y 0 .5 0 .5
Z 2 .7 5 1 0 0 .1 0 .1 0 .0 5 1 1 Rg 1 1 0 0
Y 0 .0 5 0
Y 0 .0 5 0 .1
Figure 7.8: Planner input file for R M I, p a rt three.
156
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Z 3 .1 5 1.75 0 0 .1 0 .1 0 .0 5 1 1 Rf 1 1 0 0
Y 0 0 .0 5
Y 0 .1 0 .0 5
Z 2 .7 5 1 0 0 .1 5 0 .1 0 .0 5 1 1 Rs 1 1 0 0
Y 0 .0 7 5 0
Y 0 .0 7 5 0 .1
Z 3 .5 2 .2 0 0 .1 0.0 5 0 .0 2 5 1 1 Rd 1 1 0 0
Y 0 0 .0 2 5
Y 0 .1 0 .0 2 5
Figure 7.9: P lan n er input file for R M I, p a rt four.
cally cheapest process, would sacrifice optim ality. A pplying a partial plan pru n er
to each milling operation is a second possibility for speeding up the EDAPS Pro­
cess Planner; while the EDAPS Process Planner d o e s seem to guarantee strict
optim ality at present, this was never a design requirem ent.
The th ird possibility involves applying the partial plan pruner to a set of
milling features th a t use th e sam e tool size; this would seem to continue to
guarantee strict optim ality, b u t would be still be slow on a design th at had m any
milling features of the same tool size. T he fourth, and probably best, possibility,
would be to rew rite th e tasks and m ethods in ED A PS’s task network, including
perhaps tasks of ‘‘deciding to do only end-milling for tools of a particular size” .
“deciding to do both end-m illing and side-milling for tools of a particular size” ,
and the like.
In any event, speeding up the planner in this way is not crucial, at least at
th e m om ent. T he EDAPS Process Planner is m eant to perform well on r e a lis tic
157
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
B egin echo o f t r a n s l a t e d i n p u t .
D i e l e c t r i c m a te r ia l i s T e flo n .
C onductor r e s i s t i v i t y i s 0 .1 0 .
T here i s a p la te d th ro u g h -h o le a t (0 .2 5 , 5 .8 8 ) o f d ia m e te r 0 .2 0 in c h e s
I t i s 1.00 in ch es deep; i t h a s d im e n sio n a l to le r a n c e 10.00 m i ls .
T here i s a p la te d th r o u g h - h o le a t (5 .7 5 , 5 .8 8 ) o f d ia m ete r 0 .2 0 in c h e s
I t i s 1.00 in ch es deep; i t h a s d im e n sio n a l to le r a n c e 10.00 m i ls .
T here i s a p la te d th r o u g h - h o le a t ( 3 .0 0 , 2 .2 5 ) o f d ia m ete r 0 .2 0 in c h e s
I t i s 1.00 in ch es deep; i t h a s d im e n sio n a l to le r a n c e 10.00 m i l s .
T here i s a p la te d th r o u g h - h o le a t ( 3 .5 0 , 1 .0 0 ) o f d ia m e te r 0 .2 0 in c h e s
I t i s 1.00 in ch es deep; i t h a s d im e n sio n a l to le r a n c e 10.00 m i l s .
T here i s a p la te d th ro u g h - h o le a t ( 1 .5 0 , 0 .5 0 ) o f d ia m ete r 0 .3 0 in c h e s
I t i s 1.00 in ch es deep; i t h a s d im e n sio n a l to le r a n c e 10.00 m i l s .
B u lls e y e i s a t (0 .2 5 , 1 .0 0 ) .
P l a t i n g on th ro u g h -h o le s i s o f w id th 0 .1 0 .
T here i s a h o le a t (0 .5 0 , 0 .2 5 ) o f d ia m e te r 0 .4 0 in c h e s.
I t i s 1.00 in ch es deep; i t h a s d im e n sio n a l to le r a n c e 10.00 m i l s .
T here i s a h o le a t (0 .5 0 , 5 .7 5 ) o f d ia m e te r 0 .4 0 in c h e s.
I t i s 1.00 inches d eep ; i t h a s d im e n sio n a l to le r a n c e 10.00 m i l s .
T here i s a h o le a t ( 3 .2 5 , 0 .2 5 ) o f d ia m e te r 0 .4 0 in c h e s.
I t i s 1.00 in ch es deep; i t h a s d im e n sio n a l to le r a n c e 10.00 m i l s .
T here i s a h o le a t ( 3 .2 5 , 5 .7 5 ) o f d ia m e te r 0 .4 0 in c h e s.
I t i s 1.00 inches d eep ; i t h a s d im e n sio n a l to le r a n c e 10.00 m i l s .
Figure 7.10: Echo of th e tran slated in p u t for RM I. part one.
158
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
There is a hole at (0.20, 2.40) of diameter 0.15 inches.
I t i s 1.0 0 inches deep; i t h a s d im en sio n al to l e r a n c e 2 .5 0 m ils .
T here i s a h o le a t (0 .2 0 , 4 .1 5 ) o f d ia m e te r 0 .1 5 in c h e s .
I t i s 1 .0 0 in ch es deep; i t h as d im en sio n al to l e r a n c e 2 .5 0 m ils .
T here i s a m illin g f e a t u r e a t (0 .0 0 , 2 .2 5 ) ; i t i s 0 .5 0 in c h e s d eep .
I t i s r o t a t e d 0.00 d e g re e s ;
i t i s 0 .4 0 inches lo n g and 0 .3 0 in c h e s w ide.
I t s c o r n e r ra d iu s i s 0 .1 5 ; i t h as d im en sio n al to l e r a n c e 2 .0 0 m ils .
T here i s a m illin g f e a t u r e a t (0 .0 0 , 4 .0 0 ) ; i t i s 0 .5 0 in c h e s d eep .
I t i s r o t a t e d 0.00 d e g re e s ;
i t i s 0 .4 0 inches lo n g and 0 .3 0 in c h e s w ide.
I t s c o r n e r ra d iu s i s 0 .1 5 ; i t h as d im e n sio n a l to l e r a n c e 2 .0 0 m ils .
T here i s a m illin g f e a t u r e a t (1 .2 0 , 4 .2 0 ) ; i t i s 0 .5 0 in c h e s d eep .
I t i s r o t a t e d 0.00 d e g re e s ;
i t i s 0 .3 0 inches lo n g and 0 .4 0 in c h es w ide.
I t s c o r n e r ra d iu s i s 0 .0 8 ; i t h as d im e n sio n a l t o l e r a n c e 4 .0 0 m ils .
T here i s a m illin g f e a t u r e a t (1 .6 0 , 4 .2 0 ) ; i t i s 0 .5 0 in c h e s d eep .
I t i s r o t a t e d 0.00 d e g r e e s ;
i t i s 0 .3 0 in ch es lo n g and 0 .4 0 in c h es w ide.
I t s c o r n e r ra d iu s i s 0 .0 8 ; i t h as d im e n sio n a l t o l e r a n c e 4 .0 0 m ils .
T here i s a m illin g f e a t u r e a t (3 .1 0 , 1 .0 0 ); i t i s 0 .5 0 in c h e s
d eep .
I t i s r o t a t e d 0.00 d e g re e s ;
i t i s 0 .5 0 inches lo n g an d 0 .7 5 in c h es w ide.
I t s c o r n e r ra d iu s
i s 0 .0 8 ; i t h as d im e n sio n a l to l e r a n c e 10.00 m ils .
Figure 7.11: Echo of th e translated input for R M I, p a rt two.
159
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Board i s 4 .0 0 in c h e s lo n g , 6 .0 0 in c h e s wide, and 1.0 0 in c h e s t h i c k .
Minimum gap in a rtw o rk i s 0 .0 1 5 0 in c h e s (15.0000 m i l s ) .
The artw o rk in fo rm a tio n i s in th e f i l e " r e a l . i g e s " .
Trace th ic k n e s s i s 0 .0 0 1 4 .
There i s a Cl component a t ( 3 .6 0 , 5 .0 0 ) .
I t i s r o ta t e d 0 .0 0 d e g r e e s ;
i t is
0 .3 5 in c h e s
lo n g and 0 .3 0 in c h e s wide.
I t is
0 .2 0 in c h e s
h ig h , o f ty p e 2 , o f mounting
ty p e 1.
I t i s preform ed; i t can be a u to m a tic a lly i n s e r t e d .
I t need n o t be ad h e re d ; i t need n o t be h a n d -s o ld e re d .
I t h as
a p in a t
( 0 .1 7 , 0 .0 0 ) .
I t h as
a p in a t
( 0 .1 7 , 0 .3 0 ) .
There i s a C2 component a t ( 0 .4 0 , 5 .0 0 ) .
I t i s r o ta t e d 0 .0 0 d e g r e e s ;
i t is
0 .3 5 in c h e s
lo n g and 0 .3 0 in c h e s wide.
I t is
0 .2 0 in c h e s
h ig h , o f ty p e 2, o f mounting
ty p e 1.
I t i s prefo rm ed ; i t can be a u to m a tic a lly in s e r t e d .
I t need n o t be a d h e re d ; i t need n o t be h a n d -s o ld e re d .
I t h as
a p in a t
( 0 .1 7 , 0 .0 0 ) .
I t h as
a p in a t
( 0 .1 7 , 0 .3 0 ) .
Figure 7.12: Echo of the tran slated input for R M I, p art three.
160
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
There is a C3 component at (0.00, 3.25).
I t i s r o t a t e d 0 .0 0 d e g re e s;
i t i s 0 .2 0 in c h e s long and 0 .3 0 in c h e s w id e.
I t i s 0 .1 0 in c h e s h ig h , o f ty p e 2 , o f m ounting ty p e 1.
I t i s p refo rm ed ; i t can be a u to m a tic a lly i n s e r t e d .
I t need n o t be ad h ered ; i t need n o t be h a n d - s o ld e r e d .
I t h as a p in a t
(0 .0 0 , 0 .1 5 ) .
I t h a s a p in a t
(0 .2 0 , 0 .1 5 ).
T here i s a C4 component a t ( 1 .2 5 , 1 .2 5 ).
I t i s r o t a t e d 0 .0 0 d e g re e s;
i t i s 0 .3 5 in c h e s long and 0 .3 0 in c h e s w id e.
I t i s 0 .2 0 in c h e s h ig h , o f ty p e 2 , o f m ounting ty p e 1.
I t i s p refo rm ed ; i t can be a u to m a tic a lly i n s e r t e d .
I t n eed n o t be ad h ered ; i t need n o t be h a n d - s o ld e r e d .
I t h as a p in a t
(0 .1 7 , 0 .0 0 ) .
I t has a p in a t
(0 .1 7 , 0 .3 0 ) .
T here i s a C5 component a t ( 1 .7 5 , 1 .5 0 ).
I t i s r o t a t e d 0 .0 0 d e g re e s;
i t is
0 .2 0 in c h e s long and 0 .3 0 in c h e s w id e.
I t is
0 .1 0 in c h e s h ig h , o f ty p e 2 , o f m ounting ty p e 1.
I t i s p refo rm ed ; i t can be a u to m a tic a lly i n s e r t e d .
I t need n o t be ad h ered ; i t need n o t be h a n d - s o ld e r e d .
I t has a p in a t
(0 .0 0 , 0 .1 5 ) .
I t h as a p in a t
(0 .2 0 , 0 .1 5 ).
Figure 7.13: Echo of the translated in p u t for R M I. part four.
161
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
There is a Cs component at (3.60, 0.50).
I t i s r o t a t e d 0 .0 0 d e g re e s ;
i t i s 0 .3 5 in c h e s lo n g and 0 .3 0 in c h es w id e.
I t is
0 .2 0 in c h e s h ig h , o f ty p e 2, o f m ounting ty p e 1.
I t i s p refo rm e d ; i t can be a u to m a tic a lly i n s e r t e d .
I t need n o t be a d h ere d ; i t need n o t be h a n d -s o ld e re d .
I t h as a
p in a t ( 0 .1 7 , 0 .0 0 ) .
I t h as a
p in a t ( 0 .1 7 , 0 .3 0 ) .
T here i s a Cf component a t ( 3 .3 0 , 1 .7 5 ).
I t i s r o t a t e d 0 .0 0 d e g re e s ;
i t is
0 .1 0 in c h e s lo n g and 0 .1 0 in c h es w id e .
I t is
0 .0 5 in c h e s h ig h , o f ty p e 2, o f m ounting ty p e 1.
I t i s p refo rm e d ; i t can be a u to m a tic a lly i n s e r t e d .
I t need n o t be a d h ere d ; i t need n o t be h a n d -s o ld e re d .
I t has a p in a t
( 0 .0 0 , 0 .0 5 ) .
I t has a p in
( 0 .1 0 , 0 .Q 5 ).
at
T here i s a Cc component a t ( 3 .7 0 , 1 .4 0 ).
I t i s r o t a t e d 0 .0 0 d e g r e e s ;
i t is
0 .2 0 in c h e s lo n g and 0 .3 0 in c h es w ide.
I t is
0 .1 0 in c h e s h ig h , o f ty p e 2 , o f m ounting ty p e 1.
I t i s p re fo rm e d ; i t can be a u to m a tic a lly i n s e r t e d .
I t need n o t be a d h ere d ; i t need n o t be h a n d -s o ld e re d .
I t h as
a p in a t
( 0 .0 0 , 0 .1 5 ) .
I t h as
a p in a t
( 0 .2 0 , 0 .1 5 ) .
Figure 7.14: Echo of the translated in p u t for R M i, part five.
162
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
There is a Cd component at (3.30, 2.20).
I t is r o t a t e d 0 .0 0 d e g re e s ;
i t is
0 .1 0 in c h e s lo n g and 0 .0 5 in c h e s w id e.
I t is
0 .0 3 in c h e s h ig h , o f ty p e 2 , o f m ounting ty p e
1.
I t i s p refo rm ed ; i t can be a u to m a tic a lly in s e r te d .
I t need n o t be a d h ere d ; i t need n o t be h a n d -s o ld e re d .
I t has a p in a t
( 0 .0 0 , 0 .0 3 ) .
I t has a p in a t
( 0 .1 0 , 0 .0 3 ) .
There i s a LI component a t ( 1 .2 5 , 0 .8 5 ) .
I t i s r o t a t e d 0 .0 0 d e g re e s ;
i t is
0 .3 5 in c h e s lo n g and 0 .3 0 in c h e s wide.
I t is
0 .2 0 in c h e s h ig h , o f ty p e 4 , o f m ounting ty p e
1.
I t i s prefo rm ed ; i t can be a u to m a tic a lly in s e r t e d .
I t need n o t be a d h e re d ; i t n eed s to be h a n d -s o ld e re d .
I t has
a p in a t
(0 .1 7 , 0 .0 0 ) .
I t has
a p in a t
( 0 .1 7 , 0 .3 0 ) .
There i s a L2 component a t ( 1 .4 5 , 1 .5 0 ) .
I t i s r o t a t e d 0 .0 0 d e g re e s ;
i t is
0 .2 0 in c h e s lo n g and 0 .3 0 in c h e s wide.
I t is
0 .1 0 in c h e s h ig h , o f ty p e 4 , o f m ounting ty p e
1.
I t i s prefo rm ed ; i t can be a u to m a tic a lly in s e r t e d .
I t need n o t be ad h e re d ; i t n eed s to be h a n d -s o ld e re d .
I t has
a p in a t
( 0 .0 0 , 0 .1 5 ) .
I t has
a p in a t
( 0 .2 0 , 0 .1 5 ) .
Figure 7.15: Echo of the tran slated input for R M I. part six.
163
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
There is a D1 component at (1.20, 4.20).
I t i s r o ta t e d 0 .0 0 d e g re e s ;
i t i s 0.30 in c h e s lo n g and 0 .4 0 in ch es w ide.
I t i s 0.50 in c h e s h ig h , o f ty p e 6, o f m ounting ty p e 1.
I t i s preform ed; i t can be a u to m a tic a lly i n s e r t e d .
I t needs to be ad h ere d ; i t need n ot be h a n d -s o ld e re d .
I t has a p in a t
( 0 .2 0 , 0 .0 0 ) .
I t has a p in a t
( 0 .0 0 , 0 .3 0 ) .
T here i s a D2 component a t ( 1 .6 0 , 4 .2 0 ).
I t i s r o ta t e d 0 .0 0 d e g re e s ;
i t is
0.30 in c h e s lo n g and 0 .4 0 in ch es w ide.
I t is
0.50 in c h e s h ig h , o f ty p e 6, o f m ounting
ty p e 1.
I t i s preform ed; i t can be a u to m a tic a lly i n s e r t e d .
I t needs to be ad h ered ; i t need n o t be h a n d -s o ld e re d .
I t has a p in a t
( 0 .2 0 , 0 .0 0 ) .
I t has a p in a t
( 0 .4 0 , 0 .3 0 ) .
Figure 7.16: Echo of the translated input for RM I. p a rt seven.
164
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
There is a FET component at (3.10, 1.00).
I t i s r o t a t e d 0 .0 0 d e g re e s;
i t i s 0 .5 0 in c h e s lo n g and 0 .7 5 in c h e s w ide.
I t i s 0 .5 0 in c h e s h ig h , o f ty p e 5 , o f m ounting ty p e 1.
I t i s p refo rm e d ; i t can be a u to m a tic a lly i n s e r t e d .
I t needs t o be ad h ered ; i t n eed s t o be h a n d -s o ld e re d .
I t h a s a p in
at
(0 .0 0 , 0 .3 5 ) .
I t h a s a p in
at
(0 .5 0 , 0 .1 0 ) .
I t h a s a p in
at
( 0 .5 0 , 0 .5 0 ) .
T h ere i s a Rg component a t ( 2 .7 5 , 1 .0 0 ).
I t i s r o t a t e d 0 .0 0 d e g re e s;
i t is
0 .1 0 in c h e s long and 0 .1 0 in c h e s w id e .
I t is
0 .0 5 in c h e s h ig h , o f ty p e 1, o f m ounting ty p e 1.
I t i s p refo rm e d ; i t can be a u to m a tic a lly in s e r t e d .
I t need n o t be ad h ered ; i t n eed n o t be h a n d -s o ld e re d .
I t h as a p in
at
(0 .0 5 , 0 .0 0 ) .
I t h as a p in
at
(0 .0 5 , 0 .1 0 ) .
Figure 7.17: Echo of the translated input for R M l, p art eight.
165
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
There is a Rf component at (3.15, 1.75).
I t i s r o ta t e d 0 .0 0 d e g re e s ;
i t is
0 .1 0 in c h es lo n g and 0 .1 0 in c h e s w ide.
I t is
0 .0 5 in c h e s h ig h , o f
ty p e
l , o f m ounting ty p e 1.
I t i s preform ed; i t can be a u to m a tic a lly i n s e r t e d .
I t need n o t be ad h ere d ; i t n eed n o t be h a n d -s o ld e re d .
I t has
a p in a t
( 0 .0 0 , 0 .0 5 ) .
I t h as
a p in a t
( 0 .1 0 , 0 .0 5 ) .
T here i s a Rs component a t ( 2 .7 5 , 1 .0 0 ).
I t i s r o ta t e d 0 .0 0 d e g re e s ;
i t is
0 .1 5 in c h e s lo n g and 0 .1 0 in c h e s wide.
I t is
0 .0 5 in c h e s h ig h , o f ty p e 1, o f m ounting ty p e l .
I t i s preform ed; i t can be au to m at i c a l l y i n s e r t e d .
I t need n o t be ad h ered ; i t n eed n o t be h a n d -s o ld e re d .
I t h as
a p in a t
( 0 .0 8 , 0 .0 0 ) .
I t h as
a p in a t
( 0 .0 8 , 0 .1 0 ) .
Figure 7.18: Echo of th e tra n slated input for RM 1, p a rt nine.
166
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
There is a Rd component at (3.50, 2.20).
I t i s r o ta t e d 0 .0 0 d e g re e s;
i t i s 0.1 0 in ch es lo n g
I t i s 0.0 3 in c h es h ig h ,
and 0 .0 5 in c h e s w ide.
o f ty p e 1, o f m ounting ty p e 1.
I t i s preform ed; i t can be a u to m a tic a lly i n s e r t e d .
I t need n o t be ad h ered ; i t n e e d n o t be h a n d -s o ld e re d .
I t has a p in a t ( 0 .0 0 , 0 .0 3 ) .
I t has a p in a t ( 0 .1 0 , 0 .0 3 ) .
End echo o f t r a n s l a t e d in p u t.
Figure 7.19: Echo of th e tran slated input for RM 1. p art ten.
designs; realistic microwave m odule designs seem to be of the size of RM l and
RM2, not of the size of URM5 and URM6.
7.2
Sam ple T ests o f th e E D A P S P ro cess Plan­
ner
7.2.1
Test on a M an u factu rab le M icrow ave M odule
T he first sample test of the ED A PS Process Planner is on R M l, a design for a
mixer-IF (Interm ediate Frequency) amplifier [81]. See Figure 7.3 on Page 151 for
R M l's schematic circuit, Figure 7.4 on Page 152 for R M l’s layout, and Figure 7.5
on Page 153 for R M l’s mechanical features and com ponents. (I have taken these
figures from [67]).
The planner input file for R M l— a realistic, m anufacturable design—is shown
167
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
in Figure 7.6 on Page 154. Figure 7.7 on Page 155. Figure 7.S on Page 156.
and Figure 7.9 on Page 157. It follows th e planner input form at specified in
Section 6.4.2 on Page 114.
The EDAPS Process P lanner's echo of the translated input for R M l is shown
in Figure 7.10 on Page 158, Figure 7.11 on Page 1 5 9 ,.... Figure 7.19 on Page 167.
The echo of th e translated inp u t is sim ply a description of the design in a format
th at humans can understand more easily th an the format of th e planner input
file.
The EDAPS Process P lan n er’s o u tp u t for RM l is shown in Figure 7.20 on
Page 169, Figure 7.21 on Page 170, . . . , Figure 7.33 on Page 182. The output ap­
pears in the standard form at to which m anufacturing engineers are accustomed.
7.2.2
T est on an U n m an u factu rab le M icrow ave M odule
The planner input file and echo of tran slated input for RU M 1—a realistic,
but unm anufacturable design— differ from those of R M l. These differences are
shown in Figure 7.34 on Page 183. Note th a t the desired tolerance on the hole
has become tighter.
The EDAPS Process P lan n er’s o u tp u t for RUM1 is shown in Figure 7.35 on
Page 184. Note th a t the ED A PS Process Planner tells the designers and the
m anufacturing engineer not only th a t th e design is unm anufacturable, but what
part of the design is unm anufacturable and why.
168
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
A ll le n g th u n i t s a re in c h e s u n le s s o th e r w is e s t a t e d .
A ll tim e u n i t s a re m in u tes u n le s s o th e rw is e s t a t e d .
P ro cesses:
Opn A
001 A
BC/WWS etup Runtime
VMC1
2 .0 0
LN D e s c r ip tio n
0 .0 0 01
O rie n t b o a rd
02
Clamp b o a rd
03
E s t a b l i s h datum p o in t a t
b u ll s e y e ( 0 .2 5 , 1.00)
001 B
VMC1
0.1 0
0 .4 3 01
02
I n s t a l l 0 .3 0 -d ia m e te r d r i l l
b it
Rough d r i l l a t ( 1 .2 5 , -0 .5 0 )
to d e p th 1.00
03
F in is h d r i l l a t (1 .2 5 , -0 .5 0 )
to d e p th 1.00
001 C
VMC1
0 .1 0
0 .7 7 01
02
I n s t a l l 0 .2 0 -d ia m e te r d r i l l b i t
Rough d r i l l a t (0 .0 0 , 4 .8 8 )
to d e p th 1.0 0
03
F in is h d r i l l a t (0 .0 0 , 4 .8 8 )
to d e p th 1.00
Figure 7.20: O utput of th e process p lan n er on R M l: a process plan for the
m anufacture of R M l. p art one.
169
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Rough d r i l l a t ( 5 .5 0 , 4 .8 8 )
t o d e p th 1.00
05
F in is h d r i l l a t ( 5 .5 0 , 4 .8 8 )
t o d e p th 1.00
06
Rough d r i l l a t ( 2 .7 5 , 1 .2 5 )
t o d e p th 1.00
07
F in is h d r i l l a t ( 2 .7 5 , 1 .2 5 )
t o d e p th 1.00
08
Rough d r i l l a t ( 3 .2 5 , 0 .0 0 )
t o d e p th 1.00
09
F in is h d r i l l a t ( 3 .2 5 , 0 .0 0 )
t o d e p th 1.00
2 .2 0
1 .2 0
01
T o ta l tim e on VMC1
001 T
VMC1
Opn A
BC/WW
002 A
PCI
0 .0 0
1 0 .0 0 01 C o n d itio n b o ard
002 B
PCI
0.0 0
1 0 .0 0 01 P ic k le board
002 C
PCI
0.0 0
1 0 .0 0 01 A c tiv a te b o ard ( s e n s i t i z e
S etup Runtime LN D e s c r ip tio n
(d e b u rr and d eg rease)
and
seed)
Figure 7.21: O utput of the process planner on R M l: a process plan for the
m anufacture of R M l, part two.
170
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
002 D
PCI
0 .0 0
15.00
01 E l e c t r o l e s s copper d e p o s itio n
002 T
PCI
0 .0 0
4 5 .0 0
01 T o ta l tim e on PCI
Opn A
003 A
BC/WW S etup Runtime
PC2 30.00
LN D e s c r ip tio n
0 .5 0
01 S etu p
02
Apply p l a t i n g r e s i s t
003 B
PC2
0 .0 0
2 5 .0 0
01 C opper e l e c t r o p l a t i n g
003 C
PC2
0 .0 0
15.00
01 T i n /le a d e l e c t r o p l a t i n g
003 D
PC2
0 .0 0
5 .0 0
003 T
PC2 30.00
4 5 .5 0
01 S t r i p p l a t i n g r e s i s t
01 T o ta l tim e on PC2
Figure 7.22: O utput of the process planner on R M l: a process plan for th e
m anufacture of R M l. p art three.
171
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Opn A
004 A
BC/WW S etu p Runtime
EC1 0 .0 0
3 2 .2 9
LN D e s c rip tio n
01 P r e - c le a n b o ard (sc ru b and wash)
02
004 B
EC1
3 0 .0 0
0 .4 0
Dry b o ard in oven a t 85 d e g . F
01 Setup
02
S p in d le p h o to r e s i s t
from h e a te d m ylar
004 C
EC1
3 0 .0 0
2 .2 0
01 Setup
02
P h o to lith o g ra p h y o f p h o t o r e s i s t
u sin g p h o to to o l in " r e a l . ig e s "
004 D
EC1
3 0 .0 0
2 8 .0 0
01 Setup
02
004 T
Opn A
005 A
EC1
9 0 .0 0
6 2 .8 9
E tch in g o f copper
01 T o ta l tim e on EC1
BC/WW S etu p Runtime LN D e s c rip tio n
VMC1
2 .0 0
0 .0 0 01
O rie n t board
02
Clamp board
03
E s ta b lis h datum p o in t a t
b u lls e y e (0 .2 5 , 1.00)
Figure 7.23: O u tp u t of the process planner on R M l: a process plan for the
m anufacture of R M l, p art four.
172
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
005 B
VMC1
0.10
0.34
01
Install 0.15-diameter
s i d e - m i l l i n g to o l
02
Rough s i d e - m i l l p o ck et a t
( - 0 .2 5 , 1 .2 5 )
le n g th 0 .4 0 , w idth 0 .3 0 , d e p th 0.5 0
03
F in is h s id e - m ill p o c k e t a t
( - 0 .2 5 , 1 .2 5 )
le n g th 0 .4 0 , w idth 0 .3 0 , d e p th 0.5 0
04
Rough s i d e - m i l l p o ck et a t
( - 0 .2 5 , 3 .0 0 )
le n g th 0 .4 0 , w idth 0 .3 0 , d e p th 0.5 0
05
F in is h s id e - m ill p o ck et a t
( - 0 .2 5 , 3 .0 0 )
le n g th 0 .4 0 , w idth 0 .3 0 , d e p th 0.5 0
005 C
VMC1
0 .1 0
1.54
01
I n s t a l l 0 .0 8 -d ia m e te r
e n d - m illin g to o l
02
Rough e n d -m ill p o c k e t a t
( 0 .9 5 , 3 .2 0 )
le n g th 0 .3 0 , w idth 0 .4 0 , d e p th 0.5 0
03
Rough e n d -m ill p o ck et a t
( 1 .3 5 , 3 .2 0 )
le n g th 0 .3 0 , w idth 0 .4 0 , d e p th 0.5 0
Figure 7.24: O u tp u t of the process p lan n er on RM l: a process plan for the
m anufacture of R M l, p a rt five.
173
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
005 D
VMC1
0.10
1.24 01
Install 0.08-diameter
s lo t-m illin g to o l
02
Rough s l o t - m i l l p o ck et a t
( 2 .8 5 , 0 .0 0 )
le n g th 0 .5 0 , w id th 0 .7 5 , d e p th 0 .5 0
005 E
VMC1
0 .1 0
1.5 4 01
I n s t a l l 0 .4 0 -d ia m e te r d r i l l b i t
02 Rough d r i l l a t (0 .2 5 , -0 .7 5 )
t o d ep th 1.00
03
Rough d r i l l a t (0 .2 5 , 4 .7 5 )
t o d ep th 1.00
04
Rough d r i l l a t (3 .0 0 , -0 .7 5 )
t o d ep th 1.00
05 Rough d r i l l a t (3 .0 0 , 4 .7 5 )
to d ep th 1.00
Figure 7.25: O utput of the process planner on R M l: a process plan for the
m anufacture of R M l, part six.
174
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
005 F
VMC1
0 .1 0
0 .2 2
01 I n s t a l l 0 .1 5 -d ia m e te r
02
d r ill b it
Rough d r i l l a t ( - 0 .0 5 , 1 .4 0 )
to d e p th 1.00
03
F in is h d r i l l a t ( - 0 .0 5 , 1 .4 0 )
to d e p th 1.00
04
Rough d r i l l a t ( - 0 .0 5 , 3 .1 5 )
to d e p th 1.00
05
F in is h d r i l l a t ( - 0 .0 5 , 3 .1 5 )
to d e p th 1.00
005 T
Opn A
006 A
VMC1
2 .5 0
4 .8 7
01 T o ta l tim e on VMC1
BC/WWS e tu p Runtime
MCI
3 0 .0 0
LN D e s c rip tio n
5 .7 1
01 S etu p
02
006 B
MCI
3 0 .0 0
0 .2 9
01 S etu p
02
006 C
MCI
3 0 .0 0
P re p a re board f o r s o ld e r in g
7 .5 0
S c re e n p rin t s o ld e r s to p on b o a rd
01 S etu p
Figure 7.26: O u tp u t of the process planner on R M l: a process plan for the
m anufacture of R M l. part seven.
175
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
02
D eposit s o ld e r p a s t e a t (3 .3 5 ,1 .2 3 )
on board u s in g n o z z le
03
D eposit s o ld e r p a s t e a t (3 .2 5 ,1 .2 3 )
on board u s in g n o z z le
04
D eposit s o ld e r p a s t e a t (2 .5 8 ,0 .1 0 )
on board u s in g n o z z le
05
D eposit s o ld e r p a s t e a t (2 .5 8 ,0 .0 0 )
on board u s in g n o z z le
06
D eposit s o ld e r p a s t e a t ( 3 .0 0 ,0 .8 0 )
on board u s in g n o z z le
07
D eposit s o ld e r p a s t e a t (2 .9 0 ,0 .8 0 )
on board u s in g n o z z le
08
D ep o sit s o ld e r p a s t e a t (2 .5 5 ,0 .1 0 )
on board u s in g n o z z le
09
D ep o sit s o ld e r p a s t e a t ( 2 .5 5 ,0 .0 0 )
on board u s in g n o z z le
10
D eposit s o ld e r p a s t e a t ( 1 .7 5 ,3 .5 0 )
on board u s in g n o z z le
11
D ep o sit s o ld e r p a s t e a t (1 .5 5 ,3 .2 0 )
on board u s in g n o z z le
12
D ep o sit s o ld e r p a s t e a t ( 0 .9 5 ,3 .5 0 )
on board u s in g n o z z le
Figure 7.27: O u tp u t of th e process planner on R M l: a process plan for the
m anufacture of R M l, p art eight.
176
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
13
D ep o sit s o l d e r p a s te a t ( 1 .1 5 ,3 .2 0 )
on b o ard u s in g n o z z le
14
D ep o sit s o l d e r p a s te a t ( 3 .1 5 ,1 .2 3 )
on b o ard u s in g n o z z le
15
D ep o sit s o l d e r p a s te a t ( 3 .0 5 ,1 .2 3 )
on b o ard u s in g n o z z le
16
D ep o sit s o l d e r p a s te a t ( 3 .6 5 ,0 .5 5 )
on b o ard u s in g n o z z le
17
D ep o sit s o l d e r p a s te a t ( 3 .4 5 ,0 .5 5 )
on b o ard u s in g n o z z le
18
D ep o sit s o l d e r p a s te a t ( 3 .1 5 ,0 .8 0 )
on b o ard u s in g n o z z le
19
D ep o sit s o l d e r p a s te a t ( 3 .0 5 ,0 .8 0 )
on b o ard u s in g n o z z le
20
D ep o sit s o l d e r p a s te a t ( 3 .5 2 ,- 0 .2 0 )
on b o ard u s in g n o z z le
21
D ep o sit s o l d e r p a s te a t ( 3 .5 2 ,- 0 .5 0 )
on b o ard u s in g n o z z le
22
D ep o sit s o l d e r p a s te a t (1 .7 0 ,0 .6 5 )
on b o ard u s in g n o z z le
23
D ep o sit s o ld e r p a s te a t ( 1 .5 0 ,0 .6 5 )
on b o ard u s in g n o z z le
Figure 7.28: O u tp u t of the process planner on R M l: a process plan for the
m anufacture of R M l, p art nine.
177
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
24
D e p o s it s o ld e r p a s te a t ( 1 .1 7 ,0 .5 5 )
on b o ard u s in g n o z z le
25
D e p o s it s o ld e r p a s te a t ( 1 .1 7 ,0 .2 5 )
on b o ard u s in g n o z z le
26
D e p o s it s o ld e r p a s te a t ( - 0 .0 5 ,2 .4 0 )
on b o a rd u s in g n o z z le
27
D e p o s it s o ld e r p a s te a t ( - 0 .2 5 ,2 .4 0 )
on b o a rd u s in g n o z z le
28
D e p o s it s o ld e r p a s te a t ( 0 .3 2 ,4 .3 0 )
on b o a rd u s in g n o z z le
29
D e p o s it s o ld e r p a s te a t ( 0 .3 2 ,4 .0 0 )
on b o a rd u s in g n o z z le
30
D e p o s it s o ld e r p a s te a t ( 3 .5 2 ,4 .3 0 )
on b o a rd u s in g n o z z le
31
D e p o s it s o ld e r p a s te a t ( 3 .5 2 ,4 .0 0 )
on b o a rd u s in g n o z z le
006 D
MCI
0 .0 0
5.71
01
Dry b o a rd in oven a t 85 d eg . F
t o s o l i d i f y s o ld e r p a s te
006 T
MCI
9 0 .0 0
19.21
01
T o ta l tim e on MCI
Figure 7.29: O u tp u t of the process planner on RM l: a process plan for th e
m anufacture of R M l, part ten.
17S
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Opn A
007 A
BC/WW
AC1
Setup Runtime
30.00
1.5 0
LN
Description
01 Setup
02
P ut ad h esiv e on b o a rd a t ( 0 .9 5 ,3 .2 0 )
f o r component D1
03
P ut ad h esiv e on b o a rd a t ( 1 .3 5 ,3 .2 0 )
f o r component D2
04
P ut ad h esiv e on b o a rd a t ( 2 .8 5 ,0 .0 0 )
f o r component FET
007 B
AC1
30.00
0 .0 0
007 C
AC1
0.00
10.00
01 Setup
01 W ait 90-120 m in u te s f o r th e f u rn a c e
to come to p r o f i l e , th e n cu re a d h e siv e
on board a t 125-150 d e g re e s C
007 T
Opn A
008 A
AC1
60.00
11.50
BC/WWSetup Runtime
MCI
0.00
01 T o ta l
tim e on
AC1
LN D e s c rip tio n
7 .5 0 01
P ic k -a n d -p la c e
C l a t ( 3 .3 5 ,4 .0 0 )
02 P ic k -a n d -p la c e
C2 a t ( 0 .1 5 ,4 .0 0 )
03 P ic k -a n d -p la c e
C3 a t ( - 0 .2 5 ,2 .2 5 )
Figure 7.30: O utput of the process planner on R M l: a process plan for the
m anufacture of R M l. part eleven.
179
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
008 B
MCI
3 0 .0 0
5.00
04
P ic k - a n d - p la c e C4 a t (1 .0 0 ,0 .2 5 )
05
P ic k -a n d -p la c e C5 a t (1 .5 0 ,0 .5 0 )
06
P ic k -a n d -p la c e Cs a t ( 3 .3 5 ,- 0 .5 0 )
07
P ic k - a n d - p la c e Cf a t (3 .0 5 ,0 .7 5 )
08
P ic k -a n d -p la c e Cc a t (3 .4 5 ,0 .4 0 )
09
P ic k - a n d - p la c e Cd a t (3 .0 5 ,1 .2 0 )
10
P ic k - a n d - p la c e D1 a t (0 .9 5 ,3 .2 0 )
11
P ic k - a n d - p la c e D2 a t (1 .3 5 ,3 .2 0 )
12
P ic k - a n d - p la c e Rg a t (2 .5 0 ,0 .0 0 )
13
P ic k - a n d - p la c e Rf a t (2 .9 0 ,0 .7 5 )
14
P ic k - a n d - p la c e Rs a t (2 .5 0 ,0 .0 0 )
15
P ic k - a n d - p la c e Rd a t (3 .2 5 ,1 .2 0 )
01
S etup
02
Wait 90-120 m in u te s f o r th e fu rn a c e
to come t o p r o f i l e , th e n reflo w s o ld e r
w ith h o t a i r a t 205 d e g re e s C
008 C
MCI
15.00
0.00
01
S etup f o r hand s o ld e r in g
008 D
MCI
0 .0 0
7.00
01
Hand s o ld e r
LI a t
( 1 .0 0 ,- 0 .1 5 )
02 Hand s o ld e r
L2 a t
( 1 .2 0 ,0 .5 0 )
03
Hand s o ld e r FET a t (2 .8 5 ,0 .0 0 )
Figure 7.31: O u tp u t of the process planner on R M l: a process plan for the
m anufacture of R M l. part twelve.
ISO
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
008 E
MCI
0.00
11.43
01
Spray board with vapor to
c le a n f lu x
008 T
Opn A
MCI
45.00
30.93
BC/WW Setup Runtime
01
T o ta l tim e on MCI
LN D e s c r ip tio n
009 A
TCI
0.00
35.00
01 P erfo rm p re -c a p t e s t i n g
009 T
TCI
0.00
35.00
01 T o ta l tim e on TCI
Opn A
BC/WW
010 A
HSC1
0.00
1.86
01 H e rm e tic a lly s e a l board
010 T
HSC1
0.00
1.86
01 T o ta l tim e on HSC1
Setup Runtime
on b o a rd
LN D e s c r ip tio n
Figure 7.32: O utput of the process planner on R M l: a process plan for the
m anufacture of R M l, part thirteen.
1S1
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Opn A
BC/WW
O il A
TCI
0 .0 0
O il B
TCI
0 .0 0
O il T
TCI
0 .0 0
6 4 .67
3 1 9 .7 0
3 22.63
999 T
Setup Runtime
35.00
2 9 .6 7
LN Description
01 P erfo rm p o s t-c a p t e s t i n g on board
01P erfo rm f i n a l in s p e c t io n o f board
01T o ta l tim e on TCI
01T o ta l tim e to m a n u fa c tu re
T o ta l p la n n in g tim e : 0 .8 9 0 seco n d s.
T o ta l n o d e s : 3732.
Bye!
Figure 7.33: O u tp u t
of th e process planner onR M l: a process plan
for
m anufacture of R M l, part fourteen.
182
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
RMl input file:
H 0 .2 2 .4 1 0 .1 5 2 .5
RUM1 input file:
H 0 .2 2 .4 1 0 .1 5 1.5
Echo of the translated input on RMl:
There i s a h o le a t
I t i s 1 .0 0 in c h e s
( 0 .2 0 , 2 .4 0 ) of d ia m e te r 0 .1 5 in c h e s .
deep; i t h as d im en sio n al t o l e r a n c e 2 .5 0 m ils .
Echo of the translated input on RUMl:
T here i s a h o le a t
I t i s 1 .0 0 in c h e s
( 0 .2 0 , 2 .4 0 ) of d ia m e te r 0 .1 5 in c h e s .
deep; i t h as d im en sio n al to l e r a n c e 1.50 m ils .
Figure 7.34: Differences between R M l and R U M l.
1S3
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
ERROR: T o le ra n c e o f 1.5000 m ils i s n o t a c h ie v a b le
f o r th e h o le o f d ia m e te r 0.1500 a t ( 0 .2 0 , 2 .4 0 ) .
S m a lle s t a c h ie v a b le to le r a n c e f o r a h o le o f d ia m e te r 0.1500
i s 2.0000 m ils .
T o ta l p la n n in g tim e : 0.100 se c o n d s.
T o ta l n o d es: 148.
Figure 7.35: O utput of the process planner on R U M l: an indication th a t the
design is unm anufacturable, what p art of th e design is unm anufacturable. and
why.
7.3
O bservations A b o u t A u tom ated P ro cess
P lan n in g for M icrow ave M odule M anufac­
ture
In this section, I discuss some of my observations about au to m ated process
planning for microwave module m anufacture, especially as im plem ented by the
EDAPS Process Planner. More of my observations—those th a t are more di­
rectly concerned with HTN planning and “partial-order planning”— appear in
C hapter 8 on Page 186.
I had to adapt HTN planning for microwave modules to be able to handle
the detailed input in a microwave m odule design. At the very least, th e floating
point num bers used as input are not expressible as predicates in any realistic
184
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
way.
To achieve as short a planning tim e as possible. I also had to add a partial
plan pruner to the standard HTN planning algorithm. This allowed us to make
local decisions, and to prune many partial plans th a t were known to have no
chance of becom ing optim al process plans.
I also needed to add a plan explanation facility, so th a t th e process plan
would be intelligible to hum ans. Even though this plan explanation did not use
any advanced AI techniques. EDAPS would not have been very realistic w ithout
it.
G enerative process planning approaches have previously had little success
because of th e difficulty involved in dealing with th e com plex interactions of
the m echanical processes required to manufacture parts in th eir dom ains. The
EDAPS Process Planner avoids this difficulty, because th e interactions of the
mechanical and electronic processes in its domain are com paratively simple.
185
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
C h ap ter 8
C o n clu sio n
“I have fought the good fight, I have finished the race, I have kept
th e faith .”
— 2 T im othy 4, 7 [69]
8.1
8.1.1
D iscu ssion o f H T N P lan n in g using TOFS
R e v ie w o f R esu lts
I have em ployed HTN planning using T O FS w ith great success to solve two
different research projects in artificial intelligence. I review the results of these
projects in this section.
I im plem ented an HTN planner using T O F S for declarer play at contract
bridge, called T ignum 2.
T ignum 2 scored statistically significant victories
against th e best available com puter bridge program on suit deals, on No Trum p
deals, and on all played deals.
I im plem ented a similar HTN planner using T O F S as an autom ated process
planner for microwave module m anufacture, called th e EDAPS Process Planner.
T he ED A PS Process Planner produced correct o u tp u t for every design, and
186
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
supported the EDAPS environm ent for design and process planning.
In both domains. HTN planning using TO FS led to programs th at, in most
cases, executed relatively quickly, and th a t searched relatively few nodes.
In
both domains, I have described detailed exam ples of the successful execution of
my im plem entations of HTN planning using TO FS.
8.1.2
B en efits o f H T N P lan n in g
H TN planning worked well in bridge and microwave module m anufacture. This
supports th e long-standing AI hypothesis th a t HTN planning is more useful th an
planning w ith STRIPS-style operators [48] in practical planning domains [169].
Bridge has a natu ral elem ent of hierarchical planning, and hence the bridge
literature lends itself n atu rally to HTN decomposition. To quote from a classic
textbook on the play of the hand at bridge (emphasis added):
The essential lesson of this chapter has been the im portance of en­
tries. Only by leading from the proper hand at a s tr a te g ic moment
can you hope to reap th e full harvest of your winners and probable
winners.
On entries depends your freedom of c h o ice in handling
your cards. W atch all en try cards— and cherish them . Develop fur­
ther entries, and p la n to have entries available as you proceed. You
will learn m a n y w ay s o f d o in g t h i s as you take up th e ensuing
chapters ([163], p. 46.)
In a single paragraph, the a u th o r discussed the need to “plan” to have entries
available, the m ethods— “m any different ways of doing this” th a t accomplish
this task, and the “choice” of a “strategic” scheme. Bridge practically cries out
for an HTN planning approach.
1ST
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
“F ig u re 3.19 Illustrating the
mounting of surface m ount
components to the board prior to
soldering
Solder/component
(SC), i.e., reflow
soldering
Surface mounted
component
Electrically
conductive
adhesives
Hand
soldering
Application of
solder as paste,
coating preform
Vapour phase
soldering
Infra-red
soldering
Component /solder
(CS) soldering
Application of
adhesive
Laser
soldering
Hot plate
soldering
Drag
soldering
Wave
soldering
Figure 8.1: A figure from an electronics assembly handbook, w ith striking simi­
larities to a hierarchical ta sk network.
188
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
Microwave module m anufacture also has a n atu ral element of hierarchical
planning. The decom position of a microwave m odule into the parts and pro­
cesses required to m anufacture it lends itself n atu rally to HTN decom position.
C onsider Figure 8.1 on Page 188. a figure taken verbatim from an electronics
assem bly handbook ([25], p. 98). The author of this handbook is certainly not
an AI researcher, much less an HTN planning ex p ert—yet his description of the
alternatives for “m ounting of surface mount com ponents to the board prior to
soldering” is practically a task network!
8 .1 .3
TO FS (T otal-O rd er Forward Search)
N ot only did HTN planning work well in bridge and microwave m odule m anu­
facture, but HTN planning also required T O FS to work well. In bridge, TO FS
worked well for at least two reasons. First, im plem enting a planner using TO FS
was much easier than im plem enting a partial-order planner. Bridge is a com pli­
cated dom ain that does not lend itself easily to representation by logical atom s,
as discussed in Section 3.3 on Page 18.
Second. TOFS worked well with reasoning w ith imperfect inform ation. It
is difficult enough to reason about the probable locations of the opponents'
cards. If my task networks were partially ordered, then in many planning situa­
tions my program w ouldn’t know w hat cards th e opponents had already played.
T his would make reasoning about th e probable locations of the opponents’ cards
nearly impossible; this reasoning is a more serious problem than th e problem s
w ith uninstantiated variables th a t occur in perfect-inform ation dom ains.
Again, in microwave m odule m anufacture, T O F S worked well for a t least
two reasons. First, im plem enting a planner using TO FS was much easier than
189
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
im plem enting a partial-order planner, because I already had im plem ented much
of the planning logic in T ignum 2.
In both domains. T O F S worked well because there was sim ply no reason to
do otherwise. While some situations might occur in which it m ight be useful
to plan for a later task before planning for an earlier task. I felt th a t these
situations did not occur frequently enough to make p artial-order planning worth
th e trouble.
8.1.4
Lessons L earned from P lanning u sin g T O F S
In both bridge and microwave module m anufacture, the results of my research
vindicated the choice of planning using TO FS. I discuss th e consequences of
these choices in this section.
In both domains, I had th e advantage of being able to use a rb itra ry com­
p u ter code to decide w hether to apply a m ethod. This advantage was useful
in microwave module m anufacture. If I had been restricted to logical atom s, it
would have been difficult to represent the complex geom etric inform ation inher­
ent in microwave modules. B ut because I could use a rb itra ry com puter code,
this lim itation disappeared.
In bridge, this advantage was more than useful; it was essential. F irst, it
allowed Tignum 2 to reason about uncertainty. As I discussed in Section 4.1.5
on Page 31, researchers who use logical atoms to plan w ith u n certain ty are ju st
beginning to address problem s on the scale of bridge.
Second, it was much sim pler for me to im plem ent tasks and m ethods w ith
arb itrary com puter code th a n it would have been to im plem ent th em w ith pred­
icates. For one example, consider the problem of a m ethod d ep en d en t on a suit
190
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
breaking evenly. It is easy to calculate the probability of a 2-2 break in a suit.
It is far more difficult to calculate the probability th a t a suit will break evenly
if. because of partial-order planning, you don’t even know how many cards th e
opponents have in the suit in the current state!
For an o th er exam ple, consider finessing.
In T ignum 2, I have a tab le of
tw e n ty - s ix finesse situations. Using arb itrary com puter code, it ’s easy to check
w hether one of these situations exists in a suit, and th en apply a m ethod, or
not. as appropriate.
If Tignum 2 were to try using a finesse m ethod w hile leaving some of th e
variables in the precondition uninstantiated, and th en later in planning try to
achieve th e precondition through the play of tricks earlier in the deal. T ignum 2
would have to decide which of the twenty-six situations to try to achieve— and it
w ouldn’t be im m ediately obvious which of them were even possible to achieve.
Consider, for exam ple, 4kAKT9 in dum m y’s hand, and 4fc432 in declarer’s hand.
T ignum 2 does not consider this to be a finesse situ atio n . Yet if the 4*2, the 4bA,
and two low spades from th e defenders are played to a trick, then this situation
effectively becomes 4bAJT in dum m y’s hand, and A 76 in declarer’s hand, a clear
double finesse against th e 4&KQ.
T h e disadvantage of arbitrary com puter code is th a t it can lead to inelegant
task networks.
In my code in both domains, I im plem ented all the m ethods
associated w ith a single task in a single procedure. W hile the procedures for
microwave m odule m anufacture are short and clear, some of the procedures for
bridge are not.
T h e advantages of T O FS far outnum bered the disadvantages in both of my
dom ains. W hile there are many domains in which partial-order planning is su-
191
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
perior to total-order planning. I firmly believe th a t there are also m any domains
in which the advantages of T O FS far outnum ber the disadvantages. I suggest
strongly th a t researchers in th e practical side of AI explore the possibility of
choosing planning using T O F S. and th at researchers in th e theoretical side of
AI focus a significant p a rt of th eir attention on the theoretical considerations
involved with planning using TO FS.
8.2
D iscu ssion o f B ridge an d M icrow ave M o d ­
ule M anufacture
I have (in Section 5.4 on Page 97) already m ade several observations specific to
bridge. I had to adapt H TN planning for bridge in m any ways: storing plans
as decision trees; m aking it clear whose tu rn it was to move when a m ethod
was being used; planning for only one trick if m y program had no o th e r choices:
associating a critic function w ith each node in th e decision tree w here it was
th e o p p o n en ts move; representing the known inform ation about the s ta te of the
world w ith state inform ation sets; using belief functions to classify th e unknown
inform ation about the s ta te of the world, and m odifying these belief functions
depending on the m ethod being used for a task; assum ing the tru th o f precon­
ditions when applying m ethods associated w ith uncontrolled agents’ moves; and
pruning uncontrolled ag en ts’ moves based on likelihood.
I also observed th a t in the rare instances w here Tignum 2 spent a lot of tim e
deciding on a play, the tim e spent proved to be valuable. In the course of ex­
tending my work from No T rum p deals to suit deals, I observed th a t broadening
a task network could im prove the task network on a narrower focus, and th a t
192
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
"white knights"—actions that m ake tru e again a false precondition that was
once true—rarely arise in bridge.
I have also (in Section 7.3 on Page 1S4) already m ade several observations
specific to microwave m odule m anufacture. Again, I had to ad ap t HTN planning
in a number of ways: handling th e detailed input; adding a partial plan pruner:
and explaining plans, to make th e m intelligible to hum ans.
8.2.1
C om paring and C on trastin g D eclarer P la y at C on­
tract B rid ge w ith P ro cess P lan n in g for th e M an­
ufacture o f M icrow ave M odules
In both bridge and microwave m odule m anufacture, th e problem of finding a
valid plan is relatively easy. In bridge, it is very easy: any sequence of legal
plays is a valid plan. This is tru e of m ost o th er games as well.
In contrast, in microwave m odules, the problem of finding a valid plan is
slightly harder. Still, in microwave m odules, ju st finding a valid plan is not the
problem that needs to be solved.
On the other hand, in neith er dom ain is it essential th a t I find the o p tim a l
plan. It is difficult, in fact, to even d e fin e the optim al plan in bridge. W hat
really concerns us is getting as good a plan as possible in a reasonable amount
of tim e.
To plan in a reasonable am ount of tim e, a planner m ust consider a search
space smaller than the search space of all possible operators. T hus, the HTNs
used in each domain m ust reduce th e branching factor of th e search space in
some way.
In bridge, an especially efficient reduction in the branching factor occurs
193
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
when my planner considers a string of actions in succession that are all part
of one ““strategic” scheme: frequently, at a given point in time, only one action
is consistent with this “strategic" scheme. A nother im portant reduction occurs
when an opponent is to follow to the play of a trick; the opponent's move is
selected by finding the m atching actions in th e task network, and frequently
there are only one or two m atching actions.
On the one hand, in microwave m odule m anufacture, an especially efficient
reduction in the branching factor, sim ilar to a reduction in the branching factor
in bridge, occurs when m y planner considers a strin g of actions in succession
th a t are all p art of one set of processes. O n the o th er hand, there is no analog
in microwave m odule m anufacture to the situ atio n in bridge when an opponent
is to follow to th e play of the trick.
There is an o th er reduction in search space in microwave module m anufacture,
although it is not strictly a reduction in branching factor. This reduction is the
effect of the ‘“p artial plan pruner”, described in Section 6.4.3 on Page 120.
8.3
Future R esearch
I do not lack directions for future research. Indeed, my puzzle is selecting which
of m any future research topics to pursue. I sketch fu tu re research in bridge in
Section 8.3.1 on Page 195; future research in microwave modules in Section 8.3.2
on Page 196; future research in forward pruning in Section 8.3.3 on Page 196;
and other future research in Section S.3.4 on Page 197.
194
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
8.3.1
Future R esearch in B rid ge
There are two kinds of fu tu re research in bridge: improvement of Tignum 2‘s
declarer play, and fundam entally new research topics. I discuss both kinds.
To improve Tignum 2 :s play, I can refine its network of m ulti-agent m ethods.
Alternatively, I can speed up its play when a critic does not accept the opponent's
play as equivalent to the planned card, by having Tignum 2 modify and re-use
the existing plan. Also, I can speed up its play by having Tignum 2 use tim e
more wisely, w ith likelihood pruners th a t look at more th an ju st the current
situation. At th e very least, I should im prove Tignum 2’s play when it is in
danger of exceeding its tim e lim it by having it not pursue avenues of play th a t are
unlikely to m atter. I would certainly like to im plem ent a system to reason about
location of the opponents’ cards th a t can function within Tignum 2’s constraints.
Finally, many efficiency im provem ents for game trees—such as transposition
tables, adaptations of alpha-beta pruning, and the like— are available, and I
have not yet im plem ented any of them .
There are a num ber of possible fundam entally new research topics as well.
Tignum 2 has a wealth of inform ation in its decision tree and in its netw ork of
multi-agent m ethods th a t describes w hy it chooses to play a particular card;
being able to explain this inform ation to a human might tu rn Tignum 2 into
a useful bridge tu to r. T ignum 2’s HTN planning approach could certainly be
extended to defensive play, and even to bidding. Finally, as a m athem atical
curiosity if nothing else, I could investigate the worst-case game tree size for
the modified b ru te force approach th a t, when a player is holding a sequence of
equivalent cards, only investigates one of them .
195
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
8.3.2
F u tu re R esearch in M icrow ave M od u les
Again, there are two kinds of future research in microwave modules: improve­
m ent of the ED A PS Process Planner, and fundam entally new research topics. I
discuss both kinds.
To improve th e EDAPS Process Planner. I can add feedback on unmanufac­
turability of m ore than ju st mechanical features. Also, I can add an option to
sacrifice optim ality on milling features— where the optim al set of tool replace­
m ents may be difficult to find efficiently— or at least im plem ent a b etter partial
plan pruner th a t does not sacrifice optim ality.
The most significant fundam entally new research topic would be a production-quality planner th a t engineers w ould actually want to use. This may involve
planning w ith heterogeneous trade-offs, such as cost, lead tim e, yield, and qual­
ity.
8.3.3
F u tu re R esearch in Forward P ru n ing
In my current forward pruning models, I can try to develop closed-form solutions
for my recurrences. A lternatively, I can express payoff values at the leaves as
probability functions, and try to develop closed-form solutions in th at fashion, in
case it is th e discrete nature of my recurrences th at makes closed-form solutions
difficult. I can also extend my models of forward pruning, from ternary to 4-ary
and more-ary trees, and from N-game-like trees to N-game trees.
Perhaps th e most im portant forward pruning research would be a charac­
terization of sibling correlation.
A characterization in contrived games, such
as N-games and P-games, would be a sta rt; a characterization in games such as
chess and bridge m ight provide gam e-playing researchers w ith a useful indication
196
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
of what approaches are likely to work best on what games. O ne possible formal
definition of sibling correlation might be the average difference in minimax vaiue
between a node and all other nodes at the same level of th e gam e tree, divided
by the average difference in m inim ax value between a node and all its siblings.
8.3.4
O th er F uture R esearch
There are plenty of possibilities for future theoretical research. Do my algorithm s
always halt? How do you prove th a t a particular network of multi-agent m ethods
guarantees th a t an algorithm will halt? How do you prove th a t a network satisfies
some requirem ents on plan quality?
T he most im p o rta n t— and most challenging—research topic of all is: W h at
insights does m y work provide about AI planning as a whole? For example:
• W hat dom ains are crying out for planning using T O F S ?
• How can planning using TO FS be adapted to dom ains for which it seems
unsuitable a t present?
• Can dom ains suitable for planning using TOFS be characterized formally?
• Do hum ans do planning using TO FS never? som etim es? when?
8.4
F in al T houghts
I have described th e success of my approach to declarer play at contract bridge—
my program, T ignum 2, defeated the Bridge Baron, th e best available com puter
bridge program . I have also described the success of m y approach to generative
process planning for th e m anufacture of microwave m odules— my program, th e
197
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
EDAPS Process Planner, working concurrently with an electronic CAD tool, cre­
ates actual process plans for the m anufacture of realistic microwave m odules in a
reasonable am ount of time; these plans incorporate both electronic and m echan­
ical m anufacturing processes. I have investigated some theoretical explanations
for my success. I close by urging AI researchers to explore HTN planning using
T O F S in other practical domains.
“Fear no more the heat o’ the sun.
Nor th e furious w inter’s rages;
T hou thy worldly task hast done.
Home a rt gone, and ta ’en thy wages.”
— G uiderius. in Cymbeline (act IV. scene ii, lines 258-263), by
W illiam Shakespeare, 1609-1610 ([13], p. 243)
198
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
A ppendix A
Forward P ru n in g
“Thus m athem atics m ay be defined as th e subject in which we never
know what we are talking about, nor w hether what we are saying is
tru e.”
— “Recent work on the principles of m athem atics", by B ertrand
Russell, 1901 [122]
Consider a zero-sum gam e between tw o players, Max and Min. If the gam e is
a perfect-inform ation game, then the “correct” value of each node u is norm ally
taken to be the well known m inim ax value:
m m (u ) =
the “payoff” a t u
if u is a term inal (leaf) node,
m ax{m m (u) : v is a child of u}
if it is Max's move at u ,
m in{m m (u) : v is a child of u}
if it is Min’s move a t u.
where the payoff at a leaf node is the gain Max gets, and the loss Min suffers, if
th a t node is reached.
Due to the size of the game tree, com puting a node’s tru e m inim ax value
is im practical in most games. For this reason, game-playing programs usually
m ark some non-terminal nodes as term inal, and evaluate th em using some sta tic
evaluation function e(u). T he simplest version of this approach is w hat Shannon
[133] called Type A pruning: choose som e arb itrary cutoff depth L , and m ark
199
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
a non-term inal node « as term inal if and only if u ’s depth exceeds L. A more
sophisticated version of this approach is quiescence search: m ark a non-terminal
node u as term inal if and only if u ’s depth exceeds L and u is quiet, th a t is. there
is reason to believe th a t e(u) will be reasonably accurate at u.
To further decrease the num ber of nodes exam ined, gam e-tree-search pro­
cedures have been developed such as alp h a-b eta [80]. Bx [16]. and SSS* [149].
T hese procedures will ignore any node below u th a t they can prove will not affect
u ’s m inim ax value.
O ne m ethod for reducing the num ber of nodes exam ined by a tree search
is forw ard pruning.
At each node of a search tree, a forw ard-pruning search
procedure discards some of th a t node’s children before searching below th at
node. Thus, forward pruning saves tim e, but takes the risk of failing to search
im p o rtan t paths in the tree.
In th e EDAPS Process Planner, I do not do forward pruning. W hile my par­
tial plan pruner discards some of a node’s children, it only does so after making
certain th a t those children do not lead to th e optim al solution. Similarly, while
m y H TN planning algorithm only investigates certain processes in any situation,
it does so w ith th e confidence th a t o th er processes are com pletely inappropriate:
for exam ple, it would be silly to drill a hole, then place a com ponent, and then
drill another hole.
T ignum
2
, however, avoids exam ining all possible moves for all agents, and
it is quite possible in almost any situation th a t Tignum 2 is failing to search an
im p o rtan t path in the tree. Thus, my approach in bridge is closely related to
th e idea of forward pruning. The prim ary difference from previous approaches to
forward pruning is th a t previous approaches used heuristic techniques to prune
200
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
"unprom ising" nodes from the game tree, whereas Tignum 2 sim ply avoids gen­
erating nodes th a t do not fit into a tactical and strategic scheme for any player.
In a theoretical situation, Tsuneto et al. showed th a t a good forward pruning
strategy is far m ore im portant than even the optim al refinem ent strategy [161].
In th e practical world, some version of forward pruning seem to be “what people
do”— people certainly do not generate full gam e trees, or even full alpha-beta
game trees, in th e ir heads.
B ut on perfect-inform ation zero-sum games such as chess, forward pruning
has not worked as well as approaches th a t do not use forward pruning, instead
choosing to search to a shallower depth th an they could w ith forward pruning [19.
159]. How can I explain my success in bridge w ith an approach closely related
to forward pruning?
As a step tow ard deeper understanding of how forward pruning affects quality
of play, I set up a model of forward pruning on two ab stract classes of game trees.
I used this m odel to investigate how forward pruning affects th e probability of
choosing th e correct move. (This work was discussed in [140] and [141]. Most of
Section A comes from these papers.)
A .l
G am e-T ree M odels
In this section, I define two different classes of gam e trees. In later sections. I
will investigate how forward pruning behaves on these trees.
A . 1.1
N -G am e-L ik e Trees
201
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Max node
Min nodes
RVA nodes
Random values
Max nodes
Min nodes
RVA nodes
Random values
Max nodes
Leaf strengths
' "1 ------------- ^
------------
a
- 0
------- h i
Leaf node payoffs
-1 -1 -1 -1 -1 -1 +1 +1
□
□
□
□
□
□
-2
-2
-2
-2
-2
-2
0
0
0
0
0
□
□
0 0
0 +1 -hi
Figure A .l: Exam ple of an N-game-like tree.
An N-game-like tree is a com plete tree th at contains th e following types of nodes
(an example appears in Figure A .l on Page 202):
1
. Max nodes, where it is M ax’s move. Each Max node is either a leaf node
or has three children, all of which are Min nodes.
2. Min nodes, where it is M in’s move. Each Min node has three children, all
of which are RVA nodes.
3. RVA (Random -Value Addition) nodes, which have num eric values assigned
to them at random . T he numeric value of each RVA node is chosen in d e­
pendently from th e set { —1 , 1 } with probability p # being the probability
of choosing
1
. (In this dissertation, I will set p # =
(1
+
= 0.61803.
the golden ratio, so th a t in th e limit, there is still a nonzero probability of
each player having a forced win in the game tree.) Each RVA node has a
202
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
single child, which is a Max node.
The tree’s Max-height. h. is one less than the num ber of M ax nodes on any
path from the root to a leaf node : 1 thus the max-height of the tree in Figure A .l
on Page 202 is 2. T h e strength of each leaf node u is the sum of th e values of
the RVA nodes on th e p a th from th e root to u. If the strength of a leaf node
is nonnegative, it is classified as a win (payoff 1 ); otherwise, it is classified as a
loss (payoff 0 ).
A .1.2
C om p arison o f N -G am e-L ike Trees w ith B ridge
In the game of bridge, th e basic unit of play is the trick. A fter each of the four
players has played a card, one partnership or the other wins th e trick. At each
point in a bridge deal, each p artn ersh ip has taken a certain num ber of tricks.
The outcome of th e deal depends on how many tricks each p artnership has taken
at the end of the deal.
This trick-scoring m ethod gives bridge a superficial resem blance to the Ngame-like trees defined above. To see this, consider a node v in a bridge game
tree, and suppose th a t v represents a bridge deal in which k tricks are left to be
played. If V is th e subtree rooted a t u, then the num ber of tricks each side will
have taken in the leaves of V cannot differ from one another by any more than
k. A similar situation occurs in an N-game-like tree of height h: if a Max node
v has a M ax-height of k, and V is th e subtree rooted at v, th e n the strength of
th e leaves of V cannot differ from one another by any more th a n 2k.
'This is analogous to the height o f a com plete tree (which is one less than the number of
nodes on any path from the root to a leaf node), except that here I only count Max nodes.
203
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Max node
Min nodes
Max nodes
Min nodes
Max nodes
Leaf node values
1
0
1
1
0
0
0
0
1
Figure A .2: Example of a P-gam e tree.
A .1.3
P -G a m e Trees
A P-game tree [107, 108, 115] is a complete tree th a t contains th e following types
of nodes (an exam ple appears in Figure A.2 on Page 204):
1
. Max nodes, w here it is M ax's move. Each Max node is e ith e r a leaf node
or has exactly th ree children, all of which are Min nodes.
2. Min nodes, w here it is M in’s move.
Each Min node has exactly three
children, all of which are Max nodes.
As before, the tre e ’s M ax-height, /i, is one less than th e num ber of Max
nodes on any path from th e root to a leaf node; thus the M ax-height of the tree
in Figure A.2 on P age 204 is 2. Since the tree is complete, each leaf node has
the same height, and thus th e same M ax-height. T he payoff of each leaf node n
is randomly, independently chosen from a th e set {0 , 1 }, with probability pp of
choosing
1
. (In this dissertation, I will set pp = 0.68233, in order to guarantee
th a t in the lim it, th e re is still a nonzero probability th a t each player will have a
forced win in the gam e tree [14, 114, 107].) Because u's payoff does not depend
on the path from th e root to u. there is no need for RVA nodes.
204
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
A .2
Forw ard-Pruning M od els
In the gam e trees investigated in this section, th ere are two players. M ax and
Min. Each leaf node has a stren g th , represented by an integer. My model of a
forw ard-pruning algorithm works as follows. At each node u where it is M ax's or
M in's move, u has three children. Ui, u 2, and U3 . T he forward-pruning algorithm
will choose exactly two of these th re e children to investigate further. Normally, it
would make this choice by applying a static evaluation function e() to th e three
children, and discarding the child having the lowest value. For my m athem atical
derivations, I assume th a t there axe fixed probabilities for which children will be
chosen and which child will be discarded. T here are four possible cases:
1
. Each of the children has a different strength. Say u x has the best stren g th
for th e current player (highest for Max, lowest for Min): u3 has th e worst
strength; and u 2 is in betw een. Then I claim th a t the best two children to
investigate further are ui and u 2. If ui leads to a win for the current player,
b u t u 2 and U3 do not, it is essential for th e current player to search uj,
because chances are good th a t the forward pruning algorithm will correctly
evaluate
as a win, and th e o th er two children as losses.
If u 1 and u 2 lead to a win for th e current player, it is better for the current
player to search both of th e m th an it is for th e current player to search
only one of them, in case th e forward pruning algorithm later m istakenly
evaluates one of them as a loss.
In my m athem atical derivations, I assum e th a t the probability of choosing
th e two best children is p, w here p is constant throughout the tree. I assum e
th a t the probability of choosing the best child and th e worst child is <7 , again
205
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
constant throughout the tree. In this dissertation. I define q = p(l — p).
Finally. I assume th a t th e probability of choosing the worst two children is
r. constant throughout th e tree: r — 1 —(p+q) =
2
1
—( p + p ( l—p)) = ( 1 —p)2.
. Tw o of the children have th e sam e strength; the o th er node has a worse
stren g th . Then I assum e th a t th e probability of choosing the best two
children is p, as before; th e probability of choosing one good child and the
bad child is 1 —p = q + r . so th e probability for each good child of choosing
th a t good child and th e bad child is
(1
—p ) / 2 = {q + r ) / 2 .
3. Two of the children have th e sam e strength; the o th er node has a better
strength. Then I assum e th a t th e probability of choosing th e worst two
children is r, as before; th e probability of choosing th e good child and one
bad child is
1
—r = p + q, so th e probability for each bad child of choosing
th a t bad child and the good child is
(1
— r ) / 2 = (p + q ) / 2 .
4. All three children have th e sam e strength. Then th e probability of choosing
any given pair of children is 1/3.
A .3
A .3 .1
M ath em atical D erivations
Forward P ru n in g on N -G am e-L ike T rees
I w ant to com pute the probability th a t the forward-pruning algorithm estim ates
a m inim ax value of s and th e actual minimax value is t for an N-game-like tree
D whose Max-height is h. T h a t is, I w ant Pr[estim ated m inim ax value s, actual
m inim ax value t \ D 's M ax-height is h\.
I can com pute this from the node
strengths, as follows. Let
206
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
£h.x.y = Pr[estim ated strength x . actual strength y
| M ax-height ft. root is a M ax node of an N-game like tree]:
fk,x,y = Pr[estim ated strength x . actual stren g th y
| M ax-height ft, root is an RVA node of an N-game like tree]:
9k,x,y — Pr[estim ated strength x, actual stren g th y
| M ax-height ft, root is a M in node of an N-game like tree].
These probabilities depend on p and p^r (recall th a t p/v = 0.61803). T he base
case is e0,x,y =
1
if x = y =
0
, and eo<x,y =
0
otherwise.
It is possible to derive recurrences for these probabilities. First, consider th e
recurrence for fh.,x,y for an RVA node u. T he RVA node u has a single child.
v. W ith probability p n , the RVA node has value 1, and both the estim ated
strength and th e strength of v are
1
g re a ter th an they were before counting
the random value associated with u, so in this case fh,x,y = PN&h ^-\,y-\- W ith
probability (1 —pjv), th e RVA node has value -1. and both the estim ated stren g th
and the strength of v are
1
less than th ey were before counting the random
value associated w ith u, so in this case fh,x,y = (1 — p^)e/i,x+i,y+ifh,x,y ~ PN^h,x—l,y—l "P (1
P
N
A dding,
•
Next, consider th e recurrence for gh,x,y for a Min node u. Let the children of u
be u i, u 2, and u 3. T he actual strength y is th e m inim um of the actual strengths
of the children of u : thus at least one of { u i,U 2 ?u 3 } has an actual strength of y.
T here are four cases for the actual stren g th s of the children of u:
1
. One child has strength y , one child has strength
6
> y, and one child has
strength d > ft.
2. One child has strength y. and two children have strength ft > y.
207
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
3. Two children have stren g th y. and one child has strength b > y.
4. All three children have stren g th y.
Consider the first case. It can happen in (j) =
6
ways: any of { u i,u 2.u 3}
can have strength y. and any of th e two rem aining children can have strength
b > y. Remembering to m ultiply by
6
later, assume th a t u i has stren g th y, th a t
u 2 has strength 6 , and th a t u3 has strength d.
W ith probability p, th e forward-pruning algorithm will choose the two best
children, u \ and u2. For the estim ated strength of u to be z , one of u x and
u 2 must have estim ated stre n g th z; the other may have any estim ated strength
greater th a n or equal to z , and u3 may have any estim ated strength. T here are
three cases:
1
. In the situation w here Ui has estim ated stren g th z and u 2 has estim ated
strength a > z, u 3 m ay have any estim ated stren g th c. Thus, for this case,
9 h ,x ,y —
6
^
^
^
a :a > x b:b>y c
^
f h ,x ,y f h ., a .b f h ,c .d d:d>b
2. In the situation w here u 2 has estim ated strength z and
has estim ated
strength a > z , u3 m ay have any estim ated stren g th c. Thus, for this case,
9 h -,x ,y =
6?
^
a :a > x b:b>y
c
^
fh ,a ,y fk ,x ,b fk ,c ,d d:d>b
3. In the situation w here Ui and u 2 both have estim ated stren g th z, u 3 may
have any estim ated strength c. Thus, for this case,
9 h ,x ,y =
fh ,x ,y fh ,x ,b fk ,c ,d -
6p
b:b>y c d:d>b
208
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
W ith probability q. the forward-pruning algorithm will choose th e best child
and the worst child. u \ and U3 . For the estim ated strength of u to be x. one of
and U3 must have estim ated strength x : th e other may have any estim ated
strength greater than or equal to x , and u-x may have any estim ated stren g th .
T here are three cases:
1. In the situation where u \ has estim ated strength x and u3 has estim ated
strength a > x, u 2 may have any estim ated strength c. Thus, for this case.
9 h .,x ,y =
®9
^
^
a :a > x b :b > y
c
^ ^ ^ fh .,x ,y fh .c ,b f h , a , d '
d:d>b
2. In the situation w here U3 has estim ated strength x and iti has estim ated
strength a > x, u 2 may have any estim ated strength c. Thus, for this case.
9 h ,x ,y — b ?
f h ,a , y f h ,c , b f h . x , d a :a > x b:b>y
c
d:d>b
3. In the situation w here ui and u3 both have estim ated stren g th x. u 2 may
have any estim ated strength c. Thus, for this case,
9 h ,x ,y = 6 9
y ] y ]
fh ,x ,y fh ,c ,b fh .x .d b:b>y c d:d>b
W ith probability r , th e forward-pruning algorithm will choose th e two worst
children, u2 and u3. For the estim ated stren g th of u to be x, one of u 2 and
u3 m ust have estim ated strength x; the o th er may have any estim ated stren g th
greater than or equal to x, and U\ may have any estim ated strength. T here are
three cases:
1. In the situation where u 2 has estim ated strength x and U3 has estim ated
strength a > x, iq may have any estim ated strength c. Thus, for this case.
9 h .,x ,y ~
bx
EEEE
a :a > x b:b>y
c
fh ,c ,y fh ,x ,b fh ,a ,d '
d:d>b
209
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
2. In the situation where u3 has estim ated strength .r and u 2 has estim ated
strength a > x. ui m ay have any estim ated strength c. Thus, for this case.
<7 /i,r,jr =
6
'Y,
r
a ta> xb-.b> y
fh .c ,y fh ,a .b fh .x .d -
c d:d>b
3. In the situation where u 2 and u 3 both have estim ated strength x, u { may
have any estim ated stren g th c. Thus, for this case,
9 b .x ,y
= 6r
yy
6 :6 > y
c
fh ,c ,y fh ,x .b fh .x .d ■
rf:rf>6
Continuing to enum erate cases, I eventually end up w ith th e following recur­
rences for
f h , x , y i Qh,x,y>
and
C h ,x ,y '
fh ,x ,y
=
P N ^h ,x—l,y —l + ( 1
9 h ,x ,y
~
P *
y
I 6 y ] ^
y a :a > x b:b>y
+ 3/ 2
c
E
a :a > x
Y1
E
f h .a , y f h , x , b f h . , c , b )
( h .x ,y fh ,a ,y fh ,c ,d )
d:d> y
y ~ l( fh.x.vfh,a,yfh.,c,y )
c
E
b:b> y
f h ,a ,b fh ,c ,b +
c
E
c
a :a > r
+ 6
" y ~ ( f h ,x ,y f h .,a ,b f h ,c ,d “I" f h , a , y f k , x , b f h , c , d )
d:d>b
T .
L
a :a > x b:b>y
+ 3 E
+ 1 /3
P N )^ /i,x + l,v -t-l 1
E
c
(fh ,x ,y fh,x,bfh,c,d)
d:d>b
+ 3 /2 E
b:b>y
+ 3
EE
c
+
c
( f h ,x ,y fh ,x ,y fh ,c .d )
d:d> y
1 /3 Y ( h . x . y h , , y h x , y ) )
+ 9 X I 6 y " y 1 y ] y * ( / h,x,yfh,c,bfk,a,d + J k,a ,yfh ,c,b fh ,x,d )
y a:a>xb-.b>y c d:d>b
+ 3 /2 E
E
B / a*
a : a > i b:b>y
+ 3 /2 E
a :a > x
E
c
y fh ,c ,b fh ..a ,b +
f h ,a , y f h ,c < b f h ,x .b )
r-
E
( fh .x ,y fh ,c ,y fh ,a ,d +
fh ,a ,y fk ,c ,y fh ,x .d )
d:d> y
210
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
y
4* 1/3
a:a>x
+ 6 ^
'.{ fh .x .y fh .c ,y fb .a .y )
c
Z2
b:b>y
(/A.x.y//i.c.f>/A.x.<i)
c
+ 3/2
b:b>y
d:d>b
Z"1 ( f h , x , y f h . c , b f h . x . b )
c
+ 3 / 2 ^ Z"! ( f h j : , y f h , c , y f b . , x . d )
c </:<f>y
+ 1/3 Z"! f h , x , y f h . . c , y f k . x , y ^
+ r x I6 I E E E
{fhiCiyfhiX,bfhia,d “t“ fh tc^yfh,a,bfh,tx,d)
^ a:a>r6:6>y c rf:rf>6
-j- 3/2 ^
^ ' ^ ^ { f k , c fy f h . , x yy f h fa,d~^~
a:a>x
+ 3
c
^ 2
Z* y ^ X f h , c , y f k , x . b f k , a , b )
a:o>r i:6>j c
+ 1/3
X"] ( f h , x , y f h , c , y f h . a , y )
^2
a:a>x
+6
fh ,c ,y fh * a ,y fh ,x * d }
d:d>y
c
XZ XZ
^ 2
6:6>y
c
(fh iC ,y fh j:,b fli.x ,d )
did>b
+ 3/2 ^
{ fh .c ,y fh ,x ,y fh ,x ,d )
c d-.d>y
+ 3 y i y~! ( f h . c , y f h , x , b f k . x . b )
b:b>y
e /i+ l,x ,y
:
P X
I 6
\
c
X I f a * . x ,y 9 h ,a ,b 9 h ,c ,d +
XT X I
a :a < x 6:6<y
+ 3/2 E
c
5 1 X I( pa.x ,y 9 h ,a ,b 9 h ,c ,b
a :a < x 6:6<y
+
9 h ,a ,y 9 h ,x ,b 9 h .,c ,b )
c
XI
+1/3 E Eo»
^ - X *! { 9 k ,x ,y 9 h ,a ,y 9 h ,c ,d )
+ 3
a :a < x
c
d:d<y
,x ,y 9 h ,a ,y 9 h ,c ,y
a :a < x
+ 6
9 h ,a ,y 9 h ,x ,b 9 h .,c ,d )
t£:rf<6
Z
E
b:b<y c
+ 3 /2
£
6 :6 < y
c
)
E
( p * . x ,y 9 h .x ,b 9 h .,c ,d )
d:d<b
'5 ^ , ( 9 h ,x ,v 9 k .x .b 9 h .c .b )
c
211
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
"f"
( 9 h .x .y 9 h .x .y 9 h .c .d )
5 3
d:d< y
1 / 3 5 3 { 9 h .x ,y 9 h .x ,y 9 h .c ,y
+ 9 X 1 6
^ ^ 5 3 5 " ! 5 ] ( 9 h .,x ,y 9 h ,c ,b 9 h ,a ,d 4" 9 h ,a ,y 9 h .c ,b 9 h ,x .d )
\
a :a < x b :b < y c dxd<b
y
"I" 3 / 2
^
1 5 "'A9 h ..x,y9 b .,c,b 9 h .,a ,b "I" 9 h ..a ,y9 h ,c.b 9 h ^x .b )
5
a :a < x b:b<y
53 53 5 "
"I" 3 / 2
a:a < r
53
d* 1 / 3
a :a < x
■t" 6
c
{ 9 h ,x ,y 9 h ,c ,y 9 h .,a ,d "t" 9 h ,a ,y 9 b ..c ,y 9 h ,x .d )
dxd<y
c
5 3 ( f f A .j.v f f A ,c .t/g /i.g .y )
c
5 3 5 3
( 9 h .,x ,y 9 h .,c ,b 9 h ,x ,d )
bxb<y c d:d<b
“I” 3 / 2 5 3 '5^.{9h,x,y9h,c,b9h.x,b)
6 :6 < y
c
3/2 53 53 (9 h , x , y 9 h , c , y 9 h . x , d )
d:d< y
c
"f” 1 / 3 5 " 9 h . x , y 9 h , c , y 9 h , x , y ^
+ T X
5 53
"i" 3 / 2
3
5 '
^
a :a < x
+
5
c
5
i / 3
4" 6
4"
5 3 ( ^ , C ,y 9 h ,x ,b 9 h ,a ,b )
c
E
£ ( « ,x ,y 9 h .,c ,y 9 h ..a ,y )
a :a < x c
5 1
5 3
5 3
6 :6 < y
c
d:d<b
3/253 53
c
4" 3
( 9 h .,c ,y 9 h ..x ,y 9 h ,a ,d 4" 9 h ,c ,y 9 h .,a ,y 9 h ,x ,d )
d :d < y
a :a < x b:b<y
+
5 ! ( 9 h ,c ,y 9 h .,x ,b 9 h ,a ,d ~t” 9 h ..c ,y 9 h .,a ,b 9 h ,x ,d )
d:d<b
I 6 ^ '
5 " 5
Y a :a < x b:b<y c
( 9 h , c , y 9 h , x , b 9 h ,x ,d )
( d h ,c ,y 9 h .,x ,y 9 h ,x ,d )
d:d< y
^ ] 5 "'X9 h , c ,v 9 h ,x ,b 9 h ,x ,b )
b:b<y
c
"I" 1 / 3 5 3 (9h,x,ygh.x,y9h,c,y ) j •
Now. let
ehi3tt = Pr[estim ated m inim ax value s , actual minimax value £
212
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission
| M ax-height
fh .s .t
root is a Max node of an X-gam e like tree]:
h.
= Prfestim ated m inim ax value s. actual minimax value
| M ax-height
t
root is an RVA node of an N-gam e like tree];
h.
9h,s,t = Pr[estim ated m inim ax value s , actual minimax value
t
| M ax-height h, root is a Min node of an N-gam e like tree].
Then
E E
6 /i,x ,y >
A .0 ,1
x :x < 0
A , 0,0
=E E
^
9li,x ,y i
x : x > 0 y :y > 0
91
x :x > 0
fh ,x ,y i
<7A,0,1
x :x < 0
fh ,x,y'x
9h,0,0
x :x < 0 y:y< 0
=E
91 1 ,x ,y i
£
A
o
fh.,x,yx
x :x > 0 y;y< o
x :x < 0 y:y< 0
A .3.2
=E E
=E E
=E
i.t.O = E
=E
9 h ,l,l
y !
9 h ,x ,y \
o
A , 1,0
r :x < 0 y:y> 0
A , 0,0 =
•
o
^ /i,x ,y i
x :x > 0 y:y< 0
A o .I
A .x .y
x :x > 0 y:y> 0
E E
E E ®A,x,yi
Cfc.1 , 0
=E E
£
fh.,1,1
IV
€-h,x,y>
x :x > 0 y:y> 0
<
<
E E
=
IV
Cfc.i.i
y y
9 h ,x ,y
x : x < 0 y :y < o
Forward P ru n in g on P -G am e T rees
Since there are no strengths in P-gam e trees, I can com pute th e probabilities for
the minimax values directly. I define
e 'k,x y
= Pr[estim ated m inim ax value x. actual minimax value y
| M ax-height h , root is a Max node of a P-gam e tree];
g'k x y
= Prfestim ated m inim ax value x, actual minimax value y
| M ax-height
h,
root is a Min node of a P-gam e tree].
T he base case is e'Qj j = p p ; e^o.o = (1 ~ Pp )'i e o,x,y = 0 otherw ise.
The recurrences for P-gam e trees are quite similar to those for N-game-like
trees:
9 h ,x ,y
P ^
| ® ^ ^ ^ 1 ^
\
a :a > x 6 :6 > y c
+ 3/ 2
^ > A / i ,x ,y ^ / i,a , 6 ^/i,c,d
d:d>b
£
^
a :a > x b xb > y c
e 'h .r ,y e ' h , a A . c . b +
^ / i ,a ,y ^ /i .x , 6 ^/i,c,(f)
e L , y 4 , x , i 4 , C. i )
213
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
+ 3
EEE
a :a> x
( ^ h .x .y ^ h .a .y ^ h .c .d )
c d:d>y
+ 1/3
a:a > x
c
+ 6 X I X I X I ( e 'h .x,ye 'k.r.b e 'h,c.d)
6:6>y c d:d>b
+ 3 /2 £
E W - r . , 4 x ,b ^ h ,c .b )
6:6>y
c
+ 3 X 1 X I ( e 'h,x,ye 'h .x,ye 'h.c,d)
c d:d>y
+
l / 3 H ( 4 , r , y 4 x . s , e /i,c ,y )j
+9x 16 E E E E ( ' U O E +4„ O E )
\
a :a> x b:b>y
+ 3 /2
c d:d>b
^
^
y ~ l ( g /t.x.u^/i.i:.fc^/t.a.6 + e k ,a iy ^h ,c ,b e h..x.b)
a:a> xbib> y c
+3/2 E E E ^h,x,y^h,c,y^h,a,d"I-^h,a,y^h,c,y^h.x.d)
a:a> x c d:d>y
+
1 /3
X I H 2 ( e 'h.x,ye 'h,c,ye 'h,a,y)
a :a > x c
+ 6 X I X I X I ( 4 . x , y e /i,c,6e /i,x,<i)
bib>y c d:d>b
+ 3 /2
X I X I ( 4 x , y e /i.c.& 4 x .f> )
b:b>y £
+ 3 / 2 X 1 X I ( e /i.x ,y 4 .c ,y 4 x .d )
c d:d>y
+
1 /3 X I
e'h,x,ye'h,c,ye'h,x,yj
+ T X I6 ^
^ I } ^ ( e/i,c,ye/i,x,6 e/i,a,d + e/i,c,yeA,a.6 e/i.x.rf)
V a:a>xb:b>y c d:d>b
EEE
+ 3 /2
a :a > x
+ 3
X I
c d :J > y
X I X I ( 4 c , y e /i.x,6e /i,a.6)
a:a>x6 :6 >y c
+1/3 o E
E(eE.„£i,e.,4 ..„)
:a > x c
+ 6 X I X I X I ( e h ,c ,y e 'h.x,be 'h,X'd)
: >y c <i:d> 6
6 6
214
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
+ 3 53
y ~ ' A e 'h.,-.v e 'h .r.b e 'h.T.b)
: >y c
6 6
+ 3/2
+
^ /i+ l.x ,y
P ^
1/ 3
A .< A ^ A ^
: £
5
5 3 ( z 'h ,x ,y e 'h .x .y e 'h..c,y ) ^ :
I ® ^
^ ^ ^ v 5 ^ ( 9 h ,x ,y 9 h ,a ,b 9 h ,c ,d
\ a:a< xb-.b< y c d:d<b
+ 3/2
53
5 ' 5 ^{ 9 h .x .u 9 h .a .b 9 h .c .b
a-.a<x b:b< y c
9 h ,a .y 9 K ,x,b9h,c,dA
9 k ,a ,y 9 h ,x ,b 9 k ,c .b ^
+ 3 5 ■ 5 y 5 > (,9 h ,x ,y 9 h .a ,y 9 h ,c ,d )
a :a < x
+
1 /3
c
d:d< y
5 3 y ^ ( 9 'h . x . v 9 k . a . v 9 h . c . v )
a :a < x c
+ ® 5 ' 5 . 5 ! ( 9 h ,x ,y 9 h ,x ,b 9 h ,c ,d )
6:6<y
c rf:rf<6
+ 3/2 5 3 y^A9h.x.u9h.x.b9h.c.b)
6:6<y
c
+ 351 53
c
( 9 h .x ,y 9 h .x ,y 9 h x .d )
d:d< y
+ 1/3 ' 5 2 ( 9 h , x , y 9 k , x , y 9 h , c , y ) 'j
+ (J X l 6 5 ! 5 3 5 ■ 5 1 ( 5 h ,x ,y 9 k ,c ,b 9 h ,a ,d + 9 h ,a ,y 9 h ,c ,b 9 h ,x ,d A
y a :a < x b:b<y c d:d<b
+ 3/ 2
53 53 53
( 9 h ^ , y 9 h ,c ,b 9 h ,a ,b + 9 h ,a ,y 9 h ,c ,b 9 h ,x ,b )
a : a < r b:b<y
c
+ 3/2 5 ! 5 - 5 \
a :a < x
+ 1/3 53
a :a < x
c
( 9 h ,x ,y 9 h ,c ,y 9 h ,a .,d + 9 h ,a ,y 9 h ,c ,y 9 h ,x ,d )
d:d< y
Y l ( 9 h , x , y 9 h , c , y 9 h , a ,y )
c
+ ^ 53 53 53 (9 h ,x ,y 9 h ,c ,b 9 h ,x .d )
bibKy
c
d:d<b
+ 3/2 5 3 y^(9k.x.v9k.c.b9h.x.b)
b:b<y
c
+ 3/253 53 (9 'h ,x ,y 9 h 'C ,y 9 h ,x ,d )
c
+
d :d < y
1 / 3 5 I 9 h .x .v 9 h .c .v 9 h .x .v ^
215
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
+ rx
fa:a<xb:b<y
E E Ec E
^.9h.c.y9h.x.b9h.a.d + 9h..c.y9 k.a.b9 h.x.d^
d:d<b
+ 3/2 £
^
+ 1/3 E
^^^9h,x,y9h.c,y9h,a,y)
^ ^ i.9 h ,c ,y 9 h ..x ,y 9 h ,a ,d +
9 h tc ,y 9 h .,a .y 9 h .x .d )
+ 6 ^ ^ ^ 1 ^ .! (9 h , c , y 9 h . x , b 9 h j : . d )
b:b<y
c d:d<b
^ 'A 9 h .r .„ 9 h .x .b 9 h .x .b )
+ 3 ^
: <y c
6 6
+ 3 / 2 ^
( 9 h , c , y 9 h , x , y 9 k ,x ,d )
c d:d<y
+ l/3^(<7A ,x,y£A,x,y#A,c,y)
A .3.3
P rob ab ility o f C orrect D ecision
I can use th e above recurrences to m easure the probability o f correct decision.
This is th e probability th a t given a meaningful choice between th ree altern a­
tives— th a t is, not all alternatives have th e same m inim ax value— the forwardpruning algorithm will choose th e correct alternative. In particular, consider an
N-game-like tree D of Max-height h , whose root is a M ax node u w ith children
u l 5 u 2, and u 3 such th at either exactly one or exactly two of {ux, u 2, u 3} are wins
for Max.
T hen th e probability of correct decision, D h, is given by:
P r[l wins and 2 losses] + Pr[2 wins and 1 loss]
x [Pr[l wins and 2 losses]
x Pr[forward pruning algorithm chooses a win and a loss]
x (Pr[estim ated m inim ax value of win >
216
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
estim ated m inim ax value of loss]
+ ^ P r[estim ated m inim ax value of win =
estim ated m inim ax value of loss])
+ Pr[2 wins and 1 loss]
x(P r[forw ard pruning algorithm chooses both wins]
-F Pr[forward pruning algorithm chooses a win and a loss]
x (P rfestim ated m inim ax value of win >
estim ated m inim ax value of loss]
+ ^ P r [estim ated m inim ax value of win =
estim ated m inim ax value of loss]))]
1_________________________
3(<7a-i,i,i +
5
/i-i, o,i )(<7 a-i,i,o + <M-i,o,o) 2
+ 3(<7h_i,i,i + ^/i—1 ,0 , 1 ) 2 (^/i—1 ,1 , 0 + <7h-i,o.o)
x [(? + ?) x [(3<7a-i,i,i<7a-i.o,o +
6
x
i,o,o<7/i—i,i.o<7a—l.i.i)
—2
_
+ ^ (6 x - 5 k —i,o,o<?A-i.i,o<7/i—l.i.i + 3 x ^ _ i tl<0^A-i,i,i
+ 3 X ^ft_i,o,O^A-I,0,I )]
+ P x [3 (jA —1 , 1 , 1
+ 0A-l,O,l)2 (<7A-l,l,O + #A-l,0 ,o)]
(? + r) X [(3fl?
. . . <7i._, n n + 6
X
i
m f l f c - i ( in )
Similarly, for P-game trees, the probability of correct decision D'h is given by
1
P r[l wins and 2 losses] -f- Pr[2 wins and
1
loss]
217
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
x [Pr[ 1 wins and 2 losses]
x Pr[forward pruning algorithm chooses a win and a loss]
x (Pr[estim ated minimax value o f win >
estim ated minim ax value of loss]
+ -|]Pr [estim ated minimax value o f win =
estim ated minimax value of loss])
4- Pr[2 wins and 1 loss]
x(Pr[forward pruning algorithm chooses both wins]
+ Pr [forward pruning algorithm chooses a win and a loss]
x (Pr[estim ated minimax value o f win >
estim ated minimax value of loss]
+ ^Pr[estim ated minimax value o f win =
estim ated minimax value of loss]))]
1
3 ( 5 /i- 1,1,1 + 5 /i-l, 0,l)( 5 /i-l,l ,0 "b 5 /i-l, 0,o)2
+ 3(<7a- 1,1,1 + 5a-i,o,i) 2 (5a-i,i,o + 9h-i,o,o)
x [(P + ?)
x [i ^9h-i , i, i (9 h-i ,o ,o )2
+6x
^9h-i ,o, o9h-i ,i ,o9h-i ,i .i )
+ 9 ( 6 x y9h-l , Q, o9 h-l , l, o9h- lA, l + 3 X (5/i-l, 1,0 ) 5/i-i,]
+ 3 x (^/i_iio,o)25/i-i,o,i)]
+ p x [3( ^ _ 1>1>1 + 9 h -i ,o , i) 2( 9h - i . i , o + 5a-i,o,o)]
+ (q + r) x
)25a—1,0,0 + 6 x ^Sf/i-i,i,i5/i-i,o,i5/i-i,o,o)
+ ^((3^/l_ i,i,i) 2P/l_i,i.o + ^ x ^5/i-i,i,i5/i-i,o,i5/i-i,o,o
+ 3(5h-i.o,i ) 25/i_ 1,0.0 )]]-
218
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
ines.
game-nnes:
i
P-game
es
trees
P=
1 .0 0
p = 0.85
p = 0.80
p = 0.75
p = 0.70
p = 0.65 P = °-95
p = 0.60
p = 0.90
etc.
5 0.6
N-game-like
rob. of
orr.eet
ecision by
random
guess
P-game
5
10
Max-height of the tree, h
15
Figure A.3: Dh and D'h versus h for various values of p.
A .4
R esu lts and Interpretations
To derive closed-form solutions for the recurrences described in Section A.3 on
Page 206 m ay be impossible; I was not able to derive such solutions. However,
since I do have exact statem ents of th e base cases and recurrences, I can com pute
any desired value of gh,x,y or g'h,x ,y■
>and fhus an)' desired value of Dh or D'h. I
have com puted Dh and D'h for trees of height h =
1
. 2 , . . . . 15. The results are
shown in Figure A.3 on Page 219, along w ith the probability of correct decision
by random guess, included for com parison purposes. My interpretation of these
219
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
results is as follows: 2
1. The g reater the M ax-height of the tre e , th e more chances forward pruning
has to go wrong. Thus, forward pruning does less well as h grows larger.
As shown in Figure A.3 on Page 219. th is occurs in both P-game trees and
N-game-like trees.
2. The higher the value of p, the more likely it is th a t the forw ard-pruning
algorithm will choose the correct two nodes to investigate at each level of
the tree, and thus th e more likely it is th a t the algorithm will return a
good approxim ation of the tree’s m inim ax value. As shown in Figure A.3
on Page 219, this occurs in both P-gam e trees and N-game-like trees.
3. In N-game-like trees, there is much stronger sibling correlation— correlation
among th e m inim ax values of sibling nodes— th an there is in P-gam e trees.
Therefore, in N-game-like trees, even if the forward-pruning algorithm
chooses th e wrong node, the m inim ax value of this node is not too far
from th e m inim ax value an algorithm would com pute anyway. Thus, as
shown in Figure A.3 on Page 219, for each value of p, the forw ard-pruning
algorithm makes more accurate decisions in N-game-like trees th a n in Pgame trees.
2The probability o f correct decision for N-gam e-like trees exhibits a “m anic-depressive”
behavior sim ilar to that observed in [106], that is, it is higher for odd Max-heights than it is
for even M ax-heights. I believe this is because my RVA nodes are only put below Min nodes.
Standard N -gam e trees have the equivalent of my RVA nodes below both Min and Max nodes.
220
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
A .5
C onclusion
I began A ppendix A by asking how we could explain my success in bridge with
an approach related to forward pruning.
My theoretical studies present one
explanation: forward pruning seems to do b e tte r in games with strong sibling
correlation than in games without sibling correlation.
D ana Nau did some statistical studies showing th a t m inim ax with forward
pruning outperform ed minimax w ithout forward pruning on N-games. but not
on P-gam es [141]. These studies showed th at there is at least one gam e in which
forward pruning does b etter than m inim ax, and again, this game has strong
sibling correlation.
B ridge seems to be a game with strong sibling correlation. In Section A. 1.2
on Page 203, I described the sim ilarity between N-game-like trees, known to
have a strong sibling correlation, and bridge. However, I do not yet know how to
form ally m easure sibling correlation, even on simple games such as N-game-like
trees and P-games, much less games such as bridge and chess.
To sum m arize, it is my belief th a t bridge has a stronger sibling correlation
than chess. It is also my belief th a t forward-pruning approaches do better in
games w ith strong sibling correlation. Thus it is my belief th a t my success in
bridge w ith an approach related to forward pruning is, in p art, a result of the
strong sibling correlation in bridge.
221
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
A p p en d ix B
Size o f th e B ru te-F orce G am e T ree in
B rid g e
“T here is always som ething to upset th e m ost careful of hum an cal­
culations.”
— Nippon eitai-gura, Daifuku shin choja kyo (The Japanese Family
Storehouse, or, The M illionaires' Gospel) (book II, ch ap ter 2), by
Ih ara Saikaku (translated by G. W. Sargent), 1688 ([13], p. 312)
I sta te d (in Section 5.1.1 on Page 61) th a t th e worst-case size of the gam e tree
generated for declarer play in bridge by the brute-force approach was 5.55 x 104 4
leaf nodes.
In Section B .l on Page 223, I define “the brute-force approach” .
In Section B.2 on Page 223, I calculate th e num ber of leaf nodes in th e gam e
tree generated for declare play in bridge by th is approach in th e worst case. In
Section B.3 on Page 226, I discuss th e average-case size of the gam e tree, as well
as an easy addition to the brute-force approach th a t would make the w orst-case
size of th e gam e tree much smaller.
222
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
B .l
T he B rute-F orce A pproach
Consider, as input, the incom plete inform ation about the initial state of the
world. I wish to inspect all possible plans resulting from this initial state.
The pure brute-force approach is:
• Examine each possible world, one at a time. (Do this by looking at every
way to complete the incom plete inform ation.)
• Given a completely specified possible world, create the com plete game tree
for it.
• Solve the game tree.
B .2
W orst-C ase Size o f th e G am e Tree
In bridge, after the auction is com pleted and the opening lead has been made,
declarer is presented with 13 cards in the dummy and 13 cards in his own hand,
plus
1
card th a t has been led. T hus th ere are 52 — (13 + 13 + 1) = 25 missing
cards.
13 of th e missing cards are in the right-hand opponent’s hand, 12 in the lefthand opponent’s hand. Thus th ere are
ways of dividing them , hence
possible worlds.
I prove th a t it is not possible to set up a situation where, in every possible
world, every player can choose to play any card in th a t player's hand a t every
turn. Consider the suit of th e opening lead— assume, w ithout loss of generality,
th a t it is spades. The other 12 spades m ust be in some hand. If dum m y has even
a single spade, dummy must play a spade at trick
1
: because dum m y can have
223
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
at most
12
spades, at least one of the cards in dum m y's hand is not a spade, and
dum m y cannot play th a t card at trick 1. Similarly, if declarer has even a single
spade, declarer cannot choose to play any card in declarer's hand at trick
1
.
If neither declarer nor dum m y has a spade, th en the defenders must have all
the spades. It is tru e th a t in one possible world, th e defender who made the
opening lead has all the spades, in which case th e p artn er of th e defender who
m ade th e opening lead— I call this p artn er V — m ay play any card at trick
1
.
However, in the other ( ( 1 3 ) — 1) possible worlds, V has at least one spade, and
as before, cannot choose to play any card a t trick
1
.
T hus there m ust be some player who, a t trick 1, cannot choose to play any
card in th a t player’s hand in all possible worlds. For which player does the worst
case arise?
Suppose one case: the defenders have a t least one spade between them (not
counting the spade th a t was th e opening lead). T h en the defenders must have
between them either from
1
to
11
spades, or
If th e defenders have between them from
13 of th e defenders’ 25 cards, in
1 2
1
spades.
to 11 spades, then because V has
of the possible worlds, V has the highest of
the defenders’ spades. Thus in at least ~ of th e possible worlds, V m ust have
at least one spade, and thus V must play a spade, so V has at m ost 11 possible
plays. In the other ^ of the possible worlds, V has at most 13 possible plays,
because V has 13 cards. Thus V has, averaged across all the possible worlds, at
most 5 ! x
11
+
x 13 = 11.96 possible plays.
Instead, if the defenders have between them 12 spades, then V has no spades
in exactly one possible world (the other defender m ust have led from exactly 13
spades.) In all the rest of the possible worlds, V m ust play a spade, so V has at
224
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
most
1 2
possible plays. In 12/25 of these possible worlds. V does not have the
highest of the defenders' spades, so V has at most 11 spades and thus at most
11 possible plays. Thus, V has, averaged across all th e possible worlds, at most
^ “ +<^ “
j k ’ * 12+ l k
*U<
U ' 53
possible plays.
Thus, if the defenders have at least one spade between them , dum m y may
m ake a t most 13 plays at th e first trick; V may make a t most 11.96; and declarer
m ay make at most 13. T hus, th e num ber of leaf nodes in the gam e tree for the
first trick, averaged across all possible worlds, is at m ost 13 x 11.96x 13 = 2021.24.
Suppose the other case: th a t th e defenders have no spades betw een them (not
counting the spade th at was th e opening lead). Then declarer and dum m y m ust
have 12 spades between th em . If both players have spades, then both players
have branching factor at m ost
1 1
.
Instead, let dummy have all 12 spades and a diam ond. Let declarer have all
13 hearts (thus the defenders have only diamonds and clubs in th e ir hands). Let
th e tru m p suit be hearts. T hen at trick
1
, dummy may play any of 12 spades:
V m ay play any of 13 cards (because V cannot have a spade); and declarer may
play any of 13 hearts. T hus, in this situation, the num ber of leaf nodes in the
gam e tree for the first trick, in any possible world, is 12 x 13 x 13 = 2028. 2028
is thus the m aximum num ber of leaf nodes in the gam e tree for th e first trick,
when averaged across all possible worlds.
In the situation just described, declarer may play any heart a t any subse­
quent trick, and dummy and th e defenders may play any of th eir cards a t any
subsequent trick (because th e y have no hearts). Because there are 12 tricks re­
m aining, and on each successive trick each hand has one fewer card, th ere are
225
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
(12!)■* = 5.26 x 103 4 possible ways in which the rest of the deal may be played in
any possible world. Because there are 2028 leaf nodes in th e gam e tree for the
first trick, there are 202S x (12 ! ) 4 = 1.07 x 103 8 possible ways to play the entire
deal in any possible world. Because there are Q 3 ) = 5200300 possible worlds, the
num ber of leaf nodes in th e gam e tree generated for declarer play in bridge by the
brute-force approach in th e worst case is 5200300 x 2028 x (12 ! ) 4 = 5.55 x 1044.
B .3
W hy th e Tree is U su ally Sm aller
O f course, in most cases it will not be possible for every card in every hand to be
played a t every tu rn th a t th a t hand has. Hence th e best estim ate of the number
of leaf nodes th a t a brute-force approach would generate in th e average case,
102 4 [91], is much less th a n 5.55 x 1044.
Also, in most holdings, each player has several sets of equivalent cards. For
exam ple, if a player holds the 4 K Q J, which spade is played a t a trick does
not m atter to the eventual result of a deal . 1 Considering these equivalent cards
would result in a m uch sm aller worst-case game tree; how m uch smaller is not
clear.
However, this consideration is not p art of th e brute-force approach. In fact.
G insberg takes advantage of these equivalent cards, as well as o th er equivalencies,
in his ‘“partition search” approach to bridge [57].
‘I ignore signaling, since I am assuming the construction of com plete information in the
first place.
226
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
A p p en d ix C
G lossary
“[ ...] which [ ...] I had m yself endeavoured to forget, because they
were not im m ediately before me. - These [ ... ] must be stated ,
though briefly.”
— From a letter from Fitzw illiam Darcy to Elizabeth B ennet, Pride
and Prejudice, by Jane A usten, 1813 [9]
Here axe some term s and acronym s used in this dissertation, th e ir brief defi­
nitions, and th e location in which they are first used.
• A: an agent. First used in the list beginning in Section 4.2.2 on Page 34.
• a, a l , a2: nodes in an exam ple of a decision tree.
First used in Sec­
tion 4.3.4.2 on Page 53.
• A u: the agent whose turn it is to move at node u.
F irst used in Sec­
tion 4.3.4.1 on Page 51.
• A CADEM Y: a layout generator; ACADEMY is p art of EEsof. First used
in the list beginning in Section 6.3 on Page
1 1 1
.
• ACBL: th e American C ontract Bridge League. First used in Section 5.2.1
on Page 72.
227
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
• AC IS: a solid modeler sold by Spatial Technology Inc. First used in the
list beginning in Section 6.3 on Page 111.
• add list (Add(O)): the list of atom s th a t are added to th e curren t state
after th e application of th e o p erato r O. F irst used in th e list beginning in
Section 4.3.2 on Page 38.
• AEL: Application Extension Language; AEL is part of EEsof. F irst used
in the list beginning in Section 6.3 on Page
1 1 1
.
• A gent(x): a predicate th a t asserts th a t x is a player in a gam e.
For
exam ple, Agent(South) would be true; AgentfC?) would not. F irst used in
Section 4.3.2 on Page 37.
• AI (Artificial Intelligence): an area of specialization in com puter science,
which has its foundations in a tte m p tin g to duplicate hum an intelligence
w ith a computer, but which has expanded to address man}' difficult prob­
lems— such as game-playing and planning— whose relationship w ith hum an
intelligence sometimes seems tenuous. F irst used in C hapter 1 on Page 1.
• AI planning: an area of specialization in AI, concerned with the selection
and ordering of actions th a t can be used to progress from a sta te of the
world to some other desired s ta te or states of the world. F irst used in
C hapter 1 on Page
1
.
• applicable: an o p e r a t o r is applicable (first used in this sense in Sec­
tion 4.3.2 on Page 39) in a sta te if its precondition form ula is tru e in the
state. A m e th o d is applicable (first used in this sense in Section 4.3.4 . 1
on Page 51) to a node if some sta te consistent with the node’s inform ation
228
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
set satisfies the m ethod's precondition formula, and if the m ethod's task
matches the node's task sequence.
• artificial intelligence: See AI.
• Artificial Intelligence: the leading AI journal, som etim es abbreviated AIJ.
F irst used in the Bibliography on Page 261.
• artwork: in a microwave module, a circuit layer, containing pads, datum
points, integrated com ponents, te x t, and transm ission lines. T he artwork
is laid out on top of the dielectric. First used in th e list beginning in
Section 6.2 on Page 105.
• atom : a predicate, perhaps w ith some variables. First used in Section 4.3.2
on Page 36.
• auction: in bridge, the part of the deal during which the four players
determ ine the declarer, the trum p suit, and the co n tract. First used in
Section 4.2.1 on Page 32.
• b: a node in an exam ple of a decision tree. First used in Section 4.3.4.2 on
Page 54.
• BB: See Bridge Baron.
• belief function: a representation of my program ’s belief th a t some states
of the world are m ore likely th a t others, defined as a probability function
j : I m —» [0,1], w here [0,1] = {x : 0 < x <
1
}. First used in Section 4.3.2
on Page 38.
229
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
• bid: in bridge, th e statem ent of an in ten tio n to take a certain num ber of
tricks with a certain trum p suit. Players m ake bids during the auction:
all bids are calls, but not all calls are bids. First used in Section 4.2.1 on
Page 32.
• board: in b rid g e , a board (first used in th is sense in Section 5.2.2 on
Page 73) is the gain th a t a team gets from winning one deal in a duplicate
bridge m atch, using Swiss team s board-a-m atch scoring. In m icro w av e
m o d u le s , the board (first used in th is sense in the list beginning in Sec­
tion 6.2 on Page 105) is the ground plane, th e dielectric layer, and the
artw ork.
• board-a-m atch scoring: See Swiss team s board-a-m atch scoring.
• branching factor: the number of possibilities th a t m ust be considered at
each step in a recursive algorithm. F irst used in Section 2.2 on Page 11.
• break: the distribution of opponents’ cards in a suit. For example, a 3-2
break in hearts m eans that one of th e opponents was dealt three hearts,
and the other opponent was dealt two h earts. First used in Section 5.3 on
Page 77.
• bridge: a four-player card game w ith fifty-two cards. First used in Chap­
te r
1
on Page 2. A description of th e rules of bridge appears in Section 4.2.1
on Page 32.
• Bridge Baron (BB. or “the Bridge B aro n ” ): th e best available com puter
bridge program , published by G reat G am e Products. First used in Sec­
tion 1 on Page 2. More inform ation ab o u t th e Bridge Baron appears in
230
permission of the copyright owner. Further reproduction prohibited without permission.
Section 5.2.1 on Page 72.
• bullseye: in microwave m odules, a location on th e surface of board, used
to establish a d atu m point. All machining operations (other than drilling
plated through-holes) are done relative to this d a tu m point. First used in
the list beginning in Section
6 .2
on Page 105.
• c: a node in an exam ple of a decision tree. First used in th e list beginning
in Section 4.3.4.2 on Page 55.
• C(u, Ui , . . ., u n): an external-agent criterion. F irst used in Section 4.3.4.3
on Page 57.
• CAD (C om puter-A ided Design): design, w ith th e assistance of a com puter,
of a product to be m anufactured. First used in Section
1
on Page 2.
• call: in bridge, either a bid, a Pass, a Double, or a Redouble. Players make
calls during th e auction. First used in Section 4.2.1 on Page 32.
• cash: to play a winner for th e purposes of winning a trick. First used in
Section 5.1.2 on Page 69.
• C A PP (C om puter-A ided Process Planning): planning, with the assistance
of a com puter, of th e processes required to m anufacture a product. F irst
used in Section 6.1.1 on Page 103.
• com puter-aided design: See CAD.
• com puter-aided process planning: See CAPP.
231
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
• concurrent engineering: the integrated, system atic approach to the design
of a product and to the planning of the processes required to m anufacture
it. First used in Section 6.1.2 on Page 104.
• consistent: a s ta te S is consistent w ith an information set I if every literal
in I is tru e in S . First used in Section 4.3.2 on Page 38.
• contract: in bridge, th e last bid th a t was m ade, plus any doubling or
redoubling after th a t bid. T he declarer receives a positive score only by
making a t least as many tricks as the contract specifies.
First used in
Section 4.2.1 on Page 33.
• contract bridge: by far the m ost common form of bridge played today,
usually called ju s t “bridge” . F irst used in Section 1 on Page 2.
• Control(x): a predicate th a t asserts th a t player x is under my program 's
control. For exam ple, if my program is playing South and South is the
declarer, both C ontrol(N orth) and Control(South) will be true, because
declarer (South) plays the hand of dummy (N orth); on th e oth er hand,
C ontrol(East) and Control(W est) will be false. First used in Section 4.3.2
on Page 37.
• controlled: a player under my program 's control, som etim es simply called
“our” player. F irst used in Section 4.3.2 on Page 37.
• corner radius: th e intended radius of the arcs in the corners of an otherwise
rectangular feature.
First used in the list beginning in Section 6.2 on
Page 105.
232
permission of the copyright owner. Further reproduction prohibited without permission.
• counterbore: a small widening at the e n tra n ce to a hole, so th a t, for ex­
ample. the head of a screw can be flush w ith the board. First used in the
list beginning in Section 6.2 on Page 105.
• critic: a function th a t tells us if a card is “equivalent’" to the planned card.
First used in Section 4.3.4.3 on Page 58.
• cross: to lead to a winner in p a rtn e r’s hand, so that p artn er is on lead.
First used in Section 5.1.2 on Page 69.
• D: in bridge and m icrowave m od u les, D (first used in this sense in
Section 4.3.4.1 on Page 48) is a decision tree. In forward pruning, D
(first used in this sense in Section A.3.1 on Page 206) is a tree, som etim es
an N-game-like tree, som etim es a P-gam e tree.
• Dh- the probability of correct decision in an N-game-like tree of M ax-height
h whose root is a Max node with two children with different m inim ax
values. First used in Section A.3.3 on Page 216.
• D'h: the probability of correct decision in an P-game tree of M ax-height h
whose root is a M ax node with two children w ith different m inim ax values.
First used in Section A .3.3 on Page 217.
• d: a node in an exam ple of a decision tree. First used in the list beginning
in Section 4.3.4.2 on Page 55.
• deal: in bridge, not ju s t the actual dealing of cards, but also the auction,
and usually thirteen tricks of play. F irst used in Section 4.2.1 on Page 32.
233
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
• deal number: a number, ranging from 1 to 21474S3647 (23 1 — 1). that
the Bridge Baron uses to index a random bridge deal. First used in Sec­
tion 5.2.3 on Page 75.
• decision node: a node representing a situ atio n in which it is a controlled
agent’s turn to move. F irst used in Section 4.3.4 . 1 on Page 48.
• decision tree: a structure th a t resem bles a game tree, containing decision
nodes, external-agent nodes, and leaf nodes. F irst used in Section 4.3.4.1
on Page 48.
• declarer: in bridge, the player who needs to take a certain amount of tricks.
T he declaxer is the player who declared th e tru m p suit during the auction
by m aking th e last bid (not call) in th e auction— unless his p artn er m ade
the first bid of the same suit for th a t p artn ersh ip in the auction, in which
case this p artner becomes declarer. F irst used in Section 4.2.1 on Page 32.
• declarer play: in bridge, the problem of playing declarer's and d u m m y ’s
hands. Declarer play is quite different from the problem of playing a de­
fender’s hand. First used in C h ap ter 1.1 on Page 3.
• decomposable method: a m ethod whose subtasks are a list of tasks. F irst
used in Section 4.3.3 on Page 43.
• delete list (Del(O)): the list of atom s th a t are deleted from the current s ta te
after th e application of the o perator O. F irst used in the list beginning in
Section 4.3.2 on Page 3S.
• defender: in bridge, one of the two players who are neither declarer nor
dummy. The defenders are p artn ers against declarer and dummy. F irst
234
permission of the copyright owner. Further reproduction prohibited without permission.
used in Section 4.2.1 on P ag e 33.
• dielectric: a layer th a t sits on top of th e ground plane in a microwave m od­
ule, usually made of polyolefin, an aluminum oxide ceram ic m aterial, or
Teflon1 ( “polytetrafluorethylene (P T F E )” ). The dielectric does not con­
duct electricity, but can sustain an electric field. First used in th e list
beginning in Section 6.2 on Page 105.
• dimensional tolerance: tolerance for the dimensions of a m echanical fea­
ture. For example, if a hole of 0.5 inches in diam eter m ust be m anufactured
with dimensional tolerance 0.005 inches, then the hole m u st be between
0.495 and 0.505 inches in diam eter. First used in the list beginning in
Section 6.2 on Page 105.
• distributed evaluation function: a to tal function th a t expresses a guess
as to the perceived benefit of a sta te information set, defined as e " ( I ) =
U se/* p{S)e{S). F irst used in Section 4.3.2 on Page 40.
• draw trum p: to lead a card in th e trum p suit to force th e opponents to get
rid of their cards in th e tru m p suit. If the opponents are allowed to keep
their trum p cards too long, they m ight win tricks by ruffing. First used in
Section 5.1.2 on Page 69.
• dummy: in bridge, declarer’s partn er. Declarer plays d u m m y ’s hand. First
used in Section 4.2.1 on Page 33.
• duplicate bridge: a m ethod of com paring bridge com petitors in which each
deal is played twice, w ith partners from the same team as different players
t e f lo n is a registered trademark o f Du Pont.
235
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
each time. First used in Section 5.2.2 on Page 72.
• E: a list of subtasks for a m ulti-agent method. For an operator m ethod.
E is a syntactic expression referring to a prim itive operator. For a decom ­
posable m ethod, E is a tuple of tasks. First used in th e list beginning in
Section 4.3.3 on Page 41.
• E: a list of subtasks for an in stan tiated m ulti-agent m ethod. F irst used in
Section 4.3.4.1 on Page 51.
• e: a static evaluation function. F irst used in Section 4.3.2 on Page 40.
• e*: a distributed evaluation function, defined as e~(I) = Y ls e i’ P( S) e($)First used in Section 4.3.2 on Page 40.
• eh.x,y- Pr[estim ated stren g th x, actual strength y | M ax-height /i, root is a
Max node of an N-game like tree]. First used in Section A.3.1 on Page 206.
• e'h
: Pr[estim ated stren g th x, actual strength y | M ax-height h, root is a
Max node of a P-gam e tree]. F irst used in Section A.3.2 on Page 213.
•
Pr[estim ated m inim ax value s, actual m inim ax value t | M ax-height
h , root is a Max node of an N-game-like tree]. First used in Section A.3.1
on Page 212.
• east: in bridge, one of the four players. East and West are partners against
N orth and South. F irst used in Section 4.2.1 on Page 32.
• EDAPS (Electro-m echanical Design And Planning System ): an integrated
system for designing and planning the m anufacture of microwave modules,
236
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
created as the focus of a research project at the U niversity of M aryland at
College Park. F irst used in Section 1 on Page 2.
• EDAPS Process Planner: the p art of EDAPS th a t does planning for the
processes needed to m anufacture a microwave m odule. I im plem ented the
EDAPS Process Planner. F irst used in Section 1 on Page 2.
• EEsof: a com m ercial tool for com puter-assisted electronic design. First
used in the list beginning in Section 6.3 on Page 111.
• evaluate: to com pute the values of nodes in a decision tree. First used in
Section 4.3.4.3 on Page 57.
• expansion list: a list of the subtasks th at make up a decomposable m ethod.
First used in th e list beginning in Section 4.3.3 on Page 43.
• external-agent criterion: an algorithm th a t re tu rn s a u tility value for an
external-agent node u. based on the utility values of its child nodes. First
used in Section 4.3.4.3 on Page 57.
• external-agent node: a node representing a situ atio n in which it is some
uncontrolled ag en t’s tu rn to move. First used in Section 4.3.4.1 on Page 48.
• F: a precondition formula. First used in the list beginning in Section 4.3.3
on Page 41.
• F: a precondition form ula for an instantiated m u lti-agent m ethod. First
used in Section 4.3.4.1 on Page 51.
• / : an objective function. First used in Section 4.3.2 on Page 39.
237
permission of the copyright owner. Further reproduction prohibited without permission.
• fh.x.y: Pr[estim ated strength x . actual stre n g th y | Max-height h. root is an
RVA node of an N-game-like tree]. First used in Section A.3.1 on Page 206.
4
• fh.s,t■ Pr[estim ated m inim ax value s. actu al m inim ax value t | M ax-height
h , root is an RVA node of an N-game-like tree]. First used in Section A.3.1
on Page 213.
• F I, F2, F3: m illing features in a hypothetical situation. First used in th e
list beginning in Section 7.1 on Page 150.
• FE T: Field Effect Transistor, a hybrid com ponent. First used in the list
beginning in Section 6.4.2 on Page 116.
• finesse: in bridge, to try to win a trick w ith a high card by playing after th e
opponent th a t has a higher card. First used in Section 4.3.3 on Page 43.
• first table: in duplicate bridge, the first tim e a deal is played. First used
in Section 5.2.2 on Page 73.
• follow suit: to play a card in the same su it as th e card led to the curren t
trick. First used in Section 5.1.2 on Page 69.
• forward pruning: at each node of a search tree, discarding some of th e
node’s children before searching below th a t node. First used in Section A
on Page 200.
• forward search: only planning for an event after having already planned for
all prior events in the tim e sequence. F irst used in Section 3 on Page 12.
• fourth hand: th e player who plays the fo u rth card to a given trick. F irst
used in Section 5.1.2 on Page 69.
238
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
• G: a game. First used in Section 4.3.2 on Page 40.
• g: a node in an exam ple of a decision tree. First used in the list beginning
in Section 4.3.4.2 on Page 55.
•
9 h .x ,y '-
Pr[estim ated strength x, actual stren g th y | M ax-height h. root is a
Min node of an N-game-like tree]. F irst used in Section A.3.1 on Page 206.
• g'hX y'- Pr[estim ated strength x, actual stren g th y | M ax-height h. root is a
Min node of a P-gam e tree]. First used in Section A.3.2 on Page 213.
• gh,3,t: Pr[estim ated m inim ax value s, actu al minimax value t | M ax-height
h, root is a Min node of an N-game-like tree]. First used in Section A.3.1
on Page 213.
• game: in my problem representation in bridge, a representation of th e rules
of th e game. F irst used in Section 4.3.2 on Page 40.
• generative process planning system: a system th at autom atically decides
w hat processes are necessary to m anufacture a new design, based on pro­
cess knowledge, geom etric reasoning, and other decision logic. First used
in Section 6.1.1 on Page 103.
• GIB (Goren In a Box): a computer bridge program w ritten by M att G ins­
berg. First used in Section 4.1.3.3 on Page 29.
• gigahertz: one billion (109 = 1000000000) cycles per second. First used in
Section 3 on Page 105.
• ground atom: a com pletely in stan tiated predicate of a first-order functionfree language. For example, the ground atom --Has(South.4|k,7) indicates
239
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
th a t South does not hold th e J|k7. First used in Section 4.3.2 on Page 36.
• ground plane: a metallic layer of copper or alum inum in a microwave
module. T he ground plane provides grounding for the electrical circuitry
of th e m odule, as well as m echanical strength. It also conducts away heat.
First used in the list beginning in Section 6.2 on Page 105.
• h: the Max-height of a tree. F irst used in Section A .1.1 on Page 203.
• hand: in bridge, the th irteen cards th a t a player starts out w ith at the
beginning of each deal, m inus any cards that the player has already played.
F irst used in Section 4.2.1 on Page 32.
• H as(x,i/,;): in bridge, a predicate th a t asserts th a t player x has a card of
rank z in suit y. For exam ple, Has(South.J|k,6) is true if South holds the
4k6. F irst used in Section 4.3.2 on Page 38.
• hierarchical task network: see HTN.
• housing: in a microwave m odule, th e metallic enclosure for th e M IC. First
used in Section 6.2 on Page 105.
• H TN (Hierarchical Task Netw ork): a network of tasks linked together by
descriptions of how more complex tasks can decompose into sim pler tasks,
som etim es called just a “task netw ork” . First used in C hapter 1 on Page 2:
first defined in Chapter 2 on Page 7.
• HTN planning: a form of AI planning that uses HTNs by recursively in­
vestigating possible decom positions of complex tasks into sim pler tasks.
F irst used in C hapter 1 on Page 2; first defined in C hapter 2 on Page 6.
240
permission of the copyright owner. Further reproduction prohibited without permission.
• hybrid component: in a microwave m odule, a functional com ponent of the
circuit whose connections to the circuit are soldered. First used in the list
beginning in Section 6.2 on Page 105.
• I or I s : a sta te inform ation set, representing th e information about which
my program is certain in a game. First used in Section 4.3.2 on Page 37.
• J : the set of all state inform ation sets.
F irst used in Section 4.3.2 on
Page 39.
• I": the set of all states consistent w ith I . F irst used in Section 4.3.2 on
Page 38.
• l a , I a\ J a 2 , IaZ, h 4 , h • I c , U, I g '■ sta te inform ation sets in nodes in an exam ­
ple of a decision tree. First used in Section 4.3.4.2 on Page 53.
•
the state inform ation set in it,-, a node in a decision tree. F irst used in
Section 4.3.4.3 on Page 57.
• /„: the state inform ation set in u, a leaf node in a decision tree. F irst used
in the list beginning in Section 4.3.4.1 on Page 48.
• /*: the set of all states consistent w ith
First used in the list beginning
in Section 4.3.4.1 on Page 51.
• /„: the state inform ation set in u, a new node to be added to a decision
tree. First used in Section 4.3.4.1 on Page 51.
• IGES: the Initial G raphics Exchange Specification, an A N SI-standard for­
m at for solid models. First used in Section 6.3 on Page 113.
241
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
• imperfect-inform ation game: a game in which players have different am ­
ounts of information. Usually, no player has com plete knowledge about
the state of the world, the possible actions, and their effects. First used in
Section 4.2.2 on Page 34.
• initial state: the sta te at the beginning o f a problem. First used in Sec­
tion 4.3.2 on Page 40.
• in stan tiated method: a ground instance M of some m ethod M. First used
in Section 4.3.4.1 on Page 49.
• j: a belief function. First used in Section A. 1.1 on Page 203.
• k: num ber of tricks rem aining. First used in Section A. 1.2 on Page 203.
• kilohertz: one thousand cycles per second.
F irst used in Section 3 on
Page 105.
• knowledge engineering: descriptions of specific knowledge about a pro­
gram ’s problem domain in a form at th a t it can understand. First used in
Section 4.1.3.3 on Page 29.
• L: an arb itrary cutoff depth. First used in Section A on Page 199.
• C: a function-free first-order language th a t is generated by finitely m any
constant symbols and predicate symbols. First used in Section 4.3.2 on
Page 36.
• lead: in b rid g e , to lead (first used in this sense in Section 4.2.1 on Page 33)
is to play the first card of a trick. T he player on declarer’s left leads to
the first trick; the winner of each trick leads to the subsequent trick. In a
242
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
m ic ro w a v e m o d u le , a lead (first used in this sense in the list beginning
in Section 6.2 on Page 105) is a p art of a com ponent th at is soldered to a
pad. in order to connect th a t com ponent to the circuit.
lead tim e: the total time of all th e operations required to m anufacture a
microwave module. First used in Section 6.4.3 on Page 120.
length winner: a card th at is n o t p art of a sequence, but th a t becomes
a winner after the opponents ru n out of cards in th e suit. First used in
Section 5.1.2 on Page 69.
Libra: a linear and nonlinear circuit design tool; L ibra is p art of EEsof.
First used in the list beginning in Section 6.3 on Page 111.
likelihood pruner: a function th a t decides not to apply certain m eth­
ods sim ply because they are to o unlikely. First used in Section 5.4.3 on
Page 100.
M: a m ulti-agent method. F irst used in the list beginning in Section 4.3.3
on Page 41.
M: an in stantiated m ulti-agent m ethod. First used in the list beginning
in Section 4.3.4.1 on Page 48.
M l, M2, M3, M4, M5, M6, M7, M8:
methods in a n exam ple of decision-
tree construction. First used in Section 4.3.4.2 on Page 53.
M i, M 2 , • • •, M m: other in stan tiated
m ulti-agent m ethods. First used in
Section 4.3.4.1 on Page 51.
243
of the copyright owner. Further reproduction prohibited without permission.
• M ACRO: an indication th a t what follows is not an atom , but rather ex­
pands into a second-order formula. First used in Section 4.3.3 on Page 46.
• M ax: a player in a tw o-player gam e, who wins in a leaf node with a value
of 1. F irst used in Section A on Page 199.
• M ax-height: one less th a n th e num ber of Max nodes on any p ath from the
root of a tree to a leaf node. First used in Section A .1.1 on Page 203.
• M ax node: a node w here it is M ax’s move. First used in Section 1 on
Page 202.
• m arked finesse: a finesse th a t is likely to be successful, because a similar
finesse in the same suit has already worked. First used in Section 5.1.2 on
Page 69.
• m echanical features: in microwave m odules, places where p art of the board
has been removed by a m achining process, such as milling or drilling. First
used in the list beginning in Section 6.2 on Page 105.
• m ethod: a particular m eans for decom posing a task in to a set of simpler
tasks. First used in C h ap ter 2 on Page 6.
• MIC: the actual telecom m unications device th at operates at microwave
frequencies. First used in Section 6.2 on Page 105.
• M icroStation: a tool for com puter-assisted mechanical design th a t uses
th e ACIS solid m odeler. F irst used in the list beginning in Section 6.3 on
Page 111.
• microwave integrated circuit: See MIC.
244
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
• microwave module: a module of a system th a t operates at microwave fre­
quencies. th a t is. between 1 GigaHertz and 20 G igaH ertz. First used in
C hapter 1 on Page 2: first defined in Section 6.2 on Page 105.
•
mil: 1/1000 of an inch. First used in Section 6.4.2 on Page 114.
•
milling feature: a mechanical feature m ade by milling, such
as a slot or a
pocket. First used in the list beginning in Section 6.2 on Page 105.
• Min: a player in a two-player game, who wins in a leaf node with a value
of 0. First used in Section A on Page 199.
•
Min
node: a node where it is Min’s move.
F irst used in Section 2on
Page 202.
• m inim ax value:
the payoff a t u
if u is a term in al node:
m ax{ram (u) : v is a child of it}
m m (u ) = <
if it is M ax’s move at u ;
m in{m m (u) : v is a child of u}
if it is M in’s move at it.
F irst used in Section A on Page 199.
m m (u): the m inim ax value of u. First used in Section A on Page 199.
M onte Carlo approach: in bridge play, generating several random hypothe­
ses for what hands the opponents m ight have, and doing a full completeinform ation gam e-tree search for each hypothesized hand. First used in
Section 4.1.3.2 on Page 28.
245
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
• multi-agent m ethod: a method modified to represent m ulti-agency and
uncertainty. F irst used in Section 4.3.1 on Page 36.
• N: a name of a task. First used in th e list beginning in Section 4.3.3 on
Page 41.
• N-game-like tree: a complete tre e th a t contains Max nodes, Min nodes,
and RVA nodes. F irst used in Section A .1.1 on Page 202.
• n: number of variables. First used in the list beginning in Section 4.3.3 on
Page 41.
• nam e of a task: a symbol th a t uniquely represents a task. F irst used in
th e list beginning in Section 4.3.3 on Page 41.
• network of m ulti-agent m ethods: a set of operator m ethods and decom ­
posable m ethods, sim ilar to a task netw ork. F irst used in Section 4.3.3 on
Page 47.
• NIL: an expression indicating an em p ty list; in this paper, N IL indicates
an empty task sequence. First used in th e list beginning in Section 4.3.3
on Page 41.
• North: in bridge, one of the four players. N orth and South are partners
against East and West. First used in Section 4.2.1 on Page 32.
• No Trump deal: any deal in which th e tru m p suit is No T rum p. C ontrast
suit deal. F irst used in Section 5.2.2 on Page 74.
• O: an operator. F irst used in Section 4.3.2 on Page 39.
• O: a finite set of operators. F irst used in Section 4.3.2 on Page 40.
246
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
• objective function: a partial function th a t expresses th e perceived benefit
of a state: where undefined, the perceived benefit of a sta te is unknown.
An objective function is defined as a partial function / : S —*• [0.1]. where
[0,1] = {x : 0 < x < 1}. F irst used in Section 4.3.2 on Page 39.
• opening lead: in bridge, th e first card played during th e play. The player
on declarer’s left m akes th e opening lead. First used in Section 4.2.1 on
Page 33.
• operator: See prim itive operator.
• operator m ethod: a m ethod whose subtasks consist of a single prim itive
operator. First used in Section 4.3.3 on Page 41.
• opponents: See uncontrolled.
• “our” : See controlled.
• P, P 2 : players. F irst used in Section 4.3.2 on Page 39.
• V: a particular player in a gam e, who may be a person or a com puter
system. First used in Section 4.3.2 on Page 37.
• p: the probability of choosing th e best two children of a node. First used
in Section 1 on Page 205.
• ps'- the probability th at an RVA node has value 1. In this dissertation.
pN = (1 + \/o ) /2 = 0.61803, th e golden ratio. First used in Section 3 on
Page 202.
• pp\ the probability th a t a leaf node in a P-game tree has value 1. In this
dissertation, pp = 0.68233. F irst used in Section A. 1.3 on Page 204.
247
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
• P-gam e tree: a tree with Max nodes and Min nodes, where the value ot
each leaf node is randomly, independently chosen from the set {0. 1}. with
probability pp of choosing 1.
• pad: a p art of th e artw ork to which a lead is soldered, in order to connect
a com ponent to the circuit. First used in the list beginning in Section 6.2
on Page 105.
• p a rtia l order: a list of events has partial order if there is some place in
th e tim e sequence such th a t more th an one event can come a t th a t place.
C ontrast to tal order. F irst used in Section 3 on Page 12.
• p artial-o rd er planning: any approach in which a t least one plan has partial
order. C ontrast total-order planning. First used in Section 3 on Page 12.
• p a rtia l plan pruning: evaluating partial plans and discarding all bu t the
m ost prom ising. F irst used in Section 6.4.3 on Page 120.
• passed out: in bridge, a deal where th e bidding s ta rts w ith a Pass from
each of the four players. If a deal is passed out, th e re is no play. F irst used
in Section 5.2.2 on Page 73.
• payoff: th e payoff of a leaf node is th e gain Max gets, and th e loss Min
suffers, if th a t node is reached. First used in Section A on Page 199.
• perfect-inform ation game:
a game in which all players have th e same
am ount of inform ation. If all players know all possible moves and their
determ inistic results for all players in all situations, I call the game a stan­
dard perfect-inform ation game. If there is a random elem ent— say. the roll
of th e dice— th a t no player has more inform ation about th an any other
24S
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
player. I call the game a perfect-inform ation gam e w ith randomness. First
used in Section 4.1.1 on Page 22.
• perfect-inform ation game with randomness: See perfect-inform ation game.
• pin: See lead (in th e microwave m odule sense).
• planned card: the card my program thinks th e opponent is most likely to
play in a given situation. First used in Section 4.3.4.3 on Page 58.
• planning: See AI planning.
• plated through-hole: a through-hole th a t has been plated w ith the same
m aterial as th a t used to make the artw ork, usually copper.
A plated
through-hole carries electrical signals, and conducts heat, from the a rt­
work to the ground plane. First used in the list beginning in Section 6.2
on Page 105.
• play: in bridge, th e part of th e deal during which players play all the cards
in th e ir hands in th irteen tricks. First used in Section 4.2.1 on Page 33.
• P la y C a rd (/3; Z, R): in bridge, a prim itive o p erato r representing the play
by player P of the card of rank R in suit Z. F irst used in Section 4.3.2 on
Page 39.
• played deals: for th e purposes of bridge play, any deals th a t are not passed
out. F irst used in Section 5.2.2 on Page 74.
• policy: in the decision theory literatu re, a contingency plan. First used in
Section 4.3.4.3 on Page 58.
249
permission of the copyright owner. Further reproduction prohibited without permission.
• P r[A — B]: the probability th a t A is true, given th a t B is true. First used
in Section A.3.1 on Page 206.
• precondition: a condition th a t must be tru e if a m ethod is to be used.
F irst used in C hapter 2 on Page 6.
• precondition formula (P re(O )): the form al description of a precondition.
F irst used in the list beginning in Section 4.3.2 on Page 38.
• prim itive operator: a representation of a possible action of a player, some­
w hat sim ilar to the operators used in ST R IPS [48]. First used in Sec­
tion 4.3.2 on Page 38.
• p rim itive task: a task so sim ple th a t it cannot be broken down in to any
o th e r tasks. First used in C h ap ter 2 on Page 6.
• probability of correct decision: the probability th a t the forward-pruning
algorithm , given a choice between two alternatives th a t have different m in­
im ax values, will choose the correct alternative. F irst used in Section A .3.3
on Page 216.
• problem : in my problem representation in bridge, a representation of the
cu rren t situation in which a play is to be m ade. First used in Section 4.3.2
on Page 40.
• problem deals: deals of bridge cards constructed by hum ans to test p a rtic ­
ular aspects of a player’s bidding or play. First used in Section 4.1.3.3 on
Page 29.
• process planner: a com puter system for process planning. First used in
Section 6.2 on Page 110.
250
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
• process planning: planning— by hum ans, com puters, or both—of the pro­
cesses required to m anufacture a product.
First used in C h ap ter 1 on
Page 2.
• produce: applying a m ethod to a node produces a node with an updated
information set and an u pdated task sequence. First used in Section 4.3.4.1
on Page 51.
• proven finesse: a finesse th a t is known to be successful, because fourth hand
is known to be void in the suit. First used in Section 5.1.2 on Page 69.
• Q: a problem. First used in Section 4.3.2 on Page 40.
• q: the probability of choosing th e best child and the worst child of a node.
First used in Section 1 on Page 205.
• quiescence search: m arking a non-term inal node u as term inal if and only
if u s depth exceeds some a rb itra ry cutoff depth and u is quiet. F irst used
in Section A on Page 200.
• quiet: a node u is quiet if th ere is reason to believe th a t e(u) will be
reasonable accurate at u. F irst used in Section A on Page 200.
• R: a rank. First used in Section 4.3.2 on Page 39.
• r: the probability of choosing th e worst two children of a node. F irst used
in Section 1 on Page 206.
• rank: w hat value a card has (2, 3, . . . , 9, T (for 10), J, Q, K, A). First
used in Section 4.3.2 on Page 39.
251
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
• refinement strategy: a strategy for choosing which plan refinement to per­
form next. First used in Section 2.1 on Page 10.
• RM1. RM2: realistic, m anufacturable designs. First used in Section 7.1 on
Page 144.
• ruff: in bridge, to play a tru m p card if the led suit was not trum p. First
used in Section 4.2.1 on Page 33.
• R U M l, RUM2: realistic, unm anufacturable designs.
F irst used in Sec­
tion 7.1 on Page 145.
• run time: tim e required to run a m anufacturing process.
First used in
Section 6.4.4 on Page 135.
• RVA (R andom -V alue A ddition) node: a node which has a numeric value
from the set {—1,1} assigned to it at random . F irst used in Section 3 on
Page 202.
• 5: the current state. F irst used in the list beginning in Section 4.2.2 on
Page 34.
• S: the set of all states. F irst used in Section 4.3.2 on Page 39.
• S', S i, S 2 : states consistent w ith the state inform ation set I u. First used
in Section 4.3.4.1 on Page 51.
• S u: the sta te in a , a leaf node in a decision tree. F irst used in the list
beginning in Section 6.4.3 on Page 119.
• s: the m inim ax value th a t th e forward-pruning algorithm estim ates for a
tree. First used in Section A.3.1 on Page 206.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
• second hand: the player who plays the second card to a trick. First used
in Section 5.1.2 on Page 69.
• second table: in duplicate bridge, the second tim e a deal is played. First
used in Section 5.2.2 on Page 73.
• sequence: in bridge, a set of cards, such as the 4kK and ♦ Q , such th a t at
least one of the cards m ust eventually be a winner. If the
loses to the
opponents’ 4kA. the 6 Q is the highest rem aining spade, and is thus called
a sequence winner . F irst used in Section 5.1.2 on Page 69.
• sequence winner: See sequence.
• setu p tim e: tim e required to set up a m anufacturing process. F irst used
in Section 6.4.4 on Page 135.
• sibling correlation: correlation among th e m inim ax values of sibling nodes.
F irst used in Section 3 on Page 220.
• sta tic evaluation function: a total function th a t expresses a guess as to the
perceived benefit of a state, defined as e : S —* [0,1], where [0,1] = {x :
0 < x < 1}. First used in Section 4.3.2 on Page 40.
• South: in bridge, one of the four players. South and N orth are partners
against East and W est. First used in Section 4.2.1 on Page 32.
• solved: a game is solved if a program exists th a t is guaranteed to play
it optim ally under tournam ent conditions. First used in Section 4.1.1 on
Page 22.
• stan d a rd perfect-inform ation game: See perfect-inform ation game.
253
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
• state inform ation set: a set of ground literals, representing the information
about which my program is certain in a gam e. First used in Section 4.3.2
on Page 37.
• strategic scheme: in bridge, a long-term card-plaving tactic, such as crossruffing. I arb itra rily define “long-term” as “m ore th an two tricks” . Con­
trast tactical scheme. First used in Section 4.3.1 on Page 35.
• strength: in forward pruning, the sum of th e values of the RVA nodes
on the p a th from th e root to a leaf node. F irst used in Section A. 1.1 on
Page *203.
• subtask: a sim pler task th a t is part of a m eth o d used to perform a more
complex task . F irst used in Chapter 2 on P age 6.
• suit: th e ty p e of a card (4k for clubs, 0 for diam onds, <7 for hearts, or 4k
for spades). F irst used in Section 4.2.1 on Page 33.
• suit deal: any deal in which the trum p suit is 4k, O’ ,
or 4k. C ontrast No
Trum p deal. First used in Section 5.2.2 on Page 74.
• Swiss team s board-a-m atch scoring: a m ethod of scoring duplicate bridge,
in which, when a deal is played twice, w hichever team gets the higher
num ber of to tal points wins the board.
F irst used in Section 5.2.2 on
Page 73.
• T: a task. F irst used in the list beginning in Section 4.3.3 on Page 41.
• T: a task for an instantiated m ulti-agent m ethod.
First used in Sec­
tion 4.3.4.1 on Page 51.
254
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
• T q : the set of all states that can be reached via sequences of legal moves
from states in th e initial state inform ation set. First used in Section 4.3.3
on Page 41.
• t: the actual m inim ax value of a tree.
First used in Section A.3.1 on
Page 206.
• tactical scheme: in bridge, a short-term card-playing tactic, such as finess­
ing or ruffing.
I arbitrarily define “sh o rt-term ” as “one or two tricks".
C ontrast strategic scheme. First used in Section 4.3.1 on Page 35.
• tap: in m achining, a hole tapped w ith th read s allows a screw to be screwed
into the hole. F irst used in the list beginning in Section 6.2 on Page 105.
• task: a requirem ent to be achieved in a planning dom ain. First used in
Section 2 on Page 6.
• task network: See HTN. First used in C h ap ter 2 on Page 7.
• third hand: th e player who plays the th ird card to a given trick. First used
in Section 5.1.2 on Page 69.
• through-hole: in microwave modules, a hole th a t has been drilled com­
pletely through the board. First used in the list beginning in Section 6.2
on Page 105.
• Tignum 2: a com puter program th a t I im plem ented th a t performs de­
clarer play a t contract bridge using an approach ad ap te d from HTN plan­
ning.
T ignum 2 is the second version of the program ; th e Latin word
“tignum ” m eans “wooden beam ”, such as the wooden beam s used to build
255
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
a bridge [135]. In Icelandic, '•tignum" is a form of the adjective "tig in n ” .
meaning "noble" [76]. First used in Section I on Page 2.
• TO FS: Total-O rder P lanning w ith Forward Search. First used in Section 1
on Page 2.
• tolerance: an allowed variance in a param eter of a m echanical feature.
First used in the list beginning in Section 6.2 on Page 105.
• to tal order: a list of events has total order if there is exactly one event
th a t can come first in th e tim e sequence, exactly one event th a t can come
second in the tim e sequence, and so forth. C ontrast p artial order. First
used in Section 3 on Page 12.
• total-order planning: any approach in which all plans have to ta l order.
C ontrast partial-order planning. First used in Section 3 on Page 12.
• traces: See transm ission lines.
• transm ission lines: pieces of a microwave module th a t carry energy to
different parts of th e circuit. First used in the list beginning in Section 6.2
on Page 105.
• trick: in bridge, four cards, one played from each hand. A trick is won by
th e player who plays th e highest card in the trum p suit, if any; otherwise,
th e trick is won by th e player who plays the highest card in the sam e suit
as the card th a t was led to th e trick. First used in Section 4.2.1 on Page 33.
• trum p: in bridge, th e suit of the last bid th a t was m ade during th e auction,
or no suit if the last bid was a No Trum p bid. Any card in the tru m p suit
beats any cards in an y other suits. First used in Section 4.2.1 on Page 33.
256
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
• Turn(y): a predicate th at asserts th a t y is the player whose turn it is
to move in a gam e. For exam ple, if it were South’s tu rn to move, then
Turn(South) would be true. F irst used in Section 4.3.2 on Page 37.
• Type A pruning: choosing some arb itrary cutoff depth Z,, and m arking a
no-terminal node u as term inal if and only if u's depth exceeds L. First
used in Section A on Page 199.
• U = (U\ , U2 , • • •, Un)- the sequence of tasks in u. a leaf node in a decision
tree. First used in the list beginning in Section 4.3.4.1 on Page 48.
• u: a node in a decision tree.
F irst used in the list beginning in Sec­
tion 4.3.4.1 on Page 48.
• uj, U2 , . . . , u n: children of u, referred to as “for each
First used in
Section 4.3.4.3 on Page 57.
• uncontrolled: a player not under my program ’s control.
First used in
Section 4.3.2 on Page 37.
• U R M l, URM2, URM3, URM4, URM5, URM6:
unrealistic, m anufac­
turable designs. F irst used in Section 7.1 on Page 145.
• V: a subtree rooted at v. F irst used in Section A .1.2 on Page 203.
• V = (Vi, V2 , • • •, K„): the sequence of tasks in v. a new node to be added
to a decision tree. First used in Section 4.3.4.1 on Page 51.
• Va, Vai, Va2. Va3 . Va4 , Vf,, Vc, Vrf, Vg: sequences of tasks in nodes in an exam ­
ple of a decision tree. First used in Section 4.3.4.2 on Page 53.
257
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
• v: in b ridge, v (first used in this sense in the list beginning in Sec­
tion 4.3.4.1 on Page 48) is a node in a decision tree resulting from applying
M , an in sta n tiated m ulti-agent m ethod, to u , a leaf node, r is to be added
to th e decision tree as a child of u. In forward pruning, v (first used in
this sense in Section A on Page 199) is ju st a child of u.
• variant process planning system : a system th a t m atches a new design to a
d atabase of old designs, and retrieves the process plans for the most sim ilar
design o r designs. Then, hum ans modify these process plans until they are
appropriate for m anufacturing th e new design. First used in Section 6.1.1
on Page 103.
• via: See plated through-hole.
• w: th e u tility value for a node u. F irst used in Section 4.3.4.3 on Page 57.
• W{i th e u tility value for a node u,. First used in Section 4.3.4.3 on Page 57.
• W ald m axim in-return decision criterion: the decision theory term for m in­
imax. F irst used in Section 4.3.4.3 on Page 56.
• West: in bridge, one of th e four players. West and E ast are partners against
N orth and South. First used in Section 4.2.1 on Page 32.
• winner: a card th a t is higher th a n any cards th e opponents hold in its suit.
F irst used in Section 5.1.2 on Page 69.
• A 'i,.Y 2 , ___ -Y„: variable symbols. F irst used in Section 4.3.2 on Page 38.
• Y: a finite set of moves. First used in th e list beginning in Section 4.2.2
on Page 34.
258
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
• Z: a su it. F irst used in Section 4.3.2 on Page 39.
259
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
B ib liograp h y
“I cannot live w ithout books.”
— Thom as Jefferson, letter to John A dam s, 10 Ju n e 1815 ([13], p.
389)
[1] A B BA . 1980. Super Trouper. A&M Records, Inc., Hollywood, California.
[2] A C IS Geometric Modeler. 1993. Spatial Technology, Inc., Boulder, Col­
orado.
[3] A dam s, Scott. 1996. Fugitive from the Cubicle Police. Andrews and
M cMeel, Kansas City.
[4] Allis, L. V. 1990. “A knowledge-based approach of connect four: the gam e
is solved: W hite wins” . M aster’s thesis, V rije U niversiteit, A m sterdam , the
N etherlands.
[5] Allis, L. V. and Schoo, P. N. A. 1992. “Q ubic solved again” . H euristic
Programming in Artificial Intelligence 3: The Third Computer Olympiad.
192-204. Ellis Horwood, Chichester, E ngland.
[6] Allis, L. V. 1993. Searching fo r Solutions in Games and Artificial Intelli­
gence. Ph.D . dissertation, University of Lim burg, M aastricht, the N eth er­
lands.
260
R e p ro du ced with permission o f the copyright owner. Further reproduction prohibited without permission.
[7] Allis. L. V'.: van den Herik. H. J.: and H untjens. M. P. H. 1996. "Gomoku solved by new search techniques” . Computational Intelligence. 12:1.
February 1996. 7-23.
[8] Alphaville. 1994. Prostitute. W arner Music Germany. Berlin. Germany.
[9] A usten, Jane. 1813. Pride and Prejudice. R. W . Chapm an, ed.. 1923.
Oxford U niversity Press, London. Available electronically from < h ttp :/ / curly.cc.utexas.edu / ~ ch u rch h /p rid p rej .h tm l> .
[10] B akerjian, R., ed. 1992. Design fo r Manufacturability ( Tool and M anu­
facturing Engineers Handbook, volume 6.) Society of M anufacturing Engi­
neers, D earborn, Michigan.
[11] Ballard, Bruce W. 1983. “T h e *-minimax search procedure for trees con­
taining chance nodes.” Artificial Intelligence 21:327-350.
[12] B arrett, A. and W eld, D. 1994. “P artial order planning: evaluating possible
efficiency gains.” Artificial Intelligence 67:71-112.
[13] B artle tt, John. 1980. B artlett's Quotations. Em ily M orrison Beck, ed. Lit­
tle. Brown, New York.
[14] B audet, G. M. 1978. “On th e branching factor of th e alpha-beta pruning
algorithm .” Artificial Intelligence 10:173-199.
[15] Berlin, D. L. 1985. “SPAN: integrating problem solving tactics.” In Proc.
9th International Joint Conference on Artificial Intelligence, 1047-1051.
[16] Berliner, H. J. 1979. “T he B* tree search algorithm : a best-first proof
procedure.” Artificial Intelligence 12:23-40.
261
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
[IT] Berliner. Hans. L9S0. "C om puter backgammon.” Scientific American. Ju n e
1980. 64-72.
[18] Berliner. H. J.: G oetsch. G.: C am pbell. M. S.: and Ebeling. C. 1990. M ea­
suring the perform ance potential of chess programs. Artificial Intelligence
43:7-20.
[19] Biermann, A. W . 1978. “Theoretical issues related to com puter game play­
ing program s.” Personal Com puting, Septem ber 1978, 86-88.
[20] Blair, Jean R. S.; M utchler, David; and van Lent, Michael. 1996. “Perfect
recall and pruning in gam es w ith im perfect inform ation.” Com putational
Intelligence, 12:1, February 1996, 131-154.
[21] Blondie. 1981. The B est o f Blondie. Chrysalis Records, Inc., Los Angeles.
California.
[22] Boothroyd, G. and D ew hurst, P. 1983. Design fo r Assem bly— A D esigners
Handbook. D epartm ent of M echanical Engineering. University of Mas­
sachusetts at A m herst.
[23] Boutilier. C.; D earden, R.; and G oldszm idt, M. 1995. “Exploiting stru ctu re
in policy construction.” In Proc. 14th International Joint Conference on
Artificial Intelligence.
[24] Bralla, J., ed. 1986. Handbook o f Product Design fo r M anufacturing.
McGraw-Hill, New York.
[25] Brindley, K. 1990. Newnes electronics assembly handbook. Heinem ann
Newnes, Oxford. England.
262
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
[26] Buro. M. 1995. “Statistical feature com bination for the evaluation of game
positions"'. Journal o f Artificial Intelligence Research 3:373-382.
[27] Buro, M. 1995. “A very unofficial ratin g list - a nice try :-)." < h ttp ://w w w .neci.nj.nec.com /hom epages/m ic/rating.htm l> .
[28] Buro, M. 1996. “Tournam ent results” , < h ttp ://w w w .n eci.n j.n ec.co m /homepages / m ic /to u r. htm l > .
[29] Buro, M. 1997. “O thello Match Sz Call for P ap ers” . Personal com m unica­
tion by em ail, 19 M arch 1997.
[30] Candadai, A.; H errm ann, J. W.; M inis, I.; and R am achandran, V. 1994.
“Product and process information m odels for microwave m odules.” In Pro­
ceedings o f the A S M E International Mechanical Engineering Conference
and Exposition.
[31] Chang, T. C. and W ysk, R. A. 1985. A n Introduction to A utom ated Process
Planning System s. Prentice-Hall, Englewood Cliffs, New Jersey.
[32] Chang, T . C. and Terwilliger, J r., J. 1987. “PWA Planner—a rule based
system for printed wiring assembly process planning.” C om puters in In­
dustrial Engineering 13:1—4, 34-38.
[33] Collins, G. and Pryor, L. 1995. “Planning under uncertainty: some key
issues.” In Proceedings o f the
14
th International Joint Conference on A rti­
ficial Intelligence, 1670-1676. M organ K aufm ann. San M ateo, California.
[34] Cormen, T . H.; Leiserson. C. E.: and R ivest, R. L. 1990. Introduction to
Algorithms. M IT Press/M cG raw -H ill, New York.
263
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
[35] Creighton. M ark. 1996. Personal communication.
[36] Currie, K. and T ate. A. 1985. “O -P lan—control in th e open planner archi­
tecture.” BCS E x p ert System s Conference. C am bridge University Press.
UK.
[37] Dead or Alive. 1985. Youthquake. Epic Records, New York.
[38] Dean, T .; Kaelbling, L. P.; K irm an, J.; and Nicholson, A. 1993. “P la n ­
ning w ith deadlines in stochastic dom ains.” In Proceedings o f the Eleventh
National Conference on Artificial Intelligence, 574-579. M IT Press, C am ­
bridge, M assachusetts.
[39] Dong, Jian. 1994. “Feature-based m anufacturing process planning for in te ­
grated product and process developm ent.” In Proceedings o f 4th In tern a ­
tional Conference on C om puter Integrated M anufacturing and A utom ation
Technology, R ensselaer Polytechnic Institute. Troy, New York.
[40] D raper, D.; Hanks, S., and W eld, D. 1994. “P robabilistic planning w ith
inform ation gathering and contingent execution.” In Proceedings o f the 2 nd
International Conference on A l Planning System s, K ristian H am m ond,
editor. AAAI Press, M enlo P ark , California.
[41] E E so f Series I V Version 4- 1992. EEsof Inc., W estlake Village. California.
[42] Elastica. 1995. Elastica. David Geffen Company, Los Angeles, California.
[43] Erol, K.; Hendler, J .; and N au, D.S. 1994. “U M C P: a sound and com ­
plete procedure for hierarchical task-network p lanning.” In Proc. Second
International Conf. on A I Planning Systems (A IP S-94), pages 249-254.
264
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
[44] Erol. K.: Nau. D. S.; and Subrahm anian. V. S. 1995. "C om plexity, de­
cidability and undecidability results for dom ain-independent planning."
Artificial Intelligence 76:75-88.
[45] Fawcett, Tom E. 1996. “Knowledge-based feature discovery for evaluation
functions.” Com putational Intelligence, 12:1, February 1996. 42-64.
[46] Feldman, J. A. and Yakimovsky, Y. 1974. “Decision theory and artificial
intelligence i. A sem antics-based region analyzer.” Artificial Intelligence
5:349-371.
[47] Feldman, J. A. and Sproull, R. F. 1977. “Decision theory an d artificial
intelligence ii: the hungry m onkey.” Cognitive Science 1:158-192.
[48] Fikes, R. E. and Nilsson, N. J. 1971. “Strips: a new approach to the
application of theorem proving to problem solving.” Artificial Intelligence
2:189-208.
[49] Frank, I.; Basin, D.; and B undy, A. 1992. “An adaptation of proof-planning
to declarer play in bridge.” In European Conference on A rtificial Intelli­
gence.
[50] Frank, I. and Basin, D. 1995. “Search in games with incom plete inform a­
tion: a case study using bridge card play.” Research Paper 780, D ep art­
m ent of Artificial Intelligence, E dinburgh, Scotland. S ubm itted to A rtificial
Intelligence.
[51] French, S. 1986. Decision Theory: A n Introduction to the M athem atics o f
Rationality. Wiley, New York.
265
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
[52] The Fun Boy T hree. 1982. The Fun Boy Three. C hrysalis Records Ltd.
New York.
[53] Gamback, B.; R ayner. M.; and Pell. B. 1990. “An arch itectu re for a sophis­
ticated mechanical bridge player.” In Beal, D. F. an d Levy. D.N.L., editors.
H euristic Programming in Artificial Intelligence— The Second Computer
Olympiad. Ellis Horwood, Chichester, England.
[54] Gamback, B.; R ayner, M.; and Pell, B. 1993. “P rag m atic reasoning in
bridge.” Tech. R eport 299, C om puter Laboratory, University of Cam ­
bridge.
[55] Gasser, R. 1996. “Solving Nine M en’s Morris.” C om putational Intelligence,
12:1, February 1996, 24-41.
[56] T he Georgia Satellites. 1993. Let It Rock: The B est o f The Georgia Satel­
lites. E lektra E ntertainm ent, New York.
[57] Ginsberg, M att. 1996. “P artitio n Search.” A A A I-9 6 .
[58] Ginsberg, M att. 1996. “How com puters will play bridge.” The Bridge
World, June 1996.
[59] Ginsberg, M att. 1996. “GIB, Bridge Baron, and o th er things.” Usenet
newsgroup rec.games.bridge, 31 O ctober 1996, M essage-Id: <55aq9u$r31@pith.uoregon.edu>.
[60] Ginsberg, M att. 1996. “GIB vs Bridge Baron:
resu lts.” Usenet news­
group rec.games.bridge, 13 November 1996, M essage-Id: <56cqmi$9l4C¥pith.uoregon.edu> .
266
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
[61] Gmytrasiewicz. P. J. and Durfee. E. H. 1992. "Decision-theoretic recursive
modeling and the coordinated a ttack problem ." In Proceedings o f the 1st
International Conference on A I Planning System s. James Hendler. editor.
M organ K aufm ann, San M ateo, California.
[62] Goren, Charles H. 1957. G oren’s New Contract Bridge Complete. Double­
day, New York.
[63] G upta, S. K. 1994. A utom ated M anufacturability Analysis o f Machined
Parts. Ph.D dissertation, D ep artm en t of M echanical Engineering, Univer­
sity of M aryland, College P ark.
[64] G uterl, Fred. “Silicon g am bit.” Discover 17:6, Ju n e 1996, 48-56.
[65] Haddawy. P.; Doan, A.; an d Goodwin, R. 1995. “Efficient decisiontheoretic planning:
techniques and em pirical analysis.” In Proceedings
UAI95,229-236.
[66] Harhalakis, G.; Kinsey, A.; M inis, I.; and R athbun, H. 1993. “M anufac­
turability evaluation of electronic products using group technology.” In
N S F Design and M anufacturing System s Grantees Conference, C harlotte,
N orth Carolina.
[67] Hebbar, K.; Sm ith, S. J. J.; M inis, I.; and N au, D. S. 1996. “Plan-based
evaluation of designs for microwave m odules.” In A SM E Design fo r M an­
ufacturing Conference, p. 262 (ab stract; full paper on CD-ROM ).
[68] H errm ann, J. W.; Minis, I.; N au, D. S.; H ebbar, K.; and Sm ith, S. J. J.
1997. “Integrated design and process planning for microwave m odules.”
267
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Integrated Product and Process Development: Methods. Tools, and Tech­
nologies. under review.
[69] The Holy Bible; Revised Standard Version. 1973. Collins. New York.
[70] Horacek, H. 1990. “Reasoning w ith u n certain ty in com puter chess.’* A rti­
ficial Intelligence 43:37-56.
[71] Hsu, F. H. 1990. Large-Scale Paralellization o f Alpha-Beta Search: An Al­
gorithmic S tu d y with Computer Chess. Ph.D . dissertation, Carnegie-Mellon
University, P ittsburgh, Pennsylvania.
[72] IBM. 1996. “T he ACM Chess Challenge:
Kasparov vs. Deep Blue.”
< h ttp ://w w w .chess.ibm .park.org> .
[73] The Initial Graphics Exchange Specification (IG E S) Version 5.1. 1991.
IG E S/PD E S O rganization, G aithersburg, MD.
[74] Ishii, K. 1993. “Modeling of concurrent engineering design.” In Concurrent
Engineering: Autom ation, Tools and Techniques, 19-39. Andrew Kusiak,
ed. Wiley, New York.
[75] Jakiela, M. and Papalam bros, P. 1989. “Design and im plem entation of a
prototype intelligent CAD system .” A S M E Journal o f M echanisms, Trans­
mission, and Automation in Design 1 1 1 :2 , Ju n e 1989, 252-258.
[76] Jonsson, B jorn. 1997. “Re: ‘T ignum ’ in th e B andm anna saga?” Personal
com m unication by email. 25 Jan u ary 1997.
268
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
[77] Khemani. D. 1994. “Planning w ith them atic actions." In Proceedings of
the 2nd International Conference on A I Planning Systems. K ristian Ham­
mond, editor. AAAI Press. Menlo Park. California.
[78] Kierulf, A., Chen, K., and Nievergelt, J. 1990. “Sm art game board and
Go Explorer: a study in software and knowledge engineering.” C om m uni­
cations o f the A C M 33:152-167.
[79] K nuth, D. E. 1973. The A rt o f Computer Programming, Vol. 3: Sorting
and Searching. Addison-W esley, Reading, M assachusetts.
[80] K nuth, D. E. and M oore, R. W . 1975. “An analysis of alpha-beta pruning.”
Artificial Intelligence 6:293-326.
[81] Konishi, Y. 1991. Microwave Integrated Circuits. Marcel Dekker, New
York, New York.
[82] Korf, R ichard and Chickering, David M. 1997. “Best-first m inim ax search.”
Artificial Intelligence, to appear.
[83] Kushm erick, N.; Hanks, S.; and Weld, D. 1994. “An algorithm for proba­
bilistic least-com m itm ent planning.” In Proceedings o f the Twelfth National
Conference on A rtificial Intelligence, 1123-1128. AAAI, Menlo P ark , Cal­
ifornia.
[84] Lam, G. 1995. “A utom ated high level process planning for mechanical
and electro-m echanical com ponents for agile m anufacturing” . M.S. thesis,
D epartm ent of M echanical Engineering, University of M aryland a t College
Park.
269
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
[85] Larson. Harold J. 1982. Introduction to Probability Theory and Statistical
Inference. 3rd. ed. Wiley. New York.
[86] Liau, J.. S. and Young. R. E. 1993. "A process planning and concurrent
engineering system for PC B s.” M anufacturing Review 6:1 , M arch 1993,
25-39.
[87] Lee, K.-F. and M ahajan, S. 1990. “The development of a world class O th ­
ello program.” Artificial Intelligence 43:21-36.
[88] Levy, D. and Newborn, M. 1982. A ll About Chess and Computers. Com­
p u ter Science Press.
[89] Lin, S.-H. and Dean, T . 1995. “G enerating optim al policies for Markov de­
cision processes form ulated as plans w ith conditional branches and loops.”
In Third European Workshop on Planning.
[90] Lindelof, E. 1983. C O B R A : the computer-designed bidding system . V ictor
Gollancz Ltd, London.
[91] Lopatin, A. 1992. “Two com binatorial problems in program m ing bridge
gam e.” Computer Olympiad, unpublished.
[92] Luger, George F. and Stubblefield, W illiam A. 1993. Artificial Intelligence:
Structures and Strategies fo r Complex Problem Solving, 2nd ed. AddisonWesley, Reading, M assachusetts.
[93] Manley, B. 1993. “Software ‘judges' rate bridge-playing products.” The
Bulletin (published m onthly by the American Contract Bridge League),
59:11, November 1993, 51-54.
270
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
[94] M aria. A. and Srihari. I\. 1992. "A review of knowledge-based system s in
printed circuit board assembly.” The International Journal o f Advanced
M anufacturing Technology 7:368-377.
[95] M eat Loaf. 1993. Bat Out O f Hell II: Back Into Hell. MCA Records. Inc.
Universal City, California.
[96] M endicino. Pete. 1995. M eeting of 27 Septem ber 1995. and other personal
com m unication.
[97] Mendicino, Pete. 1996. “L etter Received” . Personal com m unication by
email, 6 March 1996.
[98] M inton, Steven; Bresina, John: and D rum m ond, M ark. 1994. “T otal-order
and partial-order planning: a comparative analysis.” Journal o f A rtificial
Intelligence Research 2:227-262.
[99] Morales, Eduardo M. 1996. “Learning playing strategies in chess.” C om ­
putational Intelligence, 12:1, February 1996, 65-87.
[100] M oriarty, D. and M iikkulainen, R. 1993. “Evolving complex O thello s tra te ­
gies using m arker-based genetic encoding of neural networks” . Technical
report AI93-206, D epartm ent of C om puter Sciences, University of Texas
at A ustin.
[101] M orissette, Alanis. 1995. Jagged Little Pill. M averick Recording Com pany.
Los Angeles, California.
[102] M uller, M artin. 1995. C om puter Go as a Sum o f Local Games: A n A ppli­
cation o f Combinatorial Game Theory. P h.D . D issertation, Swiss Federal
In stitu te of Technology, Zurich.
271
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
[103] Muller. Martin. 1996. "The FO ST C’up“. < http://w w w .usgo.org/com puter/fo st.h tm l> .
[104] M uller. M artin. 1996. ‘"International C om puter Go Congress” . < http:/ / www.usgo.org/com puter/icgc.htm l>.
[105] T he Muppets. 1993. Muppet Hits. Jim Henson R ecords/B M G Music, New
York.
[106] N au, D. S. 1982. “The last player theorem.* A rtificial Intelligence 18:5365.
[107] Nau, D. S. 1982. “An investigation of the causes of pathology in gam es.’’
Artificial Intelligence 19:257-27S.
[108] Nau, D. S. 1983. “Pathology on gam e trees revisited, and an alternative
to minimaxing.” Artificial Intelligence 2 1 :(1 ,2 ), 221-244.
[109] Nau, D. S.; G upta, S. K.; and Regli, W. C. 1995. “AI planning versus
m anufacturing-operation planning: a case study.” In Proceedings o f the
14th International Joint Conference on Artificial Intelligence, 1670-1676.
M organ Kaufmann, San M ateo, California.
[110] O ’Grady, P.; Young, R. E.; G reef, A.; and Sm ith, L. 1991. “An advice
system for concurrent engineering.” International Journal o f Computer
Integrated Manufacturing 4:2. M arch 1991, 63-70.
[111] O rchestral M anoeuvres in th e D ark. 1988. The B est o f OMD. Virgin
Records Ltd.. London.
Reproduced with permission o f the copyright owner. Further reproduction prohibited without permission.
[112] O usterhout. J . K. 1994. Tcl and the Tk Toolkit. Addison-Wesley. Reading.
MA.
[113] Patashnik, 0 . 1980. “Qubic: 4x4x4 tic-tac-to e.” M athematics Magazine
53:202-216.
[114] Pearl, Judea. 1980. “A sym ptotic properties of minimax trees and gamesearching procedures.” Artificial Intelligence 14:113-138.
[115] Pearl, Judea. 1984. Heuristics. Addison-W esley, Reading, MA.
[116] Pednault, E. P. D. 1987. “Solving m ultiagent dynamic world problem s in
the classical planning fram ew ork.” In Reasoning about Actions and Plans:
Proceedings o f the 1986 Workshop, 42-82. M organ Kaufm ann. Los Altos.
California.
[117] Peot, M. and Sm ith, D. 1992. “C onditional nonlinear planning.” In Proc.
First In te m a t. Conf. A I Planning S ystem s (AIPS-92), 189-197. M organ
Kaufmann, San M ateo, California.
[118] Pryor, L. and Collins, G. 1996. “P lanning for contingencies: a decisionbased approach” . Journal o f Artificial Intelligence Research 4:287-339.
[119] Quinlan, J. R. 1979. “A knowledge-based system for locating m issing high
cards in bridge.” In Proc. 6th International Joint Conf. A rtificial Intelli­
gence., pp. 705-707.
[120] Reese. Terence and D orm er, A lbert. 1985. The Complete Book o f Bridge.
Faber and Faber, London, England.
[121] Rush. 1987. Hold Your Fire. Polygram Records Inc.. New York.
273
R e p ro du ced with permission o f the copyright owner. Further reproduction prohibited without permission.
[122] Russell. B ertrand. 1901. -R ecent work on th e principles of m athem atics".
International M onthly 4:84.
[123] Russell. S tu art and Norvig. Peter. 1995. Artificial Intelligence: .4 M odem
Approach. Prentice-H all. Englewood Cliffs. New Jersey.
[124] Sacerdoti, E. D. 1974. “Planning in a hierarchy of abstraction spaces."
Artificial Intelligence 5:115-135.
[125] Sacerdoti, E. D. 1975. “T he nonlinear n a tu re of plans." In Allen, J.;
Hendler, J.; and T ate, A., editors, Readings in Planning, 162-170. Morgan
K aufm an, 1990. O riginally appeared in Proc. 4th International Joint Conf.
Artificial Intelligence, pp. 206-214.
[126] Sacerdoti, E. D. 1977. A Structure fo r Plans and Behavior. American El­
sevier Publishing Company.
[127] Samuel, A. L. 1967. Some studies in m achine learning using the game of
checkers, ii-recent progress. IB M Journal o f Research and Development
2:601-617.
[128] Sandborn, P. A. 1992. “A software tool for technology tradeoff evaluation in
m ultichip packaging.” In Eleventh IE E E /C H M T International Electronic
M anufacturing Technology Sym posium , 337-341. IE EE, New York.
[129] Sanii, E. T. and Liau, J. S. 1993. “An expert process planning system for
electronics PCB assem bly.” Computers in Electronic Engineering 19:2,
113-127.
274
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
[130] Schaeffer. J.: Culberson. J.: Treloar. X.: K night. B.: Lu. P.: and Szafron.
D. 1992. “A world cham pionship caliber checkers program.” Artificial In­
telligence 53:273-290.
[131] Schaeffer, J.; Lake, R; Lu, P; and B ryant. M. 1996. “Chinook: the manmachine world checkers cham pion” . A l Magazine 17:1. 21-29.
[132] Shah, Jami; M antyla, M artti: and N au, Dana. 1994. Advances in Feature
Based Manufacturing. E lsevier/N o rth Holland, New York.
[133] Shannon, C. 1950. “Program m ing a com puter for playing chess.” Philo­
sophical Magazine 7:14, 256-275.
[134] Sheinwold, Alfred. 1987. 5 Weeks to Winning Bridge. Pocket Books, a
division of Simon &: Schuster, New York.
[135] Simpson, D. P. 1977. Cassell's Latin D ictionary, 5th ed. M acmillan, New
York.
[136] Sm ith, John G. 1982. “Bilbo: a bridge bidding program .” U ndergraduate
thesis, Leeds University, Leeds, England.
[137] Sm ith, S. J. J. 1991. “G am e playing w ith uncertainty: reasoning tech­
niques.” M aster’s scholarly pap er, D epartm ent of Com puter Science. Uni­
versity of M aryland at College Park.
[138] Sm ith, S. J. J.; Nau, D. S.; and T hroop, T. 1992. “A hierarchical ap­
proach to strategic planning w ith non-cooperating agents under conditions
of uncertainty.” In Proceedings o f the First International Conference on A I
Planning System s, 299-300.
275
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
[139] Sm ith. S. J. J. and Nau. D. S. 1993. "Strategic planning for imperfectinform ation games." In Games: Planning and Learning, Papers from the
1993 Fall Symposium, Technical report FS9302. A A A I Press. Menlo Park.
California.
[140] Sm ith, S. J. J. and Nau, D. S. 1993. “Toward an analysis of forward prun­
ing.” In Games: Planning and Learning, Papers fro m the 1993 Fall S ym ­
posium, Technical report FS9302, AAAI Press. M enlo Park, California.
[141] Sm ith, S. J. J. and Nau, D. S. 1994. “An analysis of forward pruning.”
A A A I-9 4 , 1386-1391.
[142] Sm ith, S. J. J.; Nau, D. S.; and Throop, T. 1996. “A planning approach to
declarer play in contract bridge.” Computational Intelligence 12:1, Febru­
ary 1996. 106-130.
[143] Sm ith, S. J. J.; Nau, D. S; H ebbar. K.; and Minis, I. 1996. “Hierarchical
task-netw ork planning for process planning for m anufacture of microwave
m odules.” Proceedings: A rtificial Intelligence and M anufacturing Research
Planning Workshop (Sandia N ational Laboratories, Ju n e 24-26, 1996).
AAAI Press, Menlo Park, CA, 189-194.
[144] Sm ith, S. J. J.; Nau, D. S.; and Throop, T. 1996. “Total-order m ulti-agent
task-netw ork planning for contract bridge.” A A A I-96, 108-113.
[145] Sm ith, S. J. J.; Hebbar, K.; N au, D. S.: and M inis, I. 1996. “Integrated
electrical and mechanical design and process planning.” IFIP Knowledge
Intensive CAD Workshop, CM U, Septem ber 16-18, 1996.
276
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
[146] Smith. S. J . J.: N au. D. S.: and Throop. T. 1996. “AI p lan n in g ’s strong
suit." IE E E Expert. 11:6. December 1996. 4-5 (biography on page 7).
[147] Stanier. A. 1975. “Bribip: a bridge bidding program ." In Proc. 4th Inter­
national Jo in t Conf. Artificial Intelligence.
[148] Sterling, L. and N ygate, Y. 1990. “Python: an expert squeezer." Journal
o f Logic Programm ing 8:21-39.
[149] Stockman, G. C. 1979. “A m inim ax algorithm b e tte r th an alpha-beta?"
Artificial Intelligence 12:179-196.
[150] Suh, N. P. 1990. The Principle o f Design. Oxford U niversity Press, New
York.
[151] Survivor. 1982. Eye o f the Tiger. Scotti Bros., Santa Monica, California.
[152] Tate, A. 1976. “P ro ject planning using a hierarchic non-linear planner."
Tech. R eport 25, D epartm ent of Artificial Intelligence, U niversity of E din­
burgh.
[153] Tate, A. 1977. “G enerating project netw orks.” In Proc. 5th International
Joint Conf. Artificial Intelligence.
[154] Tesauro, G erald. 1995. “Temporal difference learning and T D -G am m on” .
C om m unications o f the A C M 38:3, M arch 1996, 58-68.
[155] Thompson Tw ins. 1984. Into the Gap. A rista Records. New York.
[156] Tove, G.; Cutkosky, M. R.; Leifer, L. J .; Tenenbaum , J. M.; and Glicksman, J. 1994. “SHA RE: a methodology and environm ent for collaborative
277
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
product development." The International Journal o f Intelligent and Coop­
erative Information System s 3:2 . Ju n e 1994. 129-153.
[157] Trichur, V. S.: Ball, M. 0 .; B aras. J. S.: H ebbar. K.: Minis, I.; N au. D.
S.: and Sm ith, S. J. J. 1996. “Integrating tradeoff analysis and plan-based
evaluation of designs for microwave m odules.” Conference on Agile and
Intelligent Manufacturing System s. R P I’s Electronics and Agile M anufac­
turing Research In stitu te (EA M R I). O ctober 2-3, 1996.
[158] Trinogga, L. A.; Kaizhou, G.; and H unter, I. C. 1991. Practical M icrostrip
Design. Ellis Horwood, C hichester, England.
[159] T ruscott, T. R. 1981. Techniques Used in M inim ax Game-Playing Pro­
grams. M aster’s thesis, Duke University, D urham , NC.
[160] T suneto, Reiko; Erol, K utluhan; Hendler, Jam es; and Nau, Dana. 1996.
“C om m itm ent strategies in hierarchical task network planning” . A A A I-9 6 ,
536-542.
[161] T suneto, Reiko; Nau, Dana; and H endler, Jam es. 1997. “Plan-refinem ent
strategies and search-space size” . Subm itted to IJ C A I-9 7.
[162] Walker, G. 1996. “Beaten in spades” . New Scientist, 16 November 1996,
26-27.
[163] W atson, Louis H. 1964. Play o f the Hand at Bridge. Revised by Sam Fry,
Jr. Barnes & Noble, New York.
[164] W ebster, John. 1623. The Duchess o f Malfi. Elizabeth M. B rennan, ed.,
1993. W. W. Norton & Co., New York.
278
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
[165] W hitney. D. E.: Kevins, J. L.: De Fazio. T. L.: and G ustavson. R.
1993. “Problem s and issues in design and m anufacture of complex electro­
mechanical system s.” D raper L aboratory Report R-2577. December 1993.
M assachusetts In stitu te of Technolog}'.
[166] W ilkins, D. E. 1980. Using p attern s and plans in chess. Artificial Intelli­
gence 14:165-203.
[167] W ilkins, D. E. 1982. Using knowledge to control tree searching. Artificial
Intelligence 18:1-51.
[168] W ilkins, D. E. 1984. “Domain independent planning: representation and
plan generation.” Artificial Intelligence 22:269-301.
[169] W ilkins, D. E. 1988. Practical Planning. Morgan K aufm ann, San Mateo.
California.
279
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Документ
Категория
Без категории
Просмотров
0
Размер файла
10 163 Кб
Теги
sdewsdweddes
1/--страниц
Пожаловаться на содержимое документа