Дж.Ф. Люгер - Искусственный интеллект. 2003 (1156457), страница 109
Текст из файла (страница 109)
вяю ьнац щрсменнан с помощью фун пвн вес( (оолрвюш (5 ! И Кащ а 1(ЗР у- м а) "зт ф зрмы. незвал«юшке мод фвпнращю ь нкрсп 4 ле к спнсш в «сход. нод РУ"'УР' (без создзнвя щпап), хорошел с нль рогрем нравы я не про«полагает "" "с'то ьзо вы«я, и м д «нпгс щп е уао внаю .. Есл арнеожспнн не, па у в моц кп Интересно отмепюь, что приведенные римеры исполюованиа фу ший еаг и ебг в то не время илеюстрнруют историю резанию 1ЫР Р и е версии языка сол р ал ие ык мно о асФоенвых ф) ш(и, как диюеюСошшю С)5Р Пр рэммистзм пр л ось са им определять фу юши проюркн приналл .
Ости заем списку, «мчи. шины сп сю н тд. Со реме ем ию(более обшис и зпш ф)нкшй вошли в шамл р аэ а«а. Сошшаа 1.!ВР— детка расширяе» й ашк Он зв а т лс .о соэлавазь н ноюьзоють собственныс библиотеки повторна и оюзусм ф)н иий Помимо саг сб 1)ВР сюерюп мноиество ф июив о тресни» сказ. Одна из 1!вс, зависяшэ» аг провзво ного числа аргюентов, релстаатяюш «ссгюй ьэыр женка Фуюшия оиснаюег нх возврэшм спи «разул юо (пюрюэст (5 ! П Г лы "рнь пна ъ(м нонструюаром списка моишо счшшь фуюшню сапе.
«дючгдюю( юп рой аа«яюжя два ь-вьфа кепи эп( пар Яме(р ш)сни екпс», ваял ж~с~ ~~. дерек(э м)ен(ом)отар го етеязна синел'рашо рюме) каке '«'ы — значение нюа ( а! '(2 Э 4)) '( Ы '(с б )) Ы б е йсатв Л,л «У Р ушшшм применены ф) 0» т «э»э с Р 'рункши е н сат, опе аин(' пш)ч ы в шрук и т снаваны на рекурсивном по холе к выполнс юо и а нзю(ся (л" дуюш и о(разом. с Рук(УР )» Операм(и ввд к жлым элементом списка ыоолнз ! Еслиснисока уст, шкраииз завершается 2 В праги нам сеучшоб Ыа „м( к шг уг а РЫатмвашся зщт элемент и осушим яуюше«уэлс спту пис«а Глава (5 Введение в ОВР 69В чааюч! дамки и технолог ага «ИЮД" м Полин Н Днп «ОКУ~ ), ик модифнюнид выпалив,нсд сиш о ы (юльшие юр с ионе алшуютс" " „, )дуры иовдй к пии с)7У бмл сюиаи абстрактный тнп ианпмд )шэ о ою «ь" ( юс лрн ерю "Р бэ~ В ас на Раины е н эздсде созданы Рюличн с ФУ«кипи лос Р эм пак „, нфо арнюин о са(рул,фдкаидд При эта про р ь многу не дрих юных н и» моивф к я «спользуемых дл» ред азЫ яав ю' Оин*ВОГО «Одя в т;ь я Вз ° шяст разраб т у выао Эр нс ~~же 'Реву)от обработки бдд « зная«а » »Оп»са ияэ и„э«енин бл стп Испачюу мыс л ям ю ве сю».
вас(аз ч 0 ло «ы Пп их смысловога значения, а не но к (ю Ы юы и осман ические сети, П1ющ и знэн а вшрмииаки »взяв обрабатыют и з ° х вн него предо(веления Паэт«НУ мешлоло ия пост о и ш х нь аль при разрэбаткч приложений иск„„ сука Пирс»ею.ь но.ые фУнкции, он яв ю юз ' нных п ытвв нуюральприр Псам ьиу 1.!5Р л з ол» т легка о юню яля в ' '-,геенна эбегрм( ных тило д нных )б.вб. Свнскн кад рекуренвные структуры В иредмэушсм рюкс е для ре ш тя рва»извини доступа полям записей пр,мгой б сотруднию иолах завази ЗаВЮИСЬ ВУН Пин ПСЬ И 1ЭИС.
ПОСК ЛЬКУ ВСЕ Звона« О СатРудш„ ° мсэн фнксира энную длину (со'тоялн иэ тре«эдеме«ГОВ), то этих длу„фу„„,й б иншш на дн а О а ул» мполисння опсрюшй иак списками не звеетн й лли ы, в ап. шктв д, реал»ми и поиск иа иеуказаи Ом ч еле записей этого мало Дия ы а ю ой оп раины необходимо им ш возможность аканировать списо итеративно нлн рс. уронено з верша» иро од при вы алие ин нсюторыч условий (т,е при нахшгдсинэ у квай заппы) иэи после проеме ра всего а иска.
В этом р здсле иводатся опер янин слнсюиа, прн ллэ определены функиий обрабат и списков вспальзуетса рекнкн Ос ювными фуики н доступа к номпонентам списков являютая с аг н сбг. Парю ю »«к з ст аднога аргумента, а)торий сам является спискам, ( эозврашает его (нрэЫ злсмс Фу в акт е зависит от одного эргумс)па, «оторый должен быть епископ, ашер шэ т мш ы сп)как после у»шенка еш первого элемента. Ныример. Гш (с*к '(а Ь с)) ЭЭ , то и ок «в нр ван (аг ШЬО)) (Ь ) (с '(( Ы ( Ы!) ( Ы Шл '(( Ы ( Д))) (ш а)) ( (а ( ь а))) скю лер ! элем сп ак ма б ть Па зюй сдам« можно олр . имю яэ' «С вюа') ЫВР «вк ч люк ш„ф Р сас ю н.нею вьфвкения синс«у, и гвпдси, дща, м ) ш ,д в — иронзиолыюю ь- мрежс ш и с ЯиуеЬтб удег заев ь н лв)х арюь'с ШИСПИПШНУ-1ЭДС Ои ДОЛХШ ЗЭРЭШШЪП11 ке(е( ис жя э нм пам с яс -1 „список,солсрэьзш й эта, а ( э )вр"""- ырюксн в юч сше д рэма з меш и ь ( 1 е е иу 1 ас) ( б (( 11 у 1 »С) «11) ((Вп 1 1 е с (О у-11*0)) му 1Э е ен аол (с ( у- .
Ь е!еше с ыа у-ыве)))!) аг Р« урс Вю аример с ал за ини фун пи у- дпЬ ,, у- юю 4 (1 г Э 4 Э Ы) (4 5 б) (му- ююе 5 '( Ь Ы) Ы1 диалогично определим сабе(нениые вере ш фун«шю 1елдс л и пел (б Г и Ну-1 д«Ь ( у-1 вЫ (еепл (( 11 У" 1 вс) О) (С (+ ( у-1 ПЕ1 (с)г пу-1кэг)) 1)))) (а ! д му-п«Ь (п иу-1 ВЫ ( Олб ((ке ор Л) (Е*Г У-1Э«С)) .ФУ ' -" Р Р Р у-пел (- 1) (сбг у-1 *с) ) ) ) ) 697 15.1.7.
Вло шеппые списка, структуры к рекурпкп Омк Хпзсбефуг. -шсо ,гг сшг' ~. "ш сопл н аррепа прсдиазначешн лля обюлннетнш д Бт"" ллв вмл Б РЮ ЮХОЬ ЮМИ ПРН «ЮОЮ ФУНКШШ СОП 69В Час»в( йзмкиитвхн ,ОНИ'Э» эмки итвхнопогни пропюммированмй ьлп " "" В99 гю, »(6 Вавденмв в Пбр д лопь нл Р»Ультатом применсниа фуше ПБ «ю "а е с)г„ Бэла и лер ьйп«3 ',,нсеглам ногтя нюрой р»мешзтойформм май сапе, «с ЗН'"'ШЮ', 3 4) ) ) ,, (, л 1 (г 3 1 , 1 (г 3 4))' , ( ы ( '"' (г 3 4) 6 мю(«н сопл Лю это«О опредедим ф) и нспользонания ун Лйайм сдн )И„ внп )"пм яьнме значения.
Фунш 1те, . Если псрлмй элемент о з мэтр»и«и От)эим е»ьнм са». Е и псремй элемент списка „ с ин лиательимх чисед.хаос езую ат фильтралин Отрииател (6 1евг- вп г (са зциЬег-11ве) ) ) ) (с (1 1с г- пас а -ю с1 з ( ас ьег-11 с)1))) В т пример «юона эюй функшш (1!с г- есас1 ея '(1 -1 2 -г -2 3 -4)) (1 2 3) тилнчимн л и испол»лаан) фуннпни сола в Рекурс«внмх фуи цнш нп с сюми Фун ша сат и са деэят список нв час)И и 'улраи " ре«ур й формаруш резулюзт по мере "рэзвертмюии»" ре«урони.
Еше один пример испо»Им. пни фулнпнисопв — переопределение вс роси ой функции Рре а. (а (ш У. РР а (1юе1 1хве2) (е па (( 11 1 с1) 11 с2) (с ( а (са 1 л«1) ( у-аррепа (саг 11Бг1) 11лс2))))) ПРО юшрнруем вмюн мой функции (ву-аррепа '(1 2 3) '(4 5 6)) (1 2 3 4 5 б) «и«й пу 3»метим, 'по по тако« пе ре«урсивнои схеме строятся о Ределсния ун мена» зт' аррепа, ву-1 чпсь и му-п ьег В кэмпом из э нх опрелелений лля ул ть курс«ей м лю ит сшккт нс ал эуетса фу кина са это обеспечнлает возмомиость (' го емю«а укороченного списка Рек)рсн* эавер)лается. если список пуст «ур ин фу кина о в персстран ает рш«ение. Эта сксма талас)НО ('ээ пзьпасг' '' Б гур ' (О(.г сс тюп) илн хэ смоасй ре-ур») а ((Бг) шзшмпп), пос« л мь а ь Фу» са волов»уотс Бля получения хлеста списка де слн «и Пер»мы гггхс апов пыл ' темпом пэ „перми»стели е, мелами ююро„ Рх О» «ь Фу) и зюне пм ш (сош '(1 2) '(3 4)) ,(12) зы ( рр а '(1 2) '(3 4)) (12 3 4) Спноки (1 2 3 4) н ((1 (,ээл (чне момио отобрав) гь г флч люю' Р Юцю~~ и ума«овна н ,мо ь м рев амн Просгейшин способ л, со гас твн* ме, юн юмн рф м млу пи амн н ле.
„дд, в»дог спнс а узл без м Э о лрави о ре«урон ио риме «его» «о м элемента списка, иг горне с м» а юю с» ю с» с исиад Риме зл меигм панов тся ли»евнин мин узла П и таю, построении два у«шаннмх выше Ошлруют лере ья ратл зной сгруктурн (Р с 15.2) Ш шшньтрирует широкие мпма мости слн- Р с ° ( 2 3 4 т 2 3 д щьюимо д ннм. В .эс мости, О мэюа ис. й) 2) 3 4) д ) едсп)о )»доган«сии» любой лре они«ной а д Ф э р»бора (рис !5.1) Кроме т ь юсп пиме с ис»л .6(пте ш»люг нозмо;висеть иерархи мскш ОФ»туРШ»шз. м ла нмх в лрн ере с юш ями о со румммм ю юшээлюэ (5 ) 4 юю лммш шмо за«плел с»геком, сосгопшв из собшхе ю юсин фа»лип Эпм Пико опна Пико опна рас- О »рива а«спину» сушно ть, амошю пюучать в ступ «юкл му его юм с лу Простой схемы са -реь)рспп. о «санной в р дьшушем ршаеле, нелсс точно дла реюнзаинн всех р л ад н н и, «у«и р чмотс списочиьм атомарные э сментм, напр мер, дол)стим.
то функция ге Бгь. сореле. нению в подразделе (5 1.6. пр)мемветс» к нерарки есяой списочной шру Оур» (1Е ОСЬ '((1 2) 3 (1 (4 (5))))) 3 а'унюшл 1еппсь лозвраша з ачс ис 3, Ою«Оп«у список с сю и 3 е мин)в (1 2),Зн (1 (4 (5))) эю,«онеюю,п)пмшьно,нтаю повел фу и июрректно С хр)гой стороны, е и гребу л подсчитать юлнчесшо и нм в списке, несб о'«мо опрелешпь лр)тую с ему р «трели, егора» при скшироеаннн элементов списав булат "в крива ь" неаюмарнме элемент писка и рпу(к мно вмпошить опертшш по лолсчату атомов Эту 9) ш,глино опредедить »к. то с и е-ет л ( у-1 г) ( опа ((и 11 у-1 лы О) (( Со ву-1 С) Ы (с ( ° ( а с-ас з ( а «у-1 с)) Р заем л меи ( о с-аг Б ( а, пу-!юс)))))) " и"РУ с са б Е-*ГО '((1 2) 3 (((4 5 (6)))))) Эю Определение — пр мер ре эрсин са -сас и им рс р.
нм» срмюа по ша'"У помошью форма«ас ф) юю пг-осанна сян сгр «р. ю р РЩИП(П(4(зйй) (Ь рий О (Ош»(.»)ою (4(зю О (со (-а(о 525Ю 70! гла »»тб.о» дени выбр к формы аег. 3 си Фу (ки я номена с помощью . е ннру Рскур ня сверак»тел и " з он всем»трез»т как лаб вяс „ " а мпкн, с спят„ Ре П)син ОаГ сбз н р ,3 Обрши е внимание на с ол юрщсзь рнс. (5, ан э- мрак ю(йв паэрюлелс Р онй(2)3()И(5ЮР л„„,, вюв упаю 6 ОШ(З(ИЯ(збй! в я я по аую . еоо то ю ( ю)ак й)2)ЗИ(и5))ю ) О Р" )53 д 700 час с »Ч) яэыкнмтен го ннкя- екк - пэ Рагр ммнр аанинлпн веку стаенноГ бшс ол нм прнмср м нс О ру ур.
и в звращ». Рел в»а фуакпнй 11асса яе нна Рекурсией (кпа юУО с» сясм» " Р р'"у! ( и нул С ОГО Лян Этан»РН заем Я рс( н ллл пютрошн амзовсввоб няслучшкпрнме яе пар 53 ЮЮ(еррепдн„н (аы и е1 сс (1 с) (сапа (( 11 1 С) 1! ((асс 1 с) (11 с 1»с)! ( ррепа (Ы сс п ( С (1СС (4 Пот пример вызова функннн 1 !а степ. (е1асс '( (Ь с) (((а) е е)))) (*Ь асс! ,*(11»сс и (а Ь ( Ь ) . у в о р : Рар„ (Е1аеееп '(1 (2 3) (4 (5 б) т))! (1 г з 4 5 б т) Рекпк я — бт ююстся о оюн Реши шаш щюшщзщ уннфнкш разя м (5 б 15.1.8.