Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Please provide code in Lisp: Use LOCAL variables within functions ( e . g . , introduced by ' let' ) except for truly global

Please provide code in Lisp: Use LOCAL variables within functions (e.g., introduced by ' let')
except for truly global parameters (such as a hash table) that multiple
functions need to access.
Unless stated otherwise, include type checking in your functions; i.e.,
if the user gives an argument which is not of the specified type or form
of the corresponding parameter, your function should return .
(More generally one might print more specific error messages.)
PREPARING FOR BUILDING BLOCK STRUCTURES
Preamble
The "Blocks World", where an AI system builds structures with children's
blocks on a table is a long-standing experimental domain in AI, e.g.,
going back to Terry Winograd's "SHRDLU" (a name based on letter frequencies)
in 1968-71(e.g., low-res demo,
Georgiy Platonov and Ben Kane,
experimented in
a physical blocks world, focusing on question answering about spatial
relations (e.g., "Which blocks are to the left of a red block?"), as well
as about past situations, and enabling structural concept learning, etc.
The Blocks World domain is interesting from a reasoning and planning
perspective, because it involves precisely the kinds of problems for
which current LLMs fail miserably. However, neural-net-based systems
specifically designed for virtual Blocks World problems have been built
successfully. Once suitable data structures and models of possible
moves and relationships in such a virtual domain have been engineered,
a DNN can be "let loose", experimenting with millions of moves and
configurations, thereby learning what moves lead to what configurations.
But one feels that with more reasoning power and spatial conceptualization,
success should not depend on such massive experimentation.
We will be working towards the ability to create block structures in
a 2-D Blocks World, given descriptions of those structures. In Lisp1
we'll do some preliminary programming to enable this. Here is an example
of a block structure (call it a "springboard"):
(CUBE A)(CUBE B)
(CUBE C)(CUBE D)
(BAR G)(BAR H)
(VERTICAL G)
(HORIZONTAL H)
(ON G )
(ON A )
(NEAR A G); "A is one unit to the right
of G; valid only for blocks on
(ON B A)
(ON C B),
(ON H C); This is "symmetrical"-ON
For now, assume that we have exactly 6 unit "cubes", {A,B,C,D,E,F}
and 2 "bars" {G,H} of length 3. Our eventual aim (not yet in this
assignment!) will be to specify how structures like the one above can be
built step by step, one block at a time. For the example this might be:
(TURN-VERTICAL G); applicable to horizontal bars
(PUT-ON G )
(PUT-NEAR A G); Assume this means "put A on ,1 unit right of G"
(PUT-ON B A)
(PUT-ON C B)
(PUT-ON D G)
(PUT-ON H C); for horizontal H, this means "put the middle of H on C.
image text in transcribed

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Machine Learning And Knowledge Discovery In Databases European Conference Ecml Pkdd 2014 Nancy France September 15 19 2014 Proceedings Part 2 Lnai 8725

Authors: Toon Calders ,Floriana Esposito ,Eyke Hullermeier ,Rosa Meo

2014th Edition

3662448505, 978-3662448502

More Books

Students also viewed these Databases questions