Höylä

suunnittelija
Kieliluokka Logiikka ohjelmointi
Esiintyi 1969
Tekijä Carl Hewitt
Murteet eetteri
vaikutti Lisp , QA-4 , Popler , Conniver ja QLISP

Planner on funktionaalisesti looginen ohjelmointikieli , joka on syntaksiltaan samanlainen kuin Lisp . Carl Hewittin MIT Artificial Intelligence Laboratoryssa vuosina 1967-1971 kehittämä ensimmäinen kieltä kuvaava julkaisu ilmestyi vuonna 1969 .  

Kirjoittaja asetti sen alun perin robotiikan automaattisen suunnittelun ja lähettämisen kieleksi , mutta myöhemmin tekoälyasiantuntijat tunnustivat sen kieleksi, jolla on sopivin joukko ilmaisukeinoja tällaisiin tehtäviin (tämän uskottiin vaativan joustavia symbolisia prosessointikykyjä ). Huolimatta siitä, että kieltä ei koskaan otettu täysin käyttöön, sen vaikutus tekoälyyn liittyvään tutkimukseen 1970-luvulla osoittautui monella tapaa ratkaisevaksi.

Kielen toiminnallinen osa sisälsi käytännöllisesti katsoen koko Lispin osajoukkona, muut osat - kuvioiden sovitus , backtracking , menettelyjen kutsuminen kuvion mukaan, deduktiiviset mekanismit logiikan ohjelmoinnin hengessä.

Tekijän alunperin kuvailemassa muodossa kieltä ei koskaan otettu käyttöön, sekä kuvauksen hankalan luonteen että kaavamaisuuden vuoksi. Ensimmäiset toteutukset, Micro-planner ja Pico-planner, sisälsivät melko rajoitetun kielen osajoukon. Täydelliset vaihtoehdot otettiin käyttöön Popler- järjestelmässä ja useissa sen johdannaisissa - QA-4 , Conniver , QLISP , Ether . 1970-luvulla Neuvostoliitossa kieli otettiin käyttöön PLENER-BESM-järjestelmässä, joka kehitettiin BESM-6 :lle .

Elements

Vaikka kieli itse asiassa sisältää Lispin kokonaan osana itseään, sen sisäänrakennetut merkkienkäsittelyominaisuudet ovat paljon laajempia. Esimerkiksi funktiot ELEMja RESTyleistää funktiot CARja CDR, jolloin voit valita ja hylätä mielivaltaisia ​​elementtejä luettelosta: [ELEM 1 L] = = A, [REST 2 L] = (С (D Е F) (G Н)). Myös useiden erityyppisten hakasulkeiden käyttöönotto (Lisp sallii vain sulkumerkit, mikä tekee ohjelmista erittäin vaikeasti luettavia) on tehnyt ohjelmista paljon selkeämpiä.

Yksi kielen merkittävimmistä ominaisuuksista on tietojen etsiminen ja analysointi kuvion mukaan (ensimmäisenä toteutettu Snoballissa ja kehitetty suuresti Planerissa).

Tietty osa kielestä on omistettu kyvylle rakentaa ja muuttaa kuvausta ympäristöstä, jossa ongelmaa ratkaistaan: ympäristön kuvausta kutsutaan "tietokantaksi" ja se sisältää yksittäisiä väitteitä (faktoja), jotka ovat totta tämä ympäristö. Tietokannan sisältämien tosiasioiden lisäksi ohjelman tulee määrittää tehtävässä käytettyjen käsitteiden väliset loogiset suhteet sekä kuvaukset sallituista toimista. Tällaisia ​​kuvauksia kutsutaan lauseiksi. Jokaisella lauseella on luettelo ehdoista (edellytyksistä), jotka on täytettävä ennen kuin sitä voidaan soveltaa. Lauseen soveltamisen seurauksena jotkut tietokannan tosiasiat lakkaavat olemasta tosia ja ne on poistettava siitä, kun taas toiset päinvastoin muuttuvat todeksi ja niitä on täydennettävä. Luettelot molemmista tosiseikoista sisältyvät myös lauseiden kuvauksiin.

Toinen tärkeä kielen innovaatio oli backtracking-tila, jonka avulla voit hylätä aiemmin tehdyt päätökset ohjelman suorittamisen aikana, jos osoittautuu, että ne eivät johda tavoitteeseen.

Kirjallisuus