SHRDLU resurrection

Mbyllur Postuar Jun 6, 2002 Paguhet në dorëzim
Mbyllur Paguhet në dorëzim

Convert Winograd's 1970 SHRDLU program from MACLISP (which has nothing to do with Apple's Macintosh) to any convenient system running under Windows (see [url removed, login to view] for more details and resources). This can be accomplished using any of the following methods: 1. Convert the original MACLISP code to Common Lisp, as already attempted by UMR students. or 2. Write an interpreter capable of executing the original MACLISP code, as attempted by Keldon Jones. (Contact the buyer for descriptions of known bugs in Keldon's interpreter, and for an existing version of the interpreter ported to Delphi.) or 3. Put an Incompatible Time Sharing System emulator on Windows capable of running the 1970 MACLISP interpreter and original SHRDLU code. or 4. Rewrite all or some of SHRDLU in a newer language. For example, Prolog might be used to replace the MicroPlanner portion of SHRDLU.

## Deliverables

Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. Note that everything produced will be placed in the public domain. 7 additional comments as a result of reviewing postings by bidders: 1. There will be no payments before work begins. 2. Partial payments at the completion of well-defined milestones will be considered, but the bidder would have to provide a rigorous and testable description of the milestone. Vague descriptions like "prototype finished" or "project 25% complete" aren't acceptable. 3. While porting Keldon's MACLISP interpreter to Delphi (between 5/13/02 and 5/26/02), we found 5 minor bugs and 1 major bug: a. in func_function in func.c: if "CAR(args)->type" isn't NODE_STRING or NODE_CONS then the final "return n" happens without n ever being set. b. in func_setq in func.c: if args is nil then the final "incref/return val" happens without val ever being set. c. func_last, func_catch, func_throw have check_args and check_args instead of check_args and check_type. d. get_token can hang if ";" isn't followed by a newline. fgetc() should check for \n and EOF. e. get_token case EOF should probably only report failure if tok_type == TOKE_NONE (otherwise finish up in case a string token is in progress). f. (MAJOR) The MACLISP reference manual says: (apply f y) applies function f to the list y. Unless f is an fsubr or fexpr, such as cond or and, which evaluates its arguments in a funny way, the arguments in the list y are used without being evaluated. (apply 'cons '((+ 2 3) 4)) is ((+ 2 3) . 4) Keldon's interpreter returns (5 . 4) instead of ((+ 2 3) . 4) We have not done any more testing since 5/26/02. 4. Keldon's code has a copyright and includes a license. Therefore, we won't release our Delphi version of his interpreter until someone at Semaphore has the time and desire to review the license and determine our obligations. It may be awhile before that happens. Perhaps Keldon will be willing to copyright and license the Delphi code. We'll check with him. 5. Our page at [url removed, login to view] already has links to all the resources requested so far, except for an ITS binary of SHRDLU, which may or may not exist. The existing ITS links are probably the best place to look for binary SHRDLU, but it would have to be a very old version, considering Dave McDonald's comments on our SHRDLU web page. 6. Also note Dave's comments about MicroPlanner. Fortunately, MicroPlanner is a single file in the SHRDLU collection of source code. It should be possible to test/debug/fix MicroPlanner completely independently of the rest of the SHRDLU code. 7. The project requirement to "equal or exceed the capabilities" means your SHRDLU must duplicate or outperform the original SHRDLU algorithms for parsing, semantic analysis, and problem solving. SHRDLU can remember and discuss its plans and carry them out. Knowledge is represented as procedures, not tables of rules or lists of patterns. IF INPUT == "PICK UP A RED BLOCK." THEN OUTPUT("OK.") ELSE... is not an acceptable solution to porting SHRDLU. Your SHRDLU will have to accept and process reasonable variations of the standard SHRDLU examples. The goal is to get SHRDLU running again in a robust fashion. There is no desire to produce a toy program that simply generates SHRDLU-style output using pattern matching, canned examples, or other fakery. Note that the SHRDLU code includes extensive trace/dump features that reveal SHRDLU's internals during execution. Your SHRDLU should retain those features in order to prove your code has duplicated or outperformed original SHRDLU internals.

## Platform

Windows 98 at a minimum. There should be nothing in the program to prevent it from running unchanged on any 32-bit version of Windows. Any commercial tools used to compile or interpret the source code (such as a LISP environment) must be available as freely downloadable demos, such as Xanalys LispWorks or Allegro CL.

## Deadline information

The English output of your converted SHRDLU must equal or exceed the capabilities of the examples documented in Winograd's book and the SHRLDU manual.

Inxhinieri Microsoft MySQL PHP Arkitekturë softuerësh Testim Softuerësh Tryeza Windows

ID Projekti: #2854654

Rreth projektit

6 propozimet Projekti në distancë Aktiv Jul 2, 2002

6 profesionistë freelancer dërguan një ofertë mesatare prej $2607 për këtë punë

nasirghaznavi

See private message.

$3400 USD për 14 ditë
(7 Përshtypje)
4.6
igunvw

See private message.

$4250 USD për 14 ditë
(7 Përshtypje)
4.0
kitovw

See private message.

$510 USD për 14 ditë
(5 Përshtypje)
1.9
cyberplan

See private message.

$2040 USD për 14 ditë
(0 Përshtypje)
0.0
cstacy

See private message.

$2040 USD për 14 ditë
(0 Përshtypje)
0.0
vivekyadavvw

See private message.

$3400 USD për 14 ditë
(0 Përshtypje)
0.0