Pointer machine

In theoretical computer science, a pointer machine is an atomistic abstract computational machine whose storage structure is a graph. A pointer algorithm could also be an algorithm restricted to the pointer machine model.[1]

Some particular types of pointer machines are called a linking automaton, a KU-machine, an SMM, an atomistic LISP machine, a tree-pointer machine, etc.[2]

Pointer machines do not have arithmetic instructions. Computation proceeds only by reading input symbols, modifying and doing various tests on its storage structure—the pattern of nodes and pointers, and outputting symbols based on the tests. In this sense, the model is similar to the Turing machine.

Types of "pointer machines"

Both Gurevich and Ben-Amram list a number of very similar "atomistic" models of "abstract machines";[3][2] Ben-Amram believes that the "atomistic models" must be distinguished from "high-level" models. The following atomistic models will be presented below:

  • Schönhage's storage modification machines (SMM),[4]
  • Kolmogorov–Uspenskii machines (KUM or KU-Machines).[5]

Ben-Amram also presents the following varieties, not further discussed in this article:

  • Atomistic pure-LISP machine (APLM)
  • Atomistic full-LISP machine (AFLM),
  • General atomistic pointer machines,
  • Jone's I language (two types).

Schönhage's storage modification machine (SMM) model

The following presentation follows van Emde Boas.[6]

The machine consists of a fixed alphabet of input symbols, a fixed program, and a mutable directed graph with its arrows labelled by alphabet symbols. The graph is the machine's storage. Each node of the graph has exactly one outgoing arrow labelled with each symbol, although some of these may loop back into the original node. One fixed node of the graph is identified as the start or "active" node.

Each word of symbols in the alphabet can then be translated to a pathway through the machine; for example, 10011 would translate to taking edge 1 from the start node, then edge 0 from the resulting node, then edge 0, then edge 1, then edge 1. Thus a word identifies a node, the final node of the path, but this identification will change as the graph changes during the computation.

The machine can receive instructions which change the layout of the graph. The basic instructions are:

(1) new w instruction, which creates a new node at the end of the path w, with all its edges directed to the next-to-last node in w. (2) set w to v instruction which (re)directs an edge to a different node. Here w and v represent words. The instruction results in changing the destination of the last edge in the path w.

Some steps in the execution of a 2-symbol {0,1} machine with instructions: (1) new ε; (2) new 1; (3) new 11. Instruction #1 initializes the storage graph as a single node, node 1, in the storage graph.

(3) If v = w then instruction z : Conditional instruction that compares two paths represented by words w and v to see if they end at the same node; if so jump to instruction z else continue. This instruction serves the same purpose as the if command in any imperative programming language.

Evolution of the storage graph in a 2-symbol {0,1} machine with instructions: (1) new ε; (2) new 1; (3) new 11; (4) new 10; (5) set 111 to 10. At this time, if the machine were to do the if 10=111 then xxx, then the test would be successful and the machine would indeed jump to xxx.

(4) read and write instructions for input/output, accessing a read-only input tape and a write-only output tape, both containing symbols of the alphabet.

Knuth noted that the SMM model coincides with a type of "linking automaton" briefly explained in volume one of The Art of Computer Programming.[4]

Kolmogorov–Uspenskii machine (KU-machine) model

KUM differs from SMM in allowing only invertible pointers: for every pointer from a node x to a node y, an inverse pointer from y to x must be present, labeled by the same symbol. In other words, the storage graph is undirected. Since outgoing pointers must be labeled by distinct symbols of the alphabet, both KUM and SMM graphs have O(1) outdegree. However, KUM pointers' invertibility restricts the in-degree to O(1), as well. This addresses some concerns for physical (as opposite to purely informational) realism.

There are other, minor differences between the models, such as the form of the program - a state table instead of a list of instructions.

Considerations regarding the pointer-machine model

Use of the model in complexity theory: van Emde Boas (1990) expresses concern that this form of abstract model is:

"an interesting theoretical model, but ... its attractiveness as a fundamental model for complexity theory is questionable. Its time measure is based on uniform time in a context where this measure is known to underestimate the true time complexity. The same observation holds for the space measure for the machine" (van Emde Boas (1990) p. 35)

Gurevich also expresses concern:

"Pragmatically speaking, the Schönhage model provides a good measure of time complexity at the current state of the art (though I would prefer something along the lines of the random access computers of Angluin and Valiant)".[7]

Schönhage demonstrates the real-time equivalences of two types of random-access machine with the SMM.[4]

Algorithms in the SMM model: Schönhage demonstrates that the SMM can perform integer multiplication in linear time.[4]

Potential uses for the model: Gurevich wonders whether or not a parallel KU machine "resembles somewhat the human brain"[8]

Parallel computing: All the models mentioned above are sequential. A parallel (atomistic) pointer machine model has been proposed by Cook and Dymond;[9] a high-level (non-atomistic) parallel pointer machine model has also been used[10]

See also

Register machine—generic register-based abstract machine computational model

Turing machine—generic tape-based abstract machine computational model

  • Post–Turing machine—minimalist one-tape, two-direction, 1 symbol { blank, mark } Turing-like machine but with default sequential instruction execution in a manner similar to the basic 3-instruction counter machines.

Further reading

Most references and a bibliography are to be found at the article Register machine. The following are particular to this article:

  • Amir Ben-Amram (1995), What is a "Pointer machine"?, SIGACT News (ACM Special Interest Group on Automata and Computability Theory)", volume 26, 1995. Wherein Ben-Amram describes the types and subtypes: (type 1a) Abstract Machines: Atomistic models including Kolmogorov-Uspenskii Machines (KUM), Schönhage's Storage Modification Machines (SMM), Knuth's "Linking Automaton", APLM and AFLM (Atomistic Pure-LISP Machine) and (Atomistic Full-LISP machine), General atomistic Pointer Machines, Jone's I Language; (type 1b) Abstract Machines: High-level models, (type 2) Pointer algorithms.
  • Yuri Gurevich (2000), Sequential Abstract State Machines Capture Sequential Algorithms, ACM Transactions on Computational Logic, vol. 1, no. 1, (July 2000), pages 77–111. In a single sentence Gurevich compares the Schönhage [1980] "storage modification machines" to Knuth's "pointer machines." For more, similar models such as "random access machines" Gurevich references:
  • Yuri Gurevich (1988), On Kolmogorov Machines and Related Issues, the column on "Logic in Computer Science", Bulletin of European Association for Theoretical Computer Science, Number 35, June 1988, 71-82. Introduced the unified description of Schönhage and Kolmogorov-Uspenskii machines used here.
  • Arnold Schönhage (1980), Storage Modification Machines, Society for Industrial and Applied Mathematics, SIAM J. Comput. Vol. 9, No. 3, August 1980. Wherein Schönhage shows the equivalence of his SMM with the "successor RAM" (Random Access Machine), etc. He refers to an earlier paper where he introduces the SMM:
    • Arnold Schönhage (1970), Universelle Turing Speicherung, Automatentheorie und Formale Sprachen, Dörr, Hotz, eds. Bibliogr. Institut, Mannheim, 1970, pp. 69–383.
  • Peter van Emde Boas, Machine Models and Simulations pp. 3–66, appearing in:
Jan van Leeuwen, ed. Handbook of Theoretical Computer Science. Volume A: Algorithms and Complexity, The MIT PRESS/Elsevier, 1990. ISBN 0-444-88071-2 (volume A).
van Emde Boas' treatment of SMMs appears on pp. 32-35. This treatment clarifies Schönhage 1980 -- it closely follows but expands slightly the Schönhage treatment. Both references may be needed for effective understanding.

References

  1. ^ Cloteaux, Brian; Ranjan, Desh (2006). "Some Separation Results Between Classes of Pointer Algorithms".
  2. ^ a b Amir Ben-Amram (1995). What is a "Pointer machine"?, SIGACT News (ACM Special Interest Group on Automata and Computability Theory), volume 26, 1995.
  3. ^ Yuri Gurevich (2000), Sequential Abstract State Machines Capture Sequential Algorithms, ACM Transactions on Computational Logic, vol. 1, no. 1, (July 2000), pages 77–111.
  4. ^ a b c d Arnold Schönhage (1980), Storage Modification Machines, SIAM Journal on Computing Vol. 9, No. 3, August 1980.
  5. ^ Andrey Kolmogorov and V. Uspenskii, On the definition of an algorithm, Uspekhi Mat. Nauk 13 (1958), 3-28. English translation in American Mathematical Society Translations, Series II, Volume 29 (1963), pp. 217–245.
  6. ^ Peter van Emde Boas, Machine Models and Simulations pp. 3–66 in: Jan van Leeuwen, ed. Handbook of Theoretical Computer Science. Volume A: Algorithms and Complexity, The MIT PRESS/Elsevier, 1990. ISBN 0-444-88071-2 (volume A).
  7. ^ Gurevich (1988) p. 6 with reference to Angluin D. and Valiant L. G., "Fast Probabilistic Algorithms for Hamiltonian Circuits and Matchings", Journal of Computer and System Sciences 18 (1979) 155-193.
  8. ^ Yuri Gurevich (1988), On Kolmogorov Machines and Related Issues, the column on "Logic in Computer Science", Bulletin of European Association for Theoretical Computer Science, Number 35, June 1988, 71-82.
  9. ^ Cook, Stephen A.; Dymond, Patrick W. (March 1993). "Parallel pointer machines". Computational Complexity. 3: 19–30. doi:10.1007/BF01200405.
  10. ^ Goodrich, M. T.; Kosaraju, S. R. (1996). "Sorting on a parallel pointer machine with applications to set expression evaluation". Journal of the ACM. 43 (2): 331–361. doi:10.1145/226643.226670.

Read other articles:

Distrik PezinokDistrikNegaraSlowakiaRegion (kraj)Region BratislavaLuas • Total376 km2 (145 sq mi)Populasi (31 Desember 2022) • Total67.786 • Kepadatan185/km2 (480/sq mi)Zona waktuUTC+01:00 (CET) • Musim panas (DST)UTC+02:00 (CEST)Kode area telepon033Plat nomorPK Distrik Pezinok adalah sebuah unit administratif di sebelah barat Slowakia [1] dengan 69.786 penduduk (31 Desember 2022) dan luas wilayah 375,53 km². Ge...

 

Stasiun Pulau Aie M01 Tampak depan Stasiun Pulau Aie, 2022Nama lainStasiun Puluaer, Pulau AirLokasiJalan Pulau AiaPasa Gadang, Padang Selatan, Padang, Sumatera BaratIndonesiaKoordinat0°57′38.002″S 100°21′58.000″E / 0.96055611°S 100.36611111°E / -0.96055611; 100.36611111Koordinat: 0°57′38.002″S 100°21′58.000″E / 0.96055611°S 100.36611111°E / -0.96055611; 100.36611111Ketinggian+2 mOperator Kereta Api IndonesiaDivisi Regiona...

 

Questa voce sull'argomento stagioni delle società calcistiche italiane è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Voce principale: Football Club Pastore. Football Club PastoreStagione 1922-1923Sport calcio Squadra Pastore Allenatore Presidente Prima Divisione11º posto nel girone C della Lega Nord. Retrocessa in Seconda Divisione. Maggiori presenzeCampionato: Gariglio (20) Miglior marcatoreC...

Crazy Beautiful YouPoster Film Crazy Beautiful YouSutradaraMae Cruz-AlviarSkenarioMaan Dimaculangan-Fampulme Bianca B. Bernardino Jancy E. Nicolas Carmi RaymundoCeritaRory B. QuintosPemeranKathryn Bernardo Daniel PadillaPenata musikJesse LucasSinematograferErika Larisma Gary AlcosebaPenyuntingMarya IgnacioPerusahaanproduksiABS-CBN Film ProductionsDistributorStar CinemaTanggal rilis 25 Februari 2015 (2015-02-25) NegaraFilipinaBahasaBahasa FilipinaPendapatankotor₱420 juta[1]...

 

Annual soccer tournament This article is about the championship. For the tournament, see MLS Cup Playoffs. For the trophy, see Philip F. Anschutz Trophy. Football tournamentMLS CupFounded1996RegionMajor League Soccer (CONCACAF)Current championsColumbus Crew(3rd title)Most successful team(s)LA Galaxy(5 titles)Television broadcastersUnited States:MLS Season PassFox/Fox DeportesCanada:TSN/RDSInternational:BroadcastersWebsitemlssoccer.com MLS Cup 2023 The MLS Cup is the annual championship game o...

 

Questa voce o sezione sull'argomento Australia non cita le fonti necessarie o quelle presenti sono insufficienti. Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo le linee guida sull'uso delle fonti. Victoriastato federato (dettagli) (dettagli) LocalizzazioneStato Australia AmministrazioneCapoluogoMelbourne PremierDaniel Andrews (ALP) dal 2014 TerritorioCoordinatedel capoluogo37°48′49″S 144°57′47″E / 37.813611°S 1...

For the surname, see Albacete (surname). This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (August 2020) (Learn how and when to remove this message) Municipality in Castilla–La Mancha, SpainAlbaceteMunicipalityCathedralPuerta de HierrosFairgroundsLodares PassageBullring FlagCoat of armsNicknames: New York of La Mancha, City of the CutleryLocation of Albac...

 

Elezioni generali nel Regno Unito del 2010 Stato  Regno Unito Data 6 maggio Assemblea Camera dei comuni Affluenza 65,1% ( 3,7%) Leader David Cameron Gordon Brown Nick Clegg Liste Conservatori Laburisti Liberal Democratici Voti 10.706.64736,1% 8.604.35829,0% 6.827.93823,0% Seggi 306 / 650 258 / 650 57 / 650 Differenza % 3,7% 6,2% 1.0% Differenza seggi 108 97 5 Distribuzione del voto per collegio Primo ministro David Cameron (Governo Cameron I) 2005 2015 Le elezioni generali nel Regn...

 

FrozescomuneLocalizzazioneStato Francia Regione Nuova Aquitania Dipartimento Vienne ArrondissementPoitiers CantoneVouneuil-sous-Biard TerritorioCoordinate46°40′N 0°09′E / 46.666667°N 0.15°E46.666667; 0.15 (Frozes)Coordinate: 46°40′N 0°09′E / 46.666667°N 0.15°E46.666667; 0.15 (Frozes) Superficie8,61 km² Abitanti495[1] (2009) Densità57,49 ab./km² Altre informazioniCod. postale86190 Fuso orarioUTC+1 Codice INSEE861...

Сельское поселение России (МО 2-го уровня)Новотитаровское сельское поселение Флаг[d] Герб 45°14′09″ с. ш. 38°58′16″ в. д.HGЯO Страна  Россия Субъект РФ Краснодарский край Район Динской Включает 4 населённых пункта Адм. центр Новотитаровская Глава сельского пос�...

 

Сэцен-ханский аймак (Sezen Kan) на карте империи Цин в 1911 году. Сэцэ́н-хан — титул младшей ветви потомков Гэрэсэндзэ от его сына Амина, получившего уделы (монг. отог) Хурээ и Цоохор. Вместе с другими потомками Гэрэсэндзэ, носившими титулы ханов Дзасагту и Тушэту, правили в Халхе...

 

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (ديسمبر 2018) عبد الستار الكيلاني ضباط عراقيون خلال الحرب بين العراق و إيران. معلومات شخصية الميلاد سنة 1955 (العمر 68–6...

Peoples indigenous to Mali For the ethnic group of the Kingdom of Dagbon in the north of Ghana, see Dagomba people. Ethnic group Dogon peopleDogon men in their ceremonial attireTotal population1,591,787 (2012–2013)Regions with significant populations Mali1,751,965 (8.7%)[1]LanguagesDogon languages, Bangime, FrenchReligionAfrican traditional religion, Islam, Christianity The Dogon are an ethnic group indigenous to the central plateau region of Mali, in West Africa, south of the ...

 

Outdated name for the Romanian language in Moldova Not to be confused with Moldavian dialect, one of several dialects of the Romanian language. Moldovanlimba moldoveneascăлимба молдовеняскэ (in Moldovan Cyrillic)Pronunciation[ˈlimba moldoveˈne̯askə]Language familyIndo-EuropeanWriting systemMoldovan Cyrillic (Transnistria)Latin alphabet (Ukraine)Official statusOfficial language in TransnistriaLanguage codesISO 639-1mo (deprecated)ISO 639-2mol (deprecated...

 

Wakil Bupati BalanganPetahanaH. Supiani, S.Sos., M.Si.sejak 26 Februari 2021Masa jabatan5 tahunDibentuk2005Pejabat pertamaDrs. H. Ansharuddin, M.Si.Situs webbalangankab.go.id Berikut ini adalah daftar Wakil Bupati Balangan dari masa ke masa. No Wakil Bupati Mulai Jabatan Akhir Jabatan Prd. Ket. Bupati 1 Drs. H.AnsharuddinM.Si. 13 Agustus 2005 13 Agustus 2010 1   Ir. H.Sefek EffendieM.E. 13 Agustus 2010 13 Agustus 2015 2   Jabatan kosong 13 Agustus 2015 17 Februari 2016 - [1...

ラジオ番組・中継内での各種情報(終了した番組・中継を含みます)は、CDなどでの販売や公式なアーカイブなど常に参照可能な状態のネット配信、または信頼できる紙媒体またはウェブ媒体が紹介するまで、出典として用いないで下さい。検証可能性に基づき除去される場合があります。 SKE48 なるべくしゃべりたい愛称 なるしゃべジャンル バラエティ番組放送方式 �...

 

Para otros usos de este término, véase Eduardo Hurtado (desambiguación). Eduardo Hurtado Datos personalesNombre completo Eduardo Stuart Hurtado RoaApodo(s) TanqueNacimiento Esmeraldas, Ecuador2 de diciembre de 1969 (54 años)[1]​Nacionalidad(es) Altura 1,85 mCarrera deportivaDeporte FútbolClub profesionalDebut deportivo 1990(Juvenil)Posición DelanteroGoles en clubes 239Retirada deportiva 2010(Patria)Selección nacionalSelección ECU EcuadorDebut 1992Part. (gole...

 

Ninja 開発元 Evan Martin初版 2012年 (12年前) (2012)[1] 最新版 1.12.1[2]  - 2024年5月11日 (3か月前)リポジトリ github.com/ninja-build/ninja プログラミング言語 C++、Python対応OS クロスプラットフォーム種別 ソフトウェア開発ツールライセンス Apache License 2.0公式サイト ninja-build.org テンプレートを表示 Ninja(ニンジャ)は、高速な動作を重視した小さなビルドシステム�...

1975 Soviet film by Andrei Tarkovsky MirrorRussian DVD coverDirected byAndrei TarkovskyWritten by Aleksandr Misharin Andrei Tarkovsky Produced byErik WaisbergStarring Margarita Terekhova Ignat Daniltsev Larisa Tarkovskaya Alla Demidova Anatoly Solonitsyn Tamara Ogorodnikova Narrated by Innokenty Smoktunovsky Arseny Tarkovsky CinematographyGeorgy RerbergEdited byLyudmila FeiginovaMusic byEduard ArtemyevProductioncompanyMosfilmRelease date 7 March 1975 (1975-03-07) Running time10...

 

Not to be confused with Mora, Portugal. Municipality in Alentejo, PortugalMouraMunicipality FlagCoat of armsCoordinates: 38°08′N 7°27′W / 38.133°N 7.450°W / 38.133; -7.450Country PortugalRegionAlentejoIntermunic. comm.Baixo AlentejoDistrictBejaParishes8Government • PresidentSantiago Macias (CDU)Area • Total958.46 km2 (370.06 sq mi)Population (2011) • Total15,167 • Density16/km2 (41/sq ...