Apa arti tanda kurung siku di php?

Perubahan kecil dapat menghasilkan hasil yang efektif ketika mengintegrasikan kutipan ke dalam tulisan Anda. Menambahkan atau menghapus satu huruf atau seluruh frase dari materi sumber dapat membantu Anda membangun transisi yang mulus antara ide Anda sendiri dan ide pakar yang Anda kutip. Jika Anda menggunakan gaya MLA, Anda harus menunjukkan modifikasi pada teks sumber dengan menempatkan tanda kurung siku di sekitar perubahan yang dibuat. Sebagai contoh

  • Kutipan asli. "Membaca juga merupakan proses dan itu juga mengubah Anda. "
  • 1) Margaret Atwood ingin para pembacanya menyadari bahwa "[m]ebaca juga merupakan sebuah proses dan juga mengubah [mereka]" (30)
  • 2) Menurut Atwood, membaca "juga dapat mengubah[] Anda" (30)

Dalam Contoh 1, agar kutipan langsung sesuai dengan kalimat penulis, huruf kapital di awal kutipan dan kata ganti di akhir perlu diubah. Tanda kurung siku di sekitar [r] dan [them] menunjukkan bahwa ini adalah modifikasi penulis dan tidak muncul dalam teks sumber asli

Pada Contoh 2, penulis mengubah verb tense dengan menghilangkan "s" dari "changes. " Tanda kurung kosong menunjukkan perubahan ini dari aslinya

Dalam beberapa kasus, Anda mungkin perlu menyingkat kutipan langsung dengan memotong teks di antara bagian-bagian penting dari suatu bagian. Elipsis, tiga periode yang dipisahkan oleh spasi [. . . ] dan atur di antara tanda kurung, komunikasikan perubahan ini. (Ini sesuai dengan Panduan Gaya MLA; periksa panduan gaya yang ditetapkan untuk konvensi lainnya. )

Mengupas kutipan panjang adalah tugas editorial yang rumit, jadi tinjau perubahan Anda untuk memastikan bahwa Anda mempertahankan makna teks aslinya. Sebagai contoh

  • Kutipan asli. Dalam sebuah buku berjudul itu, Anderson mengamati bahwa dengan kemungkinan pengecualian dari apa yang dia sebut 'desa primordial,' komunitas manusia ada sebagai entitas yang dibayangkan di mana orang 'tidak akan pernah mengenal sebagian besar sesama anggota mereka, bertemu mereka atau bahkan mendengar tentang mereka. . '"
  • 1) Seperti yang dicatat Pratt, "Anderson mengamati bahwa [. . . ] komunitas manusia ada sebagai hak yang dibayangkan di mana orang 'tidak akan pernah tahu sebagian besar sesama anggota [. . . ],' namun dalam benak setiap anggota hidup citra persekutuan mereka'" (582)
  • 2) Seperti yang dicatat Pratt, "Anderson mengamati bahwa [. . . ] 'komunitas manusia ada sebagai hak yang dibayangkan [. . . ]' namun dalam pikiran setiap anggota hidup citra persekutuan mereka'" (582)

Dalam Contoh 1, penulis hanya menghilangkan bagian-bagian kutipan yang tidak penting bagi makna teks, sehingga tetap mempertahankan titik sentral dari kalimat aslinya. Dalam Contoh 2, kalimat tersebut masuk akal, tetapi kehilangan informasi yang sangat penting bagi arti teks aslinya

Terakhir, dan bertentangan dengan naluri terbaik Anda, jika Anda menemukan kesalahan ketik atau tata bahasa dalam teks asli yang Anda kutip, jangan perbaiki kesalahan tersebut; . Sebagai contoh

  • Kutipan asli. “Mengingat situasi pasar saat ini, beberapa SPBU meminta pelanggan mereka untuk membayar di muka. "
  • 1) Seperti yang dilaporkan Seattle Weekly, "Lakukan (sic) dengan situasi pasar saat ini, beberapa pompa bensin meminta pelanggan mereka untuk membayar di muka. "

Dalam kasus di mana Anda perlu memodifikasi kutipan langsung agar sesuai dengan kalimat Anda, lunakkan lisensi editorial dengan kewajiban untuk tetap setia pada arti kutipan asli, dan, bergantung pada panduan gaya Anda, gunakan tanda kurung untuk mengingatkan pembaca akan perubahan

ASCII 91 dan 93 (dan karenanya U+005B dan U+005D). Digunakan dalam pasangan yang cocok untuk menunjukkan arah panggung dalam sebuah drama atau tambahan kutipan. In programming languages with C-like syntax, square brackets typically enclose array subscripts. In mathematics, their most frequent use is to denote closed intervals of real numbers. On Urban Dictionary, because they're used for markup and there are no escape sequences, opening square brackets can never appear in the text of a definition

Get the square bracket mug

In the boxes below, link to other words with square brackets. For example, booty will become booty

Get the square brackets mug

Person. "Everything I'm typing is in All square brackets, even the comma and colon and period and quotations. "

ItemDescription[link][/link]Link to the document (Greenstone version)[href]The href of the link to the document (Greenstone version), without the <a> tag[srclink][/srclink]Link to the original document if the original was converted to another form[icon]Appropriate icon for a classifier/document node, e. g. , bookshelf, book, chapter, page[srcicon]Appropriate icon for the original source document, e. g. , Word, PDF, PostScript[num]Position of the document in the search results (useful for debugging)[numleafdocs]Number of documents below the current classifier node[Text]Text of the current section[RelatedDocuments]Related document information (if available). a vertical list of Titles (or Subjects if Titles aren't available) that link to the related documents—based on “relation” metadata, which is a space-separated list of collection, OID pairs[highlight][/highlight]Used to bold selected section in a hierarchical table of contents, and the selected node in a classifier (has no effect otherwise)[Summary]Displays summary metadata or creates a short summary on the fly[DocOID]Internal identifier of the current section of the document[DocTopOID]Top-level internal identifier of the current document[DocRank]Rank of the document—used in search results[DocImage]URL of the document's cover image, if available[collection]Directory name of the collection this document is from, for use in cross-collection searching[collection. metadata]Collection metadata for the collection this document is from, for use in cross-collection searching, e. g. , [collection. collectionname][metadata]Value of this metadata element for the document

Read moreNavigasi ke Bawah

View chapterPurchase book

Baca bab lengkap

URL.  https. //www. sciencedirect. com/science/article/pii/B9780123748577000116

Particles and Waves in Electron Optics and Microscopy

Giulio Pozzi, in Advances in Imaging and Electron Physics , 2016

2. 2 The Rayleigh–Sommerfeld Integral

Let us consider in more detail the integral between square brackets in Eq. (52 ), also named the propagator or Green function because it establishes the correspondence between the wave function in the plane z = 0 with that in the plane z.

(55)I5=∫−∞∞∫−∞∞e2πλi(αX+βY+1−α2−β2z)dαdβλ2

By formally integrating with respect to the variable z, the former equation becomes

(56)I6=∂∂z∫−∞∞∫−∞∞e2πλi(αX+βY+1−α2−β2z)2πi1−α2−β2dαdβλ

By switching to polar coordinates in the two planes X,Y, and α, β, given by R, θ and ρ, φ, respectively, after integration on the variable φ and by noting that θ is a dummy variable owing to the cylindrical symmetry, the function in square brackets, also named the Weyl integral, becomes the Sommerfeld integral ( Aki & Richards, 2002 ).

(57)I7=∫0∞J02πλRρe2πλi1−ρ2ziλ1−ρ2ρdρ

where R=X2+Y2 and J02πλRρ is the standard Bessel function of zero order ( Abramowitz & Stegun, 1965 ; Arfken & Weber, 2005 ), whose integral representation used in the derivation of the former equation is given by

(58)J0(z)=12π∫02πeizcosθdθ

Let us consider the half-space z > 0, and, first, let us divide the integral [Eq. ( 57 )] in the two intervals [0,1] and [1,∞] and in the second, use the identity i1−ρ2=−ρ2−1 . It turns out that the imaginary part of I7 is given by

(59)Im[I7]=−∫01J02πλRρcos2πλ1−ρ2zλ1−ρ2ρdρ

a definite integral tabulated in Chapter 6 , Section 2. 12. 21, Vol. 2 of Prudnikov, Brychkov, and Marichev (1992) . With the change of variable t=1−ρ2 , the integral becomes

(60)Im[I7]=−1λ∫01J02πλR1−t2cos2πλtzdt,

this time tabulated in Eq. ( 6 ) of Section 6. 677, page 737 of Gradshteĭn, Ryzhik, and Jeffrey (1994) . Both are obviously giving the same result.

(61)Im[I7]=−12πsin2πλR2+z2R2+z2

From Eq. ( 61 ), we may guess (but not infer) that

(62)I7=−12πe2πiλR2+z2R2+z2

The proof of this identity ( Pozzi, 2015 ) will be discussed in the Appendix (Calculation of the definite integrals appearing in the R-S formula) to this volume. Accepting these results, recalling that X = x − x0, Y = y − y0 and X2 + Y2 = R2 and defining r01=X2+Y2+z2 , we obtain for our starting equation [Eq. ( 52 )] the result

(63)u(x,y,z)=−12π∫−∞∞∫−∞∞u(x0,y0,0)∂∂ze2πλir01r01dx0dy0

which coincides with the Rayleigh–Sommerfeld equation

Read moreNavigasi ke Bawah

View chapterPurchase book

Baca bab lengkap

URL.  https. //www. sciencedirect. com/science/article/pii/S1076567016300209

Scripting Languages

Michael L. Scott, in Programming Language Pragmatics (Third Edition) , 2009

Composite Types

The type constructors of compiled languages like C, Fortran, and Ada were chosen largely for the sake of efficient implementation. Arrays and records, in particular, have straightforward time- and space-efficient implementations, which we studied in Chapter 7 . Efficiency, however, is less important in scripting languages. Designers have felt free to choose type constructors oriented more toward ease of understanding than pure run-time performance. In particular, most scripting languages place a heavy emphasis on mappings, sometimes called dictionaries, hashes, or associative arrays. As might be guessed from the third of these names, a mapping is typically implemented with a hash table. Access time for a hash remains O(1), but with a significantly higher constant than is typical for a compiled array or record.

Perl, the oldest of the widely used scripting languages, inherits its principal composite types—the array and the hash—from awk . It also uses prefix characters on variable names as an indication of type. $foo is a scalar (a number, Boolean, string, or pointer [which Perl calls a “reference”]); @foo is an array; %foo is a hash; &foo is a subroutine; and plain foo is a filehandle or an I/O format, depending on context.

Example 13. 64

Perl Arrays

Ordinary arrays in Perl are indexed using square brackets and integers starting with 0.

@colors = ("red", "green", blue"); # initializer syntax

print $colors[1]; # green

Note that we use the @ prefix when referring to the array as a whole, and the $ prefix when referring to one of its (scalar) elements. Arrays are self-expanding. assignment to an out-of-bounds element simply makes the array larger (at the cost of dynamic memory allocation and copying). Elemen yang tidak diinisialisasi memiliki nilai undef secara default.

Example 13. 65

Perl Hashes

Hash diindeks menggunakan kurung kurawal dan nama string karakter

%pelengkap = ("merah" => "sian",

"hijau" => "magenta", "biru" => "kuning");

cetak $pelengkap{"biru"};

Ini juga berkembang sendiri

Record dan objek biasanya dibuat dari hash. Di mana pemrogram C akan menulis fred. umur = 19 , programmer Perl menulis $fred{"age"} = 19 . Dalam kode berorientasi objek, $fred lebih cenderung menjadi referensi, dalam hal ini kita memiliki $fred . .

Contoh 13. 66

Array dan Hash di Python dan Ruby

Python dan Ruby, seperti Perl, menyediakan array dan hash konvensional. Mereka menggunakan tanda kurung siku untuk pengindeksan dalam kedua kasus, dan membedakan antara penginisialisasi larik dan hash (agregat) masing-masing menggunakan pembatas braket dan kurung kurawal

warna = ["merah", "hijau", "biru"]

pelengkap = {"merah" => "cyan",

"hijau" => "magenta", "biru" => "kuning"}

warna cetak[2], pelengkap["biru"]

(Ini adalah sintaks Ruby; Python menggunakan . menggantikan => . )

Contoh 13. 67

Array Access Methods in Ruby

As a purely object-oriented language, Ruby defines subscripting as syntactic sugar for invocations of the [] (get) and []= (put) methods.

c = colors[2] #  same as c = colors. [](2)

colors[2] = c #  same as colors. []=(2, c)

Design & Implementation

Typeglobs di Perl

It turns out that a global name in Perl can have multiple independent meanings. It is possible, for example, to use $foo , @foo , %foo , &foo and two different meanings of foo , all in the same program. To keep track of these multiple meanings, Perl interposes a level of indirection between the symbol table entry for foo and the various values foo may have. The intermediate structure is called a typeglob. It has one slot for each of foo 's meanings. It also has a name of its own. *foo . By manipulating typeglobs, the expert Perl programmer can actually modify the table used by the interpreter to look up names at run time. The simplest use is to create an alias.

*a = *b;

After executing this statement, a and b are indistinguishable; they both refer to the same typeglob, and changes made to (any meaning of) one of them will be visible through the other. Perl also supports selective aliasing, in which one slot of a typeglob is made to point to a value from a different typeglob.

*a = \&b;

The backslash operator ( \ ) in Perl is used to create a pointer. After executing this statement, &a (the meaning of a as a function) will be the same as &b , but all other meanings of a will remain the same. Selective aliasing is used, among other things, to implement the mechanism that imports names from libraries in Perl.

Example 13. 68

Tuples in Python

In addition to arrays (which it calls lists) and hashes (which it calls dictionaries), Python provides two other composite types. tuples and sets. A tuple is essentially an immutable list (array). The initializer syntax uses parentheses rather than brackets

crimson = (0xdc, 0x14, 0x3c) # R,G,B components

Tuples are more efficient to access than arrays. their immutability eliminates the need for most bounds and resizing checks. They also form the basis of multiway assignment

a, b = b, a # swap

Parentheses can be omitted in this example. the comma groups more tightly than the assignment operator

Example 13. 69

Sets in Python

Python sets are like dictionaries that don't map to anything of interest, but simply serve to indicate whether elements are present or absent. Unlike dictionaries, they also support union, intersection, and difference operations

X = set([’a’, ’b’, ’c’, 'd’]) # set constructor

Y = set([’c’, 'd’, ’e’, ’f’]) # takes array as parameter

U = X . Y # ([’a’, ’b’, ’c’, 'd’, ’e’, ’f’])

I = X & Y # ([’c’, 'd’])

D = X − Y # ([’a’, ’b’])

O = X ^ Y # ([’a’, ’b’, ’e’, ’f’])

’c’ in I # True

Example 13. 70

Conflated Types in PHP, Tcl, and JavaScript

PHP and Tcl have simpler composite types. they eliminate the distinction between arrays and hashes. An array is simply a hash for which the programmer chooses to use numeric keys. JavaScript employs a similar simplification, unifying arrays, hashes, and objects. The usual obj. attr notation to access a member of an object (what JavaScript calls a property) is simply syntactic sugar for obj["attr"] . Jadi objek adalah hash, dan array adalah objek dengan nama properti bilangan bulat.

Contoh 13. 71

Array Multidimensi dalam Python dan Bahasa Lain

Jenis dimensi yang lebih tinggi mudah dibuat di sebagian besar bahasa scripting. seseorang dapat mendefinisikan array (referensi ke) hash, hash dari (referensi ke) array, dan seterusnya. Alternatifnya, seseorang dapat membuat implementasi "diratakan" dengan menggunakan objek komposit sebagai kunci dalam sebuah hash. Tuple di Python bekerja dengan sangat baik

matrix = {} # kamus kosong (hash)

matrix[2, 3] = 4 kunci # adalah (2, 3)

Ungkapan ini memberikan tampilan dan fungsionalitas array multidimensi, meskipun bukan efisiensinya. Ada perpustakaan ekstensi untuk Python yang menyediakan array homogen yang lebih efisien, dengan sintaks yang sedikit lebih canggung. Bahasa skrip numerik dan statistik, seperti Maple, Mathematica, Matlab, dan R, memiliki dukungan yang jauh lebih luas untuk array multidimensi

Read moreNavigasi ke Bawah

View chapterPurchase book

Baca bab lengkap

URL. https. // www. sciencedirect. com/sains/artikel/pii/B9780123745149000239

Menavigasi Sistem File, I/O Dasar, dan Soket

Clif Flynt, dalam Tcl/Tk (Edisi Ketiga) , 2012

4. 4. 3 Membuat Saluran

Skrip Tcl dapat membuat saluran dengan terbuka atau soket command. The buka dapat digunakan untuk membuka saluran ke file, perangkat, atau pipa ke program lain. Perintah socket dapat digunakan untuk membuka soket klien ke server atau untuk membuka soket server yang akan mendengarkan klien.

Sintaks. buka fileName ?akses?

Buka file, perangkat, atau pipa sebagai saluran dan kembalikan pegangan untuk digunakan mengakses saluran ini

fileName  Nama file atau perangkat yang akan dibuka.

 Jika karakter pertama nama adalah pipa ( . ), argumen filename adalah permintaan untuk membuka koneksi pipa ke perintah. Kata pertama dalam nama file akan menjadi nama perintah, dan kata berikutnya akan menjadi argumen untuk perintah tersebut.

  ?akses?  Bagaimana file ini akan diakses oleh saluran. Opsi akses mungkin salah satunya.

  r  Buka file untuk akses hanya baca.

  r+  Buka file untuk akses baca dan tulis. File harus sudah ada.

  w  Buka file untuk akses tulis saja. Potong file jika ada.

  w+  Buka file untuk akses baca dan tulis. Potong file jika ada, atau buat jika tidak ada.

  a  Buka file untuk akses tulis saja. Data baru akan ditambahkan ke file. Untuk versi Tcl sebelum 8. 3, file tersebut harus sudah ada. Dengan Tcl8. 3, perilaku diubah untuk membuat file baru jika belum ada.

  a+  Buka file untuk akses baca dan tulis. Buat file jika tidak ada. Menambahkan data ke file yang sudah ada.

  ?permissions?  If a new file is created, this parameter will be used to set the file permissions. Argumen izin akan berupa bilangan bulat, dengan definisi bit yang sama dengan argumen untuk buat system call on the operating system being used.

Contoh 12

Contoh Skrip

# Buka file untuk menulis - Catatan tanda kurung siku menyebabkan perintah Tcl

# untuk dievaluasi, dan pegangan saluran dikembalikan dengan terbuka

# ditugaskan ke variabel outputFile

setel outputFile [buka "testfile" "w"]

# kirim baris ke file keluaran

menempatkan $outputFile "Ini baris 1"

menempatkan $outputFile "Ini adalah baris 2"

menempatkan $outputFile "Ini baris 3"

# Tutup file

tutup $outputFile

# Buka kembali file untuk dibaca

setel inputFile [buka "testfile" "r"]

# Baca satu baris teks

atur numBytes [dapatkan string $inputFile]

# Tampilkan baris yang dibaca

menempatkan "Mendapatkan kembali $numBytes karakter dalam string. $string"

# Baca sisa file

atur string2 [baca $inputFile]

menempatkan "Baca. $string2"

# Umumkan niat

menempatkan "\nMembuka Pipa\n"

# dan buka pipa ke perintah ls

atur pipa [buka ". ls /" "r"]

# Perintah yang setara di bawah MS-Windows adalah

# atur pipa [buka ". memerintah. com /c dir" "r"]

# baca output dari perintah ls

ketika {. [dari $pipa]} {

  tetapkan panjang [dapatkan $pipe lsLine]

  menempatkan "$lsLine panjangnya $length karakter"

}

Keluaran skrip

Mendapat kembali 14 karakter dalam string. Ini adalah baris 1

Membaca. Ini adalah baris 2

Ini adalah baris 3

Membuka Pipa

bin panjangnya 3 karakter

panjang boot adalah 4 karakter

bsd panjangnya 3 karakter

dev panjangnya 3 karakter

...

Read moreNavigasi ke Bawah

View chapterPurchase book

Baca bab lengkap

URL. https. // www. sciencedirect. com/sains/artikel/pii/B978012384717100004X

Vectors and Matrices

Stormy Attaway, dalam MATLAB (Edisi Kelima) , 2019

2. 1. 2 Membuat Vektor Kolom

Satu cara untuk membuat vektor kolom adalah dengan secara eksplisit menempatkan nilai dalam kurung siku , dipisahkan dengan titik koma (bukan koma atau spasi).

>> c = [1;

c =

  1

  2

  3

  4

Tidak ada cara langsung untuk menggunakan operator titik dua untuk mendapatkan vektor kolom. Namun, vektor baris apa pun yang dibuat menggunakan metode apa pun dapat dialihkan untuk menghasilkan vektor kolom. Secara umum, transpos suatu matriks adalah matriks baru yang baris dan kolomnya dipertukarkan. Untuk vektor, transposisi vektor baris menghasilkan vektor kolom, dan transposisi vektor kolom menghasilkan vektor baris. Di MATLAB, apostrof (atau kutipan tunggal) sudah terpasang sebagai operator transpose

>> r = 1. 3;

>> c = r'

c =

  1

  2

  3

Read moreNavigasi ke Bawah

View chapterPurchase book

Baca bab lengkap

URL. https. // www. sciencedirect. com/sains/artikel/pii/B9780128154793000027

Set dan Ekstensi di Abad Kedua Puluh

William J. Mitchell, dalam Buku Pegangan Sejarah Logika , 2012

4. 2 Tindakan lainnya

Langkah berikutnya yang jelas adalah menggabungkan teori model inti baru ke dalam model Mitchell L[U] untuk urutan tindakan, sehingga memperluas . Mitchell telah berusaha melakukannya bahkan sebelum Dodd dan Jensen menyelesaikan pekerjaan mereka di KDJ. Sekarang, dengan catatan yang tersedia pada teknik Dodd-Jensen, dia bisa melanjutkan.

Mitchell menamai modelnya K(F) ; . Urutan K[F], using square brackets to agree with the standard notation for relative constructibility. The sequence F adalah urutan filter di V , yang dimaksudkan untuk menjadi urutan ultrafilter di K[ . apa yang didefinisikan sebenarnya adalah model inti yang direlatifkan, dibangun di atas kumpulan arbitrer ; however it is noteworthy that neither the definition of K[F]nor the fine structure analysis made any use of the structure of F: what is defined is really a relativized core model, built above an arbitrary set F . 4

Model K[F] didefinisikan menjadi L[F,M], where Mwas the class of structures called F-mice. The part of this work which was published in [Mitchell, 1984a ] berakhir pada titik di mana struktur halus akan diperkenalkan. Terbukti bahwa model K[F] adalah penyatuan kelas F-mice, and that if Fwas strong — that is, it was a coherent iterable sequence of measures in K[F]— then K[F]was a model of ZFC + GCH + the set of reals has a Δ31well-ordering + every normal ultrafilter is a member the sequence F.

Sisa dari makalah ini tidak pernah diterbitkan, meskipun ada beberapa distribusi seperti manuskrip [ Mitchell, 1985 ]. Bagian 4 , yang menganalisis struktur halus model, menempati lebih dari separuh naskah ini, 65 dari sekitar 110 halaman dengan spasi ganda. Banyak dari ini adalah perluasan langsung dari struktur halus Dodd-Jensen dari L[U], yang diperluas ke urutan pengukuran dengan menggunakan teknik Mitchell dari L[U]. An F -mouse M adalah struktur Jα[G] , di mana . Beberapa adaptasi teknis, tentu saja, diperlukan untuk mengakomodasi set baru yang didefinisikan secara langsung dari anggota urutan, dan dari fakta bekerja di atas set arbitrer Ghas Fas an initial segment and, above that, a coherent sequence of measures corresponding to the single measure in the Dodd-Jensen mice. Some technical adaptations were, of course, needed to accommodate new sets being directly defined from the members of the sequence, and from the fact of working above the arbitrary set F. The major complication involved the criterion of equal comparison: a new complement was needed to the use of mice, as described in bagian 2. 4 . Kita akan kembali ke poin ini saat kita melihat lemma Dodd-Jensen, yang merupakan alternatif yang lebih umum dari trik teknis yang digunakan dalam tulisan ini.

Hanya pada titik ini adalah mungkin untuk membuktikan pengamatan penting bahwa jika F kuat maka . , and in particular that the definition of K[F]in the case that Fis a proper class, K[F]=∪α∈ONK[F↾α], makes sense.

Mungkin perubahan terpenting dari analisis Dodd dan Jensen tentang KDJ adalah bahwa analisis struktur halus mengambil peran baru. itu mengaktifkan urutan F untuk ditentukan oleh rekursi. Lebih khusus lagi, teorema utama bagian 4 adalah. Misalkan F adalah rangkaian filter sedemikian sehingga untuk setiap (α, β) dalam domain F, the filter F(α,β)(i) is a normal ultrafilter of order β on K[F↾(α,β)]and (ii) is countably complete. Then F kuat dalam artian setiap filter F(α,β)in the sequence Fis an ultrafilter in K[F]. This was used to define a preliminary version of the core model, which is now known as Kc, the countably complete core model, by setting Kc equal to the model K[F]where Fis the maximal sequence of countably complete measures, defined recursively by adding a filter F(α,β)whenever it satisfies the criterion above.

Lema penutup penuh, dengan gaya seperti itu jika model intinya sama dengan L atau KDJ, atau bahkan L[U], tidak mungkin untuk model ini. Mitchell malah menggunakan apa yang mungkin dikenali pembaca sebagai lemma penutup versi pertama Jensen di [ Jensen, 1974b ]. dia mengatakan bahwa model dalam M memenuhi lemma penutup lemah jika, untuk setiap kardinal batas kuat yang cukup besar λ, penerus (λ+)M dari λ seperti yang dievaluasi dalam M adalah sama dengan penerus λ+ seperti yang dihitung dalam V. Mitchell menggunakan rekursi untuk mendefinisikan apa yang kemudian dikenal sebagai model inti yang dapat dihitung lengkap (kemudian, dengan karya Steel, bersertifikat secara terhitung) Kc=K[F] . Kelengkapan yang dapat dihitung memastikan bahwa semua kekuatan ultra teriterasi beralasan, dan ini pada gilirannya memungkinkan penggunaan struktur halus untuk menunjukkan bahwa setiap filter F(α,β)on the sequence Fbe a countably complete K[F↾(α,β)]ultrafilter. The countable completeness ensured that all iterated ultrapowers were well-founded, and this in turn allowed the use of fine structure to show that each filter F(α,β)was still an ultrafilter in the full model Kc. Mitchell's proof that Kc has the weak covering property was essentially the same as Dodd and Jensen's proof that KDJ has the covering property, here applied to κ=(λ+)Kcwhich has, if it is smaller than λ+ of V, cofinality less than λ.

Salah satu konsekuensi penting dari lemma penutup yang lemah adalah bahwa ia menyediakan teknik baru untuk memenuhi kriteria perbandingan setara. model K[F] yang memenuhi sifat penutup yang lemah bersifat universal dalam arti bahwa ketika K[F] . the final model in the iteration of is compared, using iterated ultrapowers, with any other model K[F′]then the model K[F]will compare at least as long as K[F′]: the final model in the iteration of K[F′] will always be an initial segment of the final model in the iteration of K[F] . Secara khusus, jika K[F′] juga universal maka model akhir dari dua iterasi akan sama.

Lema penutup yang lemah tidak hanya menunjukkan bahwa Kc bersifat universal; . Kriteria ini adalah pasangan dari kasus kondensasi khusus untuk L bahwa setiap subhimpunan dasar dari L yang berisi kelas ordinal yang tepat adalah isomorfik terhadap L. Untuk K[F] tidak cukup menganggap bahwa X adalah kelas yang tepat. Mitchell mendefinisikan X menjadi tebal jika, untuk kelas stasioner kardinal tunggal λ jenis urutan X ∩λ+ sama dengan λ+. Ini mengikuti dari lemma penutup lemah yang tidak hanya bersifat universal Kc, tetapi juga keruntuhan transitif dari setiap kelas tebal X ≺ Kc bersifat universal. Fakta ini digunakan di Bagian 7 untuk mendapatkan model inti sebenarnya, yang ditulis K[FM] tetapi hari ini akan ditulis hanya sebagai K. Urutan FM didefinisikan secara rekursif dengan cara yang sama seperti Fc , tetapi . Fakta ini digunakan untuk menunjukkan bahwa Ult(K[G],F(α,β))be well-founded whenever Gis a strong sequence which extends F↾(α,β). This fact was used to show that K[FM] dapat diulang dengan menunjukkan bahwa ini adalah submodel dasar dari Kc.

Konsekuensi dari lemma penutup untuk urutan tindakan

Artikel yang tidak dipublikasikan [ Mitchell, 1985 ] diakhiri dengan sejumlah penerapan lemma penutup lemah di K. Salah satu pernyataan berikut mengimplikasikan adanya inner model dari ∃κ o(κ) ​​= κ++. (i) κ dan κ+ keduanya kompak lemah, (ii) κ adalah κ+ sangat kompak, (iii) κ terukur dan κ+>(κ+)K[F]< . , (iv) κ is measurable and 2κ > κ+, (v) there is a κ-complete ultrafilter U on κ such that iU (κ) = κ+ (in particular, the Axiom of Determinacy holds), (vi) every κ-complete filter can be extended to a κ-complete ultrafilter, or (vii) there is a κ+-saturated ideal on a successor cardinal κ.

Hasil ini bergantung pada konsekuensi dari lemma penutup yang lemah, dan khususnya lemma yang awalnya tidak muncul, setidaknya dalam bentuk terkuatnya, di [ Mitchell, 1985], but was added as an addendum dated July 1985 after Steel pointed out its omission: If there is no inner model of ∃κ o(κ) = κ++ then every elementary embedding i:K[FM]→N menjadi model yang beralasan kuat N adalah ultrapower iterasi dengan pengukuran dalam FM.

Argumen dari K yang digunakan dalam bukti ini tampak jauh lebih kuat daripada model inti K itu sendiri, dan diharapkan, setelah model inti yang lebih besar dibangun, argumen yang sama akan menghasilkan kesimpulan yang lebih kuat. Ini ternyata benar untuk semua kecuali klausa (iii). Melihat lebih dekat pada pandangan ini membuat Mitchell membuat saran bahwa ∃κ o(κ) ​​= κ++ adalah kekuatan utama yang tepat dari kegagalan GCH pada kardinal terukur; . Gitik [1989].

Dari topik yang diharapkan dapat dilihat di [ Mitchell, 1985 ], dua di antaranya dihilangkan. Salah satunya adalah lemma penutup yang lemah untuk kasus kardinal κ yang tidak terhitung tertutup, yaitu, sehingga λω ≥ κ untuk beberapa λ < κ, dan yang lainnya adalah Hipotesis Kardinal Tunggal, atau, memang, versi apa pun dari penutup . Yang pertama adalah yang kurang penting, tetapi membutuhkan waktu paling lama untuk menyelesaikannya. pembuktian untuk κ yang tidak ω tertutup tidak memerlukan teknik apa pun kecuali yang ada di [ Mitchell, 1985 ], bersama dengan yang digunakan untuk L di [< . Jensen, 1974c]; however no published, or even manuscript, exposition of the extension of the covering lemma for sequences of measures to the non-closed case appeared until [Mitchell and Schimmerling, 1995] (for a much more powerful version of the core model).

Menerapkan model ini ke masalah SCH jauh lebih menyusahkan. Kasus yang paling rumit dari lemma penutup Dodd-Jensen adalah bahwa 0† tidak ada dan ada model L[U] dengan kardinal terukur, bersama dengan barisan Prikry C untuk ukuran tersebut. Kemudian model L[U,C] menyediakan set penutup. Himpunan C tidak terlalu unik — ini adalah perubahan dari lemma penutup versi sebelumnya — tetapi model L[U,C] unik. Mitchell menunjukkan dalam [ Mitchell, 1984b ] bahwa generalisasi langsung dari hal ini salah secara umum. Jika λ adalah batas yang tidak dapat diakses dari himpunan I dari kardinal terukur di V , maka ada ekstensi generik V [G] di mana setiap κ ∈ I dibuat tunggal oleh barisan Prikry di atas V, tetapi tidak ada barisan barisan Prikry . yaitu, untuk setiap urutan 〈Cκ. κ ∈ I 〉 dari barisan Prikry ada barisan himpunan 〈Aκ. κ ∈ I 〉 dalam model dasar sehingga setiap himpunan Aκ adalah anggota dari besaran pada κ, namun demikian {κ ∈ I. Cκ ⊈ Aκ } tidak dibatasi dalam κ.

Dalam model ini, terdapat sekuen sekuens Prikry yang seragam untuk setiap subhimpunan I yang dibatasi dalam κ, dan ini terbukti menjadi situasi umum. Mitchell mendefinisikan gagasan tentang sistem yang tidak dapat dibedakan yang menggeneralisasikan, secara alami, gagasan tentang urutan Prikry, dan dia membuktikan versi lemma penutup yang menyatakan bahwa untuk setiap himpunan X yang tidak dapat dihitung dalam V , ada sistem Cof indiscernibles for K such that X is contained in a set Y∈K[C]of the same cardinality. However the system C adalah, berbeda dengan kasus dalam lemma penutup Dodd-Jensen untuk L[U,C], pada dasarnya bersifat lokal. itu tergantung pada himpunan X, dan ukurannya paling banyak sebesar X. Selain itu, meskipun ada kesan bahwa pilihan C ada, pada domainnya, unik hingga variasi terbatas, ini tidak cukup untuk menggeneralisasi secara langsung .

Versi lemma penutup ini diterbitkan dalam [ Mitchell, 1987 ], yang menyertakan beberapa konsekuensinya. Yang paling sederhana memberikan kebalikan dari konstruksi Magidor di [ Magidor, 1978 ]. Misalkan tidak ada model dalam yang memenuhi ∃κ o(κ) ​​= κ++, dan bahwa λ adalah kardinal tunggal dari kofinalitas tak terhitung δ yang teratur di K. Maka o(λ) ≥ δ di K. Hasil tambahan dalam [ Mitchell, 1987 ] menunjukkan bahwa jika ada model ZF di mana ultrafilter tak terikat tertutup pada ω1 adalah ultrafilter maka κ adalah . Hasil akhir mempertimbangkan model L[i], dibangun dari embedding i. V → M. ditunjukkan bahwa jika tidak ada inner model dari ∃κ o(κ) ​​= κ++ maka model L[i] berisi iterasi dari model inti K, dan sama dengan iterasi dari K jika penyisipannya adalah . V → Ult(V,U).

Beberapa makalah berikutnya menghasilkan konsekuensi lebih lanjut. terutama [ Mitchell, 1991 ], yang mencirikan cara (dengan asumsi tidak ada model dalam ∃κ o(κ) ​​= κ++) di mana kardinal . Tidak sampai [ Mitchell, 1992b ] dia mempublikasikan hasil parsial yang dia peroleh pada kekuatan SCH, dan saat ini [ Gitik, 1991] had already appeared, giving the final solution to this question: If SCH fails, then there is an inner model satisfying ∃κ o(κ) = κ++. Gitik's proof of this result required deep techniques from Shelah's pcf theory in addition to Mitchell's results. As related above, he had already strengthened a result of Woodin to prove that the existence of such a model is sufficient to obtain a forcing extension in which κ is measurable and 2κ = κ++, and hence one in which SCH failed.

Pada waktu yang hampir bersamaan, Mitchell [1992a] menggeneralisasi hasil kemutlakan Jensen yang disebutkan sebelumnya. Misalkan tidak ada model dalam ∃κ o(κ) ​​= κ++, a# ada untuk setiap a nyata, dan M adalah model yang mengandung K, atau ultrapower berulang dari K. Maka setiap ∑31 rumus benar di V benar di M. Tapi, seperti yang akan kita lihat, Steel tak lama kemudian mendapatkan hasil yang lebih kuat, yang sebenarnya diterbitkan sebelumnya.

Read moreNavigasi ke Bawah

View chapterPurchase book

Baca bab lengkap

URL. https. // www. sciencedirect. com/sains/artikel/pii/B9780444516213500050

Pengantar UML

Bruce Powel Douglass Ph. D. , dalam Lokakarya UML Real-Time untuk Sistem Tertanam (Edisi Kedua) , 2014

1. 3. 3 Diagram Aktivitas

Di UML 1. x, diagram aktivitas tidak lebih (atau kurang) dari mesin negara dengan sintaks yang berbeda. Artinya, baik diagram aktivitas maupun mesin negara memiliki metamodel perilaku dasar yang sama. Di UML2. 0, bagaimanapun, itu telah diubah

Dalam UML 2. 0, diagram aktivitas dieksekusi berdasarkan semantik eksekusi token; . Setelah selesai dieksekusi, token diteruskan ke aktivitas berikutnya dalam urutan. Transisi ke aktivitas (atau tindakan) berikutnya dilakukan saat aktivitas pendahulu selesai – tidak ada peristiwa yang digunakan. Pada Gambar 1. 11 persegi panjang bulat adalah tindakan atau aktivitas. Panah menunjukkan transisi aliran. Transisi dengan bola di salah satu ujungnya disebut kondisi semu awal dan menunjukkan di mana eksekusi dimulai saat perilaku dimulai.

Apa arti tanda kurung siku di php?

Gambar 1. 11 . Diagram aktivitas.

Diagram aktivitas berisi operator. Berlian menunjukkan pemilihan berdasarkan eksekusi penjaga (ekspresi Boolean ditampilkan dalam tanda kurung siku ). Penjaga ini seharusnya tidak memiliki efek samping. Transisi diambil saat penjaga menilai TRUE . Transisi else diambil hanya jika semua transisi lainnya salah. Bilah dengan satu transisi input dan beberapa transisi keluar disebut garpu. Ini berbeda dari seleksi karena dengan seleksi, paling banyak satu transisi keluar diambil; . Artinya, garpu menunjukkan adanya utas logis dari eksekusi yang berjalan secara bersamaan. 7 Penggabungan, bilah dengan beberapa transisi masuk, menciutkan beberapa utas logis menjadi satu. Keadaan penghentian menunjukkan akhir dari perilaku.

Tindakan dan aktivitas dapat dimiliki oleh berbagai objek – mereka dapat memanggil metode dari objek lain yang memiliki tautan. Alokasi tindakan dan aktivitas paling sering dilakukan dengan swimlane. Pada gambar, swimlane adalah persegi panjang bernama yang berisi aksi dan aktivitas. Nama setiap swimlane biasanya mengidentifikasi kelas yang menyediakan metode yang dipanggil

Fitur baru lainnya ditambahkan di UML 2. 0 adalah pengertian pin. Sama seperti aktivitas (atau tindakan) yang berhubungan dengan fungsi, pin berhubungan dengan parameter fungsi. Dengan demikian, pin dapat ditampilkan sebagai asal transisi (menunjukkan pengiriman data ke parameter yang ditentukan oleh pin) atau penghentiannya (menunjukkan penerimaan data oleh parameter). Pin pada awal transisi disebut pin output dan pin pada akhir transisi disebut pin input. Pin input dan output ditunjukkan pada Gambar 1. 11 . Data juga dapat ditunjukkan dengan objek dalam keadaan, notasi hang over dari UML 1. 4. validatedFlightPlan adalah elemen seperti itu; . Di UML2. 0, lebih umum menggunakan pin.

Diagram aktivitas seperti diagram alur pada steroid. Penggunaan paling umum untuk diagram aktivitas adalah untuk memodelkan algoritma. Dengan demikian, aplikasi mereka yang paling umum adalah untuk merepresentasikan perilaku metode kelas atau perilaku kasus penggunaan algoritmik

Read moreNavigasi ke Bawah

View chapterPurchase book

Baca bab lengkap

URL.  https. // www. sciencedirect. com/sains/artikel/pii/B9780124077812000015

Bahasa Pemrograman Prolog

Heimo H. Adelsberger, dalam Ensiklopedia Ilmu dan Teknologi Fisika (Edisi Ketiga) , 2003

V. Sebuah Daftar

Daftar adalah urutan elemen yang dapat memiliki panjang berapa pun. Daftar ditulis dalam Prolog menggunakan tanda kurung siku untuk membatasi elemen yang dipisahkan dengan koma, seperti pada

warna([merah, biru, hijau])

Beberapa daftar lainnya adalah sebagai berikut

[2,3,5,7]

[]

[[si, bocah], [menendang, [bola]]]

Daftar pertama terdiri dari empat bilangan prima pertama, daftar berikutnya adalah daftar kosong. Yang terakhir mewakili struktur gramatikal dari kalimat “The boy kicked the ball”

[[itu,︸detboy︸kata benda],︸np[ditendang,︸kata kerja[itu,︸detball︸kata benda︸np]]︸vp]︸s

di mana s menunjukkan kalimat;

Elemen pertama dari daftar disebut kepala daftar;

?- warna([X. Y])

X = merah,

Y = [biru, hijau]

atau dapat digunakan untuk membuat daftar baru

?- warna(X), urutkan([hitam. X], Z)

Interpretasi prosedural

Dapatkan daftar warna (disebut X ), tambahkan hitam di depannya ([ . X]) , dan urutkan daftar ini. Daftar yang disortir dikembalikan sebagai Z .

Tabel I menunjukkan kepala dan ekor untuk daftar lain-lain.

TABEL I . Kepala dan Ekor untuk Contoh Daftar yang Dipilih

ListHeadTail [a, b, c, d]a[bc, d][a]a[][a, [b, c]]a[[b, c]][[], [a], [b], [a, b]][][[a], [b], [a, b]]

Tabel II menunjukkan contoh variabel jika Daftar_1 cocok dengan List_2.

TABEL II . Mencocokkan Dua Daftar

Daftar_1Daftar_2Variabel yang diinisiasi [a, b, c, d][X, Y, Z, U]X = aY = bZ = cU = d[a, b, c, d][X|Y]X = aY = [b, c, d][a, b, c, d] . Z][X, Y|Z]X = aY = bZ = [c, d][a, b][X, Y|Z]X = aY = bZ = [][a . Z, W][X, Y|Z, W] Sintaks salah [prolog, lisp][lisp, X]Fails

Notasi Prolog dari daftar menggunakan tanda kurung dan bilah vertikal hanyalah kemudahan sintaksis. Pada dasarnya, daftar adalah struktur yang memiliki dua argumen, kepala dan ekor daftar

Read moreNavigasi ke Bawah

View chapterPurchase book

Baca bab lengkap

URL. https. // www. sciencedirect. com/sains/artikel/pii/B012227410500853X

Manipulasi Teks

Stormy Attaway, dalam MATLAB (Edisi Kelima) , 2019

7. 2. 3. 1 Membuat dan Menggabungkan

Kita telah melihat beberapa metode untuk membuat dan menggabungkan string dan vektor karakter, termasuk memasukkannya ke dalam tanda kurung siku . Fungsi strcat dapat digunakan untuk menggabungkan teks secara horizontal, artinya menghasilkan satu teks yang lebih panjang. Satu perbedaan adalah bahwa ini akan menghapus trailing blank (tetapi bukan blank awal) untuk vektor karakter, sedangkan itu tidak akan menghapus salah satu dari string.

>> strcat('Halo', 'di sana')

an =

  'Halo'

>> strcat('Halo', 'di sana')

an =

  'Halo'

>> strcat('Halo', ' ', 'di sana')

an =

  'Halo'

>> strcat("Halo", "di sana")

an =

  "Halo"

>> strcat("Halo", " ", "di sana")

an =

  "Halo"

Fungsi sprintf dapat digunakan untuk membuat string atau vektor karakter yang disesuaikan. Fungsi sprintf bekerja persis seperti fungsi fprintf, tetapi alih-alih mencetaknya, ia membuat string (atau vektor karakter). Berikut adalah beberapa contoh di mana output tidak ditekan, sehingga nilai variabel yang dihasilkan ditampilkan

>> sent1 = sprintf('Nilai pi adalah %. 2f', pi)

terkirim1 =

  'Nilai pi adalah 3. 14'

>> sent2 = sprintf("Beberapa angka. %5d, %2d", 33, 6)

terkirim2 =

  "Beberapa angka. 33, 6"

>> strpanjang(kirim2)

an =

  23

Catatan

Pada contoh pertama, penentu format menggunakan vektor karakter, sehingga hasilnya adalah vektor karakter;

Semua opsi pemformatan yang dapat digunakan dalam fungsi fprintf juga dapat digunakan dalam fungsi sprintf

Salah satu aplikasi fungsi sprintf yang sangat berguna adalah membuat teks yang disesuaikan, termasuk pemformatan dan/atau angka yang sebelumnya tidak diketahui (mis. g. , dimasukkan oleh pengguna atau dihitung). This customized text can then be passed to other functions, for example, for plot titles or axis labels. For example, assume that a file “expnoanddata. dat” stores an experiment number, followed by the experiment data. In this case, the experiment number is “123”, and then the rest of the file consists of the actual data

123 4. 4 5. 6 2. 5 7. 2 4. 6 5. 3

The following script would load these data and plot them with a title that includes the experiment number

plotexpno. m

% This script loads a file that stores an experiment number

% followed by the actual data. It plots the data and puts

% the experiment # in the plot title

load expnoanddata. dat

experNo = expnoanddata(1);

data = expnoanddata(2. end);

plot(data,'ko')

xlabel('Sample #')

ylabel('Weight')

title(sprintf('Data from experiment %d', experNo))

The script loads all numbers from the file into a row vector. It then separates the vector; it stores the first element, which is the experiment number, in a variable experNo, and the rest of the vector in a variable data (the rest being from the second element to the end). It then plots the data, using sprintf to create the title, which includes the experiment number as seen in Figure 7. 1 .

Apa arti tanda kurung siku di php?

Figure 7. 1 . Customized title in plot using sprintf.

Practice 7. 3

In a loop, create and print strings with file names “file1. dat”, “file2. dat”, and so on for file numbers 1 through 5

Quick Question

How could we use the sprintf function to customize prompts for the input function?

Answer

For example, if it is desired to have the contents of a string variable printed in a prompt, sprintf can be used

>> username = input('Please enter your name. ', 's');

Please enter your name. Bart

>> prompt = sprintf('%s, Enter your id #. ',username);

>> id_no = input(prompt)

Bart, Enter your id #. 177

id_no =

  177

Another way of accomplishing this (in a script or function) would be

fprintf('%s, Enter your id #. ',username);

id_no = input('');

Note that the calls to the sprintf and fprintf functions are identical except that the fprintf prints (so there is no need for a prompt in the input function), whereas the sprintf creates a string that can then be displayed by the input function. In this case, using sprintf seems cleaner than using fprintf and then having an empty string for the prompt in input

As another example, the following program prompts the user for endpoints (x1, y1) and (x2, y2) of a line segment and calculates the midpoint of the line segment, which is the point (xm, ym). The coordinates of the midpoint are found by

xm=12x1+x2ym=12y1+y2

Titik tengah skrip memanggil fungsi entercoords untuk secara terpisah meminta pengguna untuk koordinat x dan y dari dua titik akhir, memanggil fungsi findmid dua kali untuk menghitung secara terpisah koordinat x dan y dari titik tengah, lalu mencetak titik tengah ini. When the program is executed, the output looks like this

>> titik tengah

Enter the x coord of the first endpoint. 2

Enter the y coord of the first endpoint. 4

Enter the x coord of the second endpoint. 3

Enter the y coord of the second endpoint. 8

The midpoint is (2. 5, 6. 0)

Dalam contoh ini, kata 'pertama' atau 'kedua' diteruskan ke fungsi entercoords sehingga dapat menggunakan kata mana pun yang diteruskan di prompt. Prompt dikustomisasi menggunakan sprintf

titik tengah. m

% Program ini mencari titik tengah ruas garis

[x1, y1] = entercoords('pertama');

[x2, y2] = entercoords('kedua');

midx = findmid(x1,x2);

midy = findmid(y1,y2);

fprintf('Titik tengahnya adalah (%. 1f, %. 1f)\n',midx,midy)

entercoords. m

fungsi [xpt, ypt] = entercoords(kata)

%  entercoords membaca & mengembalikan koordinat

% titik akhir segmen garis yang ditentukan

%  Format. entercoords(word) di mana kata adalah 'pertama'

% atau 'kedua'

prompt = sprintf('Masukkan koordinat x dari titik akhir %s. ',

  word);

xpt = masukan(permintaan);

prompt = sprintf('Masukkan koordinat y dari titik akhir %s. ',

  word);

ypt = masukan(permintaan);

akhir

findmid. m

fungsi pertengahan = findmid(pt1,pt2)

%  findmid menghitung koordinat (x atau y) dari

%  titik tengah segmen garis

%  Format. findmid(koord1, koord2)

pertengahan = 0. 5 ⁎ (pt1 + pt2);

akhir

Read moreNavigasi ke Bawah

View chapterPurchase book

Baca bab lengkap

URL. https. // www. sciencedirect. com/sains/artikel/pii/B9780128154793000076

Dukungan Komunikasi Kolektif

José Duato,. Lionel Ni, dalam Jaringan Interkoneksi , 2003

5. 5. 2 Tree-Based Multicast Routing

One approach to multicast routing is to deliver the message along a common path as far as possible, then replicate the message and forward each copy on a different channel bound for a unique set of destination nodes. The path followed by each copy may further branch in this manner until the message is delivered to every destination node. In such tree-based routing, the destination set is partitioned at the source, and separate copies are sent on one or more outgoing links. A message may be replicated at intermediate nodes and forwarded along multiple outgoing links toward disjoint subsets of destinations. The destination nodes can be either leaf nodes or intermediate nodes in the tree. In this approach, each node in the network should be able to replicate messages by sending copies out through different output channels. Message replication can be easily done by software in networks using SAF switching. This has been the traditional approach to support collective communication. Hardware replication of messages is much more complex, being suitable for networks using VCT or wormhole switching

In order to replicate messages, the routing hardware requires several changes with respect to the router model described in Section 2. 1 . We assume that each destination address is encoded in a different flit, and that each message contains a set of destination address flits followed by data flits. Also, we assume that a single bit is used in each flit to distinguish between destination addresses and data flits. All the address flits are routed at each intermediate node, either reserving a new output channel or being transmitted through a previously reserved channel. Some status registers are required at the routing and arbitration unit to keep track of all the output channels reserved by a message arriving on a given input channel. Once all the address flits have been routed, incoming data flits are simultaneously forwarded to all the output channels previously reserved by the address flits. Note that if the switch is a crossbar and it is implemented as a set of multiplexors (one for each switch output), it is possible to select the same input from several outputs. Therefore, the switch can be easily configured so that flits are simultaneously forwarded to several output channels from the same input channel. However, flow control is more complex than in unicast routing. Flit acknowledgment signals returned across all the output channels reserved by a message must be ANDed because flits can only be forwarded when all the routers that should receive them have confirmed buffer availability. Finally, the delivery buffer at each router should be designed in such a way that flits containing destination addresses are automatically discarded.

Although this section focuses on hardware support of multicast communication, we first describe a simple algorithm for broadcasting in hypercubes. This algorithm can be implemented in either hardware or software. It will serve to illustrate some drawbacks of tree-based multicast routing

Broadcast Tree for Hypercube

Consider an n-cube topology. An original version of the following broadcast algorithm, which produces a spanning binomial tree based on the concept of recursive doubling, was proposed by Sullivan and Bashkow [ 334 ]. Each node in the system will receive the broadcast message exactly once and in no later than n time steps. Let s be the address of the source node and v be the node receiving a broadcast message. The broadcast algorithm is listed in Figure 5. 10 .

Apa arti tanda kurung siku di php?

Figure 5. 10 . The broadcast algorithm for hypercubes.

The function FirstOne(v) indicates the location of the least significant 1 in an n-bit binary number v. If vk = 1 and vj = 0 for all 0 ≤ j ≤ k − 1, then FirstOne(v) = k. If v = 0, then k = n

EXAMPLE 5. 3

Figure 5. 11 shows a broadcast tree rooted at node 0000 in a 4-cube. The numbers between square brackets indicate the time step for the corresponding message transmission.

Apa arti tanda kurung siku di php?

Figure 5. 11 . Broadcast tree in a 4-cube rooted at node 0000.

Deadlock in Tree-Based Multicast Wormhole Switching

The spanning binomial tree is suitable for networks supporting SAF or VCT switching techniques. When combined with wormhole switching, tree-based multicast routing suffers from several drawbacks. Since there is no message buffering at routers, if one branch of the tree is blocked, then all are blocked ( Figure 5. 12 ). For the sake of clarity, input and output buffers in the figure have capacity for a single flit. Flit A at node N5 cannot advance because the next requested channel is busy. As a consequence, flit C cannot be replicated and forwarded to node N5. Blockage of any branch of the tree can prevent delivery of the message even to those destination nodes to which paths have been successfully established. For example, flits A and B at nodes N3 and N2 can advance and reach the destination node N4. However, flits at node N1 cannot advance. Tree-based multicast routing may cause a message to hold many channels for extended periods, thereby increasing network contention. Moreover, deadlock can occur using such a routing scheme. The nCUBE-2 [ 248 ], a wormhole-switched hypercube, uses a spanning binomial tree approach to support broadcast and a restricted form of multicast in which the destinations form a subcube.

Apa arti tanda kurung siku di php?

Figure 5. 12 . Message blocking in tree-based multicast routing.

Figure 5. 13 shows a deadlocked configuration on a 3-cube. Suppose that nodes 000 and 001 simultaneously attempt to transmit broadcast messages A and B, respectively. The broadcast message A originating at host 000 has acquired channels [000, 001], [000, 010], and [000, 100]. The header flit has been duplicated at router 001 and is waiting on channels [001, 011] and [001, 101]. The B broadcast has already acquired channels [001, 011], [001, 101], and [001, 000] but is waiting on channels [000, 010] and [000, 100]. The two broadcasts will block forever.

Apa arti tanda kurung siku di php?

Figure 5. 13 . Deadlock in a 3-cube.

In a similar manner, you may attempt to extend deadlock-free unicast routing on a 2-D mesh to encompass multicast. Perpanjangan dari metode perutean XY untuk menyertakan multicast ditunjukkan pada Gambar 5. 14 , in which the message is delivered to each destination in the manner described. As in the hypercube example, the progress of the tree requires that all branches be unblocked. For example, suppose that the header flit in Figure 5. 14 diblokir karena saluran sibuk [(4, 2), (4, 3)]. Node (4, 2) cannot buffer the entire message. As a result of this constraint, the progress of messages in the entire routing tree must be stopped. Pada gilirannya, pesan lain yang membutuhkan segmen pohon ini juga diblokir. Kemacetan jaringan dapat meningkat, sehingga menurunkan kinerja jaringan. Selain itu, algoritma perutean ini dapat menyebabkan kebuntuan. Gambar 5. 15 menampilkan konfigurasi deadlock dengan dua multicast, A dan B.

Apa arti tanda kurung siku di php?

Gambar 5. 14 . Pola perutean multicast XY.

Apa arti tanda kurung siku di php?

Gambar 5. 15 . A deadlock situation in a 3 × 4 mesh. (a) dua multicast mengalami kebuntuan; .

Dalam Gambar 5. 15(a) , A telah memperoleh saluran [(1, 1), (0, 1)] dan [(1, 1), (2, 1)], dan meminta saluran [ . Gambar 5. 15(b) menunjukkan detail situasi untuk node (0, 1), (1, 1), (2, 1), dan (3, 1). Karena baik node (1, 1) maupun node (2, 1) tidak menyangga pesan yang diblokir, saluran [(1, 1), (0, 1)] dan [(2, 1), (3, 1)] tidak dapat . Kebuntuan telah terjadi.

Bagian selanjutnya menyajikan algoritma perutean lubang cacing multicast berdasarkan konsep partisi jaringan, yang setara dengan konsep jaringan virtual yang disajikan pada Bagian 4. 4. 3 . Operasi multicast diimplementasikan sebagai beberapa submulticast, masing-masing ditujukan untuk subset tujuan yang sesuai dan masing-masing diarahkan ke subnetwork yang berbeda. Karena subnetwork terpisah dan asiklik, tidak ada ketergantungan sumber daya siklik yang dapat terjadi. Dengan demikian, algoritma perutean multicast bebas kebuntuan.

Perutean Wormhole XY Multicast Saluran Ganda

Algoritme perutean multicast XY saluran ganda berikut untuk peralihan lubang cacing diusulkan oleh Lin, McKinley, dan Ni [ 206 ] untuk 2- .

Algoritma menggunakan ekstensi dari algoritma perutean XY, yang ditunjukkan di atas rentan terhadap kebuntuan. Untuk menghindari ketergantungan saluran siklik, setiap saluran dalam jaring 2-D digandakan, dan jaringan dipartisi menjadi empat subjaringan, N+X,+Y, N+X,–Y, N–X,+Y, dan . 4. 3 Section 4.4.3 . Subnetwork N+X,+Y berisi saluran searah dengan alamat [(i, j), (i + 1, j)] dan [(i, j), (i, j + 1)], subnetwork N+X, . Gambar 5. 16 menunjukkan partisi mesh 3 × 4 ke dalam empat subjaringan.

Apa arti tanda kurung siku di php?

Gambar 5. 16 . Partisi jaringan untuk 3 × 4 mesh.

Untuk multicast tertentu, node tujuan set D dibagi menjadi paling banyak empat subset, D+X,+Y, D+X,–Y, D–X,+Y, dan D–X,–Y, menurut . Set D+X,+Y berisi node tujuan di kanan atas u0, D+X,–Y berisi tujuan di kanan bawah u0. dan seterusnya

Multicast dengan demikian dipartisi menjadi paling banyak empat submulticast dari u0 ke masing-masing D+X,+Y, D+X–Y, D–X,+Y, dan D–X,–Y. Submulticast ke D+X,+Y akan diimplementasikan di subnetwork N+X,+Y menggunakan routing XY, D+X,–Y di subnetwork N+X,–Y, dan seterusnya. Algoritma perutean pesan diberikan pada Gambar 5. 17 . Contoh 5. 4 mengilustrasikan pengoperasian algoritme.

Apa arti tanda kurung siku di php?

Gambar 5. 17 . Algoritma perutean XY saluran ganda.

CONTOH 5. 4

Pertimbangkan jala 6 × 6 yang diberikan di Gambar 5. 14 . Di simpul sumber (3, 2), set tujuan

D = {(0, 0), (0, 2), (0, 5), (1, 3), (4, 5), (5, 0), (5, 1), (5, 3)

dibagi menjadi empat subset

D+X,+Y = {(4, 5), (5, 3), (5, 4)}

D+X,–Y = {(5, 0), (5, 1)}

D–X,+Y = {(0, 5), (1, 3)}

D–X,–Y = {(0, 0), (0, 2)}

Pesan akan dikirim ke tujuan di D+X,+Y melalui subnetwork N+X,+Y, ke node di D+X,–Y menggunakan subnetwork N+X,–Y, ke . Pola perutean ditunjukkan dengan panah padat di Gambar 5. 18 .

Apa arti tanda kurung siku di php?

Figure 5. 18 . Pola perutean pohon multicast XY saluran ganda.

Sementara pendekatan pohon multicast ini menghindari kebuntuan, kerugian utama adalah kebutuhan saluran ganda. Dimungkinkan untuk mengimplementasikan saluran ganda dengan saluran virtual; . Selain itu, jumlah subnetwork tumbuh secara eksponensial dengan jumlah dimensi mesh, meningkatkan jumlah saluran antara setiap pasangan node yang sesuai.

Multicast Berbasis Pohon dengan Pemangkasan

Perutean multicast berbasis pohon lebih cocok untuk peralihan SAF atau VCT daripada peralihan lubang cacing. Alasannya adalah ketika cabang pohon diblokir, cabang yang tersisa tidak dapat maju jika wormhole switching digunakan. Ada kasus khusus di mana multicast routing berbasis pohon cocok untuk jaringan yang menggunakan wormhole switching. penerapan perintah pembatalan atau pembaruan dalam DSM dengan cache yang koheren [ 224 ]. Mempertimbangkan meningkatnya minat pada mesin ini, ada baiknya mempelajari kasus khusus ini.

Data pesan hanya membutuhkan beberapa flit. Biasanya, satu flit 32-bit yang berisi alamat memori sudah cukup untuk perintah pembatalan. Perintah itu sendiri dapat dikodekan pada putaran pertama bersama dengan alamat node tujuan. Perintah pembaruan biasanya memerlukan satu atau dua flit tambahan untuk membawa nilai kata yang akan diperbarui. Oleh karena itu, dimungkinkan untuk merancang router perangkat keras yang ringkas dengan buffer yang cukup dalam untuk menyimpan seluruh pesan. Namun, saat perutean multicast dipertimbangkan, header pesan harus mengkodekan alamat tujuan. Akibatnya, ukuran pesan bisa beberapa kali ukuran data. Selain itu, pesan memiliki ukuran yang sangat berbeda tergantung pada jumlah tujuan, sehingga mencegah penggunaan buffer perangkat keras berukuran tetap untuk menyimpan seluruh pesan. Solusi yang memungkinkan terdiri dari penyandian alamat tujuan sebagai bit string (lihat Bagian 5. 5. 1 ) sambil membatasi jumlah node tujuan yang dapat dijangkau oleh setiap pesan ke nilai kecil. Pendekatan ini akan dipelajari di Bagian 5. 6 dan diterapkan pada implementasi sinkronisasi dan pengurangan penghalang.

Pendekatan alternatif terdiri dari penggunaan buffer input ukuran tetap untuk pemipaan flit (seperti dalam peralihan lubang cacing) dan buffer data ukuran tetap kecil untuk menyimpan seluruh data pesan (seperti dalam peralihan VCT, kecuali alamat tujuan . Pendekatan ini menggabungkan keuntungan dari wormhole switching dan VCT switching. Keuntungannya yang paling penting adalah ukuran buffer tetap dan kecil diperlukan untuk setiap saluran, terlepas dari jumlah tujuan pesan. Akibatnya, router menjadi kompak dan cepat. Karena buffer berukuran kecil, flit yang berisi alamat tujuan tidak dapat di-buffer pada satu node, biasanya menjangkau beberapa node. Keterbatasan utama dari mekanisme ini adalah bahwa mekanisme ini hanya berfungsi jika data pesan dapat sepenuhnya di-buffer di setiap node. 224]. This approach combines the advantages of wormhole switching and VCT switching. Its most important advantage is that a fixed and small buffer size is required for every channel, regardless of the number of destinations of the message. As a consequence, routers are compact and fast. As buffers are small, flits containing the destination addresses cannot be buffered at a single node, usually spanning several nodes. The main limitation of this mechanism is that it only works when message data can be completely buffered at each node.

Agar data flits dapat di-buffer pada node tertentu bahkan ketika saluran berikutnya yang diminta oleh pesan sedang sibuk, format pesan khusus digunakan. Gambar 5. 19 menampilkan format pesan multicast. Bagian pertama dari setiap pesan, d1, mengkodekan alamat tujuan pertama. Diikuti oleh data flit pesan dan sisa alamat tujuan, d2, d3, …, dn. Seperti yang akan kita lihat, format pesan ini akan disimpan saat pesan maju dan menghasilkan cabang baru.

Apa arti tanda kurung siku di php?

Gambar 5. 19 . Format pesan untuk perutean multicast berbasis pohon.

Arsitektur router yang mendukung format pesan yang dijelaskan di atas sangat mirip dengan arsitektur untuk perutean multicast berbasis pohon. Namun, itu membutuhkan beberapa perubahan. Ketika pesan pertama mencapai sebuah node, pesan tersebut dirutekan seperti biasa, memesan saluran output yang diminta jika gratis. Beberapa penerbangan berikutnya berisi data pesan. Saat flit ini tiba, mereka disalin ke buffer data saluran input dan ditransfer melintasi sakelar. Pesawat yang tersisa, jika ada, berisi alamat tujuan tambahan. Flit ini dirutekan dengan cara yang sama seperti flit pertama pesan. Jika saluran keluaran yang diminta oleh alamat tujuan flit di sudah dipesan oleh flit dj yang sebelumnya dirutekan, 1 ≤ j ≤ i, maka di hanya diteruskan melalui sakelar. Kalau tidak, di cadangan saluran keluaran baru. Dalam hal ini, di diteruskan melintasi sakelar, segera diikuti oleh data pesan yang sebelumnya disimpan dalam buffer data. Dengan demikian, pesan yang diteruskan melalui cabang baru akan sesuai dengan format yang ditunjukkan pada Gambar 5. 19 . Saat data flits ditambahkan ke cabang baru dari pesan, flits alamat masuk disimpan di input buffer. Perhatikan bahwa data hanya memerlukan beberapa flits. Juga, merutekan setiap alamat tujuan tambahan flit di dapat dilakukan secara paralel dengan transmisi di–1 melintasi sakelar.

Perutean multicast berbasis pohon rentan terhadap kebuntuan. Namun, ketika data pesan hanya memerlukan beberapa langkah, kebuntuan dapat dipulihkan dengan memangkas cabang dari pohon ketika cabang diblokir [ 224 ]. Mekanisme ini bergantung pada penggunaan buffer data untuk menyimpan data pesan, seperti dijelaskan di atas. Seperti yang ditunjukkan pada Gambar 5. 12 , ketika saluran sedang sibuk, buffer flit diisi dan kontrol aliran merambat mundur, mencapai node sumber nb dari cabang. Ketika ini terjadi, flit tidak dapat diteruskan melintasi cabang pohon mana pun mulai dari nb. Mekanisme pemangkasan terdiri dari pemangkasan semua cabang pohon di nb kecuali yang diblokir. Pemangkasan hanya dilakukan pada node sumber dari cabang yang diblokir. Namun, jika kontrol aliran terus menghentikan flits di node lain, pruning juga dilakukan di node tersebut.

Perhatikan bahwa saat menggunakan mekanisme pemangkasan yang dijelaskan, setiap cabang yang dipangkas berisi pesan sesuai dengan format yang dijelaskan dalam Gambar 5. 19 . Secara khusus, pesan tersebut membawa satu atau lebih alamat tujuan dan semua data yang dikirimkan. Selain itu, setelah pemangkasan cabang dimungkinkan untuk melanjutkan transmisi pesan ke node tujuan yang tersisa karena buffer data berisi salinan dari semua data flits dari pesan tersebut.

Ide dasar di balik mekanisme pruning adalah bahwa, sekali pohon telah dipangkas seluruhnya, pesan multicast yang sesuai menjadi satu set dari beberapa pesan unicast. Dengan asumsi bahwa fungsi perutean dasar untuk perutean unicast bebas kebuntuan, perutean multicast juga bebas kebuntuan. Namun, tidak semua cabang pohon yang tersumbat perlu dipangkas. Konfigurasi yang menemui jalan buntu memerlukan sekumpulan pesan, masing-masing menunggu sumber daya yang dipegang oleh pesan lain di kumpulan tersebut. Oleh karena itu, hanya cabang yang tidak dapat meneruskan flits yang perlu dipangkas. Perhatikan bahwa cabang mungkin tidak dapat meneruskan flit karena cabang lain diblokir (lihat Gambar 5. 12 ). Selain itu, tidak ada gunanya memangkas cabang yang tersumbat karena sayap tidak akan bisa bergerak maju. Akibatnya, pemangkasan hanya dilakukan pada cabang yang tidak dapat meneruskan flit tetapi akan dapat meneruskannya segera setelah dipangkas. Dengan demikian, cabang yang dipangkas akan maju, membebaskan sumber daya yang mungkin diperlukan oleh cabang yang diblokir dari pesan multicast lainnya.

CONTOH 5. 5

Gambar 5. 20 menunjukkan contoh pemulihan kebuntuan dengan memangkas cabang dalam perutean multicast berbasis pohon. Algoritma perutean adalah perutean XY. Seperti yang terlihat, pesan A tidak dapat dilanjutkan karena saluran [ 9 , 5] was previously reserved by message B. Similarly, message B cannot proceed because channel [8 , 4 ] sebelumnya . Ketika node 9 merutekan selebaran pesan A yang berisi alamat node 1, ia menemukan bahwa tidak ada saluran keluaran gratis untuknya. Kemudian, pemangkasan semua cabang lain dari pesan A dilakukan di node ini. Dalam hal ini, cabang yang ditujukan untuk simpul 4 dipangkas, sehingga dapat dengan bebas maju menuju tujuannya. Pemangkasan seperti itu akan melepaskan saluran [ 9 , 8 ] dan [< . Kemudian, pesan B akan maju, akhirnya merilis saluran [ 8, 4], which is blocking message B. Then, message B will advance, eventually releasing channel [9 , 5 . Akibatnya, kebuntuan telah pulih dari. Jika flow control menghentikan pergerakan flits di node 13, pesan B juga akan memangkas cabangnya yang ditujukan untuk node 5. Pemangkasan ini berlebihan, tetapi ini menunjukkan bahwa node yang melakukan pemangkasan tidak perlu disinkronkan.

Apa arti tanda kurung siku di php?

Gambar 5. 20 . Pemulihan kebuntuan dengan memangkas cabang dalam perutean multicast berbasis pohon

Perhatikan bahwa contoh pemulihan kebuntuan ini hanya berfungsi untuk mengilustrasikan mekanisme pemangkasan. Itu tidak akan menghasilkan pemangkasan di jaringan nyata kecuali jaringan lebih besar dan setiap pesan akan ditujukan untuk beberapa node tambahan. Alasannya adalah pruning hanya akan terjadi pada node 9 jika ada lebih banyak alamat tujuan yang dikirimkan dalam pesan A setelah yang ditujukan untuk node 1. Demikian pula, pruning hanya dapat terjadi pada node 13 jika pesan B berisi cukup alamat tujuan untuk mengisi buffer pada node 8 dan 12

Multicast Berbasis Pohon di Jaringan Multistage

Cara paling alami untuk menerapkan perutean multicast/broadcast dalam jaringan interkoneksi multistage (MIN) adalah dengan menggunakan perutean berbasis pohon. Multicast dapat diimplementasikan dalam sekali lewat jaringan dengan secara bersamaan meneruskan flits ke beberapa keluaran di beberapa sakelar. Siaran dapat diimplementasikan dalam sekali lewat dengan secara bersamaan meneruskan flit ke semua keluaran di semua sakelar yang dilalui oleh pesan

Replikasi pesan di beberapa sakelar bisa sinkron atau asinkron. Dalam replikasi sinkron, cabang dari pesan multidestinasi hanya dapat diteruskan jika semua saluran keluaran yang diminta tersedia. Oleh karena itu, pada waktu tertentu, semua header pesan berada pada sakelar yang berbeda pada tahap jaringan yang sama. Replikasi sinkron membutuhkan mekanisme pensinyalan perangkat keras yang kompleks, biasanya memperlambat propagasi flit. Dalam replikasi asinkron, setiap cabang dapat meneruskan secara mandiri tanpa berkoordinasi dengan cabang lain. Akibatnya, desain perangkat keras jauh lebih sederhana. Namun, gelembung dapat muncul ketika beberapa saluran keluaran yang diminta tidak tersedia. Alasannya adalah bahwa cabang yang menemukan saluran keluaran bebas dapat maju sementara cabang yang menemukan saluran keluaran yang sibuk diblokir. Situasi serupa untuk jaringan langsung ditunjukkan pada Gambar 5. 12 .

Penyebaran pesan multidestinasi dapat dengan mudah menyebabkan kebuntuan, terlepas dari apakah replikasi pesan sinkron atau asinkron dilakukan, seperti yang ditunjukkan pada contoh berikut

Apa yang ditunjukkan oleh tanda kurung []?

Kurung adalah simbol yang kami gunakan untuk memuat "informasi tambahan", atau informasi yang bukan merupakan bagian dari konten utama . Tanda kurung selalu berpasangan—tanda kurung "pembuka" sebelum informasi tambahan, dan tanda kurung "penutup" setelahnya. Ada dua jenis braket utama. bulat () dan persegi [].

Apa perbedaan antara array dan [] di PHP?

Catatan. Hanya perbedaan penggunaan [] atau array() dengan versi PHP yang Anda gunakan . Di PHP5. 4 Anda juga dapat menggunakan sintaks array pendek, yang menggantikan array() dengan [].

Apa gunanya tanda kurung siku dalam array?

Kurung siku digunakan untuk mengindeks (mengakses) elemen dalam array dan juga String . Secara khusus hilang[i] akan dievaluasi ke item ke-i dalam larik bernama hilang.

Bagaimana cara menghapus tanda kurung siku di PHP?

Anda cukup menggunakan str_replace . $string = str_replace(array('[[',']]'),'',$string);