|
このページはEtoJ逐語翻訳フィルタによって翻訳生成されました。 |
The problem I'm 現実に trying to solve comes from the world of using デオキシリボ核酸 to trace family history. You don't need to know that, but maybe it will save you wondering about my "for discussion" シナリオ, below.
I don't know if you can put a linked 名簿(に載せる)/表(にあげる) into an ooBase database... but maybe this 探検 of an analogue of a real world problem will 演習 your ooBase gray 独房s, at least.
Suppose you had a big collection of strings of 9 digits.
その上の suppose that each string USUALLY consists of....
1 2 3 4 5 6 7 8 9
... but often one or two digits are "wrong", e.g....
(the hyphens are just to make the "errors" stand out, and the usual sequence neat and obvious not out of any inherent logic, but just to make it 平易な to see differences from "the usual".)
1-8-3 4 5 6 7 8 9
1 2 3-1-5 6 7 8 9
... etc... and there can even be 事例/患者s where there are more than one error...
1-8-3 4 5-1-7 8 9
Each string of digits is associated with a unique thingie... it could be anything, but for the sake of making the example 固める/コンクリート, let's pretend that we're doing 品質管理 for a factory making camera レンズs and the string of digits is the results of a 9 構成要素 実験(する), where the 実験(する) result for each 構成要素 is a digit. (公式文書,認める that the 実験(する) 得点する/非難する/20s aren't like school 実験(する) 得点する/非難する/20s... higher isn't better. For each 実験(する) there is a (different) "権利" answer. They just happen to go 1,2,3... so that "wrong" answers are 平易な to 選ぶ out when you look at the string of digits.) Each レンズ has a serial "number" consisting of letters, so we could make a database around the に引き続いて (米)棚上げする/(英)提議する....
(米)棚上げする/(英)提議する: 実験(する) results
Fields: Serial number of レンズ Results 見本 data....
Serial Results
aaa 1234546789 aab 1234546789 aac 8234546789 aad 1234546789 aae 1574546719 aaf 1234546781
.... i.e. most of the レンズs were 罰金, レンズs aac and aaf each failed one 実験(する), and レンズ aae failed three. (If I've got that 権利! Do, please 令状 in and complain if I've made mistakes in my descriptions!)
Now... if there were only 9 実験(する)s, this would be a perfectly reasonable way to go. A bit wasteful of disk space, but do-able.
What if there were a thousand 実験(する)s... i.e. each "results" string was 1000 characters long, and 失敗s were rare, and they could happen at any position in the string? AND 失敗s ARE rare, but いつかs you get a (製品,工事材料の)一回分 of レンズs all with the same 失敗.
It really doesn't make sense to 蓄える/店 the same 1000 characters again and again with all of the flawless レンズs.
(Digression: If this 品質管理 problem was REALLY my goal, and even if there were really 1000 実験(する)s, the way to solve this might 井戸/弁護士席 be to have two (米)棚上げする/(英)提議するs.... one for the レンズs and a 要約 of their results... the 要約 存在 the number of faults 設立する. The other (米)棚上げする/(英)提議する would 記録,記録的な/記録する the 1000 character strings, but just for the (rare) 欠陥d レンズs.)
I'm looking for.... (ah! At last we get to it!)... a way to give "指名するs" to the different strings of digits. We don't need 指名するs for every string, i.e we don't need 指名するs for each of....
000000000 000000001 000000002 000000003 000000004 000000005 000000006 000000007 000000008 000000009 000000010.... etc
We just need a way to 指名する each string the first time it appears, and to find whether a string as appeared each time we are 現在のd with a new レンズ's 実験(する) result.
We'll "指名する" 1234567899 "STa"
"ST" as a prefix that will go on all string 指名するs, "ST" for String Type.
"a" because it is the first letter in the alphabet, and we have to start somewhere, and we need a 指名する for the "no faults" string.
Now part of our database of レンズ 実験(する) results is....
Serial Results (using ST codes)
aaa STa aab STa aad STa...
... but we need "ST" 指名するs for the に引き続いて レンズs and their 実験(する) results.
aac 8234546789 aae 1574546719 aaf 1234546781
For now, we will just 割り当てる them by 手渡す:
Use For
STb 8234546789 STc 1574546719 STd 1234546781....
Which lets us finish re-doing the Serial/Results as ST Code (米)棚上げする/(英)提議する...
Serial Results
aaa STa aab STa aac STb aad STa aae STc aaf STd
Remember... to keep things simple, we're using a 9 digit 実験(する) results string. The real problem behind this question has a 16,000 digit string.
So... a more compact (米)棚上げする/(英)提議する... but now we have problem of keeping 跡をつける of the ST codes, and of 割り当てるing them. Because we don't know in 前進する what codes may arise, we need a 過程 like this....
Look at 実験(する) result just received.
Is it one we've seen before? If yes, use the old code If no, (不足などを)補う a new code
I have to 追加する something new at this point. In the "レンズs/ 実験(する)s" example, you could check "is it one we've seen before" やめる easily, by going 負かす/撃墜する the 名簿(に載せる)/表(にあげる) of ones seen before, checking the 実験(する) result just received against the old 実験(する) results. In the problem behind this question, it will not be possible to 蓄える/店 the 同等(の) of the 十分な string of 実験(する) results. A different approach will be necessary. And I think it will be....
Let's take the results for レンズ "aac" as our example: 1574546719
Instead of 蓄える/店ing that string, we will 蓄える/店 a compact 見解/翻訳/版 of "Instead of the usual 2 in the second position, it had a 5."
I THINK the answer to my problem is to build a tree. Even for simple strings of only 9 digits it will... 潜在的に... be 広大な. "the trick", I think, is to imagine the "影をつくる/尾行する" of the possible tree, but "draw in" only the lines you need, 製図/抽選 them in as the need arises, and 割り当てるing 指名するs to 実験(する) results which arise WHEN they arise, just working through the alphabet... STa, STb, ... STy, STz, STaa, STab, STac...
For a mere TWO digit string, with only "1", "2" or "3" 存在 possible values at any position, the tree would look like....
The dotted lines show all of the possible 実験(する) result strings. So far, we have only drawn the "影をつくる/尾行する" of the tree... no 明確な/細部 実験(する) result strings have been "seen" yet, no ST codes have been 割り当てるd.
On Day One, we go to the tree, and 割り当てる a code for the usual 実験(する) result string, "12". We change the 関連した dotted lines to solid lines, and put the next 利用できる ST code... which is "STa"... at the "leaf" position at the 底(に届く) of the "tree", giving us....
Now, any レンズ with a 実験(する) result of "12" can be 記録,記録的な/記録するd as having had 実験(する) result "STa". Not much of a saving, if you only have two 実験(する)s! But if you have 1000 "実験(する)s".... (smile).
If you want to know what "STa" stands for, you go to the tree, find "STa" at the 底(に届く), and work your way up through the "支店s". This must be possible in any computer-held 見解/翻訳/版 of the tree!Solid
Now let's pretend that the next レンズ needing its 実験(する) results 記録,記録的な/記録するd had result "31" (it failed both 実験(する)s... unusual in our シナリオ, but it can still be 融通するd). That 実験(する) result gets given ST code "STb", and we alter the (米)棚上げする/(英)提議する, making it....
.... so that if many レンズs later we get 現在のd with another which also gave the results "31", we'll be able to see easily that we already have an ST code corresponding to "31". (That code 存在 "STb".)
By the way: Those diagrams created with little hassle by someone with little experience of graphics or of "製図/抽選" ソフトウェア, using the Open Office "Draw" module.
So! That's the 支援する of the problem broken. We have a "do-able" system which can be 延長するd as far as necessary, one that will not "run out of steam" no 事柄 how many レンズs we 実験(する), no 事柄 how many different 実験(する) result strings arise.
Of course, doing it ON PAPER would be a nightmare.
MY QUESTION (!).... Is there a way to put such a thing in a database?? Not the 記録,記録的な/記録するs of the ST code for each レンズ's 実験(する) results... the "tree" with it's dotted and solid lines, and the ST codes at the tips of the 支店s?
I already realize that any tree can be 変えるd to a binary tree (only two downward choices at any node) and that it probably(?) should be. In でっちあげる,人を罪に陥れるing your answers, if you want to say "I'd use a binary tree, and it could be done like this...", you can skip over the bit about how to turn my tree into a binary tree. Alternatively, if you feel that a binary tree is NOT needed or 望ましい, just start by 説 that, before going on to explain how the tree should be done. The data I am trying to fit into a tree does 許す me to say that there will never be more than 13 paths 負かす/撃墜する from any node. (There always be 13 POSSIBLE paths 負かす/撃墜する from any node, though. Thirteen "dotted lines" in the "影をつくる/尾行する" of the tree.) The good news is that, like the レンズ's 実験(する) result tree, the meaning of each downward path is implicit in the structure of the tree. We are NOT, for instance, trying to build a tree with different questions at different levels, e.g. a tree for identifying things from their features, e.g. First question: Animal Vegetable Mineral? Second question, if Animal: Does it have 脚s? Etc. (Hey! Building an extensible 見解/翻訳/版 of THAT into a database would be fun, no??)
How does this relate to using デオキシリボ核酸 for family history 追跡(する)ing? There is something called mitochondrial デオキシリボ核酸 (mtDNA) in all of your 独房s. It (機の)カム from your mother. Her's (機の)カム from her mother. Etc.
デオキシリボ核酸 is made up of four "letters". There are about 16,000 letters in your mtDNA. The sequence of letters in every one of one individual's mtDNA 立ち往生させるs is very, very likely to be EXACTLY 同一の. And the sequence of letters in every 立ち往生させる of EVERY person's mtDNA is going to be NEARLY the same as a sequence called the Cambridge 言及/関連 Sequence, the CRS. And the differences between your sequence and the CRS can be 表明するd along the lines of "instead of a 'c' at position 27, as in the CRS, he has a 'g'". (There's more to it than that... and いっそう少なく. (Only four letters arise is the good news, there are things other than simple substitutions is the bad news.))
The more closely the sequence of letters in two people's mtDNA matches, the better the chance that they 株 a reasonably 最近の maternal ancestor.
But all that デオキシリボ核酸 stuff is just for your curiosity, if it was 頂点(に達する)d. All I need (or want!) to discuss here is how to build the tree to 割り当てる "ST" codes to different camera レンズ 実験(する) result strings.
Page 実験(する)d for 同意/服従 with INDUSTRY (not MS-only) 基準s, using the 解放する/自由な, 公然と accessible validator at validator.w3.org